@iclips/ui 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,13 +1,16 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
+ import React__default, { RefObject } from 'react';
3
4
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
4
5
  import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
5
6
  import * as class_variance_authority_types from 'class-variance-authority/types';
6
7
  import { VariantProps } from 'class-variance-authority';
8
+ import { LucideIcon } from 'lucide-react';
7
9
  import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
8
10
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
9
11
  import { DayPicker, DateRange } from 'react-day-picker';
10
12
  import useEmblaCarousel, { UseEmblaCarouselType } from 'embla-carousel-react';
13
+ import * as RechartsPrimitive from 'recharts';
11
14
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
12
15
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
13
16
  import { Command as Command$1 } from 'cmdk';
@@ -30,14 +33,14 @@ import * as ResizablePrimitive from 'react-resizable-panels';
30
33
  import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
31
34
  import * as SelectPrimitive from '@radix-ui/react-select';
32
35
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
36
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
33
37
  import * as SliderPrimitive from '@radix-ui/react-slider';
34
38
  import { ToasterProps } from 'sonner';
39
+ export { toast } from 'sonner';
35
40
  import * as SwitchPrimitive from '@radix-ui/react-switch';
36
41
  import * as TabsPrimitive from '@radix-ui/react-tabs';
37
- import * as TogglePrimitive from '@radix-ui/react-toggle';
38
42
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
39
- import * as TooltipPrimitive from '@radix-ui/react-tooltip';
40
- import * as RechartsPrimitive from 'recharts';
43
+ import * as TogglePrimitive from '@radix-ui/react-toggle';
41
44
  import { ClassValue } from 'clsx';
42
45
 
43
46
  declare function Accordion({ ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Root>): react_jsx_runtime.JSX.Element;
@@ -47,8 +50,6 @@ declare function AccordionContent({ className, children, ...props }: React$1.Com
47
50
 
48
51
  declare function AlertDialog({ ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
49
52
  declare function AlertDialogTrigger({ ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
50
- declare function AlertDialogPortal({ ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Portal>): react_jsx_runtime.JSX.Element;
51
- declare const AlertDialogOverlay: React$1.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
52
53
  declare function AlertDialogContent({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Content>): react_jsx_runtime.JSX.Element;
53
54
  declare function AlertDialogHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
54
55
  declare function AlertDialogFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
@@ -64,6 +65,35 @@ declare function Alert({ className, variant, ...props }: React$1.ComponentProps<
64
65
  declare function AlertTitle({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
65
66
  declare function AlertDescription({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
66
67
 
68
+ interface PrimaryNavItem {
69
+ id: string;
70
+ label: string;
71
+ icon: LucideIcon;
72
+ }
73
+ interface SecondaryNavItem {
74
+ label: string;
75
+ icon: LucideIcon;
76
+ badge?: string | number;
77
+ chevron?: boolean;
78
+ highlighted?: boolean;
79
+ }
80
+ interface AppLayoutProps {
81
+ children: React$1.ReactNode;
82
+ title?: string;
83
+ theme?: "light" | "dark";
84
+ onThemeToggle?: () => void;
85
+ primaryNavItems?: PrimaryNavItem[];
86
+ secondaryNavItems?: SecondaryNavItem[];
87
+ secondaryNavTitle?: string;
88
+ activePrimaryItem?: string;
89
+ onPrimaryItemClick?: (id: string) => void;
90
+ logoComponent?: React$1.ReactNode;
91
+ hideSecondaryNav?: boolean;
92
+ defaultPrimaryNavPinned?: boolean;
93
+ defaultSecondaryNavOpen?: boolean;
94
+ }
95
+ declare function AppLayout({ children, title, theme, onThemeToggle, primaryNavItems, secondaryNavItems, secondaryNavTitle, activePrimaryItem, onPrimaryItemClick, logoComponent, hideSecondaryNav, defaultPrimaryNavPinned, defaultSecondaryNavOpen }: AppLayoutProps): react_jsx_runtime.JSX.Element;
96
+
67
97
  declare function AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatioPrimitive.Root>): react_jsx_runtime.JSX.Element;
68
98
 
69
99
  declare function Avatar({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Root>): react_jsx_runtime.JSX.Element;
@@ -100,256 +130,145 @@ declare const Button: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttrib
100
130
  asChild?: boolean;
101
131
  }, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
102
132
 
103
- declare function Calendar({ className, classNames, showOutsideDays, ...props }: React$1.ComponentProps<typeof DayPicker>): react_jsx_runtime.JSX.Element;
104
-
105
- /**
106
- * Card Component Types
107
- *
108
- * Type definitions for the Card component and its sub-components.
109
- * Provides full TypeScript support for all Card variants.
110
- */
111
-
112
- /**
113
- * Props for the main Card component.
114
- *
115
- * @example
116
- * ```tsx
117
- * import { Card, type CardProps } from "./components/ui/card";
118
- *
119
- * interface CustomCardProps extends CardProps {
120
- * highlight?: boolean;
121
- * }
122
- * ```
123
- */
124
- interface CardProps extends React$1.ComponentProps<"div"> {
125
- }
126
- /**
127
- * Props for the CardHeader component.
128
- * Container for card title, description, and optional action.
129
- *
130
- * Uses CSS Grid to automatically layout title, description, and CardAction.
131
- * When CardAction is present, creates a 2-column layout.
132
- *
133
- * @example
134
- * ```tsx
135
- * <CardHeader>
136
- * <CardTitle>Revenue</CardTitle>
137
- * <CardDescription>Last 30 days</CardDescription>
138
- * <CardAction>
139
- * <Badge>+12%</Badge>
140
- * </CardAction>
141
- * </CardHeader>
142
- * ```
143
- */
144
- interface CardHeaderProps extends React$1.ComponentProps<"div"> {
145
- }
146
- /**
147
- * Props for the CardTitle component.
148
- *
149
- * Renders as an <h4> element by default.
150
- * Use the className prop to adjust text size for different contexts.
151
- *
152
- * @example
153
- * ```tsx
154
- * <CardTitle className="text-lg">Large Title</CardTitle>
155
- * <CardTitle className="text-sm">Small Title</CardTitle>
156
- * ```
157
- */
158
- interface CardTitleProps extends React$1.ComponentProps<"h4"> {
159
- }
133
+ interface DadosContrato {
134
+ numeroContrato: string;
135
+ dataEmissao: string;
136
+ dataInicio: string;
137
+ dataTermino: string;
138
+ cliente: {
139
+ nome: string;
140
+ cnpj?: string;
141
+ endereco?: string;
142
+ representante?: string;
143
+ email?: string;
144
+ telefone?: string;
145
+ };
146
+ agencia: {
147
+ nome: string;
148
+ cnpj?: string;
149
+ endereco?: string;
150
+ representante?: string;
151
+ email?: string;
152
+ telefone?: string;
153
+ };
154
+ valorFee: number;
155
+ totalHoras: number;
156
+ valorHora?: number;
157
+ condicoesPagamento: string;
158
+ formaPagamento?: string;
159
+ servicos?: Array<{
160
+ nome: string;
161
+ descricao?: string;
162
+ horasEstimadas?: number;
163
+ }>;
164
+ clausulas?: Array<{
165
+ titulo: string;
166
+ conteudo: string;
167
+ }>;
168
+ observacoes?: string;
169
+ }
170
+ interface ContractTemplateProps {
171
+ data: DadosContrato;
172
+ showPreview?: boolean;
173
+ logo?: string;
174
+ showServices?: boolean;
175
+ }
176
+ declare function ContractTemplate({ data, showPreview, logo, showServices, }: ContractTemplateProps): react_jsx_runtime.JSX.Element;
160
177
  /**
161
- * Props for the CardDescription component.
162
- *
163
- * Secondary text that provides additional context.
164
- * Rendered with muted foreground color.
165
- *
166
- * @example
167
- * ```tsx
168
- * <CardDescription>This is a description</CardDescription>
169
- * ```
178
+ * Dados de exemplo para o contrato
179
+ * Use este objeto para testar o componente ContractTemplate
170
180
  */
171
- interface CardDescriptionProps extends React$1.ComponentProps<"p"> {
181
+ declare const dadosContratoExemplo: DadosContrato;
182
+
183
+ interface ContractPrintProps {
184
+ /** Dados do contrato */
185
+ data: DadosContrato;
186
+ /** URL ou caminho do logo da empresa */
187
+ logo?: string;
188
+ /** Mostrar barra de ações (imprimir/download) */
189
+ showActions?: boolean;
190
+ /** Mostrar informações resumidas do contrato */
191
+ showSummary?: boolean;
192
+ /** Mostrar seção de serviços */
193
+ showServices?: boolean;
194
+ /** Mostrar informações sobre o template */
195
+ showInfo?: boolean;
196
+ /** Classe CSS adicional */
197
+ className?: string;
198
+ /** Callbacks de impressão */
199
+ onPrintStart?: () => void;
200
+ onPrintSuccess?: () => void;
201
+ onPrintError?: (error: Error) => void;
202
+ /** Callbacks de download */
203
+ onDownloadStart?: () => void;
204
+ onDownloadSuccess?: () => void;
205
+ onDownloadError?: (error: Error) => void;
172
206
  }
173
207
  /**
174
- * Props for the CardAction component.
208
+ * Componente wrapper completo para exibir e imprimir contratos
175
209
  *
176
- * Container for actions or indicators in the top-right of the card header.
177
- * Automatically positioned using CSS Grid when placed inside CardHeader.
178
- *
179
- * Common use cases:
180
- * - Trend indicators (↑ ↓)
181
- * - Percentage changes
182
- * - Action buttons
183
- * - Status badges
210
+ * Inclui:
211
+ * - Preview do contrato
212
+ * - Botões de ação (Imprimir/Download PDF)
213
+ * - Informações resumidas
214
+ * - Todas as funcionalidades prontas
184
215
  *
185
216
  * @example
186
217
  * ```tsx
187
- * // KPI card with trend indicator
188
- * <CardHeader>
189
- * <CardTitle>Total Revenue</CardTitle>
190
- * <CardDescription>$45,231.89</CardDescription>
191
- * <CardAction>
192
- * <Badge variant="secondary" className="bg-green-50">
193
- * <TrendingUp className="h-3 w-3 mr-1" />
194
- * +20.1%
195
- * </Badge>
196
- * </CardAction>
197
- * </CardHeader>
218
+ * import { ContractPrint, dadosContratoExemplo } from '@iclips/design-system';
198
219
  *
199
- * // Dashboard card with action button
200
- * <CardHeader>
201
- * <CardTitle>Recent Activity</CardTitle>
202
- * <CardAction>
203
- * <Button variant="ghost" size="icon">
204
- * <MoreVertical className="h-4 w-4" />
205
- * </Button>
206
- * </CardAction>
207
- * </CardHeader>
220
+ * function MinhaPage() {
221
+ * return (
222
+ * <ContractPrint
223
+ * data={dadosContratoExemplo}
224
+ * logo="/logo.png"
225
+ * showActions
226
+ * showSummary
227
+ * />
228
+ * );
229
+ * }
208
230
  * ```
209
231
  */
210
- interface CardActionProps extends React$1.ComponentProps<"div"> {
211
- }
232
+ declare function ContractPrint({ data, logo, showActions, showSummary, showServices, showInfo, className, onPrintStart, onPrintSuccess, onPrintError, onDownloadStart, onDownloadSuccess, onDownloadError, }: ContractPrintProps): react_jsx_runtime.JSX.Element;
212
233
  /**
213
- * Props for the CardContent component.
214
- *
215
- * Main content area of the card.
216
- * Includes horizontal padding and conditional bottom padding.
234
+ * Componente simplificado apenas com o preview do contrato
235
+ * Útil quando você quer construir sua própria UI de ações
217
236
  *
218
237
  * @example
219
238
  * ```tsx
220
- * <CardContent>
221
- * <p>Your content here</p>
222
- * </CardContent>
223
- * ```
224
- */
225
- interface CardContentProps extends React$1.ComponentProps<"div"> {
226
- }
227
- /**
228
- * Props for the CardFooter component.
239
+ * import { ContractPrintPreview, dadosContratoExemplo } from '@iclips/design-system';
229
240
  *
230
- * Footer section for actions or additional information.
231
- * Typically used for buttons or metadata.
241
+ * function MinhaPage() {
242
+ * const printRef = useRef<HTMLDivElement>(null);
232
243
  *
233
- * @example
234
- * ```tsx
235
- * <CardFooter className="flex justify-between">
236
- * <Button variant="ghost">Cancel</Button>
237
- * <Button>Save</Button>
238
- * </CardFooter>
244
+ * return (
245
+ * <div>
246
+ * <MeusPropriosBotoes printRef={printRef} />
247
+ * <ContractPrintPreview
248
+ * ref={printRef}
249
+ * data={dadosContratoExemplo}
250
+ * />
251
+ * </div>
252
+ * );
253
+ * }
239
254
  * ```
240
255
  */
241
- interface CardFooterProps extends React$1.ComponentProps<"div"> {
242
- }
256
+ declare const ContractPrintPreview: React$1.ForwardRefExoticComponent<{
257
+ data: DadosContrato;
258
+ logo?: string;
259
+ showServices?: boolean;
260
+ className?: string;
261
+ } & React$1.RefAttributes<HTMLDivElement>>;
243
262
 
244
- /**
245
- * Card
246
- *
247
- * A flexible container component for grouping related content.
248
- * Supports composition with CardHeader, CardContent, and CardFooter.
249
- *
250
- * @example
251
- * ```tsx
252
- * <Card>
253
- * <CardHeader>
254
- * <CardTitle>Title</CardTitle>
255
- * <CardDescription>Description</CardDescription>
256
- * </CardHeader>
257
- * <CardContent>Content here</CardContent>
258
- * </Card>
259
- * ```
260
- */
261
- declare const Card: React$1.ForwardRefExoticComponent<Omit<CardProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
262
- /**
263
- * CardHeader
264
- *
265
- * Header section of the card containing title, description, and optional action.
266
- * Uses CSS Grid for automatic layout when CardAction is present.
267
- *
268
- * @example
269
- * ```tsx
270
- * <CardHeader>
271
- * <CardTitle>Analytics</CardTitle>
272
- * <CardDescription>Your metrics</CardDescription>
273
- * <CardAction>
274
- * <Badge>+12%</Badge>
275
- * </CardAction>
276
- * </CardHeader>
277
- * ```
278
- */
279
- declare const CardHeader: React$1.ForwardRefExoticComponent<Omit<CardHeaderProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
280
- /**
281
- * CardTitle
282
- *
283
- * Title element for the card, rendered as h4 by default.
284
- *
285
- * @example
286
- * ```tsx
287
- * <CardTitle>Total Revenue</CardTitle>
288
- * <CardTitle className="text-sm">Small Title</CardTitle>
289
- * ```
290
- */
291
- declare const CardTitle: React$1.ForwardRefExoticComponent<Omit<CardTitleProps, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
292
- /**
293
- * CardDescription
294
- *
295
- * Descriptive text for the card with muted styling.
296
- *
297
- * @example
298
- * ```tsx
299
- * <CardDescription>Last 30 days of activity</CardDescription>
300
- * ```
301
- */
302
- declare const CardDescription: React$1.ForwardRefExoticComponent<Omit<CardDescriptionProps, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
303
- /**
304
- * CardAction
305
- *
306
- * Action or indicator placed in the top-right of the card header.
307
- * Ideal for trend indicators, badges, or action buttons in dashboard KPI cards.
308
- *
309
- * @example
310
- * ```tsx
311
- * // Trend indicator
312
- * <CardAction>
313
- * <Badge className="bg-green-50">
314
- * <TrendingUp className="h-3 w-3" /> +12%
315
- * </Badge>
316
- * </CardAction>
317
- *
318
- * // Action button
319
- * <CardAction>
320
- * <Button variant="ghost" size="icon">
321
- * <MoreVertical className="h-4 w-4" />
322
- * </Button>
323
- * </CardAction>
324
- * ```
325
- */
326
- declare const CardAction: React$1.ForwardRefExoticComponent<Omit<CardActionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
327
- /**
328
- * CardContent
329
- *
330
- * Main content area of the card.
331
- *
332
- * @example
333
- * ```tsx
334
- * <CardContent>
335
- * <p>Your content here</p>
336
- * </CardContent>
337
- * ```
338
- */
339
- declare const CardContent: React$1.ForwardRefExoticComponent<Omit<CardContentProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
340
- /**
341
- * CardFooter
342
- *
343
- * Footer section for actions or additional information.
344
- *
345
- * @example
346
- * ```tsx
347
- * <CardFooter>
348
- * <Button>Action</Button>
349
- * </CardFooter>
350
- * ```
351
- */
352
- declare const CardFooter: React$1.ForwardRefExoticComponent<Omit<CardFooterProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
263
+ declare function Calendar({ className, classNames, showOutsideDays, ...props }: React$1.ComponentProps<typeof DayPicker>): react_jsx_runtime.JSX.Element;
264
+
265
+ declare function Card({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
266
+ declare function CardHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
267
+ declare function CardTitle({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
268
+ declare function CardDescription({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
269
+ declare function CardAction({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
270
+ declare function CardContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
271
+ declare function CardFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
353
272
 
354
273
  type CarouselApi = UseEmblaCarouselType[1];
355
274
  type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
@@ -367,17 +286,131 @@ declare function CarouselItem({ className, ...props }: React$1.ComponentProps<"d
367
286
  declare function CarouselPrevious({ className, variant, size, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
368
287
  declare function CarouselNext({ className, variant, size, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
369
288
 
289
+ declare const THEMES: {
290
+ readonly light: "";
291
+ readonly dark: ".dark";
292
+ };
293
+ type ChartConfig = {
294
+ [k in string]: {
295
+ label?: React$1.ReactNode;
296
+ icon?: React$1.ComponentType;
297
+ } & ({
298
+ color?: string;
299
+ theme?: never;
300
+ } | {
301
+ color?: never;
302
+ theme: Record<keyof typeof THEMES, string>;
303
+ });
304
+ };
305
+ declare function ChartContainer({ id, className, children, config, ...props }: React$1.ComponentProps<"div"> & {
306
+ config: ChartConfig;
307
+ children: React$1.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
308
+ }): react_jsx_runtime.JSX.Element;
309
+ declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
310
+ 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"> & {
311
+ hideLabel?: boolean;
312
+ hideIndicator?: boolean;
313
+ indicator?: "line" | "dot" | "dashed";
314
+ nameKey?: string;
315
+ labelKey?: string;
316
+ payload?: any[];
317
+ label?: string;
318
+ }): react_jsx_runtime.JSX.Element | null;
319
+ declare const ChartLegend: typeof RechartsPrimitive.Legend;
320
+ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React$1.ComponentProps<"div"> & {
321
+ hideIcon?: boolean;
322
+ nameKey?: string;
323
+ payload?: any[];
324
+ verticalAlign?: "top" | "bottom";
325
+ }): react_jsx_runtime.JSX.Element | null;
326
+
370
327
  declare function Checkbox({ className, ...props }: React$1.ComponentProps<typeof CheckboxPrimitive.Root>): react_jsx_runtime.JSX.Element;
371
328
 
329
+ interface ColorPickerProps {
330
+ value?: string;
331
+ onChange?: (color: string) => void;
332
+ label?: string;
333
+ className?: string;
334
+ disabled?: boolean;
335
+ }
336
+ declare function ColorPicker({ value, onChange, label, className, disabled, }: ColorPickerProps): react_jsx_runtime.JSX.Element;
337
+
372
338
  declare function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): react_jsx_runtime.JSX.Element;
373
339
  declare function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): react_jsx_runtime.JSX.Element;
374
340
  declare function CollapsibleContent({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): react_jsx_runtime.JSX.Element;
375
341
 
342
+ interface DateTimePickerProps {
343
+ date?: Date;
344
+ onChange?: (date: Date | undefined) => void;
345
+ label?: string;
346
+ placeholder?: string;
347
+ className?: string;
348
+ disabled?: boolean;
349
+ }
350
+ declare function DateTimePicker({ date, onChange, label, placeholder, className, disabled, }: DateTimePickerProps): react_jsx_runtime.JSX.Element;
351
+
352
+ interface DateRangePickerProps {
353
+ dateRange?: DateRange;
354
+ onChange?: (range: DateRange | undefined) => void;
355
+ label?: string;
356
+ placeholder?: string;
357
+ className?: string;
358
+ disabled?: boolean;
359
+ withTime?: boolean;
360
+ }
361
+ declare function DateRangePicker({ dateRange, onChange, label, placeholder, className, disabled, withTime, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
362
+
363
+ interface TimePickerProps {
364
+ date?: Date;
365
+ onChange?: (date: Date | undefined) => void;
366
+ label?: string;
367
+ className?: string;
368
+ disabled?: boolean;
369
+ }
370
+ declare function TimePicker({ date, onChange, label, className, disabled, }: TimePickerProps): react_jsx_runtime.JSX.Element;
371
+
372
+ interface KanbanCardTag {
373
+ id: string;
374
+ label: string;
375
+ color?: string;
376
+ }
377
+ interface KanbanCardAssignee {
378
+ id: string;
379
+ name: string;
380
+ avatar?: string;
381
+ initials?: string;
382
+ }
383
+ interface KanbanCardProps {
384
+ id: string;
385
+ title: string;
386
+ description?: string;
387
+ coverImage?: string;
388
+ thumbnailImage?: string;
389
+ tags?: KanbanCardTag[];
390
+ assignees?: KanbanCardAssignee[];
391
+ priority?: "low" | "medium" | "high" | "urgent";
392
+ dueDate?: Date;
393
+ comments?: number;
394
+ attachments?: number;
395
+ checklist?: {
396
+ completed: number;
397
+ total: number;
398
+ };
399
+ progress?: number;
400
+ status?: string;
401
+ variant?: "default" | "compact" | "detailed";
402
+ isDragging?: boolean;
403
+ onClick?: () => void;
404
+ onEdit?: () => void;
405
+ onDelete?: () => void;
406
+ onDuplicate?: () => void;
407
+ className?: string;
408
+ }
409
+ declare const KanbanCard: React$1.ForwardRefExoticComponent<KanbanCardProps & React$1.RefAttributes<HTMLDivElement>>;
410
+
376
411
  declare function Dialog({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
377
412
  declare function DialogTrigger({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
378
- declare function DialogPortal({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Portal>): react_jsx_runtime.JSX.Element;
379
413
  declare function DialogClose({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime.JSX.Element;
380
- declare const DialogOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
381
414
  declare function DialogContent({ className, children, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content>): react_jsx_runtime.JSX.Element;
382
415
  declare function DialogHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
383
416
  declare function DialogFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
@@ -422,9 +455,7 @@ declare function ContextMenuShortcut({ className, ...props }: React$1.ComponentP
422
455
 
423
456
  declare function Drawer({ ...props }: React$1.ComponentProps<typeof Drawer$1.Root>): react_jsx_runtime.JSX.Element;
424
457
  declare const DrawerTrigger: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
425
- declare function DrawerPortal({ ...props }: React$1.ComponentProps<typeof Drawer$1.Portal>): react_jsx_runtime.JSX.Element;
426
458
  declare const DrawerClose: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
427
- declare const DrawerOverlay: React$1.ForwardRefExoticComponent<Omit<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
428
459
  declare const DrawerContent: React$1.ForwardRefExoticComponent<Omit<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
429
460
  declare function DrawerHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
430
461
  declare function DrawerFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
@@ -523,9 +554,7 @@ declare function NavigationMenuItem({ className, ...props }: React$1.ComponentPr
523
554
  declare const navigationMenuTriggerStyle: (props?: class_variance_authority_types.ClassProp | undefined) => string;
524
555
  declare function NavigationMenuTrigger({ className, children, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
525
556
  declare function NavigationMenuContent({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Content>): react_jsx_runtime.JSX.Element;
526
- declare function NavigationMenuViewport({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Viewport>): react_jsx_runtime.JSX.Element;
527
557
  declare function NavigationMenuLink({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Link>): react_jsx_runtime.JSX.Element;
528
- declare function NavigationMenuIndicator({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Indicator>): react_jsx_runtime.JSX.Element;
529
558
 
530
559
  declare function Pagination({ className, ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
531
560
  declare function PaginationContent({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
@@ -541,16 +570,15 @@ declare function PaginationEllipsis({ className, ...props }: React$1.ComponentPr
541
570
  declare function Popover({ ...props }: React$1.ComponentProps<typeof PopoverPrimitive.Root>): react_jsx_runtime.JSX.Element;
542
571
  declare const PopoverTrigger: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
543
572
  declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
544
- declare const PopoverAnchor: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverAnchorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
545
573
 
546
574
  declare function Progress({ className, value, ...props }: React$1.ComponentProps<typeof ProgressPrimitive.Root>): react_jsx_runtime.JSX.Element;
547
575
 
548
576
  declare function RadioGroup({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Root>): react_jsx_runtime.JSX.Element;
549
577
  declare function RadioGroupItem({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Item>): react_jsx_runtime.JSX.Element;
550
578
 
551
- declare function ResizablePanelGroup({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>): react_jsx_runtime.JSX.Element;
552
- declare function ResizablePanel({ ...props }: React.ComponentProps<typeof ResizablePrimitive.Panel>): react_jsx_runtime.JSX.Element;
553
- declare function ResizableHandle({ withHandle, className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {
579
+ declare function ResizablePanelGroup({ className, ...props }: React$1.ComponentProps<typeof ResizablePrimitive.PanelGroup>): react_jsx_runtime.JSX.Element;
580
+ declare function ResizablePanel({ ...props }: React$1.ComponentProps<typeof ResizablePrimitive.Panel>): react_jsx_runtime.JSX.Element;
581
+ declare function ResizableHandle({ withHandle, className, ...props }: React$1.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {
554
582
  withHandle?: boolean;
555
583
  }): react_jsx_runtime.JSX.Element;
556
584
 
@@ -567,838 +595,24 @@ declare function SelectContent({ className, children, position, ...props }: Reac
567
595
  declare function SelectLabel({ className, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Label>): react_jsx_runtime.JSX.Element;
568
596
  declare function SelectItem({ className, children, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Item>): react_jsx_runtime.JSX.Element;
569
597
  declare function SelectSeparator({ className, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Separator>): react_jsx_runtime.JSX.Element;
570
- declare function SelectScrollUpButton({ className, ...props }: React$1.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): react_jsx_runtime.JSX.Element;
571
- declare function SelectScrollDownButton({ className, ...props }: React$1.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): react_jsx_runtime.JSX.Element;
572
598
 
573
599
  declare function Separator({ className, orientation, decorative, ...props }: React$1.ComponentProps<typeof SeparatorPrimitive.Root>): react_jsx_runtime.JSX.Element;
574
600
 
575
601
  declare function Sheet({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
576
- declare const SheetTrigger: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
577
- declare const SheetClose: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
578
- declare const SheetPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
579
- declare const SheetOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
580
- interface SheetContentProps extends React$1.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {
602
+ declare function SheetTrigger({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
603
+ declare function SheetClose({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime.JSX.Element;
604
+ declare function SheetContent({ className, children, side, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content> & {
581
605
  side?: "top" | "right" | "bottom" | "left";
582
- }
583
- declare const SheetContent: React$1.ForwardRefExoticComponent<SheetContentProps & React$1.RefAttributes<HTMLDivElement>>;
584
- declare function SheetHeader({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
585
- declare namespace SheetHeader {
586
- var displayName: string;
587
- }
588
- declare function SheetFooter({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
589
- declare namespace SheetFooter {
590
- var displayName: string;
591
- }
592
- declare const SheetTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
593
- declare const SheetDescription: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
594
-
595
- interface SkeletonProps extends React.ComponentProps<"div"> {
596
- /** Animation variant: pulse (default) or shimmer (premium) */
597
- variant?: "pulse" | "shimmer";
598
- }
599
- declare function Skeleton({ className, variant, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
600
-
601
- declare function Slider({ className, defaultValue, value, min, max, ...props }: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime.JSX.Element;
602
-
603
- declare const Toaster: ({ ...props }: ToasterProps) => react_jsx_runtime.JSX.Element;
606
+ }): react_jsx_runtime.JSX.Element;
607
+ declare function SheetHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
608
+ declare function SheetFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
609
+ declare function SheetTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
610
+ declare function SheetDescription({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
604
611
 
605
- declare function Switch({ className, ...props }: React$1.ComponentProps<typeof SwitchPrimitive.Root>): react_jsx_runtime.JSX.Element;
606
-
607
- interface TableProps extends React$1.ComponentProps<"table"> {
608
- }
609
- interface TableHeaderProps extends React$1.ComponentProps<"thead"> {
610
- }
611
- interface TableBodyProps extends React$1.ComponentProps<"tbody"> {
612
- }
613
- interface TableFooterProps extends React$1.ComponentProps<"tfoot"> {
614
- }
615
- interface TableRowProps extends React$1.ComponentProps<"tr"> {
616
- }
617
- interface TableHeadProps extends React$1.ComponentProps<"th"> {
618
- }
619
- interface TableCellProps extends React$1.ComponentProps<"td"> {
620
- }
621
- interface TableCaptionProps extends React$1.ComponentProps<"caption"> {
622
- }
623
- declare const Table: React$1.ForwardRefExoticComponent<Omit<TableProps, "ref"> & React$1.RefAttributes<HTMLTableElement>>;
624
- declare const TableHeader: React$1.ForwardRefExoticComponent<Omit<TableHeaderProps, "ref"> & React$1.RefAttributes<HTMLTableSectionElement>>;
625
- declare const TableBody: React$1.ForwardRefExoticComponent<Omit<TableBodyProps, "ref"> & React$1.RefAttributes<HTMLTableSectionElement>>;
626
- declare const TableFooter: React$1.ForwardRefExoticComponent<Omit<TableFooterProps, "ref"> & React$1.RefAttributes<HTMLTableSectionElement>>;
627
- declare const TableRow: React$1.ForwardRefExoticComponent<Omit<TableRowProps, "ref"> & React$1.RefAttributes<HTMLTableRowElement>>;
628
- declare const TableHead: React$1.ForwardRefExoticComponent<Omit<TableHeadProps, "ref"> & React$1.RefAttributes<HTMLTableCellElement>>;
629
- declare const TableCell: React$1.ForwardRefExoticComponent<Omit<TableCellProps, "ref"> & React$1.RefAttributes<HTMLTableCellElement>>;
630
- declare const TableCaption: React$1.ForwardRefExoticComponent<Omit<TableCaptionProps, "ref"> & React$1.RefAttributes<HTMLTableCaptionElement>>;
631
-
632
- /**
633
- * Utility types for DataTable implementations
634
- *
635
- * These types provide standard interfaces for common DataTable patterns
636
- * like sorting, pagination, column definitions, and selection.
637
- */
638
- /**
639
- * Direction of sorting
640
- */
641
- type SortDirection = "asc" | "desc" | null;
642
- /**
643
- * Sort configuration for a table
644
- *
645
- * @example
646
- * ```tsx
647
- * const [sortConfig, setSortConfig] = useState<SortConfig<User>>({
648
- * column: "name",
649
- * direction: "asc"
650
- * });
651
- * ```
652
- */
653
- interface SortConfig<T extends Record<string, any>> {
654
- column: keyof T | null;
655
- direction: SortDirection;
656
- }
657
- /**
658
- * Column definition for a DataTable
659
- *
660
- * @example
661
- * ```tsx
662
- * const columns: ColumnDef<User>[] = [
663
- * {
664
- * key: "name",
665
- * header: "Name",
666
- * sortable: true,
667
- * width: "200px"
668
- * },
669
- * {
670
- * key: "email",
671
- * header: "Email",
672
- * render: (value, row) => <a href={`mailto:${value}`}>{value}</a>
673
- * }
674
- * ];
675
- * ```
676
- */
677
- interface ColumnDef<T extends Record<string, any>> {
678
- /** Key of the data property to display */
679
- key: keyof T;
680
- /** Header label or React node */
681
- header: string | React.ReactNode;
682
- /** Whether this column is sortable */
683
- sortable?: boolean;
684
- /** Column width (CSS value) */
685
- width?: string | number;
686
- /** Text alignment */
687
- align?: "left" | "center" | "right";
688
- /** Custom render function for the cell content */
689
- render?: (value: T[keyof T], row: T, index: number) => React.ReactNode;
690
- /** Additional className for the cell */
691
- className?: string;
692
- /** Additional className for the header */
693
- headerClassName?: string;
694
- }
695
- /**
696
- * Pagination configuration
697
- *
698
- * @example
699
- * ```tsx
700
- * const [pagination, setPagination] = useState<PaginationConfig>({
701
- * currentPage: 1,
702
- * pageSize: 10,
703
- * totalItems: 100
704
- * });
705
- * ```
706
- */
707
- interface PaginationConfig {
708
- /** Current page number (1-indexed) */
709
- currentPage: number;
710
- /** Number of items per page */
711
- pageSize: number;
712
- /** Total number of items */
713
- totalItems: number;
714
- /** Callback when page changes */
715
- onPageChange?: (page: number) => void;
716
- /** Callback when page size changes */
717
- onPageSizeChange?: (size: number) => void;
718
- }
719
- /**
720
- * Helper to calculate pagination metadata
721
- */
722
- interface PaginationMetadata {
723
- totalPages: number;
724
- startIndex: number;
725
- endIndex: number;
726
- hasNextPage: boolean;
727
- hasPreviousPage: boolean;
728
- }
729
- /**
730
- * Selection state for table rows
731
- *
732
- * @example
733
- * ```tsx
734
- * const [selection, setSelection] = useState<SelectionState>({
735
- * selectedIds: new Set(["1", "2"]),
736
- * isAllSelected: false
737
- * });
738
- * ```
739
- */
740
- interface SelectionState {
741
- /** Set of selected row IDs */
742
- selectedIds: Set<string | number>;
743
- /** Whether all rows are selected */
744
- isAllSelected: boolean;
745
- }
746
- /**
747
- * Complete table state with all common features
748
- *
749
- * @example
750
- * ```tsx
751
- * const [tableState, setTableState] = useState<TableState<User>>({
752
- * data: users,
753
- * sort: { column: "name", direction: "asc" },
754
- * pagination: { currentPage: 1, pageSize: 10, totalItems: 100 },
755
- * selection: { selectedIds: new Set(), isAllSelected: false }
756
- * });
757
- * ```
758
- */
759
- interface TableState<T extends Record<string, any>> {
760
- /** Table data */
761
- data: T[];
762
- /** Sort configuration */
763
- sort?: SortConfig<T>;
764
- /** Pagination configuration */
765
- pagination?: PaginationConfig;
766
- /** Selection state */
767
- selection?: SelectionState;
768
- /** Loading state */
769
- isLoading?: boolean;
770
- /** Error state */
771
- error?: string | null;
772
- }
773
- /**
774
- * Filter operator types
775
- */
776
- type FilterOperator = "equals" | "contains" | "startsWith" | "endsWith" | "greaterThan" | "lessThan" | "between" | "in";
777
- /**
778
- * Filter configuration for a column
779
- *
780
- * @example
781
- * ```tsx
782
- * const filters: FilterConfig<User>[] = [
783
- * {
784
- * column: "status",
785
- * operator: "in",
786
- * value: ["active", "pending"]
787
- * },
788
- * {
789
- * column: "age",
790
- * operator: "greaterThan",
791
- * value: 18
792
- * }
793
- * ];
794
- * ```
795
- */
796
- interface FilterConfig<T extends Record<string, any>> {
797
- column: keyof T;
798
- operator: FilterOperator;
799
- value: any;
800
- }
801
- /**
802
- * Configuration for draggable rows
803
- */
804
- interface DragDropConfig {
805
- /** Whether drag and drop is enabled */
806
- enabled: boolean;
807
- /** Callback when a row is dropped */
808
- onDrop?: (dragIndex: number, dropIndex: number) => void;
809
- /** Custom drag handle component */
810
- dragHandle?: React.ReactNode;
811
- }
812
- /**
813
- * Configuration for expandable rows
814
- *
815
- * @example
816
- * ```tsx
817
- * const expandConfig: RowExpansionConfig<User> = {
818
- * enabled: true,
819
- * expandedRows: new Set(["1", "3"]),
820
- * renderExpandedContent: (row) => (
821
- * <div>Details for {row.name}</div>
822
- * )
823
- * };
824
- * ```
825
- */
826
- interface RowExpansionConfig<T extends Record<string, any>> {
827
- /** Whether row expansion is enabled */
828
- enabled: boolean;
829
- /** Set of expanded row IDs */
830
- expandedRows?: Set<string | number>;
831
- /** Callback when row expansion changes */
832
- onExpansionChange?: (rowId: string | number, isExpanded: boolean) => void;
833
- /** Custom content to render when row is expanded */
834
- renderExpandedContent?: (row: T, index: number) => React.ReactNode;
835
- }
836
- /**
837
- * Sort function type
838
- */
839
- type SortFunction<T extends Record<string, any>> = (a: T, b: T, config: SortConfig<T>) => number;
840
- /**
841
- * Filter function type
842
- */
843
- type FilterFunction<T extends Record<string, any>> = (row: T, filters: FilterConfig<T>[]) => boolean;
844
- /**
845
- * Helper function to calculate pagination metadata
846
- */
847
- declare function calculatePaginationMetadata(config: PaginationConfig): PaginationMetadata;
848
-
849
- /**
850
- * Labels for internationalization
851
- */
852
- interface TablePaginationLabels {
853
- /** "Anterior" */
854
- previous?: string;
855
- /** "Próxima" */
856
- next?: string;
857
- /** "Primeira" */
858
- first?: string;
859
- /** "Última" */
860
- last?: string;
861
- /** "Mostrando" */
862
- showing?: string;
863
- /** "de" */
864
- of?: string;
865
- /** "resultados" */
866
- results?: string;
867
- /** "Itens por página" */
868
- itemsPerPage?: string;
869
- /** "Página" */
870
- page?: string;
871
- }
872
- /**
873
- * Props for the TablePagination component
874
- *
875
- * @example
876
- * ```tsx
877
- * // With useTablePagination hook
878
- * const pagination = useTablePagination(data, { pageSize: 10 });
879
- *
880
- * <TablePagination
881
- * currentPage={pagination.currentPage}
882
- * totalPages={pagination.totalPages}
883
- * pageSize={pagination.pageSize}
884
- * totalItems={pagination.totalItems}
885
- * onPageChange={pagination.goToPage}
886
- * onPageSizeChange={pagination.setPageSize}
887
- * />
888
- * ```
889
- */
890
- interface TablePaginationProps {
891
- /** Current page number (1-indexed) */
892
- currentPage: number;
893
- /** Total number of pages */
894
- totalPages: number;
895
- /** Current page size */
896
- pageSize: number;
897
- /** Total number of items */
898
- totalItems: number;
899
- /** Callback when page changes */
900
- onPageChange: (page: number) => void;
901
- /** Callback when page size changes */
902
- onPageSizeChange?: (size: number) => void;
903
- /** Available page size options */
904
- pageSizeOptions?: number[];
905
- /** Maximum number of visible page buttons */
906
- maxVisiblePages?: number;
907
- /** Show "Showing X of Y" info */
908
- showInfo?: boolean;
909
- /** Show page number buttons */
910
- showPageNumbers?: boolean;
911
- /** Show page size selector */
912
- showPageSizeSelector?: boolean;
913
- /** Show first/last page buttons */
914
- showFirstLastButtons?: boolean;
915
- /** Custom labels for i18n */
916
- labels?: TablePaginationLabels;
917
- /** Additional className */
918
- className?: string;
919
- }
920
- /**
921
- * Generate array of page numbers with ellipsis
922
- */
923
- declare function getPageNumbers(currentPage: number, totalPages: number, maxVisible?: number): (number | "ellipsis")[];
924
- /**
925
- * TablePagination Component
926
- *
927
- * A complete, ready-to-use pagination component for tables and data grids.
928
- * Integrates seamlessly with the `useTablePagination` hook.
929
- *
930
- * @example
931
- * ```tsx
932
- * import { useTablePagination, TablePagination, Table, TableBody, ... } from "@iclips/ui";
933
- *
934
- * function MyTable({ data }) {
935
- * const pagination = useTablePagination(data, { pageSize: 10 });
936
- *
937
- * return (
938
- * <>
939
- * <Table>
940
- * <TableBody>
941
- * {pagination.paginatedData.map(item => (
942
- * <TableRow key={item.id}>...</TableRow>
943
- * ))}
944
- * </TableBody>
945
- * </Table>
946
- *
947
- * <TablePagination
948
- * currentPage={pagination.currentPage}
949
- * totalPages={pagination.totalPages}
950
- * pageSize={pagination.pageSize}
951
- * totalItems={pagination.totalItems}
952
- * onPageChange={pagination.goToPage}
953
- * onPageSizeChange={pagination.setPageSize}
954
- * />
955
- * </>
956
- * );
957
- * }
958
- * ```
959
- *
960
- * @example
961
- * ```tsx
962
- * // Minimal usage (without page size selector)
963
- * <TablePagination
964
- * currentPage={1}
965
- * totalPages={10}
966
- * pageSize={20}
967
- * totalItems={200}
968
- * onPageChange={(page) => setCurrentPage(page)}
969
- * showPageSizeSelector={false}
970
- * />
971
- * ```
972
- */
973
- 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;
974
- declare namespace TablePagination {
975
- var displayName: string;
976
- }
977
-
978
- declare function Tabs({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Root>): react_jsx_runtime.JSX.Element;
979
- declare function TabsList({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.List>): react_jsx_runtime.JSX.Element;
980
- declare function TabsTrigger({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
981
- declare function TabsContent({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Content>): react_jsx_runtime.JSX.Element;
982
-
983
- declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
984
-
985
- declare const toggleVariants: (props?: ({
986
- variant?: "default" | "outline" | null | undefined;
987
- size?: "default" | "sm" | "lg" | null | undefined;
988
- } & class_variance_authority_types.ClassProp) | undefined) => string;
989
- declare function Toggle({ className, variant, size, ...props }: React$1.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
990
-
991
- declare function ToggleGroup({ className, variant, size, children, ...props }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
992
- declare function ToggleGroupItem({ className, children, variant, size, ...props }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
993
-
994
- declare function TooltipProvider({ delayDuration, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Provider>): react_jsx_runtime.JSX.Element;
995
- declare function Tooltip({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Root>): react_jsx_runtime.JSX.Element;
996
- declare function TooltipTrigger({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
997
- declare function TooltipContent({ className, sideOffset, children, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Content>): react_jsx_runtime.JSX.Element;
998
-
999
- interface BrandLogoProps extends React$1.HTMLAttributes<HTMLDivElement> {
1000
- variant?: "symbol" | "full";
1001
- mode?: "positive" | "negative";
1002
- }
1003
- declare function BrandLogo({ variant, mode, className, ...props }: BrandLogoProps): react_jsx_runtime.JSX.Element;
1004
-
1005
- declare const THEMES: {
1006
- readonly light: "";
1007
- readonly dark: ".dark";
1008
- };
1009
- type ChartConfig = {
1010
- [k in string]: {
1011
- label?: React$1.ReactNode;
1012
- icon?: React$1.ComponentType;
1013
- } & ({
1014
- color?: string;
1015
- theme?: never;
1016
- } | {
1017
- color?: never;
1018
- theme: Record<keyof typeof THEMES, string>;
1019
- });
1020
- };
1021
- declare function ChartContainer({ id, className, children, config, ...props }: React$1.ComponentProps<"div"> & {
1022
- config: ChartConfig;
1023
- children: React$1.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
1024
- }): react_jsx_runtime.JSX.Element;
1025
- declare const ChartStyle: ({ id, config }: {
1026
- id: string;
1027
- config: ChartConfig;
1028
- }) => react_jsx_runtime.JSX.Element | null;
1029
- declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
1030
- 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"> & {
1031
- hideLabel?: boolean;
1032
- hideIndicator?: boolean;
1033
- indicator?: "line" | "dot" | "dashed";
1034
- nameKey?: string;
1035
- labelKey?: string;
1036
- }): react_jsx_runtime.JSX.Element | null;
1037
- declare const ChartLegend: typeof RechartsPrimitive.Legend;
1038
- declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React$1.ComponentProps<"div"> & Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & {
1039
- hideIcon?: boolean;
1040
- nameKey?: string;
1041
- }): react_jsx_runtime.JSX.Element | null;
1042
-
1043
- interface ColorPickerProps {
1044
- value?: string;
1045
- onChange?: (color: string) => void;
1046
- label?: string;
1047
- className?: string;
1048
- disabled?: boolean;
1049
- }
1050
- declare function ColorPicker({ value, onChange, label, className, disabled, }: ColorPickerProps): react_jsx_runtime.JSX.Element;
1051
- declare function ColorPickerInline({ value, onChange, className, disabled, }: Omit<ColorPickerProps, "label">): react_jsx_runtime.JSX.Element;
1052
-
1053
- type UserRole = 'internal' | 'client' | 'freelancer';
1054
- interface CommentUser {
1055
- id: string;
1056
- name: string;
1057
- avatar?: string;
1058
- role: UserRole;
1059
- }
1060
- interface CommentReaction {
1061
- emoji: string;
1062
- users: string[];
1063
- }
1064
- interface CommentAttachment {
1065
- id: string;
1066
- url: string;
1067
- name: string;
1068
- type: 'image' | 'file';
1069
- }
1070
- interface Comment {
1071
- id: string;
1072
- content: string;
1073
- user: CommentUser;
1074
- createdAt: Date;
1075
- isRevisionRequest?: boolean;
1076
- attachments?: CommentAttachment[];
1077
- reactions?: CommentReaction[];
1078
- }
1079
- interface CommentSystemProps {
1080
- comments: Comment[];
1081
- currentUser: CommentUser;
1082
- users?: CommentUser[];
1083
- onAddComment: (comment: Omit<Comment, "id" | "createdAt">) => void;
1084
- onDeleteComment?: (id: string) => void;
1085
- onReact?: (commentId: string, emoji: string) => void;
1086
- className?: string;
1087
- }
1088
- declare const CommentSystem: ({ comments, currentUser, users, onAddComment, onDeleteComment, onReact, className }: CommentSystemProps) => react_jsx_runtime.JSX.Element;
1089
-
1090
- interface DateRangePickerProps {
1091
- dateRange?: DateRange;
1092
- onChange?: (range: DateRange | undefined) => void;
1093
- label?: string;
1094
- placeholder?: string;
1095
- className?: string;
1096
- disabled?: boolean;
1097
- withTime?: boolean;
1098
- }
1099
- declare function DateRangePicker({ dateRange, onChange, label, placeholder, className, disabled, withTime, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
1100
-
1101
- interface DateTimePickerProps {
1102
- date?: Date;
1103
- onChange?: (date: Date | undefined) => void;
1104
- label?: string;
1105
- placeholder?: string;
1106
- className?: string;
1107
- disabled?: boolean;
1108
- }
1109
- declare function DateTimePicker({ date, onChange, label, placeholder, className, disabled, }: DateTimePickerProps): react_jsx_runtime.JSX.Element;
1110
-
1111
- type EditorVariant = 'simple' | 'full';
1112
- interface DocumentEditorProps {
1113
- content?: string;
1114
- onChange?: (content: string) => void;
1115
- placeholder?: string;
1116
- variant?: EditorVariant;
1117
- className?: string;
1118
- readOnly?: boolean;
1119
- label?: string;
1120
- }
1121
- declare function DocumentEditor({ content, onChange, placeholder, variant, className, readOnly, label }: DocumentEditorProps): react_jsx_runtime.JSX.Element | null;
1122
-
1123
- type SocialChannel = "instagram" | "linkedin" | "facebook" | "twitter" | "youtube" | "blog" | "other";
1124
- type TaskStatus = "idea" | "planned" | "in-progress" | "approval" | "scheduled" | "published";
1125
- type CalendarMode = "editorial" | "execution";
1126
- interface CalendarTask {
1127
- id: string;
1128
- title: string;
1129
- date?: Date | string;
1130
- endDate?: Date | string;
1131
- channel?: SocialChannel;
1132
- status: TaskStatus;
1133
- imageUrl?: string;
1134
- description?: string;
1135
- assignees?: {
1136
- name: string;
1137
- avatar?: string;
1138
- }[];
1139
- color?: string;
1140
- }
1141
- interface BaseCalendarProps {
1142
- tasks: CalendarTask[];
1143
- onTaskUpdate: (updatedTask: CalendarTask) => void;
1144
- onTaskCreate?: (newTask: Partial<CalendarTask>) => void;
1145
- className?: string;
1146
- }
1147
- declare function EditorialCalendar(props: BaseCalendarProps): react_jsx_runtime.JSX.Element;
1148
- declare function TaskCalendar(props: BaseCalendarProps): react_jsx_runtime.JSX.Element;
1149
-
1150
- /**
1151
- * Active Filter
1152
- */
1153
- interface ActiveFilter {
1154
- id: string;
1155
- label: string;
1156
- value?: string;
1157
- onRemove?: () => void;
1158
- }
1159
- /**
1160
- * FilterBar Props
1161
- */
1162
- interface FilterBarProps {
1163
- activeFilters?: ActiveFilter[];
1164
- onRemoveFilter?: (filterId: string) => void;
1165
- onClearAll?: () => void;
1166
- onOpenFilters?: () => void;
1167
- className?: string;
1168
- children?: React$1.ReactNode;
1169
- }
1170
- /**
1171
- * FilterBar Component
1172
- *
1173
- * Horizontal bar displaying a filter button with active filter chips.
1174
- * Follows Intercom's pattern with count badges and clear all action.
1175
- *
1176
- * @example
1177
- * ```tsx
1178
- * <FilterBar
1179
- * activeFilters={[
1180
- * { id: '1', label: 'Status', value: 'Active' },
1181
- * { id: '2', label: 'Date', value: 'Last 30 days' }
1182
- * ]}
1183
- * onRemoveFilter={(id) => console.log('remove', id)}
1184
- * onClearAll={() => console.log('clear all')}
1185
- * onOpenFilters={() => console.log('open')}
1186
- * />
1187
- * ```
1188
- */
1189
- declare const FilterBar: React$1.ForwardRefExoticComponent<FilterBarProps & React$1.RefAttributes<HTMLDivElement>>;
1190
-
1191
- /**
1192
- * Filter Condition
1193
- *
1194
- * Represents a single filter condition with field, operator, and value.
1195
- */
1196
- interface FilterCondition {
1197
- id: string;
1198
- field: string;
1199
- operator: string;
1200
- value: string | string[];
1201
- }
1202
- /**
1203
- * Filter Field
1204
- *
1205
- * Configuration for a filterable field with type and options.
1206
- */
1207
- interface FilterField {
1208
- value: string;
1209
- label: string;
1210
- type?: "text" | "number" | "select" | "date";
1211
- options?: {
1212
- value: string;
1213
- label: string;
1214
- }[];
1215
- multiSelect?: boolean;
1216
- }
1217
- /**
1218
- * FilterBuilder Props
1219
- */
1220
- interface FilterBuilderProps {
1221
- conditions: FilterCondition[];
1222
- onConditionsChange: (conditions: FilterCondition[]) => void;
1223
- fields: FilterField[];
1224
- className?: string;
1225
- }
1226
- /**
1227
- * FilterBuilder Component
1228
- *
1229
- * Advanced filter builder with multiple conditions, operators, and multi-select support.
1230
- * Inspired by Intercom's filter system with visual condition rows and AND logic.
1231
- *
1232
- * @example
1233
- * ```tsx
1234
- * const [conditions, setConditions] = useState<FilterCondition[]>([
1235
- * { id: '1', field: 'status', operator: 'is_any_of', value: ['active', 'pending'] }
1236
- * ]);
1237
- *
1238
- * const fields: FilterField[] = [
1239
- * {
1240
- * value: 'status',
1241
- * label: 'Status',
1242
- * type: 'select',
1243
- * options: [
1244
- * { value: 'active', label: 'Active' },
1245
- * { value: 'pending', label: 'Pending' }
1246
- * ]
1247
- * }
1248
- * ];
1249
- *
1250
- * <FilterBuilder
1251
- * conditions={conditions}
1252
- * onConditionsChange={setConditions}
1253
- * fields={fields}
1254
- * />
1255
- * ```
1256
- */
1257
- declare const FilterBuilder: React$1.ForwardRefExoticComponent<FilterBuilderProps & React$1.RefAttributes<HTMLDivElement>>;
1258
-
1259
- /**
1260
- * FilterChip Props
1261
- */
1262
- interface FilterChipProps {
1263
- label: string;
1264
- value?: string;
1265
- onRemove?: () => void;
1266
- className?: string;
1267
- }
1268
- /**
1269
- * FilterChip Component
1270
- *
1271
- * A removable badge displaying an active filter with optional value.
1272
- * Commonly used in filter bars to show applied filters.
1273
- *
1274
- * @example
1275
- * ```tsx
1276
- * <FilterChip
1277
- * label="Status"
1278
- * value="Active"
1279
- * onRemove={() => console.log('removed')}
1280
- * />
1281
- * ```
1282
- */
1283
- declare const FilterChip: React$1.ForwardRefExoticComponent<FilterChipProps & React$1.RefAttributes<HTMLDivElement>>;
1284
-
1285
- type GanttTaskStatus = "not-started" | "in-progress" | "on-hold" | "delayed" | "completed" | "cancelled";
1286
- interface GanttTask {
1287
- id: string;
1288
- name: string;
1289
- startDate: Date;
1290
- endDate: Date;
1291
- progress: number;
1292
- status: GanttTaskStatus;
1293
- projectId?: string;
1294
- assignee?: {
1295
- name: string;
1296
- initials?: string;
1297
- avatar?: string;
1298
- };
1299
- description?: string;
1300
- milestone?: boolean;
1301
- dependencies?: string[];
1302
- }
1303
- interface GanttProject {
1304
- id: string;
1305
- name: string;
1306
- color?: string;
1307
- }
1308
- interface GanttChartProps {
1309
- tasks: GanttTask[];
1310
- projects?: GanttProject[];
1311
- onTaskClick?: (task: GanttTask) => void;
1312
- onTaskEdit?: (task: GanttTask) => void;
1313
- rowHeight?: number;
1314
- columnWidth?: number;
1315
- showWeekends?: boolean;
1316
- groupBy?: "projects" | "assignees";
1317
- }
1318
- declare const GanttChart: React$1.ForwardRefExoticComponent<GanttChartProps & React$1.RefAttributes<HTMLDivElement>>;
1319
- declare const GanttLegend: React$1.ForwardRefExoticComponent<{
1320
- className?: string;
1321
- } & React$1.RefAttributes<HTMLDivElement>>;
1322
-
1323
- interface KanbanCardTag {
1324
- id: string;
1325
- label: string;
1326
- color?: string;
1327
- }
1328
- interface KanbanCardAssignee {
1329
- id: string;
1330
- name: string;
1331
- avatar?: string;
1332
- initials?: string;
1333
- }
1334
- interface KanbanCardProps {
1335
- id: string;
1336
- title: string;
1337
- description?: string;
1338
- coverImage?: string;
1339
- thumbnailImage?: string;
1340
- tags?: KanbanCardTag[];
1341
- assignees?: KanbanCardAssignee[];
1342
- priority?: "low" | "medium" | "high" | "urgent";
1343
- dueDate?: Date;
1344
- comments?: number;
1345
- attachments?: number;
1346
- checklist?: {
1347
- completed: number;
1348
- total: number;
1349
- };
1350
- progress?: number;
1351
- status?: string;
1352
- variant?: "default" | "compact" | "detailed";
1353
- isDragging?: boolean;
1354
- onClick?: () => void;
1355
- onEdit?: () => void;
1356
- onDelete?: () => void;
1357
- onDuplicate?: () => void;
1358
- className?: string;
1359
- }
1360
- declare const KanbanCard: React$1.ForwardRefExoticComponent<KanbanCardProps & React$1.RefAttributes<HTMLDivElement>>;
1361
-
1362
- /**
1363
- * Saved Filter
1364
- */
1365
- interface SavedFilter {
1366
- id: string;
1367
- name: string;
1368
- description?: string;
1369
- isFavorite?: boolean;
1370
- filterCount?: number;
1371
- }
1372
- /**
1373
- * SavedFilters Props
1374
- */
1375
- interface SavedFiltersProps {
1376
- filters?: SavedFilter[];
1377
- onSelectFilter?: (filterId: string) => void;
1378
- onToggleFavorite?: (filterId: string) => void;
1379
- onDeleteFilter?: (filterId: string) => void;
1380
- className?: string;
1381
- }
1382
- /**
1383
- * SavedFilters Component
1384
- *
1385
- * Dropdown menu for managing saved filter presets with favorites support.
1386
- * Allows users to quickly apply, favorite, and delete saved filter combinations.
1387
- *
1388
- * @example
1389
- * ```tsx
1390
- * <SavedFilters
1391
- * filters={[
1392
- * { id: '1', name: 'Active Clients', isFavorite: true, filterCount: 2 },
1393
- * { id: '2', name: 'High Value', description: 'Projects over $50k', filterCount: 3 }
1394
- * ]}
1395
- * onSelectFilter={(id) => console.log('apply', id)}
1396
- * onToggleFavorite={(id) => console.log('toggle', id)}
1397
- * onDeleteFilter={(id) => console.log('delete', id)}
1398
- * />
1399
- * ```
1400
- */
1401
- declare const SavedFilters: React$1.ForwardRefExoticComponent<SavedFiltersProps & React$1.RefAttributes<HTMLButtonElement>>;
612
+ declare function TooltipProvider({ delayDuration, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Provider>): react_jsx_runtime.JSX.Element;
613
+ declare function Tooltip({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Root>): react_jsx_runtime.JSX.Element;
614
+ declare function TooltipTrigger({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
615
+ declare function TooltipContent({ className, sideOffset, children, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Content>): react_jsx_runtime.JSX.Element;
1402
616
 
1403
617
  type SidebarContextProps = {
1404
618
  state: "expanded" | "collapsed";
@@ -1423,7 +637,6 @@ declare function Sidebar({ side, variant, collapsible, className, children, ...p
1423
637
  declare function SidebarTrigger({ className, onClick, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
1424
638
  declare function SidebarRail({ className, ...props }: React$1.ComponentProps<"button">): react_jsx_runtime.JSX.Element;
1425
639
  declare function SidebarInset({ className, ...props }: React$1.ComponentProps<"main">): react_jsx_runtime.JSX.Element;
1426
- declare function SidebarInput({ className, ...props }: React$1.ComponentProps<typeof Input>): react_jsx_runtime.JSX.Element;
1427
640
  declare function SidebarHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1428
641
  declare function SidebarFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1429
642
  declare function SidebarSeparator({ className, ...props }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
@@ -1463,53 +676,31 @@ declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...p
1463
676
  isActive?: boolean;
1464
677
  }): react_jsx_runtime.JSX.Element;
1465
678
 
1466
- interface TaskEditDialogProps {
1467
- task: GanttTask | null;
1468
- open: boolean;
1469
- onOpenChange: (open: boolean) => void;
1470
- onSave: (task: GanttTask) => void;
1471
- availableTasks?: GanttTask[];
1472
- availableAssignees?: {
1473
- name: string;
1474
- initials?: string;
1475
- }[];
679
+ interface SkeletonProps extends React.ComponentProps<"div"> {
680
+ /** Animation variant: pulse (default) or shimmer (premium) */
681
+ variant?: "pulse" | "shimmer";
1476
682
  }
1477
- declare function hasCircularDependency(taskId: string, dependencies: string[], allTasks: GanttTask[], visited?: Set<string>): boolean;
1478
- declare function TaskEditDialog({ task, open, onOpenChange, onSave, availableTasks, availableAssignees, }: TaskEditDialogProps): react_jsx_runtime.JSX.Element | null;
683
+ declare function Skeleton({ className, variant, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
1479
684
 
1480
- interface TimePickerProps {
1481
- date?: Date;
1482
- onChange?: (date: Date | undefined) => void;
1483
- label?: string;
1484
- className?: string;
1485
- disabled?: boolean;
1486
- }
1487
- declare function TimePicker({ date, onChange, label, className, disabled, }: TimePickerProps): react_jsx_runtime.JSX.Element;
685
+ declare function Slider({ className, defaultValue, value, min, max, ...props }: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime.JSX.Element;
1488
686
 
1489
- type TimelineActionType = 'create' | 'update' | 'status_change' | 'comment' | 'upload' | 'assignment';
1490
- interface TimelineUser {
1491
- id: string;
1492
- name: string;
1493
- avatar?: string;
1494
- }
1495
- interface TimelineEvent {
1496
- id: string;
1497
- user: TimelineUser;
1498
- action: TimelineActionType;
1499
- title: string;
1500
- timestamp: Date;
1501
- metadata?: {
1502
- before?: string | null;
1503
- after?: string | null;
1504
- details?: React$1.ReactNode;
1505
- fileName?: string;
1506
- };
1507
- }
1508
- interface TimelineProps {
1509
- events: TimelineEvent[];
1510
- className?: string;
1511
- }
1512
- declare const Timeline: ({ events, className }: TimelineProps) => react_jsx_runtime.JSX.Element;
687
+ declare const Toaster: ({ ...props }: ToasterProps) => react_jsx_runtime.JSX.Element;
688
+
689
+ declare function Switch({ className, ...props }: React$1.ComponentProps<typeof SwitchPrimitive.Root>): react_jsx_runtime.JSX.Element;
690
+
691
+ declare function Table({ className, ...props }: React$1.ComponentProps<"table">): react_jsx_runtime.JSX.Element;
692
+ declare function TableHeader({ className, ...props }: React$1.ComponentProps<"thead">): react_jsx_runtime.JSX.Element;
693
+ declare function TableBody({ className, ...props }: React$1.ComponentProps<"tbody">): react_jsx_runtime.JSX.Element;
694
+ declare function TableFooter({ className, ...props }: React$1.ComponentProps<"tfoot">): react_jsx_runtime.JSX.Element;
695
+ declare const TableRow: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, "ref"> & React$1.RefAttributes<HTMLTableRowElement>>;
696
+ declare function TableHead({ className, ...props }: React$1.ComponentProps<"th">): react_jsx_runtime.JSX.Element;
697
+ declare function TableCell({ className, ...props }: React$1.ComponentProps<"td">): react_jsx_runtime.JSX.Element;
698
+ declare function TableCaption({ className, ...props }: React$1.ComponentProps<"caption">): react_jsx_runtime.JSX.Element;
699
+
700
+ declare function Tabs({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Root>): react_jsx_runtime.JSX.Element;
701
+ declare function TabsList({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.List>): react_jsx_runtime.JSX.Element;
702
+ declare function TabsTrigger({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
703
+ declare function TabsContent({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Content>): react_jsx_runtime.JSX.Element;
1513
704
 
1514
705
  interface UnderlineTabsProps {
1515
706
  defaultValue?: string;
@@ -1538,6 +729,17 @@ interface UnderlineTabsContentProps {
1538
729
  }
1539
730
  declare function UnderlineTabsContent({ value: contentValue, children, className, }: UnderlineTabsContentProps): react_jsx_runtime.JSX.Element | null;
1540
731
 
732
+ declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
733
+
734
+ declare const toggleVariants: (props?: ({
735
+ variant?: "default" | "outline" | null | undefined;
736
+ size?: "default" | "sm" | "lg" | null | undefined;
737
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
738
+ declare function Toggle({ className, variant, size, ...props }: React$1.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
739
+
740
+ declare function ToggleGroup({ className, variant, size, children, ...props }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
741
+ declare function ToggleGroupItem({ className, children, variant, size, ...props }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
742
+
1541
743
  /**
1542
744
  * Illustration System - iClips Design System
1543
745
  *
@@ -1596,205 +798,244 @@ declare function cn(...inputs: ClassValue[]): string;
1596
798
  declare function useIsMobile(): boolean;
1597
799
 
1598
800
  /**
1599
- * Hook for managing table sorting
1600
- *
1601
- * @example
1602
- * ```tsx
1603
- * const { sortedData, sortConfig, toggleSort } = useTableSort(users);
1604
- *
1605
- * // In your component
1606
- * <TableHead onClick={() => toggleSort("name")}>
1607
- * Name {sortConfig.column === "name" && (
1608
- * sortConfig.direction === "asc" ? "↑" : "↓"
1609
- * )}
1610
- * </TableHead>
1611
- * ```
801
+ * Opções para o hook de impressão de contratos
1612
802
  */
1613
- declare function useTableSort<T extends Record<string, unknown>>(data: T[], initialSort?: SortConfig<T>): {
1614
- sortedData: T[];
1615
- sortConfig: SortConfig<T>;
1616
- toggleSort: (column: keyof T) => void;
1617
- setSort: (column: keyof T | null, direction: SortDirection) => void;
1618
- clearSort: () => void;
1619
- };
1620
-
803
+ interface UsePrintContractOptions {
804
+ /** Callback chamado antes de iniciar a impressão */
805
+ onPrintStart?: () => void;
806
+ /** Callback chamado após impressão bem-sucedida */
807
+ onPrintSuccess?: () => void;
808
+ /** Callback chamado em caso de erro */
809
+ onPrintError?: (error: Error) => void;
810
+ /** Callback chamado antes de iniciar download do PDF */
811
+ onDownloadStart?: () => void;
812
+ /** Callback chamado após download bem-sucedido */
813
+ onDownloadSuccess?: () => void;
814
+ /** Callback chamado em caso de erro no download */
815
+ onDownloadError?: (error: Error) => void;
816
+ }
1621
817
  /**
1622
- * Hook for managing table row selection
818
+ * Hook para gerenciar impressão e download de contratos
1623
819
  *
1624
820
  * @example
1625
821
  * ```tsx
1626
- * const {
1627
- * selected,
1628
- * toggleRow,
1629
- * toggleAll,
1630
- * isSelected,
1631
- * isAllSelected
1632
- * } = useTableSelection(users);
1633
- *
1634
- * // In your component
1635
- * <Checkbox
1636
- * checked={isAllSelected}
1637
- * onCheckedChange={toggleAll}
1638
- * />
1639
- *
1640
- * {users.map((user) => (
1641
- * <TableRow key={user.id}>
1642
- * <TableCell>
1643
- * <Checkbox
1644
- * checked={isSelected(user.id)}
1645
- * onCheckedChange={() => toggleRow(user.id)}
1646
- * />
1647
- * </TableCell>
1648
- * </TableRow>
1649
- * ))}
822
+ * const printRef = useRef<HTMLDivElement>(null);
823
+ * const { printContract, downloadPDF } = usePrintContract(printRef, 'FEE-2024-001', {
824
+ * onPrintSuccess: () => toast.success('Impresso!'),
825
+ * onDownloadSuccess: () => toast.success('PDF gerado!'),
826
+ * });
1650
827
  * ```
1651
828
  */
1652
- declare function useTableSelection<T extends {
1653
- id: string | number;
1654
- }>(data: T[], options?: {
1655
- /** Initial selected IDs */
1656
- initialSelected?: (string | number)[];
1657
- /** Callback when selection changes */
1658
- onSelectionChange?: (selectedIds: Set<string | number>) => void;
1659
- }): {
1660
- selected: Set<string | number>;
1661
- selectedIds: (string | number)[];
1662
- selectedItems: T[];
1663
- toggleRow: (id: string | number) => void;
1664
- toggleAll: () => void;
1665
- isSelected: (id: string | number) => boolean;
1666
- isAllSelected: boolean;
1667
- isIndeterminate: boolean;
1668
- selectRows: (ids: (string | number)[]) => void;
1669
- clearSelection: () => void;
829
+ declare function usePrintContract(contentRef: RefObject<HTMLElement | null>, contractNumber?: string, options?: UsePrintContractOptions): {
830
+ /** Imprime o contrato em nova janela */
831
+ printContract: () => void;
832
+ /** Gera e baixa PDF do contrato (implementação simulada) */
833
+ downloadPDF: () => void;
1670
834
  };
1671
835
 
1672
- /**
1673
- * Hook for managing table pagination
1674
- *
1675
- * @example
1676
- * ```tsx
1677
- * const {
1678
- * paginatedData,
1679
- * currentPage,
1680
- * pageSize,
1681
- * totalPages,
1682
- * goToPage,
1683
- * nextPage,
1684
- * previousPage,
1685
- * setPageSize
1686
- * } = useTablePagination(users, { pageSize: 10 });
1687
- *
1688
- * // In your component
1689
- * <Button onClick={previousPage} disabled={!hasPreviousPage}>
1690
- * Previous
1691
- * </Button>
1692
- * <span>Page {currentPage} of {totalPages}</span>
1693
- * <Button onClick={nextPage} disabled={!hasNextPage}>
1694
- * Next
1695
- * </Button>
1696
- * ```
1697
- */
1698
- declare function useTablePagination<T>(data: T[], options?: {
1699
- /** Initial page size */
1700
- pageSize?: number;
1701
- /** Initial page (1-indexed) */
1702
- initialPage?: number;
1703
- /** Callback when page changes */
1704
- onPageChange?: (page: number) => void;
1705
- /** Callback when page size changes */
1706
- onPageSizeChange?: (size: number) => void;
1707
- }): {
1708
- paginatedData: T[];
1709
- currentPage: number;
1710
- pageSize: number;
1711
- totalItems: number;
1712
- totalPages: number;
1713
- startIndex: number;
1714
- endIndex: number;
1715
- hasNextPage: boolean;
1716
- hasPreviousPage: boolean;
1717
- goToPage: (page: number) => void;
1718
- nextPage: () => void;
1719
- previousPage: () => void;
1720
- goToFirstPage: () => void;
1721
- goToLastPage: () => void;
1722
- setPageSize: (size: number) => void;
1723
- getPageNumbers: (maxVisible?: number) => (number | "ellipsis")[];
1724
- };
836
+ declare function ImageWithFallback(props: React__default.ImgHTMLAttributes<HTMLImageElement>): react_jsx_runtime.JSX.Element;
1725
837
 
1726
- /**
1727
- * Combined hook for managing all table features
1728
- * - Sorting
1729
- * - Selection
1730
- * - Pagination
1731
- *
1732
- * @example
1733
- * ```tsx
1734
- * const table = useTable(users, {
1735
- * pageSize: 10,
1736
- * initialSort: { column: "name", direction: "asc" }
1737
- * });
1738
- *
1739
- * // Access all features through single object
1740
- * const {
1741
- * data, // Current page data (sorted + paginated)
1742
- * sortConfig,
1743
- * toggleSort,
1744
- * isSelected,
1745
- * toggleRow,
1746
- * currentPage,
1747
- * totalPages,
1748
- * nextPage
1749
- * } = table;
1750
- * ```
1751
- */
1752
- declare function useTable<T extends {
1753
- id: string | number;
1754
- }>(data: T[], options?: {
1755
- initialSort?: SortConfig<T>;
1756
- initialSelected?: (string | number)[];
1757
- onSelectionChange?: (selectedIds: Set<string | number>) => void;
1758
- pageSize?: number;
1759
- initialPage?: number;
1760
- onPageChange?: (page: number) => void;
1761
- onPageSizeChange?: (size: number) => void;
1762
- enableSort?: boolean;
1763
- enableSelection?: boolean;
1764
- enablePagination?: boolean;
1765
- }): {
1766
- currentPage?: number | undefined;
1767
- pageSize?: number | undefined;
1768
- totalItems?: number | undefined;
1769
- totalPages?: number | undefined;
1770
- startIndex?: number | undefined;
1771
- endIndex?: number | undefined;
1772
- hasNextPage?: boolean | undefined;
1773
- hasPreviousPage?: boolean | undefined;
1774
- goToPage?: ((page: number) => void) | undefined;
1775
- nextPage?: (() => void) | undefined;
1776
- previousPage?: (() => void) | undefined;
1777
- goToFirstPage?: (() => void) | undefined;
1778
- goToLastPage?: (() => void) | undefined;
1779
- setPageSize?: ((size: number) => void) | undefined;
1780
- getPageNumbers?: ((maxVisible?: number) => (number | "ellipsis")[]) | undefined;
1781
- selected?: Set<string | number> | undefined;
1782
- selectedIds?: (string | number)[] | undefined;
1783
- selectedItems?: T[] | undefined;
1784
- toggleRow?: ((id: string | number) => void) | undefined;
1785
- toggleAll?: (() => void) | undefined;
1786
- isSelected?: ((id: string | number) => boolean) | undefined;
1787
- isAllSelected?: boolean | undefined;
1788
- isIndeterminate?: boolean | undefined;
1789
- selectRows?: ((ids: (string | number)[]) => void) | undefined;
1790
- clearSelection?: (() => void) | undefined;
1791
- sortConfig?: SortConfig<T> | undefined;
1792
- toggleSort?: ((column: keyof T) => void) | undefined;
1793
- setSort?: ((column: keyof T | null, direction: SortDirection) => void) | undefined;
1794
- clearSort?: (() => void) | undefined;
1795
- data: T[];
1796
- allData: T[];
1797
- sortedData: T[];
1798
- };
838
+ interface ProposalData {
839
+ proposalNumber: string;
840
+ issueDate: string;
841
+ validUntil: string;
842
+ client: {
843
+ name: string;
844
+ contact?: string;
845
+ email?: string;
846
+ phone?: string;
847
+ };
848
+ agency: {
849
+ name: string;
850
+ representative?: string;
851
+ email?: string;
852
+ phone?: string;
853
+ };
854
+ projectTitle: string;
855
+ projectDescription?: string;
856
+ objectives?: string[];
857
+ items: Array<{
858
+ name: string;
859
+ description?: string;
860
+ quantity?: number;
861
+ unitPrice?: number;
862
+ totalPrice: number;
863
+ }>;
864
+ subtotal: number;
865
+ discount?: number;
866
+ total: number;
867
+ paymentConditions?: string;
868
+ deliveryTime?: string;
869
+ notes?: string;
870
+ }
871
+ interface ProposalTemplateProps {
872
+ data: ProposalData;
873
+ showPreview?: boolean;
874
+ logo?: string;
875
+ }
876
+ declare function ProposalTemplate({ data, showPreview, logo, }: ProposalTemplateProps): react_jsx_runtime.JSX.Element;
877
+
878
+ interface PrintHeaderProps {
879
+ /**
880
+ * URL ou path do logo da empresa
881
+ */
882
+ logo?: string;
883
+ /**
884
+ * Nome da empresa
885
+ */
886
+ companyName?: string;
887
+ /**
888
+ * Informações de contato
889
+ */
890
+ contactInfo?: {
891
+ address?: string;
892
+ phone?: string;
893
+ email?: string;
894
+ website?: string;
895
+ };
896
+ /**
897
+ * Tipo de documento (aparece no canto direito)
898
+ */
899
+ documentType?: string;
900
+ /**
901
+ * Número do documento
902
+ */
903
+ documentNumber?: string;
904
+ /**
905
+ * Data de emissão
906
+ */
907
+ issueDate?: string;
908
+ }
909
+ declare function PrintHeader({ logo, companyName, contactInfo, documentType, documentNumber, issueDate, }: PrintHeaderProps): react_jsx_runtime.JSX.Element;
910
+
911
+ interface PrintFooterProps {
912
+ /**
913
+ * Número da página atual
914
+ */
915
+ pageNumber?: number;
916
+ /**
917
+ * Total de páginas
918
+ */
919
+ totalPages?: number;
920
+ /**
921
+ * Texto de rodapé customizado
922
+ */
923
+ footerText?: string;
924
+ /**
925
+ * Mostrar data de geração
926
+ */
927
+ showGeneratedDate?: boolean;
928
+ }
929
+ declare function PrintFooter({ pageNumber, totalPages, footerText, showGeneratedDate, }: PrintFooterProps): react_jsx_runtime.JSX.Element;
930
+
931
+ interface PrintSectionProps {
932
+ /**
933
+ * Título da seção
934
+ */
935
+ title?: string;
936
+ /**
937
+ * Subtítulo da seção
938
+ */
939
+ subtitle?: string;
940
+ /**
941
+ * Conteúdo da seção
942
+ */
943
+ children: React.ReactNode;
944
+ /**
945
+ * Classe CSS adicional
946
+ */
947
+ className?: string;
948
+ /**
949
+ * Evitar quebra de página
950
+ */
951
+ avoidBreak?: boolean;
952
+ /**
953
+ * Forçar quebra de página antes
954
+ */
955
+ pageBreak?: boolean;
956
+ }
957
+ declare function PrintSection({ title, subtitle, children, className, avoidBreak, pageBreak, }: PrintSectionProps): react_jsx_runtime.JSX.Element;
958
+
959
+ interface Column {
960
+ header: string;
961
+ key: string;
962
+ align?: "left" | "center" | "right";
963
+ width?: string;
964
+ render?: (value: any, row: any) => React.ReactNode;
965
+ }
966
+ interface PrintTableProps {
967
+ /**
968
+ * Colunas da tabela
969
+ */
970
+ columns: Column[];
971
+ /**
972
+ * Dados da tabela
973
+ */
974
+ data: any[];
975
+ /**
976
+ * Título da tabela (opcional)
977
+ */
978
+ title?: string;
979
+ /**
980
+ * Mostrar zebra (linhas alternadas)
981
+ */
982
+ striped?: boolean;
983
+ /**
984
+ * Mostrar borda
985
+ */
986
+ bordered?: boolean;
987
+ /**
988
+ * Densidade (espaçamento)
989
+ */
990
+ density?: "compact" | "normal" | "comfortable";
991
+ }
992
+ declare function PrintTable({ columns, data, title, striped, bordered, density, }: PrintTableProps): react_jsx_runtime.JSX.Element;
993
+
994
+ interface SignatureField {
995
+ label: string;
996
+ name?: string;
997
+ role?: string;
998
+ date?: string;
999
+ }
1000
+ interface PrintSignatureProps {
1001
+ /**
1002
+ * Lista de assinaturas necessárias
1003
+ */
1004
+ signatures: SignatureField[];
1005
+ /**
1006
+ * Layout das assinaturas
1007
+ */
1008
+ layout?: "horizontal" | "vertical";
1009
+ /**
1010
+ * Mostrar linha de assinatura
1011
+ */
1012
+ showLine?: boolean;
1013
+ /**
1014
+ * Texto de instrução
1015
+ */
1016
+ instructionText?: string;
1017
+ }
1018
+ declare function PrintSignature({ signatures, layout, showLine, instructionText, }: PrintSignatureProps): react_jsx_runtime.JSX.Element;
1019
+
1020
+ interface InfoItem {
1021
+ label: string;
1022
+ value: string | React.ReactNode;
1023
+ highlight?: boolean;
1024
+ }
1025
+ interface PrintInfoGridProps {
1026
+ /**
1027
+ * Lista de informações a serem exibidas
1028
+ */
1029
+ items: InfoItem[];
1030
+ /**
1031
+ * Número de colunas
1032
+ */
1033
+ columns?: 1 | 2 | 3 | 4;
1034
+ /**
1035
+ * Classe CSS adicional
1036
+ */
1037
+ className?: string;
1038
+ }
1039
+ declare function PrintInfoGrid({ items, columns, className, }: PrintInfoGridProps): react_jsx_runtime.JSX.Element;
1799
1040
 
1800
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, type ActiveFilter, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, BrandLogo, type BrandLogoProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, type CalendarMode, type CalendarTask, Card, CardAction, type CardActionProps, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPicker, ColorPickerInline, type ColumnDef, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, type Comment, type CommentAttachment, type CommentReaction, CommentSystem, type CommentUser, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DateRangePicker, type DateRangePickerProps, DateTimePicker, type DateTimePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DocumentEditor, type DocumentEditorProps, type DragDropConfig, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type EditorVariant, EditorialCalendar, 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, GanttChart, GanttLegend, type GanttProject, type GanttTask, type GanttTaskStatus, HoverCard, HoverCardContent, HoverCardTrigger, type IllustrationProps, Illustrations, 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, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, type PaginationConfig, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, type PaginationMetadata, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, type RowExpansionConfig, type SavedFilter, SavedFilters, type SavedFiltersProps, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SelectionState, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SkeletonProps, Slider, type SocialChannel, 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, TaskCalendar, TaskEditDialog, type TaskEditDialogProps, type TaskStatus, Textarea, TimePicker, type TimePickerProps, Timeline, type TimelineActionType, type TimelineEvent, type TimelineUser, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UnderlineTabs, UnderlineTabsContent, UnderlineTabsList, UnderlineTabsTrigger, type UserRole, badgeVariants, buttonVariants, calculatePaginationMetadata, cn, getPageNumbers, hasCircularDependency, navigationMenuTriggerStyle, toggleVariants, useFormField, useIsMobile, useSidebar, useTable, useTablePagination, useTableSelection, useTableSort };
1041
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, 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, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPicker, 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, DateRangePicker, type DateRangePickerProps, DateTimePicker, type DateTimePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, 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, 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, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverTrigger, type PrimaryNavItem, PrintFooter, PrintHeader, PrintInfoGrid, PrintSection, PrintSignature, PrintTable, Progress, type ProposalData, ProposalTemplate, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, type SecondaryNavItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, 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, SuccessStateIllustration, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TimePicker, type TimePickerProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UnderlineTabs, UnderlineTabsContent, UnderlineTabsList, UnderlineTabsTrigger, type UsePrintContractOptions, badgeVariants, buttonVariants, cn, dadosContratoExemplo, navigationMenuTriggerStyle, toggleVariants, useFormField, useIsMobile, usePrintContract, useSidebar };