design-zystem 1.0.325 → 1.0.327

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
@@ -483,6 +483,8 @@ interface InputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | '
483
483
  onBlur?: (e: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
484
484
  onKeyDown?: (e: KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
485
485
  asTextArea?: boolean;
486
+ /** Lignes visibles d'un `asTextArea` : sans valeur, le navigateur en impose deux. */
487
+ rows?: number;
486
488
  noFlex?: boolean;
487
489
  name?: string;
488
490
  min?: string | number;
@@ -776,6 +778,7 @@ interface TableCellProps extends HTMLAttributes<HTMLDivElement> {
776
778
  minHeight?: string;
777
779
  padding?: string;
778
780
  width?: string;
781
+ alignSelf?: string;
779
782
  style?: CSSProperties;
780
783
  className?: string;
781
784
  }
package/dist/index.d.ts CHANGED
@@ -483,6 +483,8 @@ interface InputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | '
483
483
  onBlur?: (e: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
484
484
  onKeyDown?: (e: KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
485
485
  asTextArea?: boolean;
486
+ /** Lignes visibles d'un `asTextArea` : sans valeur, le navigateur en impose deux. */
487
+ rows?: number;
486
488
  noFlex?: boolean;
487
489
  name?: string;
488
490
  min?: string | number;
@@ -776,6 +778,7 @@ interface TableCellProps extends HTMLAttributes<HTMLDivElement> {
776
778
  minHeight?: string;
777
779
  padding?: string;
778
780
  width?: string;
781
+ alignSelf?: string;
779
782
  style?: CSSProperties;
780
783
  className?: string;
781
784
  }
package/dist/index.js CHANGED
@@ -4022,7 +4022,8 @@ var shouldForwardPropTableCell = (prop) => ![
4022
4022
  "minHeight",
4023
4023
  "width",
4024
4024
  "colSpan",
4025
- "padding"
4025
+ "padding",
4026
+ "alignSelf"
4026
4027
  ].includes(prop);
4027
4028
  var StyledTableCell = import_styled_components33.default.div.withConfig({
4028
4029
  shouldForwardProp: shouldForwardPropTableCell
@@ -4042,6 +4043,7 @@ var StyledTableCell = import_styled_components33.default.div.withConfig({
4042
4043
  min-height: ${(props) => props.minHeight || "auto"};
4043
4044
  max-width: ${(props) => props.width || "auto"};
4044
4045
  min-width: ${(props) => props.width || "auto"};
4046
+ align-self: ${(props) => props.alignSelf || "auto"};
4045
4047
  `;
4046
4048
  var TableCell = (props) => {
4047
4049
  const _a = props, { centerContent, children } = _a, otherProps = __objRest(_a, ["centerContent", "children"]);
@@ -6879,6 +6881,8 @@ var formatDate = (dateString, type = "date", language = "en") => {
6879
6881
  });
6880
6882
  return `${dayPart} ${formatTime2()}`;
6881
6883
  }
6884
+ case "time":
6885
+ return formatTime2();
6882
6886
  case "longDate":
6883
6887
  return format({ day: "numeric", month: "long", year: "numeric" });
6884
6888
  case "dayMonth": {
package/dist/index.mjs CHANGED
@@ -3885,7 +3885,8 @@ var shouldForwardPropTableCell = (prop) => ![
3885
3885
  "minHeight",
3886
3886
  "width",
3887
3887
  "colSpan",
3888
- "padding"
3888
+ "padding",
3889
+ "alignSelf"
3889
3890
  ].includes(prop);
3890
3891
  var StyledTableCell = styled33.div.withConfig({
3891
3892
  shouldForwardProp: shouldForwardPropTableCell
@@ -3905,6 +3906,7 @@ var StyledTableCell = styled33.div.withConfig({
3905
3906
  min-height: ${(props) => props.minHeight || "auto"};
3906
3907
  max-width: ${(props) => props.width || "auto"};
3907
3908
  min-width: ${(props) => props.width || "auto"};
3909
+ align-self: ${(props) => props.alignSelf || "auto"};
3908
3910
  `;
3909
3911
  var TableCell = (props) => {
3910
3912
  const _a = props, { centerContent, children } = _a, otherProps = __objRest(_a, ["centerContent", "children"]);
@@ -6756,6 +6758,8 @@ var formatDate = (dateString, type = "date", language = "en") => {
6756
6758
  });
6757
6759
  return `${dayPart} ${formatTime2()}`;
6758
6760
  }
6761
+ case "time":
6762
+ return formatTime2();
6759
6763
  case "longDate":
6760
6764
  return format({ day: "numeric", month: "long", year: "numeric" });
6761
6765
  case "dayMonth": {
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { HTMLAttributes, AnchorHTMLAttributes, ElementType, ImgHTMLAttributes, ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, TextareaHTMLAttributes, MouseEvent, ComponentPropsWithoutRef } from 'react';
2
+ import { HTMLAttributes, AnchorHTMLAttributes, ElementType, ImgHTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, MouseEvent, ComponentPropsWithoutRef, Ref } from 'react';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import * as RadixLabel from '@radix-ui/react-label';
@@ -75,7 +75,7 @@ interface DividerProps extends VariantProps<typeof dividerVariants> {
75
75
  declare const Divider: ({ orientation, className, }: DividerProps) => react.JSX.Element;
76
76
 
77
77
  declare const linkVariants: (props?: ({
78
- color?: "blue-700" | "blue-900" | "blue-950" | "red-900" | "red-500" | "green-700" | "grey-600" | "yellow-500" | "yellow-200" | "purple-700" | null | undefined;
78
+ color?: "white" | "blue-700" | "blue-900" | "blue-950" | "red-900" | "red-500" | "green-700" | "grey-600" | "yellow-500" | "yellow-200" | "purple-700" | null | undefined;
79
79
  size?: "s" | "xs" | "m" | "l" | null | undefined;
80
80
  } & class_variance_authority_types.ClassProp) | undefined) => string;
81
81
  interface LinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'color'>, VariantProps<typeof linkVariants> {
@@ -130,6 +130,39 @@ interface IconProps extends Omit<HTMLAttributes<HTMLElement>, 'color' | 'onClick
130
130
  */
131
131
  declare const Icon: react.ForwardRefExoticComponent<IconProps & react.RefAttributes<HTMLElement>>;
132
132
 
133
+ interface IconTooltipProps {
134
+ /** Nom de l'icône FontAwesome, sans le préfixe `fa-`. */
135
+ name: string;
136
+ /**
137
+ * Contenu de l'infobulle. Sert aussi d'`aria-label` quand l'icône est
138
+ * cliquable : décris l'action par un verbe (« Supprimer la mission »), pas
139
+ * le glyphe.
140
+ */
141
+ label: ReactNode;
142
+ /** Présent : l'icône devient un vrai bouton. Absent : simple glyphe légendé. */
143
+ onClick?: () => void;
144
+ disabled?: boolean;
145
+ family?: IconFamily;
146
+ size?: IconSize;
147
+ color?: IconColor;
148
+ side?: 'top' | 'bottom' | 'left' | 'right';
149
+ align?: 'start' | 'center' | 'end';
150
+ className?: string;
151
+ }
152
+ /**
153
+ * Icône légendée par une infobulle.
154
+ *
155
+ * Monté directement sur une `Icon`, un `Tooltip` lui injecte ses gestionnaires
156
+ * via `asChild` — dont un `onClick` — et l'icône bascule alors en bouton, avec
157
+ * son fond rond au survol, même purement décorative. Ce composant tranche à
158
+ * partir du seul signal fiable : l'`onClick` que le consommateur passe ici.
159
+ *
160
+ * Sans `onClick`, l'infobulle s'accroche à une enveloppe et l'icône reste un
161
+ * glyphe ; avec, elle s'accroche au bouton lui-même, pour que l'`aria-describedby`
162
+ * de Radix porte bien sur l'élément interactif.
163
+ */
164
+ declare const IconTooltip: ({ name, label, onClick, disabled, family, size, color, side, align, className, }: IconTooltipProps) => react.JSX.Element;
165
+
133
166
  declare const colors: {
134
167
  readonly neutral_00: "#FFFFFF00";
135
168
  readonly neutral_50: "#fff";
@@ -651,10 +684,17 @@ interface DrawerProps {
651
684
  direction?: DrawerDirection;
652
685
  /** Largeur (directions `left`/`right`) ou hauteur (directions `top`/`bottom`) du panneau. */
653
686
  size?: string;
687
+ /**
688
+ * `false` : le panneau n'inerte plus la page et ne capture plus le focus — à
689
+ * utiliser dès qu'il ouvre lui-même une modale (sinon celle-ci, montée hors
690
+ * de son DOM, devient inerte et injoignable au clavier). Il ne se ferme alors
691
+ * plus au clic extérieur, seulement par son bouton de fermeture.
692
+ */
693
+ modal?: boolean;
654
694
  className?: string;
655
695
  }
656
696
  /** Panneau — construit sur `vaul` (la lib derrière le vrai `Drawer` de shadcn). Compose-le avec `DrawerHeader`/`DrawerTitle`/`DrawerDescription`/`DrawerBody`/`DrawerFooter`/`DrawerClose`, comme le `Table`. Flotte : une marge le sépare des bords de la page, l'overlay se voit tout autour. */
657
- declare const Drawer: ({ children, open, onClose, direction, size, className, }: DrawerProps) => react.JSX.Element;
697
+ declare const Drawer: ({ children, open, onClose, direction, size, modal, className, }: DrawerProps) => react.JSX.Element;
658
698
  declare const DrawerHeader: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => react.JSX.Element;
659
699
  declare const DrawerTitle: ({ className, ...props }: React.ComponentPropsWithoutRef<typeof Drawer$1.Title>) => react.JSX.Element;
660
700
  declare const DrawerDescription: ({ className, ...props }: React.ComponentPropsWithoutRef<typeof Drawer$1.Description>) => react.JSX.Element;
@@ -961,6 +1001,25 @@ interface FileUploadZoneProps {
961
1001
  }
962
1002
  declare const FileUploadZone: ({ onSave, multiple, onSaveMultiple, onRemove, onError, accept, acceptOnlyPdf, maxSizeMB, label, sublabel, browseLabel, disabled, showPreview, previewUrl: controlledPreviewUrl, fullWidth, compact, showIcon, showFileName, className, }: FileUploadZoneProps) => react.JSX.Element;
963
1003
 
1004
+ interface FilePickerProps {
1005
+ /** Décrit l'action, pas l'icône (« Joindre un fichier ») — sert au tooltip et à l'`aria-label`. */
1006
+ label: string;
1007
+ /** Appelé avec les fichiers choisis. Jamais avec un tableau vide (annulation ignorée). */
1008
+ onSelect: (files: File[]) => void;
1009
+ /** Types acceptés, syntaxe de l'attribut `accept` : `"image/*"`, `".pdf,.docx"`. Sans valeur, tout est accepté. */
1010
+ accept?: string;
1011
+ multiple?: boolean;
1012
+ /** Nom de l'icône FontAwesome du déclencheur, sans le préfixe `fa-`. */
1013
+ icon?: string;
1014
+ iconFamily?: IconFamily;
1015
+ iconSize?: IconSize;
1016
+ iconColor?: IconColor;
1017
+ disabled?: boolean;
1018
+ className?: string;
1019
+ }
1020
+ /** Déclencheur de sélection de fichier : une icône sous tooltip, l'`input file` natif restant caché à l'intérieur. Pour une zone de dépôt pleine largeur, voir `FileUploadZone`. */
1021
+ declare const FilePicker: ({ label, onSelect, accept, multiple, icon, iconFamily, iconSize, iconColor, disabled, className, }: FilePickerProps) => react.JSX.Element;
1022
+
964
1023
  declare const itemVariants: (props?: ({
965
1024
  variant?: "default" | "outline" | "muted" | null | undefined;
966
1025
  size?: "default" | "sm" | null | undefined;
@@ -1012,9 +1071,94 @@ declare const PdfPreview: ({ file, width, maxHeight, className, }: PdfPreviewPro
1012
1071
  interface ScrollAreaProps extends Omit<ComponentPropsWithoutRef<typeof RadixScrollArea.Root>, 'children'> {
1013
1072
  children?: ReactNode;
1014
1073
  orientation?: 'vertical' | 'horizontal' | 'both';
1074
+ /** Ref sur le viewport Radix — le noeud qui scrolle réellement. Indispensable pour piloter `scrollTop` (auto-scroll en bas d'une messagerie). */
1075
+ viewportRef?: Ref<HTMLDivElement>;
1015
1076
  }
1016
1077
  /** Construit sur `@radix-ui/react-scroll-area` (comme le `ScrollArea` de shadcn) — scrollbars custom au lieu de celles du système. */
1017
- declare const ScrollArea: ({ children, className, orientation, ...props }: ScrollAreaProps) => react.JSX.Element;
1078
+ declare const ScrollArea: ({ children, className, orientation, viewportRef, ...props }: ScrollAreaProps) => react.JSX.Element;
1079
+
1080
+ type MessageVariant = 'own' | 'other';
1081
+ type MessageTone = 'solid' | 'soft';
1082
+ interface MessageProps extends HTMLAttributes<HTMLDivElement> {
1083
+ /** `own` = message de l'utilisateur courant (aligné à droite), `other` = interlocuteur (aligné à gauche). */
1084
+ variant?: MessageVariant;
1085
+ /** `solid` = bulle pleine (messagerie), `soft` = bulle pâle (commentaires, fils de discussion). */
1086
+ tone?: MessageTone;
1087
+ /** Contenu du message — texte brut ou nœuds riches (mentions, liens cliquables). */
1088
+ children?: ReactNode;
1089
+ /** Nom de l'auteur, affiché au-dessus de la bulle quand `showAuthor`. */
1090
+ authorName?: string;
1091
+ /** URL de la photo de l'auteur — la résolution du chemin de storage reste côté app. */
1092
+ authorSrc?: string | null;
1093
+ /** Dernier message d'une séquence : avatar + nom affichés sous la bulle. Sinon l'espace de l'avatar reste réservé pour garder l'alignement. */
1094
+ showAuthor?: boolean;
1095
+ /**
1096
+ * `false` : `authorName` ne sert qu'aux initiales de l'avatar, sans ligne de
1097
+ * nom au-dessus de la bulle — cas d'une conversation à deux, où l'avatar
1098
+ * suffit à désigner l'auteur.
1099
+ */
1100
+ showAuthorName?: boolean;
1101
+ avatarSize?: number;
1102
+ /** Horodatage déjà formaté (`formatTime`, `formatDate`) — affiché en bas de bulle. */
1103
+ time?: ReactNode;
1104
+ /** Coin plat côté auteur, style bulle de messagerie. */
1105
+ tail?: boolean;
1106
+ /** Affiche `deletedLabel` en italique à la place du contenu. */
1107
+ deleted?: boolean;
1108
+ deletedLabel?: string;
1109
+ /** Ligne sous la bulle : accusé de lecture, « Lu par … », état d'envoi. */
1110
+ status?: ReactNode;
1111
+ /** Actions contextuelles posées à côté de la bulle (suppression…). */
1112
+ actions?: ReactNode;
1113
+ /** `false` : le contenu est rendu sans bulle ni padding (pièce jointe, image, message audio). */
1114
+ bubble?: boolean;
1115
+ /** Largeur maximale de la bulle. */
1116
+ maxWidth?: string;
1117
+ }
1118
+ /** Bulle de message unitaire — messagerie convoyeur, commentaires, fils de discussion, incidents. La liste, les séparateurs de date et l'auto-scroll sont gérés par `MessageScroller`. */
1119
+ declare const Message: react.ForwardRefExoticComponent<MessageProps & react.RefAttributes<HTMLDivElement>>;
1120
+
1121
+ type MessageSeparatorTone = 'neutral' | 'alert';
1122
+ interface MessageDateSeparatorProps {
1123
+ /** Date déjà formatée (`formatDate(date, 'weekday', 'fr')`) — le formatage reste côté app. */
1124
+ label: ReactNode;
1125
+ /** `alert` : trait et libellé en rouge, pour marquer la reprise des messages non lus. */
1126
+ tone?: MessageSeparatorTone;
1127
+ className?: string;
1128
+ }
1129
+ /** Ligne de séparation légendée entre deux blocs de messages : changement de journée, ou reprise des non-lus. */
1130
+ declare const MessageDateSeparator: ({ label, tone, className, }: MessageDateSeparatorProps) => react.JSX.Element;
1131
+ interface MessageScrollerProps {
1132
+ /** Les `Message` (et les `MessageDateSeparator` intercalés) à afficher. */
1133
+ children?: ReactNode;
1134
+ /**
1135
+ * Hauteur fixe de la zone scrollable. Une `maxHeight` ne contraindrait pas le
1136
+ * viewport Radix (`height: 100%` face à un `max-height` parent) — cf. `ScrollArea`.
1137
+ */
1138
+ height?: string | number;
1139
+ /** Espacement entre messages (échelle Tailwind, comme `Layout`). */
1140
+ gap?: LayoutProps['gap'];
1141
+ /** Bloc au-dessus des messages : bouton « Charger les messages plus anciens », bandeau d'info. */
1142
+ header?: ReactNode;
1143
+ /** Bloc sous les messages : indicateur de frappe, séparateur de fin. */
1144
+ footer?: ReactNode;
1145
+ /** Affiché à la place des messages quand `isEmpty`. */
1146
+ emptyState?: ReactNode;
1147
+ isEmpty?: boolean;
1148
+ /** Affiché à la place de tout le contenu pendant le premier chargement. */
1149
+ loadingState?: ReactNode;
1150
+ isLoading?: boolean;
1151
+ /** Descend en bas de liste au montage puis à chaque changement de `scrollKey`. */
1152
+ autoScroll?: boolean;
1153
+ /**
1154
+ * Déclencheur du scroll automatique — typiquement le nombre de messages ou
1155
+ * l'id du dernier. Sans valeur, seul le montage descend en bas.
1156
+ */
1157
+ scrollKey?: string | number;
1158
+ className?: string;
1159
+ }
1160
+ /** Zone scrollable d'une liste de messages : hauteur fixe, espacement, slots haut/bas, états vide/chargement, et scroll automatique en bas à l'arrivée d'un message. */
1161
+ declare const MessageScroller: ({ children, height, gap, header, footer, emptyState, isEmpty, loadingState, isLoading, autoScroll, scrollKey, className, }: MessageScrollerProps) => react.JSX.Element;
1018
1162
 
1019
1163
  interface StepperProps {
1020
1164
  numberOfSteps: number;
@@ -1070,6 +1214,7 @@ declare const DatePicker: ({ mode, value, onChange, startDate, endDate, onRangeC
1070
1214
  * - "weekdayDay": jour court + jour
1071
1215
  * - "weekdayYear": jour court + jour + mois + année
1072
1216
  * - "weekdayTime": jour/date + heure (24h)
1217
+ * - "time": heure seule (24h) (ex: 14:32)
1073
1218
  * - "longDate": jour + mois complet + année, sans jour de semaine (ex: 16 mai 2024)
1074
1219
  * - "dateISO": format ISO YYYY-MM-DD (safe timezone pour le backend)
1075
1220
  */
@@ -1257,4 +1402,4 @@ declare const allowAutofill: (autoComplete: string) => {
1257
1402
  "data-form-type": undefined;
1258
1403
  };
1259
1404
 
1260
- export { Attachment, type AttachmentProps, type AttachmentStatus, Avatar, AvatarBadge, type AvatarBadgeConfig, type AvatarBadgeProps, AvatarFallback, type AvatarFallbackProps, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, Badge, type BadgeProps, Banner, type BannerAction, type BannerProps, type BannerToggle, Box, type BoxProps, Bulk, type BulkProps, type BulkSection, Button, type ButtonColor, type ButtonProps, COLOR_TOKENS, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorKey, ColorPicker, type ColorPickerProps, type ColorToken, DatePicker, type DatePickerMode, type DatePickerProps, type DatePreset, Divider, type DividerProps, Drawer, DrawerBody, DrawerClose, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, type DrawerProps, DrawerTitle, EmailInput, type EmailInputProps, EmptyState, type EmptyStateProps, FileUploadZone, type FileUploadZoneProps, type FloatingAction, FloatingButton, type FloatingButtonProps, Gantt, type GanttBand, type GanttBar, type GanttDay, GanttDot, type GanttProps, type GanttRow, GanttSwatch, Icon, IconBadge, type IconBadgeProps, type IconColor, type IconFamily, type IconProps, type IconSize, type IconTabItem, IconTabs, type IconTabsProps, Image, type ImageProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupProps, type InputProps, Item, ItemActions, ItemContent, ItemDescription, ItemMedia, type ItemMediaProps, type ItemProps, ItemTitle, Label, type LabelProps, Layout, type LayoutProps, Link, type LinkProps, MetricCard, type MetricCardProps, Modal, ModalBody, ModalClose, ModalDescription, ModalFooter, ModalHeader, type ModalProps, ModalTitle, type MultiSelectProps, type OptimizeImageOptions, type OptimizeImageResult, PageContainer, type PageContainerProps, Pagination, type PaginationProps, PasswordInput, type PasswordInputProps, PdfPreview, type PdfPreviewProps, PhoneInput, type PhoneInputMeta, type PhoneInputProps, Popover, type PopoverMenuItem, type PopoverProps, ProgressBar, type ProgressBarProps, Radio, type RadioOption, type RadioProps, ScrollArea, type ScrollAreaProps, SearchInput, type SearchInputProps, Select, type SelectOption, type SelectProps, type SingleSelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, type SpinnerSize, Stepper, type StepperProps, Switch, type SwitchProps, type TabItem, Table, TableCell, type TableCellProps, type TableEmptyState, TableFooter, TableFooterCell, type TableFooterCellProps, type TableFooterProps, TableFooterRow, type TableFooterRowProps, TableHeader, TableHeaderCell, type TableHeaderCellProps, type TableHeaderProps, TableHeaderRow, type TableHeaderRowProps, type TablePagination, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type TabsVariant, TagBubble, type TagBubbleProps, type TagOption, TagSelect, type TagSelectProps, Text, type TextProps, Textarea, type TextareaProps, Timeline, type TimelineItem, type TimelineProps, type ToastOptions, type ToastType, Toaster, Tooltip, type TooltipProps, addBusinessDays, allowAutofill, appendCacheBuster, appendQueryParam, buttonVariants, capitalizeFirstLetter, colors, easterDate, formatAddress, formatCityFromFormattedAddress, formatCityWithPostalCode, formatDate, formatDateWithTime, formatDistance, formatDuration, formatEuro, formatKM, formatLocality, formatName, formatNameWithInitial, formatPhoneNumber, formatPlate, formatPlateWithoutDashes, formatPostalCodeFromFormattedAddress, formatRegionCode, formatTime, formatVin, generateHexColor, getAvatarColor, getCleanFileName, getFileIconByMimeType, getFileKind, getFileNameFromUrl, getInitials, getMimeCategory, getRelativeTime, isHoliday, isSameDay, isolateCity, noAutofillProps, optimizeImage, parseAmount, parseIsoDate, toast, truncateFileName, truncateText, useAvatarSize };
1405
+ export { Attachment, type AttachmentProps, type AttachmentStatus, Avatar, AvatarBadge, type AvatarBadgeConfig, type AvatarBadgeProps, AvatarFallback, type AvatarFallbackProps, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, Badge, type BadgeProps, Banner, type BannerAction, type BannerProps, type BannerToggle, Box, type BoxProps, Bulk, type BulkProps, type BulkSection, Button, type ButtonColor, type ButtonProps, COLOR_TOKENS, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorKey, ColorPicker, type ColorPickerProps, type ColorToken, DatePicker, type DatePickerMode, type DatePickerProps, type DatePreset, Divider, type DividerProps, Drawer, DrawerBody, DrawerClose, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, type DrawerProps, DrawerTitle, EmailInput, type EmailInputProps, EmptyState, type EmptyStateProps, FilePicker, type FilePickerProps, FileUploadZone, type FileUploadZoneProps, type FloatingAction, FloatingButton, type FloatingButtonProps, Gantt, type GanttBand, type GanttBar, type GanttDay, GanttDot, type GanttProps, type GanttRow, GanttSwatch, Icon, IconBadge, type IconBadgeProps, type IconColor, type IconFamily, type IconProps, type IconSize, type IconTabItem, IconTabs, type IconTabsProps, IconTooltip, type IconTooltipProps, Image, type ImageProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupProps, type InputProps, Item, ItemActions, ItemContent, ItemDescription, ItemMedia, type ItemMediaProps, type ItemProps, ItemTitle, Label, type LabelProps, Layout, type LayoutProps, Link, type LinkProps, Message, MessageDateSeparator, type MessageDateSeparatorProps, type MessageProps, MessageScroller, type MessageScrollerProps, type MessageSeparatorTone, type MessageTone, type MessageVariant, MetricCard, type MetricCardProps, Modal, ModalBody, ModalClose, ModalDescription, ModalFooter, ModalHeader, type ModalProps, ModalTitle, type MultiSelectProps, type OptimizeImageOptions, type OptimizeImageResult, PageContainer, type PageContainerProps, Pagination, type PaginationProps, PasswordInput, type PasswordInputProps, PdfPreview, type PdfPreviewProps, PhoneInput, type PhoneInputMeta, type PhoneInputProps, Popover, type PopoverMenuItem, type PopoverProps, ProgressBar, type ProgressBarProps, Radio, type RadioOption, type RadioProps, ScrollArea, type ScrollAreaProps, SearchInput, type SearchInputProps, Select, type SelectOption, type SelectProps, type SingleSelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, type SpinnerSize, Stepper, type StepperProps, Switch, type SwitchProps, type TabItem, Table, TableCell, type TableCellProps, type TableEmptyState, TableFooter, TableFooterCell, type TableFooterCellProps, type TableFooterProps, TableFooterRow, type TableFooterRowProps, TableHeader, TableHeaderCell, type TableHeaderCellProps, type TableHeaderProps, TableHeaderRow, type TableHeaderRowProps, type TablePagination, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type TabsVariant, TagBubble, type TagBubbleProps, type TagOption, TagSelect, type TagSelectProps, Text, type TextProps, Textarea, type TextareaProps, Timeline, type TimelineItem, type TimelineProps, type ToastOptions, type ToastType, Toaster, Tooltip, type TooltipProps, addBusinessDays, allowAutofill, appendCacheBuster, appendQueryParam, buttonVariants, capitalizeFirstLetter, colors, easterDate, formatAddress, formatCityFromFormattedAddress, formatCityWithPostalCode, formatDate, formatDateWithTime, formatDistance, formatDuration, formatEuro, formatKM, formatLocality, formatName, formatNameWithInitial, formatPhoneNumber, formatPlate, formatPlateWithoutDashes, formatPostalCodeFromFormattedAddress, formatRegionCode, formatTime, formatVin, generateHexColor, getAvatarColor, getCleanFileName, getFileIconByMimeType, getFileKind, getFileNameFromUrl, getInitials, getMimeCategory, getRelativeTime, isHoliday, isSameDay, isolateCity, noAutofillProps, optimizeImage, parseAmount, parseIsoDate, toast, truncateFileName, truncateText, useAvatarSize };
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { HTMLAttributes, AnchorHTMLAttributes, ElementType, ImgHTMLAttributes, ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, TextareaHTMLAttributes, MouseEvent, ComponentPropsWithoutRef } from 'react';
2
+ import { HTMLAttributes, AnchorHTMLAttributes, ElementType, ImgHTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, MouseEvent, ComponentPropsWithoutRef, Ref } from 'react';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import * as RadixLabel from '@radix-ui/react-label';
@@ -75,7 +75,7 @@ interface DividerProps extends VariantProps<typeof dividerVariants> {
75
75
  declare const Divider: ({ orientation, className, }: DividerProps) => react.JSX.Element;
76
76
 
77
77
  declare const linkVariants: (props?: ({
78
- color?: "blue-700" | "blue-900" | "blue-950" | "red-900" | "red-500" | "green-700" | "grey-600" | "yellow-500" | "yellow-200" | "purple-700" | null | undefined;
78
+ color?: "white" | "blue-700" | "blue-900" | "blue-950" | "red-900" | "red-500" | "green-700" | "grey-600" | "yellow-500" | "yellow-200" | "purple-700" | null | undefined;
79
79
  size?: "s" | "xs" | "m" | "l" | null | undefined;
80
80
  } & class_variance_authority_types.ClassProp) | undefined) => string;
81
81
  interface LinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'color'>, VariantProps<typeof linkVariants> {
@@ -130,6 +130,39 @@ interface IconProps extends Omit<HTMLAttributes<HTMLElement>, 'color' | 'onClick
130
130
  */
131
131
  declare const Icon: react.ForwardRefExoticComponent<IconProps & react.RefAttributes<HTMLElement>>;
132
132
 
133
+ interface IconTooltipProps {
134
+ /** Nom de l'icône FontAwesome, sans le préfixe `fa-`. */
135
+ name: string;
136
+ /**
137
+ * Contenu de l'infobulle. Sert aussi d'`aria-label` quand l'icône est
138
+ * cliquable : décris l'action par un verbe (« Supprimer la mission »), pas
139
+ * le glyphe.
140
+ */
141
+ label: ReactNode;
142
+ /** Présent : l'icône devient un vrai bouton. Absent : simple glyphe légendé. */
143
+ onClick?: () => void;
144
+ disabled?: boolean;
145
+ family?: IconFamily;
146
+ size?: IconSize;
147
+ color?: IconColor;
148
+ side?: 'top' | 'bottom' | 'left' | 'right';
149
+ align?: 'start' | 'center' | 'end';
150
+ className?: string;
151
+ }
152
+ /**
153
+ * Icône légendée par une infobulle.
154
+ *
155
+ * Monté directement sur une `Icon`, un `Tooltip` lui injecte ses gestionnaires
156
+ * via `asChild` — dont un `onClick` — et l'icône bascule alors en bouton, avec
157
+ * son fond rond au survol, même purement décorative. Ce composant tranche à
158
+ * partir du seul signal fiable : l'`onClick` que le consommateur passe ici.
159
+ *
160
+ * Sans `onClick`, l'infobulle s'accroche à une enveloppe et l'icône reste un
161
+ * glyphe ; avec, elle s'accroche au bouton lui-même, pour que l'`aria-describedby`
162
+ * de Radix porte bien sur l'élément interactif.
163
+ */
164
+ declare const IconTooltip: ({ name, label, onClick, disabled, family, size, color, side, align, className, }: IconTooltipProps) => react.JSX.Element;
165
+
133
166
  declare const colors: {
134
167
  readonly neutral_00: "#FFFFFF00";
135
168
  readonly neutral_50: "#fff";
@@ -651,10 +684,17 @@ interface DrawerProps {
651
684
  direction?: DrawerDirection;
652
685
  /** Largeur (directions `left`/`right`) ou hauteur (directions `top`/`bottom`) du panneau. */
653
686
  size?: string;
687
+ /**
688
+ * `false` : le panneau n'inerte plus la page et ne capture plus le focus — à
689
+ * utiliser dès qu'il ouvre lui-même une modale (sinon celle-ci, montée hors
690
+ * de son DOM, devient inerte et injoignable au clavier). Il ne se ferme alors
691
+ * plus au clic extérieur, seulement par son bouton de fermeture.
692
+ */
693
+ modal?: boolean;
654
694
  className?: string;
655
695
  }
656
696
  /** Panneau — construit sur `vaul` (la lib derrière le vrai `Drawer` de shadcn). Compose-le avec `DrawerHeader`/`DrawerTitle`/`DrawerDescription`/`DrawerBody`/`DrawerFooter`/`DrawerClose`, comme le `Table`. Flotte : une marge le sépare des bords de la page, l'overlay se voit tout autour. */
657
- declare const Drawer: ({ children, open, onClose, direction, size, className, }: DrawerProps) => react.JSX.Element;
697
+ declare const Drawer: ({ children, open, onClose, direction, size, modal, className, }: DrawerProps) => react.JSX.Element;
658
698
  declare const DrawerHeader: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => react.JSX.Element;
659
699
  declare const DrawerTitle: ({ className, ...props }: React.ComponentPropsWithoutRef<typeof Drawer$1.Title>) => react.JSX.Element;
660
700
  declare const DrawerDescription: ({ className, ...props }: React.ComponentPropsWithoutRef<typeof Drawer$1.Description>) => react.JSX.Element;
@@ -961,6 +1001,25 @@ interface FileUploadZoneProps {
961
1001
  }
962
1002
  declare const FileUploadZone: ({ onSave, multiple, onSaveMultiple, onRemove, onError, accept, acceptOnlyPdf, maxSizeMB, label, sublabel, browseLabel, disabled, showPreview, previewUrl: controlledPreviewUrl, fullWidth, compact, showIcon, showFileName, className, }: FileUploadZoneProps) => react.JSX.Element;
963
1003
 
1004
+ interface FilePickerProps {
1005
+ /** Décrit l'action, pas l'icône (« Joindre un fichier ») — sert au tooltip et à l'`aria-label`. */
1006
+ label: string;
1007
+ /** Appelé avec les fichiers choisis. Jamais avec un tableau vide (annulation ignorée). */
1008
+ onSelect: (files: File[]) => void;
1009
+ /** Types acceptés, syntaxe de l'attribut `accept` : `"image/*"`, `".pdf,.docx"`. Sans valeur, tout est accepté. */
1010
+ accept?: string;
1011
+ multiple?: boolean;
1012
+ /** Nom de l'icône FontAwesome du déclencheur, sans le préfixe `fa-`. */
1013
+ icon?: string;
1014
+ iconFamily?: IconFamily;
1015
+ iconSize?: IconSize;
1016
+ iconColor?: IconColor;
1017
+ disabled?: boolean;
1018
+ className?: string;
1019
+ }
1020
+ /** Déclencheur de sélection de fichier : une icône sous tooltip, l'`input file` natif restant caché à l'intérieur. Pour une zone de dépôt pleine largeur, voir `FileUploadZone`. */
1021
+ declare const FilePicker: ({ label, onSelect, accept, multiple, icon, iconFamily, iconSize, iconColor, disabled, className, }: FilePickerProps) => react.JSX.Element;
1022
+
964
1023
  declare const itemVariants: (props?: ({
965
1024
  variant?: "default" | "outline" | "muted" | null | undefined;
966
1025
  size?: "default" | "sm" | null | undefined;
@@ -1012,9 +1071,94 @@ declare const PdfPreview: ({ file, width, maxHeight, className, }: PdfPreviewPro
1012
1071
  interface ScrollAreaProps extends Omit<ComponentPropsWithoutRef<typeof RadixScrollArea.Root>, 'children'> {
1013
1072
  children?: ReactNode;
1014
1073
  orientation?: 'vertical' | 'horizontal' | 'both';
1074
+ /** Ref sur le viewport Radix — le noeud qui scrolle réellement. Indispensable pour piloter `scrollTop` (auto-scroll en bas d'une messagerie). */
1075
+ viewportRef?: Ref<HTMLDivElement>;
1015
1076
  }
1016
1077
  /** Construit sur `@radix-ui/react-scroll-area` (comme le `ScrollArea` de shadcn) — scrollbars custom au lieu de celles du système. */
1017
- declare const ScrollArea: ({ children, className, orientation, ...props }: ScrollAreaProps) => react.JSX.Element;
1078
+ declare const ScrollArea: ({ children, className, orientation, viewportRef, ...props }: ScrollAreaProps) => react.JSX.Element;
1079
+
1080
+ type MessageVariant = 'own' | 'other';
1081
+ type MessageTone = 'solid' | 'soft';
1082
+ interface MessageProps extends HTMLAttributes<HTMLDivElement> {
1083
+ /** `own` = message de l'utilisateur courant (aligné à droite), `other` = interlocuteur (aligné à gauche). */
1084
+ variant?: MessageVariant;
1085
+ /** `solid` = bulle pleine (messagerie), `soft` = bulle pâle (commentaires, fils de discussion). */
1086
+ tone?: MessageTone;
1087
+ /** Contenu du message — texte brut ou nœuds riches (mentions, liens cliquables). */
1088
+ children?: ReactNode;
1089
+ /** Nom de l'auteur, affiché au-dessus de la bulle quand `showAuthor`. */
1090
+ authorName?: string;
1091
+ /** URL de la photo de l'auteur — la résolution du chemin de storage reste côté app. */
1092
+ authorSrc?: string | null;
1093
+ /** Dernier message d'une séquence : avatar + nom affichés sous la bulle. Sinon l'espace de l'avatar reste réservé pour garder l'alignement. */
1094
+ showAuthor?: boolean;
1095
+ /**
1096
+ * `false` : `authorName` ne sert qu'aux initiales de l'avatar, sans ligne de
1097
+ * nom au-dessus de la bulle — cas d'une conversation à deux, où l'avatar
1098
+ * suffit à désigner l'auteur.
1099
+ */
1100
+ showAuthorName?: boolean;
1101
+ avatarSize?: number;
1102
+ /** Horodatage déjà formaté (`formatTime`, `formatDate`) — affiché en bas de bulle. */
1103
+ time?: ReactNode;
1104
+ /** Coin plat côté auteur, style bulle de messagerie. */
1105
+ tail?: boolean;
1106
+ /** Affiche `deletedLabel` en italique à la place du contenu. */
1107
+ deleted?: boolean;
1108
+ deletedLabel?: string;
1109
+ /** Ligne sous la bulle : accusé de lecture, « Lu par … », état d'envoi. */
1110
+ status?: ReactNode;
1111
+ /** Actions contextuelles posées à côté de la bulle (suppression…). */
1112
+ actions?: ReactNode;
1113
+ /** `false` : le contenu est rendu sans bulle ni padding (pièce jointe, image, message audio). */
1114
+ bubble?: boolean;
1115
+ /** Largeur maximale de la bulle. */
1116
+ maxWidth?: string;
1117
+ }
1118
+ /** Bulle de message unitaire — messagerie convoyeur, commentaires, fils de discussion, incidents. La liste, les séparateurs de date et l'auto-scroll sont gérés par `MessageScroller`. */
1119
+ declare const Message: react.ForwardRefExoticComponent<MessageProps & react.RefAttributes<HTMLDivElement>>;
1120
+
1121
+ type MessageSeparatorTone = 'neutral' | 'alert';
1122
+ interface MessageDateSeparatorProps {
1123
+ /** Date déjà formatée (`formatDate(date, 'weekday', 'fr')`) — le formatage reste côté app. */
1124
+ label: ReactNode;
1125
+ /** `alert` : trait et libellé en rouge, pour marquer la reprise des messages non lus. */
1126
+ tone?: MessageSeparatorTone;
1127
+ className?: string;
1128
+ }
1129
+ /** Ligne de séparation légendée entre deux blocs de messages : changement de journée, ou reprise des non-lus. */
1130
+ declare const MessageDateSeparator: ({ label, tone, className, }: MessageDateSeparatorProps) => react.JSX.Element;
1131
+ interface MessageScrollerProps {
1132
+ /** Les `Message` (et les `MessageDateSeparator` intercalés) à afficher. */
1133
+ children?: ReactNode;
1134
+ /**
1135
+ * Hauteur fixe de la zone scrollable. Une `maxHeight` ne contraindrait pas le
1136
+ * viewport Radix (`height: 100%` face à un `max-height` parent) — cf. `ScrollArea`.
1137
+ */
1138
+ height?: string | number;
1139
+ /** Espacement entre messages (échelle Tailwind, comme `Layout`). */
1140
+ gap?: LayoutProps['gap'];
1141
+ /** Bloc au-dessus des messages : bouton « Charger les messages plus anciens », bandeau d'info. */
1142
+ header?: ReactNode;
1143
+ /** Bloc sous les messages : indicateur de frappe, séparateur de fin. */
1144
+ footer?: ReactNode;
1145
+ /** Affiché à la place des messages quand `isEmpty`. */
1146
+ emptyState?: ReactNode;
1147
+ isEmpty?: boolean;
1148
+ /** Affiché à la place de tout le contenu pendant le premier chargement. */
1149
+ loadingState?: ReactNode;
1150
+ isLoading?: boolean;
1151
+ /** Descend en bas de liste au montage puis à chaque changement de `scrollKey`. */
1152
+ autoScroll?: boolean;
1153
+ /**
1154
+ * Déclencheur du scroll automatique — typiquement le nombre de messages ou
1155
+ * l'id du dernier. Sans valeur, seul le montage descend en bas.
1156
+ */
1157
+ scrollKey?: string | number;
1158
+ className?: string;
1159
+ }
1160
+ /** Zone scrollable d'une liste de messages : hauteur fixe, espacement, slots haut/bas, états vide/chargement, et scroll automatique en bas à l'arrivée d'un message. */
1161
+ declare const MessageScroller: ({ children, height, gap, header, footer, emptyState, isEmpty, loadingState, isLoading, autoScroll, scrollKey, className, }: MessageScrollerProps) => react.JSX.Element;
1018
1162
 
1019
1163
  interface StepperProps {
1020
1164
  numberOfSteps: number;
@@ -1070,6 +1214,7 @@ declare const DatePicker: ({ mode, value, onChange, startDate, endDate, onRangeC
1070
1214
  * - "weekdayDay": jour court + jour
1071
1215
  * - "weekdayYear": jour court + jour + mois + année
1072
1216
  * - "weekdayTime": jour/date + heure (24h)
1217
+ * - "time": heure seule (24h) (ex: 14:32)
1073
1218
  * - "longDate": jour + mois complet + année, sans jour de semaine (ex: 16 mai 2024)
1074
1219
  * - "dateISO": format ISO YYYY-MM-DD (safe timezone pour le backend)
1075
1220
  */
@@ -1257,4 +1402,4 @@ declare const allowAutofill: (autoComplete: string) => {
1257
1402
  "data-form-type": undefined;
1258
1403
  };
1259
1404
 
1260
- export { Attachment, type AttachmentProps, type AttachmentStatus, Avatar, AvatarBadge, type AvatarBadgeConfig, type AvatarBadgeProps, AvatarFallback, type AvatarFallbackProps, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, Badge, type BadgeProps, Banner, type BannerAction, type BannerProps, type BannerToggle, Box, type BoxProps, Bulk, type BulkProps, type BulkSection, Button, type ButtonColor, type ButtonProps, COLOR_TOKENS, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorKey, ColorPicker, type ColorPickerProps, type ColorToken, DatePicker, type DatePickerMode, type DatePickerProps, type DatePreset, Divider, type DividerProps, Drawer, DrawerBody, DrawerClose, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, type DrawerProps, DrawerTitle, EmailInput, type EmailInputProps, EmptyState, type EmptyStateProps, FileUploadZone, type FileUploadZoneProps, type FloatingAction, FloatingButton, type FloatingButtonProps, Gantt, type GanttBand, type GanttBar, type GanttDay, GanttDot, type GanttProps, type GanttRow, GanttSwatch, Icon, IconBadge, type IconBadgeProps, type IconColor, type IconFamily, type IconProps, type IconSize, type IconTabItem, IconTabs, type IconTabsProps, Image, type ImageProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupProps, type InputProps, Item, ItemActions, ItemContent, ItemDescription, ItemMedia, type ItemMediaProps, type ItemProps, ItemTitle, Label, type LabelProps, Layout, type LayoutProps, Link, type LinkProps, MetricCard, type MetricCardProps, Modal, ModalBody, ModalClose, ModalDescription, ModalFooter, ModalHeader, type ModalProps, ModalTitle, type MultiSelectProps, type OptimizeImageOptions, type OptimizeImageResult, PageContainer, type PageContainerProps, Pagination, type PaginationProps, PasswordInput, type PasswordInputProps, PdfPreview, type PdfPreviewProps, PhoneInput, type PhoneInputMeta, type PhoneInputProps, Popover, type PopoverMenuItem, type PopoverProps, ProgressBar, type ProgressBarProps, Radio, type RadioOption, type RadioProps, ScrollArea, type ScrollAreaProps, SearchInput, type SearchInputProps, Select, type SelectOption, type SelectProps, type SingleSelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, type SpinnerSize, Stepper, type StepperProps, Switch, type SwitchProps, type TabItem, Table, TableCell, type TableCellProps, type TableEmptyState, TableFooter, TableFooterCell, type TableFooterCellProps, type TableFooterProps, TableFooterRow, type TableFooterRowProps, TableHeader, TableHeaderCell, type TableHeaderCellProps, type TableHeaderProps, TableHeaderRow, type TableHeaderRowProps, type TablePagination, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type TabsVariant, TagBubble, type TagBubbleProps, type TagOption, TagSelect, type TagSelectProps, Text, type TextProps, Textarea, type TextareaProps, Timeline, type TimelineItem, type TimelineProps, type ToastOptions, type ToastType, Toaster, Tooltip, type TooltipProps, addBusinessDays, allowAutofill, appendCacheBuster, appendQueryParam, buttonVariants, capitalizeFirstLetter, colors, easterDate, formatAddress, formatCityFromFormattedAddress, formatCityWithPostalCode, formatDate, formatDateWithTime, formatDistance, formatDuration, formatEuro, formatKM, formatLocality, formatName, formatNameWithInitial, formatPhoneNumber, formatPlate, formatPlateWithoutDashes, formatPostalCodeFromFormattedAddress, formatRegionCode, formatTime, formatVin, generateHexColor, getAvatarColor, getCleanFileName, getFileIconByMimeType, getFileKind, getFileNameFromUrl, getInitials, getMimeCategory, getRelativeTime, isHoliday, isSameDay, isolateCity, noAutofillProps, optimizeImage, parseAmount, parseIsoDate, toast, truncateFileName, truncateText, useAvatarSize };
1405
+ export { Attachment, type AttachmentProps, type AttachmentStatus, Avatar, AvatarBadge, type AvatarBadgeConfig, type AvatarBadgeProps, AvatarFallback, type AvatarFallbackProps, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, Badge, type BadgeProps, Banner, type BannerAction, type BannerProps, type BannerToggle, Box, type BoxProps, Bulk, type BulkProps, type BulkSection, Button, type ButtonColor, type ButtonProps, COLOR_TOKENS, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorKey, ColorPicker, type ColorPickerProps, type ColorToken, DatePicker, type DatePickerMode, type DatePickerProps, type DatePreset, Divider, type DividerProps, Drawer, DrawerBody, DrawerClose, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, type DrawerProps, DrawerTitle, EmailInput, type EmailInputProps, EmptyState, type EmptyStateProps, FilePicker, type FilePickerProps, FileUploadZone, type FileUploadZoneProps, type FloatingAction, FloatingButton, type FloatingButtonProps, Gantt, type GanttBand, type GanttBar, type GanttDay, GanttDot, type GanttProps, type GanttRow, GanttSwatch, Icon, IconBadge, type IconBadgeProps, type IconColor, type IconFamily, type IconProps, type IconSize, type IconTabItem, IconTabs, type IconTabsProps, IconTooltip, type IconTooltipProps, Image, type ImageProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupProps, type InputProps, Item, ItemActions, ItemContent, ItemDescription, ItemMedia, type ItemMediaProps, type ItemProps, ItemTitle, Label, type LabelProps, Layout, type LayoutProps, Link, type LinkProps, Message, MessageDateSeparator, type MessageDateSeparatorProps, type MessageProps, MessageScroller, type MessageScrollerProps, type MessageSeparatorTone, type MessageTone, type MessageVariant, MetricCard, type MetricCardProps, Modal, ModalBody, ModalClose, ModalDescription, ModalFooter, ModalHeader, type ModalProps, ModalTitle, type MultiSelectProps, type OptimizeImageOptions, type OptimizeImageResult, PageContainer, type PageContainerProps, Pagination, type PaginationProps, PasswordInput, type PasswordInputProps, PdfPreview, type PdfPreviewProps, PhoneInput, type PhoneInputMeta, type PhoneInputProps, Popover, type PopoverMenuItem, type PopoverProps, ProgressBar, type ProgressBarProps, Radio, type RadioOption, type RadioProps, ScrollArea, type ScrollAreaProps, SearchInput, type SearchInputProps, Select, type SelectOption, type SelectProps, type SingleSelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, type SpinnerSize, Stepper, type StepperProps, Switch, type SwitchProps, type TabItem, Table, TableCell, type TableCellProps, type TableEmptyState, TableFooter, TableFooterCell, type TableFooterCellProps, type TableFooterProps, TableFooterRow, type TableFooterRowProps, TableHeader, TableHeaderCell, type TableHeaderCellProps, type TableHeaderProps, TableHeaderRow, type TableHeaderRowProps, type TablePagination, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type TabsVariant, TagBubble, type TagBubbleProps, type TagOption, TagSelect, type TagSelectProps, Text, type TextProps, Textarea, type TextareaProps, Timeline, type TimelineItem, type TimelineProps, type ToastOptions, type ToastType, Toaster, Tooltip, type TooltipProps, addBusinessDays, allowAutofill, appendCacheBuster, appendQueryParam, buttonVariants, capitalizeFirstLetter, colors, easterDate, formatAddress, formatCityFromFormattedAddress, formatCityWithPostalCode, formatDate, formatDateWithTime, formatDistance, formatDuration, formatEuro, formatKM, formatLocality, formatName, formatNameWithInitial, formatPhoneNumber, formatPlate, formatPlateWithoutDashes, formatPostalCodeFromFormattedAddress, formatRegionCode, formatTime, formatVin, generateHexColor, getAvatarColor, getCleanFileName, getFileIconByMimeType, getFileKind, getFileNameFromUrl, getInitials, getMimeCategory, getRelativeTime, isHoliday, isSameDay, isolateCity, noAutofillProps, optimizeImage, parseAmount, parseIsoDate, toast, truncateFileName, truncateText, useAvatarSize };