@devalok/shilp-sutra 0.30.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -239
- package/dist/_chunks/badge-group.js +123 -171
- package/dist/_chunks/document-preview.js +92 -0
- package/dist/_chunks/file-preview.js +511 -0
- package/dist/_chunks/image-preview.js +90 -0
- package/dist/_chunks/primitives.js +109 -109
- package/dist/_chunks/stat-row.js +144 -124
- package/dist/_chunks/use-calendar.js +558 -490
- package/dist/ai/block-renderer.d.ts +2 -1
- package/dist/ai/block-renderer.d.ts.map +1 -1
- package/dist/ai/block-renderer.js +30 -29
- package/dist/ai/blocks/block-table.d.ts.map +1 -1
- package/dist/ai/blocks/confirm.d.ts.map +1 -1
- package/dist/ai/blocks/divider.d.ts.map +1 -1
- package/dist/ai/blocks/error.d.ts.map +1 -1
- package/dist/ai/blocks/info.d.ts.map +1 -1
- package/dist/ai/blocks/loading.d.ts.map +1 -1
- package/dist/ai/blocks/stat-row.d.ts.map +1 -1
- package/dist/ai/blocks/success.d.ts.map +1 -1
- package/dist/ai/blocks/text.d.ts.map +1 -1
- package/dist/ai/command-bar.d.ts +18 -0
- package/dist/ai/command-bar.d.ts.map +1 -1
- package/dist/ai/command-bar.js +126 -125
- package/dist/ai/conversation.d.ts +13 -1
- package/dist/ai/conversation.d.ts.map +1 -1
- package/dist/ai/conversation.js +78 -78
- package/dist/ai/types.d.ts +0 -1
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js +1 -0
- package/dist/composed/bulk-action-bar.d.ts +6 -4
- package/dist/composed/bulk-action-bar.d.ts.map +1 -1
- package/dist/composed/bulk-action-bar.js +102 -58
- package/dist/composed/command-palette.d.ts +9 -0
- package/dist/composed/command-palette.d.ts.map +1 -1
- package/dist/composed/command-palette.js +68 -68
- package/dist/composed/confirm-dialog.d.ts +1 -1
- package/dist/composed/confirm-dialog.d.ts.map +1 -1
- package/dist/composed/confirm-dialog.js +10 -10
- package/dist/composed/content-card.d.ts.map +1 -1
- package/dist/composed/date-picker/date-picker.d.ts +11 -1
- package/dist/composed/date-picker/date-picker.d.ts.map +1 -1
- package/dist/composed/date-picker/month-picker.d.ts.map +1 -1
- package/dist/composed/date-picker/year-picker.d.ts.map +1 -1
- package/dist/composed/deadline-indicator.d.ts +1 -1
- package/dist/composed/deadline-indicator.d.ts.map +1 -1
- package/dist/composed/deadline-indicator.js +39 -36
- package/dist/composed/emoji-picker.d.ts +6 -0
- package/dist/composed/emoji-picker.d.ts.map +1 -1
- package/dist/composed/emoji-picker.js +22 -20
- package/dist/composed/error-boundary.d.ts +21 -1
- package/dist/composed/error-boundary.d.ts.map +1 -1
- package/dist/composed/error-boundary.js +47 -32
- package/dist/composed/file-preview/audio-preview.d.ts +7 -0
- package/dist/composed/file-preview/audio-preview.d.ts.map +1 -0
- package/dist/composed/file-preview/document-preview.d.ts +7 -0
- package/dist/composed/file-preview/document-preview.d.ts.map +1 -0
- package/dist/composed/file-preview/embed-preview.d.ts +7 -0
- package/dist/composed/file-preview/embed-preview.d.ts.map +1 -0
- package/dist/composed/file-preview/image-preview.d.ts +7 -0
- package/dist/composed/file-preview/image-preview.d.ts.map +1 -0
- package/dist/composed/file-preview/shared.d.ts +20 -0
- package/dist/composed/file-preview/shared.d.ts.map +1 -0
- package/dist/composed/file-preview/video-preview.d.ts +6 -0
- package/dist/composed/file-preview/video-preview.d.ts.map +1 -0
- package/dist/composed/file-preview.d.ts.map +1 -1
- package/dist/composed/file-preview.js +10 -662
- package/dist/composed/filter-bar.d.ts +10 -2
- package/dist/composed/filter-bar.d.ts.map +1 -1
- package/dist/composed/filter-bar.js +42 -43
- package/dist/composed/form-section.d.ts +1 -1
- package/dist/composed/form-section.d.ts.map +1 -1
- package/dist/composed/form-section.js +22 -21
- package/dist/composed/index.d.ts +2 -2
- package/dist/composed/index.d.ts.map +1 -1
- package/dist/composed/index.js +58 -57
- package/dist/composed/inline-edit.d.ts +1 -1
- package/dist/composed/inline-edit.d.ts.map +1 -1
- package/dist/composed/inline-edit.js +33 -32
- package/dist/composed/lib/string-utils.d.ts.map +1 -1
- package/dist/composed/loading-skeleton.d.ts.map +1 -1
- package/dist/composed/markdown-viewer.d.ts +1 -1
- package/dist/composed/markdown-viewer.d.ts.map +1 -1
- package/dist/composed/markdown-viewer.js +60 -59
- package/dist/composed/master-detail.d.ts +11 -7
- package/dist/composed/master-detail.d.ts.map +1 -1
- package/dist/composed/master-detail.js +123 -84
- package/dist/composed/page-header.d.ts.map +1 -1
- package/dist/composed/page-skeletons.d.ts.map +1 -1
- package/dist/composed/priority-indicator.d.ts +1 -0
- package/dist/composed/priority-indicator.js +1 -0
- package/dist/composed/responsive-overlay.d.ts +8 -0
- package/dist/composed/responsive-overlay.d.ts.map +1 -1
- package/dist/composed/rich-text-editor.d.ts +11 -3
- package/dist/composed/rich-text-editor.d.ts.map +1 -1
- package/dist/composed/rich-text-editor.js +21 -20
- package/dist/composed/schedule-view.d.ts +9 -1
- package/dist/composed/schedule-view.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +8 -4
- package/dist/hooks/use-touch-device.d.ts +12 -0
- package/dist/hooks/use-touch-device.d.ts.map +1 -0
- package/dist/hooks/use-touch-device.js +13 -0
- package/dist/hooks/use-viewport-height.d.ts +11 -0
- package/dist/hooks/use-viewport-height.d.ts.map +1 -0
- package/dist/hooks/use-viewport-height.js +16 -0
- package/dist/shell/bottom-navbar.d.ts.map +1 -1
- package/dist/shell/bottom-navbar.js +72 -63
- package/dist/shell/command-registry.d.ts.map +1 -1
- package/dist/shell/notification-center.d.ts.map +1 -1
- package/dist/shell/notification-center.js +77 -77
- package/dist/shell/top-bar.d.ts +2 -2
- package/dist/shell/top-bar.d.ts.map +1 -1
- package/dist/shell/top-bar.js +61 -60
- package/dist/tailwind/index.cjs +51 -7
- package/dist/tailwind/preset.d.ts.map +1 -1
- package/dist/tailwind/preset.js +51 -7
- package/dist/tokens/primitives.css +3 -1
- package/dist/tokens/semantic.css +16 -13
- package/dist/tokens/typography.css +33 -4
- package/dist/ui/alert.d.ts +1 -0
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +42 -37
- package/dist/ui/autocomplete.d.ts.map +1 -1
- package/dist/ui/autocomplete.js +38 -39
- package/dist/ui/badge.d.ts +110 -2
- package/dist/ui/badge.d.ts.map +1 -1
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/banner.js +8 -7
- package/dist/ui/button.d.ts +2 -2
- package/dist/ui/button.d.ts.map +1 -1
- package/dist/ui/button.js +54 -74
- package/dist/ui/card.d.ts +5 -1
- package/dist/ui/card.d.ts.map +1 -1
- package/dist/ui/card.js +111 -79
- package/dist/ui/charts/area-chart.d.ts +2 -0
- package/dist/ui/charts/area-chart.d.ts.map +1 -1
- package/dist/ui/charts/bar-chart.d.ts +2 -0
- package/dist/ui/charts/bar-chart.d.ts.map +1 -1
- package/dist/ui/charts/chart-container.d.ts +2 -0
- package/dist/ui/charts/chart-container.d.ts.map +1 -1
- package/dist/ui/charts/index.js +583 -577
- package/dist/ui/charts/line-chart.d.ts +2 -0
- package/dist/ui/charts/line-chart.d.ts.map +1 -1
- package/dist/ui/charts/pie-chart.d.ts +2 -0
- package/dist/ui/charts/pie-chart.d.ts.map +1 -1
- package/dist/ui/charts/radar-chart.d.ts +2 -0
- package/dist/ui/charts/radar-chart.d.ts.map +1 -1
- package/dist/ui/checkbox.d.ts +2 -0
- package/dist/ui/checkbox.d.ts.map +1 -1
- package/dist/ui/checkbox.js +36 -27
- package/dist/ui/code.d.ts.map +1 -1
- package/dist/ui/color-input.js +5 -5
- package/dist/ui/combobox.d.ts +6 -1
- package/dist/ui/combobox.d.ts.map +1 -1
- package/dist/ui/combobox.js +1 -1
- package/dist/ui/container.d.ts.map +1 -1
- package/dist/ui/context-menu.js +1 -1
- package/dist/ui/data-table-body.d.ts +12 -0
- package/dist/ui/data-table-body.d.ts.map +1 -0
- package/dist/ui/data-table-body.js +219 -0
- package/dist/ui/data-table-bulk-actions.d.ts +19 -0
- package/dist/ui/data-table-bulk-actions.d.ts.map +1 -0
- package/dist/ui/data-table-bulk-actions.js +61 -0
- package/dist/ui/data-table-card.d.ts +9 -0
- package/dist/ui/data-table-card.d.ts.map +1 -0
- package/dist/ui/data-table-card.js +73 -0
- package/dist/ui/data-table-context.d.ts +62 -0
- package/dist/ui/data-table-context.d.ts.map +1 -0
- package/dist/ui/data-table-context.js +48 -0
- package/dist/ui/data-table-header.d.ts +10 -0
- package/dist/ui/data-table-header.d.ts.map +1 -0
- package/dist/ui/data-table-header.js +141 -0
- package/dist/ui/data-table-pagination.d.ts +13 -0
- package/dist/ui/data-table-pagination.d.ts.map +1 -0
- package/dist/ui/data-table-pagination.js +84 -0
- package/dist/ui/data-table.d.ts +11 -9
- package/dist/ui/data-table.d.ts.map +1 -1
- package/dist/ui/data-table.js +258 -573
- package/dist/ui/dialog.d.ts +6 -2
- package/dist/ui/dialog.d.ts.map +1 -1
- package/dist/ui/dialog.js +84 -82
- package/dist/ui/dropdown-menu.js +1 -1
- package/dist/ui/hover-card.d.ts +7 -0
- package/dist/ui/hover-card.d.ts.map +1 -1
- package/dist/ui/hover-card.js +3 -3
- package/dist/ui/icon-group.d.ts +2 -4
- package/dist/ui/icon-group.d.ts.map +1 -1
- package/dist/ui/icon-group.js +22 -23
- package/dist/ui/index.d.ts +1 -2
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +94 -99
- package/dist/ui/label.js +1 -1
- package/dist/ui/lib/bottom-sheet.d.ts +16 -0
- package/dist/ui/lib/bottom-sheet.d.ts.map +1 -0
- package/dist/ui/lib/date-utils.d.ts.map +1 -1
- package/dist/ui/lib/motion.d.ts.map +1 -1
- package/dist/ui/lib/utils.d.ts.map +1 -1
- package/dist/ui/menubar.d.ts.map +1 -1
- package/dist/ui/menubar.js +64 -73
- package/dist/ui/navigation-menu.d.ts.map +1 -1
- package/dist/ui/navigation-menu.js +40 -44
- package/dist/ui/number-input.d.ts.map +1 -1
- package/dist/ui/number-input.js +19 -17
- package/dist/ui/popover.d.ts.map +1 -1
- package/dist/ui/popover.js +107 -32
- package/dist/ui/progress-ring.d.ts.map +1 -1
- package/dist/ui/progress-ring.js +80 -80
- package/dist/ui/progress.js +4 -4
- package/dist/ui/radio.d.ts +5 -2
- package/dist/ui/radio.d.ts.map +1 -1
- package/dist/ui/radio.js +29 -20
- package/dist/ui/search-input.d.ts.map +1 -1
- package/dist/ui/search-input.js +13 -12
- package/dist/ui/segmented-control.d.ts +6 -108
- package/dist/ui/segmented-control.d.ts.map +1 -1
- package/dist/ui/segmented-control.js +86 -272
- package/dist/ui/select.d.ts +3 -1
- package/dist/ui/select.d.ts.map +1 -1
- package/dist/ui/select.js +83 -71
- package/dist/ui/separator.js +5 -5
- package/dist/ui/sheet.d.ts +2 -0
- package/dist/ui/sheet.d.ts.map +1 -1
- package/dist/ui/sheet.js +102 -84
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +200 -175
- package/dist/ui/skeleton.d.ts.map +1 -1
- package/dist/ui/slider.js +14 -14
- package/dist/ui/stack.d.ts.map +1 -1
- package/dist/ui/status-dot.js +8 -8
- package/dist/ui/stepper.d.ts.map +1 -1
- package/dist/ui/stepper.js +33 -31
- package/dist/ui/switch.js +3 -3
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/ui/tabs.d.ts +7 -0
- package/dist/ui/tabs.d.ts.map +1 -1
- package/dist/ui/tabs.js +102 -76
- package/dist/ui/text.d.ts.map +1 -1
- package/dist/ui/toast-types.d.ts +0 -1
- package/dist/ui/toast-types.d.ts.map +1 -1
- package/dist/ui/toast-types.js +0 -1
- package/dist/ui/toast.d.ts.map +1 -1
- package/dist/ui/toast.js +156 -150
- package/dist/ui/toggle-group.js +1 -1
- package/dist/ui/toggle.js +1 -1
- package/dist/ui/tooltip.js +3 -3
- package/dist/ui/visually-hidden.d.ts.map +1 -1
- package/docs/components/ui/alert.md +3 -0
- package/docs/components/ui/badge.md +3 -0
- package/docs/components/ui/card.md +4 -0
- package/docs/components/ui/data-table-body.md +13 -0
- package/docs/components/ui/data-table-bulk-actions.md +13 -0
- package/docs/components/ui/data-table-card.md +13 -0
- package/docs/components/ui/data-table-context.md +13 -0
- package/docs/components/ui/data-table-header.md +13 -0
- package/docs/components/ui/data-table-pagination.md +13 -0
- package/docs/components/ui/select.md +4 -0
- package/docs/components/ui/tabs.md +4 -0
- package/llms-full.txt +97 -48
- package/llms.txt +46 -1
- package/package.json +37 -7
- package/dist/ui/chip.d.ts +0 -19
- package/dist/ui/chip.d.ts.map +0 -1
- package/dist/ui/chip.js +0 -14
- package/dist/ui/lib/use-ripple.d.ts +0 -14
- package/dist/ui/lib/use-ripple.d.ts.map +0 -1
package/dist/ui/autocomplete.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as
|
|
2
|
+
import { jsxs as j, jsx as d } from "react/jsx-runtime";
|
|
3
3
|
import * as t from "react";
|
|
4
4
|
import { cn as p } from "./lib/utils.js";
|
|
5
|
-
import { tweens as
|
|
6
|
-
import { A as
|
|
7
|
-
const
|
|
5
|
+
import { tweens as L, springs as P } from "./lib/motion.js";
|
|
6
|
+
import { A as q, m as v } from "../_chunks/framer.js";
|
|
7
|
+
const z = {
|
|
8
8
|
hidden: {},
|
|
9
9
|
visible: { transition: { staggerChildren: 0.03 } }
|
|
10
|
-
},
|
|
10
|
+
}, B = {
|
|
11
11
|
hidden: { opacity: 0, y: 4 },
|
|
12
|
-
visible: { opacity: 1, y: 0, transition:
|
|
13
|
-
},
|
|
12
|
+
visible: { opacity: 1, y: 0, transition: P.snappy }
|
|
13
|
+
}, F = t.forwardRef(
|
|
14
14
|
({
|
|
15
15
|
options: b,
|
|
16
16
|
value: u,
|
|
17
17
|
onValueChange: g,
|
|
18
18
|
placeholder: I,
|
|
19
19
|
emptyText: R = "No options",
|
|
20
|
-
disabled:
|
|
20
|
+
disabled: y,
|
|
21
21
|
className: A,
|
|
22
22
|
id: C,
|
|
23
23
|
...E
|
|
24
24
|
}, i) => {
|
|
25
|
-
const N = t.useId(),
|
|
25
|
+
const N = t.useId(), x = C || N, w = `${x}-listbox`, k = `${x}-option`, [f, h] = t.useState(u?.label ?? ""), [l, r] = t.useState(!1), [s, o] = t.useState(-1), $ = t.useRef(null), M = t.useRef(null), D = t.useRef(null), S = t.useCallback(
|
|
26
26
|
(e) => {
|
|
27
27
|
$.current = e, typeof i == "function" ? i(e) : i && (i.current = e);
|
|
28
28
|
},
|
|
@@ -31,40 +31,39 @@ const q = {
|
|
|
31
31
|
t.useEffect(() => {
|
|
32
32
|
h(u?.label ?? "");
|
|
33
33
|
}, [u]), t.useEffect(() => () => {
|
|
34
|
-
v.current && clearTimeout(v.current);
|
|
35
34
|
}, []);
|
|
36
35
|
const n = t.useMemo(
|
|
37
36
|
() => f ? b.filter((e) => e.label.toLowerCase().includes(f.toLowerCase())) : b,
|
|
38
37
|
[b, f]
|
|
39
38
|
), m = t.useCallback(
|
|
40
39
|
(e) => {
|
|
41
|
-
h(e.label),
|
|
40
|
+
h(e.label), r(!1), o(-1), g?.(e);
|
|
42
41
|
},
|
|
43
42
|
[g]
|
|
44
43
|
), K = t.useCallback(
|
|
45
44
|
(e) => {
|
|
46
45
|
if (!l) {
|
|
47
|
-
(e.key === "ArrowDown" || e.key === "Enter") &&
|
|
46
|
+
(e.key === "ArrowDown" || e.key === "Enter") && r(!0);
|
|
48
47
|
return;
|
|
49
48
|
}
|
|
50
49
|
switch (e.key) {
|
|
51
50
|
case "ArrowDown":
|
|
52
|
-
e.preventDefault(), o((
|
|
51
|
+
e.preventDefault(), o((a) => Math.min(a + 1, n.length - 1));
|
|
53
52
|
break;
|
|
54
53
|
case "ArrowUp":
|
|
55
|
-
e.preventDefault(), o((
|
|
54
|
+
e.preventDefault(), o((a) => Math.max(a - 1, 0));
|
|
56
55
|
break;
|
|
57
56
|
case "Enter":
|
|
58
57
|
e.preventDefault(), s >= 0 && n[s] && m(n[s]);
|
|
59
58
|
break;
|
|
60
59
|
case "Escape":
|
|
61
|
-
|
|
60
|
+
r(!1), o(-1);
|
|
62
61
|
break;
|
|
63
62
|
}
|
|
64
63
|
},
|
|
65
64
|
[l, n, s, m]
|
|
66
|
-
), O = s >= 0 ? `${
|
|
67
|
-
return /* @__PURE__ */
|
|
65
|
+
), O = s >= 0 ? `${k}-${s}` : void 0;
|
|
66
|
+
return /* @__PURE__ */ j("div", { ref: D, className: p("relative", A), ...E, children: [
|
|
68
67
|
/* @__PURE__ */ d(
|
|
69
68
|
"input",
|
|
70
69
|
{
|
|
@@ -73,60 +72,60 @@ const q = {
|
|
|
73
72
|
role: "combobox",
|
|
74
73
|
"aria-expanded": l,
|
|
75
74
|
"aria-autocomplete": "list",
|
|
76
|
-
"aria-controls": l ?
|
|
75
|
+
"aria-controls": l ? w : void 0,
|
|
77
76
|
"aria-activedescendant": O,
|
|
78
77
|
value: f,
|
|
79
78
|
placeholder: I,
|
|
80
|
-
disabled:
|
|
79
|
+
disabled: y,
|
|
81
80
|
className: p(
|
|
82
81
|
"flex h-ds-md w-full rounded-ds-md border border-surface-border-strong bg-surface-raised-hover px-ds-04 py-ds-03 font-sans text-ds-md text-surface-fg placeholder:text-surface-fg-subtle",
|
|
83
82
|
"outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-[var(--border-focus-offset)]",
|
|
84
83
|
"transition-colors duration-fast-01",
|
|
85
|
-
|
|
84
|
+
y && "opacity-action-disabled cursor-not-allowed"
|
|
86
85
|
),
|
|
87
86
|
onChange: (e) => {
|
|
88
|
-
h(e.target.value),
|
|
87
|
+
h(e.target.value), r(!0), o(-1);
|
|
89
88
|
},
|
|
90
|
-
onFocus: () =>
|
|
91
|
-
onBlur: () => {
|
|
92
|
-
|
|
89
|
+
onFocus: () => r(!0),
|
|
90
|
+
onBlur: (e) => {
|
|
91
|
+
D.current?.contains(e.relatedTarget) || r(!1);
|
|
93
92
|
},
|
|
94
93
|
onKeyDown: K
|
|
95
94
|
}
|
|
96
95
|
),
|
|
97
|
-
/* @__PURE__ */ d(
|
|
98
|
-
|
|
96
|
+
/* @__PURE__ */ d(q, { children: l && /* @__PURE__ */ d(
|
|
97
|
+
v.ul,
|
|
99
98
|
{
|
|
100
|
-
id:
|
|
99
|
+
id: w,
|
|
101
100
|
ref: M,
|
|
102
101
|
role: "listbox",
|
|
103
102
|
initial: "hidden",
|
|
104
103
|
animate: "visible",
|
|
105
104
|
exit: "hidden",
|
|
106
|
-
variants:
|
|
105
|
+
variants: z,
|
|
107
106
|
className: p(
|
|
108
107
|
"absolute z-popover mt-ds-02 w-full overflow-auto rounded-ds-md border border-surface-border-strong bg-surface-overlay shadow-raised-hover",
|
|
109
108
|
"max-h-60"
|
|
110
109
|
),
|
|
111
110
|
children: n.length === 0 ? /* @__PURE__ */ d(
|
|
112
|
-
|
|
111
|
+
v.li,
|
|
113
112
|
{
|
|
114
113
|
initial: { opacity: 0 },
|
|
115
114
|
animate: { opacity: 1 },
|
|
116
|
-
transition:
|
|
115
|
+
transition: L.fade,
|
|
117
116
|
className: "px-ds-04 py-ds-03 text-ds-md text-surface-fg-muted",
|
|
118
117
|
children: R
|
|
119
118
|
}
|
|
120
|
-
) : n.map((e,
|
|
121
|
-
|
|
119
|
+
) : n.map((e, a) => /* @__PURE__ */ d(
|
|
120
|
+
v.li,
|
|
122
121
|
{
|
|
123
|
-
id: `${
|
|
122
|
+
id: `${k}-${a}`,
|
|
124
123
|
role: "option",
|
|
125
|
-
"aria-selected": s ===
|
|
126
|
-
variants:
|
|
124
|
+
"aria-selected": s === a,
|
|
125
|
+
variants: B,
|
|
127
126
|
className: p(
|
|
128
127
|
"cursor-pointer px-ds-04 py-ds-03 text-ds-md text-surface-fg transition-colors duration-fast-01",
|
|
129
|
-
s ===
|
|
128
|
+
s === a && "bg-accent-3",
|
|
130
129
|
u?.value === e.value && "font-semibold"
|
|
131
130
|
),
|
|
132
131
|
onMouseDown: (c) => c.preventDefault(),
|
|
@@ -134,7 +133,7 @@ const q = {
|
|
|
134
133
|
onKeyDown: (c) => {
|
|
135
134
|
(c.key === "Enter" || c.key === " ") && (c.preventDefault(), m(e));
|
|
136
135
|
},
|
|
137
|
-
onMouseEnter: () => o(
|
|
136
|
+
onMouseEnter: () => o(a),
|
|
138
137
|
children: e.label
|
|
139
138
|
},
|
|
140
139
|
e.value
|
|
@@ -144,7 +143,7 @@ const q = {
|
|
|
144
143
|
] });
|
|
145
144
|
}
|
|
146
145
|
);
|
|
147
|
-
|
|
146
|
+
F.displayName = "Autocomplete";
|
|
148
147
|
export {
|
|
149
|
-
|
|
148
|
+
F as Autocomplete
|
|
150
149
|
};
|
package/dist/ui/badge.d.ts
CHANGED
|
@@ -3,9 +3,109 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
3
3
|
import { BadgeIndicator } from './badge-indicator';
|
|
4
4
|
import { BadgeGroup } from './badge-group';
|
|
5
5
|
import * as React from 'react';
|
|
6
|
+
declare const colorMap: {
|
|
7
|
+
readonly default: {
|
|
8
|
+
readonly bg: "bg-surface-raised-hover";
|
|
9
|
+
readonly fg: "text-surface-fg-muted";
|
|
10
|
+
readonly border: "border-surface-border-strong";
|
|
11
|
+
readonly solid: "bg-neutral-5";
|
|
12
|
+
readonly solidFg: "text-surface-fg";
|
|
13
|
+
};
|
|
14
|
+
readonly accent: {
|
|
15
|
+
readonly bg: "bg-accent-3";
|
|
16
|
+
readonly fg: "text-accent-11";
|
|
17
|
+
readonly border: "border-accent-7";
|
|
18
|
+
readonly solid: "bg-accent-9";
|
|
19
|
+
readonly solidFg: "text-accent-fg";
|
|
20
|
+
};
|
|
21
|
+
readonly error: {
|
|
22
|
+
readonly bg: "bg-error-3";
|
|
23
|
+
readonly fg: "text-error-11";
|
|
24
|
+
readonly border: "border-error-7";
|
|
25
|
+
readonly solid: "bg-error-9";
|
|
26
|
+
readonly solidFg: "text-error-fg";
|
|
27
|
+
};
|
|
28
|
+
readonly success: {
|
|
29
|
+
readonly bg: "bg-success-3";
|
|
30
|
+
readonly fg: "text-success-11";
|
|
31
|
+
readonly border: "border-success-7";
|
|
32
|
+
readonly solid: "bg-success-9";
|
|
33
|
+
readonly solidFg: "text-success-fg";
|
|
34
|
+
};
|
|
35
|
+
readonly warning: {
|
|
36
|
+
readonly bg: "bg-warning-3";
|
|
37
|
+
readonly fg: "text-warning-11";
|
|
38
|
+
readonly border: "border-warning-7";
|
|
39
|
+
readonly solid: "bg-warning-9";
|
|
40
|
+
readonly solidFg: "text-warning-fg";
|
|
41
|
+
};
|
|
42
|
+
readonly info: {
|
|
43
|
+
readonly bg: "bg-info-3";
|
|
44
|
+
readonly fg: "text-info-11";
|
|
45
|
+
readonly border: "border-info-7";
|
|
46
|
+
readonly solid: "bg-info-9";
|
|
47
|
+
readonly solidFg: "text-info-fg";
|
|
48
|
+
};
|
|
49
|
+
readonly neutral: {
|
|
50
|
+
readonly bg: "bg-surface-raised-hover";
|
|
51
|
+
readonly fg: "text-surface-fg-muted";
|
|
52
|
+
readonly border: "border-surface-border-strong";
|
|
53
|
+
readonly solid: "bg-neutral-5";
|
|
54
|
+
readonly solidFg: "text-surface-fg";
|
|
55
|
+
};
|
|
56
|
+
readonly teal: {
|
|
57
|
+
readonly bg: "bg-category-teal-3";
|
|
58
|
+
readonly fg: "text-category-teal-11";
|
|
59
|
+
readonly border: "border-category-teal-7";
|
|
60
|
+
readonly solid: "bg-category-teal-9";
|
|
61
|
+
readonly solidFg: "text-white";
|
|
62
|
+
};
|
|
63
|
+
readonly amber: {
|
|
64
|
+
readonly bg: "bg-category-amber-3";
|
|
65
|
+
readonly fg: "text-category-amber-11";
|
|
66
|
+
readonly border: "border-category-amber-7";
|
|
67
|
+
readonly solid: "bg-category-amber-9";
|
|
68
|
+
readonly solidFg: "text-white";
|
|
69
|
+
};
|
|
70
|
+
readonly slate: {
|
|
71
|
+
readonly bg: "bg-category-slate-3";
|
|
72
|
+
readonly fg: "text-category-slate-11";
|
|
73
|
+
readonly border: "border-category-slate-7";
|
|
74
|
+
readonly solid: "bg-category-slate-9";
|
|
75
|
+
readonly solidFg: "text-white";
|
|
76
|
+
};
|
|
77
|
+
readonly indigo: {
|
|
78
|
+
readonly bg: "bg-category-indigo-3";
|
|
79
|
+
readonly fg: "text-category-indigo-11";
|
|
80
|
+
readonly border: "border-category-indigo-7";
|
|
81
|
+
readonly solid: "bg-category-indigo-9";
|
|
82
|
+
readonly solidFg: "text-white";
|
|
83
|
+
};
|
|
84
|
+
readonly cyan: {
|
|
85
|
+
readonly bg: "bg-category-cyan-3";
|
|
86
|
+
readonly fg: "text-category-cyan-11";
|
|
87
|
+
readonly border: "border-category-cyan-7";
|
|
88
|
+
readonly solid: "bg-category-cyan-9";
|
|
89
|
+
readonly solidFg: "text-white";
|
|
90
|
+
};
|
|
91
|
+
readonly orange: {
|
|
92
|
+
readonly bg: "bg-category-orange-3";
|
|
93
|
+
readonly fg: "text-category-orange-11";
|
|
94
|
+
readonly border: "border-category-orange-7";
|
|
95
|
+
readonly solid: "bg-category-orange-9";
|
|
96
|
+
readonly solidFg: "text-white";
|
|
97
|
+
};
|
|
98
|
+
readonly emerald: {
|
|
99
|
+
readonly bg: "bg-category-emerald-3";
|
|
100
|
+
readonly fg: "text-category-emerald-11";
|
|
101
|
+
readonly border: "border-category-emerald-7";
|
|
102
|
+
readonly solid: "bg-category-emerald-9";
|
|
103
|
+
readonly solidFg: "text-white";
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
type BadgeColor = keyof typeof colorMap | 'custom';
|
|
6
107
|
declare const badgeVariants: (props?: ({
|
|
7
108
|
variant?: "outline" | "solid" | "subtle" | "soft" | null | undefined;
|
|
8
|
-
color?: "default" | "accent" | "success" | "error" | "custom" | "cyan" | "indigo" | "orange" | "teal" | "info" | "warning" | "neutral" | "amber" | "slate" | "emerald" | null | undefined;
|
|
9
109
|
size?: "xs" | "sm" | "md" | "lg" | null | undefined;
|
|
10
110
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
11
111
|
/**
|
|
@@ -32,6 +132,8 @@ declare const badgeVariants: (props?: ({
|
|
|
32
132
|
* </Badge>
|
|
33
133
|
*/
|
|
34
134
|
interface BadgeProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>, VariantProps<typeof badgeVariants> {
|
|
135
|
+
/** Semantic intent or category color. Use `"custom"` with `--badge-color` CSS variable. */
|
|
136
|
+
color?: BadgeColor;
|
|
35
137
|
asChild?: boolean;
|
|
36
138
|
startIcon?: React.ReactElement | null;
|
|
37
139
|
endIcon?: React.ReactElement | null;
|
|
@@ -40,11 +142,17 @@ interface BadgeProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>, V
|
|
|
40
142
|
selected?: boolean;
|
|
41
143
|
disabled?: boolean;
|
|
42
144
|
maxWidth?: number;
|
|
145
|
+
/**
|
|
146
|
+
* Truncate children with ellipsis when they overflow the badge width.
|
|
147
|
+
* Use with a fixed width (e.g. `className="w-20"`) or `maxWidth` for
|
|
148
|
+
* constrained pill badges. Always adds a title tooltip on the full text.
|
|
149
|
+
*/
|
|
150
|
+
truncate?: boolean;
|
|
43
151
|
circle?: boolean;
|
|
44
152
|
}
|
|
45
153
|
declare const BadgeCompound: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLElement>> & {
|
|
46
154
|
Indicator: typeof BadgeIndicator;
|
|
47
155
|
Group: typeof BadgeGroup;
|
|
48
156
|
};
|
|
49
|
-
export { BadgeCompound as Badge, badgeVariants, type BadgeProps };
|
|
157
|
+
export { BadgeCompound as Badge, badgeVariants, type BadgeProps, type BadgeColor };
|
|
50
158
|
//# sourceMappingURL=badge.d.ts.map
|
package/dist/ui/badge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/ui/badge.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/ui/badge.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAeJ,CAAA;AAEV,KAAK,UAAU,GAAG,MAAM,OAAO,QAAQ,GAAG,QAAQ,CAAA;AAclD,QAAA,MAAM,aAAa;;;8EAsBlB,CAAA;AA0BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,UAAU,UACR,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,EACtD,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,2FAA2F;IAC3F,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;IACnC,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAgMD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,QAAA,MAAM,aAAa;;;CAGjB,CAAA;AAEF,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,CAAA"}
|
package/dist/ui/banner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/ui/banner.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,cAAc;;8EAmBnB,CAAA;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,wCAAwC;IACxC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,iGAAiG;IACjG,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,QAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/ui/banner.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,cAAc;;8EAmBnB,CAAA;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,wCAAwC;IACxC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,iGAAiG;IACjG,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,QAAA,MAAM,MAAM,oFA2CX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
|
package/dist/ui/banner.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as e, jsxs as x } from "react/jsx-runtime";
|
|
3
|
-
import { IconInfoCircle as
|
|
3
|
+
import { IconInfoCircle as o, IconAlertCircle as h, IconAlertTriangle as v, IconCircleCheck as w, IconX as I } from "@tabler/icons-react";
|
|
4
4
|
import * as r from "react";
|
|
5
5
|
import { a as N } from "../_chunks/vendor-utils.js";
|
|
6
6
|
import { cn as C } from "./lib/utils.js";
|
|
@@ -22,14 +22,14 @@ const B = N(
|
|
|
22
22
|
defaultVariants: { color: "info" }
|
|
23
23
|
}
|
|
24
24
|
), V = {
|
|
25
|
-
info:
|
|
25
|
+
info: o,
|
|
26
26
|
success: w,
|
|
27
27
|
warning: v,
|
|
28
28
|
error: h,
|
|
29
|
-
neutral:
|
|
29
|
+
neutral: o
|
|
30
30
|
}, j = r.forwardRef(
|
|
31
|
-
({ className: a, color: s = "info", action: c, actions:
|
|
32
|
-
const
|
|
31
|
+
({ className: a, color: s = "info", action: c, actions: l, onDismiss: n, children: d, ...m }, f) => {
|
|
32
|
+
const t = l ?? c, u = V[s ?? "info"], [b, p] = r.useState(!0), g = r.useCallback(() => {
|
|
33
33
|
p(!1);
|
|
34
34
|
}, []);
|
|
35
35
|
return /* @__PURE__ */ e(A, { onExitComplete: n, children: b && /* @__PURE__ */ x(
|
|
@@ -44,8 +44,8 @@ const B = N(
|
|
|
44
44
|
...k(m),
|
|
45
45
|
children: [
|
|
46
46
|
/* @__PURE__ */ e(i, { icon: u, size: "md", className: "shrink-0" }),
|
|
47
|
-
/* @__PURE__ */ e("div", { className: "min-w-0 flex-1", children:
|
|
48
|
-
|
|
47
|
+
/* @__PURE__ */ e("div", { className: "min-w-0 flex-1", children: d }),
|
|
48
|
+
t && /* @__PURE__ */ e("div", { className: "flex shrink-0 items-center gap-ds-02 [&_button]:transition-colors [&_button]:duration-moderate-01 [&_button]:ease-productive-standard [&_button:hover]:bg-current/10", children: t }),
|
|
49
49
|
n && /* @__PURE__ */ e(
|
|
50
50
|
"button",
|
|
51
51
|
{
|
|
@@ -53,6 +53,7 @@ const B = N(
|
|
|
53
53
|
onClick: g,
|
|
54
54
|
className: "shrink-0 min-h-ds-xs min-w-ds-xs flex items-center justify-center rounded-ds-sm transition-colors duration-moderate-01 ease-productive-standard hover:bg-current/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9",
|
|
55
55
|
"aria-label": "Dismiss",
|
|
56
|
+
title: "Dismiss",
|
|
56
57
|
children: /* @__PURE__ */ e(i, { icon: I, size: "sm" })
|
|
57
58
|
}
|
|
58
59
|
)
|
package/dist/ui/button.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { VariantProps } from 'class-variance-authority';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
export declare const buttonVariants: (props?: ({
|
|
5
|
-
variant?: "link" | "outline" | "
|
|
6
|
-
color?: "
|
|
5
|
+
variant?: "link" | "outline" | "solid" | "soft" | "ghost" | null | undefined;
|
|
6
|
+
color?: "accent" | "success" | "error" | "warning" | "neutral" | null | undefined;
|
|
7
7
|
weight?: "normal" | "semibold" | null | undefined;
|
|
8
8
|
size?: "xs" | "sm" | "md" | "lg" | "icon" | "compact-xs" | "compact-sm" | "compact-md" | "icon-xs" | "icon-sm" | "icon-md" | "icon-lg" | null | undefined;
|
|
9
9
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
package/dist/ui/button.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAW9B,eAAO,MAAM,cAAc;;;;;
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAW9B,eAAO,MAAM,cAAc;;;;;8EAiF1B,CAAA;AAoDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAClE,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAC1B,sEAAsE;IACtE,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;IACrC,qEAAqE;IACrE,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;IACnC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yFAAyF;IACzF,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC5C,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE,oFAAoF;IACpF,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IAEvD,2EAA2E;IAC3E,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IAExE,+FAA+F;IAC/F,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,QAAA,MAAM,MAAM,uFAkRX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
package/dist/ui/button.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as e, jsxs as j, Fragment as ue } from "react/jsx-runtime";
|
|
3
3
|
import { a as ge } from "../_chunks/vendor-utils.js";
|
|
4
|
-
import { IconCheck as
|
|
5
|
-
import { S as
|
|
4
|
+
import { IconCheck as fe, IconX as ve } from "@tabler/icons-react";
|
|
5
|
+
import { S as pe, i as be } from "../_chunks/primitives.js";
|
|
6
6
|
import * as t from "react";
|
|
7
|
-
import { useButtonGroup as
|
|
7
|
+
import { useButtonGroup as he } from "./button-group.js";
|
|
8
8
|
import { Icon as xe } from "./icon.js";
|
|
9
9
|
import { IconProvider as we } from "./icon-context.js";
|
|
10
10
|
import { motionProps as Ne } from "./lib/motion.js";
|
|
@@ -21,19 +21,14 @@ const X = ge(
|
|
|
21
21
|
soft: "",
|
|
22
22
|
outline: "border",
|
|
23
23
|
ghost: "",
|
|
24
|
-
link: "underline-offset-4 hover:underline active:opacity-80"
|
|
25
|
-
// Deprecated aliases
|
|
26
|
-
default: "",
|
|
27
|
-
destructive: ""
|
|
24
|
+
link: "underline-offset-4 hover:underline active:opacity-80"
|
|
28
25
|
},
|
|
29
26
|
color: {
|
|
30
27
|
accent: "",
|
|
31
28
|
error: "",
|
|
32
29
|
success: "",
|
|
33
30
|
warning: "",
|
|
34
|
-
neutral: ""
|
|
35
|
-
// Deprecated alias
|
|
36
|
-
default: ""
|
|
31
|
+
neutral: ""
|
|
37
32
|
},
|
|
38
33
|
weight: {
|
|
39
34
|
semibold: "font-semibold",
|
|
@@ -85,22 +80,7 @@ const X = ge(
|
|
|
85
80
|
{ variant: "link", color: "error", className: "text-error-11" },
|
|
86
81
|
{ variant: "link", color: "success", className: "text-success-11" },
|
|
87
82
|
{ variant: "link", color: "warning", className: "text-warning-11" },
|
|
88
|
-
{ variant: "link", color: "neutral", className: "text-surface-fg-muted" }
|
|
89
|
-
// ============ DEPRECATED ALIASES ============
|
|
90
|
-
// "default" variant → solid
|
|
91
|
-
{ variant: "default", color: "accent", className: "bg-accent-9 text-accent-fg hover:bg-accent-10 shadow-raised hover:shadow-brand" },
|
|
92
|
-
{ variant: "default", color: "error", className: "bg-error-9 text-error-fg hover:bg-error-10 shadow-raised" },
|
|
93
|
-
{ variant: "default", color: "default", className: "bg-accent-9 text-accent-fg hover:bg-accent-10 shadow-raised hover:shadow-brand" },
|
|
94
|
-
// "destructive" → solid + error (ignores color prop)
|
|
95
|
-
{ variant: "destructive", color: "accent", className: "bg-error-9 text-error-fg hover:bg-error-10 shadow-raised" },
|
|
96
|
-
{ variant: "destructive", color: "error", className: "bg-error-9 text-error-fg hover:bg-error-10 shadow-raised" },
|
|
97
|
-
{ variant: "destructive", color: "default", className: "bg-error-9 text-error-fg hover:bg-error-10 shadow-raised" },
|
|
98
|
-
// "default" color alias → accent
|
|
99
|
-
{ variant: "solid", color: "default", className: "bg-accent-9 text-accent-fg hover:bg-accent-10 shadow-raised hover:shadow-brand" },
|
|
100
|
-
{ variant: "soft", color: "default", className: "bg-accent-3 text-accent-11 hover:bg-accent-4 active:bg-accent-5" },
|
|
101
|
-
{ variant: "outline", color: "default", className: "bg-transparent text-accent-11 border-accent-7 hover:bg-accent-3 active:bg-accent-4" },
|
|
102
|
-
{ variant: "ghost", color: "default", className: "bg-transparent text-surface-fg-muted hover:bg-surface-raised-hover hover:text-surface-fg active:bg-surface-raised-active" },
|
|
103
|
-
{ variant: "link", color: "default", className: "text-accent-11" }
|
|
83
|
+
{ variant: "link", color: "neutral", className: "text-surface-fg-muted" }
|
|
104
84
|
],
|
|
105
85
|
defaultVariants: {
|
|
106
86
|
variant: "solid",
|
|
@@ -165,54 +145,54 @@ const X = ge(
|
|
|
165
145
|
size: L,
|
|
166
146
|
asChild: Q = !1,
|
|
167
147
|
shape: Y,
|
|
168
|
-
startIcon:
|
|
169
|
-
endIcon:
|
|
148
|
+
startIcon: b,
|
|
149
|
+
endIcon: N,
|
|
170
150
|
loading: D = !1,
|
|
171
|
-
loadingPosition:
|
|
151
|
+
loadingPosition: y = "start",
|
|
172
152
|
fullWidth: l = !1,
|
|
173
153
|
disabled: I,
|
|
174
154
|
onClick: W,
|
|
175
|
-
onClickAsync:
|
|
155
|
+
onClickAsync: k,
|
|
176
156
|
asyncFeedbackDuration: ee = 1500,
|
|
177
157
|
processing: m,
|
|
178
|
-
processingColor:
|
|
179
|
-
processingDisabled:
|
|
158
|
+
processingColor: se,
|
|
159
|
+
processingDisabled: S = !0,
|
|
180
160
|
children: O,
|
|
181
161
|
..._
|
|
182
162
|
}, u) => {
|
|
183
|
-
const g =
|
|
163
|
+
const g = he(), o = H ?? g.variant, R = J ?? g.color, F = K ?? g.weight ?? "semibold", h = Y ?? g.shape ?? "default", n = L ?? g.size ?? "md", V = ke(), P = t.useRef(null), G = t.useRef(null), z = t.useRef(void 0);
|
|
184
164
|
t.useEffect(() => {
|
|
185
|
-
const
|
|
186
|
-
if (!(!
|
|
165
|
+
const s = G.current, w = P.current;
|
|
166
|
+
if (!(!s || !w || l || V))
|
|
187
167
|
return z.current = requestAnimationFrame(() => {
|
|
188
|
-
|
|
189
|
-
const q =
|
|
190
|
-
q > 0 && (
|
|
168
|
+
w.style.width = "auto";
|
|
169
|
+
const q = s.offsetWidth;
|
|
170
|
+
q > 0 && (w.getBoundingClientRect(), w.style.width = `${q}px`);
|
|
191
171
|
}), () => {
|
|
192
172
|
z.current && cancelAnimationFrame(z.current);
|
|
193
173
|
};
|
|
194
174
|
});
|
|
195
|
-
const [i,
|
|
175
|
+
const [i, x] = t.useState("idle"), M = t.useRef(void 0), f = t.useRef(!0);
|
|
196
176
|
t.useEffect(() => () => {
|
|
197
|
-
|
|
177
|
+
f.current = !1, clearTimeout(M.current);
|
|
198
178
|
}, []);
|
|
199
|
-
const
|
|
200
|
-
!
|
|
201
|
-
|
|
179
|
+
const re = (s) => {
|
|
180
|
+
!k || i !== "idle" || (x("loading"), k(s).then(() => {
|
|
181
|
+
f.current && x("success");
|
|
202
182
|
}).catch(() => {
|
|
203
|
-
|
|
183
|
+
f.current && x("error");
|
|
204
184
|
}).finally(() => {
|
|
205
|
-
|
|
206
|
-
|
|
185
|
+
f.current && (M.current = setTimeout(() => {
|
|
186
|
+
f.current && x("idle");
|
|
207
187
|
}, ee));
|
|
208
188
|
}));
|
|
209
|
-
}, C = !!
|
|
189
|
+
}, C = !!k, a = C ? i === "loading" : D, r = i === "success" || i === "error", U = r ? void 0 : m === !0 ? "working" : m === !1 || !m ? C && i === "loading" && !m ? "working" : void 0 : m, d = !!U, te = se ?? R ?? "accent";
|
|
210
190
|
if (Q) {
|
|
211
|
-
const
|
|
191
|
+
const s = {
|
|
212
192
|
className: c(
|
|
213
|
-
X({ variant: o, color:
|
|
214
|
-
|
|
215
|
-
|
|
193
|
+
X({ variant: o, color: R, weight: F, size: n }),
|
|
194
|
+
h === "pill" && "rounded-full",
|
|
195
|
+
h === "pill" && $[n],
|
|
216
196
|
l && "w-full",
|
|
217
197
|
B
|
|
218
198
|
),
|
|
@@ -221,51 +201,51 @@ const X = ge(
|
|
|
221
201
|
"aria-busy": a || void 0,
|
|
222
202
|
..._
|
|
223
203
|
};
|
|
224
|
-
return /* @__PURE__ */ e(
|
|
204
|
+
return /* @__PURE__ */ e(pe, { ...s, children: /* @__PURE__ */ e(be, { children: O }) });
|
|
225
205
|
}
|
|
226
|
-
const
|
|
227
|
-
oe.forEach((
|
|
228
|
-
t.isValidElement(
|
|
206
|
+
const v = Re[n] ?? { start: "", end: "" }, Z = o === "solid" || o === "soft" || o === "outline", ae = () => a && y === "start" ? /* @__PURE__ */ e("span", { className: c("inline-flex shrink-0 items-center justify-center", b && v.start), children: /* @__PURE__ */ e(T, { size: A[n], variant: "bare" }) }) : b ? /* @__PURE__ */ e("span", { className: c("inline-flex shrink-0 items-center justify-center pointer-events-none", v.start, Z && "opacity-90"), children: b }) : null, ne = () => a && y === "end" ? /* @__PURE__ */ e("span", { className: c("inline-flex shrink-0 items-center justify-center", N && v.end), children: /* @__PURE__ */ e(T, { size: A[n], variant: "bare" }) }) : N ? /* @__PURE__ */ e("span", { className: c("inline-flex shrink-0 items-center justify-center pointer-events-none", v.end, Z && "opacity-90"), children: N }) : null, oe = t.Children.toArray(O), E = [], p = [];
|
|
207
|
+
oe.forEach((s) => {
|
|
208
|
+
t.isValidElement(s) && s.type?.displayName === "DevalokGrain" ? E.push(s) : p.push(s);
|
|
229
209
|
});
|
|
230
|
-
const ce = () => a &&
|
|
231
|
-
/* @__PURE__ */ e("span", { className: "invisible", children:
|
|
210
|
+
const ce = () => a && y === "center" ? /* @__PURE__ */ j("span", { className: "relative inline-flex items-center justify-center", children: [
|
|
211
|
+
/* @__PURE__ */ e("span", { className: "invisible", children: p }),
|
|
232
212
|
/* @__PURE__ */ e("span", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ e(T, { size: A[n], variant: "bare" }) })
|
|
233
|
-
] }) : E.length > 0 ? /* @__PURE__ */ e("span", { children:
|
|
213
|
+
] }) : E.length > 0 ? /* @__PURE__ */ e("span", { children: p }) : /* @__PURE__ */ e(ue, { children: p }), ie = r ? i === "success" ? "bg-success-9 text-accent-fg border-transparent hover:bg-success-9" : "bg-error-9 text-accent-fg border-transparent hover:bg-error-9" : void 0, de = r ? /* @__PURE__ */ e("span", { className: c("inline-flex shrink-0 items-center justify-center pointer-events-none", b && v.start), children: /* @__PURE__ */ e(xe, { icon: i === "success" ? fe : ve, animate: "draw" }) }) : null, le = ze[n] ?? "md", me = /* @__PURE__ */ j(
|
|
234
214
|
Se.button,
|
|
235
215
|
{
|
|
236
216
|
...Ne(_),
|
|
237
217
|
className: c(
|
|
238
218
|
X({
|
|
239
219
|
// When processing (and not showing async feedback), force soft variant so ants pop
|
|
240
|
-
variant: d && !
|
|
241
|
-
color:
|
|
220
|
+
variant: d && !r && o !== "ghost" && o !== "outline" && o !== "link" ? "soft" : o,
|
|
221
|
+
color: R,
|
|
242
222
|
weight: F,
|
|
243
223
|
size: n
|
|
244
224
|
}),
|
|
245
|
-
|
|
246
|
-
|
|
225
|
+
h === "pill" && "rounded-full",
|
|
226
|
+
h === "pill" && $[n],
|
|
247
227
|
l && "w-full",
|
|
248
228
|
// Asymmetric timing: hover-out is slow+relaxed, hover-in is fast+snappy (applied via hover: override)
|
|
249
|
-
!a && !
|
|
250
|
-
!a && !
|
|
251
|
-
!a && !
|
|
229
|
+
!a && !r && "transition-[color,background-color,border-color,box-shadow,transform,filter] duration-moderate-01 ease-productive-exit",
|
|
230
|
+
!a && !r && "hover:duration-fast-02 hover:ease-productive-entrance",
|
|
231
|
+
!a && !r && "active:scale-[0.95] active:brightness-[0.92] active:saturate-[1.1] active:duration-[0ms]",
|
|
252
232
|
ie,
|
|
253
|
-
|
|
254
|
-
d &&
|
|
233
|
+
r && "transition-colors duration-moderate-01 ease-productive-standard",
|
|
234
|
+
d && S && "pointer-events-none cursor-default",
|
|
255
235
|
B
|
|
256
236
|
),
|
|
257
|
-
ref: (
|
|
258
|
-
G.current =
|
|
237
|
+
ref: (s) => {
|
|
238
|
+
G.current = s, typeof u == "function" ? u(s) : u && (u.current = s);
|
|
259
239
|
},
|
|
260
240
|
disabled: I || a && !d,
|
|
261
241
|
"aria-busy": a || d || void 0,
|
|
262
|
-
"aria-disabled": d &&
|
|
263
|
-
onClick: C ?
|
|
242
|
+
"aria-disabled": d && S || void 0,
|
|
243
|
+
onClick: C ? re : d && S ? void 0 : W,
|
|
264
244
|
children: [
|
|
265
245
|
E,
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
246
|
+
r ? de : ae(),
|
|
247
|
+
r ? p : ce(),
|
|
248
|
+
r ? null : ne()
|
|
269
249
|
]
|
|
270
250
|
}
|
|
271
251
|
);
|