@iclips/ui 1.0.6 → 1.0.10

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/dist/index.d.ts CHANGED
@@ -1,1797 +1 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as React$1 from 'react';
3
- import React__default, { RefObject } from 'react';
4
- import * as AccordionPrimitive from '@radix-ui/react-accordion';
5
- import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
6
- import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
7
- import { VariantProps } from 'class-variance-authority';
8
- import { LucideIcon } from 'lucide-react';
9
- import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
10
- import * as AvatarPrimitive from '@radix-ui/react-avatar';
11
- import { DayPicker, DateRange } from 'react-day-picker';
12
- import useEmblaCarousel, { UseEmblaCarouselType } from 'embla-carousel-react';
13
- import * as RechartsPrimitive from 'recharts';
14
- import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
15
- import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
16
- import { Locale } from 'date-fns';
17
- import { Command as Command$1 } from 'cmdk';
18
- import * as DialogPrimitive from '@radix-ui/react-dialog';
19
- import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
20
- import { Drawer as Drawer$1 } from 'vaul';
21
- import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
22
- import * as react_hook_form from 'react-hook-form';
23
- import { FieldValues, FieldPath, ControllerProps } from 'react-hook-form';
24
- import * as LabelPrimitive from '@radix-ui/react-label';
25
- import { Slot } from '@radix-ui/react-slot';
26
- import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
27
- import { OTPInput } from 'input-otp';
28
- import * as MenubarPrimitive from '@radix-ui/react-menubar';
29
- import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
30
- import * as PopoverPrimitive from '@radix-ui/react-popover';
31
- import * as ProgressPrimitive from '@radix-ui/react-progress';
32
- import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
33
- import * as ResizablePrimitive from 'react-resizable-panels';
34
- import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
35
- import * as SelectPrimitive from '@radix-ui/react-select';
36
- import * as SeparatorPrimitive from '@radix-ui/react-separator';
37
- import * as TooltipPrimitive from '@radix-ui/react-tooltip';
38
- import * as SliderPrimitive from '@radix-ui/react-slider';
39
- import { ToasterProps } from 'sonner';
40
- export { toast } from 'sonner';
41
- import * as SwitchPrimitive from '@radix-ui/react-switch';
42
- import * as TabsPrimitive from '@radix-ui/react-tabs';
43
- import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
44
- import * as TogglePrimitive from '@radix-ui/react-toggle';
45
- import { ClassValue } from 'clsx';
46
-
47
- declare function Accordion({ ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Root>): react_jsx_runtime.JSX.Element;
48
- declare function AccordionItem({ className, ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Item>): react_jsx_runtime.JSX.Element;
49
- declare function AccordionTrigger({ className, children, ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
50
- declare function AccordionContent({ className, children, ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Content>): react_jsx_runtime.JSX.Element;
51
-
52
- declare function AlertDialog({ ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
53
- declare function AlertDialogTrigger({ ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
54
- declare function AlertDialogContent({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Content>): react_jsx_runtime.JSX.Element;
55
- declare function AlertDialogHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
56
- declare function AlertDialogFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
57
- declare function AlertDialogTitle({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
58
- declare function AlertDialogDescription({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
59
- declare function AlertDialogAction({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Action>): react_jsx_runtime.JSX.Element;
60
- declare function AlertDialogCancel({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Cancel>): react_jsx_runtime.JSX.Element;
61
-
62
- declare const alertVariants: (props?: ({
63
- variant?: "default" | "destructive" | null | undefined;
64
- } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
65
- declare function Alert({ className, variant, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof alertVariants>): react_jsx_runtime.JSX.Element;
66
- declare function AlertTitle({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
67
- declare function AlertDescription({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
68
-
69
- interface PrimaryNavItem {
70
- id: string;
71
- label: string;
72
- icon: LucideIcon;
73
- }
74
- interface SecondaryNavItem {
75
- label: string;
76
- icon: LucideIcon;
77
- badge?: string | number;
78
- chevron?: boolean;
79
- highlighted?: boolean;
80
- }
81
- interface AppLayoutProps {
82
- children: React$1.ReactNode;
83
- title?: string;
84
- theme?: "light" | "dark";
85
- onThemeToggle?: () => void;
86
- primaryNavItems?: PrimaryNavItem[];
87
- secondaryNavItems?: SecondaryNavItem[];
88
- secondaryNavTitle?: string;
89
- activePrimaryItem?: string;
90
- onPrimaryItemClick?: (id: string) => void;
91
- logoComponent?: React$1.ReactNode;
92
- hideSecondaryNav?: boolean;
93
- defaultPrimaryNavPinned?: boolean;
94
- defaultSecondaryNavOpen?: boolean;
95
- }
96
- declare function AppLayout({ children, title, theme, onThemeToggle, primaryNavItems, secondaryNavItems, secondaryNavTitle, activePrimaryItem, onPrimaryItemClick, logoComponent, hideSecondaryNav, defaultPrimaryNavPinned, defaultSecondaryNavOpen }: AppLayoutProps): react_jsx_runtime.JSX.Element;
97
-
98
- declare function AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatioPrimitive.Root>): react_jsx_runtime.JSX.Element;
99
-
100
- declare function Avatar({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Root>): react_jsx_runtime.JSX.Element;
101
- declare function AvatarImage({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Image>): react_jsx_runtime.JSX.Element;
102
- declare function AvatarFallback({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Fallback>): react_jsx_runtime.JSX.Element;
103
-
104
- declare const badgeVariants: (props?: ({
105
- variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
106
- } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
107
- declare const Badge: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & VariantProps<(props?: ({
108
- variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
109
- } & class_variance_authority_dist_types.ClassProp) | undefined) => string> & {
110
- asChild?: boolean;
111
- } & React$1.RefAttributes<HTMLSpanElement>>;
112
-
113
- declare function Breadcrumb({ ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
114
- declare function BreadcrumbList({ className, ...props }: React$1.ComponentProps<"ol">): react_jsx_runtime.JSX.Element;
115
- declare function BreadcrumbItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
116
- declare function BreadcrumbLink({ asChild, className, ...props }: React$1.ComponentProps<"a"> & {
117
- asChild?: boolean;
118
- }): react_jsx_runtime.JSX.Element;
119
- declare function BreadcrumbPage({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
120
- declare function BreadcrumbSeparator({ children, className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
121
- declare function BreadcrumbEllipsis({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
122
-
123
- declare const buttonVariants: (props?: ({
124
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
125
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
126
- } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
127
- declare const Button: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLButtonElement> & React$1.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<(props?: ({
128
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
129
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
130
- } & class_variance_authority_dist_types.ClassProp) | undefined) => string> & {
131
- asChild?: boolean;
132
- }, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
133
-
134
- type CalendarProps = React$1.ComponentProps<typeof DayPicker>;
135
- /**
136
- * Calendar - Componente base de calendário
137
- *
138
- * Grid de dias para seleção de datas. Usado internamente pelo DatePicker
139
- * e DateRangePicker, mas também pode ser usado standalone.
140
- *
141
- * @example
142
- * // Seleção única
143
- * <Calendar
144
- * mode="single"
145
- * selected={date}
146
- * onSelect={setDate}
147
- * />
148
- *
149
- * @example
150
- * // Seleção de intervalo
151
- * <Calendar
152
- * mode="range"
153
- * selected={dateRange}
154
- * onSelect={setDateRange}
155
- * />
156
- */
157
- declare function Calendar({ className, classNames, showOutsideDays, locale, ...props }: CalendarProps): react_jsx_runtime.JSX.Element;
158
- declare namespace Calendar {
159
- var displayName: string;
160
- }
161
-
162
- interface DadosContrato {
163
- numeroContrato: string;
164
- dataEmissao: string;
165
- dataInicio: string;
166
- dataTermino: string;
167
- cliente: {
168
- nome: string;
169
- cnpj?: string;
170
- endereco?: string;
171
- representante?: string;
172
- email?: string;
173
- telefone?: string;
174
- };
175
- agencia: {
176
- nome: string;
177
- cnpj?: string;
178
- endereco?: string;
179
- representante?: string;
180
- email?: string;
181
- telefone?: string;
182
- };
183
- valorFee: number;
184
- totalHoras: number;
185
- valorHora?: number;
186
- condicoesPagamento: string;
187
- formaPagamento?: string;
188
- servicos?: Array<{
189
- nome: string;
190
- descricao?: string;
191
- horasEstimadas?: number;
192
- }>;
193
- clausulas?: Array<{
194
- titulo: string;
195
- conteudo: string;
196
- }>;
197
- observacoes?: string;
198
- }
199
- interface ContractTemplateProps {
200
- data: DadosContrato;
201
- showPreview?: boolean;
202
- logo?: string;
203
- showServices?: boolean;
204
- }
205
- declare function ContractTemplate({ data, showPreview, logo, showServices, }: ContractTemplateProps): react_jsx_runtime.JSX.Element;
206
- /**
207
- * Dados de exemplo para o contrato
208
- * Use este objeto para testar o componente ContractTemplate
209
- */
210
- declare const dadosContratoExemplo: DadosContrato;
211
-
212
- interface ContractPrintProps {
213
- /** Dados do contrato */
214
- data: DadosContrato;
215
- /** URL ou caminho do logo da empresa */
216
- logo?: string;
217
- /** Mostrar barra de ações (imprimir/download) */
218
- showActions?: boolean;
219
- /** Mostrar informações resumidas do contrato */
220
- showSummary?: boolean;
221
- /** Mostrar seção de serviços */
222
- showServices?: boolean;
223
- /** Mostrar informações sobre o template */
224
- showInfo?: boolean;
225
- /** Classe CSS adicional */
226
- className?: string;
227
- /** Callbacks de impressão */
228
- onPrintStart?: () => void;
229
- onPrintSuccess?: () => void;
230
- onPrintError?: (error: Error) => void;
231
- /** Callbacks de download */
232
- onDownloadStart?: () => void;
233
- onDownloadSuccess?: () => void;
234
- onDownloadError?: (error: Error) => void;
235
- }
236
- /**
237
- * Componente wrapper completo para exibir e imprimir contratos
238
- *
239
- * Inclui:
240
- * - Preview do contrato
241
- * - Botões de ação (Imprimir/Download PDF)
242
- * - Informações resumidas
243
- * - Todas as funcionalidades prontas
244
- *
245
- * @example
246
- * ```tsx
247
- * import { ContractPrint, dadosContratoExemplo } from '@iclips/design-system';
248
- *
249
- * function MinhaPage() {
250
- * return (
251
- * <ContractPrint
252
- * data={dadosContratoExemplo}
253
- * logo="/logo.png"
254
- * showActions
255
- * showSummary
256
- * />
257
- * );
258
- * }
259
- * ```
260
- */
261
- declare function ContractPrint({ data, logo, showActions, showSummary, showServices, showInfo, className, onPrintStart, onPrintSuccess, onPrintError, onDownloadStart, onDownloadSuccess, onDownloadError, }: ContractPrintProps): react_jsx_runtime.JSX.Element;
262
- /**
263
- * Componente simplificado apenas com o preview do contrato
264
- * Útil quando você quer construir sua própria UI de ações
265
- *
266
- * @example
267
- * ```tsx
268
- * import { ContractPrintPreview, dadosContratoExemplo } from '@iclips/design-system';
269
- *
270
- * function MinhaPage() {
271
- * const printRef = useRef<HTMLDivElement>(null);
272
- *
273
- * return (
274
- * <div>
275
- * <MeusPropriosBotoes printRef={printRef} />
276
- * <ContractPrintPreview
277
- * ref={printRef}
278
- * data={dadosContratoExemplo}
279
- * />
280
- * </div>
281
- * );
282
- * }
283
- * ```
284
- */
285
- declare const ContractPrintPreview: React$1.ForwardRefExoticComponent<{
286
- data: DadosContrato;
287
- logo?: string;
288
- showServices?: boolean;
289
- className?: string;
290
- } & React$1.RefAttributes<HTMLDivElement>>;
291
-
292
- declare function Card({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
293
- declare function CardHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
294
- declare function CardTitle({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
295
- declare function CardDescription({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
296
- declare function CardAction({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
297
- declare function CardContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
298
- declare function CardFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
299
-
300
- type CarouselApi = UseEmblaCarouselType[1];
301
- type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
302
- type CarouselOptions = UseCarouselParameters[0];
303
- type CarouselPlugin = UseCarouselParameters[1];
304
- type CarouselProps = {
305
- opts?: CarouselOptions;
306
- plugins?: CarouselPlugin;
307
- orientation?: "horizontal" | "vertical";
308
- setApi?: (api: CarouselApi) => void;
309
- };
310
- declare function Carousel({ orientation, opts, setApi, plugins, className, children, ...props }: React$1.ComponentProps<"div"> & CarouselProps): react_jsx_runtime.JSX.Element;
311
- declare function CarouselContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
312
- declare function CarouselItem({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
313
- declare function CarouselPrevious({ className, variant, size, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
314
- declare function CarouselNext({ className, variant, size, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
315
-
316
- declare const THEMES: {
317
- readonly light: "";
318
- readonly dark: ".dark";
319
- };
320
- type ChartConfig = {
321
- [k in string]: {
322
- label?: React$1.ReactNode;
323
- icon?: React$1.ComponentType;
324
- } & ({
325
- color?: string;
326
- theme?: never;
327
- } | {
328
- color?: never;
329
- theme: Record<keyof typeof THEMES, string>;
330
- });
331
- };
332
- declare function ChartContainer({ id, className, children, config, ...props }: React$1.ComponentProps<"div"> & {
333
- config: ChartConfig;
334
- children: React$1.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
335
- }): react_jsx_runtime.JSX.Element;
336
- declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
337
- declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: React$1.ComponentProps<typeof RechartsPrimitive.Tooltip> & React$1.ComponentProps<"div"> & {
338
- hideLabel?: boolean;
339
- hideIndicator?: boolean;
340
- indicator?: "line" | "dot" | "dashed";
341
- nameKey?: string;
342
- labelKey?: string;
343
- payload?: any[];
344
- label?: string;
345
- }): react_jsx_runtime.JSX.Element | null;
346
- declare const ChartLegend: typeof RechartsPrimitive.Legend;
347
- declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React$1.ComponentProps<"div"> & {
348
- hideIcon?: boolean;
349
- nameKey?: string;
350
- payload?: any[];
351
- verticalAlign?: "top" | "bottom";
352
- }): react_jsx_runtime.JSX.Element | null;
353
-
354
- declare function Checkbox({ className, ...props }: React$1.ComponentProps<typeof CheckboxPrimitive.Root>): react_jsx_runtime.JSX.Element;
355
-
356
- interface ColorPickerProps {
357
- value?: string;
358
- onChange?: (color: string) => void;
359
- label?: string;
360
- className?: string;
361
- disabled?: boolean;
362
- }
363
- declare function ColorPicker({ value, onChange, label, className, disabled, }: ColorPickerProps): react_jsx_runtime.JSX.Element;
364
-
365
- declare function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): react_jsx_runtime.JSX.Element;
366
- declare function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): react_jsx_runtime.JSX.Element;
367
- declare function CollapsibleContent({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): react_jsx_runtime.JSX.Element;
368
-
369
- interface DatePickerProps {
370
- /**
371
- * Data selecionada
372
- */
373
- value?: Date;
374
- /**
375
- * Callback quando a data muda
376
- */
377
- onChange?: (date: Date | undefined) => void;
378
- /**
379
- * Placeholder do campo
380
- * @default "Selecione uma data"
381
- */
382
- placeholder?: string;
383
- /**
384
- * Desabilita o componente
385
- */
386
- disabled?: boolean;
387
- /**
388
- * Data mínima permitida
389
- */
390
- minDate?: Date;
391
- /**
392
- * Data máxima permitida
393
- */
394
- maxDate?: Date;
395
- /**
396
- * Formato de exibição da data
397
- * @default "dd/MM/yyyy" ou "dd/MM/yyyy HH:mm" se showTime
398
- */
399
- dateFormat?: string;
400
- /**
401
- * Locale para formatação
402
- * @default ptBR
403
- */
404
- locale?: Locale;
405
- /**
406
- * Classes CSS adicionais para o trigger
407
- */
408
- className?: string;
409
- /**
410
- * Estado de erro
411
- */
412
- error?: boolean;
413
- /**
414
- * Mostra seletor de hora
415
- * @default false
416
- */
417
- showTime?: boolean;
418
- /**
419
- * Formato de hora (12h ou 24h)
420
- * @default "24h"
421
- */
422
- timeFormat?: "12h" | "24h";
423
- /**
424
- * Incremento de minutos
425
- * @default 5
426
- */
427
- minuteStep?: 1 | 5 | 10 | 15 | 30;
428
- /**
429
- * Horário padrão quando showTime=true e uma data é selecionada
430
- * @default "09:00"
431
- */
432
- defaultTime?: string;
433
- /**
434
- * ID do campo para acessibilidade
435
- */
436
- id?: string;
437
- /**
438
- * Nome do campo para formulários
439
- */
440
- name?: string;
441
- }
442
- /**
443
- * DatePicker - Campo de seleção de data com hora opcional
444
- *
445
- * @example
446
- * // Apenas data
447
- * <DatePicker
448
- * value={date}
449
- * onChange={setDate}
450
- * placeholder="Data de nascimento"
451
- * />
452
- *
453
- * @example
454
- * // Data e hora
455
- * <DatePicker
456
- * value={appointmentDate}
457
- * onChange={setAppointmentDate}
458
- * placeholder="Data e hora da reunião"
459
- * showTime
460
- * minuteStep={15}
461
- * />
462
- *
463
- * @example
464
- * // Com limites
465
- * <DatePicker
466
- * value={date}
467
- * onChange={setDate}
468
- * minDate={new Date()}
469
- * maxDate={addMonths(new Date(), 3)}
470
- * />
471
- */
472
- declare function DatePicker({ value, onChange, placeholder, disabled, minDate, maxDate, dateFormat, locale, className, error, showTime, timeFormat, minuteStep, defaultTime, id, name, }: DatePickerProps): react_jsx_runtime.JSX.Element;
473
- declare namespace DatePicker {
474
- var displayName: string;
475
- }
476
-
477
- interface DateRangePreset {
478
- label: string;
479
- value: DateRange;
480
- }
481
- interface DateRangePickerProps {
482
- /**
483
- * Intervalo de datas selecionado
484
- */
485
- value?: DateRange;
486
- /**
487
- * Callback quando o intervalo muda
488
- */
489
- onChange?: (range: DateRange | undefined) => void;
490
- /**
491
- * Placeholder do campo
492
- * @default "Selecione um período"
493
- */
494
- placeholder?: string;
495
- /**
496
- * Desabilita o componente
497
- */
498
- disabled?: boolean;
499
- /**
500
- * Data mínima permitida
501
- */
502
- minDate?: Date;
503
- /**
504
- * Data máxima permitida
505
- */
506
- maxDate?: Date;
507
- /**
508
- * Formato de exibição da data
509
- * @default "dd/MM/yyyy"
510
- */
511
- dateFormat?: string;
512
- /**
513
- * Locale para formatação
514
- * @default ptBR
515
- */
516
- locale?: Locale;
517
- /**
518
- * Classes CSS adicionais para o trigger
519
- */
520
- className?: string;
521
- /**
522
- * Estado de erro
523
- */
524
- error?: boolean;
525
- /**
526
- * Número de meses a exibir
527
- * @default 2
528
- */
529
- numberOfMonths?: 1 | 2;
530
- /**
531
- * Mostra seletor de hora
532
- * @default false
533
- */
534
- showTime?: boolean;
535
- /**
536
- * Formato de hora (12h ou 24h)
537
- * @default "24h"
538
- */
539
- timeFormat?: "12h" | "24h";
540
- /**
541
- * Incremento de minutos
542
- * @default 15
543
- */
544
- minuteStep?: 1 | 5 | 10 | 15 | 30;
545
- /**
546
- * Presets de intervalos rápidos
547
- */
548
- presets?: DateRangePreset[];
549
- /**
550
- * Mostra presets padrão (Hoje, Últimos 7 dias, etc.)
551
- * @default true
552
- */
553
- showDefaultPresets?: boolean;
554
- /**
555
- * ID do campo para acessibilidade
556
- */
557
- id?: string;
558
- /**
559
- * Nome do campo para formulários
560
- */
561
- name?: string;
562
- }
563
- /**
564
- * DateRangePicker - Campo de seleção de intervalo de datas com hora opcional
565
- *
566
- * @example
567
- * // Básico
568
- * <DateRangePicker
569
- * value={dateRange}
570
- * onChange={setDateRange}
571
- * placeholder="Período do relatório"
572
- * />
573
- *
574
- * @example
575
- * // Com hora
576
- * <DateRangePicker
577
- * value={booking}
578
- * onChange={setBooking}
579
- * placeholder="Reserva da sala"
580
- * showTime
581
- * minuteStep={30}
582
- * />
583
- *
584
- * @example
585
- * // Com presets customizados
586
- * <DateRangePicker
587
- * value={period}
588
- * onChange={setPeriod}
589
- * presets={[
590
- * { label: "Q1", value: { from: q1Start, to: q1End } },
591
- * { label: "Q2", value: { from: q2Start, to: q2End } },
592
- * ]}
593
- * />
594
- */
595
- declare function DateRangePicker({ value, onChange, placeholder, disabled, minDate, maxDate, dateFormat, locale, className, error, numberOfMonths, showTime, timeFormat, minuteStep, presets, showDefaultPresets, id, name, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
596
- declare namespace DateRangePicker {
597
- var displayName: string;
598
- }
599
-
600
- interface TimePickerProps {
601
- /**
602
- * Valor atual no formato "HH:mm"
603
- */
604
- value?: string;
605
- /**
606
- * Callback quando o horário muda
607
- */
608
- onChange?: (time: string) => void;
609
- /**
610
- * Formato de exibição (12h com AM/PM ou 24h)
611
- * @default "24h"
612
- */
613
- format?: "12h" | "24h";
614
- /**
615
- * Incremento de minutos no seletor
616
- * @default 5
617
- */
618
- minuteStep?: 1 | 5 | 10 | 15 | 30;
619
- /**
620
- * Horário mínimo permitido (formato "HH:mm")
621
- */
622
- minTime?: string;
623
- /**
624
- * Horário máximo permitido (formato "HH:mm")
625
- */
626
- maxTime?: string;
627
- /**
628
- * Desabilita o componente
629
- */
630
- disabled?: boolean;
631
- /**
632
- * Placeholder
633
- * @default "HH:MM"
634
- */
635
- placeholder?: string;
636
- /**
637
- * Classes CSS adicionais
638
- */
639
- className?: string;
640
- /**
641
- * Mostra o ícone de relógio
642
- * @default true
643
- */
644
- showIcon?: boolean;
645
- /**
646
- * Variante de exibição
647
- * @default "input"
648
- */
649
- variant?: "input" | "select" | "inline";
650
- }
651
- /**
652
- * TimePicker - Componente para seleção de horário
653
- *
654
- * @example
655
- * // Input simples
656
- * <TimePicker
657
- * value={time}
658
- * onChange={setTime}
659
- * placeholder="Horário"
660
- * />
661
- *
662
- * @example
663
- * // Com step de 15 minutos
664
- * <TimePicker
665
- * value={time}
666
- * onChange={setTime}
667
- * minuteStep={15}
668
- * />
669
- *
670
- * @example
671
- * // Formato 12h
672
- * <TimePicker
673
- * value={time}
674
- * onChange={setTime}
675
- * format="12h"
676
- * />
677
- */
678
- declare function TimePicker({ value, onChange, format, minuteStep, minTime, maxTime, disabled, placeholder, className, showIcon, variant, }: TimePickerProps): react_jsx_runtime.JSX.Element | null;
679
- declare namespace TimePicker {
680
- var displayName: string;
681
- }
682
-
683
- interface KanbanCardTag {
684
- id: string;
685
- label: string;
686
- color?: string;
687
- }
688
- interface KanbanCardAssignee {
689
- id: string;
690
- name: string;
691
- avatar?: string;
692
- initials?: string;
693
- }
694
- interface KanbanCardProps {
695
- id: string;
696
- title: string;
697
- description?: string;
698
- coverImage?: string;
699
- thumbnailImage?: string;
700
- tags?: KanbanCardTag[];
701
- assignees?: KanbanCardAssignee[];
702
- priority?: "low" | "medium" | "high" | "urgent";
703
- dueDate?: Date;
704
- comments?: number;
705
- attachments?: number;
706
- checklist?: {
707
- completed: number;
708
- total: number;
709
- };
710
- progress?: number;
711
- status?: string;
712
- variant?: "default" | "compact" | "detailed";
713
- isDragging?: boolean;
714
- onClick?: () => void;
715
- onEdit?: () => void;
716
- onDelete?: () => void;
717
- onDuplicate?: () => void;
718
- className?: string;
719
- }
720
- declare const KanbanCard: React$1.ForwardRefExoticComponent<KanbanCardProps & React$1.RefAttributes<HTMLDivElement>>;
721
-
722
- declare function Dialog({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
723
- declare function DialogTrigger({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
724
- declare function DialogClose({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime.JSX.Element;
725
- declare function DialogContent({ className, children, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content>): react_jsx_runtime.JSX.Element;
726
- declare function DialogHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
727
- declare function DialogFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
728
- declare function DialogTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
729
- declare function DialogDescription({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
730
-
731
- declare function Command({ className, ...props }: React$1.ComponentProps<typeof Command$1>): react_jsx_runtime.JSX.Element;
732
- declare function CommandDialog({ title, description, children, ...props }: React$1.ComponentProps<typeof Dialog> & {
733
- title?: string;
734
- description?: string;
735
- }): react_jsx_runtime.JSX.Element;
736
- declare function CommandInput({ className, ...props }: React$1.ComponentProps<typeof Command$1.Input>): react_jsx_runtime.JSX.Element;
737
- declare function CommandList({ className, ...props }: React$1.ComponentProps<typeof Command$1.List>): react_jsx_runtime.JSX.Element;
738
- declare function CommandEmpty({ ...props }: React$1.ComponentProps<typeof Command$1.Empty>): react_jsx_runtime.JSX.Element;
739
- declare function CommandGroup({ className, ...props }: React$1.ComponentProps<typeof Command$1.Group>): react_jsx_runtime.JSX.Element;
740
- declare function CommandSeparator({ className, ...props }: React$1.ComponentProps<typeof Command$1.Separator>): react_jsx_runtime.JSX.Element;
741
- declare function CommandItem({ className, ...props }: React$1.ComponentProps<typeof Command$1.Item>): react_jsx_runtime.JSX.Element;
742
- declare function CommandShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
743
-
744
- declare function ContextMenu({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Root>): react_jsx_runtime.JSX.Element;
745
- declare function ContextMenuTrigger({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
746
- declare function ContextMenuGroup({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Group>): react_jsx_runtime.JSX.Element;
747
- declare function ContextMenuPortal({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Portal>): react_jsx_runtime.JSX.Element;
748
- declare function ContextMenuSub({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Sub>): react_jsx_runtime.JSX.Element;
749
- declare function ContextMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
750
- declare function ContextMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {
751
- inset?: boolean;
752
- }): react_jsx_runtime.JSX.Element;
753
- declare function ContextMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
754
- declare function ContextMenuContent({ className, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Content>): react_jsx_runtime.JSX.Element;
755
- declare function ContextMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Item> & {
756
- inset?: boolean;
757
- variant?: "default" | "destructive";
758
- }): react_jsx_runtime.JSX.Element;
759
- declare function ContextMenuCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
760
- declare function ContextMenuRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
761
- declare function ContextMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Label> & {
762
- inset?: boolean;
763
- }): react_jsx_runtime.JSX.Element;
764
- declare function ContextMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Separator>): react_jsx_runtime.JSX.Element;
765
- declare function ContextMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
766
-
767
- declare function Drawer({ ...props }: React$1.ComponentProps<typeof Drawer$1.Root>): react_jsx_runtime.JSX.Element;
768
- declare const DrawerTrigger: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
769
- declare const DrawerClose: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
770
- declare const DrawerContent: React$1.ForwardRefExoticComponent<Omit<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
771
- declare function DrawerHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
772
- declare function DrawerFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
773
- declare const DrawerTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
774
- declare const DrawerDescription: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
775
-
776
- declare function DropdownMenu({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>): react_jsx_runtime.JSX.Element;
777
- declare function DropdownMenuPortal({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime.JSX.Element;
778
- declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
779
- declare function DropdownMenuContent({ className, sideOffset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): react_jsx_runtime.JSX.Element;
780
- declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime.JSX.Element;
781
- declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
782
- inset?: boolean;
783
- variant?: "default" | "destructive";
784
- }): react_jsx_runtime.JSX.Element;
785
- declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
786
- declare function DropdownMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
787
- declare function DropdownMenuRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
788
- declare function DropdownMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
789
- inset?: boolean;
790
- }): react_jsx_runtime.JSX.Element;
791
- declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime.JSX.Element;
792
- declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
793
- declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime.JSX.Element;
794
- declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
795
- inset?: boolean;
796
- }): react_jsx_runtime.JSX.Element;
797
- declare function DropdownMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
798
-
799
- declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: react_hook_form.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React$1.JSX.Element;
800
- declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
801
- declare const useFormField: () => {
802
- invalid: boolean;
803
- isDirty: boolean;
804
- isTouched: boolean;
805
- isValidating: boolean;
806
- error?: react_hook_form.FieldError;
807
- id: string;
808
- name: string;
809
- formItemId: string;
810
- formDescriptionId: string;
811
- formMessageId: string;
812
- };
813
- declare function FormItem({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
814
- declare function FormLabel({ className, ...props }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime.JSX.Element;
815
- declare function FormControl({ ...props }: React$1.ComponentProps<typeof Slot>): react_jsx_runtime.JSX.Element;
816
- declare function FormDescription({ className, ...props }: React$1.ComponentProps<"p">): react_jsx_runtime.JSX.Element;
817
- declare function FormMessage({ className, ...props }: React$1.ComponentProps<"p">): react_jsx_runtime.JSX.Element | null;
818
-
819
- declare function HoverCard({ ...props }: React$1.ComponentProps<typeof HoverCardPrimitive.Root>): react_jsx_runtime.JSX.Element;
820
- declare function HoverCardTrigger({ ...props }: React$1.ComponentProps<typeof HoverCardPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
821
- declare function HoverCardContent({ className, align, sideOffset, ...props }: React$1.ComponentProps<typeof HoverCardPrimitive.Content>): react_jsx_runtime.JSX.Element;
822
-
823
- declare function InputOTP({ className, containerClassName, ...props }: React$1.ComponentProps<typeof OTPInput> & {
824
- containerClassName?: string;
825
- }): react_jsx_runtime.JSX.Element;
826
- declare function InputOTPGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
827
- declare function InputOTPSlot({ index, className, ...props }: React$1.ComponentProps<"div"> & {
828
- index: number;
829
- }): react_jsx_runtime.JSX.Element;
830
- declare function InputOTPSeparator({ ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
831
-
832
- declare function Input({ className, type, ...props }: React$1.ComponentProps<"input">): react_jsx_runtime.JSX.Element;
833
-
834
- declare function Label({ className, ...props }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime.JSX.Element;
835
-
836
- declare function Menubar({ className, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Root>): react_jsx_runtime.JSX.Element;
837
- declare function MenubarMenu({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Menu>): react_jsx_runtime.JSX.Element;
838
- declare function MenubarGroup({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Group>): react_jsx_runtime.JSX.Element;
839
- declare function MenubarPortal({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Portal>): react_jsx_runtime.JSX.Element;
840
- declare function MenubarRadioGroup({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
841
- declare function MenubarTrigger({ className, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
842
- declare function MenubarContent({ className, align, alignOffset, sideOffset, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Content>): react_jsx_runtime.JSX.Element;
843
- declare function MenubarItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Item> & {
844
- inset?: boolean;
845
- variant?: "default" | "destructive";
846
- }): react_jsx_runtime.JSX.Element;
847
- declare function MenubarCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
848
- declare function MenubarRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
849
- declare function MenubarLabel({ className, inset, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Label> & {
850
- inset?: boolean;
851
- }): react_jsx_runtime.JSX.Element;
852
- declare function MenubarSeparator({ className, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Separator>): react_jsx_runtime.JSX.Element;
853
- declare function MenubarShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
854
- declare function MenubarSub({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Sub>): react_jsx_runtime.JSX.Element;
855
- declare function MenubarSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
856
- inset?: boolean;
857
- }): react_jsx_runtime.JSX.Element;
858
- declare function MenubarSubContent({ className, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
859
-
860
- declare function NavigationMenu({ className, children, viewport, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
861
- viewport?: boolean;
862
- }): react_jsx_runtime.JSX.Element;
863
- declare function NavigationMenuList({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.List>): react_jsx_runtime.JSX.Element;
864
- declare function NavigationMenuItem({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Item>): react_jsx_runtime.JSX.Element;
865
- declare const navigationMenuTriggerStyle: (props?: class_variance_authority_dist_types.ClassProp | undefined) => string;
866
- declare function NavigationMenuTrigger({ className, children, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
867
- declare function NavigationMenuContent({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Content>): react_jsx_runtime.JSX.Element;
868
- declare function NavigationMenuLink({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Link>): react_jsx_runtime.JSX.Element;
869
-
870
- declare function Pagination({ className, ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
871
- declare function PaginationContent({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
872
- declare function PaginationItem({ ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
873
- type PaginationLinkProps = {
874
- isActive?: boolean;
875
- } & Pick<React$1.ComponentProps<typeof Button>, "size"> & React$1.ComponentProps<"a">;
876
- declare function PaginationLink({ className, isActive, size, ...props }: PaginationLinkProps): react_jsx_runtime.JSX.Element;
877
- declare function PaginationPrevious({ className, ...props }: React$1.ComponentProps<typeof PaginationLink>): react_jsx_runtime.JSX.Element;
878
- declare function PaginationNext({ className, ...props }: React$1.ComponentProps<typeof PaginationLink>): react_jsx_runtime.JSX.Element;
879
- declare function PaginationEllipsis({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
880
-
881
- declare function Popover({ ...props }: React$1.ComponentProps<typeof PopoverPrimitive.Root>): react_jsx_runtime.JSX.Element;
882
- declare const PopoverTrigger: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
883
- declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
884
-
885
- declare function Progress({ className, value, ...props }: React$1.ComponentProps<typeof ProgressPrimitive.Root>): react_jsx_runtime.JSX.Element;
886
-
887
- declare function RadioGroup({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Root>): react_jsx_runtime.JSX.Element;
888
- declare function RadioGroupItem({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Item>): react_jsx_runtime.JSX.Element;
889
-
890
- declare function ResizablePanelGroup({ className, ...props }: React$1.ComponentProps<typeof ResizablePrimitive.PanelGroup>): react_jsx_runtime.JSX.Element;
891
- declare function ResizablePanel({ ...props }: React$1.ComponentProps<typeof ResizablePrimitive.Panel>): react_jsx_runtime.JSX.Element;
892
- declare function ResizableHandle({ withHandle, className, ...props }: React$1.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {
893
- withHandle?: boolean;
894
- }): react_jsx_runtime.JSX.Element;
895
-
896
- declare function ScrollArea({ className, children, ...props }: React$1.ComponentProps<typeof ScrollAreaPrimitive.Root>): react_jsx_runtime.JSX.Element;
897
- declare function ScrollBar({ className, orientation, ...props }: React$1.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>): react_jsx_runtime.JSX.Element;
898
-
899
- declare function Select({ ...props }: React$1.ComponentProps<typeof SelectPrimitive.Root>): react_jsx_runtime.JSX.Element;
900
- declare function SelectGroup({ ...props }: React$1.ComponentProps<typeof SelectPrimitive.Group>): react_jsx_runtime.JSX.Element;
901
- declare function SelectValue({ ...props }: React$1.ComponentProps<typeof SelectPrimitive.Value>): react_jsx_runtime.JSX.Element;
902
- declare function SelectTrigger({ className, size, children, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Trigger> & {
903
- size?: "sm" | "default";
904
- }): react_jsx_runtime.JSX.Element;
905
- declare function SelectContent({ className, children, position, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Content>): react_jsx_runtime.JSX.Element;
906
- declare function SelectLabel({ className, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Label>): react_jsx_runtime.JSX.Element;
907
- declare function SelectItem({ className, children, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Item>): react_jsx_runtime.JSX.Element;
908
- declare function SelectSeparator({ className, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Separator>): react_jsx_runtime.JSX.Element;
909
-
910
- declare function Separator({ className, orientation, decorative, ...props }: React$1.ComponentProps<typeof SeparatorPrimitive.Root>): react_jsx_runtime.JSX.Element;
911
-
912
- declare function Sheet({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
913
- declare function SheetTrigger({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
914
- declare function SheetClose({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime.JSX.Element;
915
- declare function SheetContent({ className, children, side, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content> & {
916
- side?: "top" | "right" | "bottom" | "left";
917
- }): react_jsx_runtime.JSX.Element;
918
- declare function SheetHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
919
- declare function SheetFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
920
- declare function SheetTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
921
- declare function SheetDescription({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
922
-
923
- declare function TooltipProvider({ delayDuration, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Provider>): react_jsx_runtime.JSX.Element;
924
- declare function Tooltip({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Root>): react_jsx_runtime.JSX.Element;
925
- declare function TooltipTrigger({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
926
- declare function TooltipContent({ className, sideOffset, children, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Content>): react_jsx_runtime.JSX.Element;
927
-
928
- type SidebarContextProps = {
929
- state: "expanded" | "collapsed";
930
- open: boolean;
931
- setOpen: (open: boolean) => void;
932
- openMobile: boolean;
933
- setOpenMobile: (open: boolean) => void;
934
- isMobile: boolean;
935
- toggleSidebar: () => void;
936
- };
937
- declare function useSidebar(): SidebarContextProps;
938
- declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React$1.ComponentProps<"div"> & {
939
- defaultOpen?: boolean;
940
- open?: boolean;
941
- onOpenChange?: (open: boolean) => void;
942
- }): react_jsx_runtime.JSX.Element;
943
- declare function Sidebar({ side, variant, collapsible, className, children, ...props }: React$1.ComponentProps<"div"> & {
944
- side?: "left" | "right";
945
- variant?: "sidebar" | "floating" | "inset";
946
- collapsible?: "offcanvas" | "icon" | "none";
947
- }): react_jsx_runtime.JSX.Element;
948
- declare function SidebarTrigger({ className, onClick, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
949
- declare function SidebarRail({ className, ...props }: React$1.ComponentProps<"button">): react_jsx_runtime.JSX.Element;
950
- declare function SidebarInset({ className, ...props }: React$1.ComponentProps<"main">): react_jsx_runtime.JSX.Element;
951
- declare function SidebarHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
952
- declare function SidebarFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
953
- declare function SidebarSeparator({ className, ...props }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
954
- declare function SidebarContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
955
- declare function SidebarGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
956
- declare function SidebarGroupLabel({ className, asChild, ...props }: React$1.ComponentProps<"div"> & {
957
- asChild?: boolean;
958
- }): react_jsx_runtime.JSX.Element;
959
- declare function SidebarGroupAction({ className, asChild, ...props }: React$1.ComponentProps<"button"> & {
960
- asChild?: boolean;
961
- }): react_jsx_runtime.JSX.Element;
962
- declare function SidebarGroupContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
963
- declare function SidebarMenu({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
964
- declare function SidebarMenuItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
965
- declare const sidebarMenuButtonVariants: (props?: ({
966
- variant?: "default" | "outline" | null | undefined;
967
- size?: "default" | "sm" | "lg" | null | undefined;
968
- } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
969
- declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: React$1.ComponentProps<"button"> & {
970
- asChild?: boolean;
971
- isActive?: boolean;
972
- tooltip?: string | React$1.ComponentProps<typeof TooltipContent>;
973
- } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime.JSX.Element;
974
- declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React$1.ComponentProps<"button"> & {
975
- asChild?: boolean;
976
- showOnHover?: boolean;
977
- }): react_jsx_runtime.JSX.Element;
978
- declare function SidebarMenuBadge({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
979
- declare function SidebarMenuSkeleton({ className, showIcon, ...props }: React$1.ComponentProps<"div"> & {
980
- showIcon?: boolean;
981
- }): react_jsx_runtime.JSX.Element;
982
- declare function SidebarMenuSub({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
983
- declare function SidebarMenuSubItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
984
- declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...props }: React$1.ComponentProps<"a"> & {
985
- asChild?: boolean;
986
- size?: "sm" | "md";
987
- isActive?: boolean;
988
- }): react_jsx_runtime.JSX.Element;
989
-
990
- interface SkeletonProps extends React.ComponentProps<"div"> {
991
- /** Animation variant: pulse (default) or shimmer (premium) */
992
- variant?: "pulse" | "shimmer";
993
- }
994
- declare function Skeleton({ className, variant, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
995
-
996
- declare function Slider({ className, defaultValue, value, min, max, ...props }: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime.JSX.Element;
997
-
998
- declare const Toaster: ({ ...props }: ToasterProps) => react_jsx_runtime.JSX.Element;
999
-
1000
- declare function Switch({ className, ...props }: React$1.ComponentProps<typeof SwitchPrimitive.Root>): react_jsx_runtime.JSX.Element;
1001
-
1002
- interface TableProps extends React$1.ComponentProps<"table"> {
1003
- }
1004
- interface TableHeaderProps extends React$1.ComponentProps<"thead"> {
1005
- }
1006
- interface TableBodyProps extends React$1.ComponentProps<"tbody"> {
1007
- }
1008
- interface TableFooterProps extends React$1.ComponentProps<"tfoot"> {
1009
- }
1010
- interface TableRowProps extends React$1.ComponentProps<"tr"> {
1011
- }
1012
- interface TableHeadProps extends React$1.ComponentProps<"th"> {
1013
- }
1014
- interface TableCellProps extends React$1.ComponentProps<"td"> {
1015
- }
1016
- interface TableCaptionProps extends React$1.ComponentProps<"caption"> {
1017
- }
1018
- declare const Table: React$1.ForwardRefExoticComponent<Omit<TableProps, "ref"> & React$1.RefAttributes<HTMLTableElement>>;
1019
- declare const TableHeader: React$1.ForwardRefExoticComponent<Omit<TableHeaderProps, "ref"> & React$1.RefAttributes<HTMLTableSectionElement>>;
1020
- declare const TableBody: React$1.ForwardRefExoticComponent<Omit<TableBodyProps, "ref"> & React$1.RefAttributes<HTMLTableSectionElement>>;
1021
- declare const TableFooter: React$1.ForwardRefExoticComponent<Omit<TableFooterProps, "ref"> & React$1.RefAttributes<HTMLTableSectionElement>>;
1022
- declare const TableRow: React$1.ForwardRefExoticComponent<Omit<TableRowProps, "ref"> & React$1.RefAttributes<HTMLTableRowElement>>;
1023
- declare const TableHead: React$1.ForwardRefExoticComponent<Omit<TableHeadProps, "ref"> & React$1.RefAttributes<HTMLTableCellElement>>;
1024
- declare const TableCell: React$1.ForwardRefExoticComponent<Omit<TableCellProps, "ref"> & React$1.RefAttributes<HTMLTableCellElement>>;
1025
- declare const TableCaption: React$1.ForwardRefExoticComponent<Omit<TableCaptionProps, "ref"> & React$1.RefAttributes<HTMLTableCaptionElement>>;
1026
-
1027
- /**
1028
- * Labels for internationalization
1029
- */
1030
- interface TablePaginationLabels {
1031
- /** "Anterior" */
1032
- previous?: string;
1033
- /** "Próxima" */
1034
- next?: string;
1035
- /** "Primeira" */
1036
- first?: string;
1037
- /** "Última" */
1038
- last?: string;
1039
- /** "Mostrando" */
1040
- showing?: string;
1041
- /** "de" */
1042
- of?: string;
1043
- /** "resultados" */
1044
- results?: string;
1045
- /** "Itens por página" */
1046
- itemsPerPage?: string;
1047
- /** "Página" */
1048
- page?: string;
1049
- }
1050
- /**
1051
- * Props for the TablePagination component
1052
- *
1053
- * @example
1054
- * ```tsx
1055
- * // With useTablePagination hook
1056
- * const pagination = useTablePagination(data, { pageSize: 10 });
1057
- *
1058
- * <TablePagination
1059
- * currentPage={pagination.currentPage}
1060
- * totalPages={pagination.totalPages}
1061
- * pageSize={pagination.pageSize}
1062
- * totalItems={pagination.totalItems}
1063
- * onPageChange={pagination.goToPage}
1064
- * onPageSizeChange={pagination.setPageSize}
1065
- * />
1066
- * ```
1067
- */
1068
- interface TablePaginationProps {
1069
- /** Current page number (1-indexed) */
1070
- currentPage: number;
1071
- /** Total number of pages */
1072
- totalPages: number;
1073
- /** Current page size */
1074
- pageSize: number;
1075
- /** Total number of items */
1076
- totalItems: number;
1077
- /** Callback when page changes */
1078
- onPageChange: (page: number) => void;
1079
- /** Callback when page size changes */
1080
- onPageSizeChange?: (size: number) => void;
1081
- /** Available page size options */
1082
- pageSizeOptions?: number[];
1083
- /** Maximum number of visible page buttons */
1084
- maxVisiblePages?: number;
1085
- /** Show "Showing X of Y" info */
1086
- showInfo?: boolean;
1087
- /** Show page number buttons */
1088
- showPageNumbers?: boolean;
1089
- /** Show page size selector */
1090
- showPageSizeSelector?: boolean;
1091
- /** Show first/last page buttons */
1092
- showFirstLastButtons?: boolean;
1093
- /** Custom labels for i18n */
1094
- labels?: TablePaginationLabels;
1095
- /** Additional className */
1096
- className?: string;
1097
- }
1098
- /**
1099
- * Generate array of page numbers with ellipsis
1100
- */
1101
- declare function getPageNumbers(currentPage: number, totalPages: number, maxVisible?: number): (number | "ellipsis")[];
1102
- /**
1103
- * TablePagination Component
1104
- *
1105
- * A complete, ready-to-use pagination component for tables and data grids.
1106
- * Integrates seamlessly with the `useTablePagination` hook.
1107
- *
1108
- * @example
1109
- * ```tsx
1110
- * import { useTablePagination, TablePagination, Table, TableBody, ... } from "@iclips/ui";
1111
- *
1112
- * function MyTable({ data }) {
1113
- * const pagination = useTablePagination(data, { pageSize: 10 });
1114
- *
1115
- * return (
1116
- * <>
1117
- * <Table>
1118
- * <TableBody>
1119
- * {pagination.paginatedData.map(item => (
1120
- * <TableRow key={item.id}>...</TableRow>
1121
- * ))}
1122
- * </TableBody>
1123
- * </Table>
1124
- *
1125
- * <TablePagination
1126
- * currentPage={pagination.currentPage}
1127
- * totalPages={pagination.totalPages}
1128
- * pageSize={pagination.pageSize}
1129
- * totalItems={pagination.totalItems}
1130
- * onPageChange={pagination.goToPage}
1131
- * onPageSizeChange={pagination.setPageSize}
1132
- * />
1133
- * </>
1134
- * );
1135
- * }
1136
- * ```
1137
- *
1138
- * @example
1139
- * ```tsx
1140
- * // Minimal usage (without page size selector)
1141
- * <TablePagination
1142
- * currentPage={1}
1143
- * totalPages={10}
1144
- * pageSize={20}
1145
- * totalItems={200}
1146
- * onPageChange={(page) => setCurrentPage(page)}
1147
- * showPageSizeSelector={false}
1148
- * />
1149
- * ```
1150
- */
1151
- declare function TablePagination({ currentPage, totalPages, pageSize, totalItems, onPageChange, onPageSizeChange, pageSizeOptions, maxVisiblePages, showInfo, showPageNumbers, showPageSizeSelector, showFirstLastButtons, labels: customLabels, className, }: TablePaginationProps): react_jsx_runtime.JSX.Element | null;
1152
- declare namespace TablePagination {
1153
- var displayName: string;
1154
- }
1155
-
1156
- /**
1157
- * Utility types for DataTable implementations
1158
- *
1159
- * These types provide standard interfaces for common DataTable patterns
1160
- * like sorting, pagination, column definitions, and selection.
1161
- */
1162
- /**
1163
- * Direction of sorting
1164
- */
1165
- type SortDirection = "asc" | "desc" | null;
1166
- /**
1167
- * Sort configuration for a table
1168
- *
1169
- * @example
1170
- * ```tsx
1171
- * const [sortConfig, setSortConfig] = useState<SortConfig<User>>({
1172
- * column: "name",
1173
- * direction: "asc"
1174
- * });
1175
- * ```
1176
- */
1177
- interface SortConfig<T> {
1178
- column: keyof T | null;
1179
- direction: SortDirection;
1180
- }
1181
- /**
1182
- * Column definition for a DataTable
1183
- *
1184
- * @example
1185
- * ```tsx
1186
- * const columns: ColumnDef<User>[] = [
1187
- * {
1188
- * key: "name",
1189
- * header: "Name",
1190
- * sortable: true,
1191
- * width: "200px"
1192
- * },
1193
- * {
1194
- * key: "email",
1195
- * header: "Email",
1196
- * render: (value, row) => <a href={`mailto:${value}`}>{value}</a>
1197
- * }
1198
- * ];
1199
- * ```
1200
- */
1201
- interface ColumnDef<T extends Record<string, any>> {
1202
- /** Key of the data property to display */
1203
- key: keyof T;
1204
- /** Header label or React node */
1205
- header: string | React.ReactNode;
1206
- /** Whether this column is sortable */
1207
- sortable?: boolean;
1208
- /** Column width (CSS value) */
1209
- width?: string | number;
1210
- /** Text alignment */
1211
- align?: "left" | "center" | "right";
1212
- /** Custom render function for the cell content */
1213
- render?: (value: T[keyof T], row: T, index: number) => React.ReactNode;
1214
- /** Additional className for the cell */
1215
- className?: string;
1216
- /** Additional className for the header */
1217
- headerClassName?: string;
1218
- }
1219
- /**
1220
- * Pagination configuration
1221
- *
1222
- * @example
1223
- * ```tsx
1224
- * const [pagination, setPagination] = useState<PaginationConfig>({
1225
- * currentPage: 1,
1226
- * pageSize: 10,
1227
- * totalItems: 100
1228
- * });
1229
- * ```
1230
- */
1231
- interface PaginationConfig {
1232
- /** Current page number (1-indexed) */
1233
- currentPage: number;
1234
- /** Number of items per page */
1235
- pageSize: number;
1236
- /** Total number of items */
1237
- totalItems: number;
1238
- /** Callback when page changes */
1239
- onPageChange?: (page: number) => void;
1240
- /** Callback when page size changes */
1241
- onPageSizeChange?: (size: number) => void;
1242
- }
1243
- /**
1244
- * Helper to calculate pagination metadata
1245
- */
1246
- interface PaginationMetadata {
1247
- totalPages: number;
1248
- startIndex: number;
1249
- endIndex: number;
1250
- hasNextPage: boolean;
1251
- hasPreviousPage: boolean;
1252
- }
1253
- /**
1254
- * Selection state for table rows
1255
- *
1256
- * @example
1257
- * ```tsx
1258
- * const [selection, setSelection] = useState<SelectionState>({
1259
- * selectedIds: new Set(["1", "2"]),
1260
- * isAllSelected: false
1261
- * });
1262
- * ```
1263
- */
1264
- interface SelectionState {
1265
- /** Set of selected row IDs */
1266
- selectedIds: Set<string | number>;
1267
- /** Whether all rows are selected */
1268
- isAllSelected: boolean;
1269
- }
1270
- /**
1271
- * Complete table state with all common features
1272
- *
1273
- * @example
1274
- * ```tsx
1275
- * const [tableState, setTableState] = useState<TableState<User>>({
1276
- * data: users,
1277
- * sort: { column: "name", direction: "asc" },
1278
- * pagination: { currentPage: 1, pageSize: 10, totalItems: 100 },
1279
- * selection: { selectedIds: new Set(), isAllSelected: false }
1280
- * });
1281
- * ```
1282
- */
1283
- interface TableState<T extends Record<string, any>> {
1284
- /** Table data */
1285
- data: T[];
1286
- /** Sort configuration */
1287
- sort?: SortConfig<T>;
1288
- /** Pagination configuration */
1289
- pagination?: PaginationConfig;
1290
- /** Selection state */
1291
- selection?: SelectionState;
1292
- /** Loading state */
1293
- isLoading?: boolean;
1294
- /** Error state */
1295
- error?: string | null;
1296
- }
1297
- /**
1298
- * Filter operator types
1299
- */
1300
- type FilterOperator = "equals" | "contains" | "startsWith" | "endsWith" | "greaterThan" | "lessThan" | "between" | "in";
1301
- /**
1302
- * Filter configuration for a column
1303
- *
1304
- * @example
1305
- * ```tsx
1306
- * const filters: FilterConfig<User>[] = [
1307
- * {
1308
- * column: "status",
1309
- * operator: "in",
1310
- * value: ["active", "pending"]
1311
- * },
1312
- * {
1313
- * column: "age",
1314
- * operator: "greaterThan",
1315
- * value: 18
1316
- * }
1317
- * ];
1318
- * ```
1319
- */
1320
- interface FilterConfig<T> {
1321
- column: keyof T;
1322
- operator: FilterOperator;
1323
- value: any;
1324
- }
1325
- /**
1326
- * Configuration for draggable rows
1327
- */
1328
- interface DragDropConfig {
1329
- /** Whether drag and drop is enabled */
1330
- enabled: boolean;
1331
- /** Callback when a row is dropped */
1332
- onDrop?: (dragIndex: number, dropIndex: number) => void;
1333
- /** Custom drag handle component */
1334
- dragHandle?: React.ReactNode;
1335
- }
1336
- /**
1337
- * Configuration for expandable rows
1338
- *
1339
- * @example
1340
- * ```tsx
1341
- * const expandConfig: RowExpansionConfig<User> = {
1342
- * enabled: true,
1343
- * expandedRows: new Set(["1", "3"]),
1344
- * renderExpandedContent: (row) => (
1345
- * <div>Details for {row.name}</div>
1346
- * )
1347
- * };
1348
- * ```
1349
- */
1350
- interface RowExpansionConfig<T extends Record<string, any>> {
1351
- /** Whether row expansion is enabled */
1352
- enabled: boolean;
1353
- /** Set of expanded row IDs */
1354
- expandedRows?: Set<string | number>;
1355
- /** Callback when row expansion changes */
1356
- onExpansionChange?: (rowId: string | number, isExpanded: boolean) => void;
1357
- /** Custom content to render when row is expanded */
1358
- renderExpandedContent?: (row: T, index: number) => React.ReactNode;
1359
- }
1360
- /**
1361
- * Sort function type
1362
- */
1363
- type SortFunction<T extends Record<string, any>> = (a: T, b: T, config: SortConfig<T>) => number;
1364
- /**
1365
- * Filter function type
1366
- */
1367
- type FilterFunction<T extends Record<string, any>> = (row: T, filters: FilterConfig<T>[]) => boolean;
1368
- /**
1369
- * Helper function to calculate pagination metadata
1370
- */
1371
- declare function calculatePaginationMetadata(config: PaginationConfig): PaginationMetadata;
1372
-
1373
- interface FilterCondition {
1374
- id: string;
1375
- field: string;
1376
- operator: string;
1377
- value: string | string[];
1378
- }
1379
- interface FilterField {
1380
- value: string;
1381
- label: string;
1382
- type?: "text" | "number" | "select" | "date";
1383
- options?: {
1384
- value: string;
1385
- label: string;
1386
- }[];
1387
- multiSelect?: boolean;
1388
- }
1389
- interface FilterBuilderProps {
1390
- conditions: FilterCondition[];
1391
- onConditionsChange: (conditions: FilterCondition[]) => void;
1392
- fields: FilterField[];
1393
- className?: string;
1394
- }
1395
- declare function FilterBuilder({ conditions, onConditionsChange, fields, className, }: FilterBuilderProps): react_jsx_runtime.JSX.Element;
1396
-
1397
- interface DataTableProps<T extends Record<string, any>> {
1398
- data: T[];
1399
- columns: ColumnDef<T>[];
1400
- searchPlaceholder?: string;
1401
- searchableColumns?: (keyof T)[];
1402
- enableSearch?: boolean;
1403
- filterFields?: FilterField[];
1404
- enableFilters?: boolean;
1405
- pageSizeOptions?: number[];
1406
- initialPageSize?: number;
1407
- toolbarActions?: React__default.ReactNode;
1408
- className?: string;
1409
- }
1410
- declare function DataTable<T extends Record<string, any>>({ data, columns, searchPlaceholder, searchableColumns, enableSearch, filterFields, enableFilters, pageSizeOptions, initialPageSize, toolbarActions, className, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
1411
-
1412
- /**
1413
- * Example component demonstrating the enhanced DataTable with Search + Filters
1414
- */
1415
- declare function DataTableExample(): react_jsx_runtime.JSX.Element;
1416
-
1417
- interface ActiveFilter {
1418
- id: string;
1419
- label: string;
1420
- value?: string;
1421
- onRemove?: () => void;
1422
- }
1423
- interface FilterBarProps {
1424
- activeFilters?: ActiveFilter[];
1425
- onClearAll?: () => void;
1426
- onOpenFilters?: () => void;
1427
- className?: string;
1428
- children?: React$1.ReactNode;
1429
- }
1430
- declare function FilterBar({ activeFilters, onClearAll, onOpenFilters, className, children, }: FilterBarProps): react_jsx_runtime.JSX.Element;
1431
-
1432
- interface FilterChipProps {
1433
- label: string;
1434
- value?: string;
1435
- onRemove?: () => void;
1436
- className?: string;
1437
- }
1438
- declare function FilterChip({ label, value, onRemove, className }: FilterChipProps): react_jsx_runtime.JSX.Element;
1439
-
1440
- interface SavedFilter {
1441
- id: string;
1442
- name: string;
1443
- description?: string;
1444
- isFavorite?: boolean;
1445
- filterCount?: number;
1446
- }
1447
- interface SavedFiltersProps {
1448
- filters?: SavedFilter[];
1449
- onSelectFilter?: (filterId: string) => void;
1450
- onToggleFavorite?: (filterId: string) => void;
1451
- onDeleteFilter?: (filterId: string) => void;
1452
- className?: string;
1453
- }
1454
- declare function SavedFilters({ filters, onSelectFilter, onToggleFavorite, onDeleteFilter, className, }: SavedFiltersProps): react_jsx_runtime.JSX.Element;
1455
-
1456
- declare function Tabs({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Root>): react_jsx_runtime.JSX.Element;
1457
- declare function TabsList({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.List>): react_jsx_runtime.JSX.Element;
1458
- declare function TabsTrigger({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
1459
- declare function TabsContent({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Content>): react_jsx_runtime.JSX.Element;
1460
-
1461
- interface UnderlineTabsProps {
1462
- defaultValue?: string;
1463
- value?: string;
1464
- onValueChange?: (value: string) => void;
1465
- children: React$1.ReactNode;
1466
- className?: string;
1467
- }
1468
- declare function UnderlineTabs({ defaultValue, value: controlledValue, onValueChange, children, className, }: UnderlineTabsProps): react_jsx_runtime.JSX.Element;
1469
- interface UnderlineTabsListProps {
1470
- children: React$1.ReactNode;
1471
- className?: string;
1472
- }
1473
- declare function UnderlineTabsList({ children, className }: UnderlineTabsListProps): react_jsx_runtime.JSX.Element;
1474
- interface UnderlineTabsTriggerProps {
1475
- value: string;
1476
- children: React$1.ReactNode;
1477
- className?: string;
1478
- disabled?: boolean;
1479
- }
1480
- declare function UnderlineTabsTrigger({ value: triggerValue, children, className, disabled, }: UnderlineTabsTriggerProps): react_jsx_runtime.JSX.Element;
1481
- interface UnderlineTabsContentProps {
1482
- value: string;
1483
- children: React$1.ReactNode;
1484
- className?: string;
1485
- }
1486
- declare function UnderlineTabsContent({ value: contentValue, children, className, }: UnderlineTabsContentProps): react_jsx_runtime.JSX.Element | null;
1487
-
1488
- declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
1489
-
1490
- declare const toggleVariants: (props?: ({
1491
- variant?: "default" | "outline" | null | undefined;
1492
- size?: "default" | "sm" | "lg" | null | undefined;
1493
- } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
1494
- declare function Toggle({ className, variant, size, ...props }: React$1.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
1495
-
1496
- declare function ToggleGroup({ className, variant, size, children, ...props }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
1497
- declare function ToggleGroupItem({ className, children, variant, size, ...props }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
1498
-
1499
- /**
1500
- * Illustration System - iClips Design System
1501
- *
1502
- * Reusable SVG illustrations for empty states and onboarding.
1503
- * These follow the iClips brand colors (Purple #7F26BF as primary).
1504
- */
1505
- interface IllustrationProps {
1506
- className?: string;
1507
- size?: "sm" | "md" | "lg";
1508
- /** Primary color - defaults to purple-500 */
1509
- primaryColor?: string;
1510
- /** Secondary color - defaults to purple-100 */
1511
- secondaryColor?: string;
1512
- }
1513
- /**
1514
- * Empty Inbox Illustration
1515
- * Use for: No messages, no notifications, cleared inbox
1516
- */
1517
- declare function EmptyInboxIllustration({ className, size, primaryColor, secondaryColor, }: IllustrationProps): react_jsx_runtime.JSX.Element;
1518
- /**
1519
- * Empty Search Illustration
1520
- * Use for: No results found, empty search
1521
- */
1522
- declare function EmptySearchIllustration({ className, size, primaryColor, secondaryColor, }: IllustrationProps): react_jsx_runtime.JSX.Element;
1523
- /**
1524
- * Empty Projects Illustration
1525
- * Use for: No projects, no campaigns, empty folder
1526
- */
1527
- declare function EmptyProjectsIllustration({ className, size, primaryColor, secondaryColor, }: IllustrationProps): react_jsx_runtime.JSX.Element;
1528
- /**
1529
- * Empty Calendar Illustration
1530
- * Use for: No events, no deadlines, clear schedule
1531
- */
1532
- declare function EmptyCalendarIllustration({ className, size, primaryColor, secondaryColor, }: IllustrationProps): react_jsx_runtime.JSX.Element;
1533
- /**
1534
- * Error State Illustration
1535
- * Use for: Error loading, something went wrong
1536
- */
1537
- declare function ErrorStateIllustration({ className, size, primaryColor, secondaryColor, }: IllustrationProps): react_jsx_runtime.JSX.Element;
1538
- /**
1539
- * Success State Illustration
1540
- * Use for: Action completed, all done
1541
- */
1542
- declare function SuccessStateIllustration({ className, size, primaryColor, secondaryColor, }: IllustrationProps): react_jsx_runtime.JSX.Element;
1543
- declare const Illustrations: {
1544
- EmptyInbox: typeof EmptyInboxIllustration;
1545
- EmptySearch: typeof EmptySearchIllustration;
1546
- EmptyProjects: typeof EmptyProjectsIllustration;
1547
- EmptyCalendar: typeof EmptyCalendarIllustration;
1548
- ErrorState: typeof ErrorStateIllustration;
1549
- SuccessState: typeof SuccessStateIllustration;
1550
- };
1551
-
1552
- declare function cn(...inputs: ClassValue[]): string;
1553
-
1554
- declare function useIsMobile(): boolean;
1555
-
1556
- /**
1557
- * Opções para o hook de impressão de contratos
1558
- */
1559
- interface UsePrintContractOptions {
1560
- /** Callback chamado antes de iniciar a impressão */
1561
- onPrintStart?: () => void;
1562
- /** Callback chamado após impressão bem-sucedida */
1563
- onPrintSuccess?: () => void;
1564
- /** Callback chamado em caso de erro */
1565
- onPrintError?: (error: Error) => void;
1566
- /** Callback chamado antes de iniciar download do PDF */
1567
- onDownloadStart?: () => void;
1568
- /** Callback chamado após download bem-sucedido */
1569
- onDownloadSuccess?: () => void;
1570
- /** Callback chamado em caso de erro no download */
1571
- onDownloadError?: (error: Error) => void;
1572
- }
1573
- /**
1574
- * Hook para gerenciar impressão e download de contratos
1575
- *
1576
- * @example
1577
- * ```tsx
1578
- * const printRef = useRef<HTMLDivElement>(null);
1579
- * const { printContract, downloadPDF } = usePrintContract(printRef, 'FEE-2024-001', {
1580
- * onPrintSuccess: () => toast.success('Impresso!'),
1581
- * onDownloadSuccess: () => toast.success('PDF gerado!'),
1582
- * });
1583
- * ```
1584
- */
1585
- declare function usePrintContract(contentRef: RefObject<HTMLElement | null>, contractNumber?: string, options?: UsePrintContractOptions): {
1586
- /** Imprime o contrato em nova janela */
1587
- printContract: () => void;
1588
- /** Gera e baixa PDF do contrato (implementação simulada) */
1589
- downloadPDF: () => void;
1590
- };
1591
-
1592
- declare function ImageWithFallback(props: React__default.ImgHTMLAttributes<HTMLImageElement>): react_jsx_runtime.JSX.Element;
1593
-
1594
- interface ProposalData {
1595
- proposalNumber: string;
1596
- issueDate: string;
1597
- validUntil: string;
1598
- client: {
1599
- name: string;
1600
- contact?: string;
1601
- email?: string;
1602
- phone?: string;
1603
- };
1604
- agency: {
1605
- name: string;
1606
- representative?: string;
1607
- email?: string;
1608
- phone?: string;
1609
- };
1610
- projectTitle: string;
1611
- projectDescription?: string;
1612
- objectives?: string[];
1613
- items: Array<{
1614
- name: string;
1615
- description?: string;
1616
- quantity?: number;
1617
- unitPrice?: number;
1618
- totalPrice: number;
1619
- }>;
1620
- subtotal: number;
1621
- discount?: number;
1622
- total: number;
1623
- paymentConditions?: string;
1624
- deliveryTime?: string;
1625
- notes?: string;
1626
- }
1627
- interface ProposalTemplateProps {
1628
- data: ProposalData;
1629
- showPreview?: boolean;
1630
- logo?: string;
1631
- }
1632
- declare function ProposalTemplate({ data, showPreview, logo, }: ProposalTemplateProps): react_jsx_runtime.JSX.Element;
1633
-
1634
- interface PrintHeaderProps {
1635
- /**
1636
- * URL ou path do logo da empresa
1637
- */
1638
- logo?: string;
1639
- /**
1640
- * Nome da empresa
1641
- */
1642
- companyName?: string;
1643
- /**
1644
- * Informações de contato
1645
- */
1646
- contactInfo?: {
1647
- address?: string;
1648
- phone?: string;
1649
- email?: string;
1650
- website?: string;
1651
- };
1652
- /**
1653
- * Tipo de documento (aparece no canto direito)
1654
- */
1655
- documentType?: string;
1656
- /**
1657
- * Número do documento
1658
- */
1659
- documentNumber?: string;
1660
- /**
1661
- * Data de emissão
1662
- */
1663
- issueDate?: string;
1664
- }
1665
- declare function PrintHeader({ logo, companyName, contactInfo, documentType, documentNumber, issueDate, }: PrintHeaderProps): react_jsx_runtime.JSX.Element;
1666
-
1667
- interface PrintFooterProps {
1668
- /**
1669
- * Número da página atual
1670
- */
1671
- pageNumber?: number;
1672
- /**
1673
- * Total de páginas
1674
- */
1675
- totalPages?: number;
1676
- /**
1677
- * Texto de rodapé customizado
1678
- */
1679
- footerText?: string;
1680
- /**
1681
- * Mostrar data de geração
1682
- */
1683
- showGeneratedDate?: boolean;
1684
- }
1685
- declare function PrintFooter({ pageNumber, totalPages, footerText, showGeneratedDate, }: PrintFooterProps): react_jsx_runtime.JSX.Element;
1686
-
1687
- interface PrintSectionProps {
1688
- /**
1689
- * Título da seção
1690
- */
1691
- title?: string;
1692
- /**
1693
- * Subtítulo da seção
1694
- */
1695
- subtitle?: string;
1696
- /**
1697
- * Conteúdo da seção
1698
- */
1699
- children: React.ReactNode;
1700
- /**
1701
- * Classe CSS adicional
1702
- */
1703
- className?: string;
1704
- /**
1705
- * Evitar quebra de página
1706
- */
1707
- avoidBreak?: boolean;
1708
- /**
1709
- * Forçar quebra de página antes
1710
- */
1711
- pageBreak?: boolean;
1712
- }
1713
- declare function PrintSection({ title, subtitle, children, className, avoidBreak, pageBreak, }: PrintSectionProps): react_jsx_runtime.JSX.Element;
1714
-
1715
- interface Column {
1716
- header: string;
1717
- key: string;
1718
- align?: "left" | "center" | "right";
1719
- width?: string;
1720
- render?: (value: any, row: any) => React.ReactNode;
1721
- }
1722
- interface PrintTableProps {
1723
- /**
1724
- * Colunas da tabela
1725
- */
1726
- columns: Column[];
1727
- /**
1728
- * Dados da tabela
1729
- */
1730
- data: any[];
1731
- /**
1732
- * Título da tabela (opcional)
1733
- */
1734
- title?: string;
1735
- /**
1736
- * Mostrar zebra (linhas alternadas)
1737
- */
1738
- striped?: boolean;
1739
- /**
1740
- * Mostrar borda
1741
- */
1742
- bordered?: boolean;
1743
- /**
1744
- * Densidade (espaçamento)
1745
- */
1746
- density?: "compact" | "normal" | "comfortable";
1747
- }
1748
- declare function PrintTable({ columns, data, title, striped, bordered, density, }: PrintTableProps): react_jsx_runtime.JSX.Element;
1749
-
1750
- interface SignatureField {
1751
- label: string;
1752
- name?: string;
1753
- role?: string;
1754
- date?: string;
1755
- }
1756
- interface PrintSignatureProps {
1757
- /**
1758
- * Lista de assinaturas necessárias
1759
- */
1760
- signatures: SignatureField[];
1761
- /**
1762
- * Layout das assinaturas
1763
- */
1764
- layout?: "horizontal" | "vertical";
1765
- /**
1766
- * Mostrar linha de assinatura
1767
- */
1768
- showLine?: boolean;
1769
- /**
1770
- * Texto de instrução
1771
- */
1772
- instructionText?: string;
1773
- }
1774
- declare function PrintSignature({ signatures, layout, showLine, instructionText, }: PrintSignatureProps): react_jsx_runtime.JSX.Element;
1775
-
1776
- interface InfoItem {
1777
- label: string;
1778
- value: string | React.ReactNode;
1779
- highlight?: boolean;
1780
- }
1781
- interface PrintInfoGridProps {
1782
- /**
1783
- * Lista de informações a serem exibidas
1784
- */
1785
- items: InfoItem[];
1786
- /**
1787
- * Número de colunas
1788
- */
1789
- columns?: 1 | 2 | 3 | 4;
1790
- /**
1791
- * Classe CSS adicional
1792
- */
1793
- className?: string;
1794
- }
1795
- declare function PrintInfoGrid({ items, columns, className, }: PrintInfoGridProps): react_jsx_runtime.JSX.Element;
1796
-
1797
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, type ActiveFilter, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppLayout, type AppLayoutProps, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, type CalendarProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPicker, type ColumnDef, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContractPrint, ContractPrintPreview, type ContractPrintProps, ContractTemplate, type DadosContrato, DataTable, DataTableExample, DatePicker, type DatePickerProps, DateRangePicker, type DateRangePickerProps, type DateRangePreset, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, type DragDropConfig, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyCalendarIllustration, EmptyInboxIllustration, EmptyProjectsIllustration, EmptySearchIllustration, ErrorStateIllustration, FilterBar, type FilterBarProps, FilterBuilder, type FilterBuilderProps, FilterChip, type FilterChipProps, type FilterCondition, type FilterConfig, type FilterField, type FilterFunction, type FilterOperator, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, type IllustrationProps, Illustrations, ImageWithFallback, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, KanbanCard, type KanbanCardAssignee, type KanbanCardProps, type KanbanCardTag, Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, Pagination, type PaginationConfig, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, type PaginationMetadata, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverTrigger, type PrimaryNavItem, PrintFooter, PrintHeader, PrintInfoGrid, PrintSection, PrintSignature, PrintTable, Progress, type ProposalData, ProposalTemplate, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, type RowExpansionConfig, type SavedFilter, SavedFilters, type SavedFiltersProps, ScrollArea, ScrollBar, type SecondaryNavItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, type SelectionState, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Toaster as Sonner, type SortConfig, type SortDirection, type SortFunction, SuccessStateIllustration, Switch, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TablePagination, type TablePaginationLabels, type TablePaginationProps, type TableProps, TableRow, type TableRowProps, type TableState, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TimePicker, type TimePickerProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UnderlineTabs, UnderlineTabsContent, UnderlineTabsList, UnderlineTabsTrigger, type UsePrintContractOptions, badgeVariants, buttonVariants, calculatePaginationMetadata, cn, dadosContratoExemplo, getPageNumbers, navigationMenuTriggerStyle, toggleVariants, useFormField, useIsMobile, usePrintContract, useSidebar };
1
+ export {}