fix(sw-header): stabilize measured More while the header grows
Hysteresis fix A for the Open placement regression introduced by 170a5c2.
- Growing: a part its breakpoint brings back (print / K, color, the property
block, line / text / dimension style, drawing mode) returns only when the
measured room is there; otherwise it stays in More. Default-layout print / K
are held through data-actions-held (window area keeps its 640px-tier state).
- Open that came back while growing is not pushed into More again by another
part; shrinking still moves Open first, and its return width follows the
narrowest width while it is collapsed.
- Open no longer waits for the parts still in More; the last part leaving More
takes the More button relief into account (measured, never painted).
- A part released at a width is not held again at that width, so the layout
passes always settle (fixes the maximum update depth error found on
sw-header--responsive-more during verification).
Trace 520 -> 1080 (data-width 520 frame): before
[[520,0],[560,0],[600,1],[640,0],[680,0],[720,1],[760,1],[820,1],[900,0],[1080,0]],
after [[520,0],[560,0],[600,1],[640,1],[680,1],[720,1],[760,1],[820,1],[900,1],[1080,1]].
This commit is contained in:
1 parent
2b0e1a2262
commit
bbb0e71c91
2 files changed
+71
-14
No files matched your search
@@ -1910,6 +1910,11 @@ div.hm-sw-header__menu-row { justify-content: space-between; gap: 8px; padding-l
|
||||
without the property block More sits at the end of the object area (as < 1080). */
|
||||
.hm-sw-header__object-area[data-squeezed~="drawingMode"]:not([data-configured]) > .hm-sw-header__fields { padding-left: 4px; }
|
||||
.hm-sw-header__object-area[data-squeezed~="properties"] > .hm-sw-header__more { margin-left: auto; margin-right: 4px; }
|
||||
/* Print / K held in More while the header grows (SWHeader data-actions-held, 2026-10-20): the window area keeps the
|
||||
narrow state of the 640px tier (print / K and the move area hidden, 64px) until the object area has the room they
|
||||
need. The file name keeps the clamp of the current width, so the measured room is the room they would take back. */
|
||||
.hm-sw-header[data-actions-held] :is(.hm-sw-header__actions, .hm-sw-header__motion) { display: none; }
|
||||
.hm-sw-header[data-actions-held] .hm-sw-header__window { flex-basis: 64px; width: 64px; }
|
||||
|
||||
/* Logo (home) menu layer (SWHeader homeMenu, 2026-10-19). Top of the header, left / max-width measured from the
|
||||
object area (−2px) to the window area. Above the property bar anchor (2), under the dropdowns (30) and the
|
||||
|
||||
Reference in new issue
Block a user