design-zystem 1.0.204 → 1.0.208

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.mts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode, CSSProperties, MouseEventHandler, HTMLAttributes, MouseEvent, ChangeEvent, FocusEvent, KeyboardEvent } from 'react';
3
+ import { HTMLAttributes, ReactNode, CSSProperties, MouseEventHandler, MouseEvent, ChangeEvent, FocusEvent, KeyboardEvent, ImgHTMLAttributes } from 'react';
4
4
 
5
- interface PageContainerProps {
5
+ interface PageContainerProps extends HTMLAttributes<HTMLDivElement> {
6
6
  justifyContent?: string;
7
7
  alignItems?: string;
8
8
  noPaddingLeft?: boolean;
@@ -10,33 +10,32 @@ interface PageContainerProps {
10
10
  noPaddingBottom?: boolean;
11
11
  noPaddingTop?: boolean;
12
12
  noPadding?: boolean;
13
+ gap?: string;
13
14
  children?: ReactNode;
14
15
  style?: CSSProperties;
15
16
  className?: string;
16
- [key: string]: unknown;
17
17
  }
18
18
  declare const PageContainer: ({ justifyContent, alignItems, noPaddingLeft, noPaddingRight, noPaddingBottom, children, ...rest }: PageContainerProps) => react_jsx_runtime.JSX.Element;
19
19
 
20
- interface BoxProps {
21
- children?: ReactNode;
20
+ interface BoxProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
22
21
  hasShadow?: boolean;
23
22
  fullWidth?: boolean;
24
23
  fullHeight?: boolean;
25
24
  padding?: string;
26
25
  margin?: string;
27
26
  background?: string;
27
+ backgroundColor?: string;
28
+ height?: string;
28
29
  alignItems?: string;
29
30
  color?: string;
30
31
  alignSelf?: string;
31
32
  justifyContent?: string;
32
- onClick?: MouseEventHandler<HTMLDivElement>;
33
+ borderRadius?: string;
33
34
  style?: CSSProperties;
34
- className?: string;
35
- [key: string]: unknown;
36
35
  }
37
36
  declare const Box: ({ children, hasShadow, ...rest }: BoxProps) => react_jsx_runtime.JSX.Element;
38
37
 
39
- interface GridProps {
38
+ interface GridProps extends HTMLAttributes<HTMLDivElement> {
40
39
  children?: ReactNode;
41
40
  height?: string;
42
41
  col?: string;
@@ -51,40 +50,38 @@ interface GridProps {
51
50
  onClick?: MouseEventHandler<HTMLDivElement>;
52
51
  style?: CSSProperties;
53
52
  className?: string;
54
- [key: string]: unknown;
55
53
  }
56
54
  declare const Grid: (props: GridProps) => react_jsx_runtime.JSX.Element;
57
55
 
58
- interface RowProps {
59
- children?: ReactNode;
56
+ interface RowProps extends HTMLAttributes<HTMLDivElement> {
60
57
  gap?: number | string;
61
58
  justifyContent?: string;
62
59
  alignItems?: string;
63
60
  margin?: string;
64
61
  padding?: string;
65
62
  fullWidth?: boolean;
63
+ fullwidth?: boolean;
66
64
  fullHeight?: boolean;
65
+ width?: string;
67
66
  wrap?: string;
68
67
  style?: CSSProperties;
69
68
  className?: string;
70
- onClick?: () => void;
71
- [key: string]: unknown;
72
69
  }
73
- declare const Row: (props: RowProps) => react_jsx_runtime.JSX.Element;
70
+ declare const Row: react.ForwardRefExoticComponent<RowProps & react.RefAttributes<HTMLDivElement>>;
74
71
 
75
- interface ColProps {
76
- children?: ReactNode;
72
+ interface ColProps extends HTMLAttributes<HTMLDivElement> {
77
73
  gap?: number | string;
78
74
  justifyContent?: string;
75
+ justify?: string;
79
76
  alignItems?: string;
80
77
  size?: number;
81
78
  margin?: string;
82
79
  padding?: string;
83
80
  fullHeight?: boolean;
84
81
  fullWidth?: boolean;
82
+ flex?: string;
85
83
  style?: CSSProperties;
86
84
  className?: string;
87
- [key: string]: unknown;
88
85
  }
89
86
  declare const Col: (props: ColProps) => react_jsx_runtime.JSX.Element;
90
87
 
@@ -185,19 +182,6 @@ interface DrawerProps {
185
182
  }
186
183
  declare const Drawer: ({ showDrawer, closeDrawer, title, width, children, leftButtonLabel, leftButtonAction, rightButtonLabel, rightButtonAction, isLoading, leftVariant, variant, }: DrawerProps) => react_jsx_runtime.JSX.Element | null;
187
184
 
188
- interface BubbleProps {
189
- children?: ReactNode;
190
- color?: string;
191
- backgroundColor?: string;
192
- size?: 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl';
193
- margin?: string;
194
- padding?: string;
195
- maxChars?: number;
196
- borderRadius?: string;
197
- width?: string;
198
- }
199
- declare const Bubble: ({ children, ...otherProps }: BubbleProps) => react_jsx_runtime.JSX.Element;
200
-
201
185
  type SizeKey = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl';
202
186
  interface TagBubbleProps extends HTMLAttributes<HTMLDivElement> {
203
187
  label: string;
@@ -223,6 +207,19 @@ interface TagBubbleProps extends HTMLAttributes<HTMLDivElement> {
223
207
  }
224
208
  declare const TagBubble: ({ label, hideCircle, isActive, circleSize, circleColorActive, circleColorInactive, count, hideCount, countBg, countText, countSize, labelSize, labelWeight, labelColor, gap, padding, radius, background, borderColor, hasShadow, onClick, ...rest }: TagBubbleProps) => react_jsx_runtime.JSX.Element;
225
209
 
210
+ interface BubbleProps {
211
+ children?: ReactNode;
212
+ color?: string;
213
+ backgroundColor?: string;
214
+ size?: 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl';
215
+ margin?: string;
216
+ padding?: string;
217
+ maxChars?: number;
218
+ borderRadius?: string;
219
+ width?: string;
220
+ }
221
+ declare const Bubble: ({ children, ...otherProps }: BubbleProps) => react_jsx_runtime.JSX.Element;
222
+
226
223
  interface IconProps {
227
224
  name?: string;
228
225
  family?: string;
@@ -241,7 +238,7 @@ interface IconProps {
241
238
  }
242
239
  declare const Icon: (props: IconProps) => react_jsx_runtime.JSX.Element;
243
240
 
244
- interface TextProps {
241
+ interface TextProps extends Omit<HTMLAttributes<HTMLElement>, 'color'> {
245
242
  children?: ReactNode;
246
243
  size?: 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | string;
247
244
  weight?: string;
@@ -260,7 +257,6 @@ interface TextProps {
260
257
  onClick?: (e: MouseEvent) => void;
261
258
  style?: CSSProperties;
262
259
  className?: string;
263
- [key: string]: unknown;
264
260
  }
265
261
  declare const Text: (props: TextProps) => react_jsx_runtime.JSX.Element;
266
262
 
@@ -282,7 +278,7 @@ interface LinkProps {
282
278
  }
283
279
  declare const Link: ({ children, url, newTab, download, size, variant, ...rest }: LinkProps) => react_jsx_runtime.JSX.Element;
284
280
 
285
- interface ButtonProps {
281
+ interface ButtonProps extends HTMLAttributes<HTMLButtonElement> {
286
282
  label?: string;
287
283
  children?: ReactNode;
288
284
  iconLeft?: string;
@@ -298,19 +294,18 @@ interface ButtonProps {
298
294
  disabled?: boolean;
299
295
  style?: CSSProperties;
300
296
  className?: string;
301
- [key: string]: unknown;
302
297
  }
303
298
  declare const Button: ({ label, children, iconLeft, iconRight, iconColor, variant, outline, size, width, isLoading, fontWeight, onClick, disabled, ...rest }: ButtonProps) => react_jsx_runtime.JSX.Element;
304
299
 
305
- interface SelectOption {
306
- value: unknown;
300
+ interface SelectOption<T> {
301
+ value: T;
307
302
  label: string;
308
303
  }
309
- interface SelectProps {
304
+ interface SelectProps<T> extends Omit<HTMLAttributes<HTMLDivElement>, 'color' | 'onChange'> {
310
305
  label?: string;
311
- value?: unknown;
312
- onChange?: (value: unknown) => void;
313
- options?: SelectOption[];
306
+ value?: T;
307
+ onChange?: (value: T) => void;
308
+ options?: SelectOption<T>[];
314
309
  placeholder?: string;
315
310
  width?: string;
316
311
  height?: string;
@@ -320,11 +315,10 @@ interface SelectProps {
320
315
  backgroundColor?: string;
321
316
  hideSearchBar?: boolean;
322
317
  noFlex?: boolean;
323
- [key: string]: unknown;
324
318
  }
325
- declare const Select: ({ label, value, onChange, options, placeholder, width, height, required, disabled, color, backgroundColor, hideSearchBar, noFlex, }: SelectProps) => react_jsx_runtime.JSX.Element;
319
+ declare const Select: <T = unknown>({ label, value, onChange, options, placeholder, width, height, required, disabled, color, backgroundColor, hideSearchBar, noFlex, }: SelectProps<T>) => react_jsx_runtime.JSX.Element;
326
320
 
327
- interface InputProps {
321
+ interface InputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'onBlur' | 'onKeyDown'> {
328
322
  label?: string;
329
323
  value?: string | number;
330
324
  onChange?: (e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement> | {
@@ -348,6 +342,7 @@ interface InputProps {
348
342
  max?: string | number;
349
343
  step?: string | number;
350
344
  width?: string;
345
+ fullWidth?: boolean;
351
346
  transparent?: boolean;
352
347
  textAlign?: string;
353
348
  padding?: string;
@@ -356,6 +351,9 @@ interface InputProps {
356
351
  marginTop?: string;
357
352
  style?: CSSProperties;
358
353
  className?: string;
354
+ isSearch?: boolean;
355
+ onClear?: () => void;
356
+ onSearch?: (value: string) => void;
359
357
  }
360
358
  declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
361
359
 
@@ -383,7 +381,45 @@ interface RadioProps {
383
381
  }
384
382
  declare const Radio: ({ children, checked, onChange, disabled, label, size, variant, name, value, }: RadioProps) => react_jsx_runtime.JSX.Element;
385
383
 
386
- interface ListProps {
384
+ interface AccordionItem {
385
+ id: string | number;
386
+ title: ReactNode;
387
+ content: ReactNode;
388
+ }
389
+ interface AccordionProps {
390
+ /** Mode multi — un seul ouvert à la fois */
391
+ items?: AccordionItem[];
392
+ /** Mode single — titre du panneau */
393
+ title?: ReactNode;
394
+ /** Mode single — contenu */
395
+ children?: ReactNode;
396
+ defaultOpen?: boolean;
397
+ open?: boolean;
398
+ onToggle?: (open: boolean) => void;
399
+ /** Mode multi contrôlé — id de l'item ouvert */
400
+ openItemId?: string | number | null;
401
+ /** Mode multi contrôlé — callback quand un item est togglé */
402
+ onItemToggle?: (id: string | number | null) => void;
403
+ needCheckbox?: boolean;
404
+ checkboxValue?: boolean;
405
+ onCheck?: (e: ChangeEvent<HTMLInputElement>) => void;
406
+ bordered?: boolean;
407
+ disabled?: boolean;
408
+ maxHeight?: number;
409
+ }
410
+ declare const Accordion: ({ items, title, children, defaultOpen, open: controlledOpen, onToggle, openItemId: controlledItemId, onItemToggle, needCheckbox, checkboxValue, onCheck, bordered, disabled, maxHeight, }: AccordionProps) => react_jsx_runtime.JSX.Element;
411
+
412
+ interface ColorPickerProps {
413
+ label?: string;
414
+ value?: string;
415
+ defaultValue?: string;
416
+ onChange?: (color: string) => void;
417
+ disabled?: boolean;
418
+ size?: 's' | 'm' | 'l';
419
+ }
420
+ declare const ColorPicker: react.ForwardRefExoticComponent<ColorPickerProps & react.RefAttributes<HTMLInputElement>>;
421
+
422
+ interface ListProps extends HTMLAttributes<HTMLDivElement> {
387
423
  children?: ReactNode;
388
424
  width?: string;
389
425
  height?: string;
@@ -395,11 +431,10 @@ interface ListProps {
395
431
  onClick?: () => void;
396
432
  style?: CSSProperties;
397
433
  className?: string;
398
- [key: string]: unknown;
399
434
  }
400
435
  declare const List: (props: ListProps) => react_jsx_runtime.JSX.Element;
401
436
 
402
- interface ListItemProps {
437
+ interface ListItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
403
438
  children?: ReactNode;
404
439
  width?: string;
405
440
  height?: string;
@@ -412,39 +447,37 @@ interface ListItemProps {
412
447
  onClick?: () => void;
413
448
  style?: CSSProperties;
414
449
  className?: string;
415
- [key: string]: unknown;
416
450
  }
417
451
  declare const ListItem: (props: ListItemProps) => react_jsx_runtime.JSX.Element;
418
452
 
419
- interface TableProps {
453
+ interface TableProps extends HTMLAttributes<HTMLDivElement> {
420
454
  children?: ReactNode;
421
455
  style?: CSSProperties;
422
456
  className?: string;
423
- [key: string]: unknown;
457
+ fullWidth?: boolean;
458
+ borderRadius?: string;
424
459
  }
425
- declare const Table: react.ForwardRefExoticComponent<Omit<TableProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
460
+ declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLDivElement>>;
426
461
 
427
- interface TableHeaderProps {
462
+ interface TableHeaderProps extends HTMLAttributes<HTMLDivElement> {
428
463
  children?: ReactNode;
429
464
  backgroundColor?: string;
430
465
  style?: CSSProperties;
431
466
  className?: string;
432
- [key: string]: unknown;
433
467
  }
434
468
  declare const TableHeader: (props: TableHeaderProps) => react_jsx_runtime.JSX.Element;
435
469
 
436
- interface TableBodyProps {
470
+ interface TableBodyProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
437
471
  children?: ReactNode;
438
472
  color?: string;
439
473
  fixedHeight?: boolean;
440
474
  useEvenBackground?: boolean;
441
475
  style?: CSSProperties;
442
476
  className?: string;
443
- [key: string]: unknown;
444
477
  }
445
- declare const TableBody: react.ForwardRefExoticComponent<Omit<TableBodyProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
478
+ declare const TableBody: react.ForwardRefExoticComponent<TableBodyProps & react.RefAttributes<HTMLDivElement>>;
446
479
 
447
- interface TableRowProps {
480
+ interface TableRowProps extends HTMLAttributes<HTMLDivElement> {
448
481
  children?: ReactNode;
449
482
  backgroundColor?: string;
450
483
  borderTop?: string;
@@ -453,24 +486,24 @@ interface TableRowProps {
453
486
  onClick?: (e: MouseEvent<HTMLDivElement>) => void;
454
487
  style?: CSSProperties;
455
488
  className?: string;
456
- [key: string]: unknown;
457
489
  }
458
490
  declare const TableRow: (props: TableRowProps) => react_jsx_runtime.JSX.Element;
459
491
 
460
- interface TableCellProps {
492
+ interface TableCellProps extends HTMLAttributes<HTMLDivElement> {
461
493
  children?: ReactNode;
462
494
  centerContent?: boolean;
495
+ colSpan?: number;
463
496
  flexGrow?: string | number;
464
497
  flexShrink?: string | number;
465
498
  borderLeft?: string;
499
+ padding?: string;
466
500
  width?: string;
467
501
  style?: CSSProperties;
468
502
  className?: string;
469
- [key: string]: unknown;
470
503
  }
471
504
  declare const TableCell: (props: TableCellProps) => react_jsx_runtime.JSX.Element;
472
505
 
473
- interface TableHeaderCellProps {
506
+ interface TableHeaderCellProps extends HTMLAttributes<HTMLDivElement> {
474
507
  children?: ReactNode;
475
508
  useSort?: boolean;
476
509
  isSort?: boolean;
@@ -479,38 +512,34 @@ interface TableHeaderCellProps {
479
512
  width?: string;
480
513
  style?: CSSProperties;
481
514
  className?: string;
482
- [key: string]: unknown;
483
515
  }
484
516
  declare const TableHeaderCell: (props: TableHeaderCellProps) => react_jsx_runtime.JSX.Element;
485
517
 
486
- interface TableHeaderRowProps {
518
+ interface TableHeaderRowProps extends HTMLAttributes<HTMLDivElement> {
487
519
  children?: ReactNode;
488
520
  backgroundColor?: string;
489
521
  style?: CSSProperties;
490
522
  className?: string;
491
- [key: string]: unknown;
492
523
  }
493
524
  declare const TableHeaderRow: (props: TableHeaderRowProps) => react_jsx_runtime.JSX.Element;
494
525
 
495
- interface TableFooterProps {
526
+ interface TableFooterProps extends HTMLAttributes<HTMLDivElement> {
496
527
  children?: ReactNode;
497
528
  backgroundColor?: string;
498
529
  style?: CSSProperties;
499
530
  className?: string;
500
- [key: string]: unknown;
501
531
  }
502
532
  declare const TableFooter: (props: TableFooterProps) => react_jsx_runtime.JSX.Element;
503
533
 
504
- interface TableFooterRowProps {
534
+ interface TableFooterRowProps extends HTMLAttributes<HTMLDivElement> {
505
535
  children?: ReactNode;
506
536
  backgroundColor?: string;
507
537
  style?: CSSProperties;
508
538
  className?: string;
509
- [key: string]: unknown;
510
539
  }
511
540
  declare const TableFooterRow: (props: TableFooterRowProps) => react_jsx_runtime.JSX.Element;
512
541
 
513
- interface TableFooterCellProps {
542
+ interface TableFooterCellProps extends HTMLAttributes<HTMLDivElement> {
514
543
  children?: ReactNode;
515
544
  useSort?: boolean;
516
545
  flexGrow?: string | number;
@@ -518,7 +547,6 @@ interface TableFooterCellProps {
518
547
  width?: string;
519
548
  style?: CSSProperties;
520
549
  className?: string;
521
- [key: string]: unknown;
522
550
  }
523
551
  declare const TableFooterCell: (props: TableFooterCellProps) => react_jsx_runtime.JSX.Element;
524
552
 
@@ -543,9 +571,8 @@ interface OptionItem {
543
571
  id?: string | number;
544
572
  label: string;
545
573
  color: string;
546
- [key: string]: unknown;
547
574
  }
548
- interface OptionsProps {
575
+ interface OptionsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
549
576
  icon?: string;
550
577
  options: OptionItem[];
551
578
  value?: number;
@@ -559,9 +586,8 @@ interface StepperStep {
559
586
  label: string;
560
587
  icon?: string;
561
588
  onClick?: (index: number) => void;
562
- [key: string]: unknown;
563
589
  }
564
- interface StepperProps {
590
+ interface StepperProps extends HTMLAttributes<HTMLElement> {
565
591
  steps: StepperStep[];
566
592
  current?: number;
567
593
  size?: number;
@@ -574,9 +600,8 @@ interface TabItem {
574
600
  id: string | number;
575
601
  label: string;
576
602
  disabled?: boolean;
577
- [key: string]: unknown;
578
603
  }
579
- interface TabsProps {
604
+ interface TabsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
580
605
  value?: string | number;
581
606
  onChange?: (id: string | number) => void;
582
607
  items?: TabItem[];
@@ -584,11 +609,10 @@ interface TabsProps {
584
609
  showBaseline?: boolean;
585
610
  baselineColor?: string;
586
611
  children?: ReactNode;
587
- [key: string]: unknown;
588
612
  }
589
613
  declare const Tabs: ({ value, onChange, items, align, showBaseline, baselineColor, children, ...rest }: TabsProps) => react_jsx_runtime.JSX.Element;
590
614
 
591
- interface ImageProps {
615
+ interface ImageProps extends ImgHTMLAttributes<HTMLImageElement> {
592
616
  src?: string;
593
617
  alt?: string;
594
618
  width?: string;
@@ -597,7 +621,6 @@ interface ImageProps {
597
621
  objectFit?: string;
598
622
  alignSelf?: string;
599
623
  style?: CSSProperties;
600
- [key: string]: unknown;
601
624
  }
602
625
  declare const Image: ({ src, alt, width, height, borderRadius, objectFit, alignSelf, style, ...rest }: ImageProps) => react_jsx_runtime.JSX.Element;
603
626
 
@@ -627,9 +650,8 @@ declare const DatePicker: ({ onChange, size }: DatePickerProps) => react_jsx_run
627
650
  interface IconTabItem {
628
651
  icon?: string;
629
652
  label?: string;
630
- [key: string]: unknown;
631
653
  }
632
- interface IconTabsProps {
654
+ interface IconTabsProps extends HTMLAttributes<HTMLDivElement> {
633
655
  items: IconTabItem[];
634
656
  selectedColor?: string;
635
657
  onTabChange?: (index: number) => void;
@@ -648,6 +670,69 @@ interface PopoverProps {
648
670
  }
649
671
  declare const Popover: ({ items, children }: PopoverProps) => react_jsx_runtime.JSX.Element;
650
672
 
673
+ interface TooltipProps {
674
+ children?: ReactNode;
675
+ backgroundColor?: string;
676
+ data?: string[];
677
+ width?: string;
678
+ height?: string;
679
+ direction?: 'top' | 'bottom' | 'left' | 'right';
680
+ }
681
+ declare const Tooltip: ({ backgroundColor, data, width, height, direction, children, }: TooltipProps) => react_jsx_runtime.JSX.Element;
682
+
683
+ interface PaginationProps {
684
+ currentPage: number;
685
+ totalItems: number;
686
+ itemsPerPage: number;
687
+ onPageChange: (page: number) => void;
688
+ showSummary?: boolean;
689
+ summaryLabel?: string;
690
+ }
691
+ declare const Pagination: ({ currentPage, totalItems, itemsPerPage, onPageChange, showSummary, summaryLabel, }: PaginationProps) => react_jsx_runtime.JSX.Element;
692
+
693
+ interface FileUploadZoneProps {
694
+ /** Called with the validated File when the user drops/selects a file */
695
+ onSave?: (file: File) => void;
696
+ /** Called when the user clicks the remove button (preview mode) */
697
+ onRemove?: () => void;
698
+ /** Called with an error message when validation fails — use for toastr etc. */
699
+ onError?: (message: string) => void;
700
+ /** Accepted file extensions: ['png', 'jpg', 'pdf'] — defaults to all supported */
701
+ accept?: string[];
702
+ /** Shortcut: only accept PDFs (overrides `accept`) */
703
+ acceptOnlyPdf?: boolean;
704
+ /** Max file size in MB — defaults to 10 */
705
+ maxSizeMB?: number;
706
+ /** Drop zone label text */
707
+ label?: string;
708
+ /** Secondary hint text below the label */
709
+ sublabel?: string;
710
+ /** Label for the browse button. Set to false to hide the button. */
711
+ browseLabel?: string | false;
712
+ /** Disables the drop zone */
713
+ disabled?: boolean;
714
+ /** When true, shows built-in preview after file selection. Defaults to true.
715
+ * Set to false when the parent handles preview (e.g. cropping flow). */
716
+ showPreview?: boolean;
717
+ /** Controlled preview URL — when provided, the component shows preview mode */
718
+ previewUrl?: string;
719
+ /** Makes the component stretch to 100% width */
720
+ fullWidth?: boolean;
721
+ /** Compact mode — smaller drop zone without icon, without browse button */
722
+ compact?: boolean;
723
+ /** Icon name to display in the drop zone. Set to false to hide. Defaults to 'cloud-arrow-up'. */
724
+ icon?: string | false;
725
+ /** Shows the selected file name below the drop zone after upload */
726
+ showFileName?: boolean;
727
+ }
728
+ declare const FileUploadZone: ({ onSave, onRemove, onError, accept, acceptOnlyPdf, maxSizeMB, label, sublabel, browseLabel, disabled, showPreview, previewUrl: controlledPreviewUrl, fullWidth, compact, icon, showFileName, }: FileUploadZoneProps) => react_jsx_runtime.JSX.Element;
729
+
730
+ interface SpinnerProps {
731
+ size?: 's' | 'm' | 'l';
732
+ color?: string;
733
+ }
734
+ declare const Spinner: ({ size, color }: SpinnerProps) => react_jsx_runtime.JSX.Element;
735
+
651
736
  /**
652
737
  * formatDate(date, type?, language?)
653
738
  * - language : fr/en/es/... (locale inferred), default "en"
@@ -740,4 +825,4 @@ declare const colors: {
740
825
  readonly light_blue: "#F1F5F9";
741
826
  };
742
827
 
743
- export { Box, Bubble, Bulk, Button, CardSkeleton, Checkbox, Col, DatePicker, Divider, Drawer, Grid, Icon, IconTabs, Image, Input, Link, List, ListItem, Modal, ModalConfirmation, MultiSelect, NewModal, Options, PageContainer, Popover, Radio, Row, Select, SkeletonRow, Stepper, Switch, Table, TableBody, TableCell, TableFooter, TableFooterCell, TableFooterRow, TableHeader, TableHeaderCell, TableHeaderRow, TableRow, Tabs, TagBubble, Text, colors, formatDate, formatDistance, formatDuration, truncateFileName, truncateText };
828
+ export { Accordion, type AccordionItem, Box, Bubble, Bulk, Button, CardSkeleton, Checkbox, Col, ColorPicker, DatePicker, Divider, Drawer, FileUploadZone, Grid, Icon, IconTabs, Image, Input, Link, List, ListItem, Modal, ModalConfirmation, MultiSelect, NewModal, Options, PageContainer, Pagination, Popover, Radio, Row, Select, type SelectOption, type SelectProps, SkeletonRow, Spinner, Stepper, Switch, Table, TableBody, TableCell, TableFooter, TableFooterCell, TableFooterRow, TableHeader, TableHeaderCell, TableHeaderRow, TableRow, Tabs, TagBubble, Text, Tooltip, colors, formatDate, formatDistance, formatDuration, truncateFileName, truncateText };