@burdenoff/fe-libs 2026.1018.1 → 2026.1019.2
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/AccountSwitcher.js +90 -89
- package/dist/chrome/Breadcrumbs.js +1 -1
- package/dist/chrome/CommandPalette.js +91 -90
- package/dist/chrome/Footer.js +31 -8
- package/dist/chrome/GlobalSearch.js +78 -77
- package/dist/chrome/HeaderBar.js +1 -1
- package/dist/chrome/HeaderThemeSwitcher.js +48 -47
- package/dist/chrome/LanguagePickerSheet.js +23 -22
- package/dist/chrome/NavCustomizeDialog.d.ts +0 -14
- package/dist/chrome/NavCustomizeDialog.js +114 -122
- package/dist/chrome/PanelTabs.js +45 -41
- package/dist/chrome/PersonaSurfaceControls.d.ts +0 -17
- package/dist/chrome/PersonaSurfaceControls.js +115 -118
- package/dist/chrome/PluginSettingsPage.js +29 -28
- package/dist/chrome/PluginWidgetGrid.js +19 -18
- package/dist/chrome/ProductPickerSheet.js +44 -47
- package/dist/chrome/ProductSwitcher.js +2 -6
- package/dist/chrome/ProfileSwitcher.js +6 -10
- package/dist/chrome/ShortcutHelpDialog.js +60 -65
- package/dist/chrome/SideNavigation.js +2 -2
- package/dist/chrome/Sidebar.js +44 -43
- package/dist/chrome/ThemePreferences.js +289 -267
- package/dist/chrome/contextSwitcher/EmptyState.js +31 -27
- package/dist/chrome/contextSwitcher/OrganizationList.js +40 -30
- package/dist/chrome/contextSwitcher/ProjectList.js +48 -44
- package/dist/chrome/contextSwitcher/SearchInput.js +44 -40
- package/dist/chrome/contextSwitcher/TriggerButton.js +2 -2
- package/dist/chrome/contextSwitcher/WorkspaceList.js +36 -32
- package/dist/chrome/globalSearch/AdvancedFiltersPanel.js +128 -126
- package/dist/chrome/globalSearch/ResultsList.js +25 -27
- package/dist/chrome/globalSearch/SearchInput.js +16 -14
- package/dist/chrome/notificationCenter/NotificationCardItem.js +58 -47
- package/dist/chrome/notificationCenter/NotificationFilters.js +76 -62
- package/dist/chrome/notificationCenter/NotificationFooter.js +21 -21
- package/dist/chrome/notificationCenter/NotificationHeader.js +67 -63
- package/dist/chrome/notificationCenter/NotificationList.js +75 -71
- package/dist/chrome/notificationCenter/NotificationPanel.js +37 -33
- package/dist/chrome/notificationCenter/PushOptInToggle.js +33 -32
- package/dist/chrome/notificationCenter/constants.d.ts +6 -1
- package/dist/chrome/notificationCenter/constants.js +12 -11
- package/dist/chrome/useThemeOptionLabels.d.ts +33 -0
- package/dist/chrome/useThemeOptionLabels.js +39 -0
- package/dist/shared/assistant/conversation.d.ts +8 -0
- package/dist/shared/assistant/history/historyMapping.js +1 -1
- package/dist/shared/assistant/ui/AssistantMarkdownRenderer.d.ts +6 -6
- package/dist/shared/assistant/ui/AssistantMarkdownRenderer.js +86 -85
- package/dist/shared/assistant/ui/AssistantMessageItem.js +101 -96
- package/dist/shared/assistant/ui/AssistantWriteProposalCard.d.ts +2 -0
- package/dist/shared/assistant/ui/AssistantWriteProposalCard.js +93 -89
- package/dist/shared/assistant/ui/WorkflowAssistantPanel.js +152 -140
- package/dist/shared/assistant/ui/useWriteProposals.js +122 -85
- package/dist/shared/assistant/writeProposalDiscovery.d.ts +3 -1
- package/dist/shared/assistant/writeProposalDiscovery.js +2 -2
- package/dist/shared/events/sinks/RybbitSink.js +2 -2
- package/dist/shared/providers/shell/interpolateShellLabel.d.ts +3 -0
- package/dist/shared/providers/shell/interpolateShellLabel.js +11 -0
- package/dist/shared/providers/shell/useAssistantShellLabels.d.ts +45 -0
- package/dist/shared/providers/shell/useAssistantShellLabels.js +54 -0
- package/dist/shared/tours/TourPlayer.js +33 -32
- package/dist/shared/tours/TourTooltip.js +108 -109
- package/dist/shared/tours/tourTrigger/MobileTourSheet.js +98 -85
- package/dist/shared/tours/tourTrigger/TourListItemDesktop.js +20 -18
- package/dist/shared/tours/tourTrigger/TourListItemMobile.js +23 -25
- package/dist/shared-assistant.js +188 -188
- package/package.json +2 -2
|
@@ -2,17 +2,19 @@ import { Button as e } from "../ui/button.js";
|
|
|
2
2
|
import { Select as t, SelectContent as n, SelectItem as r, SelectTrigger as i, SelectValue as a } from "../ui/select.js";
|
|
3
3
|
import { Badge as o } from "../ui/badge.js";
|
|
4
4
|
import { Card as s, CardContent as c, CardDescription as l, CardHeader as u, CardTitle as d } from "../ui/card.js";
|
|
5
|
-
import { Input as
|
|
6
|
-
import { Label as
|
|
7
|
-
import { THEME_OPTIONS as
|
|
8
|
-
import { Switch as
|
|
9
|
-
import {
|
|
5
|
+
import { Input as ee } from "../ui/input.js";
|
|
6
|
+
import { Label as f } from "../ui/label.js";
|
|
7
|
+
import { THEME_OPTIONS as p, useTheme as m } from "../shared/providers/shell/ThemeProvider.js";
|
|
8
|
+
import { Switch as h } from "../ui/switch.js";
|
|
9
|
+
import { useShellLabel as te } from "../shared/providers/shell/useShellLabel.js";
|
|
10
|
+
import { useThemeOptionLabels as ne } from "./useThemeOptionLabels.js";
|
|
11
|
+
import { cn as g } from "../utils/cn.js";
|
|
10
12
|
import "../utils/index.js";
|
|
11
|
-
import { useCallback as
|
|
12
|
-
import { Check as
|
|
13
|
-
import { jsx as
|
|
13
|
+
import { useCallback as _, useId as v, useMemo as y, useState as b } from "react";
|
|
14
|
+
import { Check as x, Palette as S, Pencil as re, Plus as C, Trash2 as ie, X as w } from "lucide-react";
|
|
15
|
+
import { jsx as T, jsxs as E } from "react/jsx-runtime";
|
|
14
16
|
//#region src/chrome/ThemePreferences.tsx
|
|
15
|
-
var
|
|
17
|
+
var D = [
|
|
16
18
|
{
|
|
17
19
|
name: "Blue",
|
|
18
20
|
varName: "--color-accent-blue"
|
|
@@ -29,7 +31,7 @@ var E = [
|
|
|
29
31
|
name: "Indigo",
|
|
30
32
|
varName: "--color-accent-indigo"
|
|
31
33
|
}
|
|
32
|
-
],
|
|
34
|
+
], O = [
|
|
33
35
|
{
|
|
34
36
|
value: "compact",
|
|
35
37
|
label: "Compact"
|
|
@@ -42,7 +44,7 @@ var E = [
|
|
|
42
44
|
value: "spacious",
|
|
43
45
|
label: "Spacious"
|
|
44
46
|
}
|
|
45
|
-
],
|
|
47
|
+
], k = [
|
|
46
48
|
{
|
|
47
49
|
value: "small",
|
|
48
50
|
label: "Small"
|
|
@@ -55,7 +57,7 @@ var E = [
|
|
|
55
57
|
value: "large",
|
|
56
58
|
label: "Large"
|
|
57
59
|
}
|
|
58
|
-
],
|
|
60
|
+
], ae = [
|
|
59
61
|
{
|
|
60
62
|
value: "off",
|
|
61
63
|
label: "Off"
|
|
@@ -70,240 +72,251 @@ var E = [
|
|
|
70
72
|
}
|
|
71
73
|
], A = (e) => e === "dark" ? "bg-bg-sunken" : "bg-bg-surface";
|
|
72
74
|
function j({ className: t, showCustomThemes: n = !0 }) {
|
|
73
|
-
let { mode:
|
|
74
|
-
|
|
75
|
-
name:
|
|
76
|
-
base:
|
|
77
|
-
accent:
|
|
78
|
-
density:
|
|
79
|
-
typography:
|
|
80
|
-
glass:
|
|
81
|
-
reduceMotion:
|
|
82
|
-
}).id),
|
|
75
|
+
let r = te(), i = ne(), { mode: a, density: v, typography: w, glass: j, reduceMotion: F, resolvedThemeName: oe, setMode: se, setDensity: ce, setTypography: le, setGlass: ue, setReduceMotion: de, customThemes: I, activeCustomId: L, createCustomTheme: R, updateCustomTheme: z, deleteCustomTheme: fe, applyCustomTheme: B } = m(), [V, H] = b(!1), [U, pe] = b(() => r("themeSwitcher.myTheme", "My theme")), [W, me] = b("light"), [G, he] = b("#6366F1"), [K, ge] = b("comfortable"), [q, _e] = b("default"), [J, ve] = b("full"), [Y, ye] = b(!1), [X, Z] = b(null), [Q, be] = b(""), xe = _(() => H(!0), []), Se = _(() => {
|
|
76
|
+
B(R({
|
|
77
|
+
name: U.trim() || r("themeSwitcher.untitled", "Untitled theme"),
|
|
78
|
+
base: W,
|
|
79
|
+
accent: G,
|
|
80
|
+
density: K,
|
|
81
|
+
typography: q,
|
|
82
|
+
glass: J,
|
|
83
|
+
reduceMotion: Y
|
|
84
|
+
}).id), H(!1);
|
|
83
85
|
}, [
|
|
84
|
-
H,
|
|
85
86
|
U,
|
|
86
87
|
W,
|
|
87
88
|
G,
|
|
88
89
|
K,
|
|
89
90
|
q,
|
|
90
91
|
J,
|
|
91
|
-
L,
|
|
92
|
-
z
|
|
93
|
-
]), ye = v((e) => {
|
|
94
|
-
X(e.id), _e(e.name);
|
|
95
|
-
}, []), be = v(() => {
|
|
96
|
-
Y && R(Y, { name: Z.trim() || "Untitled theme" }), X(null);
|
|
97
|
-
}, [
|
|
98
92
|
Y,
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
93
|
+
R,
|
|
94
|
+
B,
|
|
95
|
+
r
|
|
96
|
+
]), Ce = _((e) => {
|
|
97
|
+
Z(e.id), be(e.name);
|
|
98
|
+
}, []), we = _(() => {
|
|
99
|
+
X && z(X, { name: Q.trim() || r("themeSwitcher.untitled", "Untitled theme") }), Z(null);
|
|
100
|
+
}, [
|
|
101
|
+
X,
|
|
102
|
+
Q,
|
|
103
|
+
z,
|
|
104
|
+
r
|
|
105
|
+
]), $ = y(() => V ? {
|
|
106
|
+
theme: W,
|
|
107
|
+
density: K,
|
|
108
|
+
typography: q,
|
|
109
|
+
glass: J
|
|
106
110
|
} : {
|
|
107
|
-
theme:
|
|
108
|
-
density:
|
|
109
|
-
typography:
|
|
110
|
-
glass:
|
|
111
|
+
theme: oe,
|
|
112
|
+
density: v,
|
|
113
|
+
typography: w,
|
|
114
|
+
glass: j
|
|
111
115
|
}, [
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
G,
|
|
116
|
+
V,
|
|
117
|
+
W,
|
|
115
118
|
K,
|
|
116
119
|
q,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
J,
|
|
121
|
+
oe,
|
|
122
|
+
v,
|
|
123
|
+
w,
|
|
124
|
+
j
|
|
121
125
|
]);
|
|
122
|
-
return /* @__PURE__ */
|
|
123
|
-
className:
|
|
126
|
+
return /* @__PURE__ */ E("div", {
|
|
127
|
+
className: g("flex flex-col gap-6", t),
|
|
124
128
|
children: [
|
|
125
|
-
n && /* @__PURE__ */
|
|
129
|
+
n && /* @__PURE__ */ E(s, { children: [/* @__PURE__ */ E(u, { children: [/* @__PURE__ */ E(d, {
|
|
126
130
|
className: "flex items-center gap-2",
|
|
127
|
-
children: [/* @__PURE__ */
|
|
131
|
+
children: [/* @__PURE__ */ T(S, {
|
|
128
132
|
className: "size-4 text-text-secondary",
|
|
129
133
|
"aria-hidden": "true"
|
|
130
|
-
}), "Theme"]
|
|
131
|
-
}), /* @__PURE__ */
|
|
134
|
+
}), r("themeSwitcher.label", "Theme")]
|
|
135
|
+
}), /* @__PURE__ */ T(l, { children: r("themeSwitcher.description", "Pick a built-in theme or one of your saved custom themes.") })] }), /* @__PURE__ */ T(c, { children: /* @__PURE__ */ E("div", {
|
|
132
136
|
role: "radiogroup",
|
|
133
|
-
"aria-label": "Theme",
|
|
137
|
+
"aria-label": r("themeSwitcher.label", "Theme"),
|
|
134
138
|
className: "grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4",
|
|
135
139
|
children: [
|
|
136
|
-
|
|
137
|
-
label: e.
|
|
140
|
+
p.map((e) => /* @__PURE__ */ T(M, {
|
|
141
|
+
label: i.themes[e.value],
|
|
138
142
|
family: e.family,
|
|
139
|
-
active:
|
|
140
|
-
onSelect: () =>
|
|
143
|
+
active: a === e.value,
|
|
144
|
+
onSelect: () => se(e.value)
|
|
141
145
|
}, e.value)),
|
|
142
|
-
|
|
146
|
+
I.map((e) => /* @__PURE__ */ T(M, {
|
|
143
147
|
label: e.name,
|
|
144
148
|
family: e.base,
|
|
145
149
|
accent: e.accent,
|
|
146
|
-
active:
|
|
147
|
-
onSelect: () =>
|
|
150
|
+
active: a === "custom" && L === e.id,
|
|
151
|
+
onSelect: () => B(e.id)
|
|
148
152
|
}, e.id)),
|
|
149
|
-
/* @__PURE__ */
|
|
153
|
+
/* @__PURE__ */ E("button", {
|
|
150
154
|
type: "button",
|
|
151
|
-
onClick:
|
|
155
|
+
onClick: xe,
|
|
152
156
|
className: "flex min-h-[5.5rem] flex-col items-center justify-center gap-1 rounded-card border border-dashed border-border-default bg-bg-surface text-text-secondary transition-colors hover:border-border-strong hover:bg-bg-sunken hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
|
|
153
|
-
children: [/* @__PURE__ */
|
|
157
|
+
children: [/* @__PURE__ */ T(C, {
|
|
154
158
|
className: "size-5",
|
|
155
159
|
"aria-hidden": "true"
|
|
156
|
-
}), /* @__PURE__ */
|
|
160
|
+
}), /* @__PURE__ */ T("span", {
|
|
157
161
|
className: "text-xs font-medium",
|
|
158
|
-
children: "New theme"
|
|
162
|
+
children: r("themeSwitcher.newTheme", "New theme")
|
|
159
163
|
})]
|
|
160
164
|
})
|
|
161
165
|
]
|
|
162
166
|
}) })] }),
|
|
163
|
-
/* @__PURE__ */
|
|
167
|
+
/* @__PURE__ */ E(s, { children: [/* @__PURE__ */ E(u, { children: [/* @__PURE__ */ T(d, { children: r("themeSwitcher.accent", "Accent") }), /* @__PURE__ */ T(l, { children: r("themeSwitcher.accentHelp", "Accent color retints buttons, links, and highlights across the app.") })] }), /* @__PURE__ */ T(c, { children: /* @__PURE__ */ E("div", {
|
|
164
168
|
className: "flex flex-wrap items-center gap-3",
|
|
165
|
-
children: [
|
|
169
|
+
children: [D.map((e) => /* @__PURE__ */ E("div", {
|
|
166
170
|
className: "flex flex-col items-center gap-1.5",
|
|
167
|
-
children: [/* @__PURE__ */
|
|
171
|
+
children: [/* @__PURE__ */ T("span", {
|
|
168
172
|
className: "size-9 rounded-full border border-border-seam shadow-elevation-1",
|
|
169
173
|
style: { backgroundColor: `var(${e.varName})` },
|
|
170
174
|
"aria-hidden": "true"
|
|
171
|
-
}), /* @__PURE__ */
|
|
175
|
+
}), /* @__PURE__ */ T("span", {
|
|
172
176
|
className: "text-xs text-text-secondary",
|
|
173
|
-
children: e.name
|
|
177
|
+
children: i.accents[e.name] ?? e.name
|
|
174
178
|
})]
|
|
175
|
-
}, e.name)), /* @__PURE__ */
|
|
179
|
+
}, e.name)), /* @__PURE__ */ E(e, {
|
|
176
180
|
type: "button",
|
|
177
181
|
variant: "outline",
|
|
178
182
|
size: "sm",
|
|
179
|
-
onClick:
|
|
183
|
+
onClick: xe,
|
|
180
184
|
className: "ml-1",
|
|
181
|
-
children: [/* @__PURE__ */
|
|
185
|
+
children: [/* @__PURE__ */ T(S, {
|
|
182
186
|
className: "size-4",
|
|
183
187
|
"aria-hidden": "true"
|
|
184
|
-
}), "Custom accent"]
|
|
188
|
+
}), r("themeSwitcher.customAccent", "Custom accent")]
|
|
185
189
|
})]
|
|
186
190
|
}) })] }),
|
|
187
|
-
/* @__PURE__ */
|
|
188
|
-
title: "Density",
|
|
189
|
-
description: "Spacing and control sizing throughout the interface.",
|
|
190
|
-
value:
|
|
191
|
-
options:
|
|
192
|
-
|
|
191
|
+
/* @__PURE__ */ T(N, {
|
|
192
|
+
title: r("themeSwitcher.density", "Density"),
|
|
193
|
+
description: r("themeSwitcher.densityHelp", "Spacing and control sizing throughout the interface."),
|
|
194
|
+
value: v,
|
|
195
|
+
options: O.map((e) => ({
|
|
196
|
+
...e,
|
|
197
|
+
label: i.density[e.value]
|
|
198
|
+
})),
|
|
199
|
+
onChange: ce
|
|
193
200
|
}),
|
|
194
|
-
/* @__PURE__ */
|
|
195
|
-
title: "Typography",
|
|
196
|
-
description: "Base font scale for text across the app.",
|
|
197
|
-
value:
|
|
198
|
-
options:
|
|
199
|
-
|
|
201
|
+
/* @__PURE__ */ T(N, {
|
|
202
|
+
title: r("themeSwitcher.typography", "Typography"),
|
|
203
|
+
description: r("themeSwitcher.typographyHelp", "Base font scale for text across the app."),
|
|
204
|
+
value: w,
|
|
205
|
+
options: k.map((e) => ({
|
|
206
|
+
...e,
|
|
207
|
+
label: i.typography[e.value]
|
|
208
|
+
})),
|
|
209
|
+
onChange: le
|
|
200
210
|
}),
|
|
201
|
-
/* @__PURE__ */
|
|
202
|
-
title: "Glass intensity",
|
|
203
|
-
description: "Strength of the frosted-glass blur on elevated surfaces.",
|
|
204
|
-
value:
|
|
205
|
-
options:
|
|
206
|
-
|
|
211
|
+
/* @__PURE__ */ T(N, {
|
|
212
|
+
title: r("themeSwitcher.glassIntensity", "Glass intensity"),
|
|
213
|
+
description: r("themeSwitcher.glassHelp", "Strength of the frosted-glass blur on elevated surfaces."),
|
|
214
|
+
value: j,
|
|
215
|
+
options: ae.map((e) => ({
|
|
216
|
+
...e,
|
|
217
|
+
label: i.glass[e.value]
|
|
218
|
+
})),
|
|
219
|
+
onChange: ue
|
|
207
220
|
}),
|
|
208
|
-
/* @__PURE__ */
|
|
221
|
+
/* @__PURE__ */ T(s, { children: /* @__PURE__ */ E(c, {
|
|
209
222
|
className: "flex items-center justify-between gap-4 pt-6",
|
|
210
|
-
children: [/* @__PURE__ */
|
|
223
|
+
children: [/* @__PURE__ */ E("div", {
|
|
211
224
|
className: "flex flex-col",
|
|
212
|
-
children: [/* @__PURE__ */
|
|
225
|
+
children: [/* @__PURE__ */ T(f, {
|
|
213
226
|
htmlFor: "theme-reduce-motion",
|
|
214
227
|
className: "text-sm font-medium text-text-primary",
|
|
215
|
-
children: "Reduce motion"
|
|
216
|
-
}), /* @__PURE__ */
|
|
228
|
+
children: r("themeSwitcher.reduceMotion", "Reduce motion")
|
|
229
|
+
}), /* @__PURE__ */ T("span", {
|
|
217
230
|
className: "text-xs text-text-secondary",
|
|
218
|
-
children: "Minimize animations and transitions across the app."
|
|
231
|
+
children: r("themeSwitcher.motionHelp", "Minimize animations and transitions across the app.")
|
|
219
232
|
})]
|
|
220
|
-
}), /* @__PURE__ */
|
|
233
|
+
}), /* @__PURE__ */ T(h, {
|
|
221
234
|
id: "theme-reduce-motion",
|
|
222
|
-
checked:
|
|
223
|
-
onCheckedChange:
|
|
224
|
-
"aria-label": "Reduce motion"
|
|
235
|
+
checked: F,
|
|
236
|
+
onCheckedChange: de,
|
|
237
|
+
"aria-label": r("themeSwitcher.reduceMotion", "Reduce motion")
|
|
225
238
|
})]
|
|
226
239
|
}) }),
|
|
227
|
-
n &&
|
|
228
|
-
name:
|
|
229
|
-
base:
|
|
230
|
-
accent:
|
|
231
|
-
density:
|
|
232
|
-
typography:
|
|
233
|
-
glass:
|
|
234
|
-
reduceMotion:
|
|
235
|
-
onName:
|
|
236
|
-
onBase:
|
|
237
|
-
onAccent:
|
|
238
|
-
onDensity:
|
|
239
|
-
onTypography:
|
|
240
|
-
onGlass:
|
|
241
|
-
onReduceMotion:
|
|
242
|
-
onSave:
|
|
243
|
-
onCancel: () =>
|
|
240
|
+
n && V && /* @__PURE__ */ T(P, {
|
|
241
|
+
name: U,
|
|
242
|
+
base: W,
|
|
243
|
+
accent: G,
|
|
244
|
+
density: K,
|
|
245
|
+
typography: q,
|
|
246
|
+
glass: J,
|
|
247
|
+
reduceMotion: Y,
|
|
248
|
+
onName: pe,
|
|
249
|
+
onBase: me,
|
|
250
|
+
onAccent: he,
|
|
251
|
+
onDensity: ge,
|
|
252
|
+
onTypography: _e,
|
|
253
|
+
onGlass: ve,
|
|
254
|
+
onReduceMotion: ye,
|
|
255
|
+
onSave: Se,
|
|
256
|
+
onCancel: () => H(!1)
|
|
244
257
|
}),
|
|
245
|
-
n &&
|
|
258
|
+
n && I.length > 0 && /* @__PURE__ */ E(s, { children: [/* @__PURE__ */ E(u, { children: [/* @__PURE__ */ T(d, { children: r("themeSwitcher.savedThemes", "Saved themes") }), /* @__PURE__ */ T(l, { children: r("themeSwitcher.savedThemesHelp", "Apply, rename, or remove your custom themes.") })] }), /* @__PURE__ */ T(c, { children: /* @__PURE__ */ T("ul", {
|
|
246
259
|
className: "flex flex-col divide-y divide-border-subtle",
|
|
247
|
-
children:
|
|
248
|
-
let n =
|
|
249
|
-
return /* @__PURE__ */
|
|
260
|
+
children: I.map((t) => {
|
|
261
|
+
let n = a === "custom" && L === t.id;
|
|
262
|
+
return /* @__PURE__ */ E("li", {
|
|
250
263
|
className: "flex flex-wrap items-center gap-3 py-3 first:pt-0 last:pb-0",
|
|
251
264
|
children: [
|
|
252
|
-
/* @__PURE__ */
|
|
265
|
+
/* @__PURE__ */ T("span", {
|
|
253
266
|
className: "size-6 rounded-full border border-border-seam",
|
|
254
267
|
style: { backgroundColor: t.accent },
|
|
255
268
|
"aria-hidden": "true"
|
|
256
269
|
}),
|
|
257
|
-
|
|
270
|
+
X === t.id ? /* @__PURE__ */ T(ee, {
|
|
258
271
|
autoFocus: !0,
|
|
259
|
-
value:
|
|
260
|
-
"aria-label": "Theme name",
|
|
261
|
-
onChange: (e) =>
|
|
262
|
-
onBlur:
|
|
272
|
+
value: Q,
|
|
273
|
+
"aria-label": r("themeSwitcher.themeName", "Theme name"),
|
|
274
|
+
onChange: (e) => be(e.target.value),
|
|
275
|
+
onBlur: we,
|
|
263
276
|
onKeyDown: (e) => {
|
|
264
|
-
e.key === "Enter" &&
|
|
277
|
+
e.key === "Enter" && we(), e.key === "Escape" && Z(null);
|
|
265
278
|
},
|
|
266
279
|
className: "h-8 w-44"
|
|
267
|
-
}) : /* @__PURE__ */
|
|
280
|
+
}) : /* @__PURE__ */ E("span", {
|
|
268
281
|
className: "flex flex-1 items-center gap-2 text-sm text-text-primary",
|
|
269
|
-
children: [t.name, n && /* @__PURE__ */
|
|
282
|
+
children: [t.name, n && /* @__PURE__ */ E(o, {
|
|
270
283
|
variant: "success",
|
|
271
284
|
className: "gap-1",
|
|
272
|
-
children: [/* @__PURE__ */
|
|
285
|
+
children: [/* @__PURE__ */ T(x, {
|
|
273
286
|
className: "size-3",
|
|
274
287
|
"aria-hidden": "true"
|
|
275
|
-
}), "Active"]
|
|
288
|
+
}), r("common.status.active", "Active")]
|
|
276
289
|
})]
|
|
277
290
|
}),
|
|
278
|
-
/* @__PURE__ */
|
|
291
|
+
/* @__PURE__ */ E("div", {
|
|
279
292
|
className: "ml-auto flex items-center gap-1",
|
|
280
293
|
children: [
|
|
281
|
-
/* @__PURE__ */
|
|
294
|
+
/* @__PURE__ */ T(e, {
|
|
282
295
|
type: "button",
|
|
283
296
|
variant: "outline",
|
|
284
297
|
size: "sm",
|
|
285
298
|
disabled: n,
|
|
286
|
-
onClick: () =>
|
|
287
|
-
children: "Apply"
|
|
299
|
+
onClick: () => B(t.id),
|
|
300
|
+
children: r("themeSwitcher.apply", "Apply")
|
|
288
301
|
}),
|
|
289
|
-
/* @__PURE__ */
|
|
302
|
+
/* @__PURE__ */ T(e, {
|
|
290
303
|
type: "button",
|
|
291
304
|
variant: "ghost",
|
|
292
305
|
size: "icon-sm",
|
|
293
|
-
"aria-label":
|
|
294
|
-
onClick: () =>
|
|
295
|
-
children: /* @__PURE__ */
|
|
306
|
+
"aria-label": r("themeSwitcher.renameNamed", "Rename {{name}}", { name: t.name }),
|
|
307
|
+
onClick: () => Ce(t),
|
|
308
|
+
children: /* @__PURE__ */ T(re, {
|
|
296
309
|
className: "size-4",
|
|
297
310
|
"aria-hidden": "true"
|
|
298
311
|
})
|
|
299
312
|
}),
|
|
300
|
-
/* @__PURE__ */
|
|
313
|
+
/* @__PURE__ */ T(e, {
|
|
301
314
|
type: "button",
|
|
302
315
|
variant: "ghost",
|
|
303
316
|
size: "icon-sm",
|
|
304
|
-
"aria-label":
|
|
305
|
-
onClick: () =>
|
|
306
|
-
children: /* @__PURE__ */
|
|
317
|
+
"aria-label": r("themeSwitcher.deleteNamed", "Delete {{name}}", { name: t.name }),
|
|
318
|
+
onClick: () => fe(t.id),
|
|
319
|
+
children: /* @__PURE__ */ T(ie, {
|
|
307
320
|
className: "size-4 text-action-danger-bg",
|
|
308
321
|
"aria-hidden": "true"
|
|
309
322
|
})
|
|
@@ -314,89 +327,89 @@ function j({ className: t, showCustomThemes: n = !0 }) {
|
|
|
314
327
|
}, t.id);
|
|
315
328
|
})
|
|
316
329
|
}) })] }),
|
|
317
|
-
/* @__PURE__ */
|
|
330
|
+
/* @__PURE__ */ E(s, { children: [/* @__PURE__ */ E(u, { children: [/* @__PURE__ */ T(d, { children: r("common.markdownEditor.preview", "Preview") }), /* @__PURE__ */ T(l, { children: r("themeSwitcher.previewHelp", "A scoped preview of the candidate theme — applies only here until you select it.") })] }), /* @__PURE__ */ T(c, { children: /* @__PURE__ */ E("div", {
|
|
318
331
|
"data-theme": $.theme,
|
|
319
332
|
"data-density": $.density,
|
|
320
333
|
"data-typography": $.typography,
|
|
321
334
|
"data-glass": $.glass,
|
|
322
|
-
className:
|
|
335
|
+
className: g("flex flex-col gap-4 rounded-card border border-border-seam p-4", A(p.find((e) => e.value === $.theme)?.family ?? "light")),
|
|
323
336
|
children: [
|
|
324
|
-
/* @__PURE__ */
|
|
337
|
+
/* @__PURE__ */ E("div", {
|
|
325
338
|
className: "flex flex-wrap items-center gap-2",
|
|
326
339
|
children: [
|
|
327
|
-
/* @__PURE__ */
|
|
340
|
+
/* @__PURE__ */ T(e, {
|
|
328
341
|
type: "button",
|
|
329
342
|
size: "sm",
|
|
330
|
-
children: "Primary"
|
|
343
|
+
children: r("notifications.actionStyle.primary", "Primary")
|
|
331
344
|
}),
|
|
332
|
-
/* @__PURE__ */
|
|
345
|
+
/* @__PURE__ */ T(e, {
|
|
333
346
|
type: "button",
|
|
334
347
|
variant: "secondary",
|
|
335
348
|
size: "sm",
|
|
336
|
-
children: "Secondary"
|
|
349
|
+
children: r("notifications.actionStyle.secondary", "Secondary")
|
|
337
350
|
}),
|
|
338
|
-
/* @__PURE__ */
|
|
351
|
+
/* @__PURE__ */ T(e, {
|
|
339
352
|
type: "button",
|
|
340
353
|
variant: "outline",
|
|
341
354
|
size: "sm",
|
|
342
|
-
children: "Outline"
|
|
355
|
+
children: r("themeSwitcher.outline", "Outline")
|
|
343
356
|
}),
|
|
344
|
-
/* @__PURE__ */
|
|
357
|
+
/* @__PURE__ */ T(e, {
|
|
345
358
|
type: "button",
|
|
346
359
|
variant: "ghost",
|
|
347
360
|
size: "sm",
|
|
348
|
-
children: "Ghost"
|
|
361
|
+
children: r("themeSwitcher.ghost", "Ghost")
|
|
349
362
|
})
|
|
350
363
|
]
|
|
351
364
|
}),
|
|
352
|
-
/* @__PURE__ */
|
|
365
|
+
/* @__PURE__ */ E("div", {
|
|
353
366
|
className: "rounded-card border border-border-seam bg-[var(--color-surface-glass)] p-4 shadow-[var(--shadow-pop)] backdrop-blur-[var(--blur-glass)]",
|
|
354
367
|
children: [
|
|
355
|
-
/* @__PURE__ */
|
|
368
|
+
/* @__PURE__ */ T("p", {
|
|
356
369
|
className: "text-xs font-medium text-text-secondary",
|
|
357
|
-
children: "Active sessions"
|
|
370
|
+
children: r("themeSwitcher.activeSessions", "Active sessions")
|
|
358
371
|
}),
|
|
359
|
-
/* @__PURE__ */
|
|
372
|
+
/* @__PURE__ */ T("p", {
|
|
360
373
|
className: "mt-1 text-2xl font-semibold text-text-primary",
|
|
361
374
|
children: "1,284"
|
|
362
375
|
}),
|
|
363
|
-
/* @__PURE__ */
|
|
376
|
+
/* @__PURE__ */ T("p", {
|
|
364
377
|
className: "mt-1 text-xs text-status-success-text",
|
|
365
|
-
children: "+12.4% this week"
|
|
378
|
+
children: r("themeSwitcher.previewTrend", "+12.4% this week")
|
|
366
379
|
})
|
|
367
380
|
]
|
|
368
381
|
}),
|
|
369
|
-
/* @__PURE__ */
|
|
382
|
+
/* @__PURE__ */ E("div", {
|
|
370
383
|
className: "flex flex-wrap items-center gap-2",
|
|
371
384
|
children: [
|
|
372
|
-
/* @__PURE__ */
|
|
373
|
-
/* @__PURE__ */
|
|
385
|
+
/* @__PURE__ */ T(o, { children: r("themeSwitcher.default", "Default") }),
|
|
386
|
+
/* @__PURE__ */ T(o, {
|
|
374
387
|
variant: "secondary",
|
|
375
|
-
children: "Secondary"
|
|
388
|
+
children: r("notifications.actionStyle.secondary", "Secondary")
|
|
376
389
|
}),
|
|
377
|
-
/* @__PURE__ */
|
|
390
|
+
/* @__PURE__ */ T(o, {
|
|
378
391
|
variant: "success",
|
|
379
|
-
children: "Success"
|
|
392
|
+
children: r("common.success", "Success")
|
|
380
393
|
}),
|
|
381
|
-
/* @__PURE__ */
|
|
394
|
+
/* @__PURE__ */ T(o, {
|
|
382
395
|
variant: "warning",
|
|
383
|
-
children: "Warning"
|
|
396
|
+
children: r("themeSwitcher.warning", "Warning")
|
|
384
397
|
}),
|
|
385
|
-
/* @__PURE__ */
|
|
398
|
+
/* @__PURE__ */ T(o, {
|
|
386
399
|
variant: "destructive",
|
|
387
|
-
children: "Error"
|
|
400
|
+
children: r("common.errorPage.title", "Error")
|
|
388
401
|
})
|
|
389
402
|
]
|
|
390
403
|
}),
|
|
391
|
-
/* @__PURE__ */
|
|
404
|
+
/* @__PURE__ */ T("div", {
|
|
392
405
|
className: "flex flex-wrap items-center gap-4",
|
|
393
|
-
children:
|
|
406
|
+
children: D.map((e) => /* @__PURE__ */ E("span", {
|
|
394
407
|
className: "flex items-center gap-1.5 text-xs text-text-secondary",
|
|
395
|
-
children: [/* @__PURE__ */
|
|
408
|
+
children: [/* @__PURE__ */ T("span", {
|
|
396
409
|
className: "size-3 rounded-full",
|
|
397
410
|
style: { backgroundColor: `var(${e.varName})` },
|
|
398
411
|
"aria-hidden": "true"
|
|
399
|
-
}), e.name]
|
|
412
|
+
}), i.accents[e.name] ?? e.name]
|
|
400
413
|
}, e.name))
|
|
401
414
|
})
|
|
402
415
|
]
|
|
@@ -405,26 +418,26 @@ function j({ className: t, showCustomThemes: n = !0 }) {
|
|
|
405
418
|
});
|
|
406
419
|
}
|
|
407
420
|
function M({ label: e, family: t, accent: n, active: r, onSelect: i }) {
|
|
408
|
-
return /* @__PURE__ */
|
|
421
|
+
return /* @__PURE__ */ E("button", {
|
|
409
422
|
type: "button",
|
|
410
423
|
role: "radio",
|
|
411
424
|
"aria-checked": r,
|
|
412
425
|
onClick: i,
|
|
413
|
-
className:
|
|
414
|
-
children: [/* @__PURE__ */
|
|
415
|
-
className:
|
|
426
|
+
className: g("group relative flex flex-col gap-2 rounded-card border p-2 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", r ? "border-border-focus bg-[var(--color-accent-soft)]" : "border-border-default bg-bg-surface hover:border-border-strong hover:bg-bg-sunken"),
|
|
427
|
+
children: [/* @__PURE__ */ T("span", {
|
|
428
|
+
className: g("relative flex h-12 w-full items-end overflow-hidden rounded-button border border-border-seam", A(t)),
|
|
416
429
|
"aria-hidden": "true",
|
|
417
|
-
children: /* @__PURE__ */
|
|
430
|
+
children: /* @__PURE__ */ T("span", {
|
|
418
431
|
className: "m-1.5 size-3 rounded-full shadow-elevation-1",
|
|
419
432
|
style: n ? { backgroundColor: n } : void 0,
|
|
420
|
-
children: !n && /* @__PURE__ */
|
|
433
|
+
children: !n && /* @__PURE__ */ T("span", { className: "block size-3 rounded-full bg-action-primary-bg" })
|
|
421
434
|
})
|
|
422
|
-
}), /* @__PURE__ */
|
|
435
|
+
}), /* @__PURE__ */ E("span", {
|
|
423
436
|
className: "flex items-center justify-between gap-1",
|
|
424
|
-
children: [/* @__PURE__ */
|
|
437
|
+
children: [/* @__PURE__ */ T("span", {
|
|
425
438
|
className: "truncate text-xs font-medium text-text-primary",
|
|
426
439
|
children: e
|
|
427
|
-
}), r && /* @__PURE__ */
|
|
440
|
+
}), r && /* @__PURE__ */ T(x, {
|
|
428
441
|
className: "size-3.5 shrink-0 text-action-primary-bg",
|
|
429
442
|
"aria-hidden": "true"
|
|
430
443
|
})]
|
|
@@ -432,168 +445,177 @@ function M({ label: e, family: t, accent: n, active: r, onSelect: i }) {
|
|
|
432
445
|
});
|
|
433
446
|
}
|
|
434
447
|
function N({ title: e, description: t, value: n, options: r, onChange: i }) {
|
|
435
|
-
return /* @__PURE__ */
|
|
448
|
+
return /* @__PURE__ */ E(s, { children: [/* @__PURE__ */ E(u, { children: [/* @__PURE__ */ T(d, { children: e }), /* @__PURE__ */ T(l, { children: t })] }), /* @__PURE__ */ T(c, { children: /* @__PURE__ */ T("div", {
|
|
436
449
|
role: "radiogroup",
|
|
437
450
|
"aria-label": e,
|
|
438
451
|
className: "inline-flex w-full flex-col gap-1 rounded-button border border-border-default bg-bg-sunken p-1 sm:w-auto sm:flex-row",
|
|
439
452
|
children: r.map((e) => {
|
|
440
453
|
let t = n === e.value;
|
|
441
|
-
return /* @__PURE__ */
|
|
454
|
+
return /* @__PURE__ */ T("button", {
|
|
442
455
|
type: "button",
|
|
443
456
|
role: "radio",
|
|
444
457
|
"aria-checked": t,
|
|
445
458
|
onClick: () => i(e.value),
|
|
446
|
-
className:
|
|
459
|
+
className: g("flex-1 rounded-button px-4 py-1.5 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", t ? "bg-bg-surface text-text-primary shadow-elevation-1" : "text-text-secondary hover:text-text-primary"),
|
|
447
460
|
children: e.label
|
|
448
461
|
}, e.value);
|
|
449
462
|
})
|
|
450
463
|
}) })] });
|
|
451
464
|
}
|
|
452
|
-
function
|
|
453
|
-
let A =
|
|
454
|
-
return /* @__PURE__ */
|
|
465
|
+
function P({ name: t, base: n, accent: r, density: i, typography: a, glass: o, reduceMotion: p, onName: m, onBase: _, onAccent: y, onDensity: b, onTypography: S, onGlass: re, onReduceMotion: C, onSave: ie, onCancel: D }) {
|
|
466
|
+
let A = te(), j = ne(), M = v(), N = v(), P = v();
|
|
467
|
+
return /* @__PURE__ */ E(s, { children: [/* @__PURE__ */ E(u, {
|
|
455
468
|
className: "flex-row items-start justify-between gap-4 space-y-0",
|
|
456
|
-
children: [/* @__PURE__ */
|
|
469
|
+
children: [/* @__PURE__ */ E("div", {
|
|
457
470
|
className: "flex flex-col gap-1.5",
|
|
458
|
-
children: [/* @__PURE__ */
|
|
459
|
-
}), /* @__PURE__ */
|
|
471
|
+
children: [/* @__PURE__ */ T(d, { children: A("themeSwitcher.customTheme", "Custom theme") }), /* @__PURE__ */ T(l, { children: A("themeSwitcher.editorHelp", "Design a reusable theme and save it to your library.") })]
|
|
472
|
+
}), /* @__PURE__ */ T(e, {
|
|
460
473
|
type: "button",
|
|
461
474
|
variant: "ghost",
|
|
462
475
|
size: "icon-sm",
|
|
463
|
-
"aria-label": "Close editor",
|
|
464
|
-
onClick:
|
|
465
|
-
children: /* @__PURE__ */ w
|
|
476
|
+
"aria-label": A("themeSwitcher.closeEditor", "Close editor"),
|
|
477
|
+
onClick: D,
|
|
478
|
+
children: /* @__PURE__ */ T(w, {
|
|
466
479
|
className: "size-4",
|
|
467
480
|
"aria-hidden": "true"
|
|
468
481
|
})
|
|
469
482
|
})]
|
|
470
|
-
}), /* @__PURE__ */
|
|
483
|
+
}), /* @__PURE__ */ E(c, {
|
|
471
484
|
className: "flex flex-col gap-4",
|
|
472
485
|
children: [
|
|
473
|
-
/* @__PURE__ */
|
|
486
|
+
/* @__PURE__ */ E("div", {
|
|
474
487
|
className: "flex flex-col gap-1.5",
|
|
475
|
-
children: [/* @__PURE__ */
|
|
476
|
-
htmlFor:
|
|
477
|
-
children: "Name"
|
|
478
|
-
}), /* @__PURE__ */
|
|
479
|
-
id:
|
|
488
|
+
children: [/* @__PURE__ */ T(f, {
|
|
489
|
+
htmlFor: M,
|
|
490
|
+
children: A("common.name", "Name")
|
|
491
|
+
}), /* @__PURE__ */ T(ee, {
|
|
492
|
+
id: M,
|
|
480
493
|
value: t,
|
|
481
|
-
onChange: (e) =>
|
|
482
|
-
placeholder: "My theme"
|
|
494
|
+
onChange: (e) => m(e.target.value),
|
|
495
|
+
placeholder: A("themeSwitcher.myTheme", "My theme")
|
|
483
496
|
})]
|
|
484
497
|
}),
|
|
485
|
-
/* @__PURE__ */
|
|
498
|
+
/* @__PURE__ */ E("div", {
|
|
486
499
|
className: "flex flex-col gap-1.5",
|
|
487
|
-
children: [/* @__PURE__ */
|
|
500
|
+
children: [/* @__PURE__ */ T("span", {
|
|
488
501
|
className: "text-sm font-medium text-text-primary",
|
|
489
|
-
id: `${
|
|
490
|
-
children: "Base"
|
|
491
|
-
}), /* @__PURE__ */
|
|
502
|
+
id: `${M}-base`,
|
|
503
|
+
children: A("themeSwitcher.base", "Base")
|
|
504
|
+
}), /* @__PURE__ */ T("div", {
|
|
492
505
|
role: "radiogroup",
|
|
493
|
-
"aria-labelledby": `${
|
|
506
|
+
"aria-labelledby": `${M}-base`,
|
|
494
507
|
className: "inline-flex w-full gap-1 rounded-button border border-border-default bg-bg-sunken p-1 sm:w-auto",
|
|
495
508
|
children: ["light", "dark"].map((e) => {
|
|
496
509
|
let t = n === e;
|
|
497
|
-
return /* @__PURE__ */
|
|
510
|
+
return /* @__PURE__ */ T("button", {
|
|
498
511
|
type: "button",
|
|
499
512
|
role: "radio",
|
|
500
513
|
"aria-checked": t,
|
|
501
|
-
onClick: () =>
|
|
502
|
-
className:
|
|
503
|
-
children: e
|
|
514
|
+
onClick: () => _(e),
|
|
515
|
+
className: g("flex-1 rounded-button px-4 py-1.5 text-sm font-medium capitalize transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", t ? "bg-bg-surface text-text-primary shadow-elevation-1" : "text-text-secondary hover:text-text-primary"),
|
|
516
|
+
children: e === "light" ? A("themeSwitcher.lightBase", "light") : A("themeSwitcher.darkBase", "dark")
|
|
504
517
|
}, e);
|
|
505
518
|
})
|
|
506
519
|
})]
|
|
507
520
|
}),
|
|
508
|
-
/* @__PURE__ */
|
|
521
|
+
/* @__PURE__ */ E("div", {
|
|
509
522
|
className: "flex flex-col gap-1.5",
|
|
510
|
-
children: [/* @__PURE__ */
|
|
511
|
-
htmlFor:
|
|
512
|
-
children: "Accent"
|
|
513
|
-
}), /* @__PURE__ */
|
|
523
|
+
children: [/* @__PURE__ */ T(f, {
|
|
524
|
+
htmlFor: N,
|
|
525
|
+
children: A("themeSwitcher.accent", "Accent")
|
|
526
|
+
}), /* @__PURE__ */ E("div", {
|
|
514
527
|
className: "flex items-center gap-3",
|
|
515
|
-
children: [/* @__PURE__ */
|
|
516
|
-
id:
|
|
528
|
+
children: [/* @__PURE__ */ T("input", {
|
|
529
|
+
id: N,
|
|
517
530
|
type: "color",
|
|
518
531
|
value: r,
|
|
519
|
-
onChange: (e) =>
|
|
520
|
-
"aria-label": "Accent color",
|
|
532
|
+
onChange: (e) => y(e.target.value),
|
|
533
|
+
"aria-label": A("themeSwitcher.accentColor", "Accent color"),
|
|
521
534
|
className: "size-10 cursor-pointer rounded-input border border-border-default bg-bg-surface p-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]"
|
|
522
|
-
}), /* @__PURE__ */
|
|
535
|
+
}), /* @__PURE__ */ T("span", {
|
|
523
536
|
className: "font-mono text-sm uppercase text-text-secondary",
|
|
524
537
|
children: r
|
|
525
538
|
})]
|
|
526
539
|
})]
|
|
527
540
|
}),
|
|
528
|
-
/* @__PURE__ */
|
|
541
|
+
/* @__PURE__ */ E("div", {
|
|
529
542
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
|
|
530
543
|
children: [
|
|
531
|
-
/* @__PURE__ */
|
|
532
|
-
label: "Density",
|
|
544
|
+
/* @__PURE__ */ T(F, {
|
|
545
|
+
label: A("themeSwitcher.density", "Density"),
|
|
533
546
|
value: i,
|
|
534
|
-
options:
|
|
535
|
-
|
|
547
|
+
options: O.map((e) => ({
|
|
548
|
+
...e,
|
|
549
|
+
label: j.density[e.value]
|
|
550
|
+
})),
|
|
551
|
+
onChange: (e) => b(e)
|
|
536
552
|
}),
|
|
537
|
-
/* @__PURE__ */
|
|
538
|
-
label: "Typography",
|
|
553
|
+
/* @__PURE__ */ T(F, {
|
|
554
|
+
label: A("themeSwitcher.typography", "Typography"),
|
|
539
555
|
value: a,
|
|
540
|
-
options:
|
|
541
|
-
|
|
556
|
+
options: k.map((e) => ({
|
|
557
|
+
...e,
|
|
558
|
+
label: j.typography[e.value]
|
|
559
|
+
})),
|
|
560
|
+
onChange: (e) => S(e)
|
|
542
561
|
}),
|
|
543
|
-
/* @__PURE__ */
|
|
544
|
-
label: "Glass",
|
|
562
|
+
/* @__PURE__ */ T(F, {
|
|
563
|
+
label: A("themeSwitcher.glass", "Glass"),
|
|
545
564
|
value: o,
|
|
546
|
-
options:
|
|
547
|
-
|
|
565
|
+
options: ae.map((e) => ({
|
|
566
|
+
...e,
|
|
567
|
+
label: j.glass[e.value]
|
|
568
|
+
})),
|
|
569
|
+
onChange: (e) => re(e)
|
|
548
570
|
})
|
|
549
571
|
]
|
|
550
572
|
}),
|
|
551
|
-
/* @__PURE__ */
|
|
573
|
+
/* @__PURE__ */ E("div", {
|
|
552
574
|
className: "flex items-center justify-between gap-4",
|
|
553
|
-
children: [/* @__PURE__ */
|
|
554
|
-
htmlFor:
|
|
575
|
+
children: [/* @__PURE__ */ T(f, {
|
|
576
|
+
htmlFor: P,
|
|
555
577
|
className: "text-sm font-medium text-text-primary",
|
|
556
|
-
children: "Reduce motion"
|
|
557
|
-
}), /* @__PURE__ */
|
|
558
|
-
id:
|
|
559
|
-
checked:
|
|
560
|
-
onCheckedChange:
|
|
561
|
-
"aria-label": "Reduce motion"
|
|
578
|
+
children: A("themeSwitcher.reduceMotion", "Reduce motion")
|
|
579
|
+
}), /* @__PURE__ */ T(h, {
|
|
580
|
+
id: P,
|
|
581
|
+
checked: p,
|
|
582
|
+
onCheckedChange: C,
|
|
583
|
+
"aria-label": A("themeSwitcher.reduceMotion", "Reduce motion")
|
|
562
584
|
})]
|
|
563
585
|
}),
|
|
564
|
-
/* @__PURE__ */
|
|
586
|
+
/* @__PURE__ */ E("div", {
|
|
565
587
|
className: "flex items-center justify-end gap-2 pt-2",
|
|
566
|
-
children: [/* @__PURE__ */
|
|
588
|
+
children: [/* @__PURE__ */ T(e, {
|
|
567
589
|
type: "button",
|
|
568
590
|
variant: "ghost",
|
|
569
|
-
onClick:
|
|
570
|
-
children: "Cancel"
|
|
571
|
-
}), /* @__PURE__ */
|
|
591
|
+
onClick: D,
|
|
592
|
+
children: A("common.actions.cancel", "Cancel")
|
|
593
|
+
}), /* @__PURE__ */ E(e, {
|
|
572
594
|
type: "button",
|
|
573
|
-
onClick:
|
|
574
|
-
children: [/* @__PURE__ */
|
|
595
|
+
onClick: ie,
|
|
596
|
+
children: [/* @__PURE__ */ T(x, {
|
|
575
597
|
className: "size-4",
|
|
576
598
|
"aria-hidden": "true"
|
|
577
|
-
}), "Save"]
|
|
599
|
+
}), A("common.save", "Save")]
|
|
578
600
|
})]
|
|
579
601
|
})
|
|
580
602
|
]
|
|
581
603
|
})] });
|
|
582
604
|
}
|
|
583
|
-
function
|
|
584
|
-
let l =
|
|
585
|
-
return /* @__PURE__ */
|
|
605
|
+
function F({ label: e, value: o, options: s, onChange: c }) {
|
|
606
|
+
let l = v();
|
|
607
|
+
return /* @__PURE__ */ E("div", {
|
|
586
608
|
className: "flex flex-col gap-1.5",
|
|
587
|
-
children: [/* @__PURE__ */
|
|
609
|
+
children: [/* @__PURE__ */ T(f, {
|
|
588
610
|
htmlFor: l,
|
|
589
611
|
children: e
|
|
590
|
-
}), /* @__PURE__ */
|
|
612
|
+
}), /* @__PURE__ */ E(t, {
|
|
591
613
|
value: o,
|
|
592
614
|
onValueChange: c,
|
|
593
|
-
children: [/* @__PURE__ */
|
|
615
|
+
children: [/* @__PURE__ */ T(i, {
|
|
594
616
|
id: l,
|
|
595
|
-
children: /* @__PURE__ */
|
|
596
|
-
}), /* @__PURE__ */
|
|
617
|
+
children: /* @__PURE__ */ T(a, {})
|
|
618
|
+
}), /* @__PURE__ */ T(n, { children: s.map((e) => /* @__PURE__ */ T(r, {
|
|
597
619
|
value: e.value,
|
|
598
620
|
children: e.label
|
|
599
621
|
}, e.value)) })]
|