@zvk/ui 0.1.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/LICENSE.md +26 -0
- package/README.md +31 -0
- package/dist/components/accordion/accordion.d.ts +43 -0
- package/dist/components/accordion/accordion.js +207 -0
- package/dist/components/accordion/index.d.ts +2 -0
- package/dist/components/accordion/index.js +2 -0
- package/dist/components/alert/alert.d.ts +24 -0
- package/dist/components/alert/alert.js +17 -0
- package/dist/components/alert/index.d.ts +2 -0
- package/dist/components/alert/index.js +1 -0
- package/dist/components/alert-dialog/alert-dialog.d.ts +46 -0
- package/dist/components/alert-dialog/alert-dialog.js +112 -0
- package/dist/components/alert-dialog/index.d.ts +2 -0
- package/dist/components/alert-dialog/index.js +2 -0
- package/dist/components/avatar/avatar.d.ts +14 -0
- package/dist/components/avatar/avatar.js +22 -0
- package/dist/components/avatar/index.d.ts +2 -0
- package/dist/components/avatar/index.js +2 -0
- package/dist/components/badge/badge.d.ts +11 -0
- package/dist/components/badge/badge.js +6 -0
- package/dist/components/badge/index.d.ts +2 -0
- package/dist/components/badge/index.js +1 -0
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +24 -0
- package/dist/components/breadcrumbs/breadcrumbs.js +18 -0
- package/dist/components/breadcrumbs/index.d.ts +2 -0
- package/dist/components/breadcrumbs/index.js +1 -0
- package/dist/components/button/button.d.ts +13 -0
- package/dist/components/button/button.js +8 -0
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/index.js +1 -0
- package/dist/components/card/card.d.ts +31 -0
- package/dist/components/card/card.js +28 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/card/index.js +1 -0
- package/dist/components/checkbox/checkbox.d.ts +11 -0
- package/dist/components/checkbox/checkbox.js +30 -0
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/checkbox/index.js +2 -0
- package/dist/components/code-block/code-block.d.ts +10 -0
- package/dist/components/code-block/code-block.js +16 -0
- package/dist/components/code-block/index.d.ts +2 -0
- package/dist/components/code-block/index.js +1 -0
- package/dist/components/collapsible/collapsible.d.ts +23 -0
- package/dist/components/collapsible/collapsible.js +52 -0
- package/dist/components/collapsible/index.d.ts +2 -0
- package/dist/components/collapsible/index.js +2 -0
- package/dist/components/combobox/combobox.d.ts +20 -0
- package/dist/components/combobox/combobox.js +121 -0
- package/dist/components/combobox/index.d.ts +2 -0
- package/dist/components/combobox/index.js +2 -0
- package/dist/components/command/command-dialog.d.ts +2 -0
- package/dist/components/command/command-dialog.js +1 -0
- package/dist/components/command/command-filter.d.ts +7 -0
- package/dist/components/command/command-filter.js +14 -0
- package/dist/components/command/command.d.ts +55 -0
- package/dist/components/command/command.js +200 -0
- package/dist/components/command/index.d.ts +2 -0
- package/dist/components/command/index.js +2 -0
- package/dist/components/context-menu/context-menu.d.ts +34 -0
- package/dist/components/context-menu/context-menu.js +154 -0
- package/dist/components/context-menu/index.d.ts +2 -0
- package/dist/components/context-menu/index.js +2 -0
- package/dist/components/conversation/conversation.d.ts +60 -0
- package/dist/components/conversation/conversation.js +49 -0
- package/dist/components/conversation/index.d.ts +2 -0
- package/dist/components/conversation/index.js +1 -0
- package/dist/components/copy-button/copy-button.d.ts +23 -0
- package/dist/components/copy-button/copy-button.js +50 -0
- package/dist/components/copy-button/index.d.ts +2 -0
- package/dist/components/copy-button/index.js +2 -0
- package/dist/components/dialog/dialog.d.ts +62 -0
- package/dist/components/dialog/dialog.js +141 -0
- package/dist/components/dialog/index.d.ts +2 -0
- package/dist/components/dialog/index.js +2 -0
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +43 -0
- package/dist/components/dropdown-menu/dropdown-menu.js +286 -0
- package/dist/components/dropdown-menu/index.d.ts +2 -0
- package/dist/components/dropdown-menu/index.js +2 -0
- package/dist/components/empty-state/empty-state.d.ts +13 -0
- package/dist/components/empty-state/empty-state.js +34 -0
- package/dist/components/empty-state/index.d.ts +2 -0
- package/dist/components/empty-state/index.js +1 -0
- package/dist/components/error-boundary/error-boundary.d.ts +29 -0
- package/dist/components/error-boundary/error-boundary.js +43 -0
- package/dist/components/error-boundary/index.d.ts +2 -0
- package/dist/components/error-boundary/index.js +2 -0
- package/dist/components/field/field.d.ts +23 -0
- package/dist/components/field/field.js +20 -0
- package/dist/components/field/index.d.ts +2 -0
- package/dist/components/field/index.js +1 -0
- package/dist/components/file-upload-input/file-upload-input.d.ts +13 -0
- package/dist/components/file-upload-input/file-upload-input.js +41 -0
- package/dist/components/file-upload-input/index.d.ts +2 -0
- package/dist/components/file-upload-input/index.js +2 -0
- package/dist/components/form/form.d.ts +30 -0
- package/dist/components/form/form.js +88 -0
- package/dist/components/form/index.d.ts +2 -0
- package/dist/components/form/index.js +2 -0
- package/dist/components/icon-button/icon-button.d.ts +10 -0
- package/dist/components/icon-button/icon-button.js +8 -0
- package/dist/components/icon-button/index.d.ts +2 -0
- package/dist/components/icon-button/index.js +1 -0
- package/dist/components/index.d.ts +102 -0
- package/dist/components/index.js +51 -0
- package/dist/components/input/index.d.ts +2 -0
- package/dist/components/input/index.js +1 -0
- package/dist/components/input/input.d.ts +11 -0
- package/dist/components/input/input.js +27 -0
- package/dist/components/label/index.d.ts +2 -0
- package/dist/components/label/index.js +1 -0
- package/dist/components/label/label.d.ts +9 -0
- package/dist/components/label/label.js +6 -0
- package/dist/components/menubar/index.d.ts +2 -0
- package/dist/components/menubar/index.js +2 -0
- package/dist/components/menubar/menubar.d.ts +39 -0
- package/dist/components/menubar/menubar.js +214 -0
- package/dist/components/pagination/index.d.ts +2 -0
- package/dist/components/pagination/index.js +1 -0
- package/dist/components/pagination/pagination.d.ts +21 -0
- package/dist/components/pagination/pagination.js +92 -0
- package/dist/components/popover/index.d.ts +2 -0
- package/dist/components/popover/index.js +2 -0
- package/dist/components/popover/popover.d.ts +28 -0
- package/dist/components/popover/popover.js +164 -0
- package/dist/components/progress/index.d.ts +2 -0
- package/dist/components/progress/index.js +1 -0
- package/dist/components/progress/progress.d.ts +24 -0
- package/dist/components/progress/progress.js +29 -0
- package/dist/components/radio-group/index.d.ts +2 -0
- package/dist/components/radio-group/index.js +2 -0
- package/dist/components/radio-group/radio-group.d.ts +42 -0
- package/dist/components/radio-group/radio-group.js +69 -0
- package/dist/components/responsive-container/index.d.ts +2 -0
- package/dist/components/responsive-container/index.js +1 -0
- package/dist/components/responsive-container/responsive-container.d.ts +10 -0
- package/dist/components/responsive-container/responsive-container.js +6 -0
- package/dist/components/scroll-area/index.d.ts +2 -0
- package/dist/components/scroll-area/index.js +2 -0
- package/dist/components/scroll-area/scroll-area.d.ts +21 -0
- package/dist/components/scroll-area/scroll-area.js +23 -0
- package/dist/components/sectioned-sidebar-nav/index.d.ts +2 -0
- package/dist/components/sectioned-sidebar-nav/index.js +1 -0
- package/dist/components/sectioned-sidebar-nav/sectioned-sidebar-nav.d.ts +39 -0
- package/dist/components/sectioned-sidebar-nav/sectioned-sidebar-nav.js +37 -0
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/index.js +2 -0
- package/dist/components/select/select.d.ts +46 -0
- package/dist/components/select/select.js +239 -0
- package/dist/components/separator/index.d.ts +2 -0
- package/dist/components/separator/index.js +1 -0
- package/dist/components/separator/separator.d.ts +8 -0
- package/dist/components/separator/separator.js +6 -0
- package/dist/components/sheet/index.d.ts +2 -0
- package/dist/components/sheet/index.js +2 -0
- package/dist/components/sheet/sheet.d.ts +49 -0
- package/dist/components/sheet/sheet.js +116 -0
- package/dist/components/sidebar-shell/index.d.ts +2 -0
- package/dist/components/sidebar-shell/index.js +1 -0
- package/dist/components/sidebar-shell/sidebar-shell.d.ts +35 -0
- package/dist/components/sidebar-shell/sidebar-shell.js +28 -0
- package/dist/components/skeleton/index.d.ts +2 -0
- package/dist/components/skeleton/index.js +1 -0
- package/dist/components/skeleton/skeleton.d.ts +10 -0
- package/dist/components/skeleton/skeleton.js +16 -0
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/index.js +2 -0
- package/dist/components/slider/slider.d.ts +12 -0
- package/dist/components/slider/slider.js +30 -0
- package/dist/components/spinner/index.d.ts +2 -0
- package/dist/components/spinner/index.js +1 -0
- package/dist/components/spinner/spinner.d.ts +10 -0
- package/dist/components/spinner/spinner.js +7 -0
- package/dist/components/stat/index.d.ts +2 -0
- package/dist/components/stat/index.js +1 -0
- package/dist/components/stat/stat.d.ts +13 -0
- package/dist/components/stat/stat.js +8 -0
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/index.js +2 -0
- package/dist/components/switch/switch.d.ts +11 -0
- package/dist/components/switch/switch.js +27 -0
- package/dist/components/table/index.d.ts +2 -0
- package/dist/components/table/index.js +1 -0
- package/dist/components/table/table.d.ts +45 -0
- package/dist/components/table/table.js +36 -0
- package/dist/components/tabs/index.d.ts +2 -0
- package/dist/components/tabs/index.js +2 -0
- package/dist/components/tabs/tabs.d.ts +34 -0
- package/dist/components/tabs/tabs.js +233 -0
- package/dist/components/tabs-with-sidebar/index.d.ts +2 -0
- package/dist/components/tabs-with-sidebar/index.js +2 -0
- package/dist/components/tabs-with-sidebar/tabs-with-sidebar.d.ts +21 -0
- package/dist/components/tabs-with-sidebar/tabs-with-sidebar.js +18 -0
- package/dist/components/textarea/index.d.ts +2 -0
- package/dist/components/textarea/index.js +2 -0
- package/dist/components/textarea/textarea.d.ts +11 -0
- package/dist/components/textarea/textarea.js +28 -0
- package/dist/components/toast/index.d.ts +2 -0
- package/dist/components/toast/index.js +1 -0
- package/dist/components/toast/toast.d.ts +33 -0
- package/dist/components/toast/toast.js +27 -0
- package/dist/components/toggle/index.d.ts +2 -0
- package/dist/components/toggle/index.js +2 -0
- package/dist/components/toggle/toggle.d.ts +12 -0
- package/dist/components/toggle/toggle.js +18 -0
- package/dist/components/toggle-group/index.d.ts +2 -0
- package/dist/components/toggle-group/index.js +2 -0
- package/dist/components/toggle-group/toggle-group.d.ts +28 -0
- package/dist/components/toggle-group/toggle-group.js +67 -0
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/index.js +2 -0
- package/dist/components/tooltip/tooltip.d.ts +10 -0
- package/dist/components/tooltip/tooltip.js +100 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/use-composed-refs.d.ts +3 -0
- package/dist/hooks/use-composed-refs.js +18 -0
- package/dist/hooks/use-controllable-state.d.ts +7 -0
- package/dist/hooks/use-controllable-state.js +30 -0
- package/dist/hooks/use-disclosure.d.ts +13 -0
- package/dist/hooks/use-disclosure.js +20 -0
- package/dist/hooks/use-event.d.ts +1 -0
- package/dist/hooks/use-event.js +11 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/internal/collection/collection.d.ts +18 -0
- package/dist/internal/collection/collection.js +54 -0
- package/dist/internal/collection/index.d.ts +2 -0
- package/dist/internal/collection/index.js +1 -0
- package/dist/internal/dismissable-layer/dismissable-layer.d.ts +13 -0
- package/dist/internal/dismissable-layer/dismissable-layer.js +73 -0
- package/dist/internal/dismissable-layer/index.d.ts +2 -0
- package/dist/internal/dismissable-layer/index.js +1 -0
- package/dist/internal/floating/auto-update.d.ts +9 -0
- package/dist/internal/floating/auto-update.js +48 -0
- package/dist/internal/floating/compute-position.d.ts +2 -0
- package/dist/internal/floating/compute-position.js +96 -0
- package/dist/internal/floating/detect-overflow.d.ts +13 -0
- package/dist/internal/floating/detect-overflow.js +13 -0
- package/dist/internal/floating/floating-types.d.ts +42 -0
- package/dist/internal/floating/floating-types.js +1 -0
- package/dist/internal/floating/index.d.ts +27 -0
- package/dist/internal/floating/index.js +5 -0
- package/dist/internal/floating/middleware.d.ts +11 -0
- package/dist/internal/floating/middleware.js +42 -0
- package/dist/internal/floating/use-floating-position.d.ts +2 -0
- package/dist/internal/floating/use-floating-position.js +113 -0
- package/dist/internal/focus/focus-scope.d.ts +10 -0
- package/dist/internal/focus/focus-scope.js +68 -0
- package/dist/internal/focus/focus-utils.d.ts +9 -0
- package/dist/internal/focus/focus-utils.js +94 -0
- package/dist/internal/focus/index.d.ts +3 -0
- package/dist/internal/focus/index.js +2 -0
- package/dist/internal/overlay-stack/index.d.ts +1 -0
- package/dist/internal/overlay-stack/index.js +1 -0
- package/dist/internal/overlay-stack/overlay-stack.d.ts +12 -0
- package/dist/internal/overlay-stack/overlay-stack.js +41 -0
- package/dist/internal/portal/index.d.ts +2 -0
- package/dist/internal/portal/index.js +1 -0
- package/dist/internal/portal/portal.d.ts +7 -0
- package/dist/internal/portal/portal.js +19 -0
- package/dist/internal/scroll-lock/index.d.ts +1 -0
- package/dist/internal/scroll-lock/index.js +1 -0
- package/dist/internal/scroll-lock/scroll-lock.d.ts +4 -0
- package/dist/internal/scroll-lock/scroll-lock.js +69 -0
- package/dist/styles.css +3852 -0
- package/dist/tokens/index.d.ts +2 -0
- package/dist/tokens/index.js +1 -0
- package/dist/tokens/token-types.d.ts +23 -0
- package/dist/tokens/token-types.js +1 -0
- package/dist/tokens/tokens.d.ts +139 -0
- package/dist/tokens/tokens.js +139 -0
- package/dist/utils/cn.d.ts +2 -0
- package/dist/utils/cn.js +3 -0
- package/dist/utils/compose-event-handlers.d.ts +6 -0
- package/dist/utils/compose-event-handlers.js +8 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +2 -0
- package/package.json +282 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { LIANO_DARK_TOKENS, LIANO_DENSITY_TOKENS, LIANO_LIGHT_TOKENS, LIANO_TOKENS } from "./tokens.js";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type LianoThemeMode = "light" | "dark";
|
|
2
|
+
export type LianoDensity = "default" | "compact" | "comfortable";
|
|
3
|
+
export interface LianoPrimitiveTokens {
|
|
4
|
+
color: Record<string, string>;
|
|
5
|
+
space: Record<string, string>;
|
|
6
|
+
radius: Record<string, string>;
|
|
7
|
+
typography: Record<string, string>;
|
|
8
|
+
shadow: Record<string, string>;
|
|
9
|
+
motion: Record<string, string>;
|
|
10
|
+
zIndex: Record<string, number>;
|
|
11
|
+
}
|
|
12
|
+
export interface LianoSemanticTokens {
|
|
13
|
+
color: Record<string, string>;
|
|
14
|
+
component: Record<string, string>;
|
|
15
|
+
}
|
|
16
|
+
export interface LianoDensityTokens {
|
|
17
|
+
controlHeightSm: string;
|
|
18
|
+
controlHeightMd: string;
|
|
19
|
+
controlHeightLg: string;
|
|
20
|
+
controlPaddingX: string;
|
|
21
|
+
controlGap: string;
|
|
22
|
+
fieldGap: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
export declare const LIANO_TOKENS: {
|
|
2
|
+
readonly color: {
|
|
3
|
+
readonly white: "#ffffff";
|
|
4
|
+
readonly black: "#0b0d12";
|
|
5
|
+
readonly slate50: "#f8fafc";
|
|
6
|
+
readonly slate100: "#f1f5f9";
|
|
7
|
+
readonly slate200: "#e2e8f0";
|
|
8
|
+
readonly slate300: "#cbd5e1";
|
|
9
|
+
readonly slate500: "#64748b";
|
|
10
|
+
readonly slate700: "#334155";
|
|
11
|
+
readonly slate900: "#0f172a";
|
|
12
|
+
readonly blue600: "#2563eb";
|
|
13
|
+
readonly blue700: "#1d4ed8";
|
|
14
|
+
readonly teal600: "#0d9488";
|
|
15
|
+
readonly amber500: "#f59e0b";
|
|
16
|
+
readonly red600: "#dc2626";
|
|
17
|
+
readonly cyan600: "#0891b2";
|
|
18
|
+
};
|
|
19
|
+
readonly space: {
|
|
20
|
+
readonly 0: "0";
|
|
21
|
+
readonly 1: "0.25rem";
|
|
22
|
+
readonly 2: "0.5rem";
|
|
23
|
+
readonly 3: "0.75rem";
|
|
24
|
+
readonly 4: "1rem";
|
|
25
|
+
readonly 5: "1.25rem";
|
|
26
|
+
readonly 6: "1.5rem";
|
|
27
|
+
readonly 8: "2rem";
|
|
28
|
+
readonly 10: "2.5rem";
|
|
29
|
+
};
|
|
30
|
+
readonly radius: {
|
|
31
|
+
readonly xs: "0.25rem";
|
|
32
|
+
readonly sm: "0.375rem";
|
|
33
|
+
readonly md: "0.5rem";
|
|
34
|
+
readonly lg: "0.75rem";
|
|
35
|
+
readonly full: "999px";
|
|
36
|
+
};
|
|
37
|
+
readonly typography: {
|
|
38
|
+
readonly fontFamilySans: "\"Aptos\", \"SF Pro Text\", \"Segoe UI Variable\", ui-sans-serif, system-ui, sans-serif";
|
|
39
|
+
readonly fontFamilyMono: "\"SF Mono\", \"Cascadia Code\", ui-monospace, monospace";
|
|
40
|
+
readonly fontSizeXs: "0.75rem";
|
|
41
|
+
readonly fontSizeSm: "0.875rem";
|
|
42
|
+
readonly fontSizeMd: "0.9375rem";
|
|
43
|
+
readonly fontSizeLg: "1rem";
|
|
44
|
+
readonly lineHeightTight: "1.2";
|
|
45
|
+
readonly lineHeightNormal: "1.5";
|
|
46
|
+
};
|
|
47
|
+
readonly shadow: {
|
|
48
|
+
readonly xs: "0 1px 1px rgb(15 23 42 / 0.06)";
|
|
49
|
+
readonly sm: "0 1px 2px rgb(15 23 42 / 0.08), 0 8px 24px rgb(15 23 42 / 0.04)";
|
|
50
|
+
readonly md: "0 12px 32px rgb(15 23 42 / 0.10)";
|
|
51
|
+
};
|
|
52
|
+
readonly motion: {
|
|
53
|
+
readonly durationFast: "120ms";
|
|
54
|
+
readonly durationNormal: "180ms";
|
|
55
|
+
readonly easeStandard: "cubic-bezier(0.2, 0, 0, 1)";
|
|
56
|
+
};
|
|
57
|
+
readonly zIndex: {
|
|
58
|
+
readonly base: 0;
|
|
59
|
+
readonly overlay: 40;
|
|
60
|
+
readonly modal: 50;
|
|
61
|
+
readonly toast: 60;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export declare const LIANO_LIGHT_TOKENS: {
|
|
65
|
+
readonly color: {
|
|
66
|
+
readonly background: "#ffffff";
|
|
67
|
+
readonly foreground: "#111827";
|
|
68
|
+
readonly muted: "#f8fafc";
|
|
69
|
+
readonly mutedForeground: "#64748b";
|
|
70
|
+
readonly surface: "#ffffff";
|
|
71
|
+
readonly surfaceRaised: "#ffffff";
|
|
72
|
+
readonly border: "#d9e0ea";
|
|
73
|
+
readonly borderStrong: "#b8c4d4";
|
|
74
|
+
readonly ring: "#2563eb";
|
|
75
|
+
readonly primary: "#1d4ed8";
|
|
76
|
+
readonly primaryForeground: "#ffffff";
|
|
77
|
+
readonly success: "#0f8a6a";
|
|
78
|
+
readonly warning: "#b86f00";
|
|
79
|
+
readonly destructive: "#c62828";
|
|
80
|
+
readonly info: "#087ea4";
|
|
81
|
+
};
|
|
82
|
+
readonly component: {
|
|
83
|
+
readonly controlBackground: "#ffffff";
|
|
84
|
+
readonly controlHover: "#f8fafc";
|
|
85
|
+
readonly controlActive: "#eef4ff";
|
|
86
|
+
readonly overlay: "rgb(255 255 255 / 0.96)";
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
export declare const LIANO_DARK_TOKENS: {
|
|
90
|
+
readonly color: {
|
|
91
|
+
readonly background: "#0d1117";
|
|
92
|
+
readonly foreground: "#f4f7fb";
|
|
93
|
+
readonly muted: "#151b23";
|
|
94
|
+
readonly mutedForeground: "#9aa8ba";
|
|
95
|
+
readonly surface: "#111821";
|
|
96
|
+
readonly surfaceRaised: "#151e2a";
|
|
97
|
+
readonly border: "#293445";
|
|
98
|
+
readonly borderStrong: "#3b4a5f";
|
|
99
|
+
readonly ring: "#69a3ff";
|
|
100
|
+
readonly primary: "#6ea2ff";
|
|
101
|
+
readonly primaryForeground: "#07101f";
|
|
102
|
+
readonly success: "#3dd6aa";
|
|
103
|
+
readonly warning: "#f5bd4f";
|
|
104
|
+
readonly destructive: "#ff6b6b";
|
|
105
|
+
readonly info: "#58d5f7";
|
|
106
|
+
};
|
|
107
|
+
readonly component: {
|
|
108
|
+
readonly controlBackground: "#111821";
|
|
109
|
+
readonly controlHover: "#172233";
|
|
110
|
+
readonly controlActive: "#1b2f50";
|
|
111
|
+
readonly overlay: "rgb(17 24 33 / 0.96)";
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
export declare const LIANO_DENSITY_TOKENS: {
|
|
115
|
+
readonly default: {
|
|
116
|
+
readonly controlHeightSm: "2rem";
|
|
117
|
+
readonly controlHeightMd: "2.5rem";
|
|
118
|
+
readonly controlHeightLg: "3rem";
|
|
119
|
+
readonly controlPaddingX: "0.875rem";
|
|
120
|
+
readonly controlGap: "0.5rem";
|
|
121
|
+
readonly fieldGap: "0.375rem";
|
|
122
|
+
};
|
|
123
|
+
readonly compact: {
|
|
124
|
+
readonly controlHeightSm: "1.75rem";
|
|
125
|
+
readonly controlHeightMd: "2.25rem";
|
|
126
|
+
readonly controlHeightLg: "2.625rem";
|
|
127
|
+
readonly controlPaddingX: "0.75rem";
|
|
128
|
+
readonly controlGap: "0.375rem";
|
|
129
|
+
readonly fieldGap: "0.25rem";
|
|
130
|
+
};
|
|
131
|
+
readonly comfortable: {
|
|
132
|
+
readonly controlHeightSm: "2.25rem";
|
|
133
|
+
readonly controlHeightMd: "2.75rem";
|
|
134
|
+
readonly controlHeightLg: "3.25rem";
|
|
135
|
+
readonly controlPaddingX: "1rem";
|
|
136
|
+
readonly controlGap: "0.625rem";
|
|
137
|
+
readonly fieldGap: "0.5rem";
|
|
138
|
+
};
|
|
139
|
+
};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
export const LIANO_TOKENS = {
|
|
2
|
+
color: {
|
|
3
|
+
white: "#ffffff",
|
|
4
|
+
black: "#0b0d12",
|
|
5
|
+
slate50: "#f8fafc",
|
|
6
|
+
slate100: "#f1f5f9",
|
|
7
|
+
slate200: "#e2e8f0",
|
|
8
|
+
slate300: "#cbd5e1",
|
|
9
|
+
slate500: "#64748b",
|
|
10
|
+
slate700: "#334155",
|
|
11
|
+
slate900: "#0f172a",
|
|
12
|
+
blue600: "#2563eb",
|
|
13
|
+
blue700: "#1d4ed8",
|
|
14
|
+
teal600: "#0d9488",
|
|
15
|
+
amber500: "#f59e0b",
|
|
16
|
+
red600: "#dc2626",
|
|
17
|
+
cyan600: "#0891b2"
|
|
18
|
+
},
|
|
19
|
+
space: {
|
|
20
|
+
0: "0",
|
|
21
|
+
1: "0.25rem",
|
|
22
|
+
2: "0.5rem",
|
|
23
|
+
3: "0.75rem",
|
|
24
|
+
4: "1rem",
|
|
25
|
+
5: "1.25rem",
|
|
26
|
+
6: "1.5rem",
|
|
27
|
+
8: "2rem",
|
|
28
|
+
10: "2.5rem"
|
|
29
|
+
},
|
|
30
|
+
radius: {
|
|
31
|
+
xs: "0.25rem",
|
|
32
|
+
sm: "0.375rem",
|
|
33
|
+
md: "0.5rem",
|
|
34
|
+
lg: "0.75rem",
|
|
35
|
+
full: "999px"
|
|
36
|
+
},
|
|
37
|
+
typography: {
|
|
38
|
+
fontFamilySans: "\"Aptos\", \"SF Pro Text\", \"Segoe UI Variable\", ui-sans-serif, system-ui, sans-serif",
|
|
39
|
+
fontFamilyMono: "\"SF Mono\", \"Cascadia Code\", ui-monospace, monospace",
|
|
40
|
+
fontSizeXs: "0.75rem",
|
|
41
|
+
fontSizeSm: "0.875rem",
|
|
42
|
+
fontSizeMd: "0.9375rem",
|
|
43
|
+
fontSizeLg: "1rem",
|
|
44
|
+
lineHeightTight: "1.2",
|
|
45
|
+
lineHeightNormal: "1.5"
|
|
46
|
+
},
|
|
47
|
+
shadow: {
|
|
48
|
+
xs: "0 1px 1px rgb(15 23 42 / 0.06)",
|
|
49
|
+
sm: "0 1px 2px rgb(15 23 42 / 0.08), 0 8px 24px rgb(15 23 42 / 0.04)",
|
|
50
|
+
md: "0 12px 32px rgb(15 23 42 / 0.10)"
|
|
51
|
+
},
|
|
52
|
+
motion: {
|
|
53
|
+
durationFast: "120ms",
|
|
54
|
+
durationNormal: "180ms",
|
|
55
|
+
easeStandard: "cubic-bezier(0.2, 0, 0, 1)"
|
|
56
|
+
},
|
|
57
|
+
zIndex: {
|
|
58
|
+
base: 0,
|
|
59
|
+
overlay: 40,
|
|
60
|
+
modal: 50,
|
|
61
|
+
toast: 60
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
export const LIANO_LIGHT_TOKENS = {
|
|
65
|
+
color: {
|
|
66
|
+
background: "#ffffff",
|
|
67
|
+
foreground: "#111827",
|
|
68
|
+
muted: "#f8fafc",
|
|
69
|
+
mutedForeground: "#64748b",
|
|
70
|
+
surface: "#ffffff",
|
|
71
|
+
surfaceRaised: "#ffffff",
|
|
72
|
+
border: "#d9e0ea",
|
|
73
|
+
borderStrong: "#b8c4d4",
|
|
74
|
+
ring: "#2563eb",
|
|
75
|
+
primary: "#1d4ed8",
|
|
76
|
+
primaryForeground: "#ffffff",
|
|
77
|
+
success: "#0f8a6a",
|
|
78
|
+
warning: "#b86f00",
|
|
79
|
+
destructive: "#c62828",
|
|
80
|
+
info: "#087ea4"
|
|
81
|
+
},
|
|
82
|
+
component: {
|
|
83
|
+
controlBackground: "#ffffff",
|
|
84
|
+
controlHover: "#f8fafc",
|
|
85
|
+
controlActive: "#eef4ff",
|
|
86
|
+
overlay: "rgb(255 255 255 / 0.96)"
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
export const LIANO_DARK_TOKENS = {
|
|
90
|
+
color: {
|
|
91
|
+
background: "#0d1117",
|
|
92
|
+
foreground: "#f4f7fb",
|
|
93
|
+
muted: "#151b23",
|
|
94
|
+
mutedForeground: "#9aa8ba",
|
|
95
|
+
surface: "#111821",
|
|
96
|
+
surfaceRaised: "#151e2a",
|
|
97
|
+
border: "#293445",
|
|
98
|
+
borderStrong: "#3b4a5f",
|
|
99
|
+
ring: "#69a3ff",
|
|
100
|
+
primary: "#6ea2ff",
|
|
101
|
+
primaryForeground: "#07101f",
|
|
102
|
+
success: "#3dd6aa",
|
|
103
|
+
warning: "#f5bd4f",
|
|
104
|
+
destructive: "#ff6b6b",
|
|
105
|
+
info: "#58d5f7"
|
|
106
|
+
},
|
|
107
|
+
component: {
|
|
108
|
+
controlBackground: "#111821",
|
|
109
|
+
controlHover: "#172233",
|
|
110
|
+
controlActive: "#1b2f50",
|
|
111
|
+
overlay: "rgb(17 24 33 / 0.96)"
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
export const LIANO_DENSITY_TOKENS = {
|
|
115
|
+
default: {
|
|
116
|
+
controlHeightSm: "2rem",
|
|
117
|
+
controlHeightMd: "2.5rem",
|
|
118
|
+
controlHeightLg: "3rem",
|
|
119
|
+
controlPaddingX: "0.875rem",
|
|
120
|
+
controlGap: "0.5rem",
|
|
121
|
+
fieldGap: "0.375rem"
|
|
122
|
+
},
|
|
123
|
+
compact: {
|
|
124
|
+
controlHeightSm: "1.75rem",
|
|
125
|
+
controlHeightMd: "2.25rem",
|
|
126
|
+
controlHeightLg: "2.625rem",
|
|
127
|
+
controlPaddingX: "0.75rem",
|
|
128
|
+
controlGap: "0.375rem",
|
|
129
|
+
fieldGap: "0.25rem"
|
|
130
|
+
},
|
|
131
|
+
comfortable: {
|
|
132
|
+
controlHeightSm: "2.25rem",
|
|
133
|
+
controlHeightMd: "2.75rem",
|
|
134
|
+
controlHeightLg: "3.25rem",
|
|
135
|
+
controlPaddingX: "1rem",
|
|
136
|
+
controlGap: "0.625rem",
|
|
137
|
+
fieldGap: "0.5rem"
|
|
138
|
+
}
|
|
139
|
+
};
|
package/dist/utils/cn.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface ComposeEventHandlersOptions {
|
|
2
|
+
checkDefaultPrevented?: boolean;
|
|
3
|
+
}
|
|
4
|
+
export declare function composeEventHandlers<EventType extends {
|
|
5
|
+
defaultPrevented: boolean;
|
|
6
|
+
}>(userHandler: ((event: EventType) => void) | undefined, internalHandler: ((event: EventType) => void) | undefined, options?: ComposeEventHandlersOptions): (event: EventType) => void;
|
package/package.json
ADDED
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zvk/ui",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "A polished, zero-runtime-dependency React component library for Liano applications.",
|
|
5
|
+
"private": false,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
8
|
+
"publishConfig": {
|
|
9
|
+
"access": "public"
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": [
|
|
12
|
+
"**/*.css"
|
|
13
|
+
],
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
21
|
+
"import": "./dist/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./styles.css": "./dist/styles.css",
|
|
24
|
+
"./tokens": {
|
|
25
|
+
"types": "./dist/tokens/index.d.ts",
|
|
26
|
+
"import": "./dist/tokens/index.js"
|
|
27
|
+
},
|
|
28
|
+
"./button": {
|
|
29
|
+
"types": "./dist/components/button/index.d.ts",
|
|
30
|
+
"import": "./dist/components/button/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./icon-button": {
|
|
33
|
+
"types": "./dist/components/icon-button/index.d.ts",
|
|
34
|
+
"import": "./dist/components/icon-button/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./badge": {
|
|
37
|
+
"types": "./dist/components/badge/index.d.ts",
|
|
38
|
+
"import": "./dist/components/badge/index.js"
|
|
39
|
+
},
|
|
40
|
+
"./card": {
|
|
41
|
+
"types": "./dist/components/card/index.d.ts",
|
|
42
|
+
"import": "./dist/components/card/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./separator": {
|
|
45
|
+
"types": "./dist/components/separator/index.d.ts",
|
|
46
|
+
"import": "./dist/components/separator/index.js"
|
|
47
|
+
},
|
|
48
|
+
"./spinner": {
|
|
49
|
+
"types": "./dist/components/spinner/index.d.ts",
|
|
50
|
+
"import": "./dist/components/spinner/index.js"
|
|
51
|
+
},
|
|
52
|
+
"./skeleton": {
|
|
53
|
+
"types": "./dist/components/skeleton/index.d.ts",
|
|
54
|
+
"import": "./dist/components/skeleton/index.js"
|
|
55
|
+
},
|
|
56
|
+
"./label": {
|
|
57
|
+
"types": "./dist/components/label/index.d.ts",
|
|
58
|
+
"import": "./dist/components/label/index.js"
|
|
59
|
+
},
|
|
60
|
+
"./progress": {
|
|
61
|
+
"types": "./dist/components/progress/index.d.ts",
|
|
62
|
+
"import": "./dist/components/progress/index.js"
|
|
63
|
+
},
|
|
64
|
+
"./alert": {
|
|
65
|
+
"types": "./dist/components/alert/index.d.ts",
|
|
66
|
+
"import": "./dist/components/alert/index.js"
|
|
67
|
+
},
|
|
68
|
+
"./avatar": {
|
|
69
|
+
"types": "./dist/components/avatar/index.d.ts",
|
|
70
|
+
"import": "./dist/components/avatar/index.js"
|
|
71
|
+
},
|
|
72
|
+
"./copy-button": {
|
|
73
|
+
"types": "./dist/components/copy-button/index.d.ts",
|
|
74
|
+
"import": "./dist/components/copy-button/index.js"
|
|
75
|
+
},
|
|
76
|
+
"./file-upload-input": {
|
|
77
|
+
"types": "./dist/components/file-upload-input/index.d.ts",
|
|
78
|
+
"import": "./dist/components/file-upload-input/index.js"
|
|
79
|
+
},
|
|
80
|
+
"./error-boundary": {
|
|
81
|
+
"types": "./dist/components/error-boundary/index.d.ts",
|
|
82
|
+
"import": "./dist/components/error-boundary/index.js"
|
|
83
|
+
},
|
|
84
|
+
"./field": {
|
|
85
|
+
"types": "./dist/components/field/index.d.ts",
|
|
86
|
+
"import": "./dist/components/field/index.js"
|
|
87
|
+
},
|
|
88
|
+
"./form": {
|
|
89
|
+
"types": "./dist/components/form/index.d.ts",
|
|
90
|
+
"import": "./dist/components/form/index.js"
|
|
91
|
+
},
|
|
92
|
+
"./input": {
|
|
93
|
+
"types": "./dist/components/input/index.d.ts",
|
|
94
|
+
"import": "./dist/components/input/index.js"
|
|
95
|
+
},
|
|
96
|
+
"./textarea": {
|
|
97
|
+
"types": "./dist/components/textarea/index.d.ts",
|
|
98
|
+
"import": "./dist/components/textarea/index.js"
|
|
99
|
+
},
|
|
100
|
+
"./checkbox": {
|
|
101
|
+
"types": "./dist/components/checkbox/index.d.ts",
|
|
102
|
+
"import": "./dist/components/checkbox/index.js"
|
|
103
|
+
},
|
|
104
|
+
"./switch": {
|
|
105
|
+
"types": "./dist/components/switch/index.d.ts",
|
|
106
|
+
"import": "./dist/components/switch/index.js"
|
|
107
|
+
},
|
|
108
|
+
"./radio-group": {
|
|
109
|
+
"types": "./dist/components/radio-group/index.d.ts",
|
|
110
|
+
"import": "./dist/components/radio-group/index.js"
|
|
111
|
+
},
|
|
112
|
+
"./slider": {
|
|
113
|
+
"types": "./dist/components/slider/index.d.ts",
|
|
114
|
+
"import": "./dist/components/slider/index.js"
|
|
115
|
+
},
|
|
116
|
+
"./toggle": {
|
|
117
|
+
"types": "./dist/components/toggle/index.d.ts",
|
|
118
|
+
"import": "./dist/components/toggle/index.js"
|
|
119
|
+
},
|
|
120
|
+
"./toggle-group": {
|
|
121
|
+
"types": "./dist/components/toggle-group/index.d.ts",
|
|
122
|
+
"import": "./dist/components/toggle-group/index.js"
|
|
123
|
+
},
|
|
124
|
+
"./select": {
|
|
125
|
+
"types": "./dist/components/select/index.d.ts",
|
|
126
|
+
"import": "./dist/components/select/index.js"
|
|
127
|
+
},
|
|
128
|
+
"./collapsible": {
|
|
129
|
+
"types": "./dist/components/collapsible/index.d.ts",
|
|
130
|
+
"import": "./dist/components/collapsible/index.js"
|
|
131
|
+
},
|
|
132
|
+
"./accordion": {
|
|
133
|
+
"types": "./dist/components/accordion/index.d.ts",
|
|
134
|
+
"import": "./dist/components/accordion/index.js"
|
|
135
|
+
},
|
|
136
|
+
"./tabs": {
|
|
137
|
+
"types": "./dist/components/tabs/index.d.ts",
|
|
138
|
+
"import": "./dist/components/tabs/index.js"
|
|
139
|
+
},
|
|
140
|
+
"./breadcrumbs": {
|
|
141
|
+
"types": "./dist/components/breadcrumbs/index.d.ts",
|
|
142
|
+
"import": "./dist/components/breadcrumbs/index.js"
|
|
143
|
+
},
|
|
144
|
+
"./pagination": {
|
|
145
|
+
"types": "./dist/components/pagination/index.d.ts",
|
|
146
|
+
"import": "./dist/components/pagination/index.js"
|
|
147
|
+
},
|
|
148
|
+
"./table": {
|
|
149
|
+
"types": "./dist/components/table/index.d.ts",
|
|
150
|
+
"import": "./dist/components/table/index.js"
|
|
151
|
+
},
|
|
152
|
+
"./empty-state": {
|
|
153
|
+
"types": "./dist/components/empty-state/index.d.ts",
|
|
154
|
+
"import": "./dist/components/empty-state/index.js"
|
|
155
|
+
},
|
|
156
|
+
"./stat": {
|
|
157
|
+
"types": "./dist/components/stat/index.d.ts",
|
|
158
|
+
"import": "./dist/components/stat/index.js"
|
|
159
|
+
},
|
|
160
|
+
"./code-block": {
|
|
161
|
+
"types": "./dist/components/code-block/index.d.ts",
|
|
162
|
+
"import": "./dist/components/code-block/index.js"
|
|
163
|
+
},
|
|
164
|
+
"./dialog": {
|
|
165
|
+
"types": "./dist/components/dialog/index.d.ts",
|
|
166
|
+
"import": "./dist/components/dialog/index.js"
|
|
167
|
+
},
|
|
168
|
+
"./popover": {
|
|
169
|
+
"types": "./dist/components/popover/index.d.ts",
|
|
170
|
+
"import": "./dist/components/popover/index.js"
|
|
171
|
+
},
|
|
172
|
+
"./tooltip": {
|
|
173
|
+
"types": "./dist/components/tooltip/index.d.ts",
|
|
174
|
+
"import": "./dist/components/tooltip/index.js"
|
|
175
|
+
},
|
|
176
|
+
"./dropdown-menu": {
|
|
177
|
+
"types": "./dist/components/dropdown-menu/index.d.ts",
|
|
178
|
+
"import": "./dist/components/dropdown-menu/index.js"
|
|
179
|
+
},
|
|
180
|
+
"./alert-dialog": {
|
|
181
|
+
"types": "./dist/components/alert-dialog/index.d.ts",
|
|
182
|
+
"import": "./dist/components/alert-dialog/index.js"
|
|
183
|
+
},
|
|
184
|
+
"./sheet": {
|
|
185
|
+
"types": "./dist/components/sheet/index.d.ts",
|
|
186
|
+
"import": "./dist/components/sheet/index.js"
|
|
187
|
+
},
|
|
188
|
+
"./scroll-area": {
|
|
189
|
+
"types": "./dist/components/scroll-area/index.d.ts",
|
|
190
|
+
"import": "./dist/components/scroll-area/index.js"
|
|
191
|
+
},
|
|
192
|
+
"./command": {
|
|
193
|
+
"types": "./dist/components/command/index.d.ts",
|
|
194
|
+
"import": "./dist/components/command/index.js"
|
|
195
|
+
},
|
|
196
|
+
"./combobox": {
|
|
197
|
+
"types": "./dist/components/combobox/index.d.ts",
|
|
198
|
+
"import": "./dist/components/combobox/index.js"
|
|
199
|
+
},
|
|
200
|
+
"./context-menu": {
|
|
201
|
+
"types": "./dist/components/context-menu/index.d.ts",
|
|
202
|
+
"import": "./dist/components/context-menu/index.js"
|
|
203
|
+
},
|
|
204
|
+
"./menubar": {
|
|
205
|
+
"types": "./dist/components/menubar/index.d.ts",
|
|
206
|
+
"import": "./dist/components/menubar/index.js"
|
|
207
|
+
},
|
|
208
|
+
"./responsive-container": {
|
|
209
|
+
"types": "./dist/components/responsive-container/index.d.ts",
|
|
210
|
+
"import": "./dist/components/responsive-container/index.js"
|
|
211
|
+
},
|
|
212
|
+
"./sidebar-shell": {
|
|
213
|
+
"types": "./dist/components/sidebar-shell/index.d.ts",
|
|
214
|
+
"import": "./dist/components/sidebar-shell/index.js"
|
|
215
|
+
},
|
|
216
|
+
"./sectioned-sidebar-nav": {
|
|
217
|
+
"types": "./dist/components/sectioned-sidebar-nav/index.d.ts",
|
|
218
|
+
"import": "./dist/components/sectioned-sidebar-nav/index.js"
|
|
219
|
+
},
|
|
220
|
+
"./tabs-with-sidebar": {
|
|
221
|
+
"types": "./dist/components/tabs-with-sidebar/index.d.ts",
|
|
222
|
+
"import": "./dist/components/tabs-with-sidebar/index.js"
|
|
223
|
+
},
|
|
224
|
+
"./toast": {
|
|
225
|
+
"types": "./dist/components/toast/index.d.ts",
|
|
226
|
+
"import": "./dist/components/toast/index.js"
|
|
227
|
+
},
|
|
228
|
+
"./conversation": {
|
|
229
|
+
"types": "./dist/components/conversation/index.d.ts",
|
|
230
|
+
"import": "./dist/components/conversation/index.js"
|
|
231
|
+
},
|
|
232
|
+
"./hooks": {
|
|
233
|
+
"types": "./dist/hooks/index.d.ts",
|
|
234
|
+
"import": "./dist/hooks/index.js"
|
|
235
|
+
},
|
|
236
|
+
"./package.json": "./package.json"
|
|
237
|
+
},
|
|
238
|
+
"scripts": {
|
|
239
|
+
"clean": "node scripts/clean.mjs",
|
|
240
|
+
"build:types": "tsc -p tsconfig.build.json",
|
|
241
|
+
"build:css": "node scripts/build-css.mjs",
|
|
242
|
+
"build": "npm run clean && npm run build:types && npm run build:css",
|
|
243
|
+
"preview": "vite --config preview/vite.config.ts",
|
|
244
|
+
"preview:host": "vite --config preview/vite.config.ts --host 127.0.0.1",
|
|
245
|
+
"preview:build": "tsc -p tsconfig.preview.json --noEmit && vite build --config preview/vite.config.ts",
|
|
246
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
247
|
+
"test": "vitest run",
|
|
248
|
+
"test:unit": "vitest run src",
|
|
249
|
+
"test:ssr": "vitest run tests/ssr --environment node",
|
|
250
|
+
"test:exports": "vitest run tests/exports --environment node",
|
|
251
|
+
"test:accessibility": "vitest run tests/accessibility",
|
|
252
|
+
"test:types": "tsd",
|
|
253
|
+
"docs:lint": "node scripts/lint-docs.mjs",
|
|
254
|
+
"verify:style-contract": "node scripts/verify-style-contract.mjs",
|
|
255
|
+
"validate:exports": "node scripts/validate-exports.mjs",
|
|
256
|
+
"tarball:inspect": "node scripts/check-tarball.mjs",
|
|
257
|
+
"pack:dry": "npm pack --dry-run",
|
|
258
|
+
"preflight": "npm run typecheck && npm run build && npm run test:unit && npm run test:ssr && npm run test:types && npm run test:exports && npm run test:accessibility && npm run docs:lint && npm run verify:style-contract && npm run validate:exports && npm run tarball:inspect"
|
|
259
|
+
},
|
|
260
|
+
"peerDependencies": {
|
|
261
|
+
"react": "^19.0.0",
|
|
262
|
+
"react-dom": "^19.0.0"
|
|
263
|
+
},
|
|
264
|
+
"dependencies": {},
|
|
265
|
+
"tsd": {
|
|
266
|
+
"directory": "tests/types"
|
|
267
|
+
},
|
|
268
|
+
"devDependencies": {
|
|
269
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
270
|
+
"@testing-library/react": "^16.3.2",
|
|
271
|
+
"@testing-library/user-event": "^14.6.1",
|
|
272
|
+
"@types/node": "^25.9.1",
|
|
273
|
+
"@types/react": "^19.2.16",
|
|
274
|
+
"@types/react-dom": "^19.2.3",
|
|
275
|
+
"@vitejs/plugin-react": "^6.0.2",
|
|
276
|
+
"jsdom": "^28.1.0",
|
|
277
|
+
"tsd": "^0.33.0",
|
|
278
|
+
"typescript": "^6.0.3",
|
|
279
|
+
"vite": "^8.0.16",
|
|
280
|
+
"vitest": "^4.1.8"
|
|
281
|
+
}
|
|
282
|
+
}
|