fix(sw): rounded menu surface end before the viewer strip; solid viewer background
User requests (2026-10-21), CSS and docs only; no Props, public .d.ts unchanged. - The viewer menu surface ends before the trailing strip like the SWHeader object area: 6px right radius (--hm-sw-header-object-radius), the same face and border, a 2px header gap. Painted by the first strip segment over the empty group padding + gap (4px more room below 1180px); heights, edges and button positions unchanged. - --hm-sw-viewer-background: the Storybook viewer canvas solid #0a0a0b instead of the gradient (viewer header only; SWHeader, Footer, Popup unchanged).
This commit is contained in:
1 parent
d63a9ac9e8
commit
3671657ee0
3 files changed
+32
-3
No files matched your search
@@ -6,7 +6,8 @@
|
||||
:is(.hm-sw-header, .hm-sw-theme):not(:where(.hm-sw-header, .hm-sw-theme) *) {
|
||||
/* Header */
|
||||
--hm-sw-viewer-height: 52px;
|
||||
--hm-sw-viewer-background: linear-gradient(180deg, #266651 0%, #123328 45%, #0a221d 100%);
|
||||
/* 2026-10-21 user request: the solid color of the Storybook viewer canvas (--sw-story-canvas base #0a0a0b), no gradient. */
|
||||
--hm-sw-viewer-background: #0a0a0b;
|
||||
--hm-sw-viewer-border-color: #071e18;
|
||||
--hm-sw-viewer-brand-width: 72px;
|
||||
/* No logo: no text or icon is drawn; the cap keeps only its slanted edge (no wide empty space). */
|
||||
@@ -418,6 +419,33 @@ button.hm-sw-viewer-header__brand { text-align: left; }
|
||||
/* No line at all on the button (2026-10-21 final): same 48px box and edges as minimize / close, the strip face only. */
|
||||
box-shadow: none;
|
||||
}
|
||||
/* Rounded end of the menu surface before the strip (2026-10-21 user request, as SWHeader: object area radius 6px,
|
||||
2px header gap, then the window area). The first strip segment paints, just left of itself and over the object
|
||||
border band, the header background (gap + the corners outside the radius) and on top the surface end: the same
|
||||
object face (a vertical gradient, so the copy lines up) and border with the right radius. The 8px it covers are
|
||||
the empty group padding + gap; below 1180px (2px each) the segment keeps 4px more room. Heights are unchanged. */
|
||||
.hm-sw-viewer-header .hm-sw-viewer-header__actions > :is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons):not(:is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons) + *) { position: relative; }
|
||||
.hm-sw-viewer-header .hm-sw-viewer-header__actions > :is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons):not(:is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons) + *)::before,
|
||||
.hm-sw-viewer-header .hm-sw-viewer-header__actions > :is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons):not(:is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons) + *)::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: calc(-1 * var(--hm-sw-header-object-border-width, 1px));
|
||||
bottom: calc(-1 * var(--hm-sw-header-object-border-width, 1px));
|
||||
left: calc(-1 * (var(--hm-sw-header-object-radius) + 2px));
|
||||
pointer-events: none;
|
||||
}
|
||||
.hm-sw-viewer-header .hm-sw-viewer-header__actions > :is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons):not(:is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons) + *)::before {
|
||||
width: calc(var(--hm-sw-header-object-radius) + 2px);
|
||||
background: var(--hm-sw-viewer-background);
|
||||
}
|
||||
.hm-sw-viewer-header .hm-sw-viewer-header__actions > :is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons):not(:is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons) + *)::after {
|
||||
box-sizing: border-box;
|
||||
width: var(--hm-sw-header-object-radius);
|
||||
border: 1px solid var(--hm-sw-header-object-border-color);
|
||||
border-left: 0;
|
||||
border-radius: 0 var(--hm-sw-header-object-radius) var(--hm-sw-header-object-radius) 0;
|
||||
background: var(--hm-sw-header-object-background);
|
||||
}
|
||||
/* No line around the license / info button: the window buttons right after it drop their line before it. */
|
||||
.hm-sw-viewer-header .hm-sw-viewer-header__actions > .hm-sw-viewer-header__button + .hm-sw-header__window-buttons { box-shadow: none; }
|
||||
|
||||
@@ -428,6 +456,7 @@ button.hm-sw-viewer-header__brand { text-align: left; }
|
||||
.hm-sw-viewer-header__actions { padding-left: 2px; gap: 2px; }
|
||||
.hm-sw-viewer-status { padding-inline: 2px; }
|
||||
.hm-sw-viewer-header__actions > .hm-sw-viewer-status { padding-inline: 8px; }
|
||||
.hm-sw-viewer-header .hm-sw-viewer-header__actions > :is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons):not(:is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons) + *) { margin-left: 4px; }
|
||||
.hm-sw-viewer-header__actions > :is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons) + :is(.hm-sw-viewer-status, .hm-sw-viewer-header__button, .hm-sw-header__window-buttons) { margin-left: -2px; }
|
||||
}
|
||||
@container hm-sw-viewer (max-width: 559.98px) {
|
||||
|
||||
Reference in new issue
Block a user