@uxuissk/design-system 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/README.md +11 -0
- package/dist/sellsuki-ds.css +1 -0
- package/dist/sellsuki-ds.js +1972 -0
- package/dist/sellsuki-ds.js.map +1 -0
- package/dist/sellsuki-ds.umd.cjs +187 -0
- package/dist/sellsuki-ds.umd.cjs.map +1 -0
- package/dist/types/index.d.ts +413 -0
- package/package.json +115 -0
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
import { default as default_2 } from 'react';
|
|
2
|
+
import { JSX } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
export declare function Alert({ variant, title, children, dismissible, onDismiss, action, icon, className }: AlertProps): JSX.Element | null;
|
|
5
|
+
|
|
6
|
+
declare interface AlertProps {
|
|
7
|
+
variant?: AlertVariant;
|
|
8
|
+
title?: string;
|
|
9
|
+
children: default_2.ReactNode;
|
|
10
|
+
dismissible?: boolean;
|
|
11
|
+
onDismiss?: () => void;
|
|
12
|
+
action?: default_2.ReactNode;
|
|
13
|
+
icon?: default_2.ReactNode;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export declare type AlertVariant = "info" | "success" | "warning" | "error";
|
|
18
|
+
|
|
19
|
+
export declare function Badge({ children, variant, size, icon, dot, removable, onRemove, className, }: BadgeProps): JSX.Element;
|
|
20
|
+
|
|
21
|
+
declare interface BadgeProps {
|
|
22
|
+
children: default_2.ReactNode;
|
|
23
|
+
variant?: BadgeVariant;
|
|
24
|
+
size?: BadgeSize;
|
|
25
|
+
icon?: default_2.ReactNode;
|
|
26
|
+
dot?: boolean;
|
|
27
|
+
removable?: boolean;
|
|
28
|
+
onRemove?: () => void;
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export declare type BadgeSize = "sm" | "md" | "lg";
|
|
33
|
+
|
|
34
|
+
export declare type BadgeVariant = "default" | "secondary" | "outline" | "destructive" | "success" | "warning";
|
|
35
|
+
|
|
36
|
+
export declare function ButtonGroup({ children, className, }: {
|
|
37
|
+
children: default_2.ReactNode;
|
|
38
|
+
className?: string;
|
|
39
|
+
}): JSX.Element;
|
|
40
|
+
|
|
41
|
+
export declare type ButtonSize = "sm" | "md" | "lg" | "xl";
|
|
42
|
+
|
|
43
|
+
export declare type ButtonVariant = "primary" | "secondary" | "outline" | "ghost" | "destructive" | "link";
|
|
44
|
+
|
|
45
|
+
export declare function CheckboxGroup({ label, children, direction, className }: CheckboxGroupProps): JSX.Element;
|
|
46
|
+
|
|
47
|
+
declare interface CheckboxGroupProps {
|
|
48
|
+
label?: string;
|
|
49
|
+
children: default_2.ReactNode;
|
|
50
|
+
direction?: "horizontal" | "vertical";
|
|
51
|
+
className?: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
declare interface CheckboxProps {
|
|
55
|
+
checked?: boolean;
|
|
56
|
+
indeterminate?: boolean;
|
|
57
|
+
defaultChecked?: boolean;
|
|
58
|
+
onChange?: (checked: boolean) => void;
|
|
59
|
+
label?: string;
|
|
60
|
+
description?: string;
|
|
61
|
+
size?: CheckboxSize;
|
|
62
|
+
disabled?: boolean;
|
|
63
|
+
error?: string;
|
|
64
|
+
className?: string;
|
|
65
|
+
id?: string;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export declare type CheckboxSize = "sm" | "md" | "lg";
|
|
69
|
+
|
|
70
|
+
export declare function ConfirmDialog({ open, onClose, onConfirm, title, description, confirmLabel, cancelLabel, variant, }: ConfirmDialogProps): JSX.Element;
|
|
71
|
+
|
|
72
|
+
declare interface ConfirmDialogProps {
|
|
73
|
+
open: boolean;
|
|
74
|
+
onClose: () => void;
|
|
75
|
+
onConfirm: () => void;
|
|
76
|
+
title?: string;
|
|
77
|
+
description?: string;
|
|
78
|
+
confirmLabel?: string;
|
|
79
|
+
cancelLabel?: string;
|
|
80
|
+
variant?: "default" | "destructive";
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export declare function DatePicker({ value, rangeValue, onChange, onRangeChange, mode, label, placeholder, helperText, errorMessage, successMessage, size, variant, state, disabled, required, clearable, showTime, minDate, maxDate, disabledDates, showToday, footer, fullWidth, }: DatePickerProps): JSX.Element;
|
|
84
|
+
|
|
85
|
+
export declare type DatePickerMode = "single" | "range";
|
|
86
|
+
|
|
87
|
+
export declare interface DatePickerProps {
|
|
88
|
+
/** Selected date (single mode) */
|
|
89
|
+
value?: Date | null;
|
|
90
|
+
/** Selected range (range mode) */
|
|
91
|
+
rangeValue?: {
|
|
92
|
+
start: Date | null;
|
|
93
|
+
end: Date | null;
|
|
94
|
+
};
|
|
95
|
+
/** Callback on date change (single) */
|
|
96
|
+
onChange?: (date: Date | null) => void;
|
|
97
|
+
/** Callback on range change */
|
|
98
|
+
onRangeChange?: (range: {
|
|
99
|
+
start: Date | null;
|
|
100
|
+
end: Date | null;
|
|
101
|
+
}) => void;
|
|
102
|
+
/** Single or range mode */
|
|
103
|
+
mode?: DatePickerMode;
|
|
104
|
+
/** Label text */
|
|
105
|
+
label?: string;
|
|
106
|
+
/** Placeholder text */
|
|
107
|
+
placeholder?: string;
|
|
108
|
+
/** Helper text */
|
|
109
|
+
helperText?: string;
|
|
110
|
+
/** Error message */
|
|
111
|
+
errorMessage?: string;
|
|
112
|
+
/** Success message */
|
|
113
|
+
successMessage?: string;
|
|
114
|
+
/** Visual size */
|
|
115
|
+
size?: DatePickerSize;
|
|
116
|
+
/** Visual variant */
|
|
117
|
+
variant?: DatePickerVariant;
|
|
118
|
+
/** Validation state */
|
|
119
|
+
state?: DatePickerState;
|
|
120
|
+
/** Disabled state */
|
|
121
|
+
disabled?: boolean;
|
|
122
|
+
/** Required field */
|
|
123
|
+
required?: boolean;
|
|
124
|
+
/** Allow clearing the value */
|
|
125
|
+
clearable?: boolean;
|
|
126
|
+
/** Show time picker */
|
|
127
|
+
showTime?: boolean;
|
|
128
|
+
/** Minimum selectable date */
|
|
129
|
+
minDate?: Date;
|
|
130
|
+
/** Maximum selectable date */
|
|
131
|
+
maxDate?: Date;
|
|
132
|
+
/** Disabled specific dates */
|
|
133
|
+
disabledDates?: Date[];
|
|
134
|
+
/** Date format for display */
|
|
135
|
+
format?: string;
|
|
136
|
+
/** Show today button */
|
|
137
|
+
showToday?: boolean;
|
|
138
|
+
/** Custom footer element */
|
|
139
|
+
footer?: default_2.ReactNode;
|
|
140
|
+
/** Full width */
|
|
141
|
+
fullWidth?: boolean;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export declare type DatePickerSize = "sm" | "md" | "lg";
|
|
145
|
+
|
|
146
|
+
export declare type DatePickerState = "default" | "error" | "success";
|
|
147
|
+
|
|
148
|
+
export declare type DatePickerVariant = "default" | "outlined" | "filled" | "ghost";
|
|
149
|
+
|
|
150
|
+
export declare const DSButton: default_2.ForwardRefExoticComponent<DSButtonProps & default_2.RefAttributes<HTMLButtonElement>>;
|
|
151
|
+
|
|
152
|
+
export declare interface DSButtonProps extends default_2.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
153
|
+
variant?: ButtonVariant;
|
|
154
|
+
size?: ButtonSize;
|
|
155
|
+
loading?: boolean;
|
|
156
|
+
loadingText?: string;
|
|
157
|
+
leftIcon?: default_2.ReactNode;
|
|
158
|
+
rightIcon?: default_2.ReactNode;
|
|
159
|
+
fullWidth?: boolean;
|
|
160
|
+
active?: boolean;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export declare function DSCheckbox({ checked: controlledChecked, indeterminate, defaultChecked, onChange, label, description, size, disabled, error, className, id: propId, }: CheckboxProps): JSX.Element;
|
|
164
|
+
|
|
165
|
+
export declare const DSInput: default_2.ForwardRefExoticComponent<DSInputProps & default_2.RefAttributes<HTMLInputElement>>;
|
|
166
|
+
|
|
167
|
+
export declare interface DSInputProps extends Omit<default_2.InputHTMLAttributes<HTMLInputElement>, "size"> {
|
|
168
|
+
label?: string;
|
|
169
|
+
helperText?: string;
|
|
170
|
+
errorMessage?: string;
|
|
171
|
+
successMessage?: string;
|
|
172
|
+
inputSize?: InputSize;
|
|
173
|
+
variant?: InputVariant;
|
|
174
|
+
state?: InputState;
|
|
175
|
+
leftIcon?: default_2.ReactNode;
|
|
176
|
+
rightIcon?: default_2.ReactNode;
|
|
177
|
+
prefix?: string;
|
|
178
|
+
suffix?: string;
|
|
179
|
+
clearable?: boolean;
|
|
180
|
+
showPasswordToggle?: boolean;
|
|
181
|
+
loading?: boolean;
|
|
182
|
+
fullWidth?: boolean;
|
|
183
|
+
required?: boolean;
|
|
184
|
+
onClear?: () => void;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export declare function DSRadio({ value, label, description, disabled: localDisabled, size: localSize, className }: RadioProps): JSX.Element;
|
|
188
|
+
|
|
189
|
+
export declare function DSTable<T extends Record<string, any>>({ columns, data, size, striped, hoverable, bordered, selectable, selectedRows: controlledSelected, onSelectionChange, loading, emptyMessage, stickyHeader, className, }: TableProps<T>): JSX.Element;
|
|
190
|
+
|
|
191
|
+
export declare const DSTextarea: default_2.ForwardRefExoticComponent<DSTextareaProps & default_2.RefAttributes<HTMLTextAreaElement>>;
|
|
192
|
+
|
|
193
|
+
export declare interface DSTextareaProps extends Omit<default_2.TextareaHTMLAttributes<HTMLTextAreaElement>, ""> {
|
|
194
|
+
label?: string;
|
|
195
|
+
helperText?: string;
|
|
196
|
+
errorMessage?: string;
|
|
197
|
+
successMessage?: string;
|
|
198
|
+
inputSize?: InputSize;
|
|
199
|
+
variant?: InputVariant;
|
|
200
|
+
state?: InputState;
|
|
201
|
+
showCharCount?: boolean;
|
|
202
|
+
maxLength?: number;
|
|
203
|
+
required?: boolean;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export declare const IconButton: default_2.ForwardRefExoticComponent<IconButtonProps & default_2.RefAttributes<HTMLButtonElement>>;
|
|
207
|
+
|
|
208
|
+
export declare interface IconButtonProps extends default_2.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
209
|
+
variant?: ButtonVariant;
|
|
210
|
+
size?: ButtonSize;
|
|
211
|
+
loading?: boolean;
|
|
212
|
+
icon: default_2.ReactNode;
|
|
213
|
+
"aria-label": string;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export declare type InputSize = "sm" | "md" | "lg";
|
|
217
|
+
|
|
218
|
+
export declare type InputState = "default" | "error" | "success" | "warning";
|
|
219
|
+
|
|
220
|
+
export declare type InputVariant = "default" | "outlined" | "filled" | "ghost";
|
|
221
|
+
|
|
222
|
+
export declare function Modal({ open, onClose, title, description, size, children, footer, closeOnOverlay, showCloseButton, className, }: ModalProps): JSX.Element | null;
|
|
223
|
+
|
|
224
|
+
declare interface ModalProps {
|
|
225
|
+
open: boolean;
|
|
226
|
+
onClose: () => void;
|
|
227
|
+
title?: string;
|
|
228
|
+
description?: string;
|
|
229
|
+
size?: ModalSize;
|
|
230
|
+
children: default_2.ReactNode;
|
|
231
|
+
footer?: default_2.ReactNode;
|
|
232
|
+
closeOnOverlay?: boolean;
|
|
233
|
+
showCloseButton?: boolean;
|
|
234
|
+
className?: string;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export declare type ModalSize = "sm" | "md" | "lg" | "xl" | "full";
|
|
238
|
+
|
|
239
|
+
export declare function Pagination({ currentPage, totalPages, onPageChange, siblingCount, showFirstLast, showPrevNext, showPageSize, pageSizeOptions, pageSize, onPageSizeChange, totalItems, size, variant, disabled, showPageInfo, showItemsInfo, prevLabel, nextLabel, }: PaginationProps): JSX.Element;
|
|
240
|
+
|
|
241
|
+
export declare interface PaginationProps {
|
|
242
|
+
/** Current active page (1-indexed) */
|
|
243
|
+
currentPage: number;
|
|
244
|
+
/** Total number of pages */
|
|
245
|
+
totalPages: number;
|
|
246
|
+
/** Callback when page changes */
|
|
247
|
+
onPageChange: (page: number) => void;
|
|
248
|
+
/** Number of sibling pages to show on each side of current */
|
|
249
|
+
siblingCount?: number;
|
|
250
|
+
/** Show first/last page jump buttons */
|
|
251
|
+
showFirstLast?: boolean;
|
|
252
|
+
/** Show previous/next buttons */
|
|
253
|
+
showPrevNext?: boolean;
|
|
254
|
+
/** Show page size selector */
|
|
255
|
+
showPageSize?: boolean;
|
|
256
|
+
/** Available page sizes */
|
|
257
|
+
pageSizeOptions?: number[];
|
|
258
|
+
/** Current page size */
|
|
259
|
+
pageSize?: number;
|
|
260
|
+
/** Callback when page size changes */
|
|
261
|
+
onPageSizeChange?: (size: number) => void;
|
|
262
|
+
/** Total number of items (for info display) */
|
|
263
|
+
totalItems?: number;
|
|
264
|
+
/** Visual size */
|
|
265
|
+
size?: PaginationSize;
|
|
266
|
+
/** Visual variant */
|
|
267
|
+
variant?: PaginationVariant;
|
|
268
|
+
/** Disabled state */
|
|
269
|
+
disabled?: boolean;
|
|
270
|
+
/** Show "Page X of Y" text */
|
|
271
|
+
showPageInfo?: boolean;
|
|
272
|
+
/** Show total items info */
|
|
273
|
+
showItemsInfo?: boolean;
|
|
274
|
+
/** Custom previous label */
|
|
275
|
+
prevLabel?: default_2.ReactNode;
|
|
276
|
+
/** Custom next label */
|
|
277
|
+
nextLabel?: default_2.ReactNode;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
export declare type PaginationSize = "sm" | "md" | "lg";
|
|
281
|
+
|
|
282
|
+
export declare type PaginationVariant = "default" | "outlined" | "filled" | "minimal";
|
|
283
|
+
|
|
284
|
+
export declare function RadioGroup({ name, value: controlled, defaultValue, onChange, label, size, disabled, direction, children, error, className, }: RadioGroupProps): JSX.Element;
|
|
285
|
+
|
|
286
|
+
declare interface RadioGroupProps {
|
|
287
|
+
name: string;
|
|
288
|
+
value?: string;
|
|
289
|
+
defaultValue?: string;
|
|
290
|
+
onChange?: (value: string) => void;
|
|
291
|
+
label?: string;
|
|
292
|
+
size?: RadioSize;
|
|
293
|
+
disabled?: boolean;
|
|
294
|
+
direction?: "horizontal" | "vertical";
|
|
295
|
+
children: default_2.ReactNode;
|
|
296
|
+
error?: string;
|
|
297
|
+
className?: string;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
declare interface RadioProps {
|
|
301
|
+
value: string;
|
|
302
|
+
label?: string;
|
|
303
|
+
description?: string;
|
|
304
|
+
disabled?: boolean;
|
|
305
|
+
size?: RadioSize;
|
|
306
|
+
className?: string;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
export declare type RadioSize = "sm" | "md" | "lg";
|
|
310
|
+
|
|
311
|
+
export declare function SearchField({ value: controlled, onChange, onSearch, placeholder, size, variant, loading, suggestions, onSuggestionSelect, clearable, disabled, autoFocus, debounce, className, }: SearchFieldProps): JSX.Element;
|
|
312
|
+
|
|
313
|
+
declare interface SearchFieldProps {
|
|
314
|
+
value?: string;
|
|
315
|
+
onChange?: (value: string) => void;
|
|
316
|
+
onSearch?: (value: string) => void;
|
|
317
|
+
placeholder?: string;
|
|
318
|
+
size?: SearchSize;
|
|
319
|
+
variant?: SearchVariant;
|
|
320
|
+
loading?: boolean;
|
|
321
|
+
suggestions?: SearchSuggestion[];
|
|
322
|
+
onSuggestionSelect?: (suggestion: SearchSuggestion) => void;
|
|
323
|
+
clearable?: boolean;
|
|
324
|
+
disabled?: boolean;
|
|
325
|
+
autoFocus?: boolean;
|
|
326
|
+
debounce?: number;
|
|
327
|
+
className?: string;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
export declare type SearchSize = "sm" | "md" | "lg";
|
|
331
|
+
|
|
332
|
+
declare interface SearchSuggestion {
|
|
333
|
+
id: string;
|
|
334
|
+
label: string;
|
|
335
|
+
description?: string;
|
|
336
|
+
icon?: default_2.ReactNode;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
export declare type SearchVariant = "default" | "outlined" | "filled";
|
|
340
|
+
|
|
341
|
+
export declare interface TabItem {
|
|
342
|
+
id: string;
|
|
343
|
+
label: string;
|
|
344
|
+
icon?: default_2.ReactNode;
|
|
345
|
+
badge?: number | string;
|
|
346
|
+
disabled?: boolean;
|
|
347
|
+
content?: default_2.ReactNode;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
export declare interface TableColumn<T = any> {
|
|
351
|
+
key: string;
|
|
352
|
+
header: string;
|
|
353
|
+
sortable?: boolean;
|
|
354
|
+
width?: string;
|
|
355
|
+
align?: "left" | "center" | "right";
|
|
356
|
+
render?: (value: any, row: T, index: number) => default_2.ReactNode;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
declare interface TableProps<T = any> {
|
|
360
|
+
columns: TableColumn<T>[];
|
|
361
|
+
data: T[];
|
|
362
|
+
size?: TableSize;
|
|
363
|
+
striped?: boolean;
|
|
364
|
+
hoverable?: boolean;
|
|
365
|
+
bordered?: boolean;
|
|
366
|
+
selectable?: boolean;
|
|
367
|
+
selectedRows?: Set<number>;
|
|
368
|
+
onSelectionChange?: (selected: Set<number>) => void;
|
|
369
|
+
loading?: boolean;
|
|
370
|
+
emptyMessage?: string;
|
|
371
|
+
stickyHeader?: boolean;
|
|
372
|
+
className?: string;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
export declare type TableSize = "sm" | "md" | "lg";
|
|
376
|
+
|
|
377
|
+
export declare function Tabs({ tabs, variant, size, defaultTab, activeTab: controlled, onChange, fullWidth, className }: TabsProps): JSX.Element;
|
|
378
|
+
|
|
379
|
+
export declare type TabSize = "sm" | "md" | "lg";
|
|
380
|
+
|
|
381
|
+
declare interface TabsProps {
|
|
382
|
+
tabs: TabItem[];
|
|
383
|
+
variant?: TabVariant;
|
|
384
|
+
size?: TabSize;
|
|
385
|
+
defaultTab?: string;
|
|
386
|
+
activeTab?: string;
|
|
387
|
+
onChange?: (id: string) => void;
|
|
388
|
+
fullWidth?: boolean;
|
|
389
|
+
className?: string;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
export declare type TabVariant = "default" | "bordered" | "pills" | "underline";
|
|
393
|
+
|
|
394
|
+
export declare const toast: {
|
|
395
|
+
show: (opts: Omit<ToastData, "id">) => void;
|
|
396
|
+
info: (message: string, title?: string) => void;
|
|
397
|
+
success: (message: string, title?: string) => void;
|
|
398
|
+
warning: (message: string, title?: string) => void;
|
|
399
|
+
error: (message: string, title?: string) => void;
|
|
400
|
+
dismiss: (id: string) => void;
|
|
401
|
+
};
|
|
402
|
+
|
|
403
|
+
export declare function ToastContainer(): JSX.Element | null;
|
|
404
|
+
|
|
405
|
+
declare interface ToastData {
|
|
406
|
+
id: string;
|
|
407
|
+
variant: AlertVariant;
|
|
408
|
+
title?: string;
|
|
409
|
+
message: string;
|
|
410
|
+
duration?: number;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export { }
|
package/package.json
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@uxuissk/design-system",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/sellsuki-ds.umd.cjs",
|
|
7
|
+
"module": "./dist/sellsuki-ds.js",
|
|
8
|
+
"types": "./dist/types/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"import": "./dist/sellsuki-ds.js",
|
|
13
|
+
"require": "./dist/sellsuki-ds.umd.cjs"
|
|
14
|
+
},
|
|
15
|
+
"./styles": "./dist/sellsuki-ds.css",
|
|
16
|
+
"./styles.css": "./dist/sellsuki-ds.css"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist",
|
|
20
|
+
"README.md"
|
|
21
|
+
],
|
|
22
|
+
"sideEffects": [
|
|
23
|
+
"**/*.css"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"dev": "vite",
|
|
27
|
+
"build": "vite build",
|
|
28
|
+
"build:lib": "vite build --config vite.lib.config.ts",
|
|
29
|
+
"storybook": "storybook dev -p 6006",
|
|
30
|
+
"build-storybook": "storybook build",
|
|
31
|
+
"prepublishOnly": "npm run build:lib"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"lucide-react": "0.487.0"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@emotion/react": "11.14.0",
|
|
38
|
+
"@emotion/styled": "11.14.1",
|
|
39
|
+
"@mui/icons-material": "7.3.5",
|
|
40
|
+
"@mui/material": "7.3.5",
|
|
41
|
+
"@popperjs/core": "2.11.8",
|
|
42
|
+
"@radix-ui/react-accordion": "1.2.3",
|
|
43
|
+
"@radix-ui/react-alert-dialog": "1.1.6",
|
|
44
|
+
"@radix-ui/react-aspect-ratio": "1.1.2",
|
|
45
|
+
"@radix-ui/react-avatar": "1.1.3",
|
|
46
|
+
"@radix-ui/react-checkbox": "1.1.4",
|
|
47
|
+
"@radix-ui/react-collapsible": "1.1.3",
|
|
48
|
+
"@radix-ui/react-context-menu": "2.2.6",
|
|
49
|
+
"@radix-ui/react-dialog": "1.1.6",
|
|
50
|
+
"@radix-ui/react-dropdown-menu": "2.1.6",
|
|
51
|
+
"@radix-ui/react-hover-card": "1.1.6",
|
|
52
|
+
"@radix-ui/react-label": "2.1.2",
|
|
53
|
+
"@radix-ui/react-menubar": "1.1.6",
|
|
54
|
+
"@radix-ui/react-navigation-menu": "1.2.5",
|
|
55
|
+
"@radix-ui/react-popover": "1.1.6",
|
|
56
|
+
"@radix-ui/react-progress": "1.1.2",
|
|
57
|
+
"@radix-ui/react-radio-group": "1.2.3",
|
|
58
|
+
"@radix-ui/react-scroll-area": "1.2.3",
|
|
59
|
+
"@radix-ui/react-select": "2.1.6",
|
|
60
|
+
"@radix-ui/react-separator": "1.1.2",
|
|
61
|
+
"@radix-ui/react-slider": "1.2.3",
|
|
62
|
+
"@radix-ui/react-slot": "1.1.2",
|
|
63
|
+
"@radix-ui/react-switch": "1.1.3",
|
|
64
|
+
"@radix-ui/react-tabs": "1.1.3",
|
|
65
|
+
"@radix-ui/react-toggle": "1.1.2",
|
|
66
|
+
"@radix-ui/react-toggle-group": "1.1.2",
|
|
67
|
+
"@radix-ui/react-tooltip": "1.1.8",
|
|
68
|
+
"@storybook/addon-a11y": "^8.4.0",
|
|
69
|
+
"@storybook/addon-essentials": "^8.4.0",
|
|
70
|
+
"@storybook/addon-interactions": "^8.4.0",
|
|
71
|
+
"@storybook/blocks": "^8.4.0",
|
|
72
|
+
"@storybook/react": "^8.4.0",
|
|
73
|
+
"@storybook/react-vite": "^8.4.0",
|
|
74
|
+
"@tailwindcss/vite": "4.1.12",
|
|
75
|
+
"@types/react": "^19.2.14",
|
|
76
|
+
"@types/react-dom": "^19.2.3",
|
|
77
|
+
"@vitejs/plugin-react": "4.7.0",
|
|
78
|
+
"class-variance-authority": "0.7.1",
|
|
79
|
+
"clsx": "2.1.1",
|
|
80
|
+
"cmdk": "1.1.1",
|
|
81
|
+
"date-fns": "3.6.0",
|
|
82
|
+
"embla-carousel-react": "8.6.0",
|
|
83
|
+
"input-otp": "1.4.2",
|
|
84
|
+
"motion": "12.23.24",
|
|
85
|
+
"next-themes": "0.4.6",
|
|
86
|
+
"react-day-picker": "8.10.1",
|
|
87
|
+
"react-dnd": "16.0.1",
|
|
88
|
+
"react-dnd-html5-backend": "16.0.1",
|
|
89
|
+
"react-hook-form": "7.55.0",
|
|
90
|
+
"react-popper": "2.3.0",
|
|
91
|
+
"react-resizable-panels": "2.1.7",
|
|
92
|
+
"react-responsive-masonry": "2.7.1",
|
|
93
|
+
"react-router": "7.13.0",
|
|
94
|
+
"react-slick": "0.31.0",
|
|
95
|
+
"recharts": "2.15.2",
|
|
96
|
+
"sonner": "2.0.3",
|
|
97
|
+
"storybook": "^8.4.0",
|
|
98
|
+
"tailwind-merge": "3.2.0",
|
|
99
|
+
"tailwindcss": "4.1.12",
|
|
100
|
+
"tw-animate-css": "1.3.8",
|
|
101
|
+
"typescript": "^5.5.0",
|
|
102
|
+
"vaul": "1.1.2",
|
|
103
|
+
"vite": "6.3.5",
|
|
104
|
+
"vite-plugin-dts": "^4.0.0"
|
|
105
|
+
},
|
|
106
|
+
"peerDependencies": {
|
|
107
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
108
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
109
|
+
},
|
|
110
|
+
"pnpm": {
|
|
111
|
+
"overrides": {
|
|
112
|
+
"vite": "6.3.5"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|