@burdenoff/fe-libs 2026.624.1 → 2026.625.1
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/chrome/HeaderBar.d.ts.map +1 -1
- package/dist/chrome/HeaderBar.js +49 -76
- package/dist/chrome/HeaderThemeSwitcher.d.ts +9 -0
- package/dist/chrome/HeaderThemeSwitcher.d.ts.map +1 -0
- package/dist/chrome/HeaderThemeSwitcher.js +111 -0
- package/dist/chrome/SideNavigation.d.ts.map +1 -1
- package/dist/chrome/SideNavigation.js +2 -1
- package/dist/chrome/ThemePreferences.d.ts +15 -0
- package/dist/chrome/ThemePreferences.d.ts.map +1 -0
- package/dist/chrome/ThemePreferences.js +604 -0
- package/dist/chrome/index.d.ts +1 -0
- package/dist/chrome/index.d.ts.map +1 -1
- package/dist/chrome.js +2 -1
- package/dist/shared/providers/AppShellProvider.d.ts +10 -2
- package/dist/shared/providers/AppShellProvider.d.ts.map +1 -1
- package/dist/shared/providers/AppShellProvider.js +183 -175
- package/dist/shared/providers/shell/ThemeProvider.d.ts +40 -8
- package/dist/shared/providers/shell/ThemeProvider.d.ts.map +1 -1
- package/dist/shared/providers/shell/ThemeProvider.js +165 -54
- package/dist/ui/cta-overflow-menu.d.ts +39 -0
- package/dist/ui/cta-overflow-menu.d.ts.map +1 -0
- package/dist/ui/cta-overflow-menu.js +38 -0
- package/dist/ui/emphasis-panel.d.ts +18 -0
- package/dist/ui/emphasis-panel.d.ts.map +1 -0
- package/dist/ui/emphasis-panel.js +14 -0
- package/dist/ui/glass-card.d.ts +23 -0
- package/dist/ui/glass-card.d.ts.map +1 -0
- package/dist/ui/glass-card.js +27 -0
- package/dist/ui/index.d.ts +4 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/show-more.d.ts +28 -0
- package/dist/ui/show-more.d.ts.map +1 -0
- package/dist/ui/show-more.js +31 -0
- package/dist/ui.js +5 -1
- package/package.json +1 -1
- package/src/shared/tokens/build/brands/fluidgrids.css +2 -2
- package/src/shared/tokens/build/brands/healthybowl.css +2 -2
- package/src/shared/tokens/build/brands/tenant.css +2 -2
- package/src/shared/tokens/build/brands/workspaces.css +2 -2
- package/src/shared/tokens/build/foundation.css +9 -0
- package/src/shared/tokens/build/semantic.css +33 -0
- package/src/shared/tokens/build/tailwind.preset.js +12 -0
- package/src/shared/tokens/build/themes.css +11 -0
- package/src/shared/tokens/tokens.css +37 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderBar.d.ts","sourceRoot":"","sources":["../../src/chrome/HeaderBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderBar.d.ts","sourceRoot":"","sources":["../../src/chrome/HeaderBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,oBAAoB;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B,8BAA8B;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,qGAAqG;IACrG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,kGAAkG;IAClG,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAElC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7B,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B,wBAAwB;IACxB,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAE7B,iDAAiD;IACjD,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB,yDAAyD;IACzD,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,iCAAiC;IACjC,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAE9B,iCAAiC;IACjC,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,uCAAuC;IACvC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtC,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA6MxC,CAAC"}
|
package/dist/chrome/HeaderBar.js
CHANGED
|
@@ -1,69 +1,70 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HeaderThemeSwitcher as e } from "./HeaderThemeSwitcher.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
2
3
|
//#region src/chrome/HeaderBar.tsx
|
|
3
|
-
var
|
|
4
|
+
var r = ({ logo: r, appName: i, onLogoClick: a, onMenuToggle: o, onSearchClick: s, searchPlaceholder: c = "Search...", searchShortcut: l = "⌘K", unreadNotifications: u = 0, onNotificationsClick: d, notificationCenter: f, colorMode: p = "light", onThemeToggle: m, user: h, onUserMenuClick: g, actions: _, contextSwitcher: v, productSwitcher: y, languageSwitcher: b, geographySwitcher: x, profileSwitcher: S, onKeyboardShortcutsClick: C, mobileOptimized: w = !0 }) => /* @__PURE__ */ n("header", {
|
|
4
5
|
className: "relative z-[100] h-14 bg-[var(--color-surface-glass)] backdrop-blur-[var(--blur-glass)] border-b border-[var(--color-border-glass)] flex items-center px-3 md:px-card-padding justify-between",
|
|
5
|
-
children: [/* @__PURE__ */
|
|
6
|
+
children: [/* @__PURE__ */ n("div", {
|
|
6
7
|
className: "flex items-center gap-2 md:gap-control-gap",
|
|
7
|
-
children: [
|
|
8
|
+
children: [o && /* @__PURE__ */ t("button", {
|
|
8
9
|
type: "button",
|
|
9
|
-
onClick:
|
|
10
|
+
onClick: o,
|
|
10
11
|
className: "p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors",
|
|
11
12
|
"aria-label": "Toggle sidebar",
|
|
12
|
-
children: /* @__PURE__ */
|
|
13
|
+
children: /* @__PURE__ */ t("svg", {
|
|
13
14
|
className: "w-icon-md h-icon-md",
|
|
14
15
|
fill: "none",
|
|
15
16
|
stroke: "currentColor",
|
|
16
17
|
viewBox: "0 0 24 24",
|
|
17
|
-
children: /* @__PURE__ */
|
|
18
|
+
children: /* @__PURE__ */ t("path", {
|
|
18
19
|
strokeLinecap: "round",
|
|
19
20
|
strokeLinejoin: "round",
|
|
20
21
|
strokeWidth: 2,
|
|
21
22
|
d: "M4 6h16M4 12h16M4 18h16"
|
|
22
23
|
})
|
|
23
24
|
})
|
|
24
|
-
}),
|
|
25
|
-
className: `w-8 h-8 bg-action-primary-bg rounded-md flex items-center justify-center ${
|
|
26
|
-
onClick:
|
|
27
|
-
role:
|
|
28
|
-
tabIndex:
|
|
29
|
-
onKeyDown:
|
|
30
|
-
(e.key === "Enter" || e.key === " ") && (e.preventDefault(),
|
|
25
|
+
}), r && /* @__PURE__ */ t("div", {
|
|
26
|
+
className: `w-8 h-8 bg-action-primary-bg rounded-md flex items-center justify-center ${a ? "cursor-pointer hover:opacity-80 transition-opacity" : ""}`,
|
|
27
|
+
onClick: a,
|
|
28
|
+
role: a ? "button" : void 0,
|
|
29
|
+
tabIndex: a ? 0 : void 0,
|
|
30
|
+
onKeyDown: a ? (e) => {
|
|
31
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), a());
|
|
31
32
|
} : void 0,
|
|
32
|
-
"aria-label":
|
|
33
|
-
children: typeof
|
|
33
|
+
"aria-label": a ? "Go to home" : void 0,
|
|
34
|
+
children: typeof r == "string" ? /* @__PURE__ */ t("span", {
|
|
34
35
|
className: "text-action-primary-text font-bold text-sm",
|
|
35
|
-
children:
|
|
36
|
-
}) :
|
|
36
|
+
children: r
|
|
37
|
+
}) : r
|
|
37
38
|
})]
|
|
38
|
-
}), /* @__PURE__ */
|
|
39
|
+
}), /* @__PURE__ */ n("div", {
|
|
39
40
|
className: "flex items-center gap-1 md:gap-control-gap",
|
|
40
41
|
children: [
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
className:
|
|
44
|
-
children: v
|
|
45
|
-
}),
|
|
46
|
-
y && /* @__PURE__ */ e("div", {
|
|
47
|
-
className: C ? "hidden md:block empty:hidden" : "empty:hidden",
|
|
42
|
+
v,
|
|
43
|
+
y && /* @__PURE__ */ t("div", {
|
|
44
|
+
className: w ? "hidden md:block empty:hidden" : "empty:hidden",
|
|
48
45
|
children: y
|
|
49
46
|
}),
|
|
50
|
-
b && /* @__PURE__ */
|
|
51
|
-
className:
|
|
47
|
+
b && /* @__PURE__ */ t("div", {
|
|
48
|
+
className: w ? "hidden md:block empty:hidden" : "empty:hidden",
|
|
52
49
|
children: b
|
|
53
50
|
}),
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
x && /* @__PURE__ */ t("div", {
|
|
52
|
+
className: w ? "hidden md:block empty:hidden" : "empty:hidden",
|
|
53
|
+
children: x
|
|
54
|
+
}),
|
|
55
|
+
(v || y || b || x) && /* @__PURE__ */ t("div", { className: "hidden md:block h-6 w-px bg-border-subtle" }),
|
|
56
|
+
C && /* @__PURE__ */ t("button", {
|
|
56
57
|
type: "button",
|
|
57
|
-
onClick:
|
|
58
|
-
className: `p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors ${
|
|
58
|
+
onClick: C,
|
|
59
|
+
className: `p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors ${w ? "hidden md:block" : ""}`,
|
|
59
60
|
"aria-label": "Keyboard shortcuts",
|
|
60
61
|
title: "Keyboard shortcuts (Ctrl+/ or Cmd+/)",
|
|
61
|
-
children: /* @__PURE__ */
|
|
62
|
+
children: /* @__PURE__ */ t("svg", {
|
|
62
63
|
className: "w-icon-md h-icon-md",
|
|
63
64
|
fill: "none",
|
|
64
65
|
stroke: "currentColor",
|
|
65
66
|
viewBox: "0 0 24 24",
|
|
66
|
-
children: /* @__PURE__ */
|
|
67
|
+
children: /* @__PURE__ */ t("path", {
|
|
67
68
|
strokeLinecap: "round",
|
|
68
69
|
strokeLinejoin: "round",
|
|
69
70
|
strokeWidth: 2,
|
|
@@ -71,18 +72,18 @@ var n = ({ logo: n, appName: r, onLogoClick: i, onMenuToggle: a, onSearchClick:
|
|
|
71
72
|
})
|
|
72
73
|
})
|
|
73
74
|
}),
|
|
74
|
-
|
|
75
|
+
s && /* @__PURE__ */ t("button", {
|
|
75
76
|
type: "button",
|
|
76
|
-
onClick:
|
|
77
|
+
onClick: s,
|
|
77
78
|
className: "p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors",
|
|
78
79
|
"aria-label": "Search",
|
|
79
|
-
title: `Search (${
|
|
80
|
-
children: /* @__PURE__ */
|
|
80
|
+
title: `Search (${l})`,
|
|
81
|
+
children: /* @__PURE__ */ t("svg", {
|
|
81
82
|
className: "w-icon-md h-icon-md",
|
|
82
83
|
fill: "none",
|
|
83
84
|
stroke: "currentColor",
|
|
84
85
|
viewBox: "0 0 24 24",
|
|
85
|
-
children: /* @__PURE__ */
|
|
86
|
+
children: /* @__PURE__ */ t("path", {
|
|
86
87
|
strokeLinecap: "round",
|
|
87
88
|
strokeLinejoin: "round",
|
|
88
89
|
strokeWidth: 2,
|
|
@@ -90,57 +91,29 @@ var n = ({ logo: n, appName: r, onLogoClick: i, onMenuToggle: a, onSearchClick:
|
|
|
90
91
|
})
|
|
91
92
|
})
|
|
92
93
|
}),
|
|
93
|
-
|
|
94
|
-
|
|
94
|
+
_,
|
|
95
|
+
f || (d ? /* @__PURE__ */ n("button", {
|
|
95
96
|
type: "button",
|
|
96
|
-
onClick:
|
|
97
|
+
onClick: d,
|
|
97
98
|
className: "relative p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors",
|
|
98
99
|
"aria-label": "Notifications",
|
|
99
|
-
children: [/* @__PURE__ */
|
|
100
|
+
children: [/* @__PURE__ */ t("svg", {
|
|
100
101
|
className: "w-icon-md h-icon-md",
|
|
101
102
|
fill: "none",
|
|
102
103
|
stroke: "currentColor",
|
|
103
104
|
viewBox: "0 0 24 24",
|
|
104
|
-
children: /* @__PURE__ */
|
|
105
|
+
children: /* @__PURE__ */ t("path", {
|
|
105
106
|
strokeLinecap: "round",
|
|
106
107
|
strokeLinejoin: "round",
|
|
107
108
|
strokeWidth: 2,
|
|
108
109
|
d: "M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"
|
|
109
110
|
})
|
|
110
|
-
}),
|
|
111
|
+
}), u > 0 && /* @__PURE__ */ t("span", { className: "absolute top-1 right-1 size-2 bg-status-error-bg rounded-full border border-bg-elevated" })]
|
|
111
112
|
}) : null),
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
onClick: p,
|
|
115
|
-
className: `p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors ${C ? "hidden md:block" : ""}`,
|
|
116
|
-
"aria-label": "Toggle theme",
|
|
117
|
-
children: f === "light" ? /* @__PURE__ */ e("svg", {
|
|
118
|
-
className: "w-icon-md h-icon-md",
|
|
119
|
-
fill: "none",
|
|
120
|
-
stroke: "currentColor",
|
|
121
|
-
viewBox: "0 0 24 24",
|
|
122
|
-
children: /* @__PURE__ */ e("path", {
|
|
123
|
-
strokeLinecap: "round",
|
|
124
|
-
strokeLinejoin: "round",
|
|
125
|
-
strokeWidth: 2,
|
|
126
|
-
d: "M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"
|
|
127
|
-
})
|
|
128
|
-
}) : /* @__PURE__ */ e("svg", {
|
|
129
|
-
className: "w-icon-md h-icon-md",
|
|
130
|
-
fill: "none",
|
|
131
|
-
stroke: "currentColor",
|
|
132
|
-
viewBox: "0 0 24 24",
|
|
133
|
-
children: /* @__PURE__ */ e("path", {
|
|
134
|
-
strokeLinecap: "round",
|
|
135
|
-
strokeLinejoin: "round",
|
|
136
|
-
strokeWidth: 2,
|
|
137
|
-
d: "M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"
|
|
138
|
-
})
|
|
139
|
-
})
|
|
140
|
-
}),
|
|
141
|
-
x
|
|
113
|
+
m && /* @__PURE__ */ t(e, { mobileOptimized: w }),
|
|
114
|
+
S
|
|
142
115
|
]
|
|
143
116
|
})]
|
|
144
117
|
});
|
|
145
118
|
//#endregion
|
|
146
|
-
export {
|
|
119
|
+
export { r as HeaderBar };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared 6-theme switcher for the app-shell header. Rendered by HeaderBar so
|
|
3
|
+
* EVERY product shell exposes the full Boff UI theme picker (not just a binary
|
|
4
|
+
* light/dark toggle). Drives the fe-libs ThemeProvider directly via `setMode`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function HeaderThemeSwitcher({ mobileOptimized }: {
|
|
7
|
+
mobileOptimized?: boolean;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=HeaderThemeSwitcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderThemeSwitcher.d.ts","sourceRoot":"","sources":["../../src/chrome/HeaderThemeSwitcher.tsx"],"names":[],"mappings":"AAgCA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,eAAsB,EAAE,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,2CAiD5F"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { DropdownMenu as e, DropdownMenuContent as t, DropdownMenuItem as n, DropdownMenuLabel as r, DropdownMenuSeparator as i, DropdownMenuTrigger as a } from "../ui/dropdown-menu.js";
|
|
2
|
+
import { useTheme as o } from "../shared/providers/shell/ThemeProvider.js";
|
|
3
|
+
import { useExclusiveMenu as s } from "../shared/hooks/useExclusiveMenu.js";
|
|
4
|
+
import { cn as c } from "../utils/cn.js";
|
|
5
|
+
import "../utils/index.js";
|
|
6
|
+
import { useCallback as l, useState as u } from "react";
|
|
7
|
+
import { Check as d, Contrast as f, Monitor as p, Moon as m, Palette as h, Sun as g, Sunset as _, Trees as v, Waves as y } from "lucide-react";
|
|
8
|
+
import { jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
9
|
+
//#region src/chrome/HeaderThemeSwitcher.tsx
|
|
10
|
+
var S = {
|
|
11
|
+
light: g,
|
|
12
|
+
dark: m,
|
|
13
|
+
forest: v,
|
|
14
|
+
ocean: y,
|
|
15
|
+
sunset: _,
|
|
16
|
+
"high-contrast": f
|
|
17
|
+
}, C = [
|
|
18
|
+
{
|
|
19
|
+
value: "light",
|
|
20
|
+
label: "Light"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
value: "dark",
|
|
24
|
+
label: "Dark"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
value: "forest",
|
|
28
|
+
label: "Forest"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
value: "ocean",
|
|
32
|
+
label: "Ocean"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
value: "sunset",
|
|
36
|
+
label: "Sunset"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
value: "high-contrast",
|
|
40
|
+
label: "High contrast"
|
|
41
|
+
}
|
|
42
|
+
];
|
|
43
|
+
function w({ mobileOptimized: n = !0 }) {
|
|
44
|
+
let [d, f] = u(!1);
|
|
45
|
+
s("header-theme", d, l(() => f(!1), []));
|
|
46
|
+
let { mode: _, setMode: v, resolvedTheme: y } = o(), w = y === "dark" ? m : g, E = l((e) => v(e), [v]);
|
|
47
|
+
return /* @__PURE__ */ x(e, {
|
|
48
|
+
open: d,
|
|
49
|
+
onOpenChange: f,
|
|
50
|
+
children: [/* @__PURE__ */ b(a, {
|
|
51
|
+
asChild: !0,
|
|
52
|
+
children: /* @__PURE__ */ b("button", {
|
|
53
|
+
type: "button",
|
|
54
|
+
"aria-label": "Theme",
|
|
55
|
+
title: "Theme",
|
|
56
|
+
className: c("flex size-9 items-center justify-center rounded-button text-text-primary transition-colors", "hover:bg-bg-sunken focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", n ? "hidden md:flex" : ""),
|
|
57
|
+
children: /* @__PURE__ */ b(w, {
|
|
58
|
+
className: "size-5",
|
|
59
|
+
"aria-hidden": "true"
|
|
60
|
+
})
|
|
61
|
+
})
|
|
62
|
+
}), /* @__PURE__ */ x(t, {
|
|
63
|
+
align: "end",
|
|
64
|
+
className: "w-56",
|
|
65
|
+
children: [
|
|
66
|
+
/* @__PURE__ */ x(r, {
|
|
67
|
+
className: "flex items-center gap-2 text-text-secondary",
|
|
68
|
+
children: [/* @__PURE__ */ b(h, {
|
|
69
|
+
className: "size-4",
|
|
70
|
+
"aria-hidden": "true"
|
|
71
|
+
}), "Appearance"]
|
|
72
|
+
}),
|
|
73
|
+
/* @__PURE__ */ b(i, {}),
|
|
74
|
+
/* @__PURE__ */ b(T, {
|
|
75
|
+
active: _ === "system",
|
|
76
|
+
icon: p,
|
|
77
|
+
label: "System",
|
|
78
|
+
onSelect: () => E("system")
|
|
79
|
+
}),
|
|
80
|
+
C.map((e) => /* @__PURE__ */ b(T, {
|
|
81
|
+
active: _ === e.value,
|
|
82
|
+
icon: S[e.value],
|
|
83
|
+
label: e.label,
|
|
84
|
+
onSelect: () => E(e.value)
|
|
85
|
+
}, e.value))
|
|
86
|
+
]
|
|
87
|
+
})]
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function T({ active: e, icon: t, label: r, onSelect: i }) {
|
|
91
|
+
return /* @__PURE__ */ x(n, {
|
|
92
|
+
onSelect: i,
|
|
93
|
+
className: c("gap-2", e && "bg-[var(--color-accent-soft)] text-text-primary"),
|
|
94
|
+
children: [
|
|
95
|
+
/* @__PURE__ */ b(t, {
|
|
96
|
+
className: "size-4 text-text-secondary",
|
|
97
|
+
"aria-hidden": "true"
|
|
98
|
+
}),
|
|
99
|
+
/* @__PURE__ */ b("span", {
|
|
100
|
+
className: "flex-1",
|
|
101
|
+
children: r
|
|
102
|
+
}),
|
|
103
|
+
e && /* @__PURE__ */ b(d, {
|
|
104
|
+
className: "size-4 text-action-primary-bg",
|
|
105
|
+
"aria-hidden": "true"
|
|
106
|
+
})
|
|
107
|
+
]
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
//#endregion
|
|
111
|
+
export { w as HeaderThemeSwitcher };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavigation.d.ts","sourceRoot":"","sources":["../../src/chrome/SideNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOtD,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,KAAK,EAAE,OAAO,EAAE,CAAC;IAEjB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,yBAAyB;IACzB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,sEAAsE;IACtE,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEnC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,eAAe,CAAC;CACvC;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"SideNavigation.d.ts","sourceRoot":"","sources":["../../src/chrome/SideNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOtD,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,KAAK,EAAE,OAAO,EAAE,CAAC;IAEjB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,yBAAyB;IACzB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,sEAAsE;IACtE,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEnC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,eAAe,CAAC;CACvC;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAwNlD,CAAC"}
|
|
@@ -39,7 +39,8 @@ var f = ({ items: f, currentPath: p, collapsed: m = !1, onItemClick: h, onToggle
|
|
|
39
39
|
"aria-label": "Close sidebar"
|
|
40
40
|
})] }), /* @__PURE__ */ d("aside", {
|
|
41
41
|
className: `
|
|
42
|
-
bg-bg-
|
|
42
|
+
bg-bg-canvas supports-[backdrop-filter]:bg-[var(--color-surface-glass)] supports-[backdrop-filter]:backdrop-blur-[var(--blur-glass)]
|
|
43
|
+
border-r border-border-seam
|
|
43
44
|
transition-all duration-normal
|
|
44
45
|
flex flex-col min-h-0
|
|
45
46
|
fixed md:relative
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface ThemePreferencesProps {
|
|
2
|
+
className?: string;
|
|
3
|
+
/** Render the theme cards grid + custom theme editor (default true). */
|
|
4
|
+
showCustomThemes?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Boff UI 2.0 "Theme Preferences" customizer.
|
|
8
|
+
*
|
|
9
|
+
* Presentation-only: every value is read from and written through {@link useTheme}.
|
|
10
|
+
* No raw colors are used in class names — only semantic token utilities. The single
|
|
11
|
+
* exception is the `value` of the `<input type="color">` inside the custom editor,
|
|
12
|
+
* which is data entry (a hex string), never a className.
|
|
13
|
+
*/
|
|
14
|
+
export declare function ThemePreferences({ className, showCustomThemes }: ThemePreferencesProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=ThemePreferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemePreferences.d.ts","sourceRoot":"","sources":["../../src/chrome/ThemePreferences.tsx"],"names":[],"mappings":"AAqBA,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAgCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,gBAAuB,EAAE,EAAE,qBAAqB,2CAwZ7F"}
|