@fiestaboard/ui 3.3.0 → 4.0.0
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/components/board/board-backdrop.d.ts +60 -0
- package/dist/components/board/board-backdrop.js +71 -0
- package/dist/components/board/board-backdrop.js.map +1 -0
- package/dist/components/board/board-display.js +123 -123
- package/dist/components/board/board-display.js.map +1 -1
- package/dist/components/board/static-board-display.js +32 -32
- package/dist/components/chrome/fiesta-logo.js +2 -2
- package/dist/components/chrome/fiesta-logo.js.map +1 -1
- package/dist/components/chrome/page-header.d.ts +66 -4
- package/dist/components/chrome/page-header.js +31 -11
- package/dist/components/chrome/page-header.js.map +1 -1
- package/dist/components/chrome/page-layout.js +1 -1
- package/dist/components/chrome/page-layout.js.map +1 -1
- package/dist/components/chrome/sidebar.d.ts +2 -5
- package/dist/components/chrome/sidebar.js +152 -173
- package/dist/components/chrome/sidebar.js.map +1 -1
- package/dist/components/chrome/theme-toggle.d.ts +37 -10
- package/dist/components/chrome/theme-toggle.js +25 -12
- package/dist/components/chrome/theme-toggle.js.map +1 -1
- package/dist/components/containment/json-tree.js +2 -2
- package/dist/components/containment/json-tree.js.map +1 -1
- package/dist/components/editor/node-views/wrapped-text-view.js +1 -1
- package/dist/components/editor/node-views/wrapped-text-view.js.map +1 -1
- package/dist/components/editor/variable-picker-content.js +4 -4
- package/dist/components/feedback/alert.js +4 -4
- package/dist/components/feedback/alert.js.map +1 -1
- package/dist/components/feedback/badge.js +4 -4
- package/dist/components/feedback/badge.js.map +1 -1
- package/dist/components/forms/button.js +5 -5
- package/dist/components/forms/button.js.map +1 -1
- package/dist/components/layout/flex.d.ts +1 -1
- package/dist/components/layout/grid.d.ts +1 -1
- package/dist/components/layout/stack.d.ts +1 -1
- package/dist/components/plugin/board-showcase.js +2 -2
- package/dist/components/plugin/board-showcase.js.map +1 -1
- package/dist/components/plugin/plugin-category-badge.d.ts +27 -1
- package/dist/components/plugin/plugin-category-badge.js +18 -14
- package/dist/components/plugin/plugin-category-badge.js.map +1 -1
- package/dist/components/typography/text.js +1 -1
- package/dist/components/typography/text.js.map +1 -1
- package/dist/components/wizard/wizard-progress.d.ts +29 -0
- package/dist/components/wizard/wizard-progress.js +27 -0
- package/dist/components/wizard/wizard-progress.js.map +1 -0
- package/dist/components/wizard/wizard-shell.d.ts +63 -0
- package/dist/components/wizard/wizard-shell.js +69 -0
- package/dist/components/wizard/wizard-shell.js.map +1 -0
- package/dist/index.d.ts +3 -5
- package/dist/index.js +90 -92
- package/dist/theme.css +621 -503
- package/package.json +2 -4
- package/dist/components/effects/aurora.d.ts +0 -9
- package/dist/components/effects/aurora.js +0 -121
- package/dist/components/effects/aurora.js.map +0 -1
- package/dist/components/effects/react-bits/decrypted-text.d.ts +0 -14
- package/dist/components/effects/react-bits/decrypted-text.js +0 -88
- package/dist/components/effects/react-bits/decrypted-text.js.map +0 -1
- package/dist/components/seasons/aurora-canvas.d.ts +0 -22
- package/dist/components/seasons/aurora-canvas.js +0 -91
- package/dist/components/seasons/aurora-canvas.js.map +0 -1
- package/dist/components/seasons/sidebar-aurora-horizontal.d.ts +0 -3
- package/dist/components/seasons/sidebar-aurora-horizontal.js +0 -47
- package/dist/components/seasons/sidebar-aurora-horizontal.js.map +0 -1
- package/dist/components/seasons/sidebar-aurora.d.ts +0 -3
- package/dist/components/seasons/sidebar-aurora.js +0 -57
- package/dist/components/seasons/sidebar-aurora.js.map +0 -1
- package/dist/lib/seasons-drafts.d.ts +0 -26
- package/dist/lib/seasons-drafts.js +0 -106
- package/dist/lib/seasons-drafts.js.map +0 -1
- package/dist/lib/seasons.d.ts +0 -52
- package/dist/lib/seasons.js +0 -59
- package/dist/lib/seasons.js.map +0 -1
- package/dist/seasons/christmas.css +0 -64
- package/dist/seasons/easter.css +0 -62
- package/dist/seasons/fathers-day.css +0 -62
- package/dist/seasons/halloween.css +0 -69
- package/dist/seasons/mothers-day.css +0 -63
- package/dist/seasons/new-year.css +0 -66
- package/dist/seasons/pride.css +0 -68
- package/dist/seasons/thanksgiving.css +0 -64
|
@@ -4,21 +4,19 @@ import { Button as t } from "../forms/button.js";
|
|
|
4
4
|
import { Tooltip as n, TooltipContent as r, TooltipProvider as i, TooltipTrigger as a } from "../overlays/tooltip.js";
|
|
5
5
|
import { FIESTA_ICON_DATA_URI as o } from "./fiesta-icon.js";
|
|
6
6
|
import { FiestaLogo as s } from "./fiesta-logo.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { Fragment as f, memo as p, useEffect as m, useRef as h, useState as g } from "react";
|
|
11
|
-
import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
7
|
+
import { ChevronLeft as c, ChevronRight as ee, Menu as l, Sparkles as u, X as te } from "lucide-react";
|
|
8
|
+
import { Fragment as d, memo as f, useEffect as p, useRef as m, useState as h } from "react";
|
|
9
|
+
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
12
10
|
//#region src/components/chrome/sidebar.tsx
|
|
13
|
-
var
|
|
11
|
+
var y = "nav-active font-semibold", b = "text-sidebar-foreground nav-active-hover", x = "flex items-center gap-3 rounded-lg px-4 py-3 text-base font-medium min-h-[48px]", S = e(x, y), C = e(x, b), w = "flex w-full items-center gap-3 rounded-lg px-4 py-3 text-base font-medium min-h-[48px]", T = e(w, y), E = e(w, b), D = "flex items-center gap-3 py-2 pl-[14px] pr-3 rounded-lg text-sm font-medium transition-colors", ne = e(D, y), re = e(D, b), O = "flex w-full items-center gap-3 py-2 pl-[14px] pr-3 rounded-lg text-sm font-medium transition-colors", k = e(O, y), A = e(O, b), j = "whitespace-nowrap overflow-hidden transition-opacity duration-fast", M = e(j, "opacity-0 max-w-0"), N = e(j, "opacity-100 max-w-48 delay-150"), P = "lg:hidden fixed inset-0 z-[var(--z-mobile-backdrop)] bg-black/25 backdrop-blur-[2px] transition-opacity duration-base pointer-events-none", ie = e(P, "opacity-100 pointer-events-auto"), ae = e(P, "opacity-0"), F = "lg:hidden fixed top-[calc(var(--mobile-header-height,56px)+16px)] left-3 right-3 z-[var(--z-mobile-menu)] flex max-h-[calc(100dvh-var(--mobile-header-height,56px)-2rem)] flex-col overflow-hidden sidebar-gradient-horizontal", oe = e(F, "opacity-100"), se = e(F, "opacity-0 pointer-events-none"), I = "clip-path var(--motion-duration-slower) var(--motion-ease-spring), opacity var(--motion-duration-exit) var(--motion-ease-standard)", L = {
|
|
14
12
|
clipPath: "inset(0 0 0 0 round var(--radius-chrome-mobile, 16px))",
|
|
15
|
-
transition:
|
|
16
|
-
},
|
|
13
|
+
transition: I
|
|
14
|
+
}, R = {
|
|
17
15
|
clipPath: "inset(0 0 100% 0 round var(--radius-chrome-mobile, 16px))",
|
|
18
|
-
transition:
|
|
19
|
-
},
|
|
20
|
-
let [K, q] =
|
|
21
|
-
|
|
16
|
+
transition: I
|
|
17
|
+
}, z = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])", B = f(function({ labels: f, primaryItems: y, secondaryItems: b, renderLink: x, collapsed: w, transitioning: D = !1, onToggleCollapsed: O, onTransitionEnd: j, logoIconSrc: P = o, onLogoClick: F, ai: I, boardSelector: B, mobileBoardSelector: V, renderAccount: H, versionSlot: U, themeToggleSlot: W, maxWidth: G, sidebarInset: ce }) {
|
|
18
|
+
let [K, q] = h(!1), [le, ue] = h(0), J = m(null), Y = m(null), X = m(null);
|
|
19
|
+
p(() => {
|
|
22
20
|
let e = J.current;
|
|
23
21
|
if (!e) return;
|
|
24
22
|
let t = null, n = "", r = () => {
|
|
@@ -31,12 +29,12 @@ var b = "nav-active font-semibold", x = "text-sidebar-foreground nav-active-hove
|
|
|
31
29
|
return i.observe(e), r(), () => {
|
|
32
30
|
i.disconnect(), t !== null && cancelAnimationFrame(t), document.documentElement.style.removeProperty("--mobile-header-height");
|
|
33
31
|
};
|
|
34
|
-
}, []),
|
|
32
|
+
}, []), p(() => (K ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
|
|
35
33
|
document.body.style.overflow = "";
|
|
36
|
-
}), [K]),
|
|
34
|
+
}), [K]), p(() => {
|
|
37
35
|
if (K) {
|
|
38
36
|
let e = Y.current;
|
|
39
|
-
(e?.querySelector(
|
|
37
|
+
(e?.querySelector(z) ?? e)?.focus();
|
|
40
38
|
let t = (e) => {
|
|
41
39
|
e.key === "Escape" && q(!1);
|
|
42
40
|
};
|
|
@@ -45,11 +43,11 @@ var b = "nav-active font-semibold", x = "text-sidebar-foreground nav-active-hove
|
|
|
45
43
|
let e = X.current;
|
|
46
44
|
X.current = null, e?.focus();
|
|
47
45
|
}, [K]);
|
|
48
|
-
function
|
|
46
|
+
function de(e) {
|
|
49
47
|
if (e.key !== "Tab") return;
|
|
50
48
|
let t = Y.current;
|
|
51
49
|
if (!t) return;
|
|
52
|
-
let n = t.querySelectorAll(
|
|
50
|
+
let n = t.querySelectorAll(z);
|
|
53
51
|
if (n.length === 0) {
|
|
54
52
|
e.preventDefault();
|
|
55
53
|
return;
|
|
@@ -57,11 +55,11 @@ var b = "nav-active font-semibold", x = "text-sidebar-foreground nav-active-hove
|
|
|
57
55
|
let r = n[0], i = n[n.length - 1], a = document.activeElement;
|
|
58
56
|
e.shiftKey ? (a === r || a === t) && (e.preventDefault(), i.focus()) : a === i && (e.preventDefault(), r.focus());
|
|
59
57
|
}
|
|
60
|
-
|
|
58
|
+
p(() => {
|
|
61
59
|
let e = null, t = () => {
|
|
62
60
|
e = null;
|
|
63
61
|
let t = Math.max(0, (document.body.clientWidth - G) / 2);
|
|
64
|
-
|
|
62
|
+
ue((e) => e === t ? e : t);
|
|
65
63
|
}, n = () => {
|
|
66
64
|
e === null && (e = requestAnimationFrame(t));
|
|
67
65
|
};
|
|
@@ -70,249 +68,230 @@ var b = "nav-active font-semibold", x = "text-sidebar-foreground nav-active-hove
|
|
|
70
68
|
};
|
|
71
69
|
}, [G]);
|
|
72
70
|
function Z(e) {
|
|
73
|
-
let t = e.icon, n = e.active ?
|
|
74
|
-
return e.external ? /* @__PURE__ */
|
|
71
|
+
let t = e.icon, n = e.active ? S : C;
|
|
72
|
+
return e.external ? /* @__PURE__ */ v("a", {
|
|
75
73
|
href: e.href,
|
|
76
74
|
target: "_blank",
|
|
77
75
|
rel: "noopener noreferrer",
|
|
78
76
|
onClick: () => q(!1),
|
|
79
77
|
className: n,
|
|
80
|
-
children: [/* @__PURE__ */
|
|
81
|
-
}, e.key) : /* @__PURE__ */
|
|
78
|
+
children: [/* @__PURE__ */ _(t, { className: "h-5 w-5" }), e.label]
|
|
79
|
+
}, e.key) : /* @__PURE__ */ _("span", {
|
|
82
80
|
className: "contents",
|
|
83
|
-
children:
|
|
81
|
+
children: x({
|
|
84
82
|
href: e.href,
|
|
85
83
|
onClick: () => q(!1),
|
|
86
84
|
onMouseEnter: e.onPrefetch,
|
|
87
85
|
onFocus: e.onPrefetch,
|
|
88
86
|
className: n,
|
|
89
|
-
children: /* @__PURE__ */
|
|
87
|
+
children: /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(t, { className: "h-5 w-5" }), e.label] })
|
|
90
88
|
}, e)
|
|
91
89
|
}, e.key);
|
|
92
90
|
}
|
|
93
91
|
function Q(e) {
|
|
94
|
-
let t = e.icon, i = e.active ?
|
|
95
|
-
className:
|
|
92
|
+
let t = e.icon, i = e.active ? ne : re, o = /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(t, { className: "h-5 w-5 flex-shrink-0" }), /* @__PURE__ */ _("span", {
|
|
93
|
+
className: w ? M : N,
|
|
96
94
|
children: e.label
|
|
97
|
-
})] }), s = e.external ? /* @__PURE__ */
|
|
95
|
+
})] }), s = e.external ? /* @__PURE__ */ _("a", {
|
|
98
96
|
href: e.href,
|
|
99
97
|
target: "_blank",
|
|
100
98
|
rel: "noopener noreferrer",
|
|
101
99
|
className: i,
|
|
102
|
-
"aria-label":
|
|
100
|
+
"aria-label": w ? e.label : void 0,
|
|
103
101
|
children: o
|
|
104
|
-
}) :
|
|
102
|
+
}) : x({
|
|
105
103
|
href: e.href,
|
|
106
104
|
onMouseEnter: e.onPrefetch,
|
|
107
105
|
onFocus: e.onPrefetch,
|
|
108
106
|
className: i,
|
|
109
|
-
"aria-label":
|
|
107
|
+
"aria-label": w ? e.label : void 0,
|
|
110
108
|
children: o
|
|
111
109
|
}, e);
|
|
112
|
-
return
|
|
110
|
+
return w ? /* @__PURE__ */ v(n, { children: [/* @__PURE__ */ _(a, {
|
|
113
111
|
asChild: !0,
|
|
114
112
|
children: s
|
|
115
|
-
}), /* @__PURE__ */
|
|
113
|
+
}), /* @__PURE__ */ _(r, {
|
|
116
114
|
side: "right",
|
|
117
115
|
className: "font-medium",
|
|
118
116
|
children: e.label
|
|
119
|
-
})] }, e.key) : /* @__PURE__ */
|
|
117
|
+
})] }, e.key) : /* @__PURE__ */ _(d, { children: s }, e.key);
|
|
120
118
|
}
|
|
121
119
|
let $ = (t) => {
|
|
122
|
-
let n = t === "mobile" ? /* @__PURE__ */
|
|
120
|
+
let n = t === "mobile" ? /* @__PURE__ */ _(s, {
|
|
123
121
|
size: "sm",
|
|
124
122
|
className: "logo-on-gradient whitespace-nowrap"
|
|
125
|
-
}) : /* @__PURE__ */
|
|
126
|
-
src:
|
|
123
|
+
}) : /* @__PURE__ */ _(s, { className: e("logo-on-gradient whitespace-nowrap overflow-hidden transition-opacity duration-fast", w ? "opacity-0 max-w-0" : "opacity-100 max-w-48 delay-150") }), r = /* @__PURE__ */ _("img", {
|
|
124
|
+
src: P,
|
|
127
125
|
alt: "",
|
|
128
126
|
width: 32,
|
|
129
127
|
height: 32,
|
|
130
128
|
className: "flex-shrink-0"
|
|
131
129
|
}), i = t === "mobile" ? "flex items-center gap-3 flex-1 ml-2" : "flex items-center gap-2 overflow-hidden px-4 py-4";
|
|
132
|
-
return
|
|
130
|
+
return F ? /* @__PURE__ */ v("button", {
|
|
133
131
|
type: "button",
|
|
134
132
|
onClick: F,
|
|
135
|
-
"aria-label":
|
|
133
|
+
"aria-label": f.logoButtonAriaLabel,
|
|
136
134
|
className: e(i, "cursor-pointer text-left", t === "desktop" && "w-full"),
|
|
137
135
|
children: [r, n]
|
|
138
|
-
}) : /* @__PURE__ */
|
|
136
|
+
}) : /* @__PURE__ */ v("div", {
|
|
139
137
|
className: i,
|
|
140
138
|
children: [r, n]
|
|
141
139
|
});
|
|
142
140
|
};
|
|
143
|
-
return /* @__PURE__ */
|
|
144
|
-
/* @__PURE__ */
|
|
141
|
+
return /* @__PURE__ */ v(g, { children: [
|
|
142
|
+
/* @__PURE__ */ _("header", {
|
|
145
143
|
ref: J,
|
|
146
144
|
className: "lg:hidden fixed top-2 left-3 right-3 z-[var(--z-mobile-header)] overflow-hidden sidebar-gradient-horizontal",
|
|
147
|
-
children:
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
V && /* @__PURE__ */ v("div", {
|
|
168
|
-
className: "ml-auto pl-2 flex-shrink-0",
|
|
169
|
-
children: V
|
|
170
|
-
})
|
|
171
|
-
]
|
|
172
|
-
})
|
|
173
|
-
]
|
|
145
|
+
children: /* @__PURE__ */ v("div", {
|
|
146
|
+
className: "relative z-[1] flex min-h-14 flex-wrap items-center gap-y-2 px-4 py-2",
|
|
147
|
+
children: [
|
|
148
|
+
/* @__PURE__ */ _(t, {
|
|
149
|
+
variant: "ghost",
|
|
150
|
+
size: "icon",
|
|
151
|
+
className: "h-9 w-9 flex-shrink-0 -ml-2 text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
152
|
+
onClick: (e) => {
|
|
153
|
+
K || (X.current = e.currentTarget), q(!K);
|
|
154
|
+
},
|
|
155
|
+
"aria-label": K ? f.closeMenu : f.openMenu,
|
|
156
|
+
children: _(K ? te : l, { className: "h-6 w-6" })
|
|
157
|
+
}),
|
|
158
|
+
$("mobile"),
|
|
159
|
+
V && /* @__PURE__ */ _("div", {
|
|
160
|
+
className: "ml-auto pl-2 flex-shrink-0",
|
|
161
|
+
children: V
|
|
162
|
+
})
|
|
163
|
+
]
|
|
164
|
+
})
|
|
174
165
|
}),
|
|
175
|
-
/* @__PURE__ */
|
|
166
|
+
/* @__PURE__ */ _("div", {
|
|
176
167
|
"data-testid": "mobile-backdrop",
|
|
177
|
-
className: K ?
|
|
168
|
+
className: K ? ie : ae,
|
|
178
169
|
onClick: () => q(!1),
|
|
179
170
|
"aria-hidden": "true"
|
|
180
171
|
}),
|
|
181
|
-
/* @__PURE__ */
|
|
172
|
+
/* @__PURE__ */ v("div", {
|
|
182
173
|
ref: Y,
|
|
183
|
-
className: K ?
|
|
174
|
+
className: K ? oe : se,
|
|
184
175
|
role: K ? "dialog" : void 0,
|
|
185
176
|
"aria-modal": K ? !0 : void 0,
|
|
186
|
-
"aria-label": K ?
|
|
177
|
+
"aria-label": K ? f.navigationMenu : void 0,
|
|
187
178
|
"aria-hidden": !K,
|
|
188
179
|
inert: !K || void 0,
|
|
189
180
|
tabIndex: K ? -1 : void 0,
|
|
190
|
-
onKeyDown:
|
|
191
|
-
style: K ?
|
|
181
|
+
onKeyDown: de,
|
|
182
|
+
style: K ? L : R,
|
|
192
183
|
children: [
|
|
193
|
-
/* @__PURE__ */ v("
|
|
194
|
-
"aria-
|
|
195
|
-
className: "sidebar-gradient-layer"
|
|
196
|
-
}),
|
|
197
|
-
/* @__PURE__ */ y("nav", {
|
|
198
|
-
"aria-label": p.primaryNavigation,
|
|
184
|
+
/* @__PURE__ */ v("nav", {
|
|
185
|
+
"aria-label": f.primaryNavigation,
|
|
199
186
|
className: "min-h-0 flex-1 space-y-1 overflow-y-auto px-3 py-4",
|
|
200
|
-
children: [
|
|
187
|
+
children: [y.map(Z), I && /* @__PURE__ */ v("button", {
|
|
201
188
|
type: "button",
|
|
202
189
|
onClick: () => {
|
|
203
|
-
|
|
190
|
+
I.onOpen(), q(!1);
|
|
204
191
|
},
|
|
205
|
-
className:
|
|
206
|
-
children: [/* @__PURE__ */
|
|
192
|
+
className: I.active ? T : E,
|
|
193
|
+
children: [/* @__PURE__ */ _(u, { className: "h-5 w-5" }), f.aiAssistant]
|
|
207
194
|
})]
|
|
208
195
|
}),
|
|
209
|
-
/* @__PURE__ */
|
|
210
|
-
/* @__PURE__ */
|
|
196
|
+
/* @__PURE__ */ _("div", { className: "shrink-0 border-t border-sidebar-border mx-3" }),
|
|
197
|
+
/* @__PURE__ */ v("div", {
|
|
211
198
|
className: "shrink-0 px-3 py-3 text-sidebar-foreground",
|
|
212
|
-
children: [/* @__PURE__ */
|
|
213
|
-
"aria-label":
|
|
199
|
+
children: [/* @__PURE__ */ v("nav", {
|
|
200
|
+
"aria-label": f.secondaryNavigation,
|
|
214
201
|
className: "space-y-1",
|
|
215
|
-
children: [
|
|
202
|
+
children: [b.map(Z), H?.({
|
|
216
203
|
variant: "mobile",
|
|
217
204
|
collapsed: !1
|
|
218
205
|
})]
|
|
219
|
-
}), /* @__PURE__ */
|
|
206
|
+
}), /* @__PURE__ */ v("div", {
|
|
220
207
|
className: "mt-2 flex items-center justify-between gap-2 border-t border-sidebar-border/80 px-4 pt-3",
|
|
221
208
|
children: [U, W]
|
|
222
209
|
})]
|
|
223
210
|
})
|
|
224
211
|
]
|
|
225
212
|
}),
|
|
226
|
-
/* @__PURE__ */
|
|
213
|
+
/* @__PURE__ */ _(i, {
|
|
227
214
|
delayDuration: 0,
|
|
228
|
-
children: /* @__PURE__ */
|
|
229
|
-
"aria-label":
|
|
230
|
-
className: e("hidden lg:fixed lg:top-3 lg:bottom-3 lg:z-[var(--z-sidebar)] lg:block sidebar-gradient sidebar-transition",
|
|
231
|
-
style: { left:
|
|
215
|
+
children: /* @__PURE__ */ v("aside", {
|
|
216
|
+
"aria-label": f.mainNavigation,
|
|
217
|
+
className: e("hidden lg:fixed lg:top-3 lg:bottom-3 lg:z-[var(--z-sidebar)] lg:block sidebar-gradient sidebar-transition", w ? "lg:w-16" : "lg:w-64", D && "is-transitioning"),
|
|
218
|
+
style: { left: le + ce },
|
|
232
219
|
onTransitionEnd: (e) => {
|
|
233
|
-
e.target === e.currentTarget && e.propertyName === "width" &&
|
|
220
|
+
e.target === e.currentTarget && e.propertyName === "width" && j?.();
|
|
234
221
|
},
|
|
235
|
-
children: [
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
children:
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
/* @__PURE__ */ v(
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
type: "button",
|
|
273
|
-
onClick: z.onOpen,
|
|
274
|
-
"aria-label": p.aiAssistant,
|
|
275
|
-
className: z.active ? oe : k,
|
|
276
|
-
children: [/* @__PURE__ */ v(u, { className: "h-5 w-5 flex-shrink-0" }), /* @__PURE__ */ v("span", {
|
|
277
|
-
className: C ? j : M,
|
|
278
|
-
children: p.aiAssistant
|
|
279
|
-
})]
|
|
280
|
-
})
|
|
281
|
-
}), C && /* @__PURE__ */ v(r, {
|
|
282
|
-
side: "right",
|
|
283
|
-
className: "font-medium",
|
|
284
|
-
children: p.aiAssistant
|
|
285
|
-
})] })
|
|
286
|
-
})] }),
|
|
287
|
-
/* @__PURE__ */ v("div", { className: "mx-2 border-t border-sidebar-border" }),
|
|
288
|
-
/* @__PURE__ */ y("div", {
|
|
289
|
-
className: "shrink-0 px-2 pt-2 pb-3",
|
|
290
|
-
children: [/* @__PURE__ */ y("nav", {
|
|
291
|
-
"aria-label": p.secondaryNavigation,
|
|
292
|
-
className: "space-y-1",
|
|
293
|
-
children: [x.map(Q), H?.({
|
|
294
|
-
variant: "desktop",
|
|
295
|
-
collapsed: C
|
|
296
|
-
})]
|
|
297
|
-
}), /* @__PURE__ */ y("div", {
|
|
298
|
-
className: e("mt-2 border-t border-sidebar-border/80 py-2", C ? "flex flex-col items-center gap-1" : "flex items-center justify-between gap-2 pl-[14px] pr-3"),
|
|
299
|
-
children: [/* @__PURE__ */ v("div", {
|
|
300
|
-
className: e("min-w-0 overflow-hidden whitespace-nowrap", C ? "order-2 w-full truncate text-center" : "order-1"),
|
|
301
|
-
children: U
|
|
302
|
-
}), /* @__PURE__ */ v("div", {
|
|
303
|
-
className: e("flex-shrink-0", C ? "order-1" : "order-2"),
|
|
304
|
-
children: W
|
|
222
|
+
children: [/* @__PURE__ */ v(n, { children: [/* @__PURE__ */ _(a, {
|
|
223
|
+
asChild: !0,
|
|
224
|
+
children: /* @__PURE__ */ _("button", {
|
|
225
|
+
onClick: O,
|
|
226
|
+
"aria-label": w ? f.expandSidebar : f.collapseSidebar,
|
|
227
|
+
className: "absolute -right-3.5 top-[51px] z-[var(--z-sidebar-toggle)] flex h-7 w-7 items-center justify-center rounded-full border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-md transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
228
|
+
children: _(w ? ee : c, { className: "h-3.5 w-3.5" })
|
|
229
|
+
})
|
|
230
|
+
}), /* @__PURE__ */ _(r, {
|
|
231
|
+
side: "right",
|
|
232
|
+
children: w ? f.expandSidebar : f.collapseSidebar
|
|
233
|
+
})] }), /* @__PURE__ */ v("div", {
|
|
234
|
+
className: "relative z-[1] flex h-full flex-col overflow-hidden",
|
|
235
|
+
children: [
|
|
236
|
+
$("desktop"),
|
|
237
|
+
/* @__PURE__ */ _("div", { className: "mx-2 border-t border-sidebar-border" }),
|
|
238
|
+
B && /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("div", {
|
|
239
|
+
className: "shrink-0 px-2 pb-3 pt-3",
|
|
240
|
+
children: B
|
|
241
|
+
}), /* @__PURE__ */ _("div", { className: "mx-2 border-t border-sidebar-border" })] }),
|
|
242
|
+
/* @__PURE__ */ _("nav", {
|
|
243
|
+
"aria-label": f.primaryNavigation,
|
|
244
|
+
className: "min-h-0 flex-1 space-y-1 overflow-y-auto py-4 px-2",
|
|
245
|
+
children: y.map(Q)
|
|
246
|
+
}),
|
|
247
|
+
I && /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("div", { className: "mx-2 border-t border-sidebar-border" }), /* @__PURE__ */ _("div", {
|
|
248
|
+
className: "shrink-0 px-2 py-2",
|
|
249
|
+
children: /* @__PURE__ */ v(n, { children: [/* @__PURE__ */ _(a, {
|
|
250
|
+
asChild: !0,
|
|
251
|
+
children: /* @__PURE__ */ v("button", {
|
|
252
|
+
type: "button",
|
|
253
|
+
onClick: I.onOpen,
|
|
254
|
+
"aria-label": f.aiAssistant,
|
|
255
|
+
className: I.active ? k : A,
|
|
256
|
+
children: [/* @__PURE__ */ _(u, { className: "h-5 w-5 flex-shrink-0" }), /* @__PURE__ */ _("span", {
|
|
257
|
+
className: w ? M : N,
|
|
258
|
+
children: f.aiAssistant
|
|
305
259
|
})]
|
|
260
|
+
})
|
|
261
|
+
}), w && /* @__PURE__ */ _(r, {
|
|
262
|
+
side: "right",
|
|
263
|
+
className: "font-medium",
|
|
264
|
+
children: f.aiAssistant
|
|
265
|
+
})] })
|
|
266
|
+
})] }),
|
|
267
|
+
/* @__PURE__ */ _("div", { className: "mx-2 border-t border-sidebar-border" }),
|
|
268
|
+
/* @__PURE__ */ v("div", {
|
|
269
|
+
className: "shrink-0 px-2 pt-2 pb-3",
|
|
270
|
+
children: [/* @__PURE__ */ v("nav", {
|
|
271
|
+
"aria-label": f.secondaryNavigation,
|
|
272
|
+
className: "space-y-1",
|
|
273
|
+
children: [b.map(Q), H?.({
|
|
274
|
+
variant: "desktop",
|
|
275
|
+
collapsed: w
|
|
306
276
|
})]
|
|
307
|
-
})
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
277
|
+
}), /* @__PURE__ */ v("div", {
|
|
278
|
+
className: e("mt-2 border-t border-sidebar-border/80 py-2", w ? "flex flex-col items-center gap-1" : "flex items-center justify-between gap-2 pl-[14px] pr-3"),
|
|
279
|
+
children: [/* @__PURE__ */ _("div", {
|
|
280
|
+
className: e("min-w-0 overflow-hidden whitespace-nowrap", w ? "order-2 w-full truncate text-center" : "order-1"),
|
|
281
|
+
children: U
|
|
282
|
+
}), /* @__PURE__ */ _("div", {
|
|
283
|
+
className: e("flex-shrink-0", w ? "order-1" : "order-2"),
|
|
284
|
+
children: W
|
|
285
|
+
})]
|
|
286
|
+
})]
|
|
287
|
+
})
|
|
288
|
+
]
|
|
289
|
+
})]
|
|
311
290
|
})
|
|
312
291
|
})
|
|
313
292
|
] });
|
|
314
293
|
});
|
|
315
294
|
//#endregion
|
|
316
|
-
export {
|
|
295
|
+
export { B as Sidebar };
|
|
317
296
|
|
|
318
297
|
//# sourceMappingURL=sidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","names":[],"sources":["../../../src/components/chrome/sidebar.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"sidebar.js","names":[],"sources":["../../../src/components/chrome/sidebar.tsx"],"mappings":"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"}
|
|
@@ -1,22 +1,49 @@
|
|
|
1
1
|
interface ThemeToggleProps {
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Current theme choice. `"light"` / `"dark"` are resolved modes; `"system"`
|
|
4
|
+
* means "follow the OS" and renders a distinct Monitor glyph, so a three-way
|
|
5
|
+
* chooser stays legible at a glance instead of surviving only in `label`.
|
|
6
|
+
* Binary consumers pass `"light"` / `"dark"` and are unaffected — the union
|
|
7
|
+
* was widened, not changed.
|
|
8
|
+
*/
|
|
9
|
+
theme: "light" | "dark" | "system";
|
|
4
10
|
/** Called when the user clicks the toggle. */
|
|
5
11
|
onToggle: () => void;
|
|
6
12
|
/** Localized accessible label, e.g. "Toggle theme". */
|
|
7
13
|
label: string;
|
|
14
|
+
/**
|
|
15
|
+
* Which signal decides Sun vs Moon. Ignored when `theme` is `"system"`.
|
|
16
|
+
*
|
|
17
|
+
* - `"prop"` (default) — the `theme` prop, via `data-resolved-theme`. The
|
|
18
|
+
* component's documented contract: the icon follows what you passed, even
|
|
19
|
+
* where that disagrees with the root `.dark` class. Keep this unless you
|
|
20
|
+
* are the case below; a story hardcoding `theme="dark"` under a light root
|
|
21
|
+
* must still render the dark glyph (issue #89, and VRT caught exactly it).
|
|
22
|
+
* - `"dom"` — the ancestor `.dark` class, the same signal `theme.css` keys
|
|
23
|
+
* dark mode on. For statically rendered sites, where the server cannot
|
|
24
|
+
* know the visitor's theme and so bakes the wrong `data-resolved-theme`
|
|
25
|
+
* into the HTML: an inline `<head>` script that stamps `.dark` before
|
|
26
|
+
* first paint is then enough to paint the correct glyph with no JS and no
|
|
27
|
+
* hydration, killing the light-icon flash a dark-mode visitor sees on
|
|
28
|
+
* every cold load. Only pass this when something stamps `.dark` pre-paint
|
|
29
|
+
* — otherwise the icon is stuck on the light glyph.
|
|
30
|
+
*/
|
|
31
|
+
iconSource?: "prop" | "dom";
|
|
8
32
|
}
|
|
9
33
|
/**
|
|
10
34
|
* Controlled presentational theme toggle. Theme state/persistence stays in
|
|
11
35
|
* the app (FiestaBoard wires this to its use-theme hook).
|
|
12
36
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
37
|
+
* Every icon is always in the DOM and the visible one is selected purely by
|
|
38
|
+
* CSS — no icon is conditionally rendered from `theme`. That is what makes the
|
|
39
|
+
* component SSR-safe without a mounted gate (issue #89): server and client
|
|
40
|
+
* markup differ at most by one attribute VALUE, patched cheaply during
|
|
41
|
+
* hydration (`suppressHydrationWarning`). Swapping elements instead would put
|
|
42
|
+
* a real subtree mismatch on the hydration path, which that attribute-level
|
|
43
|
+
* suppression does not cover.
|
|
44
|
+
*
|
|
45
|
+
* Which CSS signal drives Sun vs Moon is the consumer's call — see
|
|
46
|
+
* `iconSource`. The two modes are mutually exclusive by construction.
|
|
20
47
|
*/
|
|
21
|
-
export declare const ThemeToggle: import("react").MemoExoticComponent<({ theme, onToggle, label }: ThemeToggleProps) => import("react").JSX.Element>;
|
|
48
|
+
export declare const ThemeToggle: import("react").MemoExoticComponent<({ theme, onToggle, label, iconSource, }: ThemeToggleProps) => import("react").JSX.Element>;
|
|
22
49
|
export {};
|
|
@@ -1,28 +1,41 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Button as e } from "../forms/button.js";
|
|
3
|
-
import {
|
|
4
|
-
import { memo as
|
|
5
|
-
import { jsx as
|
|
3
|
+
import { Monitor as t, Moon as n, Sun as r } from "lucide-react";
|
|
4
|
+
import { memo as i } from "react";
|
|
5
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/chrome/theme-toggle.tsx
|
|
7
|
-
var
|
|
8
|
-
|
|
7
|
+
var s = {
|
|
8
|
+
prop: {
|
|
9
|
+
sun: "hidden h-4 w-4 [[data-resolved-theme=dark]_&]:block",
|
|
10
|
+
moon: "h-4 w-4 [[data-resolved-theme=dark]_&]:hidden"
|
|
11
|
+
},
|
|
12
|
+
dom: {
|
|
13
|
+
sun: "hidden h-4 w-4 dark:block",
|
|
14
|
+
moon: "h-4 w-4 dark:hidden"
|
|
15
|
+
}
|
|
16
|
+
}, c = i(function({ theme: i, onToggle: c, label: l, iconSource: u = "prop" }) {
|
|
17
|
+
let d = s[u];
|
|
18
|
+
return /* @__PURE__ */ o(e, {
|
|
9
19
|
variant: "ghost",
|
|
10
20
|
size: "icon",
|
|
11
|
-
onClick:
|
|
21
|
+
onClick: c,
|
|
12
22
|
className: "w-9 h-9",
|
|
13
|
-
"data-resolved-theme":
|
|
23
|
+
"data-resolved-theme": i,
|
|
14
24
|
suppressHydrationWarning: !0,
|
|
15
25
|
children: [
|
|
16
|
-
/* @__PURE__ */
|
|
17
|
-
|
|
18
|
-
|
|
26
|
+
/* @__PURE__ */ o("span", {
|
|
27
|
+
className: "contents [[data-resolved-theme=system]_&]:hidden",
|
|
28
|
+
children: [/* @__PURE__ */ a(r, { className: d.sun }), /* @__PURE__ */ a(n, { className: d.moon })]
|
|
29
|
+
}),
|
|
30
|
+
/* @__PURE__ */ a(t, { className: "hidden h-4 w-4 [[data-resolved-theme=system]_&]:block" }),
|
|
31
|
+
/* @__PURE__ */ a("span", {
|
|
19
32
|
className: "sr-only",
|
|
20
|
-
children:
|
|
33
|
+
children: l
|
|
21
34
|
})
|
|
22
35
|
]
|
|
23
36
|
});
|
|
24
37
|
});
|
|
25
38
|
//#endregion
|
|
26
|
-
export {
|
|
39
|
+
export { c as ThemeToggle };
|
|
27
40
|
|
|
28
41
|
//# sourceMappingURL=theme-toggle.js.map
|