luan-ui 0.8.3 → 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/README.md +31 -0
- package/dist/components/accordion/accordion.d.ts +3 -3
- package/dist/components/alert-dialog/alert-dialog.d.ts +4 -4
- package/dist/components/autocomplete/autocomplete.d.ts +12 -12
- package/dist/components/autocomplete/autocomplete.js +2 -2
- package/dist/components/autocomplete/autocomplete.js.map +1 -1
- package/dist/components/avatar/avatar-group.d.ts +1 -1
- package/dist/components/avatar/avatar.d.ts +3 -3
- package/dist/components/checkbox/checkbox.d.ts +1 -1
- package/dist/components/combobox/combobox.d.ts +12 -12
- package/dist/components/combobox/combobox.js +2 -2
- package/dist/components/combobox/combobox.js.map +1 -1
- package/dist/components/dialog/dialog.d.ts +6 -6
- package/dist/components/drawer/drawer.d.ts +6 -6
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +14 -14
- package/dist/components/form-field/form-field.d.ts +1 -1
- package/dist/components/form-field/form-field.js +1 -1
- package/dist/components/form-helper/form-helper.d.ts +1 -1
- package/dist/components/input/input.d.ts +1 -1
- package/dist/components/input/input.js +1 -1
- package/dist/components/input/input.js.map +1 -1
- package/dist/components/label/label.d.ts +1 -1
- package/dist/components/label/label.js +1 -3
- package/dist/components/label/label.js.map +1 -1
- package/dist/components/pagination/pagination.d.ts +3 -3
- package/dist/components/popover/popover.d.ts +5 -5
- package/dist/components/progress/progress.d.ts +1 -1
- package/dist/components/radio-group/radio-group.d.ts +2 -2
- package/dist/components/select/select.d.ts +9 -9
- package/dist/components/select/select.js +1 -1
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/skeleton/skeleton.d.ts +1 -1
- package/dist/components/slider/slider.d.ts +1 -1
- package/dist/components/slider/slider.js +2 -4
- package/dist/components/slider/slider.js.map +1 -1
- package/dist/components/switch/switch.d.ts +1 -1
- package/dist/components/table/table.d.ts +8 -8
- package/dist/components/table/table.js +2 -2
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/tabs/tabs.d.ts +3 -3
- package/dist/components/text-area/text-area.d.ts +1 -1
- package/dist/components/text-area/text-area.js +1 -1
- package/dist/components/text-area/text-area.js.map +1 -1
- package/dist/components/toast/toast.d.ts +1 -1
- package/dist/components/toast/toast.js +1 -1
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/tooltip/tooltip.d.ts +3 -3
- package/dist/styles/index.css +137 -27
- package/dist/utilities/pagination/get-truncated-elements.d.ts +1 -1
- package/dist/utilities/pagination/keyboard-navigation.js.map +1 -1
- package/dist/utilities/responsive/responsive.d.ts +6 -4
- package/package.json +28 -28
package/dist/styles/index.css
CHANGED
|
@@ -4,48 +4,158 @@
|
|
|
4
4
|
@source "../components";
|
|
5
5
|
@source "../utilities";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
:root,
|
|
8
|
+
[data-theme="luan-light"] {
|
|
9
|
+
color-scheme: light;
|
|
10
|
+
--background: #ffffff;
|
|
11
|
+
--foreground: #111827;
|
|
12
|
+
|
|
13
|
+
/* ─── Brand / Primary ─── */
|
|
14
|
+
--primary: #374151;
|
|
15
|
+
--primary-hover: #1f2937;
|
|
16
|
+
--primary-active: #111827;
|
|
17
|
+
--on-primary: #ffffff;
|
|
18
|
+
|
|
19
|
+
/* ─── Destructive ─── */
|
|
20
|
+
--destructive: #ef4444;
|
|
21
|
+
--destructive-hover: #dc2626;
|
|
22
|
+
--destructive-active: #b91c1c;
|
|
23
|
+
|
|
24
|
+
/* ─── Error ─── */
|
|
25
|
+
--error: #dc2626;
|
|
26
|
+
|
|
27
|
+
/* ─── Surfaces ─── */
|
|
28
|
+
--surface: #ffffff;
|
|
29
|
+
--surface-subtle: #f9fafb;
|
|
30
|
+
--surface-muted: #f3f4f6;
|
|
31
|
+
--overlay: oklch(0 0 0 / 50%);
|
|
32
|
+
|
|
33
|
+
/* ─── Borders & Separators ─── */
|
|
34
|
+
--border: #e5e7eb;
|
|
35
|
+
--border-input: #9ca3af;
|
|
36
|
+
--separator: #e5e7eb;
|
|
37
|
+
--ring-subtle: oklch(0.21 0.034 264.665 / 8%);
|
|
38
|
+
|
|
39
|
+
/* ─── Text ─── */
|
|
40
|
+
--text: #111827;
|
|
41
|
+
--text-secondary: #374151;
|
|
42
|
+
--text-muted: #6b7280;
|
|
43
|
+
--text-disabled: #d1d5db;
|
|
44
|
+
--text-placeholder: #9ca3af;
|
|
45
|
+
|
|
46
|
+
/* ─── Interactive States ─── */
|
|
47
|
+
--highlight: #374151;
|
|
48
|
+
--on-highlight: #ffffff;
|
|
49
|
+
--focus-ring: #374151;
|
|
50
|
+
--skeleton: #e5e7eb;
|
|
51
|
+
|
|
52
|
+
/* ─── Misc ─── */
|
|
53
|
+
--indicator: #6b7280;
|
|
54
|
+
--disabled-bg: #9ca3af;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
[data-theme="luan-dark"] {
|
|
58
|
+
color-scheme: dark;
|
|
59
|
+
--background: #030712;
|
|
60
|
+
--foreground: #f9fafb;
|
|
61
|
+
|
|
62
|
+
/* ─── Brand / Primary ─── */
|
|
63
|
+
--primary: #4b5563;
|
|
64
|
+
--primary-hover: #6b7280;
|
|
65
|
+
--primary-active: #9ca3af;
|
|
66
|
+
--on-primary: #ffffff;
|
|
67
|
+
|
|
68
|
+
/* ─── Destructive ─── */
|
|
69
|
+
--destructive: #b91c1c;
|
|
70
|
+
--destructive-hover: #dc2626;
|
|
71
|
+
--destructive-active: #ef4444;
|
|
72
|
+
|
|
73
|
+
/* ─── Error ─── */
|
|
74
|
+
--error: #f87171;
|
|
75
|
+
|
|
76
|
+
/* ─── Surfaces ─── */
|
|
77
|
+
--surface: #111827;
|
|
78
|
+
--surface-subtle: #1f2937;
|
|
79
|
+
--surface-muted: #374151;
|
|
80
|
+
--overlay: oklch(0 0 0 / 60%);
|
|
81
|
+
|
|
82
|
+
/* ─── Borders & Separators ─── */
|
|
83
|
+
--border: #374151;
|
|
84
|
+
--border-input: #4b5563;
|
|
85
|
+
--separator: #374151;
|
|
86
|
+
--ring-subtle: oklch(0.98 0 0 / 12%);
|
|
87
|
+
|
|
88
|
+
/* ─── Text ─── */
|
|
89
|
+
--text: #f9fafb;
|
|
90
|
+
--text-secondary: #e5e7eb;
|
|
91
|
+
--text-muted: #9ca3af;
|
|
92
|
+
--text-disabled: #6b7280;
|
|
93
|
+
--text-placeholder: #6b7280;
|
|
94
|
+
|
|
95
|
+
/* ─── Interactive States ─── */
|
|
96
|
+
--highlight: #4b5563;
|
|
97
|
+
--on-highlight: #f9fafb;
|
|
98
|
+
--focus-ring: #d1d5db;
|
|
99
|
+
--skeleton: #374151;
|
|
100
|
+
|
|
101
|
+
/* ─── Misc ─── */
|
|
102
|
+
--indicator: #9ca3af;
|
|
103
|
+
--disabled-bg: #4b5563;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
[data-theme="luan-light"],
|
|
107
|
+
[data-theme="luan-dark"] {
|
|
108
|
+
background-color: var(--background);
|
|
109
|
+
color: var(--foreground);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@theme inline {
|
|
113
|
+
--color-background: var(--background);
|
|
114
|
+
--color-foreground: var(--foreground);
|
|
115
|
+
|
|
8
116
|
/* ─── Brand / Primary ─── */
|
|
9
|
-
--color-primary:
|
|
10
|
-
--color-primary-hover:
|
|
11
|
-
--color-primary-active:
|
|
12
|
-
--color-on-primary:
|
|
117
|
+
--color-primary: var(--primary);
|
|
118
|
+
--color-primary-hover: var(--primary-hover);
|
|
119
|
+
--color-primary-active: var(--primary-active);
|
|
120
|
+
--color-on-primary: var(--on-primary);
|
|
13
121
|
|
|
14
122
|
/* ─── Destructive ─── */
|
|
15
|
-
--color-destructive:
|
|
16
|
-
--color-destructive-hover:
|
|
17
|
-
--color-destructive-active:
|
|
123
|
+
--color-destructive: var(--destructive);
|
|
124
|
+
--color-destructive-hover: var(--destructive-hover);
|
|
125
|
+
--color-destructive-active: var(--destructive-active);
|
|
18
126
|
|
|
19
127
|
/* ─── Error ─── */
|
|
20
|
-
--color-error:
|
|
128
|
+
--color-error: var(--error);
|
|
21
129
|
|
|
22
130
|
/* ─── Surfaces ─── */
|
|
23
|
-
--color-surface:
|
|
24
|
-
--color-surface-subtle:
|
|
25
|
-
--color-surface-muted:
|
|
26
|
-
--color-overlay:
|
|
131
|
+
--color-surface: var(--surface);
|
|
132
|
+
--color-surface-subtle: var(--surface-subtle);
|
|
133
|
+
--color-surface-muted: var(--surface-muted);
|
|
134
|
+
--color-overlay: var(--overlay);
|
|
27
135
|
|
|
28
136
|
/* ─── Borders & Separators ─── */
|
|
29
|
-
--color-border:
|
|
30
|
-
--color-border-input:
|
|
31
|
-
--color-separator:
|
|
137
|
+
--color-border: var(--border);
|
|
138
|
+
--color-border-input: var(--border-input);
|
|
139
|
+
--color-separator: var(--separator);
|
|
140
|
+
--color-ring: var(--focus-ring);
|
|
141
|
+
--color-ring-subtle: var(--ring-subtle);
|
|
32
142
|
|
|
33
143
|
/* ─── Text ─── */
|
|
34
|
-
--color-text:
|
|
35
|
-
--color-text-secondary:
|
|
36
|
-
--color-text-muted:
|
|
37
|
-
--color-text-disabled:
|
|
38
|
-
--color-text-placeholder:
|
|
144
|
+
--color-text: var(--text);
|
|
145
|
+
--color-text-secondary: var(--text-secondary);
|
|
146
|
+
--color-text-muted: var(--text-muted);
|
|
147
|
+
--color-text-disabled: var(--text-disabled);
|
|
148
|
+
--color-text-placeholder: var(--text-placeholder);
|
|
39
149
|
|
|
40
150
|
/* ─── Interactive States ─── */
|
|
41
|
-
--color-highlight:
|
|
42
|
-
--color-on-highlight:
|
|
43
|
-
--color-focus-ring:
|
|
44
|
-
--color-skeleton:
|
|
151
|
+
--color-highlight: var(--highlight);
|
|
152
|
+
--color-on-highlight: var(--on-highlight);
|
|
153
|
+
--color-focus-ring: var(--focus-ring);
|
|
154
|
+
--color-skeleton: var(--skeleton);
|
|
45
155
|
|
|
46
156
|
/* ─── Misc ─── */
|
|
47
|
-
--color-indicator:
|
|
48
|
-
--color-disabled-bg:
|
|
157
|
+
--color-indicator: var(--indicator);
|
|
158
|
+
--color-disabled-bg: var(--disabled-bg);
|
|
49
159
|
|
|
50
160
|
/* ─── Animations ─── */
|
|
51
161
|
--animate-accordion-up: accordion-up 350ms ease;
|
|
@@ -3,5 +3,5 @@ type TruncatedElementsOptions = {
|
|
|
3
3
|
page: number;
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
};
|
|
6
|
-
export declare const getTruncatedElements: ({ page, children, }: TruncatedElementsOptions) => ReactNode[] | (string | number | bigint | Iterable<ReactNode> | Promise<string | number | bigint | boolean |
|
|
6
|
+
export declare const getTruncatedElements: ({ page, children, }: TruncatedElementsOptions) => ReactNode[] | (string | number | bigint | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined>)[];
|
|
7
7
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard-navigation.js","sourceRoot":"/","sources":["utilities/pagination/keyboard-navigation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,CAAgB,EAChB,IAAqD,EACrD,UAAkB,EACjB,EAAE;IACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO;IAE/B,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAClE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,aAAa,CAC1C,EAAE,CAAC,CAAC,CAAC,CAAC;IAEP,IAAI,mBAAmB,KAAK,SAAS;QAAE,OAAO;IAE9C,IAAI,SAA6B,CAAC;IAElC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"keyboard-navigation.js","sourceRoot":"/","sources":["utilities/pagination/keyboard-navigation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,CAAgB,EAChB,IAAqD,EACrD,UAAkB,EACjB,EAAE;IACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO;IAE/B,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAClE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,aAAa,CAC1C,EAAE,CAAC,CAAC,CAAC,CAAC;IAEP,IAAI,mBAAmB,KAAK,SAAS;QAAE,OAAO;IAE9C,IAAI,SAA6B,CAAC;IAElC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS,EAAE,CAAC;YAChB,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;gBAC/B,SAAS,GAAG,UAAU,CAAC;YACxB,CAAC;iBAAM,IAAI,mBAAmB,KAAK,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnD,SAAS,GAAG,UAAU,CAAC;YACxB,CAAC;iBAAM,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;gBACtC,SAAS,GAAG,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,4CAA4C;gBAC5C,KAAK,IAAI,CAAC,GAAG,mBAAmB,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzB,SAAS,GAAG,CAAC,CAAC;wBACd,MAAM;oBACP,CAAC;gBACF,CAAC;gBACD,yDAAyD;gBACzD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC7B,SAAS,GAAG,CAAC,CAAC;gBACf,CAAC;YACF,CAAC;YACD,MAAM;QACP,CAAC;QACD,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,EAAE,CAAC;YAClB,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;gBAC/B,SAAS,GAAG,CAAC,CAAC;YACf,CAAC;iBAAM,IAAI,mBAAmB,KAAK,UAAU,EAAE,CAAC;gBAC/C,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACP,6CAA6C;gBAC7C,KAAK,IAAI,CAAC,GAAG,mBAAmB,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzB,SAAS,GAAG,CAAC,CAAC;wBACd,MAAM;oBACP,CAAC;gBACF,CAAC;gBACD,4DAA4D;gBAC5D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC7B,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;YACD,MAAM;QACP,CAAC;QACD,KAAK,MAAM;YACV,SAAS,GAAG,CAAC,CAAC;YACd,MAAM;QACP,KAAK,KAAK;YACT,SAAS,GAAG,UAAU,CAAC;YACvB,MAAM;IACR,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;QAClE,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;AACF,CAAC,CAAC","sourcesContent":["export const handleKeyboardNavigation = (\n\te: KeyboardEvent,\n\trefs: React.RefObject<Map<number, HTMLButtonElement>>,\n\ttotalPages: number,\n) => {\n\tif (!refs.current.size) return;\n\n\tconst currentFocusedIndex = Array.from(refs.current.entries()).find(\n\t\t([_, el]) => el === document.activeElement,\n\t)?.[0];\n\n\tif (currentFocusedIndex === undefined) return;\n\n\tlet nextIndex: number | undefined;\n\n\tswitch (e.key) {\n\t\tcase \"ArrowLeft\":\n\t\tcase \"ArrowUp\": {\n\t\t\tif (currentFocusedIndex === 0) {\n\t\t\t\tnextIndex = totalPages;\n\t\t\t} else if (currentFocusedIndex === totalPages + 1) {\n\t\t\t\tnextIndex = totalPages;\n\t\t\t} else if (currentFocusedIndex === 1) {\n\t\t\t\tnextIndex = 0;\n\t\t\t} else {\n\t\t\t\t// Find the next available index to the left\n\t\t\t\tfor (let i = currentFocusedIndex - 1; i >= 0; i--) {\n\t\t\t\t\tif (refs.current.has(i)) {\n\t\t\t\t\t\tnextIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If no index found to the left, try wrapping to the end\n\t\t\t\tif (nextIndex === undefined) {\n\t\t\t\t\tnextIndex = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase \"ArrowRight\":\n\t\tcase \"ArrowDown\": {\n\t\t\tif (currentFocusedIndex === 0) {\n\t\t\t\tnextIndex = 1;\n\t\t\t} else if (currentFocusedIndex === totalPages) {\n\t\t\t\tnextIndex = totalPages + 1;\n\t\t\t} else {\n\t\t\t\t// Find the next available index to the right\n\t\t\t\tfor (let i = currentFocusedIndex + 1; i <= totalPages + 1; i++) {\n\t\t\t\t\tif (refs.current.has(i)) {\n\t\t\t\t\t\tnextIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If no index found to the right, try wrapping to the start\n\t\t\t\tif (nextIndex === undefined) {\n\t\t\t\t\tnextIndex = totalPages + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase \"Home\":\n\t\t\tnextIndex = 1;\n\t\t\tbreak;\n\t\tcase \"End\":\n\t\t\tnextIndex = totalPages;\n\t\t\tbreak;\n\t}\n\n\tif (nextIndex !== undefined && nextIndex !== currentFocusedIndex) {\n\t\te.preventDefault();\n\t\trefs.current.get(nextIndex)?.focus();\n\t}\n};\n"]}
|
|
@@ -4,15 +4,17 @@ export declare const getVariants: {
|
|
|
4
4
|
<T extends import("responsive-class-variants/dist/types").VariantConfig = Record<never, import("responsive-class-variants/dist/types").VariantValue>, S extends Record<string, import("responsive-class-variants/dist/types").SlotConfig> = Record<string, import("responsive-class-variants/dist/types").ClassValue>>(config: {
|
|
5
5
|
slots: S;
|
|
6
6
|
variants?: T | undefined;
|
|
7
|
-
compoundVariants?: import("responsive-class-variants/dist/types").CompoundVariantWithSlots<T, keyof S & string, "
|
|
7
|
+
compoundVariants?: import("responsive-class-variants/dist/types").CompoundVariantWithSlots<T, keyof S & string, "lg" | "md" | "sm" | "xl">[] | undefined;
|
|
8
|
+
breakpoints?: readonly ("lg" | "md" | "sm" | "xl")[] | undefined;
|
|
8
9
|
onComplete?: (classes: string) => string;
|
|
9
|
-
}): () => { [K in keyof S]: (props?: import("responsive-class-variants/dist/types").VariantProps<T, "
|
|
10
|
+
}): () => { [K in keyof S]: (props?: import("responsive-class-variants/dist/types").VariantProps<T, "lg" | "md" | "sm" | "xl"> | undefined) => string; };
|
|
10
11
|
<T extends import("responsive-class-variants/dist/types").VariantConfig = Record<never, import("responsive-class-variants/dist/types").VariantValue>>(config: {
|
|
11
12
|
base: string;
|
|
12
13
|
variants?: T | undefined;
|
|
13
|
-
compoundVariants?: Partial<import("responsive-class-variants/dist/types").VariantProps<T, "
|
|
14
|
+
compoundVariants?: Partial<import("responsive-class-variants/dist/types").VariantProps<T, "lg" | "md" | "sm" | "xl">>[] | undefined;
|
|
15
|
+
breakpoints?: readonly ("lg" | "md" | "sm" | "xl")[] | undefined;
|
|
14
16
|
onComplete?: (classes: string) => string;
|
|
15
|
-
}): (props?: import("responsive-class-variants/dist/types").VariantProps<T, "
|
|
17
|
+
}): (props?: import("responsive-class-variants/dist/types").VariantProps<T, "lg" | "md" | "sm" | "xl"> | undefined) => string;
|
|
16
18
|
};
|
|
17
19
|
export type Breakpoints = (typeof breakpoints)[number];
|
|
18
20
|
export type ResponsiveValue<T> = RcvResponsiveValue<T, Breakpoints>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "luan-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "A UI library for React",
|
|
5
5
|
"author": "benebene84 <benedikt.sperl@gmail.com> (https://github.com/benebene84)",
|
|
6
6
|
"main": "/dist/index.js",
|
|
@@ -33,41 +33,41 @@
|
|
|
33
33
|
},
|
|
34
34
|
"homepage": "https://github.com/benebene84/luan-ui#readme",
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@biomejs/biome": "2.
|
|
37
|
-
"@chromatic-com/storybook": "^5.
|
|
38
|
-
"@storybook/addon-docs": "^10.
|
|
39
|
-
"@storybook/addon-onboarding": "^10.
|
|
40
|
-
"@storybook/react-vite": "^10.
|
|
41
|
-
"@tailwindcss/postcss": "^4.
|
|
42
|
-
"@tailwindcss/vite": "^4.
|
|
36
|
+
"@biomejs/biome": "2.5.12",
|
|
37
|
+
"@chromatic-com/storybook": "^5.3.1",
|
|
38
|
+
"@storybook/addon-docs": "^10.6.0",
|
|
39
|
+
"@storybook/addon-onboarding": "^10.6.0",
|
|
40
|
+
"@storybook/react-vite": "^10.6.0",
|
|
41
|
+
"@tailwindcss/postcss": "^4.3.3",
|
|
42
|
+
"@tailwindcss/vite": "^4.3.3",
|
|
43
43
|
"@testing-library/dom": "^10.4.1",
|
|
44
|
-
"@testing-library/jest-dom": "^
|
|
45
|
-
"@testing-library/react": "^16.3.
|
|
46
|
-
"@testing-library/user-event": "^14.6.
|
|
47
|
-
"@types/node": "^
|
|
48
|
-
"@types/react": "^19.2.
|
|
49
|
-
"@types/react-dom": "^19.2.
|
|
50
|
-
"@vitejs/plugin-react": "^6.
|
|
51
|
-
"jsdom": "^
|
|
52
|
-
"lefthook": "^2.1.
|
|
53
|
-
"responsive-class-variants": "^1.
|
|
54
|
-
"storybook": "^10.
|
|
55
|
-
"tailwindcss": "^4.
|
|
56
|
-
"tsc-alias": "^1.
|
|
57
|
-
"typescript": "^
|
|
58
|
-
"vite": "^8.
|
|
59
|
-
"vitest": "^
|
|
44
|
+
"@testing-library/jest-dom": "^7.0.1",
|
|
45
|
+
"@testing-library/react": "^16.3.3",
|
|
46
|
+
"@testing-library/user-event": "^14.6.7",
|
|
47
|
+
"@types/node": "^26.4.1",
|
|
48
|
+
"@types/react": "^19.2.18",
|
|
49
|
+
"@types/react-dom": "^19.2.7",
|
|
50
|
+
"@vitejs/plugin-react": "^6.1.1",
|
|
51
|
+
"jsdom": "^30.0.1",
|
|
52
|
+
"lefthook": "^2.1.12",
|
|
53
|
+
"responsive-class-variants": "^1.4.1",
|
|
54
|
+
"storybook": "^10.6.0",
|
|
55
|
+
"tailwindcss": "^4.3.3",
|
|
56
|
+
"tsc-alias": "^1.9.4",
|
|
57
|
+
"typescript": "^7.0.2",
|
|
58
|
+
"vite": "^8.2.2",
|
|
59
|
+
"vitest": "^5.0.0"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
62
|
"react": "^19.0.0",
|
|
63
63
|
"react-dom": "^19.0.0"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@base-ui/react": "^1.
|
|
66
|
+
"@base-ui/react": "^1.8.0",
|
|
67
67
|
"@radix-ui/react-icons": "^1.3.2",
|
|
68
68
|
"clsx": "^2.1.1",
|
|
69
|
-
"sonner": "^2.0.
|
|
70
|
-
"tailwind-merge": "^3.
|
|
69
|
+
"sonner": "^2.0.8",
|
|
70
|
+
"tailwind-merge": "^3.6.0"
|
|
71
71
|
},
|
|
72
|
-
"packageManager": "pnpm@
|
|
72
|
+
"packageManager": "pnpm@12.3.4"
|
|
73
73
|
}
|