@kiefer-tek/sophea-design-system 0.15.5 → 0.15.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +91 -5
- package/dist/index.js +31 -9
- package/dist/index.js.map +1 -1
- package/dist/patterns/AccountMenu/AccountMenu.d.ts +5 -0
- package/dist/patterns/AccountMenu/AccountMenu.d.ts.map +1 -1
- package/dist/patterns/AppShell/AppShell.d.ts +14 -0
- package/dist/patterns/AppShell/AppShell.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -10475,6 +10475,45 @@ tbody tr:hover .sn-Table-module__td--jv9tA {
|
|
|
10475
10475
|
box-shadow: 0 0 0 2px var(--action-link-04);
|
|
10476
10476
|
}
|
|
10477
10477
|
|
|
10478
|
+
/* Full-width "bar" trigger — avatar + name/email row for a wide sidebar. */
|
|
10479
|
+
.sn-AccountMenu-module__triggerBar--1deLW {
|
|
10480
|
+
display: flex;
|
|
10481
|
+
align-items: center;
|
|
10482
|
+
gap: 0.625rem;
|
|
10483
|
+
width: 100%;
|
|
10484
|
+
min-width: 0;
|
|
10485
|
+
padding: 0.375rem 0.5rem;
|
|
10486
|
+
border: 0;
|
|
10487
|
+
background: transparent;
|
|
10488
|
+
border-radius: 12px;
|
|
10489
|
+
cursor: pointer;
|
|
10490
|
+
text-align: start;
|
|
10491
|
+
outline: none;
|
|
10492
|
+
}
|
|
10493
|
+
|
|
10494
|
+
.sn-AccountMenu-module__triggerBar--1deLW:hover {
|
|
10495
|
+
background: var(--shell-chrome-hover-bg);
|
|
10496
|
+
}
|
|
10497
|
+
|
|
10498
|
+
.sn-AccountMenu-module__triggerBar--1deLW:focus-visible {
|
|
10499
|
+
box-shadow: 0 0 0 2px var(--action-link-04);
|
|
10500
|
+
}
|
|
10501
|
+
|
|
10502
|
+
.sn-AccountMenu-module__barIdentity--UoPcg {
|
|
10503
|
+
display: flex;
|
|
10504
|
+
flex-direction: column;
|
|
10505
|
+
min-width: 0;
|
|
10506
|
+
flex: 1;
|
|
10507
|
+
}
|
|
10508
|
+
|
|
10509
|
+
/* Avatar + badge anchor (so the badge positions to the avatar in either
|
|
10510
|
+
trigger shape). */
|
|
10511
|
+
.sn-AccountMenu-module__avatarWrap--j5Q62 {
|
|
10512
|
+
position: relative;
|
|
10513
|
+
display: inline-flex;
|
|
10514
|
+
flex-shrink: 0;
|
|
10515
|
+
}
|
|
10516
|
+
|
|
10478
10517
|
/* Unread badge on the avatar — top-right pill. */
|
|
10479
10518
|
.sn-AccountMenu-module__avatarBadge--2qs2m {
|
|
10480
10519
|
position: absolute;
|
|
@@ -10966,7 +11005,10 @@ html[data-resizing] .sn-AppShell-module__sidebar--9-Zb9 {
|
|
|
10966
11005
|
inset: 0;
|
|
10967
11006
|
z-index: -1;
|
|
10968
11007
|
overflow: hidden;
|
|
10969
|
-
|
|
11008
|
+
/* Glass by default (aurora frosts through the content pane). Tunable so a host
|
|
11009
|
+
can make the main pane opaque while keeping the rail/sidebar glass — e.g. a
|
|
11010
|
+
glass sidebar over an opaque content area. */
|
|
11011
|
+
background: var(--shell-main-backdrop, var(--shell-region-glass));
|
|
10970
11012
|
}
|
|
10971
11013
|
|
|
10972
11014
|
.sn-AppShell-module__mainBackdropImage--bjtQh {
|
|
@@ -11070,6 +11112,46 @@ html[data-resizing] .sn-AppShell-module__sidebar--9-Zb9 {
|
|
|
11070
11112
|
width: 100%;
|
|
11071
11113
|
flex-shrink: 0;
|
|
11072
11114
|
}
|
|
11115
|
+
|
|
11116
|
+
/* ------------------------------------------------------------ Solid variant
|
|
11117
|
+
<AppShell.Root surface="solid"> — opaque theme surfaces, no glass/blur.
|
|
11118
|
+
Flat dark shell in the dark theme. Each region is tunable via a
|
|
11119
|
+
--shell-solid-* variable (falling back to the DS solid surface tokens). */
|
|
11120
|
+
.sn-AppShell-module__root--PpqXq[data-surface="solid"] {
|
|
11121
|
+
background: var(--shell-solid-bg, var(--surface-s1));
|
|
11122
|
+
/* Sidebar shares the main pane's surface (s1) so the shell reads as one flat
|
|
11123
|
+
dark slab separated only by the divider — and so elevated widgets inside it
|
|
11124
|
+
(utility chips, account bar) stand out at s2 instead of blending into a
|
|
11125
|
+
same-surface sidebar. */
|
|
11126
|
+
--shell-solid-sidebar: var(--surface-s1);
|
|
11127
|
+
/* Soften descendant search fields (e.g. CommandPalette.Trigger) so they read
|
|
11128
|
+
as a subtle elevated surface on the flat dark shell, not a bright box. */
|
|
11129
|
+
--command-palette-trigger-bg: var(--surface-s2);
|
|
11130
|
+
--command-palette-trigger-bg-hover: var(--surface-s3);
|
|
11131
|
+
--command-palette-trigger-border: var(--shell-divider);
|
|
11132
|
+
}
|
|
11133
|
+
.sn-AppShell-module__root--PpqXq[data-surface="solid"] .sn-AppShell-module__rail--RlMBL {
|
|
11134
|
+
background: var(--shell-solid-rail, var(--surface-s2));
|
|
11135
|
+
-webkit-backdrop-filter: none;
|
|
11136
|
+
backdrop-filter: none;
|
|
11137
|
+
}
|
|
11138
|
+
.sn-AppShell-module__root--PpqXq[data-surface="solid"] .sn-AppShell-module__sidebar--9-Zb9 {
|
|
11139
|
+
background: var(--shell-solid-sidebar, var(--surface-s2));
|
|
11140
|
+
}
|
|
11141
|
+
.sn-AppShell-module__root--PpqXq[data-surface="solid"] .sn-AppShell-module__drawer--3Zhql {
|
|
11142
|
+
background-color: var(--shell-solid-sidebar, var(--surface-s2));
|
|
11143
|
+
background-image: none;
|
|
11144
|
+
box-shadow: none;
|
|
11145
|
+
-webkit-backdrop-filter: none;
|
|
11146
|
+
backdrop-filter: none;
|
|
11147
|
+
}
|
|
11148
|
+
.sn-AppShell-module__root--PpqXq[data-surface="solid"] .sn-AppShell-module__mainBackdrop--oikM- {
|
|
11149
|
+
background: var(--shell-solid-main, var(--surface-s1));
|
|
11150
|
+
}
|
|
11151
|
+
.sn-AppShell-module__root--PpqXq[data-surface="solid"] .sn-AppShell-module__mainBackdropFrost--BmFr9 {
|
|
11152
|
+
-webkit-backdrop-filter: none;
|
|
11153
|
+
backdrop-filter: none;
|
|
11154
|
+
}
|
|
11073
11155
|
/* CommandPalette — tokens only. Trigger mirrors the AppShell header search
|
|
11074
11156
|
field; overlay/panel mirror the DS Modal substrate; result highlight reuses
|
|
11075
11157
|
the shell rail-item selection tint. */
|
|
@@ -11085,9 +11167,13 @@ html[data-resizing] .sn-AppShell-module__sidebar--9-Zb9 {
|
|
|
11085
11167
|
max-width: 448px;
|
|
11086
11168
|
height: 36px;
|
|
11087
11169
|
padding: 0 10px 0 12px;
|
|
11088
|
-
|
|
11089
|
-
|
|
11090
|
-
|
|
11170
|
+
/* Matches the DS SearchInput field by default (surface-s3 / border-04 / 10px
|
|
11171
|
+
radius). The fill + border are tunable so a host shell can soften them —
|
|
11172
|
+
e.g. AppShell `surface="solid"` makes them a subtle elevated surface so the
|
|
11173
|
+
field doesn't read as a bright floating box on a flat dark page. */
|
|
11174
|
+
border: 1px solid var(--command-palette-trigger-border, var(--border-04));
|
|
11175
|
+
border-radius: 10px;
|
|
11176
|
+
background: var(--command-palette-trigger-bg, var(--surface-s3));
|
|
11091
11177
|
color: var(--text-03);
|
|
11092
11178
|
font-family: "Geist", ui-sans-serif, system-ui, sans-serif;
|
|
11093
11179
|
font-size: 14px;
|
|
@@ -11098,7 +11184,7 @@ html[data-resizing] .sn-AppShell-module__sidebar--9-Zb9 {
|
|
|
11098
11184
|
}
|
|
11099
11185
|
|
|
11100
11186
|
.sn-CommandPalette-module__trigger--ZE1so:hover {
|
|
11101
|
-
background: var(--
|
|
11187
|
+
background: var(--command-palette-trigger-bg-hover, var(--surface-s4));
|
|
11102
11188
|
}
|
|
11103
11189
|
|
|
11104
11190
|
.sn-CommandPalette-module__trigger--ZE1so:focus-visible {
|
package/dist/index.js
CHANGED
|
@@ -8189,6 +8189,9 @@ const IllustrationContent = forwardRef(
|
|
|
8189
8189
|
}
|
|
8190
8190
|
);
|
|
8191
8191
|
const trigger$1 = "sn-AccountMenu-module__trigger--EHklO";
|
|
8192
|
+
const triggerBar = "sn-AccountMenu-module__triggerBar--1deLW";
|
|
8193
|
+
const barIdentity = "sn-AccountMenu-module__barIdentity--UoPcg";
|
|
8194
|
+
const avatarWrap = "sn-AccountMenu-module__avatarWrap--j5Q62";
|
|
8192
8195
|
const avatarBadge = "sn-AccountMenu-module__avatarBadge--2qs2m";
|
|
8193
8196
|
const itemBadge = "sn-AccountMenu-module__itemBadge--7gWAX";
|
|
8194
8197
|
const identityName = "sn-AccountMenu-module__identityName--h6xu9";
|
|
@@ -8201,6 +8204,9 @@ const notifTitle$1 = "sn-AccountMenu-module__notifTitle--MR2jU";
|
|
|
8201
8204
|
const notifBody$1 = "sn-AccountMenu-module__notifBody--RH0Ym";
|
|
8202
8205
|
const styles$i = {
|
|
8203
8206
|
trigger: trigger$1,
|
|
8207
|
+
triggerBar,
|
|
8208
|
+
barIdentity,
|
|
8209
|
+
avatarWrap,
|
|
8204
8210
|
avatarBadge,
|
|
8205
8211
|
itemBadge,
|
|
8206
8212
|
identityName,
|
|
@@ -8223,6 +8229,7 @@ const AccountMenu = forwardRef(function AccountMenu2({
|
|
|
8223
8229
|
avatarTone = "brand",
|
|
8224
8230
|
avatarSize = "md",
|
|
8225
8231
|
items,
|
|
8232
|
+
triggerVariant = "avatar",
|
|
8226
8233
|
notifications,
|
|
8227
8234
|
side = "right",
|
|
8228
8235
|
align = "end",
|
|
@@ -8240,10 +8247,25 @@ const AccountMenu = forwardRef(function AccountMenu2({
|
|
|
8240
8247
|
if (!next) setView("menu");
|
|
8241
8248
|
};
|
|
8242
8249
|
return /* @__PURE__ */ jsxs(DropdownMenu, { open, onOpenChange, children: [
|
|
8243
|
-
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
8244
|
-
|
|
8245
|
-
|
|
8246
|
-
|
|
8250
|
+
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
8251
|
+
"button",
|
|
8252
|
+
{
|
|
8253
|
+
ref,
|
|
8254
|
+
type: "button",
|
|
8255
|
+
"aria-label": ariaLabel,
|
|
8256
|
+
className: cx$2(triggerVariant === "bar" ? styles$i.triggerBar : styles$i.trigger, className),
|
|
8257
|
+
children: [
|
|
8258
|
+
/* @__PURE__ */ jsxs("span", { className: styles$i.avatarWrap, children: [
|
|
8259
|
+
/* @__PURE__ */ jsx(Avatar, { src: avatarSrc, alt: avatarAlt, tone: avatarTone, size: avatarSize, children: initials }),
|
|
8260
|
+
notifications && hasUnread ? /* @__PURE__ */ jsx("span", { className: styles$i.avatarBadge, "aria-hidden": "true", children: formatBadge(count2) }) : null
|
|
8261
|
+
] }),
|
|
8262
|
+
triggerVariant === "bar" ? /* @__PURE__ */ jsxs("span", { className: styles$i.barIdentity, children: [
|
|
8263
|
+
name2 ? /* @__PURE__ */ jsx("span", { className: styles$i.identityName, children: name2 }) : null,
|
|
8264
|
+
email ? /* @__PURE__ */ jsx("span", { className: styles$i.identityEmail, children: email }) : null
|
|
8265
|
+
] }) : null
|
|
8266
|
+
]
|
|
8267
|
+
}
|
|
8268
|
+
) }),
|
|
8247
8269
|
/* @__PURE__ */ jsx(
|
|
8248
8270
|
DropdownMenuContent,
|
|
8249
8271
|
{
|
|
@@ -8382,7 +8404,7 @@ function AppShellProvider({
|
|
|
8382
8404
|
}
|
|
8383
8405
|
);
|
|
8384
8406
|
}
|
|
8385
|
-
const AppShellRoot = forwardRef(function AppShellRoot2({ drawerOpen, onDrawerOpenChange, children, className, ...rest }, ref) {
|
|
8407
|
+
const AppShellRoot = forwardRef(function AppShellRoot2({ drawerOpen, onDrawerOpenChange, surface = "glass", children, className, ...rest }, ref) {
|
|
8386
8408
|
const ctx = useContext(AppShellContext);
|
|
8387
8409
|
const open = drawerOpen ?? ctx?.drawerOpen ?? false;
|
|
8388
8410
|
const setOpen = onDrawerOpenChange ?? ctx?.setDrawerOpen;
|
|
@@ -8392,7 +8414,7 @@ const AppShellRoot = forwardRef(function AppShellRoot2({ drawerOpen, onDrawerOpe
|
|
|
8392
8414
|
if (roleOf(child) === "drawer") drawerChildren.push(child);
|
|
8393
8415
|
else rowChildren.push(child);
|
|
8394
8416
|
});
|
|
8395
|
-
return /* @__PURE__ */ jsxs("div", { ref, className: cx$1(styles$h.root, className), ...rest, children: [
|
|
8417
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cx$1(styles$h.root, className), "data-surface": surface, ...rest, children: [
|
|
8396
8418
|
/* @__PURE__ */ jsx("span", { className: styles$h.topAccent, "aria-hidden": "true" }),
|
|
8397
8419
|
/* @__PURE__ */ jsx(
|
|
8398
8420
|
"button",
|
|
@@ -8602,12 +8624,12 @@ const AppShellMain = forwardRef(function AppShellMain2({ backgroundCss, children
|
|
|
8602
8624
|
footer2
|
|
8603
8625
|
] });
|
|
8604
8626
|
});
|
|
8605
|
-
const AppShellHeader = forwardRef(function AppShellHeader2({ left, center, right: right2, className, ...rest }, ref) {
|
|
8606
|
-
return /* @__PURE__ */
|
|
8627
|
+
const AppShellHeader = forwardRef(function AppShellHeader2({ left, center, right: right2, children, className, ...rest }, ref) {
|
|
8628
|
+
return /* @__PURE__ */ jsx("header", { ref, className: cx$1(styles$h.header, className), ...rest, children: children != null ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
8607
8629
|
/* @__PURE__ */ jsx("div", { className: styles$h.headerLeft, children: left }),
|
|
8608
8630
|
/* @__PURE__ */ jsx("div", { className: styles$h.headerCenter, children: center }),
|
|
8609
8631
|
/* @__PURE__ */ jsx("div", { className: styles$h.headerRight, children: right2 })
|
|
8610
|
-
] });
|
|
8632
|
+
] }) });
|
|
8611
8633
|
});
|
|
8612
8634
|
AppShellHeader[ROLE] = "header";
|
|
8613
8635
|
const AppShellMainFooter = forwardRef(
|