@underverse-ui/underverse 0.1.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 +56 -0
- package/dist/index.cjs +6097 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +885 -0
- package/dist/index.d.ts +885 -0
- package/dist/index.js +5994 -0
- package/dist/index.js.map +1 -0
- package/package.json +54 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,885 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
import React__default, { InputHTMLAttributes, TextareaHTMLAttributes, ReactNode, HTMLAttributes } from 'react';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
import { ClassValue } from 'clsx';
|
|
6
|
+
|
|
7
|
+
declare const VARIANT_STYLES_BTN: {
|
|
8
|
+
default: string;
|
|
9
|
+
outline: string;
|
|
10
|
+
primary: string;
|
|
11
|
+
secondary: string;
|
|
12
|
+
success: string;
|
|
13
|
+
danger: string;
|
|
14
|
+
destructive: string;
|
|
15
|
+
warning: string;
|
|
16
|
+
info: string;
|
|
17
|
+
ghost: string;
|
|
18
|
+
link: string;
|
|
19
|
+
gradient: string;
|
|
20
|
+
};
|
|
21
|
+
declare const SIZE_STYLES_BTN: {
|
|
22
|
+
sm: string;
|
|
23
|
+
md: string;
|
|
24
|
+
lg: string;
|
|
25
|
+
smx: string;
|
|
26
|
+
icon: string;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
30
|
+
onClick?: (event: React__default.MouseEvent<HTMLButtonElement>) => void;
|
|
31
|
+
children?: React__default.ReactNode;
|
|
32
|
+
type?: "button" | "submit" | "reset";
|
|
33
|
+
icon?: React__default.ComponentType<{
|
|
34
|
+
className?: string;
|
|
35
|
+
}>;
|
|
36
|
+
iconRight?: React__default.ComponentType<{
|
|
37
|
+
className?: string;
|
|
38
|
+
}>;
|
|
39
|
+
variant?: keyof typeof VARIANT_STYLES_BTN;
|
|
40
|
+
size?: keyof typeof SIZE_STYLES_BTN;
|
|
41
|
+
className?: string;
|
|
42
|
+
iConClassName?: string;
|
|
43
|
+
disabled?: boolean;
|
|
44
|
+
loading?: boolean;
|
|
45
|
+
fullWidth?: boolean;
|
|
46
|
+
title?: string;
|
|
47
|
+
spinner?: React__default.ComponentType<{
|
|
48
|
+
className?: string;
|
|
49
|
+
}>;
|
|
50
|
+
loadingText?: React__default.ReactNode;
|
|
51
|
+
preserveChildrenOnLoading?: boolean;
|
|
52
|
+
preventDoubleClick?: boolean;
|
|
53
|
+
lockMs?: number;
|
|
54
|
+
asContainer?: boolean;
|
|
55
|
+
}
|
|
56
|
+
declare const Button: React__default.ForwardRefExoticComponent<ButtonProps & React__default.RefAttributes<HTMLButtonElement>>;
|
|
57
|
+
|
|
58
|
+
interface BadgeProps {
|
|
59
|
+
children?: React$1.ReactNode;
|
|
60
|
+
variant?: "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient";
|
|
61
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
62
|
+
className?: string;
|
|
63
|
+
dot?: boolean;
|
|
64
|
+
count?: number;
|
|
65
|
+
maxCount?: number;
|
|
66
|
+
showZero?: boolean;
|
|
67
|
+
pulse?: boolean;
|
|
68
|
+
removable?: boolean;
|
|
69
|
+
onRemove?: () => void;
|
|
70
|
+
icon?: React$1.ComponentType<{
|
|
71
|
+
className?: string;
|
|
72
|
+
}>;
|
|
73
|
+
clickable?: boolean;
|
|
74
|
+
onClick?: () => void;
|
|
75
|
+
}
|
|
76
|
+
declare const Badge: React$1.FC<BadgeProps>;
|
|
77
|
+
interface NotificationBadgeProps {
|
|
78
|
+
children: React$1.ReactNode;
|
|
79
|
+
count?: number;
|
|
80
|
+
maxCount?: number;
|
|
81
|
+
showZero?: boolean;
|
|
82
|
+
dot?: boolean;
|
|
83
|
+
variant?: BadgeProps["variant"];
|
|
84
|
+
size?: BadgeProps["size"];
|
|
85
|
+
className?: string;
|
|
86
|
+
badgeClassName?: string;
|
|
87
|
+
position?: "top-right" | "top-left" | "bottom-right" | "bottom-left";
|
|
88
|
+
pulse?: boolean;
|
|
89
|
+
}
|
|
90
|
+
declare const NotificationBadge: React$1.FC<NotificationBadgeProps>;
|
|
91
|
+
interface StatusBadgeProps extends Omit<BadgeProps, "variant"> {
|
|
92
|
+
status?: "online" | "offline" | "busy" | "away" | "idle";
|
|
93
|
+
}
|
|
94
|
+
declare const StatusBadge: React$1.FC<StatusBadgeProps>;
|
|
95
|
+
interface TagBadgeProps extends Omit<BadgeProps, "removable"> {
|
|
96
|
+
tags?: string[];
|
|
97
|
+
onTagRemove?: (tag: string) => void;
|
|
98
|
+
maxTags?: number;
|
|
99
|
+
}
|
|
100
|
+
declare const TagBadge: React$1.FC<TagBadgeProps>;
|
|
101
|
+
interface InteractiveBadgeProps extends BadgeProps {
|
|
102
|
+
active?: boolean;
|
|
103
|
+
disabled?: boolean;
|
|
104
|
+
}
|
|
105
|
+
declare const InteractiveBadge: React$1.FC<InteractiveBadgeProps>;
|
|
106
|
+
interface GradientBadgeProps extends Omit<BadgeProps, "variant"> {
|
|
107
|
+
from?: string;
|
|
108
|
+
to?: string;
|
|
109
|
+
}
|
|
110
|
+
declare const GradientBadge: React$1.FC<GradientBadgeProps>;
|
|
111
|
+
interface PulseBadgeProps extends BadgeProps {
|
|
112
|
+
speed?: "slow" | "normal" | "fast";
|
|
113
|
+
}
|
|
114
|
+
declare const PulseBadge: React$1.FC<PulseBadgeProps>;
|
|
115
|
+
|
|
116
|
+
interface CardProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
117
|
+
title?: string;
|
|
118
|
+
description?: string;
|
|
119
|
+
footer?: React__default.ReactNode;
|
|
120
|
+
className?: string;
|
|
121
|
+
children?: React__default.ReactNode;
|
|
122
|
+
hoverable?: boolean;
|
|
123
|
+
clickable?: boolean;
|
|
124
|
+
innerClassName?: string;
|
|
125
|
+
contentClassName?: string;
|
|
126
|
+
noPadding?: boolean;
|
|
127
|
+
}
|
|
128
|
+
declare const Card: ({ title, description, children, footer, className, hoverable, clickable, innerClassName, contentClassName, noPadding, onClick, ...rest }: CardProps) => React__default.JSX.Element;
|
|
129
|
+
|
|
130
|
+
interface CheckboxProps extends React$1.InputHTMLAttributes<HTMLInputElement> {
|
|
131
|
+
label?: React$1.ReactNode;
|
|
132
|
+
labelClassName?: string;
|
|
133
|
+
containerClassName?: string;
|
|
134
|
+
}
|
|
135
|
+
declare const Checkbox: React$1.ForwardRefExoticComponent<CheckboxProps & React$1.RefAttributes<HTMLInputElement>>;
|
|
136
|
+
|
|
137
|
+
interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
138
|
+
label?: string;
|
|
139
|
+
error?: string;
|
|
140
|
+
description?: string;
|
|
141
|
+
variant?: "default" | "filled" | "outlined" | "minimal";
|
|
142
|
+
size?: "sm" | "md" | "lg";
|
|
143
|
+
leftIcon?: React__default.ComponentType<{
|
|
144
|
+
className?: string;
|
|
145
|
+
}>;
|
|
146
|
+
rightIcon?: React__default.ComponentType<{
|
|
147
|
+
className?: string;
|
|
148
|
+
}>;
|
|
149
|
+
clearable?: boolean;
|
|
150
|
+
loading?: boolean;
|
|
151
|
+
success?: boolean;
|
|
152
|
+
onClear?: () => void;
|
|
153
|
+
hint?: string;
|
|
154
|
+
counter?: boolean;
|
|
155
|
+
maxLength?: number;
|
|
156
|
+
}
|
|
157
|
+
declare const Input: React__default.ForwardRefExoticComponent<InputProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
158
|
+
|
|
159
|
+
interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
160
|
+
label?: string;
|
|
161
|
+
error?: string;
|
|
162
|
+
description?: string;
|
|
163
|
+
variant?: "default" | "filled" | "outlined";
|
|
164
|
+
size?: "sm" | "md" | "lg";
|
|
165
|
+
}
|
|
166
|
+
declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>;
|
|
167
|
+
|
|
168
|
+
interface SwitchProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
169
|
+
checked: boolean;
|
|
170
|
+
onCheckedChange: (checked: boolean) => void;
|
|
171
|
+
label?: string;
|
|
172
|
+
size?: "sm" | "md" | "lg";
|
|
173
|
+
variant?: "default" | "success" | "warning" | "danger";
|
|
174
|
+
disabled?: boolean;
|
|
175
|
+
}
|
|
176
|
+
declare const Switch: React$1.FC<SwitchProps>;
|
|
177
|
+
|
|
178
|
+
declare const Label: React$1.ForwardRefExoticComponent<React$1.LabelHTMLAttributes<HTMLLabelElement> & VariantProps<(props?: class_variance_authority_types.ClassProp | undefined) => string> & React$1.RefAttributes<HTMLLabelElement>>;
|
|
179
|
+
|
|
180
|
+
interface AvatarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
181
|
+
src?: string;
|
|
182
|
+
alt?: string;
|
|
183
|
+
fallback?: string;
|
|
184
|
+
size?: "sm" | "md" | "lg";
|
|
185
|
+
onClick?: () => void;
|
|
186
|
+
}
|
|
187
|
+
declare const Avatar: ({ src, alt, fallback, size, className, onClick, ...props }: AvatarProps) => React$1.JSX.Element;
|
|
188
|
+
|
|
189
|
+
interface SkeletonProps {
|
|
190
|
+
className?: string;
|
|
191
|
+
width?: string | number;
|
|
192
|
+
height?: string | number;
|
|
193
|
+
variant?: "rectangular" | "circular" | "rounded" | "text";
|
|
194
|
+
animation?: "pulse" | "wave" | "none";
|
|
195
|
+
lines?: number;
|
|
196
|
+
}
|
|
197
|
+
declare const Skeleton: React__default.FC<SkeletonProps>;
|
|
198
|
+
|
|
199
|
+
interface ProgressProps {
|
|
200
|
+
value: number;
|
|
201
|
+
max?: number;
|
|
202
|
+
className?: string;
|
|
203
|
+
variant?: "default" | "primary" | "success" | "warning" | "danger" | "info";
|
|
204
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
205
|
+
showValue?: boolean;
|
|
206
|
+
label?: string;
|
|
207
|
+
animated?: boolean;
|
|
208
|
+
striped?: boolean;
|
|
209
|
+
indeterminate?: boolean;
|
|
210
|
+
description?: string;
|
|
211
|
+
status?: "normal" | "error" | "complete";
|
|
212
|
+
}
|
|
213
|
+
declare const Progress: React__default.FC<ProgressProps>;
|
|
214
|
+
|
|
215
|
+
interface ModalProps {
|
|
216
|
+
isOpen: boolean;
|
|
217
|
+
onClose: () => void;
|
|
218
|
+
children: React$1.ReactNode;
|
|
219
|
+
title?: string;
|
|
220
|
+
description?: string;
|
|
221
|
+
className?: string;
|
|
222
|
+
overlayClassName?: string;
|
|
223
|
+
showCloseButton?: boolean;
|
|
224
|
+
closeOnOverlayClick?: boolean;
|
|
225
|
+
closeOnEsc?: boolean;
|
|
226
|
+
size?: "sm" | "md" | "lg" | "xl" | "full";
|
|
227
|
+
}
|
|
228
|
+
declare const Modal: React$1.FC<ModalProps>;
|
|
229
|
+
|
|
230
|
+
type ToastType = "success" | "error" | "warning" | "info";
|
|
231
|
+
type ToastPosition = "top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center" | "bottom-center";
|
|
232
|
+
interface Toast {
|
|
233
|
+
id: string;
|
|
234
|
+
type: ToastType;
|
|
235
|
+
title?: string;
|
|
236
|
+
message: string;
|
|
237
|
+
duration?: number;
|
|
238
|
+
action?: {
|
|
239
|
+
label: string;
|
|
240
|
+
onClick: () => void;
|
|
241
|
+
};
|
|
242
|
+
dismissible?: boolean;
|
|
243
|
+
}
|
|
244
|
+
interface ToastContextType {
|
|
245
|
+
addToast: (toast: Omit<Toast, "id">) => void;
|
|
246
|
+
removeToast: (id: string) => void;
|
|
247
|
+
toasts: Toast[];
|
|
248
|
+
}
|
|
249
|
+
declare const useToast: () => ToastContextType;
|
|
250
|
+
interface ToastProviderProps {
|
|
251
|
+
children: React__default.ReactNode;
|
|
252
|
+
position?: ToastPosition;
|
|
253
|
+
maxToasts?: number;
|
|
254
|
+
}
|
|
255
|
+
declare const ToastProvider: React__default.FC<ToastProviderProps>;
|
|
256
|
+
|
|
257
|
+
interface TooltipProps {
|
|
258
|
+
children: React$1.ReactElement;
|
|
259
|
+
content: React$1.ReactNode;
|
|
260
|
+
placement?: "top" | "right" | "bottom" | "left";
|
|
261
|
+
delay?: number | {
|
|
262
|
+
open?: number;
|
|
263
|
+
close?: number;
|
|
264
|
+
};
|
|
265
|
+
className?: string;
|
|
266
|
+
disabled?: boolean;
|
|
267
|
+
variant?: "default" | "info" | "warning" | "error" | "success";
|
|
268
|
+
}
|
|
269
|
+
declare const Tooltip: React$1.FC<TooltipProps>;
|
|
270
|
+
|
|
271
|
+
interface PopoverProps {
|
|
272
|
+
trigger: React$1.ReactElement;
|
|
273
|
+
children: React$1.ReactNode;
|
|
274
|
+
className?: string;
|
|
275
|
+
contentClassName?: string;
|
|
276
|
+
placement?: "top" | "bottom" | "left" | "right" | "top-start" | "bottom-start" | "top-end" | "bottom-end";
|
|
277
|
+
modal?: boolean;
|
|
278
|
+
disabled?: boolean;
|
|
279
|
+
open?: boolean;
|
|
280
|
+
onOpenChange?: (open: boolean) => void;
|
|
281
|
+
matchTriggerWidth?: boolean;
|
|
282
|
+
contentWidth?: number;
|
|
283
|
+
}
|
|
284
|
+
declare const Popover: React$1.FC<PopoverProps>;
|
|
285
|
+
|
|
286
|
+
interface SheetProps {
|
|
287
|
+
open: boolean;
|
|
288
|
+
onOpenChange: (open: boolean) => void;
|
|
289
|
+
side?: "left" | "right" | "top" | "bottom";
|
|
290
|
+
size?: "sm" | "md" | "lg" | "xl" | "full";
|
|
291
|
+
variant?: "default" | "overlay" | "push";
|
|
292
|
+
children: React$1.ReactNode;
|
|
293
|
+
title?: React$1.ReactNode;
|
|
294
|
+
description?: React$1.ReactNode;
|
|
295
|
+
className?: string;
|
|
296
|
+
showClose?: boolean;
|
|
297
|
+
closeOnOutsideClick?: boolean;
|
|
298
|
+
closeOnEscape?: boolean;
|
|
299
|
+
header?: React$1.ReactNode;
|
|
300
|
+
footer?: React$1.ReactNode;
|
|
301
|
+
}
|
|
302
|
+
declare const Sheet: React$1.FC<SheetProps>;
|
|
303
|
+
interface DrawerProps extends Omit<SheetProps, "side"> {
|
|
304
|
+
placement?: "left" | "right";
|
|
305
|
+
}
|
|
306
|
+
declare const Drawer: React$1.FC<DrawerProps>;
|
|
307
|
+
interface SlideOverProps extends Omit<SheetProps, "side" | "variant"> {
|
|
308
|
+
}
|
|
309
|
+
declare const SlideOver: React$1.FC<SlideOverProps>;
|
|
310
|
+
interface BottomSheetProps extends Omit<SheetProps, "side"> {
|
|
311
|
+
snapPoints?: string[];
|
|
312
|
+
defaultSnap?: number;
|
|
313
|
+
}
|
|
314
|
+
declare const BottomSheet: React$1.FC<BottomSheetProps>;
|
|
315
|
+
interface SidebarSheetProps extends Omit<SheetProps, "side" | "variant"> {
|
|
316
|
+
navigation?: React$1.ReactNode;
|
|
317
|
+
}
|
|
318
|
+
declare const SidebarSheet: React$1.FC<SidebarSheetProps>;
|
|
319
|
+
|
|
320
|
+
type AlertVariant = "default" | "info" | "success" | "warning" | "error";
|
|
321
|
+
interface AlertProps {
|
|
322
|
+
title?: string;
|
|
323
|
+
description?: ReactNode;
|
|
324
|
+
variant?: AlertVariant;
|
|
325
|
+
className?: string;
|
|
326
|
+
icon?: ReactNode;
|
|
327
|
+
dismissible?: boolean;
|
|
328
|
+
onClose?: () => void;
|
|
329
|
+
actions?: ReactNode;
|
|
330
|
+
}
|
|
331
|
+
declare const Alert: ({ title, description, variant, className, icon, dismissible, onClose, actions }: AlertProps) => React$1.JSX.Element | null;
|
|
332
|
+
|
|
333
|
+
interface GlobalLoadingProps {
|
|
334
|
+
className?: string;
|
|
335
|
+
backdrop?: boolean;
|
|
336
|
+
position?: 'fixed' | 'absolute';
|
|
337
|
+
size?: 'sm' | 'md' | 'lg';
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Component GlobalLoading - tự động lắng nghe singleton loading state
|
|
341
|
+
* Chỉ cần gắn 1 lần ở root của app
|
|
342
|
+
*/
|
|
343
|
+
declare const GlobalLoading: React__default.FC<GlobalLoadingProps>;
|
|
344
|
+
interface PageLoadingProps {
|
|
345
|
+
message?: string;
|
|
346
|
+
className?: string;
|
|
347
|
+
}
|
|
348
|
+
declare const PageLoading: React__default.FC<PageLoadingProps>;
|
|
349
|
+
interface InlineLoadingProps {
|
|
350
|
+
isLoading: boolean;
|
|
351
|
+
text?: string;
|
|
352
|
+
className?: string;
|
|
353
|
+
size?: 'sm' | 'md' | 'lg';
|
|
354
|
+
}
|
|
355
|
+
declare const InlineLoading: React__default.FC<InlineLoadingProps>;
|
|
356
|
+
interface ButtonLoadingProps {
|
|
357
|
+
isLoading: boolean;
|
|
358
|
+
children: React__default.ReactNode;
|
|
359
|
+
className?: string;
|
|
360
|
+
disabled?: boolean;
|
|
361
|
+
loadingText?: string;
|
|
362
|
+
}
|
|
363
|
+
declare const ButtonLoading: React__default.FC<ButtonLoadingProps>;
|
|
364
|
+
|
|
365
|
+
interface BreadcrumbItem {
|
|
366
|
+
label: string;
|
|
367
|
+
href?: string;
|
|
368
|
+
icon?: React$1.ComponentType<{
|
|
369
|
+
className?: string;
|
|
370
|
+
}>;
|
|
371
|
+
disabled?: boolean;
|
|
372
|
+
}
|
|
373
|
+
interface BreadcrumbProps {
|
|
374
|
+
items: BreadcrumbItem[];
|
|
375
|
+
className?: string;
|
|
376
|
+
separator?: React$1.ComponentType<{
|
|
377
|
+
className?: string;
|
|
378
|
+
}> | string;
|
|
379
|
+
size?: "sm" | "md" | "lg";
|
|
380
|
+
variant?: "default" | "simple" | "slash" | "arrow" | "pill";
|
|
381
|
+
maxItems?: number;
|
|
382
|
+
showHome?: boolean;
|
|
383
|
+
homeHref?: string;
|
|
384
|
+
collapsible?: boolean;
|
|
385
|
+
}
|
|
386
|
+
declare const Breadcrumb: React$1.FC<BreadcrumbProps>;
|
|
387
|
+
|
|
388
|
+
interface Tab {
|
|
389
|
+
label: string;
|
|
390
|
+
value: string;
|
|
391
|
+
content: React$1.ReactNode;
|
|
392
|
+
icon?: React$1.ComponentType<{
|
|
393
|
+
className?: string;
|
|
394
|
+
}>;
|
|
395
|
+
disabled?: boolean;
|
|
396
|
+
}
|
|
397
|
+
interface TabsProps {
|
|
398
|
+
tabs: Tab[];
|
|
399
|
+
defaultValue?: string;
|
|
400
|
+
className?: string;
|
|
401
|
+
variant?: "default" | "pills" | "underline" | "card" | "underline-card";
|
|
402
|
+
size?: "sm" | "md" | "lg";
|
|
403
|
+
orientation?: "horizontal" | "vertical";
|
|
404
|
+
onTabChange?: (value: string) => void;
|
|
405
|
+
stretch?: boolean;
|
|
406
|
+
}
|
|
407
|
+
declare const Tabs: React$1.FC<TabsProps>;
|
|
408
|
+
interface SimpleTabsProps {
|
|
409
|
+
tabs: Array<{
|
|
410
|
+
label: string;
|
|
411
|
+
value: string;
|
|
412
|
+
content: React$1.ReactNode;
|
|
413
|
+
}>;
|
|
414
|
+
defaultValue?: string;
|
|
415
|
+
className?: string;
|
|
416
|
+
}
|
|
417
|
+
declare const SimpleTabs: React$1.FC<SimpleTabsProps>;
|
|
418
|
+
interface PillTabsProps extends TabsProps {
|
|
419
|
+
contained?: boolean;
|
|
420
|
+
}
|
|
421
|
+
declare const PillTabs: React$1.FC<PillTabsProps>;
|
|
422
|
+
interface VerticalTabsProps extends TabsProps {
|
|
423
|
+
sidebarWidth?: string;
|
|
424
|
+
}
|
|
425
|
+
declare const VerticalTabs: React$1.FC<VerticalTabsProps>;
|
|
426
|
+
|
|
427
|
+
interface DropdownMenuProps {
|
|
428
|
+
trigger: React__default.ReactElement;
|
|
429
|
+
children?: React__default.ReactNode;
|
|
430
|
+
className?: string;
|
|
431
|
+
contentClassName?: string;
|
|
432
|
+
placement?: "top" | "bottom" | "left" | "right" | "top-start" | "bottom-start" | "top-end" | "bottom-end";
|
|
433
|
+
closeOnSelect?: boolean;
|
|
434
|
+
disabled?: boolean;
|
|
435
|
+
isOpen?: boolean;
|
|
436
|
+
onOpenChange?: (open: boolean) => void;
|
|
437
|
+
items?: Array<{
|
|
438
|
+
label: string;
|
|
439
|
+
icon?: React__default.ComponentType<any>;
|
|
440
|
+
onClick: () => void;
|
|
441
|
+
disabled?: boolean;
|
|
442
|
+
destructive?: boolean;
|
|
443
|
+
}>;
|
|
444
|
+
}
|
|
445
|
+
declare const DropdownMenu: React__default.FC<DropdownMenuProps>;
|
|
446
|
+
|
|
447
|
+
interface PaginationProps {
|
|
448
|
+
page: number;
|
|
449
|
+
totalPages: number;
|
|
450
|
+
onChange: (page: number) => void;
|
|
451
|
+
className?: string;
|
|
452
|
+
size?: "sm" | "md" | "lg";
|
|
453
|
+
variant?: "default" | "outline" | "ghost";
|
|
454
|
+
showFirstLast?: boolean;
|
|
455
|
+
showPrevNext?: boolean;
|
|
456
|
+
showPageNumbers?: boolean;
|
|
457
|
+
showInfo?: boolean;
|
|
458
|
+
disabled?: boolean;
|
|
459
|
+
pageSize?: number;
|
|
460
|
+
pageSizeOptions?: number[];
|
|
461
|
+
onPageSizeChange?: (size: number) => void;
|
|
462
|
+
totalItems?: number;
|
|
463
|
+
}
|
|
464
|
+
declare const Pagination: React$1.FC<PaginationProps>;
|
|
465
|
+
|
|
466
|
+
interface SectionProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
467
|
+
children: React__default.ReactNode;
|
|
468
|
+
className?: string;
|
|
469
|
+
variant?: "default" | "muted" | "primary" | "accent";
|
|
470
|
+
spacing?: "sm" | "md" | "lg" | "xl";
|
|
471
|
+
fullWidth?: boolean;
|
|
472
|
+
}
|
|
473
|
+
declare const Section: React__default.ForwardRefExoticComponent<SectionProps & React__default.RefAttributes<HTMLElement>>;
|
|
474
|
+
|
|
475
|
+
interface ScrollAreaProps extends HTMLAttributes<HTMLDivElement> {
|
|
476
|
+
className?: string;
|
|
477
|
+
}
|
|
478
|
+
declare const ScrollArea: React$1.ForwardRefExoticComponent<ScrollAreaProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
479
|
+
|
|
480
|
+
interface DatePickerProps {
|
|
481
|
+
id?: string;
|
|
482
|
+
value?: Date;
|
|
483
|
+
onChange: (date: Date) => void;
|
|
484
|
+
placeholder?: string;
|
|
485
|
+
className?: string;
|
|
486
|
+
disabled?: boolean;
|
|
487
|
+
size?: "sm" | "md";
|
|
488
|
+
label?: string;
|
|
489
|
+
required?: boolean;
|
|
490
|
+
}
|
|
491
|
+
declare const DatePicker: React$1.FC<DatePickerProps>;
|
|
492
|
+
|
|
493
|
+
type ComboboxOption = string | {
|
|
494
|
+
label: string;
|
|
495
|
+
value: any;
|
|
496
|
+
};
|
|
497
|
+
interface ComboboxProps {
|
|
498
|
+
id?: string;
|
|
499
|
+
options: ComboboxOption[];
|
|
500
|
+
value?: any;
|
|
501
|
+
onChange: (value: any) => void;
|
|
502
|
+
placeholder?: string;
|
|
503
|
+
className?: string;
|
|
504
|
+
disabled?: boolean;
|
|
505
|
+
size?: "sm" | "md" | "lg";
|
|
506
|
+
variant?: "default" | "outline" | "ghost";
|
|
507
|
+
allowClear?: boolean;
|
|
508
|
+
searchPlaceholder?: string;
|
|
509
|
+
emptyText?: string;
|
|
510
|
+
usePortal?: boolean;
|
|
511
|
+
label?: string;
|
|
512
|
+
required?: boolean;
|
|
513
|
+
fontBold?: boolean;
|
|
514
|
+
}
|
|
515
|
+
declare const Combobox: React$1.FC<ComboboxProps>;
|
|
516
|
+
|
|
517
|
+
interface MultiComboboxProps {
|
|
518
|
+
id?: string;
|
|
519
|
+
options: string[];
|
|
520
|
+
value: string[];
|
|
521
|
+
onChange: (value: string[]) => void;
|
|
522
|
+
placeholder?: string;
|
|
523
|
+
maxSelected?: number;
|
|
524
|
+
disabledOptions?: string[];
|
|
525
|
+
showTags?: boolean;
|
|
526
|
+
showClear?: boolean;
|
|
527
|
+
className?: string;
|
|
528
|
+
disabled?: boolean;
|
|
529
|
+
size?: 'sm' | 'md' | 'lg';
|
|
530
|
+
label?: string;
|
|
531
|
+
required?: boolean;
|
|
532
|
+
}
|
|
533
|
+
declare const MultiCombobox: React$1.FC<MultiComboboxProps>;
|
|
534
|
+
|
|
535
|
+
interface RadioGroupProps {
|
|
536
|
+
value?: string;
|
|
537
|
+
defaultValue?: string;
|
|
538
|
+
onValueChange?: (value: string) => void;
|
|
539
|
+
name?: string;
|
|
540
|
+
disabled?: boolean;
|
|
541
|
+
orientation?: "horizontal" | "vertical";
|
|
542
|
+
size?: "sm" | "md" | "lg";
|
|
543
|
+
variant?: "default" | "card" | "button";
|
|
544
|
+
className?: string;
|
|
545
|
+
children: React$1.ReactNode;
|
|
546
|
+
required?: boolean;
|
|
547
|
+
error?: boolean;
|
|
548
|
+
errorMessage?: string;
|
|
549
|
+
}
|
|
550
|
+
declare const RadioGroup: React$1.ForwardRefExoticComponent<RadioGroupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
551
|
+
|
|
552
|
+
interface SliderProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size'> {
|
|
553
|
+
value?: number;
|
|
554
|
+
defaultValue?: number;
|
|
555
|
+
min?: number;
|
|
556
|
+
max?: number;
|
|
557
|
+
step?: number;
|
|
558
|
+
onChange?: (value: number) => void;
|
|
559
|
+
onValueChange?: (value: number) => void;
|
|
560
|
+
label?: React$1.ReactNode;
|
|
561
|
+
labelClassName?: string;
|
|
562
|
+
containerClassName?: string;
|
|
563
|
+
trackClassName?: string;
|
|
564
|
+
thumbClassName?: string;
|
|
565
|
+
showValue?: boolean;
|
|
566
|
+
valueClassName?: string;
|
|
567
|
+
formatValue?: (value: number) => string;
|
|
568
|
+
size?: "sm" | "md" | "lg";
|
|
569
|
+
disabled?: boolean;
|
|
570
|
+
orientation?: "horizontal" | "vertical";
|
|
571
|
+
}
|
|
572
|
+
declare const Slider: React$1.ForwardRefExoticComponent<SliderProps & React$1.RefAttributes<HTMLInputElement>>;
|
|
573
|
+
|
|
574
|
+
interface Category {
|
|
575
|
+
id: number;
|
|
576
|
+
name: string;
|
|
577
|
+
parent_id?: number | null;
|
|
578
|
+
}
|
|
579
|
+
interface CategoryTreeSelectProps {
|
|
580
|
+
categories: Category[];
|
|
581
|
+
value: number[];
|
|
582
|
+
onChange: (selectedIds: number[]) => void;
|
|
583
|
+
placeholder?: string;
|
|
584
|
+
disabled?: boolean;
|
|
585
|
+
}
|
|
586
|
+
declare function CategoryTreeSelect({ categories, value, onChange, placeholder, disabled }: CategoryTreeSelectProps): React__default.JSX.Element;
|
|
587
|
+
|
|
588
|
+
type Fit = "cover" | "contain";
|
|
589
|
+
interface SmartImageProps {
|
|
590
|
+
src: string | undefined | null;
|
|
591
|
+
alt: string;
|
|
592
|
+
className?: string;
|
|
593
|
+
/**
|
|
594
|
+
* Aspect ratio utility class, e.g. `aspect-square`, `aspect-[4/3]`.
|
|
595
|
+
* If provided with `fill`, the wrapper enforces the ratio.
|
|
596
|
+
*/
|
|
597
|
+
ratioClass?: string;
|
|
598
|
+
/**
|
|
599
|
+
* Rounded corners; defaults to `rounded-lg` to match project style.
|
|
600
|
+
*/
|
|
601
|
+
roundedClass?: string;
|
|
602
|
+
/**
|
|
603
|
+
* When true, uses fill layout; otherwise width/height if provided.
|
|
604
|
+
*/
|
|
605
|
+
fill?: boolean;
|
|
606
|
+
width?: number;
|
|
607
|
+
height?: number;
|
|
608
|
+
sizes?: string;
|
|
609
|
+
priority?: boolean;
|
|
610
|
+
quality?: number;
|
|
611
|
+
fit?: Fit;
|
|
612
|
+
/** Optional fallback src if original fails. */
|
|
613
|
+
fallbackSrc?: string;
|
|
614
|
+
}
|
|
615
|
+
declare function SmartImage({ src, alt, className, ratioClass, roundedClass, fill, width, height, sizes, priority, quality, fit, fallbackSrc, }: SmartImageProps): React__default.JSX.Element;
|
|
616
|
+
|
|
617
|
+
interface UploadedImage {
|
|
618
|
+
id: number;
|
|
619
|
+
path: string;
|
|
620
|
+
url: string;
|
|
621
|
+
originalName: string;
|
|
622
|
+
size: number;
|
|
623
|
+
mimeType: string;
|
|
624
|
+
width?: number;
|
|
625
|
+
height?: number;
|
|
626
|
+
formattedSize?: string;
|
|
627
|
+
}
|
|
628
|
+
interface ImageUploadProps {
|
|
629
|
+
onUpload?: (image: UploadedImage) => void;
|
|
630
|
+
onRemove?: (imageId: string) => void;
|
|
631
|
+
maxSize?: number;
|
|
632
|
+
accept?: string;
|
|
633
|
+
multiple?: boolean;
|
|
634
|
+
disabled?: boolean;
|
|
635
|
+
className?: string;
|
|
636
|
+
showPreview?: boolean;
|
|
637
|
+
previewSize?: 'sm' | 'md' | 'lg';
|
|
638
|
+
dragDropText?: string;
|
|
639
|
+
browseText?: string;
|
|
640
|
+
supportedFormatsText?: string;
|
|
641
|
+
}
|
|
642
|
+
declare function ImageUpload({ onUpload, onRemove, maxSize, // Convert bytes to MB
|
|
643
|
+
accept, multiple, disabled, className, showPreview, previewSize, dragDropText, browseText, supportedFormatsText }: ImageUploadProps): React$1.JSX.Element;
|
|
644
|
+
|
|
645
|
+
interface ProductImageUploadProps {
|
|
646
|
+
value?: string;
|
|
647
|
+
onChange: (url: string) => void;
|
|
648
|
+
disabled?: boolean;
|
|
649
|
+
className?: string;
|
|
650
|
+
}
|
|
651
|
+
declare const ProductImageUpload: React__default.FC<ProductImageUploadProps>;
|
|
652
|
+
|
|
653
|
+
interface CarouselProps {
|
|
654
|
+
children: React$1.ReactNode[];
|
|
655
|
+
autoScroll?: boolean;
|
|
656
|
+
autoScrollInterval?: number;
|
|
657
|
+
}
|
|
658
|
+
declare function Carousel({ children, autoScroll, autoScrollInterval }: CarouselProps): React$1.JSX.Element;
|
|
659
|
+
|
|
660
|
+
interface ClientOnlyProps {
|
|
661
|
+
children: React.ReactNode;
|
|
662
|
+
fallback?: React.ReactNode;
|
|
663
|
+
}
|
|
664
|
+
declare function ClientOnly({ children, fallback }: ClientOnlyProps): React$1.JSX.Element;
|
|
665
|
+
|
|
666
|
+
interface LoadingSpinnerProps {
|
|
667
|
+
size?: 'sm' | 'md' | 'lg';
|
|
668
|
+
className?: string;
|
|
669
|
+
color?: 'primary' | 'foreground' | 'muted';
|
|
670
|
+
}
|
|
671
|
+
declare const LoadingSpinner: React__default.FC<LoadingSpinnerProps>;
|
|
672
|
+
interface LoadingDotsProps {
|
|
673
|
+
className?: string;
|
|
674
|
+
color?: 'primary' | 'foreground' | 'muted';
|
|
675
|
+
}
|
|
676
|
+
declare const LoadingDots: React__default.FC<LoadingDotsProps>;
|
|
677
|
+
interface LoadingBarProps {
|
|
678
|
+
progress?: number;
|
|
679
|
+
className?: string;
|
|
680
|
+
animated?: boolean;
|
|
681
|
+
label?: string;
|
|
682
|
+
}
|
|
683
|
+
declare const LoadingBar: React__default.FC<LoadingBarProps>;
|
|
684
|
+
|
|
685
|
+
type FilterType = "text" | "select" | "date";
|
|
686
|
+
type DataTableColumn<T> = {
|
|
687
|
+
key: string;
|
|
688
|
+
title: React__default.ReactNode;
|
|
689
|
+
dataIndex?: keyof T | string;
|
|
690
|
+
width?: number | string;
|
|
691
|
+
align?: "left" | "center" | "right";
|
|
692
|
+
sortable?: boolean;
|
|
693
|
+
filter?: {
|
|
694
|
+
type: FilterType;
|
|
695
|
+
options?: string[];
|
|
696
|
+
placeholder?: string;
|
|
697
|
+
};
|
|
698
|
+
render?: (value: any, record: T, index: number) => React__default.ReactNode;
|
|
699
|
+
visible?: boolean;
|
|
700
|
+
};
|
|
701
|
+
type Sorter = {
|
|
702
|
+
key: string;
|
|
703
|
+
order: "asc" | "desc";
|
|
704
|
+
} | null;
|
|
705
|
+
interface DataTableQuery {
|
|
706
|
+
filters: Record<string, any>;
|
|
707
|
+
sort?: Sorter;
|
|
708
|
+
page: number;
|
|
709
|
+
pageSize: number;
|
|
710
|
+
}
|
|
711
|
+
interface DataTableProps<T> {
|
|
712
|
+
columns: DataTableColumn<T>[];
|
|
713
|
+
data: T[];
|
|
714
|
+
rowKey?: ((row: T) => string | number) | keyof T;
|
|
715
|
+
loading?: boolean;
|
|
716
|
+
total?: number;
|
|
717
|
+
page?: number;
|
|
718
|
+
pageSize?: number;
|
|
719
|
+
onQueryChange?: (q: DataTableQuery) => void;
|
|
720
|
+
caption?: React__default.ReactNode;
|
|
721
|
+
toolbar?: React__default.ReactNode;
|
|
722
|
+
enableColumnVisibilityToggle?: boolean;
|
|
723
|
+
enableDensityToggle?: boolean;
|
|
724
|
+
striped?: boolean;
|
|
725
|
+
className?: string;
|
|
726
|
+
}
|
|
727
|
+
declare function DataTable<T extends Record<string, any>>({ columns, data, rowKey, loading, total, page, pageSize, onQueryChange, caption, toolbar, enableColumnVisibilityToggle, enableDensityToggle, striped, // Mặc định bật màu nền sẽn kẽ cho các dòng
|
|
728
|
+
className, }: DataTableProps<T>): React__default.JSX.Element;
|
|
729
|
+
|
|
730
|
+
interface TableProps extends React__default.HTMLAttributes<HTMLTableElement> {
|
|
731
|
+
containerClassName?: string;
|
|
732
|
+
}
|
|
733
|
+
declare const Table: React__default.ForwardRefExoticComponent<TableProps & React__default.RefAttributes<HTMLTableElement>>;
|
|
734
|
+
interface TableHeaderProps extends React__default.HTMLAttributes<HTMLTableSectionElement> {
|
|
735
|
+
filterRow?: React__default.ReactNode;
|
|
736
|
+
}
|
|
737
|
+
declare const TableHeader: React__default.ForwardRefExoticComponent<TableHeaderProps & React__default.RefAttributes<HTMLTableSectionElement>>;
|
|
738
|
+
declare const TableBody: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLTableSectionElement> & React__default.RefAttributes<HTMLTableSectionElement>>;
|
|
739
|
+
declare const TableFooter: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLTableSectionElement> & React__default.RefAttributes<HTMLTableSectionElement>>;
|
|
740
|
+
declare const TableRow: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLTableRowElement> & React__default.RefAttributes<HTMLTableRowElement>>;
|
|
741
|
+
declare const TableHead: React__default.ForwardRefExoticComponent<React__default.ThHTMLAttributes<HTMLTableCellElement> & React__default.RefAttributes<HTMLTableCellElement>>;
|
|
742
|
+
declare const TableCell: React__default.ForwardRefExoticComponent<React__default.TdHTMLAttributes<HTMLTableCellElement> & React__default.RefAttributes<HTMLTableCellElement>>;
|
|
743
|
+
declare const TableCaption: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLTableCaptionElement> & React__default.RefAttributes<HTMLTableCaptionElement>>;
|
|
744
|
+
|
|
745
|
+
interface NotificationItem {
|
|
746
|
+
id: number;
|
|
747
|
+
title?: string;
|
|
748
|
+
body?: string;
|
|
749
|
+
type?: string;
|
|
750
|
+
is_read: boolean;
|
|
751
|
+
created_at: string;
|
|
752
|
+
metadata?: any;
|
|
753
|
+
}
|
|
754
|
+
interface NotificationModalProps {
|
|
755
|
+
isOpen: boolean;
|
|
756
|
+
onClose: () => void;
|
|
757
|
+
notification: NotificationItem | null;
|
|
758
|
+
}
|
|
759
|
+
declare function NotificationModal({ isOpen, onClose, notification }: NotificationModalProps): React$1.JSX.Element | null;
|
|
760
|
+
|
|
761
|
+
interface FloatingContactsProps {
|
|
762
|
+
className?: string;
|
|
763
|
+
}
|
|
764
|
+
declare function FloatingContacts({ className }: FloatingContactsProps): React$1.JSX.Element | null;
|
|
765
|
+
|
|
766
|
+
type Variant = "destructive" | "warning" | "info";
|
|
767
|
+
interface AccessDeniedProps {
|
|
768
|
+
title?: string;
|
|
769
|
+
description?: string;
|
|
770
|
+
variant?: Variant;
|
|
771
|
+
icon?: React__default.ComponentType<{
|
|
772
|
+
className?: string;
|
|
773
|
+
}>;
|
|
774
|
+
className?: string;
|
|
775
|
+
children?: React__default.ReactNode;
|
|
776
|
+
}
|
|
777
|
+
declare function AccessDenied({ title, description, variant, icon: Icon, className, children, }: AccessDeniedProps): React__default.JSX.Element;
|
|
778
|
+
|
|
779
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
780
|
+
|
|
781
|
+
/**
|
|
782
|
+
* Date formatting utilities for Vietnamese locale
|
|
783
|
+
* Provides consistent date/time formatting across the application
|
|
784
|
+
*/
|
|
785
|
+
/**
|
|
786
|
+
* Format date to Vietnamese readable format
|
|
787
|
+
* Example: "25 tháng 12, 2024"
|
|
788
|
+
*/
|
|
789
|
+
declare function formatDate(date: string | Date | null | undefined): string;
|
|
790
|
+
/**
|
|
791
|
+
* Format date to short format
|
|
792
|
+
* Example: "25/12/2024"
|
|
793
|
+
*/
|
|
794
|
+
declare function formatDateShort(date: string | Date | null | undefined): string;
|
|
795
|
+
/**
|
|
796
|
+
* Format time only
|
|
797
|
+
* Example: "14:30"
|
|
798
|
+
*/
|
|
799
|
+
declare function formatTime(date: string | Date | null | undefined): string;
|
|
800
|
+
/**
|
|
801
|
+
* Format date and time
|
|
802
|
+
* Example: "25/12/2024 14:30"
|
|
803
|
+
*/
|
|
804
|
+
declare function formatDateTime(date: string | Date | null | undefined): string;
|
|
805
|
+
/**
|
|
806
|
+
* Format date with time - more readable
|
|
807
|
+
* Example: "25 tháng 12, 2024 lúc 14:30"
|
|
808
|
+
*/
|
|
809
|
+
declare function formatDateTimeLong(date: string | Date | null | undefined): string;
|
|
810
|
+
/**
|
|
811
|
+
* Format relative time (time ago)
|
|
812
|
+
* Example: "2 giờ trước", "3 ngày trước", "1 tuần trước"
|
|
813
|
+
*/
|
|
814
|
+
declare function formatTimeAgo(date: string | Date | null | undefined): string;
|
|
815
|
+
/**
|
|
816
|
+
* Format date range
|
|
817
|
+
* Example: "25/12/2024 - 31/12/2024"
|
|
818
|
+
*/
|
|
819
|
+
declare function formatDateRange(startDate: string | Date | null | undefined, endDate: string | Date | null | undefined): string;
|
|
820
|
+
/**
|
|
821
|
+
* Check if date is today
|
|
822
|
+
*/
|
|
823
|
+
declare function isToday(date: string | Date | null | undefined): boolean;
|
|
824
|
+
/**
|
|
825
|
+
* Check if date is yesterday
|
|
826
|
+
*/
|
|
827
|
+
declare function isYesterday(date: string | Date | null | undefined): boolean;
|
|
828
|
+
/**
|
|
829
|
+
* Smart date formatting - shows relative time for recent dates, full date for older ones
|
|
830
|
+
* Example:
|
|
831
|
+
* - "Vừa xong" (< 1 min)
|
|
832
|
+
* - "5 phút trước" (< 1 hour)
|
|
833
|
+
* - "Hôm nay lúc 14:30" (today)
|
|
834
|
+
* - "Hôm qua lúc 14:30" (yesterday)
|
|
835
|
+
* - "25/12/2024 14:30" (older)
|
|
836
|
+
*/
|
|
837
|
+
declare function formatDateSmart(date: string | Date | null | undefined): string;
|
|
838
|
+
/**
|
|
839
|
+
* Format date for input[type="date"]
|
|
840
|
+
* Example: "2024-12-25"
|
|
841
|
+
*/
|
|
842
|
+
declare function formatDateForInput(date: string | Date | null | undefined): string;
|
|
843
|
+
/**
|
|
844
|
+
* Format date for input[type="datetime-local"]
|
|
845
|
+
* Example: "2024-12-25T14:30"
|
|
846
|
+
*/
|
|
847
|
+
declare function formatDateTimeForInput(date: string | Date | null | undefined): string;
|
|
848
|
+
/**
|
|
849
|
+
* Get day of week in Vietnamese
|
|
850
|
+
* Example: "Thứ Hai", "Thứ Ba", ...
|
|
851
|
+
*/
|
|
852
|
+
declare function getDayOfWeek(date: string | Date | null | undefined): string;
|
|
853
|
+
/**
|
|
854
|
+
* Format with day of week
|
|
855
|
+
* Example: "Thứ Hai, 25/12/2024"
|
|
856
|
+
*/
|
|
857
|
+
declare function formatDateWithDay(date: string | Date | null | undefined): string;
|
|
858
|
+
|
|
859
|
+
declare const date_formatDate: typeof formatDate;
|
|
860
|
+
declare const date_formatDateForInput: typeof formatDateForInput;
|
|
861
|
+
declare const date_formatDateRange: typeof formatDateRange;
|
|
862
|
+
declare const date_formatDateShort: typeof formatDateShort;
|
|
863
|
+
declare const date_formatDateSmart: typeof formatDateSmart;
|
|
864
|
+
declare const date_formatDateTime: typeof formatDateTime;
|
|
865
|
+
declare const date_formatDateTimeForInput: typeof formatDateTimeForInput;
|
|
866
|
+
declare const date_formatDateTimeLong: typeof formatDateTimeLong;
|
|
867
|
+
declare const date_formatDateWithDay: typeof formatDateWithDay;
|
|
868
|
+
declare const date_formatTime: typeof formatTime;
|
|
869
|
+
declare const date_formatTimeAgo: typeof formatTimeAgo;
|
|
870
|
+
declare const date_getDayOfWeek: typeof getDayOfWeek;
|
|
871
|
+
declare const date_isToday: typeof isToday;
|
|
872
|
+
declare const date_isYesterday: typeof isYesterday;
|
|
873
|
+
declare namespace date {
|
|
874
|
+
export { date_formatDate as formatDate, date_formatDateForInput as formatDateForInput, date_formatDateRange as formatDateRange, date_formatDateShort as formatDateShort, date_formatDateSmart as formatDateSmart, date_formatDateTime as formatDateTime, date_formatDateTimeForInput as formatDateTimeForInput, date_formatDateTimeLong as formatDateTimeLong, date_formatDateWithDay as formatDateWithDay, date_formatTime as formatTime, date_formatTimeAgo as formatTimeAgo, date_getDayOfWeek as getDayOfWeek, date_isToday as isToday, date_isYesterday as isYesterday };
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
declare const VARIANT_STYLES_ALERT: {
|
|
878
|
+
default: string;
|
|
879
|
+
info: string;
|
|
880
|
+
success: string;
|
|
881
|
+
warning: string;
|
|
882
|
+
error: string;
|
|
883
|
+
};
|
|
884
|
+
|
|
885
|
+
export { AccessDenied, Alert, Avatar, Badge, Badge as BadgeBase, BottomSheet, Breadcrumb, Button, ButtonLoading, Card, Carousel, CategoryTreeSelect, Checkbox, ClientOnly, Combobox, DataTable, DatePicker, date as DateUtils, Drawer, DropdownMenu, FloatingContacts, GlobalLoading, GradientBadge, ImageUpload, InlineLoading, Input, InteractiveBadge, Label, LoadingBar, LoadingDots, LoadingSpinner, Modal, MultiCombobox, NotificationBadge, NotificationModal, PageLoading, Pagination, PillTabs, Popover, ProductImageUpload, Progress, PulseBadge, RadioGroup, SIZE_STYLES_BTN, ScrollArea, Section, Sheet, SidebarSheet, SimpleTabs, Skeleton, SlideOver, Slider, SmartImage, StatusBadge, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TagBadge, Textarea, ToastProvider, Tooltip, VARIANT_STYLES_ALERT, VARIANT_STYLES_BTN, VerticalTabs, cn, useToast };
|