lucent-ui 0.9.0 → 0.9.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/index.cjs +36 -36
- package/dist/index.js +1092 -1087
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsxs as f, jsx as n, Fragment as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
const
|
|
1
|
+
import { jsxs as f, jsx as n, Fragment as Y } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as ne, useState as z, useRef as N, useEffect as O, useCallback as ee, useContext as We, createContext as He, useLayoutEffect as be, useId as Ie } from "react";
|
|
3
|
+
const et = {
|
|
4
4
|
primary: {
|
|
5
5
|
background: "var(--lucent-accent-default)",
|
|
6
6
|
color: "var(--lucent-text-on-accent)",
|
|
@@ -21,17 +21,17 @@ const Je = {
|
|
|
21
21
|
color: "#ffffff",
|
|
22
22
|
border: "1px solid var(--lucent-danger-default)"
|
|
23
23
|
}
|
|
24
|
-
},
|
|
24
|
+
}, tt = {
|
|
25
25
|
sm: { height: "32px", padding: "0 var(--lucent-space-3)", fontSize: "var(--lucent-font-size-sm)" },
|
|
26
26
|
md: { height: "38px", padding: "0 var(--lucent-space-4)", fontSize: "var(--lucent-font-size-md)" },
|
|
27
27
|
lg: { height: "46px", padding: "0 var(--lucent-space-5)", fontSize: "var(--lucent-font-size-lg)" }
|
|
28
|
-
},
|
|
29
|
-
({ variant: e = "primary", size: t = "md", loading: a = !1, fullWidth: o = !1, spread: r = !1, leftIcon: i, rightIcon: l, chevron: c = !1, disableHoverStyles: s = !1, bordered:
|
|
28
|
+
}, Ve = ne(
|
|
29
|
+
({ variant: e = "primary", size: t = "md", loading: a = !1, fullWidth: o = !1, spread: r = !1, leftIcon: i, rightIcon: l, chevron: c = !1, disableHoverStyles: s = !1, bordered: u = !0, children: m, disabled: d, style: g, ...p }, x) => {
|
|
30
30
|
const b = d ?? a;
|
|
31
31
|
return /* @__PURE__ */ f(
|
|
32
32
|
"button",
|
|
33
33
|
{
|
|
34
|
-
ref:
|
|
34
|
+
ref: x,
|
|
35
35
|
disabled: b,
|
|
36
36
|
"aria-busy": a,
|
|
37
37
|
style: {
|
|
@@ -51,8 +51,8 @@ const Je = {
|
|
|
51
51
|
boxSizing: "border-box",
|
|
52
52
|
outline: "none",
|
|
53
53
|
margin: 0,
|
|
54
|
-
...
|
|
55
|
-
...
|
|
54
|
+
...tt[t],
|
|
55
|
+
...et[e],
|
|
56
56
|
...g,
|
|
57
57
|
...b && {
|
|
58
58
|
background: "var(--lucent-surface-secondary)",
|
|
@@ -60,62 +60,62 @@ const Je = {
|
|
|
60
60
|
borderColor: "transparent"
|
|
61
61
|
},
|
|
62
62
|
// hide border entirely when bordered prop is false
|
|
63
|
-
...
|
|
63
|
+
...u === !1 && { border: "none" }
|
|
64
64
|
},
|
|
65
65
|
onMouseEnter: (y) => {
|
|
66
66
|
var h;
|
|
67
|
-
!b && !s &&
|
|
67
|
+
!b && !s && nt(y.currentTarget, e, u), (h = p.onMouseEnter) == null || h.call(p, y);
|
|
68
68
|
},
|
|
69
69
|
onMouseLeave: (y) => {
|
|
70
70
|
var h;
|
|
71
|
-
!b && !s &&
|
|
71
|
+
!b && !s && at(y.currentTarget, e, u), (h = p.onMouseLeave) == null || h.call(p, y);
|
|
72
72
|
},
|
|
73
73
|
onMouseDown: (y) => {
|
|
74
74
|
var h;
|
|
75
|
-
b || (y.currentTarget.style.transform = "scale(0.95)"), (h =
|
|
75
|
+
b || (y.currentTarget.style.transform = "scale(0.95)"), (h = p.onMouseDown) == null || h.call(p, y);
|
|
76
76
|
},
|
|
77
77
|
onMouseUp: (y) => {
|
|
78
78
|
var h;
|
|
79
|
-
y.currentTarget.style.transform = "", (h =
|
|
79
|
+
y.currentTarget.style.transform = "", (h = p.onMouseUp) == null || h.call(p, y);
|
|
80
80
|
},
|
|
81
81
|
onFocus: (y) => {
|
|
82
82
|
var h;
|
|
83
|
-
y.currentTarget.style.boxShadow = "0 0 0 3px var(--lucent-accent-subtle)", (h =
|
|
83
|
+
y.currentTarget.style.boxShadow = "0 0 0 3px var(--lucent-accent-subtle)", (h = p.onFocus) == null || h.call(p, y);
|
|
84
84
|
},
|
|
85
85
|
onBlur: (y) => {
|
|
86
86
|
var h;
|
|
87
|
-
y.currentTarget.style.boxShadow = "", (h =
|
|
87
|
+
y.currentTarget.style.boxShadow = "", (h = p.onBlur) == null || h.call(p, y);
|
|
88
88
|
},
|
|
89
|
-
...
|
|
89
|
+
...p,
|
|
90
90
|
children: [
|
|
91
91
|
i,
|
|
92
|
-
a ? /* @__PURE__ */ n(
|
|
92
|
+
a ? /* @__PURE__ */ n(it, {}) : m,
|
|
93
93
|
!a && l,
|
|
94
|
-
!a && c && /* @__PURE__ */ n(
|
|
94
|
+
!a && c && /* @__PURE__ */ n(ot, { size: t })
|
|
95
95
|
]
|
|
96
96
|
}
|
|
97
97
|
);
|
|
98
98
|
}
|
|
99
99
|
);
|
|
100
|
-
|
|
101
|
-
function
|
|
100
|
+
Ve.displayName = "Button";
|
|
101
|
+
function nt(e, t, a) {
|
|
102
102
|
t === "primary" ? (e.style.background = "var(--lucent-accent-hover)", a !== !1 && (e.style.borderColor = "var(--lucent-accent-border)")) : t === "secondary" || t === "ghost" ? e.style.background = "var(--lucent-surface-secondary)" : t === "danger" && (e.style.background = "var(--lucent-danger-hover)", a !== !1 && (e.style.borderColor = "var(--lucent-danger-hover)"));
|
|
103
103
|
}
|
|
104
|
-
function
|
|
104
|
+
function at(e, t, a) {
|
|
105
105
|
t === "primary" ? (e.style.background = "var(--lucent-accent-default)", a !== !1 && (e.style.borderColor = "var(--lucent-accent-border)")) : t === "secondary" ? e.style.background = "var(--lucent-surface)" : t === "ghost" ? e.style.background = "transparent" : t === "danger" && (e.style.background = "var(--lucent-danger-default)", a !== !1 && (e.style.borderColor = "var(--lucent-danger-default)"));
|
|
106
106
|
}
|
|
107
|
-
const
|
|
108
|
-
function
|
|
109
|
-
const t =
|
|
107
|
+
const rt = { sm: 12, md: 14, lg: 16 };
|
|
108
|
+
function ot({ size: e }) {
|
|
109
|
+
const t = rt[e];
|
|
110
110
|
return /* @__PURE__ */ n("svg", { width: t, height: t, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, style: { flexShrink: 0, marginLeft: -2 }, children: /* @__PURE__ */ n("polyline", { points: "6 9 12 15 18 9" }) });
|
|
111
111
|
}
|
|
112
|
-
function
|
|
112
|
+
function it() {
|
|
113
113
|
return /* @__PURE__ */ f("svg", { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", "aria-hidden": !0, style: { animation: "lucent-spin 0.7s linear infinite", flexShrink: 0 }, children: [
|
|
114
114
|
/* @__PURE__ */ n("style", { children: "@keyframes lucent-spin { to { transform: rotate(360deg); } }" }),
|
|
115
115
|
/* @__PURE__ */ n("path", { d: "M12 2a10 10 0 0 1 10 10" })
|
|
116
116
|
] });
|
|
117
117
|
}
|
|
118
|
-
const
|
|
118
|
+
const ia = {
|
|
119
119
|
id: "button",
|
|
120
120
|
name: "Button",
|
|
121
121
|
tier: "atom",
|
|
@@ -237,19 +237,19 @@ const aa = {
|
|
|
237
237
|
ariaAttributes: ["aria-disabled", "aria-busy"],
|
|
238
238
|
keyboardInteractions: ["Enter — activates the button", "Space — activates the button"]
|
|
239
239
|
}
|
|
240
|
-
},
|
|
240
|
+
}, lt = { sm: "32px", md: "40px", lg: "46px" }, ze = {
|
|
241
241
|
sm: "var(--lucent-font-size-sm)",
|
|
242
242
|
md: "var(--lucent-font-size-md)",
|
|
243
243
|
lg: "var(--lucent-font-size-md)"
|
|
244
|
-
},
|
|
244
|
+
}, te = {
|
|
245
245
|
sm: "var(--lucent-space-2)",
|
|
246
246
|
md: "var(--lucent-space-3)",
|
|
247
247
|
lg: "var(--lucent-space-3)"
|
|
248
|
-
},
|
|
248
|
+
}, Ae = {
|
|
249
249
|
sm: "28px",
|
|
250
250
|
md: "var(--lucent-space-10)",
|
|
251
251
|
lg: "var(--lucent-space-10)"
|
|
252
|
-
},
|
|
252
|
+
}, Q = ne(
|
|
253
253
|
({
|
|
254
254
|
size: e = "md",
|
|
255
255
|
label: t,
|
|
@@ -260,20 +260,20 @@ const aa = {
|
|
|
260
260
|
prefix: l,
|
|
261
261
|
suffix: c,
|
|
262
262
|
id: s,
|
|
263
|
-
style:
|
|
263
|
+
style: u,
|
|
264
264
|
...m
|
|
265
265
|
}, d) => {
|
|
266
|
-
const g = s ?? `lucent-input-${Math.random().toString(36).slice(2, 7)}`,
|
|
266
|
+
const g = s ?? `lucent-input-${Math.random().toString(36).slice(2, 7)}`, p = !!o, x = !!m.disabled, [b, y] = z(!1), [h, v] = z(!1), C = x ? "transparent" : p ? "var(--lucent-danger-default)" : b ? "var(--lucent-focus-ring)" : h ? "var(--lucent-border-strong)" : "var(--lucent-border-default)", S = b ? `0 0 0 3px ${p ? "var(--lucent-danger-subtle)" : "var(--lucent-accent-subtle)"}` : "none", T = {
|
|
267
267
|
display: "flex",
|
|
268
268
|
alignItems: "center",
|
|
269
|
-
color:
|
|
270
|
-
fontSize:
|
|
269
|
+
color: x ? "var(--lucent-text-disabled)" : "var(--lucent-text-secondary)",
|
|
270
|
+
fontSize: ze[e],
|
|
271
271
|
fontFamily: "var(--lucent-font-family-base)",
|
|
272
272
|
whiteSpace: "nowrap",
|
|
273
273
|
userSelect: "none",
|
|
274
274
|
flexShrink: 0
|
|
275
|
-
}, E = { ...
|
|
276
|
-
return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-1)", width: "100%", ...
|
|
275
|
+
}, E = { ...T, paddingLeft: te[e], paddingRight: "2px" }, B = { ...T, paddingLeft: "2px", paddingRight: te[e] };
|
|
276
|
+
return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-1)", width: "100%", ...u }, children: [
|
|
277
277
|
t && /* @__PURE__ */ n(
|
|
278
278
|
"label",
|
|
279
279
|
{
|
|
@@ -281,7 +281,7 @@ const aa = {
|
|
|
281
281
|
style: {
|
|
282
282
|
fontSize: "var(--lucent-font-size-sm)",
|
|
283
283
|
fontWeight: "var(--lucent-font-weight-medium)",
|
|
284
|
-
color:
|
|
284
|
+
color: x ? "var(--lucent-text-disabled)" : "var(--lucent-text-primary)",
|
|
285
285
|
fontFamily: "var(--lucent-font-family-base)"
|
|
286
286
|
},
|
|
287
287
|
children: t
|
|
@@ -293,20 +293,20 @@ const aa = {
|
|
|
293
293
|
style: {
|
|
294
294
|
display: "flex",
|
|
295
295
|
alignItems: "stretch",
|
|
296
|
-
height:
|
|
297
|
-
border: `1px solid ${
|
|
296
|
+
height: lt[e],
|
|
297
|
+
border: `1px solid ${C}`,
|
|
298
298
|
borderRadius: "var(--lucent-radius-lg)",
|
|
299
|
-
boxShadow:
|
|
300
|
-
background:
|
|
299
|
+
boxShadow: S,
|
|
300
|
+
background: x ? "var(--lucent-surface-secondary)" : "var(--lucent-surface)",
|
|
301
301
|
overflow: "hidden",
|
|
302
|
-
cursor:
|
|
302
|
+
cursor: x ? "not-allowed" : void 0,
|
|
303
303
|
transition: [
|
|
304
304
|
"border-color var(--lucent-duration-fast) var(--lucent-easing-default)",
|
|
305
305
|
"box-shadow var(--lucent-duration-fast) var(--lucent-easing-default)"
|
|
306
306
|
].join(", ")
|
|
307
307
|
},
|
|
308
308
|
onMouseEnter: () => {
|
|
309
|
-
|
|
309
|
+
x || v(!0);
|
|
310
310
|
},
|
|
311
311
|
onMouseLeave: () => v(!1),
|
|
312
312
|
children: [
|
|
@@ -314,8 +314,8 @@ const aa = {
|
|
|
314
314
|
/* @__PURE__ */ f("div", { style: { position: "relative", flex: 1, display: "flex", alignItems: "center", minWidth: 0 }, children: [
|
|
315
315
|
r && /* @__PURE__ */ n("span", { style: {
|
|
316
316
|
position: "absolute",
|
|
317
|
-
left:
|
|
318
|
-
color:
|
|
317
|
+
left: te[e],
|
|
318
|
+
color: x ? "var(--lucent-text-disabled)" : "var(--lucent-text-secondary)",
|
|
319
319
|
display: "flex",
|
|
320
320
|
alignItems: "center",
|
|
321
321
|
pointerEvents: "none"
|
|
@@ -325,46 +325,46 @@ const aa = {
|
|
|
325
325
|
{
|
|
326
326
|
ref: d,
|
|
327
327
|
id: g,
|
|
328
|
-
"aria-invalid":
|
|
329
|
-
"aria-describedby":
|
|
328
|
+
"aria-invalid": p,
|
|
329
|
+
"aria-describedby": p ? `${g}-error` : a ? `${g}-helper` : void 0,
|
|
330
330
|
style: {
|
|
331
331
|
width: "100%",
|
|
332
332
|
height: "100%",
|
|
333
|
-
paddingLeft: r ?
|
|
334
|
-
paddingRight: i ?
|
|
335
|
-
fontSize:
|
|
333
|
+
paddingLeft: r ? Ae[e] : te[e],
|
|
334
|
+
paddingRight: i ? Ae[e] : te[e],
|
|
335
|
+
fontSize: ze[e],
|
|
336
336
|
fontFamily: "var(--lucent-font-family-base)",
|
|
337
|
-
color:
|
|
337
|
+
color: x ? "var(--lucent-text-disabled)" : "var(--lucent-text-primary)",
|
|
338
338
|
background: "transparent",
|
|
339
339
|
border: "none",
|
|
340
340
|
outline: "none",
|
|
341
|
-
cursor:
|
|
341
|
+
cursor: x ? "not-allowed" : void 0,
|
|
342
342
|
boxSizing: "border-box"
|
|
343
343
|
},
|
|
344
|
-
onFocus: (
|
|
345
|
-
var
|
|
346
|
-
y(!0), (
|
|
344
|
+
onFocus: (w) => {
|
|
345
|
+
var I;
|
|
346
|
+
y(!0), (I = m.onFocus) == null || I.call(m, w);
|
|
347
347
|
},
|
|
348
|
-
onBlur: (
|
|
349
|
-
var
|
|
350
|
-
y(!1), (
|
|
348
|
+
onBlur: (w) => {
|
|
349
|
+
var I;
|
|
350
|
+
y(!1), (I = m.onBlur) == null || I.call(m, w);
|
|
351
351
|
},
|
|
352
352
|
...m
|
|
353
353
|
}
|
|
354
354
|
),
|
|
355
355
|
i && /* @__PURE__ */ n("span", { style: {
|
|
356
356
|
position: "absolute",
|
|
357
|
-
right:
|
|
358
|
-
color:
|
|
357
|
+
right: te[e],
|
|
358
|
+
color: x ? "var(--lucent-text-disabled)" : "var(--lucent-text-secondary)",
|
|
359
359
|
display: "flex",
|
|
360
360
|
alignItems: "center"
|
|
361
361
|
}, children: i })
|
|
362
362
|
] }),
|
|
363
|
-
c && /* @__PURE__ */ n("span", { style:
|
|
363
|
+
c && /* @__PURE__ */ n("span", { style: B, children: c })
|
|
364
364
|
]
|
|
365
365
|
}
|
|
366
366
|
),
|
|
367
|
-
|
|
367
|
+
p && /* @__PURE__ */ n(
|
|
368
368
|
"span",
|
|
369
369
|
{
|
|
370
370
|
id: `${g}-error`,
|
|
@@ -377,7 +377,7 @@ const aa = {
|
|
|
377
377
|
children: o
|
|
378
378
|
}
|
|
379
379
|
),
|
|
380
|
-
!
|
|
380
|
+
!p && a && /* @__PURE__ */ n(
|
|
381
381
|
"span",
|
|
382
382
|
{
|
|
383
383
|
id: `${g}-helper`,
|
|
@@ -392,8 +392,8 @@ const aa = {
|
|
|
392
392
|
] });
|
|
393
393
|
}
|
|
394
394
|
);
|
|
395
|
-
|
|
396
|
-
const
|
|
395
|
+
Q.displayName = "Input";
|
|
396
|
+
const la = {
|
|
397
397
|
id: "input",
|
|
398
398
|
name: "Input",
|
|
399
399
|
tier: "atom",
|
|
@@ -425,15 +425,15 @@ const ra = {
|
|
|
425
425
|
ariaAttributes: ["aria-invalid", "aria-describedby", "aria-label"],
|
|
426
426
|
keyboardInteractions: ["Tab — focuses the input"]
|
|
427
427
|
}
|
|
428
|
-
},
|
|
429
|
-
({ label: e, helperText: t, errorText: a, autoResize: o = !1, maxLength: r, showCount: i = !1, id: l, value: c, onChange: s, style:
|
|
430
|
-
const g = N(null),
|
|
428
|
+
}, st = ne(
|
|
429
|
+
({ label: e, helperText: t, errorText: a, autoResize: o = !1, maxLength: r, showCount: i = !1, id: l, value: c, onChange: s, style: u, ...m }, d) => {
|
|
430
|
+
const g = N(null), p = d ?? g, x = l ?? `lucent-textarea-${Math.random().toString(36).slice(2, 7)}`, b = !!a, y = typeof c == "string" ? c.length : 0;
|
|
431
431
|
return O(() => {
|
|
432
432
|
if (!o) return;
|
|
433
|
-
const h =
|
|
433
|
+
const h = p.current;
|
|
434
434
|
h && (h.style.height = "auto", h.style.height = `${h.scrollHeight}px`);
|
|
435
|
-
}, [c, o,
|
|
436
|
-
e && /* @__PURE__ */ n("label", { htmlFor:
|
|
435
|
+
}, [c, o, p]), /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-1)", width: "100%" }, children: [
|
|
436
|
+
e && /* @__PURE__ */ n("label", { htmlFor: x, style: {
|
|
437
437
|
fontSize: "var(--lucent-font-size-sm)",
|
|
438
438
|
fontWeight: "var(--lucent-font-weight-medium)",
|
|
439
439
|
color: "var(--lucent-text-primary)",
|
|
@@ -442,13 +442,13 @@ const ra = {
|
|
|
442
442
|
/* @__PURE__ */ n(
|
|
443
443
|
"textarea",
|
|
444
444
|
{
|
|
445
|
-
ref:
|
|
446
|
-
id:
|
|
445
|
+
ref: p,
|
|
446
|
+
id: x,
|
|
447
447
|
maxLength: r,
|
|
448
448
|
value: c,
|
|
449
449
|
onChange: s,
|
|
450
450
|
"aria-invalid": b,
|
|
451
|
-
"aria-describedby": b ? `${
|
|
451
|
+
"aria-describedby": b ? `${x}-error` : t ? `${x}-helper` : void 0,
|
|
452
452
|
style: {
|
|
453
453
|
width: "100%",
|
|
454
454
|
minHeight: "100px",
|
|
@@ -464,7 +464,7 @@ const ra = {
|
|
|
464
464
|
boxSizing: "border-box",
|
|
465
465
|
lineHeight: "var(--lucent-line-height-base)",
|
|
466
466
|
transition: "border-color var(--lucent-duration-fast) var(--lucent-easing-default)",
|
|
467
|
-
...
|
|
467
|
+
...u
|
|
468
468
|
},
|
|
469
469
|
onFocus: (h) => {
|
|
470
470
|
var v;
|
|
@@ -479,8 +479,8 @@ const ra = {
|
|
|
479
479
|
),
|
|
480
480
|
/* @__PURE__ */ f("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "flex-start" }, children: [
|
|
481
481
|
/* @__PURE__ */ f("div", { children: [
|
|
482
|
-
b && /* @__PURE__ */ n("span", { id: `${
|
|
483
|
-
!b && t && /* @__PURE__ */ n("span", { id: `${
|
|
482
|
+
b && /* @__PURE__ */ n("span", { id: `${x}-error`, role: "alert", style: { fontSize: "var(--lucent-font-size-sm)", color: "var(--lucent-danger-text)", fontFamily: "var(--lucent-font-family-base)" }, children: a }),
|
|
483
|
+
!b && t && /* @__PURE__ */ n("span", { id: `${x}-helper`, style: { fontSize: "var(--lucent-font-size-sm)", color: "var(--lucent-text-secondary)", fontFamily: "var(--lucent-font-family-base)" }, children: t })
|
|
484
484
|
] }),
|
|
485
485
|
(i || r) && /* @__PURE__ */ f("span", { style: {
|
|
486
486
|
fontSize: "var(--lucent-font-size-xs)",
|
|
@@ -496,8 +496,8 @@ const ra = {
|
|
|
496
496
|
] });
|
|
497
497
|
}
|
|
498
498
|
);
|
|
499
|
-
|
|
500
|
-
const
|
|
499
|
+
st.displayName = "Textarea";
|
|
500
|
+
const sa = {
|
|
501
501
|
id: "textarea",
|
|
502
502
|
name: "Textarea",
|
|
503
503
|
tier: "atom",
|
|
@@ -529,19 +529,19 @@ const oa = {
|
|
|
529
529
|
ariaAttributes: ["aria-multiline", "aria-invalid", "aria-describedby"],
|
|
530
530
|
keyboardInteractions: ["Tab — focuses the textarea"]
|
|
531
531
|
}
|
|
532
|
-
},
|
|
532
|
+
}, ct = {
|
|
533
533
|
neutral: { bg: "var(--lucent-surface-secondary)", color: "var(--lucent-text-secondary)", border: "var(--lucent-border-default)" },
|
|
534
534
|
accent: { bg: "var(--lucent-accent-default)", color: "var(--lucent-text-on-accent)", border: "var(--lucent-accent-default)" },
|
|
535
535
|
success: { bg: "var(--lucent-success-subtle)", color: "var(--lucent-success-text)", border: "var(--lucent-success-subtle)" },
|
|
536
536
|
warning: { bg: "var(--lucent-warning-subtle)", color: "var(--lucent-warning-text)", border: "var(--lucent-warning-subtle)" },
|
|
537
537
|
danger: { bg: "var(--lucent-danger-subtle)", color: "var(--lucent-danger-text)", border: "var(--lucent-danger-subtle)" },
|
|
538
538
|
info: { bg: "var(--lucent-info-subtle)", color: "var(--lucent-info-text)", border: "var(--lucent-info-subtle)" }
|
|
539
|
-
},
|
|
539
|
+
}, dt = {
|
|
540
540
|
sm: { fontSize: "var(--lucent-font-size-xs)", padding: "0 var(--lucent-space-2)", height: "18px" },
|
|
541
541
|
md: { fontSize: "var(--lucent-font-size-sm)", padding: "0 var(--lucent-space-2)", height: "22px" }
|
|
542
542
|
};
|
|
543
|
-
function
|
|
544
|
-
const i =
|
|
543
|
+
function ca({ variant: e = "neutral", size: t = "md", dot: a = !1, children: o, style: r }) {
|
|
544
|
+
const i = ct[e], l = dt[t];
|
|
545
545
|
return /* @__PURE__ */ f("span", { style: {
|
|
546
546
|
display: "inline-flex",
|
|
547
547
|
alignItems: "center",
|
|
@@ -570,7 +570,7 @@ function ia({ variant: e = "neutral", size: t = "md", dot: a = !1, children: o,
|
|
|
570
570
|
o
|
|
571
571
|
] });
|
|
572
572
|
}
|
|
573
|
-
const
|
|
573
|
+
const da = {
|
|
574
574
|
id: "badge",
|
|
575
575
|
name: "Badge",
|
|
576
576
|
tier: "atom",
|
|
@@ -595,27 +595,27 @@ const la = {
|
|
|
595
595
|
role: "status",
|
|
596
596
|
notes: "Use aria-label on the parent element when badge meaning depends on context."
|
|
597
597
|
}
|
|
598
|
-
},
|
|
598
|
+
}, ut = {
|
|
599
599
|
xs: 24,
|
|
600
600
|
sm: 32,
|
|
601
601
|
md: 40,
|
|
602
602
|
lg: 56,
|
|
603
603
|
xl: 80
|
|
604
|
-
},
|
|
604
|
+
}, pt = {
|
|
605
605
|
xs: "var(--lucent-font-size-xs)",
|
|
606
606
|
sm: "var(--lucent-font-size-xs)",
|
|
607
607
|
md: "var(--lucent-font-size-sm)",
|
|
608
608
|
lg: "var(--lucent-font-size-lg)",
|
|
609
609
|
xl: "var(--lucent-font-size-xl)"
|
|
610
610
|
};
|
|
611
|
-
function
|
|
611
|
+
function ft(e, t) {
|
|
612
612
|
var o, r, i;
|
|
613
613
|
if (t) return t.slice(0, 2).toUpperCase();
|
|
614
614
|
const a = e.trim().split(/\s+/);
|
|
615
615
|
return a.length === 1 ? (((o = a[0]) == null ? void 0 : o[0]) ?? "").toUpperCase() : ((((r = a[0]) == null ? void 0 : r[0]) ?? "") + (((i = a[a.length - 1]) == null ? void 0 : i[0]) ?? "")).toUpperCase();
|
|
616
616
|
}
|
|
617
|
-
function
|
|
618
|
-
const l =
|
|
617
|
+
function ua({ src: e, alt: t, size: a = "md", initials: o, style: r, ...i }) {
|
|
618
|
+
const l = ut[a], c = ft(t, o), s = {
|
|
619
619
|
width: l,
|
|
620
620
|
height: l,
|
|
621
621
|
borderRadius: "var(--lucent-radius-full)",
|
|
@@ -647,7 +647,7 @@ function sa({ src: e, alt: t, size: a = "md", initials: o, style: r, ...i }) {
|
|
|
647
647
|
...s,
|
|
648
648
|
background: "var(--lucent-accent-default)",
|
|
649
649
|
color: "var(--lucent-text-on-accent)",
|
|
650
|
-
fontSize:
|
|
650
|
+
fontSize: pt[a],
|
|
651
651
|
fontWeight: "var(--lucent-font-weight-semibold)",
|
|
652
652
|
fontFamily: "var(--lucent-font-family-base)"
|
|
653
653
|
},
|
|
@@ -655,7 +655,7 @@ function sa({ src: e, alt: t, size: a = "md", initials: o, style: r, ...i }) {
|
|
|
655
655
|
}
|
|
656
656
|
);
|
|
657
657
|
}
|
|
658
|
-
const
|
|
658
|
+
const pa = {
|
|
659
659
|
id: "avatar",
|
|
660
660
|
name: "Avatar",
|
|
661
661
|
tier: "atom",
|
|
@@ -681,19 +681,19 @@ const ca = {
|
|
|
681
681
|
ariaAttributes: ["aria-label"],
|
|
682
682
|
notes: 'When src is present, renders as <img> with alt. When showing initials, renders as <span role="img" aria-label>.'
|
|
683
683
|
}
|
|
684
|
-
},
|
|
684
|
+
}, ht = {
|
|
685
685
|
xs: 12,
|
|
686
686
|
sm: 16,
|
|
687
687
|
md: 24,
|
|
688
688
|
lg: 36
|
|
689
|
-
},
|
|
689
|
+
}, mt = {
|
|
690
690
|
xs: 2.5,
|
|
691
691
|
sm: 2.5,
|
|
692
692
|
md: 2,
|
|
693
693
|
lg: 2
|
|
694
694
|
};
|
|
695
|
-
function
|
|
696
|
-
const o =
|
|
695
|
+
function gt({ size: e = "md", label: t = "Loading…", color: a }) {
|
|
696
|
+
const o = ht[e], r = mt[e];
|
|
697
697
|
return /* @__PURE__ */ f("span", { role: "status", "aria-label": t, style: { display: "inline-flex", alignItems: "center", justifyContent: "center" }, children: [
|
|
698
698
|
/* @__PURE__ */ f(
|
|
699
699
|
"svg",
|
|
@@ -722,7 +722,7 @@ function ft({ size: e = "md", label: t = "Loading…", color: a }) {
|
|
|
722
722
|
/* @__PURE__ */ n("span", { style: { position: "absolute", width: 1, height: 1, overflow: "hidden", clip: "rect(0,0,0,0)", whiteSpace: "nowrap" }, children: t })
|
|
723
723
|
] });
|
|
724
724
|
}
|
|
725
|
-
const
|
|
725
|
+
const fa = {
|
|
726
726
|
id: "spinner",
|
|
727
727
|
name: "Spinner",
|
|
728
728
|
tier: "atom",
|
|
@@ -747,7 +747,7 @@ const da = {
|
|
|
747
747
|
notes: 'The visible SVG is aria-hidden. The label is conveyed via a visually-hidden span inside role="status".'
|
|
748
748
|
}
|
|
749
749
|
};
|
|
750
|
-
function
|
|
750
|
+
function ha({ orientation: e = "horizontal", label: t, spacing: a = "var(--lucent-space-4)", style: o }) {
|
|
751
751
|
return e === "vertical" ? /* @__PURE__ */ n(
|
|
752
752
|
"span",
|
|
753
753
|
{
|
|
@@ -802,7 +802,7 @@ function ua({ orientation: e = "horizontal", label: t, spacing: a = "var(--lucen
|
|
|
802
802
|
}
|
|
803
803
|
);
|
|
804
804
|
}
|
|
805
|
-
const
|
|
805
|
+
const ma = {
|
|
806
806
|
id: "divider",
|
|
807
807
|
name: "Divider",
|
|
808
808
|
tier: "atom",
|
|
@@ -825,7 +825,7 @@ const pa = {
|
|
|
825
825
|
role: "separator",
|
|
826
826
|
ariaAttributes: ["aria-orientation", "aria-label"]
|
|
827
827
|
}
|
|
828
|
-
},
|
|
828
|
+
}, bt = { sm: 14, md: 16 }, vt = `
|
|
829
829
|
@keyframes lucent-cb-pop {
|
|
830
830
|
0% { transform: scale(1); }
|
|
831
831
|
35% { transform: scale(0.82); }
|
|
@@ -837,7 +837,7 @@ const pa = {
|
|
|
837
837
|
60% { transform: scale(1.15) rotate(2deg); }
|
|
838
838
|
100% { opacity: 1; transform: scale(1) rotate(0deg); }
|
|
839
839
|
}
|
|
840
|
-
`,
|
|
840
|
+
`, Oe = ne(
|
|
841
841
|
({
|
|
842
842
|
label: e,
|
|
843
843
|
size: t = "md",
|
|
@@ -848,26 +848,26 @@ const pa = {
|
|
|
848
848
|
id: l,
|
|
849
849
|
onChange: c,
|
|
850
850
|
style: s,
|
|
851
|
-
...
|
|
851
|
+
...u
|
|
852
852
|
}, m) => {
|
|
853
|
-
const d = N(null), g = l ?? `lucent-checkbox-${Math.random().toString(36).slice(2, 7)}`,
|
|
853
|
+
const d = N(null), g = l ?? `lucent-checkbox-${Math.random().toString(36).slice(2, 7)}`, p = bt[t], x = o !== void 0, [b, y] = z(r ?? !1), h = x ? !!o : b, v = N(h), [C, S] = z(0);
|
|
854
854
|
O(() => {
|
|
855
|
-
!i && v.current !== h && (v.current = h,
|
|
855
|
+
!i && v.current !== h && (v.current = h, S((I) => I + 1));
|
|
856
856
|
}, [h, i]);
|
|
857
|
-
const
|
|
858
|
-
(
|
|
859
|
-
d.current =
|
|
857
|
+
const T = ee(
|
|
858
|
+
(I) => {
|
|
859
|
+
d.current = I, typeof m == "function" ? m(I) : m && (m.current = I);
|
|
860
860
|
},
|
|
861
861
|
[m]
|
|
862
862
|
);
|
|
863
863
|
O(() => {
|
|
864
864
|
d.current && (d.current.indeterminate = a);
|
|
865
865
|
}, [a]);
|
|
866
|
-
const E = (
|
|
867
|
-
|
|
868
|
-
},
|
|
869
|
-
width:
|
|
870
|
-
height:
|
|
866
|
+
const E = (I) => {
|
|
867
|
+
x || y(I.target.checked), c == null || c(I);
|
|
868
|
+
}, B = i ? "var(--lucent-text-disabled)" : "var(--lucent-text-on-accent)", w = {
|
|
869
|
+
width: p,
|
|
870
|
+
height: p,
|
|
871
871
|
// fixed corner so global radius overrides (e.g. via customizer) don't
|
|
872
872
|
// turn checkboxes into circles. the design spec keeps them slightly
|
|
873
873
|
// rounded regardless of theming.
|
|
@@ -881,10 +881,10 @@ const pa = {
|
|
|
881
881
|
flexShrink: 0,
|
|
882
882
|
transition: "background var(--lucent-duration-fast) var(--lucent-easing-default), border-color var(--lucent-duration-fast) var(--lucent-easing-default)",
|
|
883
883
|
// Re-key forces the animation to restart on every toggle.
|
|
884
|
-
animation:
|
|
884
|
+
animation: C > 0 ? "lucent-cb-pop 220ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards" : void 0
|
|
885
885
|
};
|
|
886
|
-
return /* @__PURE__ */ f(
|
|
887
|
-
/* @__PURE__ */ n("style", { children:
|
|
886
|
+
return /* @__PURE__ */ f(Y, { children: [
|
|
887
|
+
/* @__PURE__ */ n("style", { children: vt }),
|
|
888
888
|
/* @__PURE__ */ f(
|
|
889
889
|
"label",
|
|
890
890
|
{
|
|
@@ -903,40 +903,40 @@ const pa = {
|
|
|
903
903
|
/* @__PURE__ */ n(
|
|
904
904
|
"input",
|
|
905
905
|
{
|
|
906
|
-
ref:
|
|
906
|
+
ref: T,
|
|
907
907
|
type: "checkbox",
|
|
908
908
|
id: g,
|
|
909
|
-
checked:
|
|
909
|
+
checked: x ? o : b,
|
|
910
910
|
disabled: i,
|
|
911
911
|
onChange: E,
|
|
912
912
|
style: { position: "absolute", opacity: 0, width: 0, height: 0, margin: 0, pointerEvents: "none" },
|
|
913
|
-
...
|
|
913
|
+
...u
|
|
914
914
|
}
|
|
915
915
|
),
|
|
916
|
-
/* @__PURE__ */ f("span", { "aria-hidden": !0, style:
|
|
916
|
+
/* @__PURE__ */ f("span", { "aria-hidden": !0, style: w, children: [
|
|
917
917
|
h && !a && /* @__PURE__ */ n(
|
|
918
918
|
"svg",
|
|
919
919
|
{
|
|
920
|
-
width:
|
|
921
|
-
height:
|
|
920
|
+
width: p - 4,
|
|
921
|
+
height: p - 4,
|
|
922
922
|
viewBox: "0 0 10 10",
|
|
923
923
|
fill: "none",
|
|
924
924
|
style: { animation: "lucent-cb-mark 200ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards" },
|
|
925
|
-
children: /* @__PURE__ */ n("path", { d: "M1.5 5L4 7.5L8.5 2.5", stroke:
|
|
925
|
+
children: /* @__PURE__ */ n("path", { d: "M1.5 5L4 7.5L8.5 2.5", stroke: B, strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" })
|
|
926
926
|
}
|
|
927
927
|
),
|
|
928
928
|
a && /* @__PURE__ */ n(
|
|
929
929
|
"svg",
|
|
930
930
|
{
|
|
931
|
-
width:
|
|
932
|
-
height:
|
|
931
|
+
width: p - 4,
|
|
932
|
+
height: p - 4,
|
|
933
933
|
viewBox: "0 0 10 10",
|
|
934
934
|
fill: "none",
|
|
935
935
|
style: { animation: "lucent-cb-mark 200ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards" },
|
|
936
|
-
children: /* @__PURE__ */ n("path", { d: "M2 5H8", stroke:
|
|
936
|
+
children: /* @__PURE__ */ n("path", { d: "M2 5H8", stroke: B, strokeWidth: 1.5, strokeLinecap: "round" })
|
|
937
937
|
}
|
|
938
938
|
)
|
|
939
|
-
] },
|
|
939
|
+
] }, C),
|
|
940
940
|
e
|
|
941
941
|
]
|
|
942
942
|
}
|
|
@@ -944,8 +944,8 @@ const pa = {
|
|
|
944
944
|
] });
|
|
945
945
|
}
|
|
946
946
|
);
|
|
947
|
-
|
|
948
|
-
const
|
|
947
|
+
Oe.displayName = "Checkbox";
|
|
948
|
+
const ga = {
|
|
949
949
|
id: "checkbox",
|
|
950
950
|
name: "Checkbox",
|
|
951
951
|
tier: "atom",
|
|
@@ -1014,7 +1014,7 @@ const fa = {
|
|
|
1014
1014
|
ariaAttributes: ["aria-checked", "aria-disabled"],
|
|
1015
1015
|
keyboardInteractions: ["Space — toggles checked state"]
|
|
1016
1016
|
}
|
|
1017
|
-
},
|
|
1017
|
+
}, yt = `
|
|
1018
1018
|
@keyframes lucent-radio-pop {
|
|
1019
1019
|
0% { transform: scale(1); }
|
|
1020
1020
|
35% { transform: scale(0.82); }
|
|
@@ -1026,8 +1026,8 @@ const fa = {
|
|
|
1026
1026
|
60% { transform: scale(1.2); }
|
|
1027
1027
|
100% { opacity: 1; transform: scale(1); }
|
|
1028
1028
|
}
|
|
1029
|
-
`,
|
|
1030
|
-
function
|
|
1029
|
+
`, je = He(null);
|
|
1030
|
+
function xt({
|
|
1031
1031
|
name: e,
|
|
1032
1032
|
value: t,
|
|
1033
1033
|
onChange: a,
|
|
@@ -1036,7 +1036,7 @@ function bt({
|
|
|
1036
1036
|
label: i,
|
|
1037
1037
|
children: l
|
|
1038
1038
|
}) {
|
|
1039
|
-
return /* @__PURE__ */ n(
|
|
1039
|
+
return /* @__PURE__ */ n(je.Provider, { value: { name: e, value: t, onChange: a, disabled: o ?? !1 }, children: /* @__PURE__ */ n(
|
|
1040
1040
|
"div",
|
|
1041
1041
|
{
|
|
1042
1042
|
role: "radiogroup",
|
|
@@ -1051,14 +1051,14 @@ function bt({
|
|
|
1051
1051
|
}
|
|
1052
1052
|
) });
|
|
1053
1053
|
}
|
|
1054
|
-
const
|
|
1055
|
-
function
|
|
1056
|
-
const s =
|
|
1054
|
+
const wt = { sm: 14, md: 16 };
|
|
1055
|
+
function ba({ value: e, label: t, size: a = "md", disabled: o, id: r, onChange: i, checked: l, ...c }) {
|
|
1056
|
+
const s = We(je), u = r ?? `lucent-radio-${Math.random().toString(36).slice(2, 7)}`, m = wt[a], d = o ?? (s == null ? void 0 : s.disabled) ?? !1, g = s ? s.value === e : !!l, p = N(g), [x, b] = z(0);
|
|
1057
1057
|
O(() => {
|
|
1058
|
-
!d &&
|
|
1058
|
+
!d && p.current !== g && (p.current = g, b((C) => C + 1));
|
|
1059
1059
|
}, [g, d]);
|
|
1060
|
-
const y = (
|
|
1061
|
-
s == null || s.onChange(e), i == null || i(
|
|
1060
|
+
const y = (C) => {
|
|
1061
|
+
s == null || s.onChange(e), i == null || i(C);
|
|
1062
1062
|
}, h = {
|
|
1063
1063
|
width: m / 2,
|
|
1064
1064
|
height: m / 2,
|
|
@@ -1077,10 +1077,10 @@ function ha({ value: e, label: t, size: a = "md", disabled: o, id: r, onChange:
|
|
|
1077
1077
|
justifyContent: "center",
|
|
1078
1078
|
flexShrink: 0,
|
|
1079
1079
|
transition: "background var(--lucent-duration-fast) var(--lucent-easing-default), border-color var(--lucent-duration-fast) var(--lucent-easing-default)",
|
|
1080
|
-
animation:
|
|
1080
|
+
animation: x > 0 ? "lucent-radio-pop 220ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards" : void 0
|
|
1081
1081
|
};
|
|
1082
|
-
return /* @__PURE__ */ f(
|
|
1083
|
-
/* @__PURE__ */ n("style", { children:
|
|
1082
|
+
return /* @__PURE__ */ f(Y, { children: [
|
|
1083
|
+
/* @__PURE__ */ n("style", { children: yt }),
|
|
1084
1084
|
/* @__PURE__ */ f(
|
|
1085
1085
|
"label",
|
|
1086
1086
|
{
|
|
@@ -1099,7 +1099,7 @@ function ha({ value: e, label: t, size: a = "md", disabled: o, id: r, onChange:
|
|
|
1099
1099
|
"input",
|
|
1100
1100
|
{
|
|
1101
1101
|
type: "radio",
|
|
1102
|
-
id:
|
|
1102
|
+
id: u,
|
|
1103
1103
|
value: e,
|
|
1104
1104
|
name: (s == null ? void 0 : s.name) ?? c.name,
|
|
1105
1105
|
checked: g,
|
|
@@ -1109,21 +1109,21 @@ function ha({ value: e, label: t, size: a = "md", disabled: o, id: r, onChange:
|
|
|
1109
1109
|
...c
|
|
1110
1110
|
}
|
|
1111
1111
|
),
|
|
1112
|
-
/* @__PURE__ */ n("span", { "aria-hidden": !0, style: v, children: /* @__PURE__ */ n("span", { style: h }) },
|
|
1112
|
+
/* @__PURE__ */ n("span", { "aria-hidden": !0, style: v, children: /* @__PURE__ */ n("span", { style: h }) }, x),
|
|
1113
1113
|
t
|
|
1114
1114
|
]
|
|
1115
1115
|
}
|
|
1116
1116
|
)
|
|
1117
1117
|
] });
|
|
1118
1118
|
}
|
|
1119
|
-
function
|
|
1119
|
+
function va({
|
|
1120
1120
|
defaultValue: e = "",
|
|
1121
1121
|
onChange: t,
|
|
1122
1122
|
...a
|
|
1123
1123
|
}) {
|
|
1124
|
-
const [o, r] =
|
|
1124
|
+
const [o, r] = z(e);
|
|
1125
1125
|
return /* @__PURE__ */ n(
|
|
1126
|
-
|
|
1126
|
+
xt,
|
|
1127
1127
|
{
|
|
1128
1128
|
...a,
|
|
1129
1129
|
value: o,
|
|
@@ -1133,7 +1133,7 @@ function ma({
|
|
|
1133
1133
|
}
|
|
1134
1134
|
);
|
|
1135
1135
|
}
|
|
1136
|
-
const
|
|
1136
|
+
const ya = {
|
|
1137
1137
|
id: "radio",
|
|
1138
1138
|
name: "Radio",
|
|
1139
1139
|
tier: "atom",
|
|
@@ -1210,11 +1210,11 @@ const ga = {
|
|
|
1210
1210
|
"Space — selects the focused radio"
|
|
1211
1211
|
]
|
|
1212
1212
|
}
|
|
1213
|
-
},
|
|
1213
|
+
}, kt = {
|
|
1214
1214
|
sm: { track: [28, 16], thumb: 12 },
|
|
1215
1215
|
md: { track: [36, 20], thumb: 16 },
|
|
1216
1216
|
lg: { track: [44, 24], thumb: 20 }
|
|
1217
|
-
},
|
|
1217
|
+
}, Ee = "cubic-bezier(0.34, 1.56, 0.64, 1)", St = `
|
|
1218
1218
|
@keyframes lucent-toggle-pop {
|
|
1219
1219
|
0% { transform: scale(1); }
|
|
1220
1220
|
35% { transform: scale(0.94); }
|
|
@@ -1222,7 +1222,7 @@ const ga = {
|
|
|
1222
1222
|
100% { transform: scale(1); }
|
|
1223
1223
|
}
|
|
1224
1224
|
`;
|
|
1225
|
-
function
|
|
1225
|
+
function xa({
|
|
1226
1226
|
label: e,
|
|
1227
1227
|
size: t = "md",
|
|
1228
1228
|
checked: a,
|
|
@@ -1233,15 +1233,15 @@ function ba({
|
|
|
1233
1233
|
style: c,
|
|
1234
1234
|
...s
|
|
1235
1235
|
}) {
|
|
1236
|
-
const
|
|
1236
|
+
const u = i ?? `lucent-toggle-${Math.random().toString(36).slice(2, 7)}`, m = a !== void 0, [d, g] = z(o ?? !1), p = m ? !!a : d, x = N(p), [b, y] = z(0);
|
|
1237
1237
|
O(() => {
|
|
1238
|
-
!r &&
|
|
1239
|
-
}, [
|
|
1240
|
-
const { track: [h, v], thumb:
|
|
1238
|
+
!r && x.current !== p && (x.current = p, y((E) => E + 1));
|
|
1239
|
+
}, [p, r]);
|
|
1240
|
+
const { track: [h, v], thumb: C } = kt[t], S = p ? h - C - 2 : 2, T = (E) => {
|
|
1241
1241
|
m || g(E.target.checked), l == null || l(E);
|
|
1242
1242
|
};
|
|
1243
|
-
return /* @__PURE__ */ f(
|
|
1244
|
-
/* @__PURE__ */ n("style", { children:
|
|
1243
|
+
return /* @__PURE__ */ f(Y, { children: [
|
|
1244
|
+
/* @__PURE__ */ n("style", { children: St }),
|
|
1245
1245
|
/* @__PURE__ */ f(
|
|
1246
1246
|
"label",
|
|
1247
1247
|
{
|
|
@@ -1262,11 +1262,11 @@ function ba({
|
|
|
1262
1262
|
{
|
|
1263
1263
|
type: "checkbox",
|
|
1264
1264
|
role: "switch",
|
|
1265
|
-
id:
|
|
1265
|
+
id: u,
|
|
1266
1266
|
checked: m ? a : d,
|
|
1267
1267
|
disabled: r,
|
|
1268
|
-
onChange:
|
|
1269
|
-
"aria-checked":
|
|
1268
|
+
onChange: T,
|
|
1269
|
+
"aria-checked": p,
|
|
1270
1270
|
style: { position: "absolute", opacity: 0, width: 0, height: 0, margin: 0, pointerEvents: "none" },
|
|
1271
1271
|
...s
|
|
1272
1272
|
}
|
|
@@ -1280,10 +1280,10 @@ function ba({
|
|
|
1280
1280
|
width: h,
|
|
1281
1281
|
height: v,
|
|
1282
1282
|
borderRadius: v / 2,
|
|
1283
|
-
background: r ? "var(--lucent-surface-secondary)" :
|
|
1283
|
+
background: r ? "var(--lucent-surface-secondary)" : p ? "var(--lucent-accent-default)" : "var(--lucent-border-strong)",
|
|
1284
1284
|
flexShrink: 0,
|
|
1285
1285
|
transition: "background var(--lucent-duration-fast) var(--lucent-easing-default)",
|
|
1286
|
-
animation: b > 0 ? `lucent-toggle-pop 240ms ${
|
|
1286
|
+
animation: b > 0 ? `lucent-toggle-pop 240ms ${Ee} forwards` : void 0
|
|
1287
1287
|
},
|
|
1288
1288
|
children: /* @__PURE__ */ n(
|
|
1289
1289
|
"span",
|
|
@@ -1291,13 +1291,13 @@ function ba({
|
|
|
1291
1291
|
style: {
|
|
1292
1292
|
position: "absolute",
|
|
1293
1293
|
top: 2,
|
|
1294
|
-
left:
|
|
1295
|
-
width:
|
|
1296
|
-
height:
|
|
1294
|
+
left: S,
|
|
1295
|
+
width: C,
|
|
1296
|
+
height: C,
|
|
1297
1297
|
borderRadius: "50%",
|
|
1298
1298
|
background: "#ffffff",
|
|
1299
1299
|
boxShadow: "0 1px 3px rgb(0 0 0 / 0.2)",
|
|
1300
|
-
transition: `left 260ms ${
|
|
1300
|
+
transition: `left 260ms ${Ee}`
|
|
1301
1301
|
}
|
|
1302
1302
|
}
|
|
1303
1303
|
)
|
|
@@ -1310,7 +1310,7 @@ function ba({
|
|
|
1310
1310
|
)
|
|
1311
1311
|
] });
|
|
1312
1312
|
}
|
|
1313
|
-
const
|
|
1313
|
+
const wa = {
|
|
1314
1314
|
id: "toggle",
|
|
1315
1315
|
name: "Toggle",
|
|
1316
1316
|
tier: "atom",
|
|
@@ -1374,16 +1374,16 @@ const va = {
|
|
|
1374
1374
|
ariaAttributes: ["aria-checked", "aria-disabled"],
|
|
1375
1375
|
keyboardInteractions: ["Space — toggles the switch state"]
|
|
1376
1376
|
}
|
|
1377
|
-
},
|
|
1377
|
+
}, Tt = {
|
|
1378
1378
|
sm: "32px",
|
|
1379
1379
|
md: "40px",
|
|
1380
1380
|
lg: "46px"
|
|
1381
|
-
},
|
|
1381
|
+
}, Ct = {
|
|
1382
1382
|
sm: "var(--lucent-font-size-sm)",
|
|
1383
1383
|
md: "var(--lucent-font-size-md)",
|
|
1384
1384
|
lg: "var(--lucent-font-size-lg)"
|
|
1385
|
-
},
|
|
1386
|
-
({ options: e, size: t = "md", label: a, helperText: o, errorText: r, placeholder: i, disabled: l, id: c, style: s, ...
|
|
1385
|
+
}, Ge = ne(
|
|
1386
|
+
({ options: e, size: t = "md", label: a, helperText: o, errorText: r, placeholder: i, disabled: l, id: c, style: s, ...u }, m) => {
|
|
1387
1387
|
const d = c ?? `lucent-select-${Math.random().toString(36).slice(2, 7)}`, g = !!r;
|
|
1388
1388
|
return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-1)", width: "100%", ...s }, children: [
|
|
1389
1389
|
a && /* @__PURE__ */ n(
|
|
@@ -1410,9 +1410,9 @@ const va = {
|
|
|
1410
1410
|
"aria-describedby": g ? `${d}-error` : o ? `${d}-helper` : void 0,
|
|
1411
1411
|
style: {
|
|
1412
1412
|
width: "100%",
|
|
1413
|
-
height:
|
|
1413
|
+
height: Tt[t],
|
|
1414
1414
|
padding: "0 var(--lucent-space-8) 0 var(--lucent-space-3)",
|
|
1415
|
-
fontSize:
|
|
1415
|
+
fontSize: Ct[t],
|
|
1416
1416
|
fontFamily: "var(--lucent-font-family-base)",
|
|
1417
1417
|
color: "var(--lucent-text-primary)",
|
|
1418
1418
|
background: "var(--lucent-surface)",
|
|
@@ -1424,26 +1424,26 @@ const va = {
|
|
|
1424
1424
|
cursor: l ? "not-allowed" : "pointer",
|
|
1425
1425
|
transition: "border-color var(--lucent-duration-fast) var(--lucent-easing-default)"
|
|
1426
1426
|
},
|
|
1427
|
-
onMouseEnter: (
|
|
1428
|
-
var
|
|
1429
|
-
!l &&
|
|
1427
|
+
onMouseEnter: (p) => {
|
|
1428
|
+
var x;
|
|
1429
|
+
!l && p.currentTarget !== document.activeElement && (p.currentTarget.style.borderColor = g ? "var(--lucent-danger-default)" : "var(--lucent-border-strong)"), (x = u.onMouseEnter) == null || x.call(u, p);
|
|
1430
1430
|
},
|
|
1431
|
-
onMouseLeave: (
|
|
1432
|
-
var
|
|
1433
|
-
!l &&
|
|
1431
|
+
onMouseLeave: (p) => {
|
|
1432
|
+
var x;
|
|
1433
|
+
!l && p.currentTarget !== document.activeElement && (p.currentTarget.style.borderColor = g ? "var(--lucent-danger-default)" : "var(--lucent-border-default)"), (x = u.onMouseLeave) == null || x.call(u, p);
|
|
1434
1434
|
},
|
|
1435
|
-
onFocus: (
|
|
1436
|
-
var
|
|
1437
|
-
|
|
1435
|
+
onFocus: (p) => {
|
|
1436
|
+
var x;
|
|
1437
|
+
p.currentTarget.style.borderColor = g ? "var(--lucent-danger-default)" : "var(--lucent-focus-ring)", p.currentTarget.style.boxShadow = `0 0 0 3px ${g ? "var(--lucent-danger-subtle)" : "var(--lucent-accent-subtle)"}`, (x = u.onFocus) == null || x.call(u, p);
|
|
1438
1438
|
},
|
|
1439
|
-
onBlur: (
|
|
1440
|
-
var
|
|
1441
|
-
|
|
1439
|
+
onBlur: (p) => {
|
|
1440
|
+
var x;
|
|
1441
|
+
p.currentTarget.style.borderColor = g ? "var(--lucent-danger-default)" : "var(--lucent-border-default)", p.currentTarget.style.boxShadow = "none", (x = u.onBlur) == null || x.call(u, p);
|
|
1442
1442
|
},
|
|
1443
|
-
...
|
|
1443
|
+
...u,
|
|
1444
1444
|
children: [
|
|
1445
1445
|
i && /* @__PURE__ */ n("option", { value: "", disabled: !0, children: i }),
|
|
1446
|
-
e.map((
|
|
1446
|
+
e.map((p) => /* @__PURE__ */ n("option", { value: p.value, disabled: p.disabled, children: p.label }, p.value))
|
|
1447
1447
|
]
|
|
1448
1448
|
}
|
|
1449
1449
|
),
|
|
@@ -1491,8 +1491,8 @@ const va = {
|
|
|
1491
1491
|
] });
|
|
1492
1492
|
}
|
|
1493
1493
|
);
|
|
1494
|
-
|
|
1495
|
-
const
|
|
1494
|
+
Ge.displayName = "Select";
|
|
1495
|
+
const ka = {
|
|
1496
1496
|
id: "select",
|
|
1497
1497
|
name: "Select",
|
|
1498
1498
|
tier: "atom",
|
|
@@ -1590,19 +1590,19 @@ const ya = {
|
|
|
1590
1590
|
"Escape — closes the list"
|
|
1591
1591
|
]
|
|
1592
1592
|
}
|
|
1593
|
-
},
|
|
1593
|
+
}, It = {
|
|
1594
1594
|
neutral: { bg: "var(--lucent-surface-secondary)", color: "var(--lucent-text-secondary)", border: "var(--lucent-border-default)", dismissHover: "var(--lucent-border-strong)" },
|
|
1595
1595
|
accent: { bg: "var(--lucent-accent-subtle)", color: "var(--lucent-accent-active)", border: "var(--lucent-accent-subtle)", dismissHover: "var(--lucent-accent-default)" },
|
|
1596
1596
|
success: { bg: "var(--lucent-success-subtle)", color: "var(--lucent-success-text)", border: "var(--lucent-success-subtle)", dismissHover: "var(--lucent-success-default)" },
|
|
1597
1597
|
warning: { bg: "var(--lucent-warning-subtle)", color: "var(--lucent-warning-text)", border: "var(--lucent-warning-subtle)", dismissHover: "var(--lucent-warning-default)" },
|
|
1598
1598
|
danger: { bg: "var(--lucent-danger-subtle)", color: "var(--lucent-danger-text)", border: "var(--lucent-danger-subtle)", dismissHover: "var(--lucent-danger-default)" },
|
|
1599
1599
|
info: { bg: "var(--lucent-info-subtle)", color: "var(--lucent-info-text)", border: "var(--lucent-info-subtle)", dismissHover: "var(--lucent-info-default)" }
|
|
1600
|
-
},
|
|
1600
|
+
}, Mt = {
|
|
1601
1601
|
sm: { fontSize: "var(--lucent-font-size-xs)", height: "20px", padding: "0 var(--lucent-space-2)", iconSize: 10, gap: "var(--lucent-space-1)" },
|
|
1602
1602
|
md: { fontSize: "var(--lucent-font-size-sm)", height: "24px", padding: "0 var(--lucent-space-2)", iconSize: 12, gap: "var(--lucent-space-1)" }
|
|
1603
1603
|
};
|
|
1604
|
-
function
|
|
1605
|
-
const i =
|
|
1604
|
+
function Sa({ children: e, variant: t = "neutral", size: a = "md", onDismiss: o, disabled: r }) {
|
|
1605
|
+
const i = It[t], l = Mt[a];
|
|
1606
1606
|
return /* @__PURE__ */ f(
|
|
1607
1607
|
"span",
|
|
1608
1608
|
{
|
|
@@ -1661,7 +1661,7 @@ function xa({ children: e, variant: t = "neutral", size: a = "md", onDismiss: o,
|
|
|
1661
1661
|
}
|
|
1662
1662
|
);
|
|
1663
1663
|
}
|
|
1664
|
-
const
|
|
1664
|
+
const Ta = {
|
|
1665
1665
|
id: "tag",
|
|
1666
1666
|
name: "Tag",
|
|
1667
1667
|
tier: "atom",
|
|
@@ -1718,12 +1718,12 @@ const wa = {
|
|
|
1718
1718
|
notes: 'The dismiss button has aria-label="Dismiss" and is keyboard-focusable.',
|
|
1719
1719
|
keyboardInteractions: ["Enter / Space — activates the dismiss button when focused"]
|
|
1720
1720
|
}
|
|
1721
|
-
}, W = 5,
|
|
1721
|
+
}, W = 5, Dt = {
|
|
1722
1722
|
top: { bottom: "100%", left: "50%", transform: "translateX(-50%)", marginBottom: W + 3 },
|
|
1723
1723
|
bottom: { top: "100%", left: "50%", transform: "translateX(-50%)", marginTop: W + 3 },
|
|
1724
1724
|
left: { right: "100%", top: "50%", transform: "translateY(-50%)", marginRight: W + 3 },
|
|
1725
1725
|
right: { left: "100%", top: "50%", transform: "translateY(-50%)", marginLeft: W + 3 }
|
|
1726
|
-
},
|
|
1726
|
+
}, zt = {
|
|
1727
1727
|
top: {
|
|
1728
1728
|
bottom: -W,
|
|
1729
1729
|
left: "50%",
|
|
@@ -1753,8 +1753,8 @@ const wa = {
|
|
|
1753
1753
|
borderColor: "transparent var(--lucent-text-primary) transparent transparent"
|
|
1754
1754
|
}
|
|
1755
1755
|
};
|
|
1756
|
-
function
|
|
1757
|
-
const [r, i] =
|
|
1756
|
+
function Ca({ content: e, children: t, placement: a = "top", delay: o = 300 }) {
|
|
1757
|
+
const [r, i] = z(!1), l = N(null), c = () => {
|
|
1758
1758
|
l.current = setTimeout(() => i(!0), o);
|
|
1759
1759
|
}, s = () => {
|
|
1760
1760
|
l.current && clearTimeout(l.current), i(!1);
|
|
@@ -1775,7 +1775,7 @@ function ka({ content: e, children: t, placement: a = "top", delay: o = 300 }) {
|
|
|
1775
1775
|
role: "tooltip",
|
|
1776
1776
|
style: {
|
|
1777
1777
|
position: "absolute",
|
|
1778
|
-
...
|
|
1778
|
+
...Dt[a],
|
|
1779
1779
|
background: "var(--lucent-text-primary)",
|
|
1780
1780
|
color: "var(--lucent-bg-base)",
|
|
1781
1781
|
padding: "5px 10px",
|
|
@@ -1800,7 +1800,7 @@ function ka({ content: e, children: t, placement: a = "top", delay: o = 300 }) {
|
|
|
1800
1800
|
width: 0,
|
|
1801
1801
|
height: 0,
|
|
1802
1802
|
borderStyle: "solid",
|
|
1803
|
-
...
|
|
1803
|
+
...zt[a]
|
|
1804
1804
|
}
|
|
1805
1805
|
}
|
|
1806
1806
|
)
|
|
@@ -1809,9 +1809,9 @@ function ka({ content: e, children: t, placement: a = "top", delay: o = 300 }) {
|
|
|
1809
1809
|
)
|
|
1810
1810
|
]
|
|
1811
1811
|
}
|
|
1812
|
-
) : /* @__PURE__ */ n(
|
|
1812
|
+
) : /* @__PURE__ */ n(Y, { children: t });
|
|
1813
1813
|
}
|
|
1814
|
-
const
|
|
1814
|
+
const Ia = {
|
|
1815
1815
|
id: "tooltip",
|
|
1816
1816
|
name: "Tooltip",
|
|
1817
1817
|
tier: "atom",
|
|
@@ -1860,15 +1860,15 @@ const Sa = {
|
|
|
1860
1860
|
ariaAttributes: ['role="tooltip"'],
|
|
1861
1861
|
notes: 'The tooltip is shown on both hover and focus, making it accessible to keyboard users. Content is exposed via role="tooltip".'
|
|
1862
1862
|
}
|
|
1863
|
-
},
|
|
1863
|
+
}, At = {
|
|
1864
1864
|
xs: 12,
|
|
1865
1865
|
sm: 14,
|
|
1866
1866
|
md: 16,
|
|
1867
1867
|
lg: 20,
|
|
1868
1868
|
xl: 24
|
|
1869
1869
|
};
|
|
1870
|
-
function
|
|
1871
|
-
const i =
|
|
1870
|
+
function Ma({ children: e, size: t = "md", label: a, color: o, style: r }) {
|
|
1871
|
+
const i = At[t];
|
|
1872
1872
|
return /* @__PURE__ */ n(
|
|
1873
1873
|
"span",
|
|
1874
1874
|
{
|
|
@@ -1889,7 +1889,7 @@ function Ta({ children: e, size: t = "md", label: a, color: o, style: r }) {
|
|
|
1889
1889
|
}
|
|
1890
1890
|
);
|
|
1891
1891
|
}
|
|
1892
|
-
const
|
|
1892
|
+
const Da = {
|
|
1893
1893
|
id: "icon",
|
|
1894
1894
|
name: "Icon",
|
|
1895
1895
|
tier: "atom",
|
|
@@ -1937,7 +1937,7 @@ const Ca = {
|
|
|
1937
1937
|
ariaAttributes: ["aria-label", "aria-hidden"],
|
|
1938
1938
|
notes: 'aria-hidden="true" is applied automatically when no label is given, hiding the icon from screen readers.'
|
|
1939
1939
|
}
|
|
1940
|
-
},
|
|
1940
|
+
}, Et = {
|
|
1941
1941
|
primary: "var(--lucent-text-primary)",
|
|
1942
1942
|
secondary: "var(--lucent-text-secondary)",
|
|
1943
1943
|
disabled: "var(--lucent-text-disabled)",
|
|
@@ -1947,7 +1947,7 @@ const Ca = {
|
|
|
1947
1947
|
warning: "var(--lucent-warning-text)",
|
|
1948
1948
|
danger: "var(--lucent-danger-text)",
|
|
1949
1949
|
info: "var(--lucent-info-text)"
|
|
1950
|
-
},
|
|
1950
|
+
}, qt = {
|
|
1951
1951
|
xs: "var(--lucent-font-size-xs)",
|
|
1952
1952
|
sm: "var(--lucent-font-size-sm)",
|
|
1953
1953
|
md: "var(--lucent-font-size-md)",
|
|
@@ -1955,16 +1955,16 @@ const Ca = {
|
|
|
1955
1955
|
xl: "var(--lucent-font-size-xl)",
|
|
1956
1956
|
"2xl": "var(--lucent-font-size-2xl)",
|
|
1957
1957
|
"3xl": "var(--lucent-font-size-3xl)"
|
|
1958
|
-
},
|
|
1958
|
+
}, Rt = {
|
|
1959
1959
|
regular: "var(--lucent-font-weight-regular)",
|
|
1960
1960
|
medium: "var(--lucent-font-weight-medium)",
|
|
1961
1961
|
semibold: "var(--lucent-font-weight-semibold)",
|
|
1962
1962
|
bold: "var(--lucent-font-weight-bold)"
|
|
1963
|
-
},
|
|
1963
|
+
}, Lt = {
|
|
1964
1964
|
tight: "var(--lucent-line-height-tight)",
|
|
1965
1965
|
base: "var(--lucent-line-height-base)",
|
|
1966
1966
|
relaxed: "var(--lucent-line-height-relaxed)"
|
|
1967
|
-
},
|
|
1967
|
+
}, Bt = {
|
|
1968
1968
|
base: "var(--lucent-font-family-base)",
|
|
1969
1969
|
mono: "var(--lucent-font-family-mono)",
|
|
1970
1970
|
display: "var(--lucent-font-family-display)"
|
|
@@ -1979,27 +1979,27 @@ function L({
|
|
|
1979
1979
|
family: l = "base",
|
|
1980
1980
|
truncate: c = !1,
|
|
1981
1981
|
children: s,
|
|
1982
|
-
style:
|
|
1982
|
+
style: u,
|
|
1983
1983
|
...m
|
|
1984
1984
|
}) {
|
|
1985
1985
|
const d = {
|
|
1986
|
-
fontSize:
|
|
1987
|
-
fontWeight:
|
|
1988
|
-
color:
|
|
1986
|
+
fontSize: qt[t],
|
|
1987
|
+
fontWeight: Rt[a],
|
|
1988
|
+
color: Et[o],
|
|
1989
1989
|
textAlign: r,
|
|
1990
|
-
lineHeight:
|
|
1991
|
-
fontFamily:
|
|
1990
|
+
lineHeight: Lt[i],
|
|
1991
|
+
fontFamily: Bt[l],
|
|
1992
1992
|
margin: 0,
|
|
1993
1993
|
...c && {
|
|
1994
1994
|
overflow: "hidden",
|
|
1995
1995
|
textOverflow: "ellipsis",
|
|
1996
1996
|
whiteSpace: "nowrap"
|
|
1997
1997
|
},
|
|
1998
|
-
...
|
|
1998
|
+
...u
|
|
1999
1999
|
};
|
|
2000
2000
|
return /* @__PURE__ */ n(e, { style: d, ...m, children: s });
|
|
2001
2001
|
}
|
|
2002
|
-
const
|
|
2002
|
+
const za = {
|
|
2003
2003
|
id: "text",
|
|
2004
2004
|
name: "Text",
|
|
2005
2005
|
tier: "atom",
|
|
@@ -2097,7 +2097,7 @@ const Ia = {
|
|
|
2097
2097
|
notes: 'The rendered element determines the implicit ARIA role. Use heading elements (h1–h6) for document headings so screen readers can navigate the page structure. Use `as="label"` with `htmlFor` to associate labels with form controls. Decorative text needs no additional ARIA.'
|
|
2098
2098
|
}
|
|
2099
2099
|
};
|
|
2100
|
-
function
|
|
2100
|
+
function Aa({
|
|
2101
2101
|
children: e,
|
|
2102
2102
|
href: t,
|
|
2103
2103
|
isActive: a = !1,
|
|
@@ -2132,11 +2132,11 @@ function Ma({
|
|
|
2132
2132
|
boxSizing: "border-box",
|
|
2133
2133
|
...c
|
|
2134
2134
|
},
|
|
2135
|
-
onMouseEnter: (
|
|
2136
|
-
!r && !a && (
|
|
2135
|
+
onMouseEnter: (u) => {
|
|
2136
|
+
!r && !a && (u.currentTarget.style.background = "var(--lucent-surface-secondary)");
|
|
2137
2137
|
},
|
|
2138
|
-
onMouseLeave: (
|
|
2139
|
-
!r && !a && (
|
|
2138
|
+
onMouseLeave: (u) => {
|
|
2139
|
+
!r && !a && (u.currentTarget.style.background = "transparent");
|
|
2140
2140
|
},
|
|
2141
2141
|
children: [
|
|
2142
2142
|
o != null && /* @__PURE__ */ n("span", { style: { display: "flex", flexShrink: 0, color: "inherit" }, children: o }),
|
|
@@ -2145,7 +2145,7 @@ function Ma({
|
|
|
2145
2145
|
}
|
|
2146
2146
|
);
|
|
2147
2147
|
}
|
|
2148
|
-
const
|
|
2148
|
+
const Ft = { sm: "3px", md: "4px", lg: "5px" }, Nt = { sm: "14px", md: "18px", lg: "22px" }, $t = `
|
|
2149
2149
|
.lucent-slider {
|
|
2150
2150
|
-webkit-appearance: none;
|
|
2151
2151
|
appearance: none;
|
|
@@ -2239,7 +2239,7 @@ const Lt = { sm: "3px", md: "4px", lg: "5px" }, Rt = { sm: "14px", md: "18px", l
|
|
|
2239
2239
|
cursor: not-allowed;
|
|
2240
2240
|
}
|
|
2241
2241
|
`;
|
|
2242
|
-
function
|
|
2242
|
+
function Ea({
|
|
2243
2243
|
label: e,
|
|
2244
2244
|
showValue: t = !1,
|
|
2245
2245
|
size: a = "md",
|
|
@@ -2249,18 +2249,18 @@ function Da({
|
|
|
2249
2249
|
value: l,
|
|
2250
2250
|
defaultValue: c,
|
|
2251
2251
|
disabled: s,
|
|
2252
|
-
id:
|
|
2252
|
+
id: u,
|
|
2253
2253
|
onChange: m,
|
|
2254
2254
|
style: d,
|
|
2255
2255
|
...g
|
|
2256
2256
|
}) {
|
|
2257
|
-
const
|
|
2257
|
+
const p = u ?? `lucent-slider-${Math.random().toString(36).slice(2, 7)}`, x = l !== void 0, [b, y] = z(
|
|
2258
2258
|
c ?? Math.round((o + r) / 2)
|
|
2259
|
-
), h =
|
|
2260
|
-
|
|
2259
|
+
), h = x ? l : b, v = `${(h - o) / (r - o) * 100}%`, C = (S) => {
|
|
2260
|
+
x || y(Number(S.target.value)), m == null || m(S);
|
|
2261
2261
|
};
|
|
2262
|
-
return /* @__PURE__ */ f(
|
|
2263
|
-
/* @__PURE__ */ n("style", { children:
|
|
2262
|
+
return /* @__PURE__ */ f(Y, { children: [
|
|
2263
|
+
/* @__PURE__ */ n("style", { children: $t }),
|
|
2264
2264
|
/* @__PURE__ */ f(
|
|
2265
2265
|
"div",
|
|
2266
2266
|
{
|
|
@@ -2285,7 +2285,7 @@ function Da({
|
|
|
2285
2285
|
e && /* @__PURE__ */ n(
|
|
2286
2286
|
"label",
|
|
2287
2287
|
{
|
|
2288
|
-
htmlFor:
|
|
2288
|
+
htmlFor: p,
|
|
2289
2289
|
style: {
|
|
2290
2290
|
fontSize: "var(--lucent-font-size-sm)",
|
|
2291
2291
|
fontWeight: "var(--lucent-font-weight-medium)",
|
|
@@ -2313,17 +2313,17 @@ function Da({
|
|
|
2313
2313
|
"input",
|
|
2314
2314
|
{
|
|
2315
2315
|
type: "range",
|
|
2316
|
-
id:
|
|
2316
|
+
id: p,
|
|
2317
2317
|
className: "lucent-slider",
|
|
2318
2318
|
min: o,
|
|
2319
2319
|
max: r,
|
|
2320
2320
|
step: i,
|
|
2321
2321
|
disabled: s,
|
|
2322
|
-
value:
|
|
2323
|
-
onChange:
|
|
2322
|
+
value: x ? l : b,
|
|
2323
|
+
onChange: C,
|
|
2324
2324
|
style: {
|
|
2325
|
-
"--ls-track-h":
|
|
2326
|
-
"--ls-thumb":
|
|
2325
|
+
"--ls-track-h": Ft[a],
|
|
2326
|
+
"--ls-thumb": Nt[a],
|
|
2327
2327
|
"--ls-fill": v
|
|
2328
2328
|
},
|
|
2329
2329
|
...g
|
|
@@ -2334,7 +2334,7 @@ function Da({
|
|
|
2334
2334
|
)
|
|
2335
2335
|
] });
|
|
2336
2336
|
}
|
|
2337
|
-
const
|
|
2337
|
+
const qa = {
|
|
2338
2338
|
id: "slider",
|
|
2339
2339
|
name: "Slider",
|
|
2340
2340
|
tier: "atom",
|
|
@@ -2430,17 +2430,17 @@ const za = {
|
|
|
2430
2430
|
"End — jump to max"
|
|
2431
2431
|
]
|
|
2432
2432
|
}
|
|
2433
|
-
},
|
|
2434
|
-
function
|
|
2433
|
+
}, Pt = 2e3;
|
|
2434
|
+
function Wt() {
|
|
2435
2435
|
return /* @__PURE__ */ f("svg", { width: 13, height: 13, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
|
|
2436
2436
|
/* @__PURE__ */ n("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2", ry: "2" }),
|
|
2437
2437
|
/* @__PURE__ */ n("path", { d: "M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1" })
|
|
2438
2438
|
] });
|
|
2439
2439
|
}
|
|
2440
|
-
function
|
|
2440
|
+
function Ht() {
|
|
2441
2441
|
return /* @__PURE__ */ n("svg", { width: 13, height: 13, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: /* @__PURE__ */ n("path", { d: "M20 6L9 17l-5-5" }) });
|
|
2442
2442
|
}
|
|
2443
|
-
function
|
|
2443
|
+
function Ra({
|
|
2444
2444
|
code: e,
|
|
2445
2445
|
language: t,
|
|
2446
2446
|
tabs: a,
|
|
@@ -2450,9 +2450,9 @@ function Aa({
|
|
|
2450
2450
|
style: l
|
|
2451
2451
|
}) {
|
|
2452
2452
|
var h, v;
|
|
2453
|
-
const c = !!(a != null && a.length), [s,
|
|
2453
|
+
const c = !!(a != null && a.length), [s, u] = z(0), [m, d] = z(!1), g = c ? ((h = a[s]) == null ? void 0 : h.code) ?? "" : e ?? "", p = c ? (v = a[s]) == null ? void 0 : v.language : t, x = async () => {
|
|
2454
2454
|
try {
|
|
2455
|
-
await navigator.clipboard.writeText(g), d(!0), setTimeout(() => d(!1),
|
|
2455
|
+
await navigator.clipboard.writeText(g), d(!0), setTimeout(() => d(!1), Pt);
|
|
2456
2456
|
} catch {
|
|
2457
2457
|
}
|
|
2458
2458
|
}, b = {
|
|
@@ -2472,17 +2472,17 @@ function Aa({
|
|
|
2472
2472
|
}, y = () => /* @__PURE__ */ f(
|
|
2473
2473
|
"button",
|
|
2474
2474
|
{
|
|
2475
|
-
onClick:
|
|
2475
|
+
onClick: x,
|
|
2476
2476
|
"aria-label": m ? "Copied!" : "Copy code",
|
|
2477
2477
|
style: b,
|
|
2478
|
-
onMouseEnter: (
|
|
2479
|
-
m || (
|
|
2478
|
+
onMouseEnter: (C) => {
|
|
2479
|
+
m || (C.currentTarget.style.background = "var(--lucent-surface-secondary)", C.currentTarget.style.color = "var(--lucent-text-primary)");
|
|
2480
2480
|
},
|
|
2481
|
-
onMouseLeave: (
|
|
2482
|
-
m || (
|
|
2481
|
+
onMouseLeave: (C) => {
|
|
2482
|
+
m || (C.currentTarget.style.background = "transparent", C.currentTarget.style.color = "var(--lucent-text-secondary)");
|
|
2483
2483
|
},
|
|
2484
2484
|
children: [
|
|
2485
|
-
m ? /* @__PURE__ */ n(
|
|
2485
|
+
m ? /* @__PURE__ */ n(Ht, {}) : /* @__PURE__ */ n(Wt, {}),
|
|
2486
2486
|
m ? "Copied!" : "Copy"
|
|
2487
2487
|
]
|
|
2488
2488
|
}
|
|
@@ -2507,13 +2507,13 @@ function Aa({
|
|
|
2507
2507
|
borderBottom: "1px solid var(--lucent-border-default)",
|
|
2508
2508
|
padding: "0 var(--lucent-space-2)"
|
|
2509
2509
|
},
|
|
2510
|
-
children: a.map((
|
|
2511
|
-
const
|
|
2510
|
+
children: a.map((C, S) => {
|
|
2511
|
+
const T = S === s;
|
|
2512
2512
|
return /* @__PURE__ */ f(
|
|
2513
2513
|
"button",
|
|
2514
2514
|
{
|
|
2515
2515
|
onClick: () => {
|
|
2516
|
-
|
|
2516
|
+
u(S), d(!1);
|
|
2517
2517
|
},
|
|
2518
2518
|
style: {
|
|
2519
2519
|
display: "inline-flex",
|
|
@@ -2521,47 +2521,47 @@ function Aa({
|
|
|
2521
2521
|
gap: "var(--lucent-space-1)",
|
|
2522
2522
|
padding: "var(--lucent-space-2) var(--lucent-space-3)",
|
|
2523
2523
|
border: "none",
|
|
2524
|
-
borderBottom:
|
|
2524
|
+
borderBottom: T ? "2px solid var(--lucent-accent-default)" : "2px solid transparent",
|
|
2525
2525
|
marginBottom: -1,
|
|
2526
2526
|
background: "transparent",
|
|
2527
|
-
color:
|
|
2527
|
+
color: T ? "var(--lucent-text-primary)" : "var(--lucent-text-secondary)",
|
|
2528
2528
|
fontFamily: "var(--lucent-font-family-base)",
|
|
2529
2529
|
fontSize: "var(--lucent-font-size-sm)",
|
|
2530
|
-
fontWeight:
|
|
2530
|
+
fontWeight: T ? "var(--lucent-font-weight-semibold)" : "var(--lucent-font-weight-regular)",
|
|
2531
2531
|
cursor: "pointer",
|
|
2532
2532
|
transition: "color var(--lucent-duration-fast) var(--lucent-easing-default)",
|
|
2533
2533
|
whiteSpace: "nowrap"
|
|
2534
2534
|
},
|
|
2535
2535
|
onMouseEnter: (E) => {
|
|
2536
|
-
|
|
2536
|
+
T || (E.currentTarget.style.color = "var(--lucent-text-primary)");
|
|
2537
2537
|
},
|
|
2538
2538
|
onMouseLeave: (E) => {
|
|
2539
|
-
|
|
2539
|
+
T || (E.currentTarget.style.color = "var(--lucent-text-secondary)");
|
|
2540
2540
|
},
|
|
2541
2541
|
children: [
|
|
2542
|
-
|
|
2543
|
-
|
|
2542
|
+
C.icon !== void 0 && /* @__PURE__ */ n("span", { style: { display: "inline-flex", alignItems: "center" }, children: C.icon }),
|
|
2543
|
+
C.label
|
|
2544
2544
|
]
|
|
2545
2545
|
},
|
|
2546
|
-
|
|
2546
|
+
C.label
|
|
2547
2547
|
);
|
|
2548
2548
|
})
|
|
2549
2549
|
}
|
|
2550
2550
|
),
|
|
2551
|
-
!c && (!!
|
|
2551
|
+
!c && (!!p || i) && /* @__PURE__ */ f(
|
|
2552
2552
|
"div",
|
|
2553
2553
|
{
|
|
2554
2554
|
style: {
|
|
2555
2555
|
display: "flex",
|
|
2556
2556
|
alignItems: "center",
|
|
2557
|
-
justifyContent:
|
|
2557
|
+
justifyContent: p ? "space-between" : "flex-end",
|
|
2558
2558
|
padding: "0 var(--lucent-space-3)",
|
|
2559
2559
|
height: 36,
|
|
2560
2560
|
background: "var(--lucent-surface-secondary)",
|
|
2561
2561
|
borderBottom: "1px solid var(--lucent-border-default)"
|
|
2562
2562
|
},
|
|
2563
2563
|
children: [
|
|
2564
|
-
|
|
2564
|
+
p && /* @__PURE__ */ n(
|
|
2565
2565
|
"span",
|
|
2566
2566
|
{
|
|
2567
2567
|
style: {
|
|
@@ -2570,7 +2570,7 @@ function Aa({
|
|
|
2570
2570
|
color: "var(--lucent-text-secondary)",
|
|
2571
2571
|
letterSpacing: "var(--lucent-letter-spacing-wide)"
|
|
2572
2572
|
},
|
|
2573
|
-
children:
|
|
2573
|
+
children: p
|
|
2574
2574
|
}
|
|
2575
2575
|
),
|
|
2576
2576
|
i && /* @__PURE__ */ n(y, {})
|
|
@@ -2654,7 +2654,7 @@ function Aa({
|
|
|
2654
2654
|
}
|
|
2655
2655
|
);
|
|
2656
2656
|
}
|
|
2657
|
-
const
|
|
2657
|
+
const La = {
|
|
2658
2658
|
id: "code-block",
|
|
2659
2659
|
name: "CodeBlock",
|
|
2660
2660
|
tier: "atom",
|
|
@@ -2736,7 +2736,7 @@ const Ea = {
|
|
|
2736
2736
|
"Enter / Space — copies the code"
|
|
2737
2737
|
]
|
|
2738
2738
|
}
|
|
2739
|
-
},
|
|
2739
|
+
}, Vt = `
|
|
2740
2740
|
.lucent-table-row:hover > td,
|
|
2741
2741
|
.lucent-table-row:hover > th {
|
|
2742
2742
|
background: var(--lucent-surface-secondary) !important;
|
|
@@ -2746,7 +2746,7 @@ const Ea = {
|
|
|
2746
2746
|
background: var(--lucent-surface-secondary);
|
|
2747
2747
|
}
|
|
2748
2748
|
`;
|
|
2749
|
-
function
|
|
2749
|
+
function Ot({ children: e, style: t, ...a }) {
|
|
2750
2750
|
return /* @__PURE__ */ n(
|
|
2751
2751
|
"thead",
|
|
2752
2752
|
{
|
|
@@ -2759,10 +2759,10 @@ function Wt({ children: e, style: t, ...a }) {
|
|
|
2759
2759
|
}
|
|
2760
2760
|
);
|
|
2761
2761
|
}
|
|
2762
|
-
function
|
|
2762
|
+
function jt({ children: e, ...t }) {
|
|
2763
2763
|
return /* @__PURE__ */ n("tbody", { ...t, children: e });
|
|
2764
2764
|
}
|
|
2765
|
-
function
|
|
2765
|
+
function Gt({ children: e, style: t, ...a }) {
|
|
2766
2766
|
return /* @__PURE__ */ n(
|
|
2767
2767
|
"tfoot",
|
|
2768
2768
|
{
|
|
@@ -2775,7 +2775,7 @@ function Vt({ children: e, style: t, ...a }) {
|
|
|
2775
2775
|
}
|
|
2776
2776
|
);
|
|
2777
2777
|
}
|
|
2778
|
-
function
|
|
2778
|
+
function Ut({ children: e, className: t, ...a }) {
|
|
2779
2779
|
return /* @__PURE__ */ n(
|
|
2780
2780
|
"tr",
|
|
2781
2781
|
{
|
|
@@ -2785,7 +2785,7 @@ function Ot({ children: e, className: t, ...a }) {
|
|
|
2785
2785
|
}
|
|
2786
2786
|
);
|
|
2787
2787
|
}
|
|
2788
|
-
function
|
|
2788
|
+
function _t({ as: e, children: t, style: a, ...o }) {
|
|
2789
2789
|
const r = e === "th", i = {
|
|
2790
2790
|
padding: "var(--lucent-space-3) var(--lucent-space-4)",
|
|
2791
2791
|
fontFamily: "var(--lucent-font-family-base)",
|
|
@@ -2800,14 +2800,14 @@ function jt({ as: e, children: t, style: a, ...o }) {
|
|
|
2800
2800
|
};
|
|
2801
2801
|
return r ? /* @__PURE__ */ n("th", { scope: "col", style: i, ...o, children: t }) : /* @__PURE__ */ n("td", { style: i, ...o, children: t });
|
|
2802
2802
|
}
|
|
2803
|
-
function
|
|
2803
|
+
function ie({ striped: e = !1, children: t, className: a, style: o, ...r }) {
|
|
2804
2804
|
const i = [
|
|
2805
2805
|
"lucent-table",
|
|
2806
2806
|
e && "lucent-table-striped",
|
|
2807
2807
|
a
|
|
2808
2808
|
].filter(Boolean).join(" ");
|
|
2809
|
-
return /* @__PURE__ */ f(
|
|
2810
|
-
/* @__PURE__ */ n("style", { children:
|
|
2809
|
+
return /* @__PURE__ */ f(Y, { children: [
|
|
2810
|
+
/* @__PURE__ */ n("style", { children: Vt }),
|
|
2811
2811
|
/* @__PURE__ */ n("div", { style: { overflowX: "auto", width: "100%" }, children: /* @__PURE__ */ n(
|
|
2812
2812
|
"table",
|
|
2813
2813
|
{
|
|
@@ -2825,12 +2825,12 @@ function re({ striped: e = !1, children: t, className: a, style: o, ...r }) {
|
|
|
2825
2825
|
) })
|
|
2826
2826
|
] });
|
|
2827
2827
|
}
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
const
|
|
2828
|
+
ie.Head = Ot;
|
|
2829
|
+
ie.Body = jt;
|
|
2830
|
+
ie.Foot = Gt;
|
|
2831
|
+
ie.Row = Ut;
|
|
2832
|
+
ie.Cell = _t;
|
|
2833
|
+
const Ba = {
|
|
2834
2834
|
id: "table",
|
|
2835
2835
|
name: "Table",
|
|
2836
2836
|
tier: "atom",
|
|
@@ -2921,16 +2921,16 @@ const qa = {
|
|
|
2921
2921
|
ariaAttributes: ['scope="col" on th cells'],
|
|
2922
2922
|
keyboardInteractions: ["Standard browser table navigation"]
|
|
2923
2923
|
}
|
|
2924
|
-
},
|
|
2924
|
+
}, qe = { sm: "30px", md: "36px", lg: "42px" }, Kt = {
|
|
2925
2925
|
sm: "var(--lucent-font-size-sm)",
|
|
2926
2926
|
md: "var(--lucent-font-size-sm)",
|
|
2927
2927
|
lg: "var(--lucent-font-size-md)"
|
|
2928
|
-
},
|
|
2928
|
+
}, Yt = {
|
|
2929
2929
|
sm: "var(--lucent-space-2)",
|
|
2930
2930
|
md: "var(--lucent-space-3)",
|
|
2931
2931
|
lg: "var(--lucent-space-4)"
|
|
2932
2932
|
};
|
|
2933
|
-
function
|
|
2933
|
+
function Ue({
|
|
2934
2934
|
options: e,
|
|
2935
2935
|
value: t,
|
|
2936
2936
|
defaultValue: a,
|
|
@@ -2942,14 +2942,14 @@ function Oe({
|
|
|
2942
2942
|
style: s
|
|
2943
2943
|
}) {
|
|
2944
2944
|
var h;
|
|
2945
|
-
const [
|
|
2945
|
+
const [u, m] = z(
|
|
2946
2946
|
a ?? ((h = e[0]) == null ? void 0 : h.value) ?? ""
|
|
2947
|
-
), d = t !== void 0 ? t :
|
|
2948
|
-
|
|
2947
|
+
), d = t !== void 0 ? t : u, g = N(null), [p, x] = z(null), b = N(!1);
|
|
2948
|
+
be(() => {
|
|
2949
2949
|
const v = g.current;
|
|
2950
2950
|
if (!v) return;
|
|
2951
|
-
const
|
|
2952
|
-
|
|
2951
|
+
const C = v.querySelector(`[data-sc-value="${d}"]`);
|
|
2952
|
+
C && (x({ left: C.offsetLeft, width: C.offsetWidth, animate: b.current }), b.current = !0);
|
|
2953
2953
|
}, [d, e]);
|
|
2954
2954
|
const y = (v) => {
|
|
2955
2955
|
i || v.disabled || (t === void 0 && m(v.value), o == null || o(v.value));
|
|
@@ -2965,7 +2965,7 @@ function Oe({
|
|
|
2965
2965
|
display: "flex",
|
|
2966
2966
|
alignItems: "center",
|
|
2967
2967
|
width: l ? "100%" : "fit-content",
|
|
2968
|
-
height:
|
|
2968
|
+
height: qe[r],
|
|
2969
2969
|
background: "var(--lucent-surface-secondary)",
|
|
2970
2970
|
borderRadius: "var(--lucent-radius-lg)",
|
|
2971
2971
|
padding: 2,
|
|
@@ -2974,35 +2974,35 @@ function Oe({
|
|
|
2974
2974
|
...s
|
|
2975
2975
|
},
|
|
2976
2976
|
children: [
|
|
2977
|
-
|
|
2977
|
+
p && /* @__PURE__ */ n(
|
|
2978
2978
|
"span",
|
|
2979
2979
|
{
|
|
2980
2980
|
"aria-hidden": !0,
|
|
2981
2981
|
style: {
|
|
2982
2982
|
position: "absolute",
|
|
2983
2983
|
top: 2,
|
|
2984
|
-
left:
|
|
2985
|
-
width:
|
|
2984
|
+
left: p.left,
|
|
2985
|
+
width: p.width,
|
|
2986
2986
|
height: "calc(100% - 4px)",
|
|
2987
2987
|
background: "var(--lucent-surface)",
|
|
2988
2988
|
borderRadius: "var(--lucent-radius-md)",
|
|
2989
2989
|
boxShadow: "0 1px 2px rgba(0,0,0,0.1)",
|
|
2990
|
-
transition:
|
|
2990
|
+
transition: p.animate ? "left var(--lucent-duration-base) var(--lucent-easing-default), width var(--lucent-duration-base) var(--lucent-easing-default)" : "none",
|
|
2991
2991
|
zIndex: 0,
|
|
2992
2992
|
pointerEvents: "none"
|
|
2993
2993
|
}
|
|
2994
2994
|
}
|
|
2995
2995
|
),
|
|
2996
2996
|
e.map((v) => {
|
|
2997
|
-
const
|
|
2997
|
+
const C = v.value === d, S = i || !!v.disabled;
|
|
2998
2998
|
return /* @__PURE__ */ n(
|
|
2999
2999
|
"button",
|
|
3000
3000
|
{
|
|
3001
3001
|
"data-sc-value": v.value,
|
|
3002
3002
|
type: "button",
|
|
3003
3003
|
role: "radio",
|
|
3004
|
-
"aria-checked":
|
|
3005
|
-
disabled:
|
|
3004
|
+
"aria-checked": C,
|
|
3005
|
+
disabled: S,
|
|
3006
3006
|
onClick: () => y(v),
|
|
3007
3007
|
style: {
|
|
3008
3008
|
position: "relative",
|
|
@@ -3012,16 +3012,16 @@ function Oe({
|
|
|
3012
3012
|
justifyContent: "center",
|
|
3013
3013
|
gap: "var(--lucent-space-1)",
|
|
3014
3014
|
flex: 1,
|
|
3015
|
-
height: `calc(${
|
|
3016
|
-
padding: `0 ${
|
|
3017
|
-
fontSize:
|
|
3015
|
+
height: `calc(${qe[r]} - 4px)`,
|
|
3016
|
+
padding: `0 ${Yt[r]}`,
|
|
3017
|
+
fontSize: Kt[r],
|
|
3018
3018
|
fontFamily: "var(--lucent-font-family-base)",
|
|
3019
|
-
fontWeight:
|
|
3020
|
-
color:
|
|
3019
|
+
fontWeight: C ? "var(--lucent-font-weight-medium)" : "var(--lucent-font-weight-regular)",
|
|
3020
|
+
color: S ? "var(--lucent-text-disabled)" : C ? "var(--lucent-text-primary)" : "var(--lucent-text-secondary)",
|
|
3021
3021
|
background: "transparent",
|
|
3022
3022
|
border: "none",
|
|
3023
3023
|
borderRadius: "var(--lucent-radius-md)",
|
|
3024
|
-
cursor:
|
|
3024
|
+
cursor: S ? "not-allowed" : "pointer",
|
|
3025
3025
|
outline: "none",
|
|
3026
3026
|
whiteSpace: "nowrap",
|
|
3027
3027
|
transition: [
|
|
@@ -3029,11 +3029,11 @@ function Oe({
|
|
|
3029
3029
|
"font-weight var(--lucent-duration-fast) var(--lucent-easing-default)"
|
|
3030
3030
|
].join(", ")
|
|
3031
3031
|
},
|
|
3032
|
-
onFocus: (
|
|
3033
|
-
|
|
3032
|
+
onFocus: (T) => {
|
|
3033
|
+
T.currentTarget.style.boxShadow = "0 0 0 2px var(--lucent-accent-subtle)";
|
|
3034
3034
|
},
|
|
3035
|
-
onBlur: (
|
|
3036
|
-
|
|
3035
|
+
onBlur: (T) => {
|
|
3036
|
+
T.currentTarget.style.boxShadow = "none";
|
|
3037
3037
|
},
|
|
3038
3038
|
children: v.label
|
|
3039
3039
|
},
|
|
@@ -3044,23 +3044,23 @@ function Oe({
|
|
|
3044
3044
|
}
|
|
3045
3045
|
);
|
|
3046
3046
|
}
|
|
3047
|
-
|
|
3048
|
-
const
|
|
3047
|
+
Ue.displayName = "SegmentedControl";
|
|
3048
|
+
const Xt = {
|
|
3049
3049
|
xs: 12,
|
|
3050
3050
|
sm: 16,
|
|
3051
3051
|
md: 22,
|
|
3052
3052
|
lg: 28,
|
|
3053
3053
|
xl: 36,
|
|
3054
3054
|
"2xl": 48
|
|
3055
|
-
},
|
|
3055
|
+
}, Jt = {
|
|
3056
3056
|
xs: "var(--lucent-radius-sm)",
|
|
3057
3057
|
sm: "var(--lucent-radius-sm)",
|
|
3058
3058
|
md: "var(--lucent-radius-md)",
|
|
3059
3059
|
lg: "var(--lucent-radius-md)",
|
|
3060
3060
|
xl: "var(--lucent-radius-lg)",
|
|
3061
3061
|
"2xl": "var(--lucent-radius-lg)"
|
|
3062
|
-
},
|
|
3063
|
-
function
|
|
3062
|
+
}, Re = "inset 0 0 0 1px rgba(0,0,0,0.2)", Le = "inset 0 0 0 2px rgba(0,0,0,0.5)", Zt = "inset 0 0 0 1px rgba(0,0,0,0.2), 0 0 0 3px var(--lucent-accent-subtle)";
|
|
3063
|
+
function Qt(e) {
|
|
3064
3064
|
return {
|
|
3065
3065
|
backgroundImage: [
|
|
3066
3066
|
`linear-gradient(${e}, ${e})`,
|
|
@@ -3074,7 +3074,7 @@ function Xt(e) {
|
|
|
3074
3074
|
backgroundColor: "#fff"
|
|
3075
3075
|
};
|
|
3076
3076
|
}
|
|
3077
|
-
const
|
|
3077
|
+
const pe = ne(({
|
|
3078
3078
|
color: e,
|
|
3079
3079
|
size: t = "md",
|
|
3080
3080
|
shape: a = "circle",
|
|
@@ -3084,74 +3084,74 @@ const de = ee(({
|
|
|
3084
3084
|
style: l,
|
|
3085
3085
|
onFocus: c,
|
|
3086
3086
|
onBlur: s,
|
|
3087
|
-
onClick:
|
|
3087
|
+
onClick: u,
|
|
3088
3088
|
...m
|
|
3089
3089
|
}, d) => {
|
|
3090
|
-
const g =
|
|
3090
|
+
const g = Xt[t], p = a === "circle" ? "50%" : Jt[t];
|
|
3091
3091
|
return /* @__PURE__ */ n(
|
|
3092
3092
|
"button",
|
|
3093
3093
|
{
|
|
3094
3094
|
ref: d,
|
|
3095
3095
|
type: "button",
|
|
3096
3096
|
disabled: i,
|
|
3097
|
-
onClick:
|
|
3097
|
+
onClick: u,
|
|
3098
3098
|
style: {
|
|
3099
3099
|
width: g,
|
|
3100
3100
|
height: g,
|
|
3101
3101
|
flexShrink: 0,
|
|
3102
|
-
...o ?
|
|
3102
|
+
...o ? Qt(e) : { background: e },
|
|
3103
3103
|
border: "none",
|
|
3104
|
-
borderRadius:
|
|
3105
|
-
cursor: i ? "not-allowed" :
|
|
3104
|
+
borderRadius: p,
|
|
3105
|
+
cursor: i ? "not-allowed" : u ? "pointer" : "default",
|
|
3106
3106
|
padding: 0,
|
|
3107
3107
|
outline: "none",
|
|
3108
3108
|
opacity: i ? 0.4 : 1,
|
|
3109
|
-
boxShadow: r ?
|
|
3109
|
+
boxShadow: r ? Le : Re,
|
|
3110
3110
|
transition: "box-shadow var(--lucent-duration-fast) var(--lucent-easing-default)",
|
|
3111
3111
|
...l
|
|
3112
3112
|
},
|
|
3113
|
-
onFocus: (
|
|
3114
|
-
i || (
|
|
3113
|
+
onFocus: (x) => {
|
|
3114
|
+
i || (x.currentTarget.style.boxShadow = Zt), c == null || c(x);
|
|
3115
3115
|
},
|
|
3116
|
-
onBlur: (
|
|
3117
|
-
|
|
3116
|
+
onBlur: (x) => {
|
|
3117
|
+
x.currentTarget.style.boxShadow = r ? Le : Re, s == null || s(x);
|
|
3118
3118
|
},
|
|
3119
3119
|
...m
|
|
3120
3120
|
}
|
|
3121
3121
|
);
|
|
3122
3122
|
});
|
|
3123
|
-
|
|
3124
|
-
function
|
|
3123
|
+
pe.displayName = "ColorSwatch";
|
|
3124
|
+
function he(e, t, a) {
|
|
3125
3125
|
return Math.max(t, Math.min(a, e));
|
|
3126
3126
|
}
|
|
3127
|
-
function
|
|
3127
|
+
function en(e, t, a) {
|
|
3128
3128
|
const o = t / 100, r = a / 100, i = r * o, l = i * (1 - Math.abs(e / 60 % 2 - 1)), c = r - i;
|
|
3129
|
-
let s = 0,
|
|
3130
|
-
return e < 60 ? (s = i,
|
|
3129
|
+
let s = 0, u = 0, m = 0;
|
|
3130
|
+
return e < 60 ? (s = i, u = l) : e < 120 ? (s = l, u = i) : e < 180 ? (u = i, m = l) : e < 240 ? (u = l, m = i) : e < 300 ? (s = l, m = i) : (s = i, m = l), { r: Math.round((s + c) * 255), g: Math.round((u + c) * 255), b: Math.round((m + c) * 255) };
|
|
3131
3131
|
}
|
|
3132
|
-
function
|
|
3133
|
-
const o = e / 255, r = t / 255, i = a / 255, l = Math.max(o, r, i), c = Math.min(o, r, i), s = l - c,
|
|
3132
|
+
function tn(e, t, a) {
|
|
3133
|
+
const o = e / 255, r = t / 255, i = a / 255, l = Math.max(o, r, i), c = Math.min(o, r, i), s = l - c, u = l, m = l === 0 ? 0 : s / l;
|
|
3134
3134
|
let d = 0;
|
|
3135
|
-
return s !== 0 && (l === o ? d = ((r - i) / s + (r < i ? 6 : 0)) / 6 : l === r ? d = ((i - o) / s + 2) / 6 : d = ((o - r) / s + 4) / 6), { h: Math.round(d * 360), s: Math.round(m * 100), v: Math.round(
|
|
3135
|
+
return s !== 0 && (l === o ? d = ((r - i) / s + (r < i ? 6 : 0)) / 6 : l === r ? d = ((i - o) / s + 2) / 6 : d = ((o - r) / s + 4) / 6), { h: Math.round(d * 360), s: Math.round(m * 100), v: Math.round(u * 100) };
|
|
3136
3136
|
}
|
|
3137
|
-
function
|
|
3137
|
+
function nn(e, t, a) {
|
|
3138
3138
|
const o = e / 255, r = t / 255, i = a / 255, l = Math.max(o, r, i), c = Math.min(o, r, i), s = (l + c) / 2;
|
|
3139
3139
|
if (l === c) return { h: 0, s: 0, l: Math.round(s * 100) };
|
|
3140
|
-
const
|
|
3140
|
+
const u = l - c, m = s > 0.5 ? u / (2 - l - c) : u / (l + c);
|
|
3141
3141
|
let d = 0;
|
|
3142
|
-
return l === o ? d = ((r - i) /
|
|
3142
|
+
return l === o ? d = ((r - i) / u + (r < i ? 6 : 0)) / 6 : l === r ? d = ((i - o) / u + 2) / 6 : d = ((o - r) / u + 4) / 6, { h: Math.round(d * 360), s: Math.round(m * 100), l: Math.round(s * 100) };
|
|
3143
3143
|
}
|
|
3144
|
-
function
|
|
3144
|
+
function fe(e, t, a) {
|
|
3145
3145
|
const o = t / 100, r = a / 100, i = (1 - Math.abs(2 * r - 1)) * o, l = i * (1 - Math.abs(e / 60 % 2 - 1)), c = r - i / 2;
|
|
3146
|
-
let s = 0,
|
|
3147
|
-
return e < 60 ? (s = i,
|
|
3146
|
+
let s = 0, u = 0, m = 0;
|
|
3147
|
+
return e < 60 ? (s = i, u = l) : e < 120 ? (s = l, u = i) : e < 180 ? (u = i, m = l) : e < 240 ? (u = l, m = i) : e < 300 ? (s = l, m = i) : (s = i, m = l), { r: Math.round((s + c) * 255), g: Math.round((u + c) * 255), b: Math.round((m + c) * 255) };
|
|
3148
3148
|
}
|
|
3149
|
-
function
|
|
3149
|
+
function Me(e) {
|
|
3150
3150
|
const t = e.replace("#", "");
|
|
3151
3151
|
return t.length === 3 ? `#${t[0]}${t[0]}${t[1]}${t[1]}${t[2]}${t[2]}` : t.length === 6 || t.length === 8 ? `#${t}` : "#000000";
|
|
3152
3152
|
}
|
|
3153
|
-
function
|
|
3154
|
-
const t =
|
|
3153
|
+
function _e(e) {
|
|
3154
|
+
const t = Me(e);
|
|
3155
3155
|
return {
|
|
3156
3156
|
r: parseInt(t.slice(1, 3), 16),
|
|
3157
3157
|
g: parseInt(t.slice(3, 5), 16),
|
|
@@ -3159,24 +3159,24 @@ function je(e) {
|
|
|
3159
3159
|
a: t.length === 9 ? +(parseInt(t.slice(7, 9), 16) / 255).toFixed(2) : 1
|
|
3160
3160
|
};
|
|
3161
3161
|
}
|
|
3162
|
-
function
|
|
3163
|
-
const r = (l) =>
|
|
3162
|
+
function ke({ r: e, g: t, b: a, a: o }) {
|
|
3163
|
+
const r = (l) => he(Math.round(l), 0, 255).toString(16).padStart(2, "0"), i = `#${r(e)}${r(t)}${r(a)}`;
|
|
3164
3164
|
return o < 1 ? `${i}${r(Math.round(o * 255))}` : i;
|
|
3165
3165
|
}
|
|
3166
|
-
function
|
|
3167
|
-
return { ...
|
|
3166
|
+
function Ke({ h: e, s: t, v: a, a: o }) {
|
|
3167
|
+
return { ...en(e, t, a), a: o };
|
|
3168
3168
|
}
|
|
3169
|
-
function
|
|
3170
|
-
return { ...
|
|
3169
|
+
function K({ r: e, g: t, b: a, a: o }) {
|
|
3170
|
+
return { ...tn(e, t, a), a: o };
|
|
3171
3171
|
}
|
|
3172
|
-
function
|
|
3173
|
-
return
|
|
3172
|
+
function le(e) {
|
|
3173
|
+
return ke(Ke(e));
|
|
3174
3174
|
}
|
|
3175
|
-
function
|
|
3175
|
+
function se(e) {
|
|
3176
3176
|
const t = e.trim();
|
|
3177
3177
|
if (t.startsWith("#")) {
|
|
3178
|
-
const r =
|
|
3179
|
-
return /^#[0-9a-f]{6}([0-9a-f]{2})?$/i.test(r) ?
|
|
3178
|
+
const r = Me(t);
|
|
3179
|
+
return /^#[0-9a-f]{6}([0-9a-f]{2})?$/i.test(r) ? _e(r) : null;
|
|
3180
3180
|
}
|
|
3181
3181
|
const a = t.match(/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})(?:\s*,\s*([\d.]+))?\s*\)$/);
|
|
3182
3182
|
if (a) {
|
|
@@ -3186,11 +3186,11 @@ function ie(e) {
|
|
|
3186
3186
|
const o = t.match(/^hsl\(\s*(\d{1,3})\s*,\s*(\d{1,3})%?\s*,\s*(\d{1,3})%?\s*\)$/);
|
|
3187
3187
|
if (o) {
|
|
3188
3188
|
const r = +(o[1] ?? "0"), i = +(o[2] ?? "0"), l = +(o[3] ?? "0");
|
|
3189
|
-
return r <= 360 && i <= 100 && l <= 100 ? { ...
|
|
3189
|
+
return r <= 360 && i <= 100 && l <= 100 ? { ...fe(r, i, l), a: 1 } : null;
|
|
3190
3190
|
}
|
|
3191
3191
|
return null;
|
|
3192
3192
|
}
|
|
3193
|
-
const
|
|
3193
|
+
const an = [
|
|
3194
3194
|
{
|
|
3195
3195
|
label: "Presets",
|
|
3196
3196
|
colors: [
|
|
@@ -3205,16 +3205,16 @@ const en = [
|
|
|
3205
3205
|
"#e11d48"
|
|
3206
3206
|
]
|
|
3207
3207
|
}
|
|
3208
|
-
],
|
|
3208
|
+
], rn = [
|
|
3209
3209
|
"linear-gradient(45deg, #c0c0c0 25%, transparent 25%)",
|
|
3210
3210
|
"linear-gradient(-45deg, #c0c0c0 25%, transparent 25%)",
|
|
3211
3211
|
"linear-gradient(45deg, transparent 75%, #c0c0c0 75%)",
|
|
3212
3212
|
"linear-gradient(-45deg, transparent 75%, #c0c0c0 75%)"
|
|
3213
3213
|
].join(", ");
|
|
3214
|
-
function
|
|
3215
|
-
const l = N(null), [c, s] =
|
|
3216
|
-
const g = l.current.getBoundingClientRect(),
|
|
3217
|
-
o(t +
|
|
3214
|
+
function Be({ value: e, min: t, max: a, onChange: o, trackStyle: r, formatTooltip: i }) {
|
|
3215
|
+
const l = N(null), [c, s] = z(!1), u = ee((d) => {
|
|
3216
|
+
const g = l.current.getBoundingClientRect(), p = he((d.clientX - g.left) / g.width, 0, 1);
|
|
3217
|
+
o(t + p * (a - t));
|
|
3218
3218
|
}, [t, a, o]), m = (e - t) / (a - t) * 100;
|
|
3219
3219
|
return /* @__PURE__ */ n(
|
|
3220
3220
|
"div",
|
|
@@ -3222,10 +3222,10 @@ function qe({ value: e, min: t, max: a, onChange: o, trackStyle: r, formatToolti
|
|
|
3222
3222
|
ref: l,
|
|
3223
3223
|
style: { position: "relative", height: 12, borderRadius: 6, cursor: "crosshair", userSelect: "none", ...r },
|
|
3224
3224
|
onPointerDown: (d) => {
|
|
3225
|
-
d.currentTarget.setPointerCapture(d.pointerId), s(!0),
|
|
3225
|
+
d.currentTarget.setPointerCapture(d.pointerId), s(!0), u(d);
|
|
3226
3226
|
},
|
|
3227
3227
|
onPointerMove: (d) => {
|
|
3228
|
-
d.buttons > 0 &&
|
|
3228
|
+
d.buttons > 0 && u(d);
|
|
3229
3229
|
},
|
|
3230
3230
|
onPointerUp: () => s(!1),
|
|
3231
3231
|
onPointerCancel: () => s(!1),
|
|
@@ -3267,62 +3267,66 @@ function qe({ value: e, min: t, max: a, onChange: o, trackStyle: r, formatToolti
|
|
|
3267
3267
|
}
|
|
3268
3268
|
);
|
|
3269
3269
|
}
|
|
3270
|
-
function
|
|
3270
|
+
function on() {
|
|
3271
3271
|
return /* @__PURE__ */ f("svg", { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
|
|
3272
3272
|
/* @__PURE__ */ n("path", { d: "M2 22l1-1h3l9-9" }),
|
|
3273
3273
|
/* @__PURE__ */ n("path", { d: "M3 21v-3l9-9" }),
|
|
3274
3274
|
/* @__PURE__ */ n("path", { d: "M15 6l3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z" })
|
|
3275
3275
|
] });
|
|
3276
3276
|
}
|
|
3277
|
-
function
|
|
3277
|
+
function ln({
|
|
3278
3278
|
value: e,
|
|
3279
3279
|
onChange: t,
|
|
3280
3280
|
label: a,
|
|
3281
3281
|
disabled: o = !1,
|
|
3282
|
-
presetGroups: r =
|
|
3282
|
+
presetGroups: r = an,
|
|
3283
3283
|
id: i,
|
|
3284
3284
|
style: l
|
|
3285
3285
|
}) {
|
|
3286
|
-
var
|
|
3287
|
-
const c =
|
|
3288
|
-
const k = e ?
|
|
3289
|
-
return
|
|
3290
|
-
}), [h, v] =
|
|
3291
|
-
|
|
3286
|
+
var X, De;
|
|
3287
|
+
const c = Ie(), s = i ?? c, [u, m] = z(!1), [d, g] = z("hex"), [p, x] = z(0), [b, y] = z(() => {
|
|
3288
|
+
const k = e ? se(e) ?? { r: 0, g: 0, b: 0, a: 1 } : { r: 0, g: 0, b: 0, a: 1 };
|
|
3289
|
+
return K(k);
|
|
3290
|
+
}), [h, v] = z(() => le(b).slice(1).toUpperCase()), C = N(null), S = N(null), T = N(null), [E, B] = z(!1);
|
|
3291
|
+
be(() => {
|
|
3292
|
+
if (!u || !T.current) return;
|
|
3293
|
+
const k = T.current.getBoundingClientRect();
|
|
3294
|
+
B(k.right > window.innerWidth);
|
|
3295
|
+
}, [u]), O(() => {
|
|
3292
3296
|
if (!e) return;
|
|
3293
|
-
const k =
|
|
3294
|
-
k && (y(
|
|
3297
|
+
const k = se(e);
|
|
3298
|
+
k && (y(K(k)), v(ke(k).slice(1).toUpperCase()));
|
|
3295
3299
|
}, [e]), O(() => {
|
|
3296
|
-
if (!
|
|
3297
|
-
const k = (
|
|
3298
|
-
|
|
3300
|
+
if (!u) return;
|
|
3301
|
+
const k = (R) => {
|
|
3302
|
+
C.current && !C.current.contains(R.target) && m(!1);
|
|
3299
3303
|
};
|
|
3300
3304
|
return document.addEventListener("mousedown", k), () => document.removeEventListener("mousedown", k);
|
|
3301
|
-
}, [
|
|
3302
|
-
const
|
|
3305
|
+
}, [u]);
|
|
3306
|
+
const w = ee((k) => {
|
|
3303
3307
|
y(k);
|
|
3304
|
-
const
|
|
3305
|
-
v(
|
|
3306
|
-
}, [t]),
|
|
3307
|
-
const
|
|
3308
|
-
|
|
3309
|
-
}, [b,
|
|
3308
|
+
const R = le(k);
|
|
3309
|
+
v(R.slice(1).toUpperCase()), t == null || t(R);
|
|
3310
|
+
}, [t]), I = ee((k) => {
|
|
3311
|
+
const R = S.current.getBoundingClientRect(), P = Math.round(he((k.clientX - R.left) / R.width, 0, 1) * 100), V = Math.round((1 - he((k.clientY - R.top) / R.height, 0, 1)) * 100);
|
|
3312
|
+
w({ ...b, s: P, v: V });
|
|
3313
|
+
}, [b, w]), G = ee(async () => {
|
|
3310
3314
|
if ("EyeDropper" in window)
|
|
3311
3315
|
try {
|
|
3312
|
-
const k = await new window.EyeDropper().open(),
|
|
3313
|
-
|
|
3316
|
+
const k = await new window.EyeDropper().open(), R = se(k.sRGBHex);
|
|
3317
|
+
R && w(K(R));
|
|
3314
3318
|
} catch {
|
|
3315
3319
|
}
|
|
3316
|
-
}, [
|
|
3320
|
+
}, [w]), q = Ke(b), D = nn(q.r, q.g, q.b), M = le(b), A = le({ ...b, a: 1 }), $ = Math.round(b.a * 100), U = [
|
|
3317
3321
|
{ id: "hex", label: "Hex" },
|
|
3318
3322
|
{ id: "rgb", label: "RGB" },
|
|
3319
3323
|
{ id: "hsl", label: "HSL" },
|
|
3320
3324
|
{ id: "hsb", label: "HSB" }
|
|
3321
|
-
],
|
|
3325
|
+
], _ = typeof window < "u" && "EyeDropper" in window;
|
|
3322
3326
|
return /* @__PURE__ */ f(
|
|
3323
3327
|
"div",
|
|
3324
3328
|
{
|
|
3325
|
-
ref:
|
|
3329
|
+
ref: C,
|
|
3326
3330
|
style: { display: "inline-flex", flexDirection: "column", gap: "var(--lucent-space-1)", position: "relative", ...l },
|
|
3327
3331
|
children: [
|
|
3328
3332
|
/* @__PURE__ */ n("style", { children: `
|
|
@@ -3344,33 +3348,34 @@ function an({
|
|
|
3344
3348
|
}
|
|
3345
3349
|
),
|
|
3346
3350
|
/* @__PURE__ */ n(
|
|
3347
|
-
|
|
3351
|
+
pe,
|
|
3348
3352
|
{
|
|
3349
3353
|
id: `${s}-swatch`,
|
|
3350
|
-
color: `rgba(${
|
|
3354
|
+
color: `rgba(${q.r},${q.g},${q.b},${b.a})`,
|
|
3351
3355
|
shape: "square",
|
|
3352
3356
|
showCheckerboard: !0,
|
|
3353
3357
|
disabled: o,
|
|
3354
3358
|
onClick: () => m((k) => !k),
|
|
3355
|
-
"aria-expanded":
|
|
3359
|
+
"aria-expanded": u,
|
|
3356
3360
|
"aria-haspopup": "dialog",
|
|
3357
3361
|
style: {
|
|
3358
3362
|
width: 40,
|
|
3359
3363
|
height: 40,
|
|
3360
3364
|
borderRadius: "var(--lucent-radius-lg)",
|
|
3361
|
-
boxShadow:
|
|
3365
|
+
boxShadow: u ? "inset 0 0 0 2px var(--lucent-focus-ring), 0 0 0 3px var(--lucent-accent-subtle)" : "inset 0 0 0 1px rgba(0,0,0,0.2)"
|
|
3362
3366
|
}
|
|
3363
3367
|
}
|
|
3364
3368
|
),
|
|
3365
|
-
|
|
3369
|
+
u && /* @__PURE__ */ f(
|
|
3366
3370
|
"div",
|
|
3367
3371
|
{
|
|
3372
|
+
ref: T,
|
|
3368
3373
|
role: "dialog",
|
|
3369
3374
|
"aria-label": "Color picker",
|
|
3370
3375
|
style: {
|
|
3371
3376
|
position: "absolute",
|
|
3372
3377
|
top: "calc(100% + 8px)",
|
|
3373
|
-
left: 0,
|
|
3378
|
+
...E ? { right: 0 } : { left: 0 },
|
|
3374
3379
|
zIndex: 1e3,
|
|
3375
3380
|
background: "var(--lucent-surface)",
|
|
3376
3381
|
border: "1px solid var(--lucent-border-default)",
|
|
@@ -3385,7 +3390,7 @@ function an({
|
|
|
3385
3390
|
/* @__PURE__ */ f(
|
|
3386
3391
|
"div",
|
|
3387
3392
|
{
|
|
3388
|
-
ref:
|
|
3393
|
+
ref: S,
|
|
3389
3394
|
style: {
|
|
3390
3395
|
position: "relative",
|
|
3391
3396
|
height: 160,
|
|
@@ -3395,10 +3400,10 @@ function an({
|
|
|
3395
3400
|
flexShrink: 0
|
|
3396
3401
|
},
|
|
3397
3402
|
onPointerDown: (k) => {
|
|
3398
|
-
k.currentTarget.setPointerCapture(k.pointerId),
|
|
3403
|
+
k.currentTarget.setPointerCapture(k.pointerId), I(k);
|
|
3399
3404
|
},
|
|
3400
3405
|
onPointerMove: (k) => {
|
|
3401
|
-
k.buttons > 0 &&
|
|
3406
|
+
k.buttons > 0 && I(k);
|
|
3402
3407
|
},
|
|
3403
3408
|
children: [
|
|
3404
3409
|
/* @__PURE__ */ n("div", { style: { position: "absolute", inset: 0, background: "linear-gradient(to right, #fff, transparent)" } }),
|
|
@@ -3421,9 +3426,9 @@ function an({
|
|
|
3421
3426
|
/* @__PURE__ */ f("div", { style: { padding: 12, display: "flex", flexDirection: "column", gap: 10 }, children: [
|
|
3422
3427
|
/* @__PURE__ */ f("div", { style: { display: "flex", gap: 10, alignItems: "center" }, children: [
|
|
3423
3428
|
/* @__PURE__ */ n(
|
|
3424
|
-
|
|
3429
|
+
pe,
|
|
3425
3430
|
{
|
|
3426
|
-
color: `rgba(${
|
|
3431
|
+
color: `rgba(${q.r},${q.g},${q.b},${b.a})`,
|
|
3427
3432
|
shape: "square",
|
|
3428
3433
|
showCheckerboard: !0,
|
|
3429
3434
|
style: { width: 44, height: 44, borderRadius: 8 }
|
|
@@ -3431,12 +3436,12 @@ function an({
|
|
|
3431
3436
|
),
|
|
3432
3437
|
/* @__PURE__ */ f("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: 8 }, children: [
|
|
3433
3438
|
/* @__PURE__ */ n(
|
|
3434
|
-
|
|
3439
|
+
Be,
|
|
3435
3440
|
{
|
|
3436
3441
|
value: b.h,
|
|
3437
3442
|
min: 0,
|
|
3438
3443
|
max: 360,
|
|
3439
|
-
onChange: (k) =>
|
|
3444
|
+
onChange: (k) => w({ ...b, h: Math.round(k) }),
|
|
3440
3445
|
trackStyle: { background: "linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%)" },
|
|
3441
3446
|
formatTooltip: (k) => `${Math.round(k)}°`
|
|
3442
3447
|
}
|
|
@@ -3445,19 +3450,19 @@ function an({
|
|
|
3445
3450
|
/* @__PURE__ */ n("div", { style: {
|
|
3446
3451
|
position: "absolute",
|
|
3447
3452
|
inset: 0,
|
|
3448
|
-
backgroundImage:
|
|
3453
|
+
backgroundImage: rn,
|
|
3449
3454
|
backgroundSize: "8px 8px",
|
|
3450
3455
|
backgroundPosition: "0 0, 0 4px, 4px -4px, -4px 0",
|
|
3451
3456
|
backgroundColor: "#fff"
|
|
3452
3457
|
} }),
|
|
3453
|
-
/* @__PURE__ */ n("div", { style: { position: "absolute", inset: 0, background: `linear-gradient(to right, transparent, ${
|
|
3458
|
+
/* @__PURE__ */ n("div", { style: { position: "absolute", inset: 0, background: `linear-gradient(to right, transparent, ${A})` } }),
|
|
3454
3459
|
/* @__PURE__ */ n(
|
|
3455
|
-
|
|
3460
|
+
Be,
|
|
3456
3461
|
{
|
|
3457
3462
|
value: b.a,
|
|
3458
3463
|
min: 0,
|
|
3459
3464
|
max: 1,
|
|
3460
|
-
onChange: (k) =>
|
|
3465
|
+
onChange: (k) => w({ ...b, a: Math.round(k * 100) / 100 }),
|
|
3461
3466
|
trackStyle: { background: "transparent", position: "relative", zIndex: 1 },
|
|
3462
3467
|
formatTooltip: (k) => `${Math.round(k * 100)}%`
|
|
3463
3468
|
}
|
|
@@ -3466,40 +3471,40 @@ function an({
|
|
|
3466
3471
|
] })
|
|
3467
3472
|
] }),
|
|
3468
3473
|
/* @__PURE__ */ n(
|
|
3469
|
-
|
|
3474
|
+
Ue,
|
|
3470
3475
|
{
|
|
3471
3476
|
size: "sm",
|
|
3472
3477
|
value: d,
|
|
3473
3478
|
onChange: (k) => g(k),
|
|
3474
|
-
options:
|
|
3479
|
+
options: U.map(({ id: k, label: R }) => ({ value: k, label: R }))
|
|
3475
3480
|
}
|
|
3476
3481
|
),
|
|
3477
3482
|
d === "hex" && /* @__PURE__ */ f("div", { style: { display: "flex", gap: 6, alignItems: "center" }, children: [
|
|
3478
3483
|
/* @__PURE__ */ n(
|
|
3479
|
-
|
|
3484
|
+
Ve,
|
|
3480
3485
|
{
|
|
3481
3486
|
variant: "secondary",
|
|
3482
3487
|
size: "sm",
|
|
3483
|
-
onClick:
|
|
3484
|
-
disabled: !
|
|
3485
|
-
title:
|
|
3486
|
-
leftIcon: /* @__PURE__ */ n(
|
|
3488
|
+
onClick: G,
|
|
3489
|
+
disabled: !_,
|
|
3490
|
+
title: _ ? "Pick color from screen" : "Not supported in this browser",
|
|
3491
|
+
leftIcon: /* @__PURE__ */ n(on, {}),
|
|
3487
3492
|
style: { flexShrink: 0, paddingLeft: 8, paddingRight: 8 }
|
|
3488
3493
|
}
|
|
3489
3494
|
),
|
|
3490
3495
|
/* @__PURE__ */ n(
|
|
3491
|
-
|
|
3496
|
+
Q,
|
|
3492
3497
|
{
|
|
3493
3498
|
size: "sm",
|
|
3494
3499
|
prefix: "#",
|
|
3495
3500
|
value: h,
|
|
3496
3501
|
onChange: (k) => {
|
|
3497
|
-
const
|
|
3498
|
-
v(
|
|
3499
|
-
const P =
|
|
3502
|
+
const R = k.target.value.replace("#", "");
|
|
3503
|
+
v(R.toUpperCase());
|
|
3504
|
+
const P = se(`#${R}`);
|
|
3500
3505
|
if (P) {
|
|
3501
|
-
const V =
|
|
3502
|
-
y(V), t == null || t(
|
|
3506
|
+
const V = K(P);
|
|
3507
|
+
y(V), t == null || t(ke(P));
|
|
3503
3508
|
}
|
|
3504
3509
|
},
|
|
3505
3510
|
spellCheck: !1,
|
|
@@ -3509,17 +3514,17 @@ function an({
|
|
|
3509
3514
|
}
|
|
3510
3515
|
),
|
|
3511
3516
|
/* @__PURE__ */ n(
|
|
3512
|
-
|
|
3517
|
+
Q,
|
|
3513
3518
|
{
|
|
3514
3519
|
size: "sm",
|
|
3515
3520
|
type: "number",
|
|
3516
3521
|
suffix: "%",
|
|
3517
|
-
value:
|
|
3522
|
+
value: $,
|
|
3518
3523
|
min: 0,
|
|
3519
3524
|
max: 100,
|
|
3520
3525
|
onChange: (k) => {
|
|
3521
|
-
const
|
|
3522
|
-
!isNaN(
|
|
3526
|
+
const R = +k.target.value;
|
|
3527
|
+
!isNaN(R) && R >= 0 && R <= 100 && w({ ...b, a: R / 100 });
|
|
3523
3528
|
},
|
|
3524
3529
|
className: "lucent-cp-field",
|
|
3525
3530
|
style: { width: 68, flexShrink: 0 }
|
|
@@ -3527,49 +3532,49 @@ function an({
|
|
|
3527
3532
|
)
|
|
3528
3533
|
] }),
|
|
3529
3534
|
d === "rgb" && /* @__PURE__ */ n("div", { style: { display: "flex", gap: 6 }, children: [
|
|
3530
|
-
{ label: "R", val:
|
|
3531
|
-
{ label: "G", val:
|
|
3532
|
-
{ label: "B", val:
|
|
3533
|
-
{ label: "A", val:
|
|
3534
|
-
].map(({ label: k, val:
|
|
3535
|
-
const j = +
|
|
3535
|
+
{ label: "R", val: q.r, max: 255, fn: (k) => w(K({ ...q, r: k })) },
|
|
3536
|
+
{ label: "G", val: q.g, max: 255, fn: (k) => w(K({ ...q, g: k })) },
|
|
3537
|
+
{ label: "B", val: q.b, max: 255, fn: (k) => w(K({ ...q, b: k })) },
|
|
3538
|
+
{ label: "A", val: $, max: 100, fn: (k) => w({ ...b, a: k / 100 }) }
|
|
3539
|
+
].map(({ label: k, val: R, max: P, fn: V }) => /* @__PURE__ */ n(Q, { size: "sm", type: "number", prefix: k, value: R, min: 0, max: P, onChange: (ae) => {
|
|
3540
|
+
const j = +ae.target.value;
|
|
3536
3541
|
!isNaN(j) && j >= 0 && j <= P && V(j);
|
|
3537
3542
|
}, className: "lucent-cp-field", style: { flex: 1 } }, k)) }),
|
|
3538
3543
|
d === "hsl" && /* @__PURE__ */ n("div", { style: { display: "flex", gap: 6 }, children: [
|
|
3539
|
-
{ label: "H", val:
|
|
3540
|
-
const { r:
|
|
3541
|
-
|
|
3544
|
+
{ label: "H", val: D.h, max: 360, fn: (k) => {
|
|
3545
|
+
const { r: R, g: P, b: V } = fe(k, D.s, D.l);
|
|
3546
|
+
w(K({ r: R, g: P, b: V, a: b.a }));
|
|
3542
3547
|
} },
|
|
3543
|
-
{ label: "S", val:
|
|
3544
|
-
const { r:
|
|
3545
|
-
|
|
3548
|
+
{ label: "S", val: D.s, max: 100, fn: (k) => {
|
|
3549
|
+
const { r: R, g: P, b: V } = fe(D.h, k, D.l);
|
|
3550
|
+
w(K({ r: R, g: P, b: V, a: b.a }));
|
|
3546
3551
|
} },
|
|
3547
|
-
{ label: "L", val:
|
|
3548
|
-
const { r:
|
|
3549
|
-
|
|
3552
|
+
{ label: "L", val: D.l, max: 100, fn: (k) => {
|
|
3553
|
+
const { r: R, g: P, b: V } = fe(D.h, D.s, k);
|
|
3554
|
+
w(K({ r: R, g: P, b: V, a: b.a }));
|
|
3550
3555
|
} },
|
|
3551
|
-
{ label: "A", val:
|
|
3552
|
-
].map(({ label: k, val:
|
|
3553
|
-
const j = +
|
|
3556
|
+
{ label: "A", val: $, max: 100, fn: (k) => w({ ...b, a: k / 100 }) }
|
|
3557
|
+
].map(({ label: k, val: R, max: P, fn: V }) => /* @__PURE__ */ n(Q, { size: "sm", type: "number", prefix: k, value: R, min: 0, max: P, onChange: (ae) => {
|
|
3558
|
+
const j = +ae.target.value;
|
|
3554
3559
|
!isNaN(j) && j >= 0 && j <= P && V(j);
|
|
3555
3560
|
}, className: "lucent-cp-field", style: { flex: 1 } }, k)) }),
|
|
3556
3561
|
d === "hsb" && /* @__PURE__ */ n("div", { style: { display: "flex", gap: 6 }, children: [
|
|
3557
|
-
{ label: "H", val: b.h, max: 360, fn: (k) =>
|
|
3558
|
-
{ label: "S", val: b.s, max: 100, fn: (k) =>
|
|
3559
|
-
{ label: "B", val: b.v, max: 100, fn: (k) =>
|
|
3560
|
-
{ label: "A", val:
|
|
3561
|
-
].map(({ label: k, val:
|
|
3562
|
-
const j = +
|
|
3562
|
+
{ label: "H", val: b.h, max: 360, fn: (k) => w({ ...b, h: k }) },
|
|
3563
|
+
{ label: "S", val: b.s, max: 100, fn: (k) => w({ ...b, s: k }) },
|
|
3564
|
+
{ label: "B", val: b.v, max: 100, fn: (k) => w({ ...b, v: k }) },
|
|
3565
|
+
{ label: "A", val: $, max: 100, fn: (k) => w({ ...b, a: k / 100 }) }
|
|
3566
|
+
].map(({ label: k, val: R, max: P, fn: V }) => /* @__PURE__ */ n(Q, { size: "sm", type: "number", prefix: k, value: R, min: 0, max: P, onChange: (ae) => {
|
|
3567
|
+
const j = +ae.target.value;
|
|
3563
3568
|
!isNaN(j) && j >= 0 && j <= P && V(j);
|
|
3564
3569
|
}, className: "lucent-cp-field", style: { flex: 1 } }, k)) }),
|
|
3565
3570
|
r.length > 0 && /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
|
|
3566
3571
|
r.length > 1 && /* @__PURE__ */ n(
|
|
3567
|
-
|
|
3572
|
+
Ge,
|
|
3568
3573
|
{
|
|
3569
3574
|
size: "sm",
|
|
3570
|
-
value: String(
|
|
3571
|
-
onChange: (k) =>
|
|
3572
|
-
options: r.map((k,
|
|
3575
|
+
value: String(p),
|
|
3576
|
+
onChange: (k) => x(Number(k.target.value)),
|
|
3577
|
+
options: r.map((k, R) => ({ value: String(R), label: k.label }))
|
|
3573
3578
|
}
|
|
3574
3579
|
),
|
|
3575
3580
|
r.length === 1 && /* @__PURE__ */ n("span", { style: {
|
|
@@ -3577,15 +3582,15 @@ function an({
|
|
|
3577
3582
|
fontWeight: "var(--lucent-font-weight-medium)",
|
|
3578
3583
|
color: "var(--lucent-text-secondary)",
|
|
3579
3584
|
fontFamily: "var(--lucent-font-family-base)"
|
|
3580
|
-
}, children: (
|
|
3581
|
-
/* @__PURE__ */ n("div", { style: { display: "flex", gap: 6, flexWrap: "wrap" }, children: (((
|
|
3582
|
-
const
|
|
3585
|
+
}, children: (X = r[0]) == null ? void 0 : X.label }),
|
|
3586
|
+
/* @__PURE__ */ n("div", { style: { display: "flex", gap: 6, flexWrap: "wrap" }, children: (((De = r[p]) == null ? void 0 : De.colors) ?? []).map((k) => {
|
|
3587
|
+
const R = Me(k).toLowerCase() === M.slice(0, 7).toLowerCase();
|
|
3583
3588
|
return /* @__PURE__ */ n(
|
|
3584
|
-
|
|
3589
|
+
pe,
|
|
3585
3590
|
{
|
|
3586
3591
|
color: k,
|
|
3587
|
-
selected:
|
|
3588
|
-
onClick: () =>
|
|
3592
|
+
selected: R,
|
|
3593
|
+
onClick: () => w(K(_e(k)))
|
|
3589
3594
|
},
|
|
3590
3595
|
k
|
|
3591
3596
|
);
|
|
@@ -3599,8 +3604,8 @@ function an({
|
|
|
3599
3604
|
}
|
|
3600
3605
|
);
|
|
3601
3606
|
}
|
|
3602
|
-
|
|
3603
|
-
const
|
|
3607
|
+
ln.displayName = "ColorPicker";
|
|
3608
|
+
const Fa = {
|
|
3604
3609
|
id: "color-picker",
|
|
3605
3610
|
name: "ColorPicker",
|
|
3606
3611
|
tier: "atom",
|
|
@@ -3687,7 +3692,7 @@ const La = {
|
|
|
3687
3692
|
"Tab — moves through format tabs and input fields within the popover"
|
|
3688
3693
|
]
|
|
3689
3694
|
}
|
|
3690
|
-
},
|
|
3695
|
+
}, Na = {
|
|
3691
3696
|
id: "color-swatch",
|
|
3692
3697
|
name: "ColorSwatch",
|
|
3693
3698
|
tier: "atom",
|
|
@@ -3722,7 +3727,7 @@ const La = {
|
|
|
3722
3727
|
ariaAttributes: ["title (tooltip)"],
|
|
3723
3728
|
keyboardInteractions: ["Enter / Space — triggers onClick"]
|
|
3724
3729
|
}
|
|
3725
|
-
},
|
|
3730
|
+
}, $a = {
|
|
3726
3731
|
id: "segmented-control",
|
|
3727
3732
|
name: "SegmentedControl",
|
|
3728
3733
|
tier: "atom",
|
|
@@ -3820,7 +3825,7 @@ const La = {
|
|
|
3820
3825
|
]
|
|
3821
3826
|
}
|
|
3822
3827
|
};
|
|
3823
|
-
function
|
|
3828
|
+
function Pa({
|
|
3824
3829
|
label: e,
|
|
3825
3830
|
htmlFor: t,
|
|
3826
3831
|
required: a = !1,
|
|
@@ -3839,7 +3844,7 @@ function Fa({
|
|
|
3839
3844
|
c && /* @__PURE__ */ n(L, { size: "xs", color: s, lineHeight: "tight", children: c })
|
|
3840
3845
|
] });
|
|
3841
3846
|
}
|
|
3842
|
-
const
|
|
3847
|
+
const Wa = {
|
|
3843
3848
|
id: "form-field",
|
|
3844
3849
|
name: "FormField",
|
|
3845
3850
|
tier: "molecule",
|
|
@@ -3925,11 +3930,11 @@ const Na = {
|
|
|
3925
3930
|
ariaAttributes: ["aria-required", "aria-describedby"],
|
|
3926
3931
|
notes: 'Link the wrapped control to an error message using aria-describedby on the control and a matching id on the error element for full screen reader support. The required asterisk is aria-hidden; set aria-required="true" on the control itself.'
|
|
3927
3932
|
}
|
|
3928
|
-
},
|
|
3933
|
+
}, sn = () => /* @__PURE__ */ f("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
|
|
3929
3934
|
/* @__PURE__ */ n("circle", { cx: "6.5", cy: "6.5", r: "4", stroke: "currentColor", strokeWidth: "1.5" }),
|
|
3930
3935
|
/* @__PURE__ */ n("path", { d: "M9.5 9.5L13 13", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
|
|
3931
|
-
] }),
|
|
3932
|
-
function
|
|
3936
|
+
] }), cn = () => /* @__PURE__ */ n("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ n("path", { d: "M3 3L11 11M11 3L3 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
|
|
3937
|
+
function Ha({
|
|
3933
3938
|
value: e,
|
|
3934
3939
|
onChange: t,
|
|
3935
3940
|
placeholder: a = "Search…",
|
|
@@ -3940,15 +3945,15 @@ function $a({
|
|
|
3940
3945
|
id: c,
|
|
3941
3946
|
style: s
|
|
3942
3947
|
}) {
|
|
3943
|
-
const [
|
|
3948
|
+
const [u, m] = z(!1), [d, g] = z(null), p = N(null), x = u && o.length > 0, b = () => {
|
|
3944
3949
|
t("");
|
|
3945
|
-
}, y = (
|
|
3946
|
-
r == null || r(
|
|
3950
|
+
}, y = (S) => {
|
|
3951
|
+
r == null || r(S), m(!1);
|
|
3947
3952
|
}, h = () => {
|
|
3948
|
-
|
|
3953
|
+
p.current = setTimeout(() => m(!1), 150);
|
|
3949
3954
|
}, v = () => {
|
|
3950
|
-
|
|
3951
|
-
},
|
|
3955
|
+
p.current && clearTimeout(p.current), m(!0);
|
|
3956
|
+
}, C = i ? /* @__PURE__ */ n(gt, { size: "sm" }) : e ? /* @__PURE__ */ n(
|
|
3952
3957
|
"button",
|
|
3953
3958
|
{
|
|
3954
3959
|
type: "button",
|
|
@@ -3964,32 +3969,32 @@ function $a({
|
|
|
3964
3969
|
borderRadius: "var(--lucent-radius-sm)",
|
|
3965
3970
|
color: "var(--lucent-text-secondary)"
|
|
3966
3971
|
},
|
|
3967
|
-
onMouseEnter: (
|
|
3968
|
-
|
|
3972
|
+
onMouseEnter: (S) => {
|
|
3973
|
+
S.currentTarget.style.color = "var(--lucent-text-primary)";
|
|
3969
3974
|
},
|
|
3970
|
-
onMouseLeave: (
|
|
3971
|
-
|
|
3975
|
+
onMouseLeave: (S) => {
|
|
3976
|
+
S.currentTarget.style.color = "var(--lucent-text-secondary)";
|
|
3972
3977
|
},
|
|
3973
|
-
children: /* @__PURE__ */ n(
|
|
3978
|
+
children: /* @__PURE__ */ n(cn, {})
|
|
3974
3979
|
}
|
|
3975
3980
|
) : null;
|
|
3976
3981
|
return /* @__PURE__ */ f("div", { style: { position: "relative", ...s }, children: [
|
|
3977
3982
|
/* @__PURE__ */ n(
|
|
3978
|
-
|
|
3983
|
+
Q,
|
|
3979
3984
|
{
|
|
3980
3985
|
id: c,
|
|
3981
3986
|
type: "search",
|
|
3982
3987
|
value: e,
|
|
3983
|
-
onChange: (
|
|
3988
|
+
onChange: (S) => t(S.target.value),
|
|
3984
3989
|
placeholder: a,
|
|
3985
3990
|
disabled: l,
|
|
3986
|
-
leftElement: /* @__PURE__ */ n(
|
|
3987
|
-
rightElement:
|
|
3991
|
+
leftElement: /* @__PURE__ */ n(sn, {}),
|
|
3992
|
+
rightElement: C ?? void 0,
|
|
3988
3993
|
onFocus: v,
|
|
3989
3994
|
onBlur: h
|
|
3990
3995
|
}
|
|
3991
3996
|
),
|
|
3992
|
-
|
|
3997
|
+
x && /* @__PURE__ */ n(
|
|
3993
3998
|
"div",
|
|
3994
3999
|
{
|
|
3995
4000
|
role: "listbox",
|
|
@@ -4005,29 +4010,29 @@ function $a({
|
|
|
4005
4010
|
boxShadow: "var(--lucent-shadow-md)",
|
|
4006
4011
|
overflow: "hidden"
|
|
4007
4012
|
},
|
|
4008
|
-
children: o.map((
|
|
4013
|
+
children: o.map((S, T) => /* @__PURE__ */ n(
|
|
4009
4014
|
"div",
|
|
4010
4015
|
{
|
|
4011
4016
|
role: "option",
|
|
4012
4017
|
"aria-selected": !1,
|
|
4013
|
-
onMouseDown: () => y(
|
|
4014
|
-
onMouseEnter: () => g(
|
|
4018
|
+
onMouseDown: () => y(S),
|
|
4019
|
+
onMouseEnter: () => g(T),
|
|
4015
4020
|
onMouseLeave: () => g(null),
|
|
4016
4021
|
style: {
|
|
4017
4022
|
padding: "var(--lucent-space-2) var(--lucent-space-3)",
|
|
4018
4023
|
cursor: "pointer",
|
|
4019
|
-
background: d ===
|
|
4024
|
+
background: d === T ? "var(--lucent-surface-secondary)" : "transparent",
|
|
4020
4025
|
transition: "background var(--lucent-duration-fast) var(--lucent-easing-default)"
|
|
4021
4026
|
},
|
|
4022
|
-
children: /* @__PURE__ */ n(L, { as: "span", size: "md", children:
|
|
4027
|
+
children: /* @__PURE__ */ n(L, { as: "span", size: "md", children: S.label })
|
|
4023
4028
|
},
|
|
4024
|
-
|
|
4029
|
+
S.id
|
|
4025
4030
|
))
|
|
4026
4031
|
}
|
|
4027
4032
|
)
|
|
4028
4033
|
] });
|
|
4029
4034
|
}
|
|
4030
|
-
const
|
|
4035
|
+
const Va = {
|
|
4031
4036
|
id: "search-input",
|
|
4032
4037
|
name: "SearchInput",
|
|
4033
4038
|
tier: "molecule",
|
|
@@ -4123,23 +4128,23 @@ const [results, setResults] = useState([]);
|
|
|
4123
4128
|
keyboardInteractions: ["Enter to select focused result", "Escape to close dropdown"],
|
|
4124
4129
|
notes: 'The results list uses role="listbox" with role="option" items. For full keyboard navigation (arrow keys to move between results), wire up onKeyDown on the Input and manage an activeIndex state.'
|
|
4125
4130
|
}
|
|
4126
|
-
},
|
|
4131
|
+
}, dn = {
|
|
4127
4132
|
none: "0",
|
|
4128
|
-
sm: "var(--lucent-space-
|
|
4129
|
-
md: "var(--lucent-space-
|
|
4130
|
-
lg: "var(--lucent-space-
|
|
4131
|
-
},
|
|
4133
|
+
sm: "var(--lucent-space-4)",
|
|
4134
|
+
md: "var(--lucent-space-6)",
|
|
4135
|
+
lg: "var(--lucent-space-8)"
|
|
4136
|
+
}, un = {
|
|
4132
4137
|
none: "var(--lucent-shadow-none)",
|
|
4133
4138
|
sm: "var(--lucent-shadow-sm)",
|
|
4134
4139
|
md: "var(--lucent-shadow-md)",
|
|
4135
4140
|
lg: "var(--lucent-shadow-lg)"
|
|
4136
|
-
},
|
|
4141
|
+
}, pn = {
|
|
4137
4142
|
none: "var(--lucent-radius-none)",
|
|
4138
4143
|
sm: "var(--lucent-radius-sm)",
|
|
4139
4144
|
md: "var(--lucent-radius-md)",
|
|
4140
4145
|
lg: "var(--lucent-radius-lg)"
|
|
4141
4146
|
};
|
|
4142
|
-
function
|
|
4147
|
+
function Oa({
|
|
4143
4148
|
header: e,
|
|
4144
4149
|
footer: t,
|
|
4145
4150
|
children: a,
|
|
@@ -4148,7 +4153,7 @@ function Wa({
|
|
|
4148
4153
|
radius: i = "md",
|
|
4149
4154
|
style: l
|
|
4150
4155
|
}) {
|
|
4151
|
-
const c =
|
|
4156
|
+
const c = dn[o], s = pn[i];
|
|
4152
4157
|
return /* @__PURE__ */ f(
|
|
4153
4158
|
"div",
|
|
4154
4159
|
{
|
|
@@ -4158,7 +4163,7 @@ function Wa({
|
|
|
4158
4163
|
background: "var(--lucent-surface)",
|
|
4159
4164
|
border: "1px solid var(--lucent-border-default)",
|
|
4160
4165
|
borderRadius: s,
|
|
4161
|
-
boxShadow:
|
|
4166
|
+
boxShadow: un[r],
|
|
4162
4167
|
overflow: "hidden",
|
|
4163
4168
|
boxSizing: "border-box",
|
|
4164
4169
|
...l
|
|
@@ -4189,7 +4194,7 @@ function Wa({
|
|
|
4189
4194
|
}
|
|
4190
4195
|
);
|
|
4191
4196
|
}
|
|
4192
|
-
const
|
|
4197
|
+
const ja = {
|
|
4193
4198
|
id: "card",
|
|
4194
4199
|
name: "Card",
|
|
4195
4200
|
tier: "molecule",
|
|
@@ -4276,30 +4281,30 @@ Token rule: Card uses surface for its background. Never use bgBase or bgSubtle o
|
|
|
4276
4281
|
accessibility: {
|
|
4277
4282
|
notes: "Card has no implicit ARIA role. If the card represents a landmark, wrap it in a <section> or <article> and provide an aria-label. For interactive cards (clickable), make the wrapper a <button> or <a> and ensure focus styles are visible."
|
|
4278
4283
|
}
|
|
4279
|
-
},
|
|
4284
|
+
}, fn = {
|
|
4280
4285
|
info: { bg: "var(--lucent-info-subtle)", border: "var(--lucent-info-default)", iconColor: "var(--lucent-info-text)", textColor: "info" },
|
|
4281
4286
|
success: { bg: "var(--lucent-success-subtle)", border: "var(--lucent-success-default)", iconColor: "var(--lucent-success-text)", textColor: "success" },
|
|
4282
4287
|
warning: { bg: "var(--lucent-warning-subtle)", border: "var(--lucent-warning-default)", iconColor: "var(--lucent-warning-text)", textColor: "warning" },
|
|
4283
4288
|
danger: { bg: "var(--lucent-danger-subtle)", border: "var(--lucent-danger-default)", iconColor: "var(--lucent-danger-text)", textColor: "danger" }
|
|
4284
|
-
},
|
|
4289
|
+
}, hn = () => /* @__PURE__ */ f("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
|
|
4285
4290
|
/* @__PURE__ */ n("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", strokeWidth: "1.5" }),
|
|
4286
4291
|
/* @__PURE__ */ n("path", { d: "M8 5.5V8.5M8 10.5V11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
|
|
4287
|
-
] }),
|
|
4292
|
+
] }), mn = () => /* @__PURE__ */ f("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
|
|
4288
4293
|
/* @__PURE__ */ n("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", strokeWidth: "1.5" }),
|
|
4289
4294
|
/* @__PURE__ */ n("path", { d: "M5 8L7 10L11 6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
4290
|
-
] }),
|
|
4295
|
+
] }), gn = () => /* @__PURE__ */ f("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
|
|
4291
4296
|
/* @__PURE__ */ n("path", { d: "M8 2L14.5 13H1.5L8 2Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinejoin: "round" }),
|
|
4292
4297
|
/* @__PURE__ */ n("path", { d: "M8 6V9M8 11V11.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
|
|
4293
|
-
] }),
|
|
4298
|
+
] }), bn = () => /* @__PURE__ */ f("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
|
|
4294
4299
|
/* @__PURE__ */ n("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", strokeWidth: "1.5" }),
|
|
4295
4300
|
/* @__PURE__ */ n("path", { d: "M5.5 5.5L10.5 10.5M10.5 5.5L5.5 10.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
|
|
4296
|
-
] }),
|
|
4297
|
-
info: /* @__PURE__ */ n(
|
|
4298
|
-
success: /* @__PURE__ */ n(
|
|
4299
|
-
warning: /* @__PURE__ */ n(
|
|
4300
|
-
danger: /* @__PURE__ */ n(
|
|
4301
|
-
},
|
|
4302
|
-
function
|
|
4301
|
+
] }), vn = {
|
|
4302
|
+
info: /* @__PURE__ */ n(hn, {}),
|
|
4303
|
+
success: /* @__PURE__ */ n(mn, {}),
|
|
4304
|
+
warning: /* @__PURE__ */ n(gn, {}),
|
|
4305
|
+
danger: /* @__PURE__ */ n(bn, {})
|
|
4306
|
+
}, yn = () => /* @__PURE__ */ n("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ n("path", { d: "M3 3L11 11M11 3L3 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
|
|
4307
|
+
function Ga({
|
|
4303
4308
|
variant: e = "info",
|
|
4304
4309
|
title: t,
|
|
4305
4310
|
children: a,
|
|
@@ -4307,7 +4312,7 @@ function Va({
|
|
|
4307
4312
|
icon: r,
|
|
4308
4313
|
style: i
|
|
4309
4314
|
}) {
|
|
4310
|
-
const l =
|
|
4315
|
+
const l = fn[e], c = r ?? vn[e];
|
|
4311
4316
|
return /* @__PURE__ */ f(
|
|
4312
4317
|
"div",
|
|
4313
4318
|
{
|
|
@@ -4365,14 +4370,14 @@ function Va({
|
|
|
4365
4370
|
onMouseLeave: (s) => {
|
|
4366
4371
|
s.currentTarget.style.opacity = "0.7";
|
|
4367
4372
|
},
|
|
4368
|
-
children: /* @__PURE__ */ n(
|
|
4373
|
+
children: /* @__PURE__ */ n(yn, {})
|
|
4369
4374
|
}
|
|
4370
4375
|
)
|
|
4371
4376
|
]
|
|
4372
4377
|
}
|
|
4373
4378
|
);
|
|
4374
4379
|
}
|
|
4375
|
-
const
|
|
4380
|
+
const Ua = {
|
|
4376
4381
|
id: "alert",
|
|
4377
4382
|
name: "Alert",
|
|
4378
4383
|
tier: "molecule",
|
|
@@ -4447,7 +4452,7 @@ const Oa = {
|
|
|
4447
4452
|
notes: 'role="alert" causes screen readers to announce the content immediately when rendered. For non-urgent status messages, consider using role="status" instead by overriding via style/wrapper.'
|
|
4448
4453
|
}
|
|
4449
4454
|
};
|
|
4450
|
-
function
|
|
4455
|
+
function _a({
|
|
4451
4456
|
illustration: e,
|
|
4452
4457
|
title: t,
|
|
4453
4458
|
description: a,
|
|
@@ -4490,7 +4495,7 @@ function ja({
|
|
|
4490
4495
|
}
|
|
4491
4496
|
);
|
|
4492
4497
|
}
|
|
4493
|
-
const
|
|
4498
|
+
const Ka = {
|
|
4494
4499
|
id: "empty-state",
|
|
4495
4500
|
name: "EmptyState",
|
|
4496
4501
|
tier: "molecule",
|
|
@@ -4561,16 +4566,16 @@ const Ga = {
|
|
|
4561
4566
|
accessibility: {
|
|
4562
4567
|
notes: "The title renders as an h3 by default. If EmptyState appears inside a section with its own heading hierarchy, override by passing a Text component as part of a custom layout. Ensure the action element has a descriptive label for screen readers."
|
|
4563
4568
|
}
|
|
4564
|
-
},
|
|
4569
|
+
}, xn = {
|
|
4565
4570
|
text: "1em",
|
|
4566
4571
|
circle: 40,
|
|
4567
4572
|
rectangle: 40
|
|
4568
|
-
},
|
|
4573
|
+
}, wn = {
|
|
4569
4574
|
text: "var(--lucent-radius-sm)",
|
|
4570
4575
|
circle: "var(--lucent-radius-full)",
|
|
4571
4576
|
rectangle: "var(--lucent-radius-md)"
|
|
4572
4577
|
};
|
|
4573
|
-
function
|
|
4578
|
+
function Fe({
|
|
4574
4579
|
width: e,
|
|
4575
4580
|
height: t,
|
|
4576
4581
|
radius: a,
|
|
@@ -4594,7 +4599,7 @@ function Le({
|
|
|
4594
4599
|
}
|
|
4595
4600
|
);
|
|
4596
4601
|
}
|
|
4597
|
-
function
|
|
4602
|
+
function Ya({
|
|
4598
4603
|
variant: e = "rectangle",
|
|
4599
4604
|
width: t = "100%",
|
|
4600
4605
|
height: a,
|
|
@@ -4603,16 +4608,16 @@ function Ua({
|
|
|
4603
4608
|
radius: i,
|
|
4604
4609
|
style: l
|
|
4605
4610
|
}) {
|
|
4606
|
-
const c = a ??
|
|
4611
|
+
const c = a ?? xn[e], s = i ?? wn[e], u = r ? /* @__PURE__ */ n("style", { children: `
|
|
4607
4612
|
@keyframes lucent-skeleton-shimmer {
|
|
4608
4613
|
0% { background-position: 200% 0; }
|
|
4609
4614
|
100% { background-position: -200% 0; }
|
|
4610
4615
|
}
|
|
4611
4616
|
` }) : null;
|
|
4612
|
-
return e === "text" && o > 1 ? /* @__PURE__ */ f(
|
|
4613
|
-
|
|
4617
|
+
return e === "text" && o > 1 ? /* @__PURE__ */ f(Y, { children: [
|
|
4618
|
+
u,
|
|
4614
4619
|
/* @__PURE__ */ n("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-2)", ...l }, children: Array.from({ length: o }).map((m, d) => /* @__PURE__ */ n(
|
|
4615
|
-
|
|
4620
|
+
Fe,
|
|
4616
4621
|
{
|
|
4617
4622
|
width: d === o - 1 ? "70%" : t,
|
|
4618
4623
|
height: c,
|
|
@@ -4621,10 +4626,10 @@ function Ua({
|
|
|
4621
4626
|
},
|
|
4622
4627
|
d
|
|
4623
4628
|
)) })
|
|
4624
|
-
] }) : /* @__PURE__ */ f(
|
|
4625
|
-
|
|
4629
|
+
] }) : /* @__PURE__ */ f(Y, { children: [
|
|
4630
|
+
u,
|
|
4626
4631
|
/* @__PURE__ */ n(
|
|
4627
|
-
|
|
4632
|
+
Fe,
|
|
4628
4633
|
{
|
|
4629
4634
|
width: e === "circle" ? a ?? 40 : t,
|
|
4630
4635
|
height: c,
|
|
@@ -4635,7 +4640,7 @@ function Ua({
|
|
|
4635
4640
|
)
|
|
4636
4641
|
] });
|
|
4637
4642
|
}
|
|
4638
|
-
const
|
|
4643
|
+
const Xa = {
|
|
4639
4644
|
id: "skeleton",
|
|
4640
4645
|
name: "Skeleton",
|
|
4641
4646
|
tier: "molecule",
|
|
@@ -4722,7 +4727,7 @@ const _a = {
|
|
|
4722
4727
|
notes: 'Wrap loading regions with aria-busy="true" on the container so screen readers know content is loading. Individual Skeleton elements are presentational and do not need ARIA attributes themselves.'
|
|
4723
4728
|
}
|
|
4724
4729
|
};
|
|
4725
|
-
function
|
|
4730
|
+
function Ja({ items: e, separator: t = "/", style: a }) {
|
|
4726
4731
|
return /* @__PURE__ */ n("nav", { "aria-label": "Breadcrumb", style: a, children: /* @__PURE__ */ n(
|
|
4727
4732
|
"ol",
|
|
4728
4733
|
{
|
|
@@ -4788,20 +4793,20 @@ function Ka({ items: e, separator: t = "/", style: a }) {
|
|
|
4788
4793
|
}
|
|
4789
4794
|
) });
|
|
4790
4795
|
}
|
|
4791
|
-
function
|
|
4796
|
+
function Za({ tabs: e, defaultValue: t, value: a, onChange: o, style: r }) {
|
|
4792
4797
|
var h;
|
|
4793
|
-
const i = a !== void 0, [l, c] =
|
|
4794
|
-
|
|
4795
|
-
const v = e.findIndex((
|
|
4796
|
-
|
|
4798
|
+
const i = a !== void 0, [l, c] = z(t ?? ((h = e[0]) == null ? void 0 : h.value) ?? ""), s = i ? a : l, [u, m] = z(null), d = N([]), [g, p] = z(null), x = N(!1);
|
|
4799
|
+
be(() => {
|
|
4800
|
+
const v = e.findIndex((S) => S.value === s), C = d.current[v];
|
|
4801
|
+
C && (p({ left: C.offsetLeft, width: C.offsetWidth, animate: x.current }), x.current = !0);
|
|
4797
4802
|
}, [s, e]);
|
|
4798
4803
|
const b = (v) => {
|
|
4799
4804
|
i || c(v), o == null || o(v);
|
|
4800
|
-
}, y = (v,
|
|
4801
|
-
var
|
|
4802
|
-
const
|
|
4805
|
+
}, y = (v, C) => {
|
|
4806
|
+
var B;
|
|
4807
|
+
const S = e.map((w, I) => w.disabled ? -1 : I).filter((w) => w !== -1), T = S.indexOf(C);
|
|
4803
4808
|
let E = -1;
|
|
4804
|
-
v.key === "ArrowRight" && (E =
|
|
4809
|
+
v.key === "ArrowRight" && (E = S[(T + 1) % S.length] ?? -1), v.key === "ArrowLeft" && (E = S[(T - 1 + S.length) % S.length] ?? -1), v.key === "Home" && (E = S[0] ?? -1), v.key === "End" && (E = S[S.length - 1] ?? -1), E !== -1 && (v.preventDefault(), (B = d.current[E]) == null || B.focus(), b(e[E].value));
|
|
4805
4810
|
};
|
|
4806
4811
|
return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", ...r }, children: [
|
|
4807
4812
|
/* @__PURE__ */ f(
|
|
@@ -4814,37 +4819,37 @@ function Ya({ tabs: e, defaultValue: t, value: a, onChange: o, style: r }) {
|
|
|
4814
4819
|
borderBottom: "1px solid var(--lucent-border-default)"
|
|
4815
4820
|
},
|
|
4816
4821
|
children: [
|
|
4817
|
-
e.map((v,
|
|
4818
|
-
const
|
|
4822
|
+
e.map((v, C) => {
|
|
4823
|
+
const S = v.value === s, T = v.disabled ?? !1;
|
|
4819
4824
|
return /* @__PURE__ */ n(
|
|
4820
4825
|
"button",
|
|
4821
4826
|
{
|
|
4822
4827
|
ref: (E) => {
|
|
4823
|
-
d.current[
|
|
4828
|
+
d.current[C] = E;
|
|
4824
4829
|
},
|
|
4825
4830
|
role: "tab",
|
|
4826
|
-
"aria-selected":
|
|
4831
|
+
"aria-selected": S,
|
|
4827
4832
|
"aria-controls": `lucent-tabpanel-${v.value}`,
|
|
4828
4833
|
id: `lucent-tab-${v.value}`,
|
|
4829
|
-
disabled:
|
|
4830
|
-
tabIndex:
|
|
4834
|
+
disabled: T,
|
|
4835
|
+
tabIndex: S ? 0 : -1,
|
|
4831
4836
|
onClick: () => {
|
|
4832
|
-
|
|
4837
|
+
T || b(v.value);
|
|
4833
4838
|
},
|
|
4834
|
-
onKeyDown: (E) => y(E,
|
|
4839
|
+
onKeyDown: (E) => y(E, C),
|
|
4835
4840
|
onMouseEnter: () => {
|
|
4836
|
-
|
|
4841
|
+
T || m(C);
|
|
4837
4842
|
},
|
|
4838
4843
|
onMouseLeave: () => m(null),
|
|
4839
4844
|
style: {
|
|
4840
4845
|
padding: "var(--lucent-space-1) var(--lucent-space-2) var(--lucent-space-3)",
|
|
4841
4846
|
background: "none",
|
|
4842
4847
|
border: "none",
|
|
4843
|
-
cursor:
|
|
4848
|
+
cursor: T ? "not-allowed" : "pointer",
|
|
4844
4849
|
fontFamily: "var(--lucent-font-family-base)",
|
|
4845
4850
|
fontSize: "var(--lucent-font-size-md)",
|
|
4846
|
-
fontWeight:
|
|
4847
|
-
color:
|
|
4851
|
+
fontWeight: S ? "var(--lucent-font-weight-medium)" : "var(--lucent-font-weight-regular)",
|
|
4852
|
+
color: T ? "var(--lucent-text-disabled)" : S ? "var(--lucent-text-primary)" : "var(--lucent-text-secondary)",
|
|
4848
4853
|
transition: "color var(--lucent-duration-fast) var(--lucent-easing-default)",
|
|
4849
4854
|
whiteSpace: "nowrap",
|
|
4850
4855
|
outline: "none"
|
|
@@ -4853,7 +4858,7 @@ function Ya({ tabs: e, defaultValue: t, value: a, onChange: o, style: r }) {
|
|
|
4853
4858
|
display: "block",
|
|
4854
4859
|
padding: "var(--lucent-space-1) var(--lucent-space-3)",
|
|
4855
4860
|
borderRadius: "var(--lucent-radius-md)",
|
|
4856
|
-
background:
|
|
4861
|
+
background: u === C && !S ? "var(--lucent-surface-secondary)" : "transparent",
|
|
4857
4862
|
transition: "background var(--lucent-duration-fast) var(--lucent-easing-default)"
|
|
4858
4863
|
}, children: v.label })
|
|
4859
4864
|
},
|
|
@@ -4894,39 +4899,39 @@ function Ya({ tabs: e, defaultValue: t, value: a, onChange: o, style: r }) {
|
|
|
4894
4899
|
))
|
|
4895
4900
|
] });
|
|
4896
4901
|
}
|
|
4897
|
-
const
|
|
4902
|
+
const kn = `
|
|
4898
4903
|
@keyframes lucent-collapsible-open {
|
|
4899
4904
|
from { opacity: 0; transform: translateY(-4px); }
|
|
4900
4905
|
to { opacity: 1; transform: translateY(0); }
|
|
4901
4906
|
}
|
|
4902
4907
|
`;
|
|
4903
|
-
function
|
|
4904
|
-
const l = o !== void 0, [c, s] =
|
|
4908
|
+
function Qa({ trigger: e, children: t, defaultOpen: a = !1, open: o, onOpenChange: r, style: i }) {
|
|
4909
|
+
const l = o !== void 0, [c, s] = z(a), u = l ? o : c, m = N(null), [d, g] = z(u ? void 0 : 0), p = N(!1);
|
|
4905
4910
|
O(() => {
|
|
4906
4911
|
const b = m.current;
|
|
4907
4912
|
if (b)
|
|
4908
|
-
if (
|
|
4913
|
+
if (u) {
|
|
4909
4914
|
const y = b.scrollHeight;
|
|
4910
|
-
g(y),
|
|
4915
|
+
g(y), p.current = !0;
|
|
4911
4916
|
const h = setTimeout(() => {
|
|
4912
|
-
g(void 0),
|
|
4917
|
+
g(void 0), p.current = !1;
|
|
4913
4918
|
}, 220);
|
|
4914
4919
|
return () => clearTimeout(h);
|
|
4915
4920
|
} else
|
|
4916
4921
|
g(b.scrollHeight), b.getBoundingClientRect(), g(0);
|
|
4917
|
-
}, [
|
|
4918
|
-
const
|
|
4919
|
-
const b = !
|
|
4922
|
+
}, [u]);
|
|
4923
|
+
const x = () => {
|
|
4924
|
+
const b = !u;
|
|
4920
4925
|
l || s(b), r == null || r(b);
|
|
4921
4926
|
};
|
|
4922
|
-
return /* @__PURE__ */ f(
|
|
4923
|
-
/* @__PURE__ */ n("style", { children:
|
|
4927
|
+
return /* @__PURE__ */ f(Y, { children: [
|
|
4928
|
+
/* @__PURE__ */ n("style", { children: kn }),
|
|
4924
4929
|
/* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", fontFamily: "var(--lucent-font-family-base)", fontSize: "var(--lucent-font-size-md)", ...i }, children: [
|
|
4925
4930
|
/* @__PURE__ */ f(
|
|
4926
4931
|
"button",
|
|
4927
4932
|
{
|
|
4928
|
-
onClick:
|
|
4929
|
-
"aria-expanded":
|
|
4933
|
+
onClick: x,
|
|
4934
|
+
"aria-expanded": u,
|
|
4930
4935
|
style: {
|
|
4931
4936
|
display: "flex",
|
|
4932
4937
|
alignItems: "center",
|
|
@@ -4943,7 +4948,7 @@ function Xa({ trigger: e, children: t, defaultOpen: a = !1, open: o, onOpenChang
|
|
|
4943
4948
|
},
|
|
4944
4949
|
children: [
|
|
4945
4950
|
/* @__PURE__ */ n("span", { style: { flex: 1 }, children: e }),
|
|
4946
|
-
/* @__PURE__ */ n(
|
|
4951
|
+
/* @__PURE__ */ n(Sn, { open: u })
|
|
4947
4952
|
]
|
|
4948
4953
|
}
|
|
4949
4954
|
),
|
|
@@ -4951,7 +4956,7 @@ function Xa({ trigger: e, children: t, defaultOpen: a = !1, open: o, onOpenChang
|
|
|
4951
4956
|
"div",
|
|
4952
4957
|
{
|
|
4953
4958
|
ref: m,
|
|
4954
|
-
"aria-hidden": !
|
|
4959
|
+
"aria-hidden": !u,
|
|
4955
4960
|
style: {
|
|
4956
4961
|
overflow: "hidden",
|
|
4957
4962
|
height: d !== void 0 ? d : "auto",
|
|
@@ -4962,7 +4967,7 @@ function Xa({ trigger: e, children: t, defaultOpen: a = !1, open: o, onOpenChang
|
|
|
4962
4967
|
{
|
|
4963
4968
|
style: {
|
|
4964
4969
|
padding: "var(--lucent-space-2) var(--lucent-space-4) var(--lucent-space-3)",
|
|
4965
|
-
animation:
|
|
4970
|
+
animation: u ? "lucent-collapsible-open 200ms var(--lucent-easing-default) forwards" : void 0
|
|
4966
4971
|
},
|
|
4967
4972
|
children: t
|
|
4968
4973
|
}
|
|
@@ -4972,7 +4977,7 @@ function Xa({ trigger: e, children: t, defaultOpen: a = !1, open: o, onOpenChang
|
|
|
4972
4977
|
] })
|
|
4973
4978
|
] });
|
|
4974
4979
|
}
|
|
4975
|
-
function
|
|
4980
|
+
function Sn({ open: e }) {
|
|
4976
4981
|
return /* @__PURE__ */ n(
|
|
4977
4982
|
"svg",
|
|
4978
4983
|
{
|
|
@@ -4995,10 +5000,10 @@ function xn({ open: e }) {
|
|
|
4995
5000
|
}
|
|
4996
5001
|
);
|
|
4997
5002
|
}
|
|
4998
|
-
function
|
|
5003
|
+
function ce(e) {
|
|
4999
5004
|
return typeof e == "number" ? `${e}px` : e;
|
|
5000
5005
|
}
|
|
5001
|
-
function
|
|
5006
|
+
function er({
|
|
5002
5007
|
children: e,
|
|
5003
5008
|
header: t,
|
|
5004
5009
|
sidebar: a,
|
|
@@ -5008,12 +5013,12 @@ function Ja({
|
|
|
5008
5013
|
rightSidebar: l,
|
|
5009
5014
|
rightSidebarWidth: c = 240,
|
|
5010
5015
|
rightSidebarCollapsed: s = !1,
|
|
5011
|
-
footer:
|
|
5016
|
+
footer: u,
|
|
5012
5017
|
footerHeight: m = 28,
|
|
5013
5018
|
mainStyle: d,
|
|
5014
5019
|
style: g
|
|
5015
5020
|
}) {
|
|
5016
|
-
const
|
|
5021
|
+
const p = ce(r), x = ce(o), b = ce(c), y = ce(m);
|
|
5017
5022
|
return /* @__PURE__ */ f(
|
|
5018
5023
|
"div",
|
|
5019
5024
|
{
|
|
@@ -5031,7 +5036,7 @@ function Ja({
|
|
|
5031
5036
|
{
|
|
5032
5037
|
style: {
|
|
5033
5038
|
flexShrink: 0,
|
|
5034
|
-
height:
|
|
5039
|
+
height: p,
|
|
5035
5040
|
zIndex: 10,
|
|
5036
5041
|
background: "var(--lucent-surface)"
|
|
5037
5042
|
},
|
|
@@ -5043,7 +5048,7 @@ function Ja({
|
|
|
5043
5048
|
"div",
|
|
5044
5049
|
{
|
|
5045
5050
|
style: {
|
|
5046
|
-
width: i ? 0 :
|
|
5051
|
+
width: i ? 0 : x,
|
|
5047
5052
|
flexShrink: 0,
|
|
5048
5053
|
overflow: "hidden",
|
|
5049
5054
|
overflowY: i ? "hidden" : "auto",
|
|
@@ -5085,7 +5090,7 @@ function Ja({
|
|
|
5085
5090
|
}
|
|
5086
5091
|
)
|
|
5087
5092
|
] }),
|
|
5088
|
-
|
|
5093
|
+
u != null && /* @__PURE__ */ n(
|
|
5089
5094
|
"div",
|
|
5090
5095
|
{
|
|
5091
5096
|
style: {
|
|
@@ -5094,14 +5099,14 @@ function Ja({
|
|
|
5094
5099
|
zIndex: 10,
|
|
5095
5100
|
background: "var(--lucent-surface)"
|
|
5096
5101
|
},
|
|
5097
|
-
children:
|
|
5102
|
+
children: u
|
|
5098
5103
|
}
|
|
5099
5104
|
)
|
|
5100
5105
|
]
|
|
5101
5106
|
}
|
|
5102
5107
|
);
|
|
5103
5108
|
}
|
|
5104
|
-
function
|
|
5109
|
+
function Tn({ state: e }) {
|
|
5105
5110
|
return /* @__PURE__ */ f(
|
|
5106
5111
|
"svg",
|
|
5107
5112
|
{
|
|
@@ -5132,7 +5137,7 @@ function wn({ state: e }) {
|
|
|
5132
5137
|
}
|
|
5133
5138
|
);
|
|
5134
5139
|
}
|
|
5135
|
-
function
|
|
5140
|
+
function Ne({ dir: e }) {
|
|
5136
5141
|
return /* @__PURE__ */ n("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": !0, children: /* @__PURE__ */ n(
|
|
5137
5142
|
"path",
|
|
5138
5143
|
{
|
|
@@ -5144,7 +5149,7 @@ function Re({ dir: e }) {
|
|
|
5144
5149
|
}
|
|
5145
5150
|
) });
|
|
5146
5151
|
}
|
|
5147
|
-
function
|
|
5152
|
+
function tr({
|
|
5148
5153
|
columns: e,
|
|
5149
5154
|
rows: t,
|
|
5150
5155
|
pageSize: a = 10,
|
|
@@ -5154,41 +5159,41 @@ function Za({
|
|
|
5154
5159
|
emptyState: l,
|
|
5155
5160
|
style: c
|
|
5156
5161
|
}) {
|
|
5157
|
-
const [s,
|
|
5162
|
+
const [s, u] = z(null), [m, d] = z(0), [g, p] = z(null), [x, b] = z({}), y = o !== void 0, h = y ? o : m, v = e.some((D) => D.filterable), C = v ? t.filter((D) => e.every((M) => {
|
|
5158
5163
|
if (!M.filterable) return !0;
|
|
5159
|
-
const
|
|
5160
|
-
if (!
|
|
5161
|
-
const $ = String(
|
|
5162
|
-
return
|
|
5163
|
-
})) : t,
|
|
5164
|
-
const
|
|
5164
|
+
const A = x[M.key];
|
|
5165
|
+
if (!A || A.length === 0) return !0;
|
|
5166
|
+
const $ = String(D[M.key] ?? "");
|
|
5167
|
+
return A.includes($);
|
|
5168
|
+
})) : t, S = s ? [...C].sort((D, M) => {
|
|
5169
|
+
const A = D[s.key], $ = M[s.key], U = String(A ?? "").localeCompare(String($ ?? ""), void 0, { numeric: !0 });
|
|
5165
5170
|
return s.dir === "asc" ? U : -U;
|
|
5166
|
-
}) :
|
|
5167
|
-
y || d(
|
|
5168
|
-
},
|
|
5169
|
-
|
|
5170
|
-
},
|
|
5171
|
-
const
|
|
5172
|
-
M.length === 0 && delete D
|
|
5171
|
+
}) : C, T = a > 0 ? S.slice(h * a, (h + 1) * a) : S, E = a > 0 ? Math.max(1, Math.ceil(S.length / a)) : 1, B = (D) => {
|
|
5172
|
+
y || d(D), r == null || r(D);
|
|
5173
|
+
}, w = (D) => {
|
|
5174
|
+
u((M) => !M || M.key !== D ? { key: D, dir: "asc" } : M.dir === "asc" ? { key: D, dir: "desc" } : null), y || d(0), r == null || r(0);
|
|
5175
|
+
}, I = (D, M) => {
|
|
5176
|
+
const A = { ...x, [D]: M };
|
|
5177
|
+
M.length === 0 && delete A[D], b(A), y || d(0), r == null || r(0), i == null || i(A);
|
|
5173
5178
|
}, G = () => {
|
|
5174
5179
|
b({}), y || d(0), r == null || r(0), i == null || i({});
|
|
5175
|
-
},
|
|
5180
|
+
}, q = [];
|
|
5176
5181
|
if (E <= 7)
|
|
5177
|
-
for (let
|
|
5182
|
+
for (let D = 0; D < E; D++) q.push(D);
|
|
5178
5183
|
else {
|
|
5179
|
-
|
|
5180
|
-
for (let
|
|
5181
|
-
|
|
5182
|
-
h < E - 3 &&
|
|
5184
|
+
q.push(0), h > 2 && q.push("…");
|
|
5185
|
+
for (let D = Math.max(1, h - 1); D <= Math.min(E - 2, h + 1); D++)
|
|
5186
|
+
q.push(D);
|
|
5187
|
+
h < E - 3 && q.push("…"), q.push(E - 1);
|
|
5183
5188
|
}
|
|
5184
5189
|
return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-3)", ...c }, children: [
|
|
5185
5190
|
v && /* @__PURE__ */ n("div", { style: { position: "relative", zIndex: 1 }, children: /* @__PURE__ */ n(
|
|
5186
|
-
|
|
5191
|
+
Cn,
|
|
5187
5192
|
{
|
|
5188
5193
|
columns: e,
|
|
5189
5194
|
rows: t,
|
|
5190
|
-
filters:
|
|
5191
|
-
onFilter:
|
|
5195
|
+
filters: x,
|
|
5196
|
+
onFilter: I,
|
|
5192
5197
|
onClearAll: G
|
|
5193
5198
|
}
|
|
5194
5199
|
) }),
|
|
@@ -5202,115 +5207,115 @@ function Za({
|
|
|
5202
5207
|
fontFamily: "var(--lucent-font-family-base)",
|
|
5203
5208
|
fontSize: "var(--lucent-font-size-sm)"
|
|
5204
5209
|
}, children: [
|
|
5205
|
-
/* @__PURE__ */ n("thead", { children: /* @__PURE__ */ n("tr", { style: { borderBottom: "1px solid var(--lucent-border-default)" }, children: e.map((
|
|
5206
|
-
const M = (s == null ? void 0 : s.key) ===
|
|
5210
|
+
/* @__PURE__ */ n("thead", { children: /* @__PURE__ */ n("tr", { style: { borderBottom: "1px solid var(--lucent-border-default)" }, children: e.map((D) => {
|
|
5211
|
+
const M = (s == null ? void 0 : s.key) === D.key ? s.dir : "none";
|
|
5207
5212
|
return /* @__PURE__ */ n(
|
|
5208
5213
|
"th",
|
|
5209
5214
|
{
|
|
5210
|
-
onClick:
|
|
5215
|
+
onClick: D.sortable ? () => w(D.key) : void 0,
|
|
5211
5216
|
style: {
|
|
5212
5217
|
padding: "var(--lucent-space-3) var(--lucent-space-4)",
|
|
5213
|
-
textAlign:
|
|
5218
|
+
textAlign: D.align ?? "left",
|
|
5214
5219
|
fontWeight: "var(--lucent-font-weight-medium)",
|
|
5215
5220
|
color: "var(--lucent-text-secondary)",
|
|
5216
5221
|
background: "var(--lucent-surface-secondary)",
|
|
5217
5222
|
borderBottom: "1px solid var(--lucent-border-default)",
|
|
5218
|
-
cursor:
|
|
5223
|
+
cursor: D.sortable ? "pointer" : "default",
|
|
5219
5224
|
userSelect: "none",
|
|
5220
5225
|
whiteSpace: "nowrap",
|
|
5221
|
-
...
|
|
5226
|
+
...D.width ? { width: D.width } : {}
|
|
5222
5227
|
},
|
|
5223
5228
|
children: /* @__PURE__ */ f("span", { style: { display: "inline-flex", alignItems: "center", gap: "var(--lucent-space-1)" }, children: [
|
|
5224
|
-
|
|
5225
|
-
|
|
5229
|
+
D.header,
|
|
5230
|
+
D.sortable && /* @__PURE__ */ n(Tn, { state: M })
|
|
5226
5231
|
] })
|
|
5227
5232
|
},
|
|
5228
|
-
|
|
5233
|
+
D.key
|
|
5229
5234
|
);
|
|
5230
5235
|
}) }) }),
|
|
5231
|
-
/* @__PURE__ */ n("tbody", { children:
|
|
5236
|
+
/* @__PURE__ */ n("tbody", { children: T.length === 0 ? /* @__PURE__ */ n("tr", { children: /* @__PURE__ */ n(
|
|
5232
5237
|
"td",
|
|
5233
5238
|
{
|
|
5234
5239
|
colSpan: e.length,
|
|
5235
5240
|
style: { padding: "var(--lucent-space-12)", textAlign: "center" },
|
|
5236
5241
|
children: l ?? /* @__PURE__ */ n(L, { color: "secondary", children: "No data" })
|
|
5237
5242
|
}
|
|
5238
|
-
) }) :
|
|
5243
|
+
) }) : T.map((D, M) => /* @__PURE__ */ n(
|
|
5239
5244
|
"tr",
|
|
5240
5245
|
{
|
|
5241
|
-
onMouseEnter: () =>
|
|
5242
|
-
onMouseLeave: () =>
|
|
5246
|
+
onMouseEnter: () => p(M),
|
|
5247
|
+
onMouseLeave: () => p(null),
|
|
5243
5248
|
style: {
|
|
5244
|
-
borderBottom: M <
|
|
5249
|
+
borderBottom: M < T.length - 1 ? "1px solid var(--lucent-border-subtle)" : "none",
|
|
5245
5250
|
background: g === M ? "var(--lucent-surface-secondary)" : "var(--lucent-surface)",
|
|
5246
5251
|
transition: "background var(--lucent-duration-fast) var(--lucent-easing-default)"
|
|
5247
5252
|
},
|
|
5248
|
-
children: e.map((
|
|
5253
|
+
children: e.map((A) => /* @__PURE__ */ n(
|
|
5249
5254
|
"td",
|
|
5250
5255
|
{
|
|
5251
5256
|
style: {
|
|
5252
5257
|
padding: "var(--lucent-space-3) var(--lucent-space-4)",
|
|
5253
5258
|
color: "var(--lucent-text-primary)",
|
|
5254
|
-
textAlign:
|
|
5259
|
+
textAlign: A.align ?? "left",
|
|
5255
5260
|
verticalAlign: "middle"
|
|
5256
5261
|
},
|
|
5257
|
-
children:
|
|
5262
|
+
children: A.render ? A.render(D, M) : String(D[A.key] ?? "")
|
|
5258
5263
|
},
|
|
5259
|
-
|
|
5264
|
+
A.key
|
|
5260
5265
|
))
|
|
5261
5266
|
},
|
|
5262
5267
|
M
|
|
5263
5268
|
)) })
|
|
5264
5269
|
] }) }),
|
|
5265
|
-
a > 0 &&
|
|
5270
|
+
a > 0 && S.length > 0 && /* @__PURE__ */ f("div", { style: {
|
|
5266
5271
|
display: "flex",
|
|
5267
5272
|
alignItems: "center",
|
|
5268
5273
|
justifyContent: "space-between",
|
|
5269
5274
|
gap: "var(--lucent-space-3)",
|
|
5270
5275
|
flexWrap: "wrap"
|
|
5271
5276
|
}, children: [
|
|
5272
|
-
/* @__PURE__ */ n(L, { color: "secondary", size: "sm", children:
|
|
5277
|
+
/* @__PURE__ */ n(L, { color: "secondary", size: "sm", children: S.length === 0 ? `0 rows${t.length > 0 ? ` (filtered from ${t.length})` : ""}` : S.length === 1 ? `1 row${S.length < t.length ? ` (filtered from ${t.length})` : ""}` : `${h * a + 1}–${Math.min((h + 1) * a, S.length)} of ${S.length} rows${S.length < t.length ? ` (filtered from ${t.length})` : ""}` }),
|
|
5273
5278
|
/* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "center", gap: "var(--lucent-space-1)" }, children: [
|
|
5274
5279
|
/* @__PURE__ */ n(
|
|
5275
|
-
|
|
5280
|
+
ye,
|
|
5276
5281
|
{
|
|
5277
|
-
onClick: () =>
|
|
5282
|
+
onClick: () => B(h - 1),
|
|
5278
5283
|
disabled: h === 0,
|
|
5279
5284
|
"aria-label": "Previous page",
|
|
5280
|
-
children: /* @__PURE__ */ n(
|
|
5285
|
+
children: /* @__PURE__ */ n(Ne, { dir: "left" })
|
|
5281
5286
|
}
|
|
5282
5287
|
),
|
|
5283
|
-
|
|
5284
|
-
(
|
|
5288
|
+
q.map(
|
|
5289
|
+
(D, M) => D === "…" ? /* @__PURE__ */ n("span", { style: {
|
|
5285
5290
|
padding: "0 var(--lucent-space-1)",
|
|
5286
5291
|
color: "var(--lucent-text-disabled)",
|
|
5287
5292
|
fontSize: "var(--lucent-font-size-sm)"
|
|
5288
5293
|
}, children: "…" }, `ellipsis-${M}`) : /* @__PURE__ */ n(
|
|
5289
|
-
|
|
5294
|
+
ye,
|
|
5290
5295
|
{
|
|
5291
|
-
onClick: () =>
|
|
5292
|
-
active:
|
|
5293
|
-
"aria-label": `Page ${
|
|
5294
|
-
"aria-current":
|
|
5295
|
-
children:
|
|
5296
|
+
onClick: () => B(D),
|
|
5297
|
+
active: D === h,
|
|
5298
|
+
"aria-label": `Page ${D + 1}`,
|
|
5299
|
+
"aria-current": D === h ? "page" : void 0,
|
|
5300
|
+
children: D + 1
|
|
5296
5301
|
},
|
|
5297
|
-
|
|
5302
|
+
D
|
|
5298
5303
|
)
|
|
5299
5304
|
),
|
|
5300
5305
|
/* @__PURE__ */ n(
|
|
5301
|
-
|
|
5306
|
+
ye,
|
|
5302
5307
|
{
|
|
5303
|
-
onClick: () =>
|
|
5308
|
+
onClick: () => B(h + 1),
|
|
5304
5309
|
disabled: h >= E - 1,
|
|
5305
5310
|
"aria-label": "Next page",
|
|
5306
|
-
children: /* @__PURE__ */ n(
|
|
5311
|
+
children: /* @__PURE__ */ n(Ne, { dir: "right" })
|
|
5307
5312
|
}
|
|
5308
5313
|
)
|
|
5309
5314
|
] })
|
|
5310
5315
|
] })
|
|
5311
5316
|
] });
|
|
5312
5317
|
}
|
|
5313
|
-
function
|
|
5318
|
+
function Cn({
|
|
5314
5319
|
columns: e,
|
|
5315
5320
|
rows: t,
|
|
5316
5321
|
filters: a,
|
|
@@ -5321,15 +5326,15 @@ function kn({
|
|
|
5321
5326
|
return /* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "center", gap: "var(--lucent-space-2)", flexWrap: "wrap" }, children: [
|
|
5322
5327
|
i.map((c) => {
|
|
5323
5328
|
const s = Array.from(
|
|
5324
|
-
new Set(t.map((
|
|
5329
|
+
new Set(t.map((u) => String(u[c.key] ?? "")))
|
|
5325
5330
|
).sort();
|
|
5326
5331
|
return /* @__PURE__ */ n(
|
|
5327
|
-
|
|
5332
|
+
In,
|
|
5328
5333
|
{
|
|
5329
5334
|
label: c.header,
|
|
5330
5335
|
values: s,
|
|
5331
5336
|
value: a[c.key] ?? [],
|
|
5332
|
-
onChange: (
|
|
5337
|
+
onChange: (u) => o(c.key, u)
|
|
5333
5338
|
},
|
|
5334
5339
|
c.key
|
|
5335
5340
|
);
|
|
@@ -5356,16 +5361,16 @@ function kn({
|
|
|
5356
5361
|
)
|
|
5357
5362
|
] });
|
|
5358
5363
|
}
|
|
5359
|
-
function
|
|
5364
|
+
function In({
|
|
5360
5365
|
label: e,
|
|
5361
5366
|
values: t,
|
|
5362
5367
|
value: a,
|
|
5363
5368
|
onChange: o
|
|
5364
5369
|
}) {
|
|
5365
|
-
const [r, i] =
|
|
5370
|
+
const [r, i] = z(!1), [l, c] = z(!1), [s, u] = z(""), m = N(null), d = N(null), g = a.length > 0;
|
|
5366
5371
|
O(() => {
|
|
5367
5372
|
if (!r) {
|
|
5368
|
-
|
|
5373
|
+
u("");
|
|
5369
5374
|
return;
|
|
5370
5375
|
}
|
|
5371
5376
|
setTimeout(() => {
|
|
@@ -5381,7 +5386,7 @@ function Sn({
|
|
|
5381
5386
|
document.removeEventListener("mousedown", y), document.removeEventListener("keydown", h);
|
|
5382
5387
|
};
|
|
5383
5388
|
}, [r]);
|
|
5384
|
-
const
|
|
5389
|
+
const p = s ? t.filter((y) => y.toLowerCase().includes(s.toLowerCase())) : t, x = (y) => o(a.includes(y) ? a.filter((h) => h !== y) : [...a, y]), b = a.length === 0 ? null : a.length === 1 ? /* @__PURE__ */ f("span", { style: { color: "var(--lucent-text-secondary)", fontWeight: "var(--lucent-font-weight-regular)" }, children: [
|
|
5385
5390
|
": ",
|
|
5386
5391
|
a[0]
|
|
5387
5392
|
] }) : /* @__PURE__ */ f("span", { style: { color: "var(--lucent-accent-default)" }, children: [
|
|
@@ -5452,7 +5457,7 @@ function Sn({
|
|
|
5452
5457
|
ref: d,
|
|
5453
5458
|
type: "text",
|
|
5454
5459
|
value: s,
|
|
5455
|
-
onChange: (y) =>
|
|
5460
|
+
onChange: (y) => u(y.target.value),
|
|
5456
5461
|
placeholder: "Search…",
|
|
5457
5462
|
style: {
|
|
5458
5463
|
width: "100%",
|
|
@@ -5488,26 +5493,26 @@ function Sn({
|
|
|
5488
5493
|
children: "Clear selection"
|
|
5489
5494
|
}
|
|
5490
5495
|
) }),
|
|
5491
|
-
/* @__PURE__ */ n("div", { style: { overflowY: "auto", padding: "var(--lucent-space-1)", borderTop: "1px solid var(--lucent-border-subtle)", marginTop: "var(--lucent-space-2)" }, children:
|
|
5496
|
+
/* @__PURE__ */ n("div", { style: { overflowY: "auto", padding: "var(--lucent-space-1)", borderTop: "1px solid var(--lucent-border-subtle)", marginTop: "var(--lucent-space-2)" }, children: p.length === 0 ? /* @__PURE__ */ n("div", { style: {
|
|
5492
5497
|
padding: "var(--lucent-space-3)",
|
|
5493
5498
|
color: "var(--lucent-text-disabled)",
|
|
5494
5499
|
fontFamily: "var(--lucent-font-family-base)",
|
|
5495
5500
|
fontSize: "var(--lucent-font-size-xs)",
|
|
5496
5501
|
textAlign: "center"
|
|
5497
|
-
}, children: "No results" }) :
|
|
5498
|
-
|
|
5502
|
+
}, children: "No results" }) : p.map((y) => /* @__PURE__ */ n(
|
|
5503
|
+
Mn,
|
|
5499
5504
|
{
|
|
5500
5505
|
label: y,
|
|
5501
5506
|
isSelected: a.includes(y),
|
|
5502
|
-
onClick: () =>
|
|
5507
|
+
onClick: () => x(y)
|
|
5503
5508
|
},
|
|
5504
5509
|
y
|
|
5505
5510
|
)) })
|
|
5506
5511
|
] })
|
|
5507
5512
|
] });
|
|
5508
5513
|
}
|
|
5509
|
-
function
|
|
5510
|
-
const [o, r] =
|
|
5514
|
+
function Mn({ label: e, isSelected: t, onClick: a }) {
|
|
5515
|
+
const [o, r] = z(!1);
|
|
5511
5516
|
return /* @__PURE__ */ f(
|
|
5512
5517
|
"button",
|
|
5513
5518
|
{
|
|
@@ -5550,14 +5555,14 @@ function Tn({ label: e, isSelected: t, onClick: a }) {
|
|
|
5550
5555
|
}
|
|
5551
5556
|
);
|
|
5552
5557
|
}
|
|
5553
|
-
function
|
|
5558
|
+
function ye({
|
|
5554
5559
|
children: e,
|
|
5555
5560
|
onClick: t,
|
|
5556
5561
|
disabled: a,
|
|
5557
5562
|
active: o,
|
|
5558
5563
|
...r
|
|
5559
5564
|
}) {
|
|
5560
|
-
const [i, l] =
|
|
5565
|
+
const [i, l] = z(!1);
|
|
5561
5566
|
return /* @__PURE__ */ n(
|
|
5562
5567
|
"button",
|
|
5563
5568
|
{
|
|
@@ -5587,7 +5592,7 @@ function ge({
|
|
|
5587
5592
|
}
|
|
5588
5593
|
);
|
|
5589
5594
|
}
|
|
5590
|
-
const
|
|
5595
|
+
const nr = {
|
|
5591
5596
|
id: "data-table",
|
|
5592
5597
|
name: "DataTable",
|
|
5593
5598
|
tier: "molecule",
|
|
@@ -5696,18 +5701,18 @@ const Qa = {
|
|
|
5696
5701
|
keyboardInteractions: ["Tab to pagination controls", "Enter/Space to activate buttons"],
|
|
5697
5702
|
notes: 'Column headers with sortable:true are interactive buttons with aria-sort reflecting the current sort direction. Pagination buttons include aria-label and aria-current="page" for the active page.'
|
|
5698
5703
|
}
|
|
5699
|
-
},
|
|
5704
|
+
}, Dn = `
|
|
5700
5705
|
@keyframes lucent-palette-in {
|
|
5701
5706
|
from { opacity: 0; transform: scale(0.96) translateY(-8px); }
|
|
5702
5707
|
to { opacity: 1; transform: scale(1) translateY(0); }
|
|
5703
5708
|
}
|
|
5704
5709
|
`;
|
|
5705
|
-
function
|
|
5710
|
+
function zn(e, t) {
|
|
5706
5711
|
var o;
|
|
5707
5712
|
const a = t.toLowerCase();
|
|
5708
5713
|
return e.label.toLowerCase().includes(a) || (((o = e.description) == null ? void 0 : o.toLowerCase().includes(a)) ?? !1);
|
|
5709
5714
|
}
|
|
5710
|
-
function
|
|
5715
|
+
function ar({
|
|
5711
5716
|
commands: e,
|
|
5712
5717
|
placeholder: t = "Search commands…",
|
|
5713
5718
|
shortcutKey: a = "k",
|
|
@@ -5715,50 +5720,50 @@ function er({
|
|
|
5715
5720
|
onOpenChange: r,
|
|
5716
5721
|
style: i
|
|
5717
5722
|
}) {
|
|
5718
|
-
const l = o !== void 0, [c, s] =
|
|
5723
|
+
const l = o !== void 0, [c, s] = z(!1), u = l ? o : c, [m, d] = z(""), [g, p] = z(0), x = N(null), b = N(null), y = N(!1);
|
|
5719
5724
|
if (!y.current) {
|
|
5720
|
-
const
|
|
5721
|
-
|
|
5725
|
+
const w = document.createElement("style");
|
|
5726
|
+
w.textContent = Dn, document.head.appendChild(w), y.current = !0;
|
|
5722
5727
|
}
|
|
5723
|
-
const h =
|
|
5724
|
-
l || s(
|
|
5728
|
+
const h = ee((w) => {
|
|
5729
|
+
l || s(w), r == null || r(w);
|
|
5725
5730
|
}, [l, r]);
|
|
5726
5731
|
O(() => {
|
|
5727
|
-
const
|
|
5728
|
-
(
|
|
5732
|
+
const w = (I) => {
|
|
5733
|
+
(I.metaKey || I.ctrlKey) && I.key === a && (I.preventDefault(), h(!u));
|
|
5729
5734
|
};
|
|
5730
|
-
return window.addEventListener("keydown",
|
|
5731
|
-
}, [
|
|
5732
|
-
|
|
5733
|
-
var
|
|
5734
|
-
return (
|
|
5735
|
+
return window.addEventListener("keydown", w), () => window.removeEventListener("keydown", w);
|
|
5736
|
+
}, [u, a, h]), O(() => {
|
|
5737
|
+
u && (d(""), p(0), setTimeout(() => {
|
|
5738
|
+
var w;
|
|
5739
|
+
return (w = x.current) == null ? void 0 : w.focus();
|
|
5735
5740
|
}, 10));
|
|
5736
|
-
}, [
|
|
5737
|
-
const v = m ? e.filter((
|
|
5741
|
+
}, [u]);
|
|
5742
|
+
const v = m ? e.filter((w) => zn(w, m)) : e, C = v.filter((w) => !w.disabled);
|
|
5738
5743
|
O(() => {
|
|
5739
|
-
const
|
|
5740
|
-
if (!
|
|
5741
|
-
const
|
|
5742
|
-
|
|
5744
|
+
const w = b.current;
|
|
5745
|
+
if (!w) return;
|
|
5746
|
+
const I = w.querySelector('[data-active="true"]');
|
|
5747
|
+
I == null || I.scrollIntoView({ block: "nearest" });
|
|
5743
5748
|
}, [g]);
|
|
5744
|
-
const
|
|
5745
|
-
|
|
5746
|
-
},
|
|
5747
|
-
if (
|
|
5749
|
+
const S = (w) => {
|
|
5750
|
+
w.disabled || (w.onSelect(), h(!1));
|
|
5751
|
+
}, T = (w) => {
|
|
5752
|
+
if (w.key === "Escape") {
|
|
5748
5753
|
h(!1);
|
|
5749
5754
|
return;
|
|
5750
5755
|
}
|
|
5751
|
-
if (
|
|
5752
|
-
const
|
|
5753
|
-
|
|
5756
|
+
if (w.key === "ArrowDown" && (w.preventDefault(), p((I) => Math.min(I + 1, C.length - 1))), w.key === "ArrowUp" && (w.preventDefault(), p((I) => Math.max(I - 1, 0))), w.key === "Enter") {
|
|
5757
|
+
const I = C[g];
|
|
5758
|
+
I && S(I);
|
|
5754
5759
|
}
|
|
5755
5760
|
}, E = [];
|
|
5756
|
-
for (const
|
|
5757
|
-
const
|
|
5758
|
-
|
|
5761
|
+
for (const w of v) {
|
|
5762
|
+
const I = E[E.length - 1];
|
|
5763
|
+
I && I.group === w.group ? I.items.push(w) : E.push({ group: w.group, items: [w] });
|
|
5759
5764
|
}
|
|
5760
|
-
if (!
|
|
5761
|
-
let
|
|
5765
|
+
if (!u) return null;
|
|
5766
|
+
let B = 0;
|
|
5762
5767
|
return /* @__PURE__ */ n(
|
|
5763
5768
|
"div",
|
|
5764
5769
|
{
|
|
@@ -5783,7 +5788,7 @@ function er({
|
|
|
5783
5788
|
role: "combobox",
|
|
5784
5789
|
"aria-haspopup": "listbox",
|
|
5785
5790
|
"aria-expanded": "true",
|
|
5786
|
-
onClick: (
|
|
5791
|
+
onClick: (w) => w.stopPropagation(),
|
|
5787
5792
|
style: {
|
|
5788
5793
|
width: "100%",
|
|
5789
5794
|
maxWidth: 560,
|
|
@@ -5810,15 +5815,15 @@ function er({
|
|
|
5810
5815
|
/* @__PURE__ */ n(
|
|
5811
5816
|
"input",
|
|
5812
5817
|
{
|
|
5813
|
-
ref:
|
|
5818
|
+
ref: x,
|
|
5814
5819
|
role: "searchbox",
|
|
5815
5820
|
"aria-autocomplete": "list",
|
|
5816
5821
|
"aria-controls": "lucent-command-list",
|
|
5817
5822
|
value: m,
|
|
5818
|
-
onChange: (
|
|
5819
|
-
d(
|
|
5823
|
+
onChange: (w) => {
|
|
5824
|
+
d(w.target.value), p(0);
|
|
5820
5825
|
},
|
|
5821
|
-
onKeyDown:
|
|
5826
|
+
onKeyDown: T,
|
|
5822
5827
|
placeholder: t,
|
|
5823
5828
|
style: {
|
|
5824
5829
|
flex: 1,
|
|
@@ -5855,26 +5860,26 @@ function er({
|
|
|
5855
5860
|
'No results for "',
|
|
5856
5861
|
m,
|
|
5857
5862
|
'"'
|
|
5858
|
-
] }) }) : E.map(({ group:
|
|
5859
|
-
|
|
5863
|
+
] }) }) : E.map(({ group: w, items: I }, G) => /* @__PURE__ */ f("div", { children: [
|
|
5864
|
+
w && /* @__PURE__ */ n("div", { style: {
|
|
5860
5865
|
padding: "var(--lucent-space-2) var(--lucent-space-4) var(--lucent-space-1)",
|
|
5861
5866
|
...G > 0 ? { borderTop: "1px solid var(--lucent-border-subtle)", marginTop: "var(--lucent-space-1)" } : {}
|
|
5862
|
-
}, children: /* @__PURE__ */ n(L, { size: "xs", color: "secondary", weight: "medium", children:
|
|
5863
|
-
|
|
5864
|
-
const
|
|
5867
|
+
}, children: /* @__PURE__ */ n(L, { size: "xs", color: "secondary", weight: "medium", children: w }) }),
|
|
5868
|
+
I.map((q) => {
|
|
5869
|
+
const D = q.disabled ?? !1;
|
|
5865
5870
|
let M = !1;
|
|
5866
|
-
return
|
|
5871
|
+
return D || (M = B === g, B++), /* @__PURE__ */ f(
|
|
5867
5872
|
"div",
|
|
5868
5873
|
{
|
|
5869
5874
|
role: "option",
|
|
5870
5875
|
"aria-selected": M,
|
|
5871
|
-
"aria-disabled":
|
|
5876
|
+
"aria-disabled": D,
|
|
5872
5877
|
"data-active": M,
|
|
5873
|
-
onClick: () =>
|
|
5878
|
+
onClick: () => S(q),
|
|
5874
5879
|
onMouseEnter: () => {
|
|
5875
|
-
if (!
|
|
5876
|
-
const
|
|
5877
|
-
|
|
5880
|
+
if (!D) {
|
|
5881
|
+
const A = C.indexOf(q);
|
|
5882
|
+
A !== -1 && p(A);
|
|
5878
5883
|
}
|
|
5879
5884
|
},
|
|
5880
5885
|
style: {
|
|
@@ -5882,20 +5887,20 @@ function er({
|
|
|
5882
5887
|
alignItems: "center",
|
|
5883
5888
|
gap: "var(--lucent-space-3)",
|
|
5884
5889
|
padding: "var(--lucent-space-2) var(--lucent-space-4)",
|
|
5885
|
-
cursor:
|
|
5890
|
+
cursor: D ? "not-allowed" : "pointer",
|
|
5886
5891
|
background: M ? "var(--lucent-surface-secondary)" : "transparent",
|
|
5887
5892
|
transition: "background var(--lucent-duration-fast) var(--lucent-easing-default)",
|
|
5888
|
-
opacity:
|
|
5893
|
+
opacity: D ? 0.5 : 1
|
|
5889
5894
|
},
|
|
5890
5895
|
children: [
|
|
5891
|
-
|
|
5896
|
+
q.icon && /* @__PURE__ */ n("span", { style: { flexShrink: 0, color: "var(--lucent-text-secondary)", display: "flex" }, children: q.icon }),
|
|
5892
5897
|
/* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5893
|
-
/* @__PURE__ */ n(L, { size: "sm", weight: "medium", truncate: !0, children:
|
|
5894
|
-
|
|
5898
|
+
/* @__PURE__ */ n(L, { size: "sm", weight: "medium", truncate: !0, children: q.label }),
|
|
5899
|
+
q.description && /* @__PURE__ */ n(L, { size: "xs", color: "secondary", truncate: !0, children: q.description })
|
|
5895
5900
|
] })
|
|
5896
5901
|
]
|
|
5897
5902
|
},
|
|
5898
|
-
|
|
5903
|
+
q.id
|
|
5899
5904
|
);
|
|
5900
5905
|
})
|
|
5901
5906
|
] }, G))
|
|
@@ -5911,7 +5916,7 @@ function er({
|
|
|
5911
5916
|
["↑↓", "Navigate"],
|
|
5912
5917
|
["↵", "Select"],
|
|
5913
5918
|
["Esc", "Close"]
|
|
5914
|
-
].map(([
|
|
5919
|
+
].map(([w, I]) => /* @__PURE__ */ f("span", { style: { display: "flex", alignItems: "center", gap: "var(--lucent-space-1)" }, children: [
|
|
5915
5920
|
/* @__PURE__ */ n("kbd", { style: {
|
|
5916
5921
|
padding: "1px 5px",
|
|
5917
5922
|
borderRadius: "var(--lucent-radius-sm)",
|
|
@@ -5920,16 +5925,16 @@ function er({
|
|
|
5920
5925
|
fontFamily: "var(--lucent-font-family-mono)",
|
|
5921
5926
|
fontSize: "var(--lucent-font-size-xs)",
|
|
5922
5927
|
color: "var(--lucent-text-secondary)"
|
|
5923
|
-
}, children:
|
|
5924
|
-
/* @__PURE__ */ n(L, { size: "xs", color: "secondary", children:
|
|
5925
|
-
] },
|
|
5928
|
+
}, children: w }),
|
|
5929
|
+
/* @__PURE__ */ n(L, { size: "xs", color: "secondary", children: I })
|
|
5930
|
+
] }, w)) })
|
|
5926
5931
|
]
|
|
5927
5932
|
}
|
|
5928
5933
|
)
|
|
5929
5934
|
}
|
|
5930
5935
|
);
|
|
5931
5936
|
}
|
|
5932
|
-
const
|
|
5937
|
+
const rr = {
|
|
5933
5938
|
id: "command-palette",
|
|
5934
5939
|
name: "CommandPalette",
|
|
5935
5940
|
tier: "overlay",
|
|
@@ -6012,7 +6017,7 @@ const tr = {
|
|
|
6012
6017
|
notes: 'The backdrop and panel use role="dialog" with aria-modal="true". The input is role="searchbox". The result list is role="listbox" with role="option" items. Focus is moved to the search input on open.'
|
|
6013
6018
|
}
|
|
6014
6019
|
};
|
|
6015
|
-
function
|
|
6020
|
+
function An({ label: e, onRemove: t, disabled: a }) {
|
|
6016
6021
|
return /* @__PURE__ */ f("span", { style: {
|
|
6017
6022
|
display: "inline-flex",
|
|
6018
6023
|
alignItems: "center",
|
|
@@ -6054,7 +6059,7 @@ function Mn({ label: e, onRemove: t, disabled: a }) {
|
|
|
6054
6059
|
)
|
|
6055
6060
|
] });
|
|
6056
6061
|
}
|
|
6057
|
-
function
|
|
6062
|
+
function or({
|
|
6058
6063
|
options: e,
|
|
6059
6064
|
value: t,
|
|
6060
6065
|
defaultValue: a = [],
|
|
@@ -6064,42 +6069,42 @@ function nr({
|
|
|
6064
6069
|
max: l,
|
|
6065
6070
|
style: c
|
|
6066
6071
|
}) {
|
|
6067
|
-
const s = t !== void 0, [
|
|
6072
|
+
const s = t !== void 0, [u, m] = z(a), d = s ? t : u, [g, p] = z(!1), [x, b] = z(""), [y, h] = z(0), [v, C] = z(!1), S = N(null), T = N(null), E = Ie();
|
|
6068
6073
|
O(() => {
|
|
6069
6074
|
if (!g) return;
|
|
6070
|
-
const M = (
|
|
6075
|
+
const M = (A) => {
|
|
6071
6076
|
var $;
|
|
6072
|
-
($ =
|
|
6077
|
+
($ = S.current) != null && $.contains(A.target) || (p(!1), b(""));
|
|
6073
6078
|
};
|
|
6074
6079
|
return document.addEventListener("mousedown", M), () => document.removeEventListener("mousedown", M);
|
|
6075
6080
|
}, [g]);
|
|
6076
|
-
const
|
|
6077
|
-
const
|
|
6078
|
-
s || m(
|
|
6079
|
-
},
|
|
6080
|
-
const
|
|
6081
|
-
s || m(
|
|
6082
|
-
},
|
|
6083
|
-
(M) => M.label.toLowerCase().includes(
|
|
6081
|
+
const B = (M) => {
|
|
6082
|
+
const A = d.includes(M) ? d.filter(($) => $ !== M) : l !== void 0 && d.length >= l ? d : [...d, M];
|
|
6083
|
+
s || m(A), o == null || o(A);
|
|
6084
|
+
}, w = (M) => {
|
|
6085
|
+
const A = d.filter(($) => $ !== M);
|
|
6086
|
+
s || m(A), o == null || o(A);
|
|
6087
|
+
}, I = e.filter(
|
|
6088
|
+
(M) => M.label.toLowerCase().includes(x.toLowerCase())
|
|
6084
6089
|
), G = (M) => {
|
|
6085
6090
|
if (M.key === "Escape") {
|
|
6086
|
-
|
|
6091
|
+
p(!1), b("");
|
|
6087
6092
|
return;
|
|
6088
6093
|
}
|
|
6089
|
-
if (M.key === "ArrowDown" && (M.preventDefault(),
|
|
6094
|
+
if (M.key === "ArrowDown" && (M.preventDefault(), p(!0), h((A) => Math.min(A + 1, I.length - 1))), M.key === "ArrowUp" && (M.preventDefault(), h((A) => Math.max(A - 1, 0))), M.key === "Enter") {
|
|
6090
6095
|
M.preventDefault();
|
|
6091
|
-
const
|
|
6092
|
-
|
|
6096
|
+
const A = I[y];
|
|
6097
|
+
A && !A.disabled && B(A.value);
|
|
6093
6098
|
}
|
|
6094
|
-
M.key === "Backspace" &&
|
|
6095
|
-
},
|
|
6096
|
-
return /* @__PURE__ */ f("div", { ref:
|
|
6099
|
+
M.key === "Backspace" && x === "" && d.length > 0 && w(d[d.length - 1]);
|
|
6100
|
+
}, q = l !== void 0 && d.length >= l, D = i ? "var(--lucent-border-default)" : v ? "var(--lucent-accent-default)" : "var(--lucent-border-default)";
|
|
6101
|
+
return /* @__PURE__ */ f("div", { ref: S, style: { position: "relative", ...c }, children: [
|
|
6097
6102
|
/* @__PURE__ */ f(
|
|
6098
6103
|
"div",
|
|
6099
6104
|
{
|
|
6100
6105
|
onClick: () => {
|
|
6101
6106
|
var M;
|
|
6102
|
-
i || (
|
|
6107
|
+
i || (p(!0), (M = T.current) == null || M.focus());
|
|
6103
6108
|
},
|
|
6104
6109
|
style: {
|
|
6105
6110
|
display: "flex",
|
|
@@ -6109,7 +6114,7 @@ function nr({
|
|
|
6109
6114
|
minHeight: 38,
|
|
6110
6115
|
padding: "var(--lucent-space-1) var(--lucent-space-3)",
|
|
6111
6116
|
borderRadius: "var(--lucent-radius-md)",
|
|
6112
|
-
border: `1px solid ${
|
|
6117
|
+
border: `1px solid ${D}`,
|
|
6113
6118
|
background: i ? "var(--lucent-surface-secondary)" : "var(--lucent-surface)",
|
|
6114
6119
|
cursor: i ? "not-allowed" : "text",
|
|
6115
6120
|
transition: "border-color var(--lucent-duration-fast) var(--lucent-easing-default)",
|
|
@@ -6118,20 +6123,20 @@ function nr({
|
|
|
6118
6123
|
},
|
|
6119
6124
|
children: [
|
|
6120
6125
|
d.map((M) => {
|
|
6121
|
-
const
|
|
6122
|
-
return
|
|
6126
|
+
const A = e.find(($) => $.value === M);
|
|
6127
|
+
return A ? /* @__PURE__ */ n(An, { label: A.label, onRemove: () => w(M), disabled: i }, M) : null;
|
|
6123
6128
|
}),
|
|
6124
6129
|
/* @__PURE__ */ n(
|
|
6125
6130
|
"input",
|
|
6126
6131
|
{
|
|
6127
|
-
ref:
|
|
6128
|
-
value:
|
|
6132
|
+
ref: T,
|
|
6133
|
+
value: x,
|
|
6129
6134
|
onChange: (M) => {
|
|
6130
|
-
b(M.target.value),
|
|
6135
|
+
b(M.target.value), p(!0), h(0);
|
|
6131
6136
|
},
|
|
6132
6137
|
onKeyDown: G,
|
|
6133
|
-
onFocus: () =>
|
|
6134
|
-
onBlur: () =>
|
|
6138
|
+
onFocus: () => C(!0),
|
|
6139
|
+
onBlur: () => C(!1),
|
|
6135
6140
|
disabled: i,
|
|
6136
6141
|
placeholder: d.length === 0 ? r : "",
|
|
6137
6142
|
"aria-autocomplete": "list",
|
|
@@ -6176,33 +6181,33 @@ function nr({
|
|
|
6176
6181
|
padding: "var(--lucent-space-1) 0"
|
|
6177
6182
|
},
|
|
6178
6183
|
children: [
|
|
6179
|
-
|
|
6180
|
-
const $ = d.includes(M.value), U =
|
|
6184
|
+
I.length === 0 ? /* @__PURE__ */ n("div", { style: { padding: "var(--lucent-space-3) var(--lucent-space-4)" }, children: /* @__PURE__ */ n(L, { color: "secondary", size: "sm", children: "No options" }) }) : I.map((M, A) => {
|
|
6185
|
+
const $ = d.includes(M.value), U = A === y, _ = M.disabled ?? !1, X = q && !$;
|
|
6181
6186
|
return /* @__PURE__ */ f(
|
|
6182
6187
|
"div",
|
|
6183
6188
|
{
|
|
6184
6189
|
role: "option",
|
|
6185
6190
|
"aria-selected": $,
|
|
6186
|
-
"aria-disabled":
|
|
6191
|
+
"aria-disabled": _ || X,
|
|
6187
6192
|
onClick: () => {
|
|
6188
|
-
!
|
|
6193
|
+
!_ && !X && B(M.value);
|
|
6189
6194
|
},
|
|
6190
|
-
onMouseEnter: () => h(
|
|
6195
|
+
onMouseEnter: () => h(A),
|
|
6191
6196
|
style: {
|
|
6192
6197
|
display: "flex",
|
|
6193
6198
|
alignItems: "center",
|
|
6194
6199
|
gap: "var(--lucent-space-2)",
|
|
6195
6200
|
padding: "var(--lucent-space-2) var(--lucent-space-3)",
|
|
6196
|
-
cursor:
|
|
6201
|
+
cursor: _ || X ? "not-allowed" : "pointer",
|
|
6197
6202
|
background: U ? "var(--lucent-surface-secondary)" : "transparent",
|
|
6198
|
-
opacity:
|
|
6203
|
+
opacity: _ || X ? 0.5 : 1
|
|
6199
6204
|
},
|
|
6200
6205
|
children: [
|
|
6201
6206
|
/* @__PURE__ */ n(
|
|
6202
|
-
|
|
6207
|
+
Oe,
|
|
6203
6208
|
{
|
|
6204
6209
|
checked: $,
|
|
6205
|
-
disabled:
|
|
6210
|
+
disabled: _ || X,
|
|
6206
6211
|
size: "md",
|
|
6207
6212
|
style: { margin: 0, pointerEvents: "none" },
|
|
6208
6213
|
"aria-hidden": !0,
|
|
@@ -6215,7 +6220,7 @@ function nr({
|
|
|
6215
6220
|
M.value
|
|
6216
6221
|
);
|
|
6217
6222
|
}),
|
|
6218
|
-
|
|
6223
|
+
q && /* @__PURE__ */ n("div", { style: {
|
|
6219
6224
|
padding: "var(--lucent-space-2) var(--lucent-space-3)",
|
|
6220
6225
|
borderTop: "1px solid var(--lucent-border-subtle)"
|
|
6221
6226
|
}, children: /* @__PURE__ */ f(L, { size: "xs", color: "secondary", children: [
|
|
@@ -6228,7 +6233,7 @@ function nr({
|
|
|
6228
6233
|
)
|
|
6229
6234
|
] });
|
|
6230
6235
|
}
|
|
6231
|
-
const
|
|
6236
|
+
const ir = {
|
|
6232
6237
|
id: "multi-select",
|
|
6233
6238
|
name: "MultiSelect",
|
|
6234
6239
|
tier: "molecule",
|
|
@@ -6323,22 +6328,22 @@ const ar = {
|
|
|
6323
6328
|
notes: 'The input carries role="combobox" with aria-expanded and aria-controls pointing to the listbox. Each option has role="option" with aria-selected. Remove buttons on tags have descriptive aria-label.'
|
|
6324
6329
|
}
|
|
6325
6330
|
};
|
|
6326
|
-
function
|
|
6331
|
+
function En(e, t) {
|
|
6327
6332
|
return new Date(e, t + 1, 0).getDate();
|
|
6328
6333
|
}
|
|
6329
|
-
function
|
|
6334
|
+
function qn(e, t) {
|
|
6330
6335
|
return new Date(e, t, 1).getDay();
|
|
6331
6336
|
}
|
|
6332
|
-
function
|
|
6337
|
+
function me(e, t) {
|
|
6333
6338
|
return e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate();
|
|
6334
6339
|
}
|
|
6335
|
-
function
|
|
6340
|
+
function Se(e, t) {
|
|
6336
6341
|
return new Date(e.getFullYear(), e.getMonth(), e.getDate()) < new Date(t.getFullYear(), t.getMonth(), t.getDate());
|
|
6337
6342
|
}
|
|
6338
|
-
function
|
|
6343
|
+
function $e(e, t) {
|
|
6339
6344
|
return new Date(e.getFullYear(), e.getMonth(), e.getDate()) > new Date(t.getFullYear(), t.getMonth(), t.getDate());
|
|
6340
6345
|
}
|
|
6341
|
-
const
|
|
6346
|
+
const Rn = [
|
|
6342
6347
|
"January",
|
|
6343
6348
|
"February",
|
|
6344
6349
|
"March",
|
|
@@ -6351,12 +6356,12 @@ const An = [
|
|
|
6351
6356
|
"October",
|
|
6352
6357
|
"November",
|
|
6353
6358
|
"December"
|
|
6354
|
-
],
|
|
6355
|
-
function
|
|
6359
|
+
], Ln = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
|
|
6360
|
+
function oe(e) {
|
|
6356
6361
|
return `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`;
|
|
6357
6362
|
}
|
|
6358
|
-
function
|
|
6359
|
-
const [o, r] =
|
|
6363
|
+
function Pe({ dir: e, onClick: t, disabled: a }) {
|
|
6364
|
+
const [o, r] = z(!1);
|
|
6360
6365
|
return /* @__PURE__ */ n(
|
|
6361
6366
|
"button",
|
|
6362
6367
|
{
|
|
@@ -6392,7 +6397,7 @@ function Fe({ dir: e, onClick: t, disabled: a }) {
|
|
|
6392
6397
|
}
|
|
6393
6398
|
);
|
|
6394
6399
|
}
|
|
6395
|
-
function
|
|
6400
|
+
function Te({
|
|
6396
6401
|
year: e,
|
|
6397
6402
|
month: t,
|
|
6398
6403
|
selected: a,
|
|
@@ -6402,37 +6407,37 @@ function we({
|
|
|
6402
6407
|
onSelect: l,
|
|
6403
6408
|
onPrevMonth: c,
|
|
6404
6409
|
onNextMonth: s,
|
|
6405
|
-
highlightRange:
|
|
6410
|
+
highlightRange: u
|
|
6406
6411
|
}) {
|
|
6407
|
-
const m =
|
|
6412
|
+
const m = En(e, t), d = qn(e, t), [g, p] = z(null), x = [
|
|
6408
6413
|
...Array(d).fill(null),
|
|
6409
6414
|
...Array.from({ length: m }, (b, y) => y + 1)
|
|
6410
6415
|
];
|
|
6411
|
-
for (;
|
|
6416
|
+
for (; x.length % 7 !== 0; ) x.push(null);
|
|
6412
6417
|
return /* @__PURE__ */ f("div", { children: [
|
|
6413
6418
|
/* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", marginBottom: "var(--lucent-space-3)" }, children: [
|
|
6414
|
-
/* @__PURE__ */ n(
|
|
6419
|
+
/* @__PURE__ */ n(Pe, { dir: "prev", onClick: c }),
|
|
6415
6420
|
/* @__PURE__ */ f(L, { weight: "medium", size: "sm", children: [
|
|
6416
|
-
|
|
6421
|
+
Rn[t],
|
|
6417
6422
|
" ",
|
|
6418
6423
|
e
|
|
6419
6424
|
] }),
|
|
6420
|
-
/* @__PURE__ */ n(
|
|
6425
|
+
/* @__PURE__ */ n(Pe, { dir: "next", onClick: s })
|
|
6421
6426
|
] }),
|
|
6422
|
-
/* @__PURE__ */ n("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: 2, marginBottom: "var(--lucent-space-1)" }, children:
|
|
6423
|
-
/* @__PURE__ */ n("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: 2 }, children:
|
|
6427
|
+
/* @__PURE__ */ n("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: 2, marginBottom: "var(--lucent-space-1)" }, children: Ln.map((b) => /* @__PURE__ */ n("div", { style: { textAlign: "center" }, children: /* @__PURE__ */ n(L, { size: "xs", color: "secondary", children: b }) }, b)) }),
|
|
6428
|
+
/* @__PURE__ */ n("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: 2 }, children: x.map((b, y) => {
|
|
6424
6429
|
if (!b) return /* @__PURE__ */ n("div", {}, y);
|
|
6425
|
-
const h = new Date(e, t, b), v = a ?
|
|
6426
|
-
let
|
|
6427
|
-
return
|
|
6430
|
+
const h = new Date(e, t, b), v = a ? me(h, a) : !1, C = me(h, o), S = (r ? Se(h, r) : !1) || (i ? $e(h, i) : !1);
|
|
6431
|
+
let T = !1;
|
|
6432
|
+
return u != null && u.start && (u != null && u.end) && (T = !Se(h, u.start) && !$e(h, u.end)), /* @__PURE__ */ n(
|
|
6428
6433
|
"button",
|
|
6429
6434
|
{
|
|
6430
6435
|
type: "button",
|
|
6431
|
-
disabled:
|
|
6432
|
-
onClick: () => !
|
|
6433
|
-
onMouseEnter: () =>
|
|
6434
|
-
onMouseLeave: () =>
|
|
6435
|
-
"aria-label":
|
|
6436
|
+
disabled: S,
|
|
6437
|
+
onClick: () => !S && l(h),
|
|
6438
|
+
onMouseEnter: () => p(b),
|
|
6439
|
+
onMouseLeave: () => p(null),
|
|
6440
|
+
"aria-label": oe(h),
|
|
6436
6441
|
"aria-pressed": v,
|
|
6437
6442
|
style: {
|
|
6438
6443
|
display: "flex",
|
|
@@ -6440,14 +6445,14 @@ function we({
|
|
|
6440
6445
|
justifyContent: "center",
|
|
6441
6446
|
height: 32,
|
|
6442
6447
|
width: "100%",
|
|
6443
|
-
border:
|
|
6448
|
+
border: C && !v ? "1px solid var(--lucent-border-strong)" : "1px solid transparent",
|
|
6444
6449
|
borderRadius: "var(--lucent-radius-md)",
|
|
6445
|
-
background: v ? "var(--lucent-accent-default)" :
|
|
6446
|
-
color: v ? "var(--lucent-text-on-accent)" :
|
|
6450
|
+
background: v ? "var(--lucent-accent-default)" : T ? "var(--lucent-accent-subtle)" : g === b && !S ? "var(--lucent-surface-secondary)" : "transparent",
|
|
6451
|
+
color: v ? "var(--lucent-text-on-accent)" : S ? "var(--lucent-text-disabled)" : "var(--lucent-text-primary)",
|
|
6447
6452
|
fontSize: "var(--lucent-font-size-sm)",
|
|
6448
6453
|
fontFamily: "var(--lucent-font-family-base)",
|
|
6449
|
-
fontWeight:
|
|
6450
|
-
cursor:
|
|
6454
|
+
fontWeight: C ? "var(--lucent-font-weight-medium)" : "var(--lucent-font-weight-regular)",
|
|
6455
|
+
cursor: S ? "not-allowed" : "pointer",
|
|
6451
6456
|
transition: "background var(--lucent-duration-fast)"
|
|
6452
6457
|
},
|
|
6453
6458
|
children: b
|
|
@@ -6457,7 +6462,7 @@ function we({
|
|
|
6457
6462
|
}) })
|
|
6458
6463
|
] });
|
|
6459
6464
|
}
|
|
6460
|
-
function
|
|
6465
|
+
function lr({
|
|
6461
6466
|
value: e,
|
|
6462
6467
|
defaultValue: t,
|
|
6463
6468
|
onChange: a,
|
|
@@ -6467,31 +6472,31 @@ function rr({
|
|
|
6467
6472
|
max: l,
|
|
6468
6473
|
style: c
|
|
6469
6474
|
}) {
|
|
6470
|
-
const s = e !== void 0, [
|
|
6475
|
+
const s = e !== void 0, [u, m] = z(t), d = s ? e : u, g = /* @__PURE__ */ new Date(), [p, x] = z((d ?? g).getFullYear()), [b, y] = z((d ?? g).getMonth()), [h, v] = z(!1), [C, S] = z(!1), T = N(null);
|
|
6471
6476
|
O(() => {
|
|
6472
6477
|
if (!h) return;
|
|
6473
|
-
const
|
|
6474
|
-
var
|
|
6475
|
-
(
|
|
6478
|
+
const I = (G) => {
|
|
6479
|
+
var q;
|
|
6480
|
+
(q = T.current) != null && q.contains(G.target) || v(!1);
|
|
6476
6481
|
};
|
|
6477
|
-
return document.addEventListener("mousedown",
|
|
6482
|
+
return document.addEventListener("mousedown", I), () => document.removeEventListener("mousedown", I);
|
|
6478
6483
|
}, [h]);
|
|
6479
|
-
const E = (
|
|
6480
|
-
s || m(
|
|
6481
|
-
},
|
|
6482
|
-
b === 0 ? (y(11),
|
|
6483
|
-
},
|
|
6484
|
-
b === 11 ? (y(0),
|
|
6484
|
+
const E = (I) => {
|
|
6485
|
+
s || m(I), a == null || a(I), v(!1);
|
|
6486
|
+
}, B = () => {
|
|
6487
|
+
b === 0 ? (y(11), x((I) => I - 1)) : y((I) => I - 1);
|
|
6488
|
+
}, w = () => {
|
|
6489
|
+
b === 11 ? (y(0), x((I) => I + 1)) : y((I) => I + 1);
|
|
6485
6490
|
};
|
|
6486
|
-
return /* @__PURE__ */ f("div", { ref:
|
|
6491
|
+
return /* @__PURE__ */ f("div", { ref: T, style: { position: "relative", display: "inline-block", ...c }, children: [
|
|
6487
6492
|
/* @__PURE__ */ f(
|
|
6488
6493
|
"button",
|
|
6489
6494
|
{
|
|
6490
6495
|
type: "button",
|
|
6491
6496
|
disabled: r,
|
|
6492
|
-
onClick: () => !r && v((
|
|
6493
|
-
onFocus: () =>
|
|
6494
|
-
onBlur: () =>
|
|
6497
|
+
onClick: () => !r && v((I) => !I),
|
|
6498
|
+
onFocus: () => S(!0),
|
|
6499
|
+
onBlur: () => S(!1),
|
|
6495
6500
|
"aria-haspopup": "dialog",
|
|
6496
6501
|
"aria-expanded": h,
|
|
6497
6502
|
style: {
|
|
@@ -6500,13 +6505,13 @@ function rr({
|
|
|
6500
6505
|
gap: "var(--lucent-space-2)",
|
|
6501
6506
|
padding: "var(--lucent-space-2) var(--lucent-space-3)",
|
|
6502
6507
|
borderRadius: "var(--lucent-radius-md)",
|
|
6503
|
-
border: `1px solid ${
|
|
6508
|
+
border: `1px solid ${C ? "var(--lucent-accent-default)" : "var(--lucent-border-default)"}`,
|
|
6504
6509
|
background: r ? "var(--lucent-surface-secondary)" : "var(--lucent-surface)",
|
|
6505
6510
|
color: d ? "var(--lucent-text-primary)" : "var(--lucent-text-secondary)",
|
|
6506
6511
|
fontFamily: "var(--lucent-font-family-base)",
|
|
6507
6512
|
fontSize: "var(--lucent-font-size-sm)",
|
|
6508
6513
|
cursor: r ? "not-allowed" : "pointer",
|
|
6509
|
-
outline:
|
|
6514
|
+
outline: C ? "2px solid var(--lucent-focus-ring)" : "none",
|
|
6510
6515
|
outlineOffset: 2,
|
|
6511
6516
|
minWidth: 160,
|
|
6512
6517
|
transition: "border-color var(--lucent-duration-fast)"
|
|
@@ -6517,7 +6522,7 @@ function rr({
|
|
|
6517
6522
|
/* @__PURE__ */ n("path", { d: "M1 6h12", stroke: "currentColor", strokeWidth: "1.3" }),
|
|
6518
6523
|
/* @__PURE__ */ n("path", { d: "M4 1v2M10 1v2", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round" })
|
|
6519
6524
|
] }),
|
|
6520
|
-
/* @__PURE__ */ n("span", { style: { flex: 1, textAlign: "left" }, children: d ?
|
|
6525
|
+
/* @__PURE__ */ n("span", { style: { flex: 1, textAlign: "left" }, children: d ? oe(d) : o })
|
|
6521
6526
|
]
|
|
6522
6527
|
}
|
|
6523
6528
|
),
|
|
@@ -6539,24 +6544,24 @@ function rr({
|
|
|
6539
6544
|
minWidth: 260
|
|
6540
6545
|
},
|
|
6541
6546
|
children: /* @__PURE__ */ n(
|
|
6542
|
-
|
|
6547
|
+
Te,
|
|
6543
6548
|
{
|
|
6544
|
-
year:
|
|
6549
|
+
year: p,
|
|
6545
6550
|
month: b,
|
|
6546
6551
|
...d !== void 0 && { selected: d },
|
|
6547
6552
|
today: g,
|
|
6548
6553
|
...i !== void 0 && { min: i },
|
|
6549
6554
|
...l !== void 0 && { max: l },
|
|
6550
6555
|
onSelect: E,
|
|
6551
|
-
onPrevMonth:
|
|
6552
|
-
onNextMonth:
|
|
6556
|
+
onPrevMonth: B,
|
|
6557
|
+
onNextMonth: w
|
|
6553
6558
|
}
|
|
6554
6559
|
)
|
|
6555
6560
|
}
|
|
6556
6561
|
)
|
|
6557
6562
|
] });
|
|
6558
6563
|
}
|
|
6559
|
-
const
|
|
6564
|
+
const sr = {
|
|
6560
6565
|
id: "date-picker",
|
|
6561
6566
|
name: "DatePicker",
|
|
6562
6567
|
tier: "molecule",
|
|
@@ -6642,10 +6647,10 @@ const or = {
|
|
|
6642
6647
|
notes: 'The calendar popover is role="dialog". Each day button has aria-label with the full date and aria-pressed for selected state. Full arrow-key navigation within the calendar grid is a planned enhancement.'
|
|
6643
6648
|
}
|
|
6644
6649
|
};
|
|
6645
|
-
function
|
|
6646
|
-
return e ?
|
|
6650
|
+
function Bn(e, t) {
|
|
6651
|
+
return e ? me(e.start, e.end) ? oe(e.start) : `${oe(e.start)} → ${oe(e.end)}` : t;
|
|
6647
6652
|
}
|
|
6648
|
-
function
|
|
6653
|
+
function cr({
|
|
6649
6654
|
value: e,
|
|
6650
6655
|
defaultValue: t,
|
|
6651
6656
|
onChange: a,
|
|
@@ -6655,51 +6660,51 @@ function ir({
|
|
|
6655
6660
|
max: l,
|
|
6656
6661
|
style: c
|
|
6657
6662
|
}) {
|
|
6658
|
-
const s = e !== void 0, [
|
|
6663
|
+
const s = e !== void 0, [u, m] = z(t), d = s ? e : u, [g, p] = z(null), x = /* @__PURE__ */ new Date(), [b, y] = z(((d == null ? void 0 : d.start) ?? x).getFullYear()), [h, v] = z(((d == null ? void 0 : d.start) ?? x).getMonth()), C = h === 11 ? 0 : h + 1, S = h === 11 ? b + 1 : b, [T, E] = z(!1), [B, w] = z(!1), I = N(null);
|
|
6659
6664
|
O(() => {
|
|
6660
|
-
if (!
|
|
6661
|
-
const
|
|
6665
|
+
if (!T) return;
|
|
6666
|
+
const A = ($) => {
|
|
6662
6667
|
var U;
|
|
6663
|
-
(U =
|
|
6668
|
+
(U = I.current) != null && U.contains($.target) || (E(!1), p(null));
|
|
6664
6669
|
};
|
|
6665
|
-
return document.addEventListener("mousedown",
|
|
6666
|
-
}, [
|
|
6667
|
-
const G = (
|
|
6670
|
+
return document.addEventListener("mousedown", A), () => document.removeEventListener("mousedown", A);
|
|
6671
|
+
}, [T]);
|
|
6672
|
+
const G = (A) => {
|
|
6668
6673
|
if (!g)
|
|
6669
|
-
|
|
6674
|
+
p(A);
|
|
6670
6675
|
else {
|
|
6671
|
-
const [$, U] =
|
|
6672
|
-
s || m(
|
|
6676
|
+
const [$, U] = Se(A, g) || me(A, g) ? [A, g] : [g, A], _ = { start: $, end: U };
|
|
6677
|
+
s || m(_), a == null || a(_), p(null), E(!1);
|
|
6673
6678
|
}
|
|
6674
|
-
},
|
|
6675
|
-
h === 0 ? (v(11), y((
|
|
6676
|
-
},
|
|
6677
|
-
h === 11 ? (v(0), y((
|
|
6679
|
+
}, q = () => {
|
|
6680
|
+
h === 0 ? (v(11), y((A) => A - 1)) : v((A) => A - 1);
|
|
6681
|
+
}, D = () => {
|
|
6682
|
+
h === 11 ? (v(0), y((A) => A + 1)) : v((A) => A + 1);
|
|
6678
6683
|
}, M = g ? { start: g, end: g } : d ? { start: d.start, end: d.end } : void 0;
|
|
6679
|
-
return /* @__PURE__ */ f("div", { ref:
|
|
6684
|
+
return /* @__PURE__ */ f("div", { ref: I, style: { position: "relative", display: "inline-block", ...c }, children: [
|
|
6680
6685
|
/* @__PURE__ */ f(
|
|
6681
6686
|
"button",
|
|
6682
6687
|
{
|
|
6683
6688
|
type: "button",
|
|
6684
6689
|
disabled: r,
|
|
6685
|
-
onClick: () => !r && E((
|
|
6686
|
-
onFocus: () =>
|
|
6687
|
-
onBlur: () =>
|
|
6690
|
+
onClick: () => !r && E((A) => !A),
|
|
6691
|
+
onFocus: () => w(!0),
|
|
6692
|
+
onBlur: () => w(!1),
|
|
6688
6693
|
"aria-haspopup": "dialog",
|
|
6689
|
-
"aria-expanded":
|
|
6694
|
+
"aria-expanded": T,
|
|
6690
6695
|
style: {
|
|
6691
6696
|
display: "inline-flex",
|
|
6692
6697
|
alignItems: "center",
|
|
6693
6698
|
gap: "var(--lucent-space-2)",
|
|
6694
6699
|
padding: "var(--lucent-space-2) var(--lucent-space-3)",
|
|
6695
6700
|
borderRadius: "var(--lucent-radius-md)",
|
|
6696
|
-
border: `1px solid ${
|
|
6701
|
+
border: `1px solid ${B ? "var(--lucent-accent-default)" : "var(--lucent-border-default)"}`,
|
|
6697
6702
|
background: r ? "var(--lucent-surface-secondary)" : "var(--lucent-surface)",
|
|
6698
6703
|
color: d ? "var(--lucent-text-primary)" : "var(--lucent-text-secondary)",
|
|
6699
6704
|
fontFamily: "var(--lucent-font-family-base)",
|
|
6700
6705
|
fontSize: "var(--lucent-font-size-sm)",
|
|
6701
6706
|
cursor: r ? "not-allowed" : "pointer",
|
|
6702
|
-
outline:
|
|
6707
|
+
outline: B ? "2px solid var(--lucent-focus-ring)" : "none",
|
|
6703
6708
|
outlineOffset: 2,
|
|
6704
6709
|
minWidth: 220,
|
|
6705
6710
|
transition: "border-color var(--lucent-duration-fast)"
|
|
@@ -6710,11 +6715,11 @@ function ir({
|
|
|
6710
6715
|
/* @__PURE__ */ n("path", { d: "M1 6h12", stroke: "currentColor", strokeWidth: "1.3" }),
|
|
6711
6716
|
/* @__PURE__ */ n("path", { d: "M4 1v2M10 1v2", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round" })
|
|
6712
6717
|
] }),
|
|
6713
|
-
/* @__PURE__ */ n("span", { style: { flex: 1, textAlign: "left" }, children:
|
|
6718
|
+
/* @__PURE__ */ n("span", { style: { flex: 1, textAlign: "left" }, children: Bn(d, o) })
|
|
6714
6719
|
]
|
|
6715
6720
|
}
|
|
6716
6721
|
),
|
|
6717
|
-
|
|
6722
|
+
T && /* @__PURE__ */ f(
|
|
6718
6723
|
"div",
|
|
6719
6724
|
{
|
|
6720
6725
|
role: "dialog",
|
|
@@ -6734,48 +6739,48 @@ function ir({
|
|
|
6734
6739
|
},
|
|
6735
6740
|
children: [
|
|
6736
6741
|
/* @__PURE__ */ n("div", { style: { minWidth: 220 }, children: /* @__PURE__ */ n(
|
|
6737
|
-
|
|
6742
|
+
Te,
|
|
6738
6743
|
{
|
|
6739
6744
|
year: b,
|
|
6740
6745
|
month: h,
|
|
6741
6746
|
...(d == null ? void 0 : d.start) !== void 0 && { selected: d.start },
|
|
6742
|
-
today:
|
|
6747
|
+
today: x,
|
|
6743
6748
|
...i !== void 0 && { min: i },
|
|
6744
6749
|
...l !== void 0 && { max: l },
|
|
6745
6750
|
onSelect: G,
|
|
6746
|
-
onPrevMonth:
|
|
6747
|
-
onNextMonth:
|
|
6751
|
+
onPrevMonth: q,
|
|
6752
|
+
onNextMonth: D,
|
|
6748
6753
|
...M !== void 0 && { highlightRange: M }
|
|
6749
6754
|
}
|
|
6750
6755
|
) }),
|
|
6751
6756
|
/* @__PURE__ */ n("div", { style: { width: 1, background: "var(--lucent-border-subtle)", flexShrink: 0 } }),
|
|
6752
6757
|
/* @__PURE__ */ n("div", { style: { minWidth: 220 }, children: /* @__PURE__ */ n(
|
|
6753
|
-
|
|
6758
|
+
Te,
|
|
6754
6759
|
{
|
|
6755
|
-
year:
|
|
6756
|
-
month:
|
|
6760
|
+
year: S,
|
|
6761
|
+
month: C,
|
|
6757
6762
|
...(d == null ? void 0 : d.end) !== void 0 && { selected: d.end },
|
|
6758
|
-
today:
|
|
6763
|
+
today: x,
|
|
6759
6764
|
...i !== void 0 && { min: i },
|
|
6760
6765
|
...l !== void 0 && { max: l },
|
|
6761
6766
|
onSelect: G,
|
|
6762
|
-
onPrevMonth:
|
|
6763
|
-
onNextMonth:
|
|
6767
|
+
onPrevMonth: q,
|
|
6768
|
+
onNextMonth: D,
|
|
6764
6769
|
...M !== void 0 && { highlightRange: M }
|
|
6765
6770
|
}
|
|
6766
6771
|
) })
|
|
6767
6772
|
]
|
|
6768
6773
|
}
|
|
6769
6774
|
),
|
|
6770
|
-
g &&
|
|
6771
|
-
g &&
|
|
6775
|
+
g && T && /* @__PURE__ */ n("div", { style: { position: "absolute", top: "calc(100% + 4px)", left: 0, zIndex: 1001, pointerEvents: "none" } }),
|
|
6776
|
+
g && T && /* @__PURE__ */ n("div", { style: {
|
|
6772
6777
|
position: "absolute",
|
|
6773
6778
|
bottom: -24,
|
|
6774
6779
|
left: 0
|
|
6775
6780
|
}, children: /* @__PURE__ */ n(L, { size: "xs", color: "secondary", children: "Now pick the end date" }) })
|
|
6776
6781
|
] });
|
|
6777
6782
|
}
|
|
6778
|
-
const
|
|
6783
|
+
const dr = {
|
|
6779
6784
|
id: "date-range-picker",
|
|
6780
6785
|
name: "DateRangePicker",
|
|
6781
6786
|
tier: "molecule",
|
|
@@ -6857,17 +6862,17 @@ const lr = {
|
|
|
6857
6862
|
notes: 'Inherits Calendar accessibility from DatePicker. The two-step selection flow is reinforced with a visible "Now pick the end date" hint.'
|
|
6858
6863
|
}
|
|
6859
6864
|
};
|
|
6860
|
-
function
|
|
6865
|
+
function Ce(e) {
|
|
6861
6866
|
return e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / (1024 * 1024)).toFixed(1)} MB`;
|
|
6862
6867
|
}
|
|
6863
|
-
function
|
|
6868
|
+
function Fn() {
|
|
6864
6869
|
return Math.random().toString(36).slice(2);
|
|
6865
6870
|
}
|
|
6866
|
-
function
|
|
6871
|
+
function Nn({
|
|
6867
6872
|
item: e,
|
|
6868
6873
|
onRemove: t
|
|
6869
6874
|
}) {
|
|
6870
|
-
const [a, o] =
|
|
6875
|
+
const [a, o] = z(!1), r = e.progress, i = !!e.error;
|
|
6871
6876
|
return /* @__PURE__ */ f("div", { style: {
|
|
6872
6877
|
display: "flex",
|
|
6873
6878
|
alignItems: "center",
|
|
@@ -6883,7 +6888,7 @@ function Rn({
|
|
|
6883
6888
|
] }),
|
|
6884
6889
|
/* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
6885
6890
|
/* @__PURE__ */ n(L, { size: "sm", truncate: !0, children: e.file.name }),
|
|
6886
|
-
i ? /* @__PURE__ */ n(L, { size: "xs", color: "danger", children: e.error }) : /* @__PURE__ */ n(L, { size: "xs", color: "secondary", children:
|
|
6891
|
+
i ? /* @__PURE__ */ n(L, { size: "xs", color: "danger", children: e.error }) : /* @__PURE__ */ n(L, { size: "xs", color: "secondary", children: Ce(e.file.size) }),
|
|
6887
6892
|
r !== void 0 && !i && /* @__PURE__ */ n("div", { style: {
|
|
6888
6893
|
marginTop: 4,
|
|
6889
6894
|
height: 3,
|
|
@@ -6925,7 +6930,7 @@ function Rn({
|
|
|
6925
6930
|
)
|
|
6926
6931
|
] });
|
|
6927
6932
|
}
|
|
6928
|
-
function
|
|
6933
|
+
function ur({
|
|
6929
6934
|
accept: e,
|
|
6930
6935
|
multiple: t = !1,
|
|
6931
6936
|
maxSize: a,
|
|
@@ -6935,27 +6940,27 @@ function sr({
|
|
|
6935
6940
|
disabled: l = !1,
|
|
6936
6941
|
style: c
|
|
6937
6942
|
}) {
|
|
6938
|
-
const s = o !== void 0, [
|
|
6939
|
-
if (!
|
|
6943
|
+
const s = o !== void 0, [u, m] = z([]), d = s ? o : u, [g, p] = z(!1), [x, b] = z(!1), y = N(null), h = ee((T) => {
|
|
6944
|
+
if (!T || l) return;
|
|
6940
6945
|
const E = [];
|
|
6941
|
-
for (const
|
|
6942
|
-
if (a &&
|
|
6943
|
-
i == null || i(`"${
|
|
6946
|
+
for (const w of Array.from(T)) {
|
|
6947
|
+
if (a && w.size > a) {
|
|
6948
|
+
i == null || i(`"${w.name}" exceeds the ${Ce(a)} limit.`);
|
|
6944
6949
|
continue;
|
|
6945
6950
|
}
|
|
6946
6951
|
if (!t && d.length + E.length >= 1) break;
|
|
6947
|
-
E.push({ id:
|
|
6952
|
+
E.push({ id: Fn(), file: w });
|
|
6948
6953
|
}
|
|
6949
6954
|
if (E.length === 0) return;
|
|
6950
|
-
const
|
|
6951
|
-
s || m(
|
|
6952
|
-
}, [l, d, s, a, t, r, i]), v = (
|
|
6953
|
-
const E = d.filter((
|
|
6955
|
+
const B = t ? [...d, ...E] : E;
|
|
6956
|
+
s || m(B), r == null || r(B);
|
|
6957
|
+
}, [l, d, s, a, t, r, i]), v = (T) => {
|
|
6958
|
+
const E = d.filter((B) => B.id !== T);
|
|
6954
6959
|
s || m(E), r == null || r(E);
|
|
6955
|
-
},
|
|
6956
|
-
|
|
6957
|
-
},
|
|
6958
|
-
h(
|
|
6960
|
+
}, C = (T) => {
|
|
6961
|
+
T.preventDefault(), p(!1), h(T.dataTransfer.files);
|
|
6962
|
+
}, S = (T) => {
|
|
6963
|
+
h(T.target.files), T.target.value = "";
|
|
6959
6964
|
};
|
|
6960
6965
|
return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-3)", ...c }, children: [
|
|
6961
6966
|
/* @__PURE__ */ f(
|
|
@@ -6966,20 +6971,20 @@ function sr({
|
|
|
6966
6971
|
"aria-label": "Upload files",
|
|
6967
6972
|
"aria-disabled": l,
|
|
6968
6973
|
onClick: () => {
|
|
6969
|
-
var
|
|
6970
|
-
return !l && ((
|
|
6974
|
+
var T;
|
|
6975
|
+
return !l && ((T = y.current) == null ? void 0 : T.click());
|
|
6971
6976
|
},
|
|
6972
|
-
onKeyDown: (
|
|
6977
|
+
onKeyDown: (T) => {
|
|
6973
6978
|
var E;
|
|
6974
|
-
(
|
|
6979
|
+
(T.key === "Enter" || T.key === " ") && (T.preventDefault(), (E = y.current) == null || E.click());
|
|
6975
6980
|
},
|
|
6976
6981
|
onFocus: () => b(!0),
|
|
6977
6982
|
onBlur: () => b(!1),
|
|
6978
|
-
onDragOver: (
|
|
6979
|
-
|
|
6983
|
+
onDragOver: (T) => {
|
|
6984
|
+
T.preventDefault(), l || p(!0);
|
|
6980
6985
|
},
|
|
6981
|
-
onDragLeave: () =>
|
|
6982
|
-
onDrop:
|
|
6986
|
+
onDragLeave: () => p(!1),
|
|
6987
|
+
onDrop: C,
|
|
6983
6988
|
style: {
|
|
6984
6989
|
display: "flex",
|
|
6985
6990
|
flexDirection: "column",
|
|
@@ -6988,7 +6993,7 @@ function sr({
|
|
|
6988
6993
|
gap: "var(--lucent-space-2)",
|
|
6989
6994
|
padding: "var(--lucent-space-8) var(--lucent-space-6)",
|
|
6990
6995
|
borderRadius: "var(--lucent-radius-lg)",
|
|
6991
|
-
border: `2px dashed ${l ? "var(--lucent-border-default)" : g ||
|
|
6996
|
+
border: `2px dashed ${l ? "var(--lucent-border-default)" : g || x ? "var(--lucent-accent-default)" : "var(--lucent-border-default)"}`,
|
|
6992
6997
|
background: g ? "var(--lucent-accent-subtle)" : "var(--lucent-surface-secondary)",
|
|
6993
6998
|
cursor: l ? "not-allowed" : "pointer",
|
|
6994
6999
|
transition: "border-color var(--lucent-duration-fast), background var(--lucent-duration-fast)",
|
|
@@ -7014,7 +7019,7 @@ function sr({
|
|
|
7014
7019
|
/* @__PURE__ */ n(L, { color: l ? "disabled" : "primary", weight: "medium", children: g ? "Drop to upload" : "Drop files here or click to browse" }),
|
|
7015
7020
|
(e || a) && /* @__PURE__ */ n(L, { size: "xs", color: "secondary", children: [
|
|
7016
7021
|
e && `Accepted: ${e}`,
|
|
7017
|
-
a && `Max size: ${
|
|
7022
|
+
a && `Max size: ${Ce(a)}`
|
|
7018
7023
|
].filter(Boolean).join(" · ") })
|
|
7019
7024
|
] }),
|
|
7020
7025
|
/* @__PURE__ */ n(
|
|
@@ -7025,7 +7030,7 @@ function sr({
|
|
|
7025
7030
|
accept: e,
|
|
7026
7031
|
multiple: t,
|
|
7027
7032
|
disabled: l,
|
|
7028
|
-
onChange:
|
|
7033
|
+
onChange: S,
|
|
7029
7034
|
style: { display: "none" },
|
|
7030
7035
|
tabIndex: -1
|
|
7031
7036
|
}
|
|
@@ -7033,10 +7038,10 @@ function sr({
|
|
|
7033
7038
|
]
|
|
7034
7039
|
}
|
|
7035
7040
|
),
|
|
7036
|
-
d.length > 0 && /* @__PURE__ */ n("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-2)" }, children: d.map((
|
|
7041
|
+
d.length > 0 && /* @__PURE__ */ n("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-2)" }, children: d.map((T) => /* @__PURE__ */ n(Nn, { item: T, onRemove: v }, T.id)) })
|
|
7037
7042
|
] });
|
|
7038
7043
|
}
|
|
7039
|
-
const
|
|
7044
|
+
const pr = {
|
|
7040
7045
|
id: "file-upload",
|
|
7041
7046
|
name: "FileUpload",
|
|
7042
7047
|
tier: "molecule",
|
|
@@ -7134,23 +7139,23 @@ const handleChange = async (updated: UploadFile[]) => {
|
|
|
7134
7139
|
keyboardInteractions: ["Enter/Space to open file picker", "Tab to focus drop zone"],
|
|
7135
7140
|
notes: 'The drop zone has role="button" with tabIndex=0 and responds to Enter/Space. Remove buttons on file rows have aria-label including the filename.'
|
|
7136
7141
|
}
|
|
7137
|
-
},
|
|
7142
|
+
}, $n = {
|
|
7138
7143
|
default: "var(--lucent-border-strong)",
|
|
7139
7144
|
success: "var(--lucent-success-default)",
|
|
7140
7145
|
warning: "var(--lucent-warning-default)",
|
|
7141
7146
|
danger: "var(--lucent-danger-default)",
|
|
7142
7147
|
info: "var(--lucent-info-default)"
|
|
7143
|
-
},
|
|
7148
|
+
}, Pn = {
|
|
7144
7149
|
default: "var(--lucent-surface-secondary)",
|
|
7145
7150
|
success: "var(--lucent-success-subtle)",
|
|
7146
7151
|
warning: "var(--lucent-warning-subtle)",
|
|
7147
7152
|
danger: "var(--lucent-danger-subtle)",
|
|
7148
7153
|
info: "var(--lucent-info-subtle)"
|
|
7149
7154
|
};
|
|
7150
|
-
function
|
|
7155
|
+
function Wn({ status: e }) {
|
|
7151
7156
|
return e === "success" ? /* @__PURE__ */ n("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", "aria-hidden": !0, children: /* @__PURE__ */ n("path", { d: "M2 5l2 2 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) : e === "danger" ? /* @__PURE__ */ n("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", "aria-hidden": !0, children: /* @__PURE__ */ n("path", { d: "M2 2l6 6M8 2L2 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) : e === "warning" ? /* @__PURE__ */ n("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", "aria-hidden": !0, children: /* @__PURE__ */ n("path", { d: "M5 2v4M5 7.5v.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) : null;
|
|
7152
7157
|
}
|
|
7153
|
-
function
|
|
7158
|
+
function fr({ items: e, style: t }) {
|
|
7154
7159
|
return /* @__PURE__ */ n(
|
|
7155
7160
|
"ol",
|
|
7156
7161
|
{
|
|
@@ -7163,7 +7168,7 @@ function dr({ items: e, style: t }) {
|
|
|
7163
7168
|
...t
|
|
7164
7169
|
},
|
|
7165
7170
|
children: e.map((a, o) => {
|
|
7166
|
-
const r = a.status ?? "default", i =
|
|
7171
|
+
const r = a.status ?? "default", i = $n[r], l = Pn[r], c = o === e.length - 1;
|
|
7167
7172
|
return /* @__PURE__ */ f(
|
|
7168
7173
|
"li",
|
|
7169
7174
|
{
|
|
@@ -7192,7 +7197,7 @@ function dr({ items: e, style: t }) {
|
|
|
7192
7197
|
color: i,
|
|
7193
7198
|
flexShrink: 0,
|
|
7194
7199
|
zIndex: 1
|
|
7195
|
-
}, children: a.icon ?? /* @__PURE__ */ n(
|
|
7200
|
+
}, children: a.icon ?? /* @__PURE__ */ n(Wn, { status: r }) }),
|
|
7196
7201
|
!c && /* @__PURE__ */ n("div", { style: {
|
|
7197
7202
|
flex: 1,
|
|
7198
7203
|
width: 2,
|
|
@@ -7220,7 +7225,7 @@ function dr({ items: e, style: t }) {
|
|
|
7220
7225
|
}
|
|
7221
7226
|
);
|
|
7222
7227
|
}
|
|
7223
|
-
const
|
|
7228
|
+
const hr = {
|
|
7224
7229
|
id: "timeline",
|
|
7225
7230
|
name: "Timeline",
|
|
7226
7231
|
tier: "molecule",
|
|
@@ -7274,7 +7279,7 @@ const ur = {
|
|
|
7274
7279
|
keyboardInteractions: ["Standard document flow — no interactive elements unless custom icons include them"],
|
|
7275
7280
|
notes: "Timeline is a semantic <ol> with <li> items. It is non-interactive by default. If items contain interactive elements (links, buttons), those elements carry their own keyboard behaviour."
|
|
7276
7281
|
}
|
|
7277
|
-
},
|
|
7282
|
+
}, Hn = {
|
|
7278
7283
|
fontFamilyBase: '"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
7279
7284
|
fontFamilyMono: '"DM Mono", "Fira Code", "Cascadia Code", monospace',
|
|
7280
7285
|
fontFamilyDisplay: '"Georama", "DM Sans", sans-serif',
|
|
@@ -7295,7 +7300,7 @@ const ur = {
|
|
|
7295
7300
|
letterSpacingTight: "-0.02em",
|
|
7296
7301
|
letterSpacingBase: "0em",
|
|
7297
7302
|
letterSpacingWide: "0.04em"
|
|
7298
|
-
},
|
|
7303
|
+
}, Vn = {
|
|
7299
7304
|
space0: "0px",
|
|
7300
7305
|
space1: "0.25rem",
|
|
7301
7306
|
space2: "0.5rem",
|
|
@@ -7309,38 +7314,38 @@ const ur = {
|
|
|
7309
7314
|
space16: "4rem",
|
|
7310
7315
|
space20: "5rem",
|
|
7311
7316
|
space24: "6rem"
|
|
7312
|
-
},
|
|
7317
|
+
}, On = {
|
|
7313
7318
|
radiusNone: "0px",
|
|
7314
7319
|
radiusSm: "0.25rem",
|
|
7315
7320
|
radiusMd: "0.375rem",
|
|
7316
7321
|
radiusLg: "0.5rem",
|
|
7317
7322
|
radiusXl: "0.75rem",
|
|
7318
7323
|
radiusFull: "9999px"
|
|
7319
|
-
},
|
|
7324
|
+
}, jn = {
|
|
7320
7325
|
durationFast: "100ms",
|
|
7321
7326
|
durationBase: "200ms",
|
|
7322
7327
|
durationSlow: "350ms",
|
|
7323
7328
|
easingDefault: "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
7324
7329
|
easingEmphasized: "cubic-bezier(0.2, 0, 0, 1)",
|
|
7325
7330
|
easingDecelerate: "cubic-bezier(0, 0, 0.2, 1)"
|
|
7326
|
-
},
|
|
7331
|
+
}, Gn = {
|
|
7327
7332
|
shadowNone: "none",
|
|
7328
7333
|
shadowSm: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
|
|
7329
7334
|
shadowMd: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
7330
7335
|
shadowLg: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
|
|
7331
7336
|
shadowXl: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)"
|
|
7332
|
-
},
|
|
7337
|
+
}, Un = {
|
|
7333
7338
|
shadowNone: "none",
|
|
7334
7339
|
shadowSm: "0 1px 2px 0 rgb(0 0 0 / 0.3)",
|
|
7335
7340
|
shadowMd: "0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.4)",
|
|
7336
7341
|
shadowLg: "0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.4)",
|
|
7337
7342
|
shadowXl: "0 20px 25px -5px rgb(0 0 0 / 0.5), 0 8px 10px -6px rgb(0 0 0 / 0.5)"
|
|
7338
|
-
},
|
|
7339
|
-
...$n,
|
|
7340
|
-
...Pn,
|
|
7341
|
-
...Wn,
|
|
7343
|
+
}, ve = {
|
|
7342
7344
|
...Hn,
|
|
7343
7345
|
...Vn,
|
|
7346
|
+
...On,
|
|
7347
|
+
...jn,
|
|
7348
|
+
...Gn,
|
|
7344
7349
|
// Backgrounds — page/layout layer only
|
|
7345
7350
|
bgBase: "#ffffff",
|
|
7346
7351
|
bgSubtle: "#f9fafb",
|
|
@@ -7386,72 +7391,72 @@ const ur = {
|
|
|
7386
7391
|
// Focus
|
|
7387
7392
|
focusRing: "#111827"
|
|
7388
7393
|
};
|
|
7389
|
-
function
|
|
7394
|
+
function _n(e) {
|
|
7390
7395
|
const t = parseInt(e.slice(1, 3), 16), a = parseInt(e.slice(3, 5), 16), o = parseInt(e.slice(5, 7), 16);
|
|
7391
7396
|
return { r: t, g: a, b: o };
|
|
7392
7397
|
}
|
|
7393
|
-
function
|
|
7398
|
+
function Kn({ r: e, g: t, b: a }) {
|
|
7394
7399
|
const o = (r) => r.toString(16).padStart(2, "0");
|
|
7395
7400
|
return `#${o(e)}${o(t)}${o(a)}`;
|
|
7396
7401
|
}
|
|
7397
|
-
function
|
|
7398
|
-
const { r: t, g: a, b: o } =
|
|
7399
|
-
let
|
|
7402
|
+
function J(e) {
|
|
7403
|
+
const { r: t, g: a, b: o } = _n(e), r = t / 255, i = a / 255, l = o / 255, c = Math.max(r, i, l), s = Math.min(r, i, l);
|
|
7404
|
+
let u = 0, m = 0;
|
|
7400
7405
|
const d = (c + s) / 2;
|
|
7401
7406
|
if (c !== s) {
|
|
7402
7407
|
const g = c - s;
|
|
7403
7408
|
switch (m = d > 0.5 ? g / (2 - c - s) : g / (c + s), c) {
|
|
7404
7409
|
case r:
|
|
7405
|
-
|
|
7410
|
+
u = (i - l) / g + (i < l ? 6 : 0);
|
|
7406
7411
|
break;
|
|
7407
7412
|
case i:
|
|
7408
|
-
|
|
7413
|
+
u = (l - r) / g + 2;
|
|
7409
7414
|
break;
|
|
7410
7415
|
case l:
|
|
7411
|
-
|
|
7416
|
+
u = (r - i) / g + 4;
|
|
7412
7417
|
break;
|
|
7413
7418
|
}
|
|
7414
|
-
|
|
7419
|
+
u /= 6;
|
|
7415
7420
|
}
|
|
7416
|
-
return [
|
|
7421
|
+
return [u * 360, m, d];
|
|
7417
7422
|
}
|
|
7418
|
-
function
|
|
7423
|
+
function Z(e, t, a) {
|
|
7419
7424
|
e = (e % 360 + 360) % 360, t = Math.min(1, Math.max(0, t)), a = Math.min(1, Math.max(0, a));
|
|
7420
7425
|
const o = (1 - Math.abs(2 * a - 1)) * t, r = o * (1 - Math.abs(e / 60 % 2 - 1)), i = a - o / 2;
|
|
7421
7426
|
let l = 0, c = 0, s = 0;
|
|
7422
|
-
return e < 60 ? (l = o, c = r) : e < 120 ? (l = r, c = o) : e < 180 ? (c = o, s = r) : e < 240 ? (c = r, s = o) : e < 300 ? (l = r, s = o) : (l = o, s = r),
|
|
7427
|
+
return e < 60 ? (l = o, c = r) : e < 120 ? (l = r, c = o) : e < 180 ? (c = o, s = r) : e < 240 ? (c = r, s = o) : e < 300 ? (l = r, s = o) : (l = o, s = r), Kn({ r: Math.round((l + i) * 255), g: Math.round((c + i) * 255), b: Math.round((s + i) * 255) });
|
|
7423
7428
|
}
|
|
7424
|
-
function
|
|
7425
|
-
const [a, o, r] =
|
|
7426
|
-
return
|
|
7429
|
+
function F(e, t) {
|
|
7430
|
+
const [a, o, r] = J(e);
|
|
7431
|
+
return Z(a, o, Math.min(1, Math.max(0, r + t)));
|
|
7427
7432
|
}
|
|
7428
|
-
const
|
|
7429
|
-
function
|
|
7430
|
-
return t < 0.04 ? [
|
|
7433
|
+
const Yn = 222, Xn = 0.12;
|
|
7434
|
+
function Ye(e, t) {
|
|
7435
|
+
return t < 0.04 ? [Yn, Xn] : [e, t];
|
|
7431
7436
|
}
|
|
7432
|
-
function
|
|
7433
|
-
const [t, a, o] =
|
|
7434
|
-
return
|
|
7437
|
+
function Jn(e) {
|
|
7438
|
+
const [t, a, o] = J(e), [r, i] = Ye(t, a);
|
|
7439
|
+
return Z(r, i, Math.max(0.04, Math.min(0.2, 0.07 + (1 - o))));
|
|
7435
7440
|
}
|
|
7436
|
-
function
|
|
7437
|
-
const [t, a, o] =
|
|
7438
|
-
return
|
|
7441
|
+
function xe(e) {
|
|
7442
|
+
const [t, a, o] = J(e), [r, i] = Ye(t, a);
|
|
7443
|
+
return Z(r, i, Math.max(0.06, Math.min(0.5, (1 - o) * 0.6 + 0.06)));
|
|
7439
7444
|
}
|
|
7440
|
-
function
|
|
7441
|
-
const [t, a, o] =
|
|
7442
|
-
return
|
|
7445
|
+
function we(e) {
|
|
7446
|
+
const [t, a, o] = J(e);
|
|
7447
|
+
return Z(t, a, Math.max(0.04, Math.min(0.97, 1 - o + 0.04)));
|
|
7443
7448
|
}
|
|
7444
|
-
function
|
|
7445
|
-
const [t, a, o] =
|
|
7446
|
-
return
|
|
7449
|
+
function re(e) {
|
|
7450
|
+
const [t, a, o] = J(e);
|
|
7451
|
+
return Z(t, a, Math.max(0.02, Math.min(0.98, 1 - o)));
|
|
7447
7452
|
}
|
|
7448
|
-
function
|
|
7449
|
-
const t =
|
|
7453
|
+
function Zn(e) {
|
|
7454
|
+
const t = Jn(e.bgBase), [a, o, r] = J(t), i = (l) => Z(a, o, Math.min(0.25, r + l));
|
|
7450
7455
|
return {
|
|
7451
7456
|
// ── Non-color tokens: carry over from light unchanged ──────────────────
|
|
7452
7457
|
...e,
|
|
7453
7458
|
// ── Shadows: dark variants have higher opacity for visibility ───────────
|
|
7454
|
-
...
|
|
7459
|
+
...Un,
|
|
7455
7460
|
// ── Backgrounds ─────────────────────────────────────────────────────────
|
|
7456
7461
|
bgBase: t,
|
|
7457
7462
|
bgSubtle: i(0.02),
|
|
@@ -7462,119 +7467,119 @@ function Yn(e) {
|
|
|
7462
7467
|
surfaceRaised: i(0.08),
|
|
7463
7468
|
surfaceOverlay: i(0.08),
|
|
7464
7469
|
// ── Borders ──────────────────────────────────────────────────────────────
|
|
7465
|
-
borderDefault:
|
|
7466
|
-
borderSubtle:
|
|
7467
|
-
borderStrong:
|
|
7470
|
+
borderDefault: xe(e.borderDefault),
|
|
7471
|
+
borderSubtle: xe(e.borderSubtle),
|
|
7472
|
+
borderStrong: xe(e.borderStrong),
|
|
7468
7473
|
// ── Text ─────────────────────────────────────────────────────────────────
|
|
7469
|
-
textPrimary:
|
|
7470
|
-
textSecondary:
|
|
7471
|
-
textDisabled:
|
|
7474
|
+
textPrimary: we(e.textPrimary),
|
|
7475
|
+
textSecondary: we(e.textSecondary),
|
|
7476
|
+
textDisabled: we(e.textDisabled),
|
|
7472
7477
|
// textInverse flips to dark bg so it reads on light accent surfaces
|
|
7473
7478
|
textInverse: t,
|
|
7474
7479
|
textOnAccent: e.textOnAccent,
|
|
7475
7480
|
// auto-recomputed by LucentProvider
|
|
7476
7481
|
// ── Accent ───────────────────────────────────────────────────────────────
|
|
7477
|
-
accentDefault:
|
|
7478
|
-
accentHover:
|
|
7479
|
-
accentActive:
|
|
7480
|
-
accentSubtle:
|
|
7482
|
+
accentDefault: re(e.accentDefault),
|
|
7483
|
+
accentHover: re(e.accentHover),
|
|
7484
|
+
accentActive: re(e.accentActive),
|
|
7485
|
+
accentSubtle: re(e.accentSubtle),
|
|
7481
7486
|
accentBorder: e.accentBorder,
|
|
7482
7487
|
// auto-recomputed by LucentProvider
|
|
7483
7488
|
// ── Status: lighten defaults for visibility; darken for subtle bg ─────────
|
|
7484
|
-
successDefault:
|
|
7485
|
-
successSubtle:
|
|
7486
|
-
successText:
|
|
7487
|
-
warningDefault:
|
|
7488
|
-
warningSubtle:
|
|
7489
|
-
warningText:
|
|
7490
|
-
dangerDefault:
|
|
7491
|
-
dangerHover:
|
|
7492
|
-
dangerSubtle:
|
|
7493
|
-
dangerText:
|
|
7494
|
-
infoDefault:
|
|
7495
|
-
infoSubtle:
|
|
7496
|
-
infoText:
|
|
7489
|
+
successDefault: F(e.successDefault, 0.1),
|
|
7490
|
+
successSubtle: F(e.successDefault, -0.25),
|
|
7491
|
+
successText: F(e.successText, 0.15),
|
|
7492
|
+
warningDefault: F(e.warningDefault, 0.1),
|
|
7493
|
+
warningSubtle: F(e.warningDefault, -0.25),
|
|
7494
|
+
warningText: F(e.warningText, 0.15),
|
|
7495
|
+
dangerDefault: F(e.dangerDefault, 0.1),
|
|
7496
|
+
dangerHover: F(e.dangerHover, 0.1),
|
|
7497
|
+
dangerSubtle: F(e.dangerDefault, -0.25),
|
|
7498
|
+
dangerText: F(e.dangerText, 0.15),
|
|
7499
|
+
infoDefault: F(e.infoDefault, 0.1),
|
|
7500
|
+
infoSubtle: F(e.infoDefault, -0.25),
|
|
7501
|
+
infoText: F(e.infoText, 0.15),
|
|
7497
7502
|
// ── Focus ─────────────────────────────────────────────────────────────────
|
|
7498
|
-
focusRing:
|
|
7503
|
+
focusRing: re(e.focusRing)
|
|
7499
7504
|
};
|
|
7500
7505
|
}
|
|
7501
|
-
const
|
|
7502
|
-
function
|
|
7506
|
+
const Xe = Zn(ve);
|
|
7507
|
+
function Qn(e) {
|
|
7503
7508
|
return "--lucent-" + e.replace(/([A-Z])/g, (t) => `-${t.toLowerCase()}`).replace(/([a-z])(\d)/g, (t, a, o) => `${a}-${o}`);
|
|
7504
7509
|
}
|
|
7505
|
-
function
|
|
7506
|
-
const a = Object.entries(e).map(([o, r]) => ` ${
|
|
7510
|
+
function ea(e, t = ":root") {
|
|
7511
|
+
const a = Object.entries(e).map(([o, r]) => ` ${Qn(o)}: ${r};`).join(`
|
|
7507
7512
|
`);
|
|
7508
7513
|
return `${t} {
|
|
7509
7514
|
${a}
|
|
7510
7515
|
}`;
|
|
7511
7516
|
}
|
|
7512
|
-
function
|
|
7517
|
+
function ta(e) {
|
|
7513
7518
|
const t = parseInt(e.slice(1, 3), 16) / 255, a = parseInt(e.slice(3, 5), 16) / 255, o = parseInt(e.slice(5, 7), 16) / 255, r = (i) => i <= 0.03928 ? i / 12.92 : Math.pow((i + 0.055) / 1.055, 2.4);
|
|
7514
7519
|
return 0.2126 * r(t) + 0.7152 * r(a) + 0.0722 * r(o);
|
|
7515
7520
|
}
|
|
7516
|
-
function
|
|
7517
|
-
return
|
|
7521
|
+
function Je(e) {
|
|
7522
|
+
return ta(e) < 0.179 ? "#ffffff" : "#000000";
|
|
7518
7523
|
}
|
|
7519
|
-
const
|
|
7524
|
+
const ge = {
|
|
7520
7525
|
subtle: { light: 0.95, dark: 0.12 },
|
|
7521
7526
|
text: { light: 0.28, dark: 0.78 }
|
|
7522
7527
|
};
|
|
7523
|
-
function
|
|
7524
|
-
const [a, o] =
|
|
7525
|
-
return
|
|
7528
|
+
function de(e, t) {
|
|
7529
|
+
const [a, o] = J(e);
|
|
7530
|
+
return Z(a, o * 0.5, t ? ge.subtle.light : ge.subtle.dark);
|
|
7526
7531
|
}
|
|
7527
|
-
function
|
|
7528
|
-
const [a, o] =
|
|
7529
|
-
return
|
|
7532
|
+
function ue(e, t) {
|
|
7533
|
+
const [a, o] = J(e);
|
|
7534
|
+
return Z(a, o, t ? ge.text.light : ge.text.dark);
|
|
7530
7535
|
}
|
|
7531
|
-
function
|
|
7536
|
+
function Ze(e, t, a) {
|
|
7532
7537
|
const o = {}, r = a === "light";
|
|
7533
|
-
return "borderDefault" in e && ("borderSubtle" in e || (o.borderSubtle =
|
|
7538
|
+
return "borderDefault" in e && ("borderSubtle" in e || (o.borderSubtle = F(t.borderDefault, r ? 0.05 : -0.02)), "borderStrong" in e || (o.borderStrong = F(t.borderDefault, r ? -0.27 : 0.19))), "bgBase" in e && ("bgSubtle" in e || (o.bgSubtle = F(t.bgBase, r ? -0.02 : 0.02))), "surface" in e && ("surfaceSecondary" in e || (o.surfaceSecondary = F(t.surface, r ? -0.04 : 0.03)), "surfaceRaised" in e || (o.surfaceRaised = F(t.surface, r ? 0 : 0.06)), "surfaceOverlay" in e || (o.surfaceOverlay = F(t.surface, r ? 0 : 0.06))), "textPrimary" in e && ("textSecondary" in e || (o.textSecondary = F(t.textPrimary, r ? 0.2 : -0.15)), "textDisabled" in e || (o.textDisabled = F(t.textPrimary, r ? 0.35 : -0.4))), "accentDefault" in e && ("accentHover" in e || (o.accentHover = F(t.accentDefault, r ? 0.05 : -0.07)), "accentActive" in e || (o.accentActive = F(t.accentDefault, r ? 0.13 : -0.14)), "accentSubtle" in e || (o.accentSubtle = F(t.accentDefault, r ? 0.85 : -0.6))), "successDefault" in e && ("successSubtle" in e || (o.successSubtle = de(t.successDefault, r)), "successText" in e || (o.successText = ue(t.successDefault, r))), "warningDefault" in e && ("warningSubtle" in e || (o.warningSubtle = de(t.warningDefault, r)), "warningText" in e || (o.warningText = ue(t.warningDefault, r))), "dangerDefault" in e && ("dangerHover" in e || (o.dangerHover = F(t.dangerDefault, r ? 0.05 : -0.07)), "dangerSubtle" in e || (o.dangerSubtle = de(t.dangerDefault, r)), "dangerText" in e || (o.dangerText = ue(t.dangerDefault, r))), "infoDefault" in e && ("infoSubtle" in e || (o.infoSubtle = de(t.infoDefault, r)), "infoText" in e || (o.infoText = ue(t.infoDefault, r))), o;
|
|
7534
7539
|
}
|
|
7535
|
-
function
|
|
7536
|
-
const o = { ...t === "dark" ?
|
|
7540
|
+
function na(e, t = "light") {
|
|
7541
|
+
const o = { ...t === "dark" ? Xe : ve, ...e }, r = Ze(e, o, t), i = t === "light" ? F(o.accentDefault, -0.15) : F(o.accentDefault, 0.15);
|
|
7537
7542
|
return {
|
|
7538
7543
|
...o,
|
|
7539
7544
|
...r,
|
|
7540
|
-
textOnAccent:
|
|
7545
|
+
textOnAccent: Je(o.accentDefault),
|
|
7541
7546
|
accentBorder: i
|
|
7542
7547
|
};
|
|
7543
7548
|
}
|
|
7544
|
-
const
|
|
7549
|
+
const Qe = He({
|
|
7545
7550
|
theme: "light",
|
|
7546
|
-
tokens:
|
|
7551
|
+
tokens: ve
|
|
7547
7552
|
});
|
|
7548
|
-
function
|
|
7553
|
+
function mr({
|
|
7549
7554
|
theme: e = "light",
|
|
7550
7555
|
tokens: t,
|
|
7551
7556
|
anchors: a,
|
|
7552
7557
|
children: o
|
|
7553
7558
|
}) {
|
|
7554
|
-
const r =
|
|
7559
|
+
const r = Ie().replace(/:/g, ""), i = (() => {
|
|
7555
7560
|
if (a)
|
|
7556
|
-
return
|
|
7557
|
-
const c = e === "dark" ?
|
|
7561
|
+
return na(a, e);
|
|
7562
|
+
const c = e === "dark" ? Xe : ve, s = t ? { ...c, ...t } : c, u = t ? Ze(t, s, e) : {}, m = (t == null ? void 0 : t.accentBorder) ?? (e === "light" ? F(s.accentDefault, -0.15) : F(s.accentDefault, 0.15));
|
|
7558
7563
|
return {
|
|
7559
7564
|
...s,
|
|
7560
|
-
...
|
|
7561
|
-
textOnAccent: (t == null ? void 0 : t.textOnAccent) ??
|
|
7565
|
+
...u,
|
|
7566
|
+
textOnAccent: (t == null ? void 0 : t.textOnAccent) ?? Je(s.accentDefault),
|
|
7562
7567
|
accentBorder: m
|
|
7563
7568
|
};
|
|
7564
7569
|
})(), l = `html { font-size: 14px; }
|
|
7565
|
-
` +
|
|
7566
|
-
return
|
|
7570
|
+
` + ea(i, ":root");
|
|
7571
|
+
return be(() => {
|
|
7567
7572
|
let c = document.getElementById(`lucent-tokens-${r}`);
|
|
7568
7573
|
return c || (c = document.createElement("style"), c.id = `lucent-tokens-${r}`, document.head.appendChild(c)), c.textContent = l, () => {
|
|
7569
7574
|
var s;
|
|
7570
7575
|
(s = document.getElementById(`lucent-tokens-${r}`)) == null || s.remove();
|
|
7571
7576
|
};
|
|
7572
|
-
}, [r, l]), /* @__PURE__ */ n(
|
|
7577
|
+
}, [r, l]), /* @__PURE__ */ n(Qe.Provider, { value: { theme: e, tokens: i }, children: o });
|
|
7573
7578
|
}
|
|
7574
|
-
function
|
|
7575
|
-
return
|
|
7579
|
+
function gr() {
|
|
7580
|
+
return We(Qe);
|
|
7576
7581
|
}
|
|
7577
|
-
const
|
|
7582
|
+
const br = {
|
|
7578
7583
|
bgBase: {
|
|
7579
7584
|
description: "Main page/canvas background. The lowest elevation layer — everything sits on top of this.",
|
|
7580
7585
|
lightGuidance: "Near-white. Typically #ffffff or a very faint tint (L > 0.96).",
|
|
@@ -7629,7 +7634,7 @@ const hr = {
|
|
|
7629
7634
|
darkGuidance: "Slightly lighter than light-mode. createTheme() handles this automatically.",
|
|
7630
7635
|
derives: ["infoSubtle", "infoText"]
|
|
7631
7636
|
}
|
|
7632
|
-
},
|
|
7637
|
+
}, vr = {
|
|
7633
7638
|
id: "lucent-provider",
|
|
7634
7639
|
name: "LucentProvider",
|
|
7635
7640
|
tier: "provider",
|
|
@@ -7758,7 +7763,7 @@ const myTheme = createTheme({
|
|
|
7758
7763
|
}
|
|
7759
7764
|
],
|
|
7760
7765
|
compositionGraph: []
|
|
7761
|
-
},
|
|
7766
|
+
}, yr = {
|
|
7762
7767
|
accentDefault: "#e9c96b",
|
|
7763
7768
|
accentHover: "#ddb84e",
|
|
7764
7769
|
accentActive: "#c9a33b",
|
|
@@ -7768,7 +7773,7 @@ const myTheme = createTheme({
|
|
|
7768
7773
|
function H(e, t) {
|
|
7769
7774
|
return { field: e, message: t };
|
|
7770
7775
|
}
|
|
7771
|
-
function
|
|
7776
|
+
function aa(e) {
|
|
7772
7777
|
const t = [];
|
|
7773
7778
|
if (typeof e != "object" || e === null)
|
|
7774
7779
|
return { valid: !1, errors: [H("manifest", "Must be a non-null object")] };
|
|
@@ -7785,8 +7790,8 @@ function ea(e) {
|
|
|
7785
7790
|
(typeof c.title != "string" || c.title === "") && t.push(H(`${s}.title`, "Must be a non-empty string")), (typeof c.code != "string" || c.code === "") && t.push(H(`${s}.code`, "Must be a non-empty string"));
|
|
7786
7791
|
}) : t.push(H("usageExamples", "Must be an array")), Array.isArray(a.compositionGraph) || t.push(H("compositionGraph", "Must be an array (empty array is fine for atoms)")), typeof a.specVersion == "string" && !/^\d+\.\d+$/.test(a.specVersion) && t.push(H("specVersion", 'Must be "MAJOR.MINOR" format, e.g. "0.1"')), { valid: t.length === 0, errors: t };
|
|
7787
7792
|
}
|
|
7788
|
-
function
|
|
7789
|
-
const t =
|
|
7793
|
+
function xr(e) {
|
|
7794
|
+
const t = aa(e);
|
|
7790
7795
|
if (!t.valid) {
|
|
7791
7796
|
const a = t.errors.map((o) => ` ${o.field}: ${o.message}`).join(`
|
|
7792
7797
|
`);
|
|
@@ -7794,103 +7799,103 @@ function br(e) {
|
|
|
7794
7799
|
${a}`);
|
|
7795
7800
|
}
|
|
7796
7801
|
}
|
|
7797
|
-
function
|
|
7802
|
+
function wr(e) {
|
|
7798
7803
|
if (typeof e != "object" || e === null) return !1;
|
|
7799
7804
|
const t = e;
|
|
7800
7805
|
return typeof t.name == "string" && typeof t.type == "string" && typeof t.required == "boolean" && typeof t.description == "string";
|
|
7801
7806
|
}
|
|
7802
|
-
const
|
|
7807
|
+
const kr = "1.0", Sr = "0.1.0";
|
|
7803
7808
|
export {
|
|
7804
|
-
|
|
7805
|
-
|
|
7806
|
-
|
|
7807
|
-
|
|
7808
|
-
|
|
7809
|
-
|
|
7810
|
-
|
|
7811
|
-
|
|
7812
|
-
|
|
7813
|
-
|
|
7814
|
-
|
|
7815
|
-
|
|
7816
|
-
|
|
7817
|
-
|
|
7818
|
-
|
|
7819
|
-
|
|
7820
|
-
|
|
7821
|
-
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
|
|
7825
|
-
|
|
7826
|
-
|
|
7827
|
-
|
|
7828
|
-
|
|
7829
|
-
|
|
7830
|
-
|
|
7831
|
-
|
|
7832
|
-
|
|
7833
|
-
|
|
7834
|
-
|
|
7835
|
-
|
|
7836
|
-
|
|
7837
|
-
|
|
7838
|
-
|
|
7839
|
-
|
|
7840
|
-
|
|
7841
|
-
|
|
7842
|
-
|
|
7843
|
-
|
|
7844
|
-
|
|
7845
|
-
|
|
7846
|
-
|
|
7847
|
-
|
|
7848
|
-
|
|
7849
|
-
|
|
7850
|
-
|
|
7851
|
-
|
|
7852
|
-
|
|
7853
|
-
|
|
7854
|
-
|
|
7855
|
-
|
|
7856
|
-
|
|
7857
|
-
|
|
7858
|
-
|
|
7859
|
-
|
|
7860
|
-
|
|
7861
|
-
|
|
7862
|
-
|
|
7863
|
-
|
|
7864
|
-
|
|
7865
|
-
|
|
7866
|
-
|
|
7867
|
-
|
|
7868
|
-
|
|
7869
|
-
|
|
7870
|
-
|
|
7871
|
-
|
|
7872
|
-
|
|
7873
|
-
|
|
7809
|
+
Ga as Alert,
|
|
7810
|
+
Ua as AlertManifest,
|
|
7811
|
+
ua as Avatar,
|
|
7812
|
+
pa as AvatarManifest,
|
|
7813
|
+
ca as Badge,
|
|
7814
|
+
da as BadgeManifest,
|
|
7815
|
+
Ja as Breadcrumb,
|
|
7816
|
+
Ve as Button,
|
|
7817
|
+
ia as ButtonManifest,
|
|
7818
|
+
Fa as COLOR_PICKER_MANIFEST,
|
|
7819
|
+
Na as COLOR_SWATCH_MANIFEST,
|
|
7820
|
+
rr as COMMAND_PALETTE_MANIFEST,
|
|
7821
|
+
Oa as Card,
|
|
7822
|
+
ja as CardManifest,
|
|
7823
|
+
Oe as Checkbox,
|
|
7824
|
+
ga as CheckboxManifest,
|
|
7825
|
+
Ra as CodeBlock,
|
|
7826
|
+
La as CodeBlockManifest,
|
|
7827
|
+
Qa as Collapsible,
|
|
7828
|
+
ln as ColorPicker,
|
|
7829
|
+
pe as ColorSwatch,
|
|
7830
|
+
ar as CommandPalette,
|
|
7831
|
+
nr as DATA_TABLE_MANIFEST,
|
|
7832
|
+
sr as DATE_PICKER_MANIFEST,
|
|
7833
|
+
dr as DATE_RANGE_PICKER_MANIFEST,
|
|
7834
|
+
tr as DataTable,
|
|
7835
|
+
lr as DatePicker,
|
|
7836
|
+
cr as DateRangePicker,
|
|
7837
|
+
ha as Divider,
|
|
7838
|
+
ma as DividerManifest,
|
|
7839
|
+
_a as EmptyState,
|
|
7840
|
+
Ka as EmptyStateManifest,
|
|
7841
|
+
pr as FILE_UPLOAD_MANIFEST,
|
|
7842
|
+
ur as FileUpload,
|
|
7843
|
+
Pa as FormField,
|
|
7844
|
+
Wa as FormFieldManifest,
|
|
7845
|
+
Ma as Icon,
|
|
7846
|
+
Da as IconManifest,
|
|
7847
|
+
Q as Input,
|
|
7848
|
+
la as InputManifest,
|
|
7849
|
+
Sr as LUCENT_UI_VERSION,
|
|
7850
|
+
mr as LucentProvider,
|
|
7851
|
+
vr as LucentProviderManifest,
|
|
7852
|
+
kr as MANIFEST_SPEC_VERSION,
|
|
7853
|
+
ir as MULTI_SELECT_MANIFEST,
|
|
7854
|
+
or as MultiSelect,
|
|
7855
|
+
Aa as NavLink,
|
|
7856
|
+
er as PageLayout,
|
|
7857
|
+
ba as Radio,
|
|
7858
|
+
xt as RadioGroup,
|
|
7859
|
+
va as RadioGroupUncontrolled,
|
|
7860
|
+
ya as RadioManifest,
|
|
7861
|
+
$a as SEGMENTED_CONTROL_MANIFEST,
|
|
7862
|
+
Ha as SearchInput,
|
|
7863
|
+
Va as SearchInputManifest,
|
|
7864
|
+
Ue as SegmentedControl,
|
|
7865
|
+
Ge as Select,
|
|
7866
|
+
ka as SelectManifest,
|
|
7867
|
+
Ya as Skeleton,
|
|
7868
|
+
Xa as SkeletonManifest,
|
|
7869
|
+
Ea as Slider,
|
|
7870
|
+
qa as SliderManifest,
|
|
7871
|
+
gt as Spinner,
|
|
7872
|
+
fa as SpinnerManifest,
|
|
7873
|
+
hr as TIMELINE_MANIFEST,
|
|
7874
|
+
ie as Table,
|
|
7875
|
+
Ba as TableManifest,
|
|
7876
|
+
Za as Tabs,
|
|
7877
|
+
Sa as Tag,
|
|
7878
|
+
Ta as TagManifest,
|
|
7874
7879
|
L as Text,
|
|
7875
|
-
|
|
7876
|
-
|
|
7877
|
-
|
|
7878
|
-
|
|
7879
|
-
|
|
7880
|
-
|
|
7881
|
-
|
|
7882
|
-
|
|
7883
|
-
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
|
|
7887
|
-
|
|
7888
|
-
|
|
7889
|
-
|
|
7890
|
-
|
|
7891
|
-
|
|
7892
|
-
|
|
7893
|
-
|
|
7894
|
-
|
|
7895
|
-
|
|
7880
|
+
za as TextManifest,
|
|
7881
|
+
st as Textarea,
|
|
7882
|
+
sa as TextareaManifest,
|
|
7883
|
+
br as ThemeAnchorsSpec,
|
|
7884
|
+
fr as Timeline,
|
|
7885
|
+
xa as Toggle,
|
|
7886
|
+
wa as ToggleManifest,
|
|
7887
|
+
Ca as Tooltip,
|
|
7888
|
+
Ia as TooltipManifest,
|
|
7889
|
+
xr as assertManifest,
|
|
7890
|
+
yr as brandTokens,
|
|
7891
|
+
na as createTheme,
|
|
7892
|
+
Xe as darkTokens,
|
|
7893
|
+
Zn as deriveDarkFromLight,
|
|
7894
|
+
Ze as deriveTokens,
|
|
7895
|
+
Je as getContrastText,
|
|
7896
|
+
wr as isValidPropDescriptor,
|
|
7897
|
+
ve as lightTokens,
|
|
7898
|
+
ea as makeLibraryCSS,
|
|
7899
|
+
gr as useLucent,
|
|
7900
|
+
aa as validateManifest
|
|
7896
7901
|
};
|