@acsrocha/ui 1.0.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 +132 -0
- package/dist/index.cjs +1637 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +395 -0
- package/dist/index.d.ts +395 -0
- package/dist/index.js +1576 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +3242 -0
- package/dist/theme.css +3242 -0
- package/package.json +60 -0
- package/tailwind.preset.cjs +49 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import React__default, { ReactNode } from 'react';
|
|
4
|
+
import { LucideIcon } from 'lucide-react';
|
|
5
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
6
|
+
import { VariantProps } from 'class-variance-authority';
|
|
7
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
8
|
+
import { ClassValue } from 'clsx';
|
|
9
|
+
|
|
10
|
+
type ViewMode = 'cards' | 'table' | 'list' | 'grid';
|
|
11
|
+
interface ViewModeOption {
|
|
12
|
+
value: ViewMode;
|
|
13
|
+
icon: LucideIcon;
|
|
14
|
+
label: string;
|
|
15
|
+
}
|
|
16
|
+
interface TabOption {
|
|
17
|
+
value: string;
|
|
18
|
+
label: string;
|
|
19
|
+
icon: LucideIcon;
|
|
20
|
+
badge?: number;
|
|
21
|
+
}
|
|
22
|
+
interface PageHeaderProps {
|
|
23
|
+
title: string;
|
|
24
|
+
subtitle?: string;
|
|
25
|
+
icon?: LucideIcon;
|
|
26
|
+
actions?: ReactNode;
|
|
27
|
+
badge?: {
|
|
28
|
+
label: string;
|
|
29
|
+
variant?: 'default' | 'secondary' | 'destructive' | 'outline';
|
|
30
|
+
};
|
|
31
|
+
viewMode?: ViewMode;
|
|
32
|
+
onViewModeChange?: (mode: ViewMode) => void;
|
|
33
|
+
viewModeOptions?: ViewMode[];
|
|
34
|
+
loading?: boolean;
|
|
35
|
+
tabs?: TabOption[];
|
|
36
|
+
activeTab?: string;
|
|
37
|
+
onTabChange?: (value: string) => void;
|
|
38
|
+
onRefresh?: () => void;
|
|
39
|
+
}
|
|
40
|
+
declare function PageHeader({ title, subtitle, icon: Icon, actions, badge, viewMode, onViewModeChange, viewModeOptions, loading, tabs, activeTab, onTabChange, onRefresh, }: PageHeaderProps): react_jsx_runtime.JSX.Element;
|
|
41
|
+
|
|
42
|
+
type AccentColor = 'blue' | 'purple' | 'green' | 'amber' | 'teal' | 'rose';
|
|
43
|
+
declare const STAT_ACCENT_SEQUENCE: AccentColor[];
|
|
44
|
+
interface StatCardProps {
|
|
45
|
+
icon?: LucideIcon;
|
|
46
|
+
title?: string;
|
|
47
|
+
label?: string;
|
|
48
|
+
value: string | number;
|
|
49
|
+
subtitle?: string;
|
|
50
|
+
sublabel?: string;
|
|
51
|
+
gradient?: string;
|
|
52
|
+
accentColor?: AccentColor;
|
|
53
|
+
color?: string;
|
|
54
|
+
onClick?: () => void;
|
|
55
|
+
variant?: 'default' | 'slim';
|
|
56
|
+
loading?: boolean;
|
|
57
|
+
active?: boolean;
|
|
58
|
+
}
|
|
59
|
+
declare function StatCard({ icon: Icon, title, label, value, subtitle, sublabel, gradient, accentColor, color, onClick, variant, loading, active, }: StatCardProps): react_jsx_runtime.JSX.Element;
|
|
60
|
+
|
|
61
|
+
interface PageLayoutProps {
|
|
62
|
+
header: ReactNode;
|
|
63
|
+
stats?: StatCardProps[];
|
|
64
|
+
statsCols?: 2 | 3 | 4 | 5 | 6;
|
|
65
|
+
content?: ReactNode;
|
|
66
|
+
viewMode?: 'table' | 'cards' | string;
|
|
67
|
+
tableContent?: ReactNode;
|
|
68
|
+
cardContent?: ReactNode;
|
|
69
|
+
paddingX?: string;
|
|
70
|
+
paddingTop?: string;
|
|
71
|
+
paddingBottom?: string;
|
|
72
|
+
gapHeaderStats?: string;
|
|
73
|
+
gapStatsContent?: string;
|
|
74
|
+
maxWidth?: string;
|
|
75
|
+
extras?: ReactNode;
|
|
76
|
+
fillHeight?: boolean;
|
|
77
|
+
}
|
|
78
|
+
declare function PageLayout({ header, stats, statsCols, content, viewMode, tableContent, cardContent, paddingX, paddingTop, paddingBottom, gapHeaderStats, gapStatsContent, maxWidth, extras, fillHeight, }: PageLayoutProps): react_jsx_runtime.JSX.Element;
|
|
79
|
+
|
|
80
|
+
interface DataTableColumn<T> {
|
|
81
|
+
key: keyof T | string;
|
|
82
|
+
label: string;
|
|
83
|
+
width?: string;
|
|
84
|
+
render?: (item: T, index: number) => ReactNode;
|
|
85
|
+
sortable?: boolean;
|
|
86
|
+
}
|
|
87
|
+
interface DataTableAction<T> {
|
|
88
|
+
label: string | ((item: T) => string);
|
|
89
|
+
icon: LucideIcon;
|
|
90
|
+
onClick: (item: T) => void;
|
|
91
|
+
variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';
|
|
92
|
+
className?: string | ((item: T) => string);
|
|
93
|
+
condition?: (item: T) => boolean;
|
|
94
|
+
}
|
|
95
|
+
interface DataTableFilter {
|
|
96
|
+
key: string;
|
|
97
|
+
label: string;
|
|
98
|
+
type: 'select' | 'multiselect' | 'text' | 'date';
|
|
99
|
+
options?: {
|
|
100
|
+
value: string;
|
|
101
|
+
label: string;
|
|
102
|
+
color?: string;
|
|
103
|
+
}[];
|
|
104
|
+
value?: any;
|
|
105
|
+
onChange: (value: any) => void;
|
|
106
|
+
}
|
|
107
|
+
interface DataTableProps<T> {
|
|
108
|
+
data?: T[];
|
|
109
|
+
columns: DataTableColumn<T>[];
|
|
110
|
+
title?: string;
|
|
111
|
+
subtitle?: string;
|
|
112
|
+
icon?: LucideIcon;
|
|
113
|
+
loading?: boolean;
|
|
114
|
+
hideHeader?: boolean;
|
|
115
|
+
total?: number;
|
|
116
|
+
page?: number;
|
|
117
|
+
pageSize?: number;
|
|
118
|
+
onPageChange?: (page: number) => void;
|
|
119
|
+
onPageSizeChange?: (pageSize: number) => void;
|
|
120
|
+
search?: string;
|
|
121
|
+
onSearchChange?: (search: string) => void;
|
|
122
|
+
filters?: DataTableFilter[];
|
|
123
|
+
actions?: DataTableAction<T>[];
|
|
124
|
+
selectable?: boolean;
|
|
125
|
+
selectedItems?: any[];
|
|
126
|
+
onSelectionChange?: (items: any[]) => void;
|
|
127
|
+
onBulkDelete?: (ids: any[]) => void;
|
|
128
|
+
bulkDeleteLabel?: string;
|
|
129
|
+
onRefresh?: () => void;
|
|
130
|
+
onExport?: () => void;
|
|
131
|
+
emptyMessage?: string;
|
|
132
|
+
emptyIcon?: LucideIcon;
|
|
133
|
+
stats?: StatCardProps[];
|
|
134
|
+
enablePagination?: boolean;
|
|
135
|
+
customActions?: ReactNode;
|
|
136
|
+
sortBy?: string;
|
|
137
|
+
sortOrder?: 'asc' | 'desc';
|
|
138
|
+
onSort?: (key: string) => void;
|
|
139
|
+
searchDebounce?: boolean;
|
|
140
|
+
tableBodyHeight?: string;
|
|
141
|
+
fillHeight?: boolean;
|
|
142
|
+
onRowClick?: (item: T) => void;
|
|
143
|
+
renderDrawer?: (item: T, onClose: () => void) => ReactNode;
|
|
144
|
+
}
|
|
145
|
+
declare function DataTable<T extends {
|
|
146
|
+
id: number | string;
|
|
147
|
+
}>({ data, columns, title, subtitle, icon: Icon, loading, total, page, pageSize, onPageChange, onPageSizeChange, search, onSearchChange, filters, actions, selectable, selectedItems, onSelectionChange, onBulkDelete, bulkDeleteLabel, onRefresh, onExport, emptyMessage, emptyIcon: EmptyIcon, stats, enablePagination, customActions, sortBy, sortOrder, onSort, hideHeader, searchDebounce, tableBodyHeight, fillHeight, onRowClick, renderDrawer, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
|
|
148
|
+
|
|
149
|
+
interface CardViewColumn<T> {
|
|
150
|
+
key: keyof T;
|
|
151
|
+
searchable?: boolean;
|
|
152
|
+
}
|
|
153
|
+
interface CardViewStat extends Omit<StatCardProps, 'onClick'> {
|
|
154
|
+
}
|
|
155
|
+
interface CardViewFilter {
|
|
156
|
+
key: string;
|
|
157
|
+
label: string;
|
|
158
|
+
value: string;
|
|
159
|
+
color?: 'gray' | 'green' | 'blue' | 'orange' | 'red' | 'purple' | 'cyan';
|
|
160
|
+
badge?: boolean;
|
|
161
|
+
emoji?: string;
|
|
162
|
+
}
|
|
163
|
+
interface CardViewProps<T> {
|
|
164
|
+
queryKey: string[];
|
|
165
|
+
queryFn: () => Promise<T[] | {
|
|
166
|
+
data?: T[];
|
|
167
|
+
assets?: T[];
|
|
168
|
+
}>;
|
|
169
|
+
title?: string;
|
|
170
|
+
subtitle?: string;
|
|
171
|
+
icon?: LucideIcon;
|
|
172
|
+
hideHeader?: boolean;
|
|
173
|
+
emptyMessage?: string;
|
|
174
|
+
emptyIcon?: LucideIcon;
|
|
175
|
+
renderCard: (item: T, isSelected: boolean, onDelete?: (id: number) => void) => ReactNode;
|
|
176
|
+
onCardClick: (item: T) => void;
|
|
177
|
+
selectedItem?: T | null;
|
|
178
|
+
onSelectedItemChange?: (item: T | null) => void;
|
|
179
|
+
stats?: CardViewStat[] | ((items: T[]) => CardViewStat[]);
|
|
180
|
+
filters?: CardViewFilter[] | ((items: T[]) => CardViewFilter[]);
|
|
181
|
+
filterFn?: (item: T, filterValue: string) => boolean;
|
|
182
|
+
activeFilters?: string[];
|
|
183
|
+
onActiveFiltersChange?: (filters: string[]) => void;
|
|
184
|
+
searchPlaceholder?: string;
|
|
185
|
+
searchColumns?: CardViewColumn<T>[];
|
|
186
|
+
persistKey?: string;
|
|
187
|
+
enablePresets?: boolean;
|
|
188
|
+
enableHistory?: boolean;
|
|
189
|
+
enableUrlSync?: boolean;
|
|
190
|
+
onNew?: () => void;
|
|
191
|
+
newButtonLabel?: string;
|
|
192
|
+
onExport?: () => void;
|
|
193
|
+
renderDrawer?: (item: T | null, onClose: () => void, onEdit: (item: T) => void, onDelete: (id: number) => void) => ReactNode;
|
|
194
|
+
deleteFn?: (id: number) => Promise<void>;
|
|
195
|
+
deleteTitle?: string;
|
|
196
|
+
deleteMessage?: (item: T) => string;
|
|
197
|
+
renderAdvancedFilters?: (open: boolean, onOpenChange: (open: boolean) => void) => ReactNode;
|
|
198
|
+
}
|
|
199
|
+
declare function CardView<T extends {
|
|
200
|
+
id: number;
|
|
201
|
+
}>({ queryKey, queryFn, title, subtitle, icon: Icon, hideHeader, emptyMessage, emptyIcon: EmptyIcon, renderCard, onCardClick, selectedItem: externalSelectedItem, onSelectedItemChange, stats, filters, filterFn, activeFilters: externalActiveFilters, onActiveFiltersChange, searchPlaceholder, searchColumns, persistKey, enablePresets, enableHistory, enableUrlSync, onNew, newButtonLabel, onExport, renderDrawer, deleteFn, deleteTitle, deleteMessage, renderAdvancedFilters, }: CardViewProps<T>): react_jsx_runtime.JSX.Element;
|
|
202
|
+
|
|
203
|
+
interface FilterOption {
|
|
204
|
+
value: string;
|
|
205
|
+
label: string;
|
|
206
|
+
emoji?: string;
|
|
207
|
+
color: {
|
|
208
|
+
bg: string;
|
|
209
|
+
text: string;
|
|
210
|
+
border: string;
|
|
211
|
+
darkBg: string;
|
|
212
|
+
darkText: string;
|
|
213
|
+
darkBorder: string;
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
interface FilterGroup {
|
|
217
|
+
key: string;
|
|
218
|
+
label: string;
|
|
219
|
+
options: FilterOption[];
|
|
220
|
+
selectedValues: string[];
|
|
221
|
+
onChange: (values: string[]) => void;
|
|
222
|
+
renderType?: 'badges' | 'select';
|
|
223
|
+
allLabel?: string;
|
|
224
|
+
allColor?: {
|
|
225
|
+
bg: string;
|
|
226
|
+
text: string;
|
|
227
|
+
border: string;
|
|
228
|
+
darkBg: string;
|
|
229
|
+
darkText: string;
|
|
230
|
+
darkBorder: string;
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
interface FilterPreset {
|
|
234
|
+
id: string;
|
|
235
|
+
name: string;
|
|
236
|
+
filters: Record<string, string[]>;
|
|
237
|
+
searchValue?: string;
|
|
238
|
+
createdAt: Date;
|
|
239
|
+
}
|
|
240
|
+
interface SmartFilterPanelProps {
|
|
241
|
+
filterGroups: FilterGroup[];
|
|
242
|
+
searchValue?: string;
|
|
243
|
+
onSearchChange?: (value: string) => void;
|
|
244
|
+
searchPlaceholder?: string;
|
|
245
|
+
resultsCount?: number;
|
|
246
|
+
onClearAll?: () => void;
|
|
247
|
+
defaultExpanded?: boolean;
|
|
248
|
+
persistKey?: string;
|
|
249
|
+
enablePresets?: boolean;
|
|
250
|
+
enableUrlSync?: boolean;
|
|
251
|
+
enableHistory?: boolean;
|
|
252
|
+
maxHistoryItems?: number;
|
|
253
|
+
onFiltersChange?: (filters: Record<string, string[]>) => void;
|
|
254
|
+
}
|
|
255
|
+
declare const SmartFilterPanel: ({ filterGroups, searchValue, onSearchChange, searchPlaceholder, resultsCount, onClearAll, defaultExpanded, persistKey, enablePresets, enableUrlSync, enableHistory, maxHistoryItems, onFiltersChange, }: SmartFilterPanelProps) => react_jsx_runtime.JSX.Element;
|
|
256
|
+
|
|
257
|
+
interface ConfirmDialogProps {
|
|
258
|
+
isOpen: boolean;
|
|
259
|
+
onClose: () => void;
|
|
260
|
+
onConfirm: () => void;
|
|
261
|
+
title: string;
|
|
262
|
+
message: string;
|
|
263
|
+
type?: 'delete' | 'edit' | 'create' | 'warning' | 'danger';
|
|
264
|
+
confirmText?: string;
|
|
265
|
+
cancelText?: string;
|
|
266
|
+
loading?: boolean;
|
|
267
|
+
requireConfirmation?: boolean;
|
|
268
|
+
confirmationText?: string;
|
|
269
|
+
details?: string[];
|
|
270
|
+
impact?: string;
|
|
271
|
+
}
|
|
272
|
+
declare const ConfirmDialog: React__default.FC<ConfirmDialogProps>;
|
|
273
|
+
|
|
274
|
+
interface ToastProps {
|
|
275
|
+
message?: string;
|
|
276
|
+
type: 'success' | 'error';
|
|
277
|
+
onClose: () => void;
|
|
278
|
+
duration?: number;
|
|
279
|
+
entity?: string;
|
|
280
|
+
action?: 'created' | 'updated' | 'deleted' | 'error';
|
|
281
|
+
}
|
|
282
|
+
declare const Toast: React__default.FC<ToastProps>;
|
|
283
|
+
|
|
284
|
+
declare const buttonVariants: (props?: ({
|
|
285
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "success" | "warning" | null | undefined;
|
|
286
|
+
size?: "default" | "sm" | "lg" | "icon" | null | undefined;
|
|
287
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
288
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
289
|
+
asChild?: boolean;
|
|
290
|
+
}
|
|
291
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
292
|
+
|
|
293
|
+
declare const badgeVariants: (props?: ({
|
|
294
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "success" | "warning" | null | undefined;
|
|
295
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
296
|
+
interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
297
|
+
}
|
|
298
|
+
declare function Badge({ className, variant, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
299
|
+
|
|
300
|
+
declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
301
|
+
declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
302
|
+
declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
303
|
+
declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
304
|
+
declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
305
|
+
declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
306
|
+
|
|
307
|
+
interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
308
|
+
}
|
|
309
|
+
declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
310
|
+
|
|
311
|
+
declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
|
|
312
|
+
declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
313
|
+
declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
314
|
+
declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
315
|
+
declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
|
|
316
|
+
declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
|
|
317
|
+
declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
|
|
318
|
+
declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
|
|
319
|
+
|
|
320
|
+
declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
321
|
+
|
|
322
|
+
interface DialogProps {
|
|
323
|
+
open: boolean;
|
|
324
|
+
onOpenChange: (open: boolean) => void;
|
|
325
|
+
children: React__default.ReactNode;
|
|
326
|
+
}
|
|
327
|
+
interface DialogContentProps {
|
|
328
|
+
className?: string;
|
|
329
|
+
children: React__default.ReactNode;
|
|
330
|
+
[key: string]: any;
|
|
331
|
+
}
|
|
332
|
+
interface DialogHeaderProps {
|
|
333
|
+
className?: string;
|
|
334
|
+
children: React__default.ReactNode;
|
|
335
|
+
}
|
|
336
|
+
interface DialogTitleProps {
|
|
337
|
+
className?: string;
|
|
338
|
+
children: React__default.ReactNode;
|
|
339
|
+
}
|
|
340
|
+
interface DialogDescriptionProps {
|
|
341
|
+
children: React__default.ReactNode;
|
|
342
|
+
}
|
|
343
|
+
interface DialogFooterProps {
|
|
344
|
+
children: React__default.ReactNode;
|
|
345
|
+
}
|
|
346
|
+
interface DialogTriggerProps {
|
|
347
|
+
asChild?: boolean;
|
|
348
|
+
children: React__default.ReactNode;
|
|
349
|
+
onClick?: () => void;
|
|
350
|
+
}
|
|
351
|
+
declare function Dialog({ open, onOpenChange, children }: DialogProps): react_jsx_runtime.JSX.Element | null;
|
|
352
|
+
declare const DialogContent: React__default.ForwardRefExoticComponent<Omit<DialogContentProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
|
|
353
|
+
declare function DialogHeader({ className, children }: DialogHeaderProps): react_jsx_runtime.JSX.Element;
|
|
354
|
+
declare function DialogTitle({ className, children }: DialogTitleProps): react_jsx_runtime.JSX.Element;
|
|
355
|
+
declare function DialogDescription({ children }: DialogDescriptionProps): react_jsx_runtime.JSX.Element;
|
|
356
|
+
declare function DialogFooter({ children }: DialogFooterProps): react_jsx_runtime.JSX.Element;
|
|
357
|
+
declare function DialogTrigger({ asChild, children, onClick }: DialogTriggerProps): react_jsx_runtime.JSX.Element;
|
|
358
|
+
|
|
359
|
+
interface Theme {
|
|
360
|
+
/** HSL sem parênteses. Ex: "142 76% 36%" */
|
|
361
|
+
primary?: string;
|
|
362
|
+
primaryForeground?: string;
|
|
363
|
+
secondary?: string;
|
|
364
|
+
secondaryForeground?: string;
|
|
365
|
+
background?: string;
|
|
366
|
+
foreground?: string;
|
|
367
|
+
card?: string;
|
|
368
|
+
cardForeground?: string;
|
|
369
|
+
muted?: string;
|
|
370
|
+
mutedForeground?: string;
|
|
371
|
+
accent?: string;
|
|
372
|
+
accentForeground?: string;
|
|
373
|
+
destructive?: string;
|
|
374
|
+
destructiveForeground?: string;
|
|
375
|
+
border?: string;
|
|
376
|
+
input?: string;
|
|
377
|
+
inputBg?: string;
|
|
378
|
+
ring?: string;
|
|
379
|
+
radius?: string;
|
|
380
|
+
}
|
|
381
|
+
declare const defaultTheme: Theme;
|
|
382
|
+
declare const defaultDarkTheme: Theme;
|
|
383
|
+
|
|
384
|
+
interface ThemeProviderProps {
|
|
385
|
+
children: React__default.ReactNode;
|
|
386
|
+
/** Tokens para o tema claro — sobrescreve os padrões */
|
|
387
|
+
theme?: Theme;
|
|
388
|
+
/** Tokens para o tema escuro — sobrescreve os padrões */
|
|
389
|
+
darkTheme?: Theme;
|
|
390
|
+
}
|
|
391
|
+
declare function ThemeProvider({ children, theme, darkTheme }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
392
|
+
|
|
393
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
394
|
+
|
|
395
|
+
export { type AccentColor, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardView, type CardViewColumn, type CardViewFilter, type CardViewProps, type CardViewStat, Checkbox, ConfirmDialog, DataTable, type DataTableAction, type DataTableColumn, type DataTableFilter, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, type FilterGroup, type FilterOption, type FilterPreset, Input, type InputProps, PageHeader, type PageHeaderProps, PageLayout, STAT_ACCENT_SEQUENCE, SmartFilterPanel, StatCard, type StatCardProps, type TabOption, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, type Theme, ThemeProvider, Toast, type ViewMode, type ViewModeOption, badgeVariants, buttonVariants, cn, defaultDarkTheme, defaultTheme };
|