feat: refactor queue panel and split layout with deferred reveal and pointer events
- Add PointerEvent support for queue toggle, edge drag, and splitter interactions - Implement deferred queue panel reveal animation (mr-queue-opening class) - Make queue panel updates demand-driven; skip refresh when panel is hidden - Replace per-item remove listeners with event delegation on queue list - Track queue split container width via ResizeObserver with safe fallbacks - Centralize split flex application and persist queue width/collapsed state with debounce - Fix missing browser split pane styles to use helper-track CSS variables - Add deferred UI cleanup for missing browser split drag end - Add prewarm frame fallback when ResizeObserver is unavailable
This commit is contained in:
@@ -179,16 +179,19 @@
|
||||
padding: 8px 6px 6px;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
min-width: 0;
|
||||
align-items: stretch;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
background: var(--mr-bg, #121212);
|
||||
}
|
||||
|
||||
#model-resolver-content {
|
||||
overflow-y: auto;
|
||||
flex: 1;
|
||||
flex: 1 1 0;
|
||||
min-height: 0;
|
||||
contain: layout paint style;
|
||||
min-width: 0;
|
||||
contain: size layout paint style;
|
||||
background: var(--mr-bg, #222);
|
||||
}
|
||||
|
||||
@@ -196,14 +199,34 @@
|
||||
width: 320px;
|
||||
min-width: 240px;
|
||||
max-width: 70%;
|
||||
flex: 0 0 320px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-left: 0;
|
||||
border-left: 0;
|
||||
contain: layout paint style;
|
||||
contain: size layout paint style;
|
||||
background: var(--mr-bg, #121212);
|
||||
}
|
||||
|
||||
#model-resolver-queue.mr-queue-opening .mr-queue-stack {
|
||||
content-visibility: hidden;
|
||||
contain-intrinsic-size: 320px 420px;
|
||||
}
|
||||
|
||||
#model-resolver-body.mr-queue-opening-layout #model-resolver-queue {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 6px;
|
||||
bottom: 6px;
|
||||
z-index: 998;
|
||||
box-shadow: -12px 0 24px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
#model-resolver-body.mr-queue-opening-layout #model-resolver-splitter {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#model-resolver-body.mr-is-resizing-queue #model-resolver-content,
|
||||
#model-resolver-body.mr-is-resizing-queue #model-resolver-queue {
|
||||
pointer-events: none;
|
||||
@@ -292,6 +315,7 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 0;
|
||||
min-width: 0;
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user