design-zystem 1.0.261 → 1.0.263

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
@@ -318,6 +318,8 @@ declare const Link: ({ children, url, newTab, download, size, variant, ...rest }
318
318
  interface AvatarBadge {
319
319
  name: string;
320
320
  family?: 'solid' | 'regular' | 'light' | 'brands';
321
+ backgroundColor?: string;
322
+ iconColor?: string;
321
323
  }
322
324
  interface AvatarProps {
323
325
  name: string;
@@ -893,6 +895,17 @@ interface MetricCardProps {
893
895
  }
894
896
  declare const MetricCard: ({ icon, title, value, valueColor, subtitle, iconBackgroundColor, iconColor, contentLayout, onClick, checked, }: MetricCardProps) => react_jsx_runtime.JSX.Element;
895
897
 
898
+ interface CardProps {
899
+ children?: ReactNode;
900
+ onClick?: (e: MouseEvent<HTMLDivElement>) => void;
901
+ /** Left accent color — e.g. colors.red for 'critique', colors.secondary for 'alerte'. */
902
+ accentColor?: string;
903
+ backgroundColor?: string;
904
+ padding?: string;
905
+ borderRadius?: string;
906
+ }
907
+ declare const Card: ({ children, onClick, accentColor, backgroundColor, padding, borderRadius, }: CardProps) => react_jsx_runtime.JSX.Element;
908
+
896
909
  interface TooltipProps {
897
910
  children?: ReactNode;
898
911
  backgroundColor?: string;
@@ -1162,4 +1175,4 @@ declare const formatKM: (value: string | number | null | undefined) => string;
1162
1175
 
1163
1176
  declare const parseAmount: (value: string) => number | null;
1164
1177
 
1165
- export { Accordion, type AccordionItem, Avatar, Box, Bubble, Bulk, Button, CardSkeleton, Checkbox, Col, Collapse, ColorPicker, DatePicker, type DatePickerProps, type DatePreset, Divider, Drawer, EmptyState, FileUploadZone, type FloatingAction, FloatingButton, type FloatingButtonProps, Grid, Icon, IconTabs, Image, Input, Link, List, ListItem, MetricCard, Modal, ModalConfirmation, MultiSelect, NewModal, Options, PageContainer, Pagination, Popover, ProgressBar, Radio, Row, Select, type SelectOption, type SelectProps, SkeletonRow, SliderInput, type SortOrder, Spinner, Stepper, Switch, Table, TableBody, TableCell, TableFooter, TableFooterCell, TableFooterRow, TableHeader, TableHeaderCell, type TableHeaderCellProps, TableHeaderRow, TableRow, Tabs, TagBubble, Text, Timeline, type TimelineItem, type ToastOptions, type ToastType, Toaster, Tooltip, addBusinessDays, appendCacheBuster, appendQueryParam, 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, optimizeImage, parseAmount, parseIsoDate, toast, truncateFileName, truncateText };
1178
+ export { Accordion, type AccordionItem, Avatar, Box, Bubble, Bulk, Button, Card, type CardProps, CardSkeleton, Checkbox, Col, Collapse, ColorPicker, DatePicker, type DatePickerProps, type DatePreset, Divider, Drawer, EmptyState, FileUploadZone, type FloatingAction, FloatingButton, type FloatingButtonProps, Grid, Icon, IconTabs, Image, Input, Link, List, ListItem, MetricCard, Modal, ModalConfirmation, MultiSelect, NewModal, Options, PageContainer, Pagination, Popover, ProgressBar, Radio, Row, Select, type SelectOption, type SelectProps, SkeletonRow, SliderInput, type SortOrder, Spinner, Stepper, Switch, Table, TableBody, TableCell, TableFooter, TableFooterCell, TableFooterRow, TableHeader, TableHeaderCell, type TableHeaderCellProps, TableHeaderRow, TableRow, Tabs, TagBubble, Text, Timeline, type TimelineItem, type ToastOptions, type ToastType, Toaster, Tooltip, addBusinessDays, appendCacheBuster, appendQueryParam, 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, optimizeImage, parseAmount, parseIsoDate, toast, truncateFileName, truncateText };
package/dist/index.d.ts CHANGED
@@ -318,6 +318,8 @@ declare const Link: ({ children, url, newTab, download, size, variant, ...rest }
318
318
  interface AvatarBadge {
319
319
  name: string;
320
320
  family?: 'solid' | 'regular' | 'light' | 'brands';
321
+ backgroundColor?: string;
322
+ iconColor?: string;
321
323
  }
322
324
  interface AvatarProps {
323
325
  name: string;
@@ -893,6 +895,17 @@ interface MetricCardProps {
893
895
  }
894
896
  declare const MetricCard: ({ icon, title, value, valueColor, subtitle, iconBackgroundColor, iconColor, contentLayout, onClick, checked, }: MetricCardProps) => react_jsx_runtime.JSX.Element;
895
897
 
898
+ interface CardProps {
899
+ children?: ReactNode;
900
+ onClick?: (e: MouseEvent<HTMLDivElement>) => void;
901
+ /** Left accent color — e.g. colors.red for 'critique', colors.secondary for 'alerte'. */
902
+ accentColor?: string;
903
+ backgroundColor?: string;
904
+ padding?: string;
905
+ borderRadius?: string;
906
+ }
907
+ declare const Card: ({ children, onClick, accentColor, backgroundColor, padding, borderRadius, }: CardProps) => react_jsx_runtime.JSX.Element;
908
+
896
909
  interface TooltipProps {
897
910
  children?: ReactNode;
898
911
  backgroundColor?: string;
@@ -1162,4 +1175,4 @@ declare const formatKM: (value: string | number | null | undefined) => string;
1162
1175
 
1163
1176
  declare const parseAmount: (value: string) => number | null;
1164
1177
 
1165
- export { Accordion, type AccordionItem, Avatar, Box, Bubble, Bulk, Button, CardSkeleton, Checkbox, Col, Collapse, ColorPicker, DatePicker, type DatePickerProps, type DatePreset, Divider, Drawer, EmptyState, FileUploadZone, type FloatingAction, FloatingButton, type FloatingButtonProps, Grid, Icon, IconTabs, Image, Input, Link, List, ListItem, MetricCard, Modal, ModalConfirmation, MultiSelect, NewModal, Options, PageContainer, Pagination, Popover, ProgressBar, Radio, Row, Select, type SelectOption, type SelectProps, SkeletonRow, SliderInput, type SortOrder, Spinner, Stepper, Switch, Table, TableBody, TableCell, TableFooter, TableFooterCell, TableFooterRow, TableHeader, TableHeaderCell, type TableHeaderCellProps, TableHeaderRow, TableRow, Tabs, TagBubble, Text, Timeline, type TimelineItem, type ToastOptions, type ToastType, Toaster, Tooltip, addBusinessDays, appendCacheBuster, appendQueryParam, 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, optimizeImage, parseAmount, parseIsoDate, toast, truncateFileName, truncateText };
1178
+ export { Accordion, type AccordionItem, Avatar, Box, Bubble, Bulk, Button, Card, type CardProps, CardSkeleton, Checkbox, Col, Collapse, ColorPicker, DatePicker, type DatePickerProps, type DatePreset, Divider, Drawer, EmptyState, FileUploadZone, type FloatingAction, FloatingButton, type FloatingButtonProps, Grid, Icon, IconTabs, Image, Input, Link, List, ListItem, MetricCard, Modal, ModalConfirmation, MultiSelect, NewModal, Options, PageContainer, Pagination, Popover, ProgressBar, Radio, Row, Select, type SelectOption, type SelectProps, SkeletonRow, SliderInput, type SortOrder, Spinner, Stepper, Switch, Table, TableBody, TableCell, TableFooter, TableFooterCell, TableFooterRow, TableHeader, TableHeaderCell, type TableHeaderCellProps, TableHeaderRow, TableRow, Tabs, TagBubble, Text, Timeline, type TimelineItem, type ToastOptions, type ToastType, Toaster, Tooltip, addBusinessDays, appendCacheBuster, appendQueryParam, 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, optimizeImage, parseAmount, parseIsoDate, toast, truncateFileName, truncateText };
package/dist/index.js CHANGED
@@ -65,6 +65,7 @@ __export(index_exports, {
65
65
  Bubble: () => Bubble,
66
66
  Bulk: () => Bulk,
67
67
  Button: () => Button,
68
+ Card: () => Card2,
68
69
  CardSkeleton: () => CardSkeleton,
69
70
  Checkbox: () => Checkbox,
70
71
  Col: () => Col,
@@ -2107,13 +2108,13 @@ var BadgeSlot = import_styled_components18.default.div`
2107
2108
  display: flex;
2108
2109
  align-items: center;
2109
2110
  justify-content: center;
2110
- background-color: ${colors.white};
2111
+ background-color: ${(props) => colors[props.$bg] || props.$bg};
2111
2112
  border-radius: 50%;
2112
2113
  box-shadow: 0 2px 6px ${colors.blue_950}66;
2113
2114
  line-height: 0;
2114
2115
  `;
2115
2116
  var BadgeIcon = import_styled_components18.default.i`
2116
- color: ${colors.blue_950};
2117
+ color: ${(props) => colors[props.$color] || props.$color};
2117
2118
  font-size: ${(props) => Math.round(props.$size * 0.2)}px;
2118
2119
  line-height: 2;
2119
2120
  `;
@@ -2138,7 +2139,7 @@ var Avatar = ({
2138
2139
  shape = "circle",
2139
2140
  badge
2140
2141
  }) => {
2141
- var _a;
2142
+ var _a, _b, _c;
2142
2143
  const [hasImageError, setHasImageError] = (0, import_react9.useState)(false);
2143
2144
  const resolvedBackground = resolveColor(backgroundColor, colors.grey_300);
2144
2145
  const resolvedText = resolveColor(textColor, colors.dark);
@@ -2165,11 +2166,12 @@ var Avatar = ({
2165
2166
  ) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Initials, { $textColor: resolvedText, $size: size, children: initials })
2166
2167
  }
2167
2168
  ),
2168
- badge && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(BadgeSlot, { $size: size, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2169
+ badge && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(BadgeSlot, { $size: size, $bg: (_a = badge.backgroundColor) != null ? _a : colors.white, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2169
2170
  BadgeIcon,
2170
2171
  {
2171
2172
  $size: size,
2172
- className: `fa-${(_a = badge.family) != null ? _a : "regular"} fa-${badge.name}`
2173
+ $color: (_b = badge.iconColor) != null ? _b : colors.blue_950,
2174
+ className: `fa-${(_c = badge.family) != null ? _c : "regular"} fa-${badge.name}`
2173
2175
  }
2174
2176
  ) })
2175
2177
  ] });
@@ -5141,16 +5143,51 @@ var MetricCard = ({
5141
5143
  );
5142
5144
  };
5143
5145
 
5144
- // src/Components/Tooltip/Tooltip.tsx
5145
- var import_react27 = require("react");
5146
+ // src/Components/Card/Card.tsx
5146
5147
  var import_styled_components44 = __toESM(require("styled-components"));
5147
5148
  var import_jsx_runtime53 = require("react/jsx-runtime");
5148
- var StyledTooltipWrapper = import_styled_components44.default.div`
5149
+ var StyledCard = import_styled_components44.default.div`
5150
+ overflow: hidden;
5151
+ transition: box-shadow 0.15s ease;
5152
+ background-color: ${(p) => p.$backgroundColor};
5153
+ border-radius: ${(p) => p.$borderRadius};
5154
+ ${(p) => p.$accentColor ? `border-left: 2px solid ${p.$accentColor};` : ""}
5155
+ ${(p) => p.$clickable ? "cursor: pointer;" : ""}
5156
+ ${(p) => p.$clickable ? "&:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }" : ""}
5157
+ `;
5158
+ var StyledCardInner = import_styled_components44.default.div`
5159
+ width: 100%;
5160
+ padding: ${(p) => p.$padding};
5161
+ `;
5162
+ var Card2 = ({
5163
+ children,
5164
+ onClick,
5165
+ accentColor,
5166
+ backgroundColor = "#F8FAFC",
5167
+ padding = "10px 12px",
5168
+ borderRadius = "8px"
5169
+ }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5170
+ StyledCard,
5171
+ {
5172
+ $clickable: !!onClick,
5173
+ $backgroundColor: backgroundColor,
5174
+ $borderRadius: borderRadius,
5175
+ $accentColor: accentColor,
5176
+ onClick,
5177
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(StyledCardInner, { $padding: padding, children })
5178
+ }
5179
+ );
5180
+
5181
+ // src/Components/Tooltip/Tooltip.tsx
5182
+ var import_react27 = require("react");
5183
+ var import_styled_components45 = __toESM(require("styled-components"));
5184
+ var import_jsx_runtime54 = require("react/jsx-runtime");
5185
+ var StyledTooltipWrapper = import_styled_components45.default.div`
5149
5186
  position: relative;
5150
5187
  display: inline-block;
5151
5188
  cursor: pointer;
5152
5189
  `;
5153
- var StyledTooltipContent = import_styled_components44.default.div`
5190
+ var StyledTooltipContent = import_styled_components45.default.div`
5154
5191
  visibility: ${(props) => props.$isVisible ? "visible" : "hidden"};
5155
5192
  background-color: ${(props) => props.$backgroundColor || colors.black};
5156
5193
  color: ${colors.white};
@@ -5249,14 +5286,14 @@ var Tooltip = ({
5249
5286
  const [isVisible, setIsVisible] = (0, import_react27.useState)(false);
5250
5287
  const handleMouseEnter = () => setIsVisible(true);
5251
5288
  const handleMouseLeave = () => setIsVisible(false);
5252
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
5289
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
5253
5290
  StyledTooltipWrapper,
5254
5291
  {
5255
5292
  onMouseEnter: handleMouseEnter,
5256
5293
  onMouseLeave: handleMouseLeave,
5257
5294
  children: [
5258
5295
  children,
5259
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5296
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5260
5297
  StyledTooltipContent,
5261
5298
  {
5262
5299
  $isVisible: isVisible,
@@ -5264,7 +5301,7 @@ var Tooltip = ({
5264
5301
  $width: width,
5265
5302
  $height: height,
5266
5303
  $direction: direction,
5267
- children: data.length > 0 ? data.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { size: "s", color: "white", children: item }, index)) : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { size: "s", color: "white", children: "Aucune donn\xE9e" })
5304
+ children: data.length > 0 ? data.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Text, { size: "s", color: "white", children: item }, index)) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Text, { size: "s", color: "white", children: "Aucune donn\xE9e" })
5268
5305
  }
5269
5306
  )
5270
5307
  ]
@@ -5274,7 +5311,7 @@ var Tooltip = ({
5274
5311
 
5275
5312
  // src/Components/Pagination/Pagination.tsx
5276
5313
  var import_react28 = require("react");
5277
- var import_jsx_runtime54 = require("react/jsx-runtime");
5314
+ var import_jsx_runtime55 = require("react/jsx-runtime");
5278
5315
  var getPageNumbers = (current, total) => {
5279
5316
  if (total <= 5) {
5280
5317
  return Array.from({ length: total }, (_, i) => i + 1);
@@ -5304,15 +5341,15 @@ var Pagination = ({
5304
5341
  const startItem = (currentPage - 1) * itemsPerPage + 1;
5305
5342
  const endItem = Math.min(currentPage * itemsPerPage, totalItems);
5306
5343
  const summary = summaryLabel || defaultSummary(startItem, endItem, totalItems);
5307
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
5344
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
5308
5345
  Row,
5309
5346
  {
5310
5347
  justifyContent: showSummary ? "space-between" : "flex-end",
5311
5348
  alignItems: "center",
5312
5349
  children: [
5313
- showSummary && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Text, { size: "s", color: colors.grey_500, children: summary }),
5314
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Row, { gap: "4", alignItems: "center", style: { width: "fit-content" }, children: [
5315
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5350
+ showSummary && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "s", color: colors.grey_500, children: summary }),
5351
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Row, { gap: "4", alignItems: "center", style: { width: "fit-content" }, children: [
5352
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5316
5353
  Button,
5317
5354
  {
5318
5355
  size: "xs",
@@ -5323,7 +5360,7 @@ var Pagination = ({
5323
5360
  }
5324
5361
  ),
5325
5362
  pages.map(
5326
- (page, index) => page === "..." ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Text, { size: "s", color: colors.grey_500, children: "..." }, `ellipsis-${index}`) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5363
+ (page, index) => page === "..." ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "s", color: colors.grey_500, children: "..." }, `ellipsis-${index}`) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5327
5364
  Button,
5328
5365
  {
5329
5366
  size: "xs",
@@ -5334,7 +5371,7 @@ var Pagination = ({
5334
5371
  page
5335
5372
  )
5336
5373
  ),
5337
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5374
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5338
5375
  Button,
5339
5376
  {
5340
5377
  size: "xs",
@@ -5352,8 +5389,8 @@ var Pagination = ({
5352
5389
 
5353
5390
  // src/Components/FileUploadZone/FileUploadZone.tsx
5354
5391
  var import_react29 = require("react");
5355
- var import_styled_components45 = __toESM(require("styled-components"));
5356
- var import_jsx_runtime55 = require("react/jsx-runtime");
5392
+ var import_styled_components46 = __toESM(require("styled-components"));
5393
+ var import_jsx_runtime56 = require("react/jsx-runtime");
5357
5394
  var ACCEPT_MAP = {
5358
5395
  png: "image/png",
5359
5396
  jpg: "image/jpeg",
@@ -5369,7 +5406,7 @@ var getMimeTypes = (accept) => {
5369
5406
  return accept.map((ext) => ACCEPT_MAP[ext.toLowerCase()] || ext);
5370
5407
  };
5371
5408
  var isPdf = (type) => type === "application/pdf";
5372
- var StyledDropZone = import_styled_components45.default.label`
5409
+ var StyledDropZone = import_styled_components46.default.label`
5373
5410
  display: flex;
5374
5411
  flex-direction: column;
5375
5412
  align-items: center;
@@ -5393,7 +5430,7 @@ var StyledDropZone = import_styled_components45.default.label`
5393
5430
  border-color: ${(p) => p.$disabled ? colors.blue_50 : colors.blue_100};
5394
5431
  }
5395
5432
  `;
5396
- var StyledPreview = import_styled_components45.default.div`
5433
+ var StyledPreview = import_styled_components46.default.div`
5397
5434
  display: flex;
5398
5435
  flex-direction: column;
5399
5436
  align-items: center;
@@ -5404,18 +5441,18 @@ var StyledPreview = import_styled_components45.default.div`
5404
5441
  width: ${(p) => p.$fullWidth ? "100%" : "auto"};
5405
5442
  box-sizing: border-box;
5406
5443
  `;
5407
- var StyledImage2 = import_styled_components45.default.img`
5444
+ var StyledImage2 = import_styled_components46.default.img`
5408
5445
  max-width: 100%;
5409
5446
  max-height: 400px;
5410
5447
  border-radius: 4px;
5411
5448
  object-fit: contain;
5412
5449
  `;
5413
- var StyledEmbed = import_styled_components45.default.embed`
5450
+ var StyledEmbed = import_styled_components46.default.embed`
5414
5451
  width: 100%;
5415
5452
  height: 500px;
5416
5453
  border-radius: 4px;
5417
5454
  `;
5418
- var HiddenInput2 = import_styled_components45.default.input`
5455
+ var HiddenInput2 = import_styled_components46.default.input`
5419
5456
  display: none;
5420
5457
  `;
5421
5458
  var FileUploadZone = ({
@@ -5551,9 +5588,9 @@ var FileUploadZone = ({
5551
5588
  onRemove == null ? void 0 : onRemove();
5552
5589
  };
5553
5590
  if (previewUrl) {
5554
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(StyledPreview, { $fullWidth: fullWidth, children: [
5555
- fileType && isPdf(fileType) ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(StyledEmbed, { src: previewUrl, type: "application/pdf" }) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(StyledImage2, { src: previewUrl, alt: "Aper\xE7u du fichier" }),
5556
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Row, { gap: "8", justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5591
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(StyledPreview, { $fullWidth: fullWidth, children: [
5592
+ fileType && isPdf(fileType) ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StyledEmbed, { src: previewUrl, type: "application/pdf" }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StyledImage2, { src: previewUrl, alt: "Aper\xE7u du fichier" }),
5593
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Row, { gap: "8", justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5557
5594
  Button,
5558
5595
  {
5559
5596
  onClick: handleRemove,
@@ -5567,8 +5604,8 @@ var FileUploadZone = ({
5567
5604
  }
5568
5605
  const showIcon = icon !== false;
5569
5606
  const showBrowse = !compact && browseLabel !== false;
5570
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Col, { gap: "4", fullWidth, children: [
5571
- /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
5607
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Col, { gap: "4", fullWidth, children: [
5608
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
5572
5609
  StyledDropZone,
5573
5610
  {
5574
5611
  $isDragging: isDragging,
@@ -5579,7 +5616,7 @@ var FileUploadZone = ({
5579
5616
  onDragLeave: handleDragLeave,
5580
5617
  onDrop: handleDrop,
5581
5618
  children: [
5582
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5619
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5583
5620
  HiddenInput2,
5584
5621
  {
5585
5622
  ref: inputRef,
@@ -5590,7 +5627,7 @@ var FileUploadZone = ({
5590
5627
  multiple
5591
5628
  }
5592
5629
  ),
5593
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5630
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5594
5631
  Icon,
5595
5632
  {
5596
5633
  name: icon,
@@ -5599,9 +5636,9 @@ var FileUploadZone = ({
5599
5636
  color: "blue_700"
5600
5637
  }
5601
5638
  ),
5602
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "s", variant: "grey_600", align: "center", children: label }),
5603
- showBrowse && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "xs", variant: "grey_600", align: "center", children: "ou" }),
5604
- showBrowse && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5639
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Text, { size: "s", variant: "grey_600", align: "center", children: label }),
5640
+ showBrowse && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Text, { size: "xs", variant: "grey_600", align: "center", children: "ou" }),
5641
+ showBrowse && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5605
5642
  Button,
5606
5643
  {
5607
5644
  outline: true,
@@ -5614,31 +5651,31 @@ var FileUploadZone = ({
5614
5651
  }
5615
5652
  }
5616
5653
  ),
5617
- sublabel && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "xs", variant: "grey_500", align: "center", children: sublabel })
5654
+ sublabel && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Text, { size: "xs", variant: "grey_500", align: "center", children: sublabel })
5618
5655
  ]
5619
5656
  }
5620
5657
  ),
5621
- showFileName && fileName && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Row, { gap: "8", alignItems: "center", justifyContent: "center", children: [
5622
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Icon, { name: "file", size: "s", color: "green_700" }),
5623
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "s", color: "green_700", children: fileName })
5658
+ showFileName && fileName && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Row, { gap: "8", alignItems: "center", justifyContent: "center", children: [
5659
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Icon, { name: "file", size: "s", color: "green_700" }),
5660
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Text, { size: "s", color: "green_700", children: fileName })
5624
5661
  ] }),
5625
- inlineError && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "s", color: "danger", align: "center", children: inlineError })
5662
+ inlineError && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Text, { size: "s", color: "danger", align: "center", children: inlineError })
5626
5663
  ] });
5627
5664
  };
5628
5665
 
5629
5666
  // src/Components/Spinner/Spinner.tsx
5630
- var import_styled_components46 = __toESM(require("styled-components"));
5631
- var import_jsx_runtime56 = require("react/jsx-runtime");
5667
+ var import_styled_components47 = __toESM(require("styled-components"));
5668
+ var import_jsx_runtime57 = require("react/jsx-runtime");
5632
5669
  var SIZES3 = {
5633
5670
  s: 20,
5634
5671
  m: 32,
5635
5672
  l: 48
5636
5673
  };
5637
- var spin = import_styled_components46.keyframes`
5674
+ var spin = import_styled_components47.keyframes`
5638
5675
  0% { transform: rotate(0deg); }
5639
5676
  100% { transform: rotate(360deg); }
5640
5677
  `;
5641
- var StyledSpinner = import_styled_components46.default.span`
5678
+ var StyledSpinner = import_styled_components47.default.span`
5642
5679
  display: inline-block;
5643
5680
  width: ${(p) => p.$size}px;
5644
5681
  height: ${(p) => p.$size}px;
@@ -5651,7 +5688,7 @@ var StyledSpinner = import_styled_components46.default.span`
5651
5688
  var Spinner = ({ size = "m", color = "primary" }) => {
5652
5689
  const resolvedSize = SIZES3[size];
5653
5690
  const resolvedColor = colors[color] || color || colors.primary;
5654
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5691
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5655
5692
  StyledSpinner,
5656
5693
  {
5657
5694
  $size: resolvedSize,
@@ -5663,7 +5700,7 @@ var Spinner = ({ size = "m", color = "primary" }) => {
5663
5700
  };
5664
5701
 
5665
5702
  // src/Components/EmptyState/EmptyState.tsx
5666
- var import_jsx_runtime57 = require("react/jsx-runtime");
5703
+ var import_jsx_runtime58 = require("react/jsx-runtime");
5667
5704
  var EmptyState = ({
5668
5705
  icon = "inbox",
5669
5706
  title = "Aucun r\xE9sultat",
@@ -5671,7 +5708,7 @@ var EmptyState = ({
5671
5708
  actionLabel,
5672
5709
  onAction
5673
5710
  }) => {
5674
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
5711
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
5675
5712
  Col,
5676
5713
  {
5677
5714
  fullWidth: true,
@@ -5680,20 +5717,20 @@ var EmptyState = ({
5680
5717
  gap: "24",
5681
5718
  padding: "24px 16px",
5682
5719
  children: [
5683
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Icon, { name: icon, family: "solid", size: "xxl", color: "grey_300" }),
5684
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Col, { alignItems: "center", gap: "4", style: { maxWidth: "360px" }, children: [
5685
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Text, { size: "m", weight: "600", variant: "grey_600", align: "center", children: title }),
5686
- description && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Text, { size: "s", variant: "grey_500", align: "center", children: description })
5720
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Icon, { name: icon, family: "solid", size: "xxl", color: "grey_300" }),
5721
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Col, { alignItems: "center", gap: "4", style: { maxWidth: "360px" }, children: [
5722
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text, { size: "m", weight: "600", variant: "grey_600", align: "center", children: title }),
5723
+ description && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text, { size: "s", variant: "grey_500", align: "center", children: description })
5687
5724
  ] }),
5688
- actionLabel && onAction && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Button, { label: actionLabel, onClick: onAction })
5725
+ actionLabel && onAction && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Button, { label: actionLabel, onClick: onAction })
5689
5726
  ]
5690
5727
  }
5691
5728
  );
5692
5729
  };
5693
5730
 
5694
5731
  // src/Components/FloatingButton/FloatingButton.tsx
5695
- var import_styled_components47 = __toESM(require("styled-components"));
5696
- var import_jsx_runtime58 = require("react/jsx-runtime");
5732
+ var import_styled_components48 = __toESM(require("styled-components"));
5733
+ var import_jsx_runtime59 = require("react/jsx-runtime");
5697
5734
  var FloatingButton = ({
5698
5735
  isOpen,
5699
5736
  onToggle,
@@ -5705,10 +5742,10 @@ var FloatingButton = ({
5705
5742
  variant = "blue_700"
5706
5743
  }) => {
5707
5744
  const accent = colors[variant];
5708
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Container6, { children: [
5745
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Container6, { children: [
5709
5746
  actions.map((action, index) => {
5710
5747
  var _a;
5711
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
5748
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
5712
5749
  SubButton,
5713
5750
  {
5714
5751
  type: "button",
@@ -5717,14 +5754,14 @@ var FloatingButton = ({
5717
5754
  $transform: arcTransform(index, actions.length),
5718
5755
  onClick: action.onClick,
5719
5756
  children: [
5720
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Icon, { name: action.icon, family: "regular", size: "s", color: accent }),
5721
- ((_a = action.badge) != null ? _a : 0) > 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(CountBadge, { children: action.badge })
5757
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Icon, { name: action.icon, family: "regular", size: "s", color: accent }),
5758
+ ((_a = action.badge) != null ? _a : 0) > 0 && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(CountBadge, { children: action.badge })
5722
5759
  ]
5723
5760
  },
5724
5761
  action.id
5725
5762
  );
5726
5763
  }),
5727
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
5764
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
5728
5765
  MainButton,
5729
5766
  {
5730
5767
  type: "button",
@@ -5733,7 +5770,7 @@ var FloatingButton = ({
5733
5770
  $accent: accent,
5734
5771
  onClick: onToggle,
5735
5772
  children: [
5736
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5773
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
5737
5774
  Icon,
5738
5775
  {
5739
5776
  name: isOpen ? openIcon : icon,
@@ -5742,7 +5779,7 @@ var FloatingButton = ({
5742
5779
  color: colors.white
5743
5780
  }
5744
5781
  ),
5745
- !isOpen && mainBadge > 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(CountBadge, { children: mainBadge })
5782
+ !isOpen && mainBadge > 0 && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(CountBadge, { children: mainBadge })
5746
5783
  ]
5747
5784
  }
5748
5785
  )
@@ -5761,7 +5798,7 @@ var arcTransform = (index, total) => {
5761
5798
  const y = Math.round(-Math.sin(angle) * ARC_RADIUS);
5762
5799
  return `translate(${x}px, ${y}px)`;
5763
5800
  };
5764
- var Container6 = import_styled_components47.default.div`
5801
+ var Container6 = import_styled_components48.default.div`
5765
5802
  position: fixed;
5766
5803
  right: 32px;
5767
5804
  bottom: 32px;
@@ -5769,7 +5806,7 @@ var Container6 = import_styled_components47.default.div`
5769
5806
  height: ${FAB_SIZE}px;
5770
5807
  z-index: 1000;
5771
5808
  `;
5772
- var MainButton = import_styled_components47.default.button`
5809
+ var MainButton = import_styled_components48.default.button`
5773
5810
  position: absolute;
5774
5811
  inset: 0;
5775
5812
  display: flex;
@@ -5783,7 +5820,7 @@ var MainButton = import_styled_components47.default.button`
5783
5820
  0 8px 5px rgba(0, 0, 0, 0.1),
5784
5821
  0 20px 12.5px rgba(0, 0, 0, 0.1);
5785
5822
  `;
5786
- var SubButton = import_styled_components47.default.button`
5823
+ var SubButton = import_styled_components48.default.button`
5787
5824
  position: absolute;
5788
5825
  left: ${(FAB_SIZE - SUB_SIZE) / 2}px;
5789
5826
  top: ${(FAB_SIZE - SUB_SIZE) / 2}px;
@@ -5806,7 +5843,7 @@ var SubButton = import_styled_components47.default.button`
5806
5843
  opacity: ${({ $isOpen }) => $isOpen ? 1 : 0};
5807
5844
  pointer-events: ${({ $isOpen }) => $isOpen ? "auto" : "none"};
5808
5845
  `;
5809
- var CountBadge = import_styled_components47.default.span`
5846
+ var CountBadge = import_styled_components48.default.span`
5810
5847
  position: absolute;
5811
5848
  top: -4px;
5812
5849
  right: -4px;
@@ -5824,16 +5861,16 @@ var CountBadge = import_styled_components47.default.span`
5824
5861
  `;
5825
5862
 
5826
5863
  // src/Components/ProgressBar/ProgressBar.tsx
5827
- var import_styled_components48 = __toESM(require("styled-components"));
5828
- var import_jsx_runtime59 = require("react/jsx-runtime");
5864
+ var import_styled_components49 = __toESM(require("styled-components"));
5865
+ var import_jsx_runtime60 = require("react/jsx-runtime");
5829
5866
  var clampPercent = (value) => Math.max(0, Math.min(100, value));
5830
- var Wrapper6 = import_styled_components48.default.div`
5867
+ var Wrapper6 = import_styled_components49.default.div`
5831
5868
  display: flex;
5832
5869
  align-items: center;
5833
5870
  gap: 8px;
5834
5871
  width: 100%;
5835
5872
  `;
5836
- var Track2 = import_styled_components48.default.div`
5873
+ var Track2 = import_styled_components49.default.div`
5837
5874
  position: relative;
5838
5875
  flex: 1;
5839
5876
  height: ${({ $height }) => $height}px;
@@ -5841,7 +5878,7 @@ var Track2 = import_styled_components48.default.div`
5841
5878
  border-radius: ${({ $height }) => $height}px;
5842
5879
  overflow: hidden;
5843
5880
  `;
5844
- var Fill = import_styled_components48.default.div`
5881
+ var Fill = import_styled_components49.default.div`
5845
5882
  height: 100%;
5846
5883
  width: ${({ $percent }) => $percent}%;
5847
5884
  background: ${({ $color }) => $color};
@@ -5856,9 +5893,9 @@ var ProgressBar2 = ({
5856
5893
  showLabel = false
5857
5894
  }) => {
5858
5895
  const percent = clampPercent(value);
5859
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Wrapper6, { children: [
5860
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Track2, { $height: height, $trackColor: trackColor, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Fill, { $height: height, $color: color, $percent: percent }) }),
5861
- showLabel && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Text, { size: "s", weight: "600", children: [
5896
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Wrapper6, { children: [
5897
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Track2, { $height: height, $trackColor: trackColor, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Fill, { $height: height, $color: color, $percent: percent }) }),
5898
+ showLabel && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Text, { size: "s", weight: "600", children: [
5862
5899
  Math.round(percent),
5863
5900
  " %"
5864
5901
  ] })
@@ -5866,24 +5903,24 @@ var ProgressBar2 = ({
5866
5903
  };
5867
5904
 
5868
5905
  // src/Components/Timeline/Timeline.tsx
5869
- var import_styled_components49 = __toESM(require("styled-components"));
5870
- var import_jsx_runtime60 = require("react/jsx-runtime");
5871
- var List2 = import_styled_components49.default.div`
5906
+ var import_styled_components50 = __toESM(require("styled-components"));
5907
+ var import_jsx_runtime61 = require("react/jsx-runtime");
5908
+ var List2 = import_styled_components50.default.div`
5872
5909
  display: flex;
5873
5910
  flex-direction: column;
5874
5911
  `;
5875
- var Item2 = import_styled_components49.default.div`
5912
+ var Item2 = import_styled_components50.default.div`
5876
5913
  display: flex;
5877
5914
  gap: 12px;
5878
5915
  align-items: stretch;
5879
5916
  `;
5880
- var Rail = import_styled_components49.default.div`
5917
+ var Rail = import_styled_components50.default.div`
5881
5918
  display: flex;
5882
5919
  flex-direction: column;
5883
5920
  align-items: center;
5884
5921
  width: 16px;
5885
5922
  `;
5886
- var Dot2 = import_styled_components49.default.div`
5923
+ var Dot2 = import_styled_components50.default.div`
5887
5924
  width: 10px;
5888
5925
  height: 10px;
5889
5926
  border-radius: 50%;
@@ -5891,13 +5928,13 @@ var Dot2 = import_styled_components49.default.div`
5891
5928
  flex: 0 0 auto;
5892
5929
  background: ${({ $color }) => $color};
5893
5930
  `;
5894
- var Line = import_styled_components49.default.div`
5931
+ var Line = import_styled_components50.default.div`
5895
5932
  width: 2px;
5896
5933
  flex: 1;
5897
5934
  min-height: 16px;
5898
5935
  background: ${({ $color }) => $color};
5899
5936
  `;
5900
- var Content2 = import_styled_components49.default.div`
5937
+ var Content2 = import_styled_components50.default.div`
5901
5938
  display: flex;
5902
5939
  flex-direction: column;
5903
5940
  gap: 2px;
@@ -5909,21 +5946,21 @@ var Timeline = ({
5909
5946
  emptyLabel = "Aucun \xE9v\xE9nement"
5910
5947
  }) => {
5911
5948
  if (items.length === 0) {
5912
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Text, { size: "s", color: colors.grey_600, children: emptyLabel });
5949
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Text, { size: "s", color: colors.grey_600, children: emptyLabel });
5913
5950
  }
5914
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(List2, { children: items.map((item, index) => {
5951
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(List2, { children: items.map((item, index) => {
5915
5952
  var _a;
5916
5953
  const isLast = index === items.length - 1;
5917
5954
  const dotColor = (_a = item.color) != null ? _a : colors.blue_700;
5918
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Item2, { children: [
5919
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Rail, { children: [
5920
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Dot2, { $color: dotColor }),
5921
- !isLast && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Line, { $color: lineColor })
5955
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Item2, { children: [
5956
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Rail, { children: [
5957
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Dot2, { $color: dotColor }),
5958
+ !isLast && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Line, { $color: lineColor })
5922
5959
  ] }),
5923
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Content2, { $last: isLast, children: [
5924
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Text, { size: "s", weight: item.highlighted ? "700" : "600", children: item.title }),
5925
- item.subtitle && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Text, { size: "xs", color: colors.grey_600, children: item.subtitle }),
5926
- item.description && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Text, { size: "xs", fontStyle: "italic", children: item.description })
5960
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Content2, { $last: isLast, children: [
5961
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Text, { size: "s", weight: item.highlighted ? "700" : "600", children: item.title }),
5962
+ item.subtitle && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Text, { size: "xs", color: colors.grey_600, children: item.subtitle }),
5963
+ item.description && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Text, { size: "xs", fontStyle: "italic", children: item.description })
5927
5964
  ] })
5928
5965
  ] }, item.id);
5929
5966
  }) });
@@ -6556,6 +6593,7 @@ var parseAmount = (value) => {
6556
6593
  Bubble,
6557
6594
  Bulk,
6558
6595
  Button,
6596
+ Card,
6559
6597
  CardSkeleton,
6560
6598
  Checkbox,
6561
6599
  Col,
package/dist/index.mjs CHANGED
@@ -1973,13 +1973,13 @@ var BadgeSlot = styled18.div`
1973
1973
  display: flex;
1974
1974
  align-items: center;
1975
1975
  justify-content: center;
1976
- background-color: ${colors.white};
1976
+ background-color: ${(props) => colors[props.$bg] || props.$bg};
1977
1977
  border-radius: 50%;
1978
1978
  box-shadow: 0 2px 6px ${colors.blue_950}66;
1979
1979
  line-height: 0;
1980
1980
  `;
1981
1981
  var BadgeIcon = styled18.i`
1982
- color: ${colors.blue_950};
1982
+ color: ${(props) => colors[props.$color] || props.$color};
1983
1983
  font-size: ${(props) => Math.round(props.$size * 0.2)}px;
1984
1984
  line-height: 2;
1985
1985
  `;
@@ -2004,7 +2004,7 @@ var Avatar = ({
2004
2004
  shape = "circle",
2005
2005
  badge
2006
2006
  }) => {
2007
- var _a;
2007
+ var _a, _b, _c;
2008
2008
  const [hasImageError, setHasImageError] = useState5(false);
2009
2009
  const resolvedBackground = resolveColor(backgroundColor, colors.grey_300);
2010
2010
  const resolvedText = resolveColor(textColor, colors.dark);
@@ -2031,11 +2031,12 @@ var Avatar = ({
2031
2031
  ) : /* @__PURE__ */ jsx22(Initials, { $textColor: resolvedText, $size: size, children: initials })
2032
2032
  }
2033
2033
  ),
2034
- badge && /* @__PURE__ */ jsx22(BadgeSlot, { $size: size, children: /* @__PURE__ */ jsx22(
2034
+ badge && /* @__PURE__ */ jsx22(BadgeSlot, { $size: size, $bg: (_a = badge.backgroundColor) != null ? _a : colors.white, children: /* @__PURE__ */ jsx22(
2035
2035
  BadgeIcon,
2036
2036
  {
2037
2037
  $size: size,
2038
- className: `fa-${(_a = badge.family) != null ? _a : "regular"} fa-${badge.name}`
2038
+ $color: (_b = badge.iconColor) != null ? _b : colors.blue_950,
2039
+ className: `fa-${(_c = badge.family) != null ? _c : "regular"} fa-${badge.name}`
2039
2040
  }
2040
2041
  ) })
2041
2042
  ] });
@@ -5027,16 +5028,51 @@ var MetricCard = ({
5027
5028
  );
5028
5029
  };
5029
5030
 
5031
+ // src/Components/Card/Card.tsx
5032
+ import styled44 from "styled-components";
5033
+ import { jsx as jsx53 } from "react/jsx-runtime";
5034
+ var StyledCard = styled44.div`
5035
+ overflow: hidden;
5036
+ transition: box-shadow 0.15s ease;
5037
+ background-color: ${(p) => p.$backgroundColor};
5038
+ border-radius: ${(p) => p.$borderRadius};
5039
+ ${(p) => p.$accentColor ? `border-left: 2px solid ${p.$accentColor};` : ""}
5040
+ ${(p) => p.$clickable ? "cursor: pointer;" : ""}
5041
+ ${(p) => p.$clickable ? "&:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }" : ""}
5042
+ `;
5043
+ var StyledCardInner = styled44.div`
5044
+ width: 100%;
5045
+ padding: ${(p) => p.$padding};
5046
+ `;
5047
+ var Card2 = ({
5048
+ children,
5049
+ onClick,
5050
+ accentColor,
5051
+ backgroundColor = "#F8FAFC",
5052
+ padding = "10px 12px",
5053
+ borderRadius = "8px"
5054
+ }) => /* @__PURE__ */ jsx53(
5055
+ StyledCard,
5056
+ {
5057
+ $clickable: !!onClick,
5058
+ $backgroundColor: backgroundColor,
5059
+ $borderRadius: borderRadius,
5060
+ $accentColor: accentColor,
5061
+ onClick,
5062
+ children: /* @__PURE__ */ jsx53(StyledCardInner, { $padding: padding, children })
5063
+ }
5064
+ );
5065
+
5030
5066
  // src/Components/Tooltip/Tooltip.tsx
5031
5067
  import { useState as useState17 } from "react";
5032
- import styled44 from "styled-components";
5033
- import { jsx as jsx53, jsxs as jsxs28 } from "react/jsx-runtime";
5034
- var StyledTooltipWrapper = styled44.div`
5068
+ import styled45 from "styled-components";
5069
+ import { jsx as jsx54, jsxs as jsxs28 } from "react/jsx-runtime";
5070
+ var StyledTooltipWrapper = styled45.div`
5035
5071
  position: relative;
5036
5072
  display: inline-block;
5037
5073
  cursor: pointer;
5038
5074
  `;
5039
- var StyledTooltipContent = styled44.div`
5075
+ var StyledTooltipContent = styled45.div`
5040
5076
  visibility: ${(props) => props.$isVisible ? "visible" : "hidden"};
5041
5077
  background-color: ${(props) => props.$backgroundColor || colors.black};
5042
5078
  color: ${colors.white};
@@ -5142,7 +5178,7 @@ var Tooltip = ({
5142
5178
  onMouseLeave: handleMouseLeave,
5143
5179
  children: [
5144
5180
  children,
5145
- /* @__PURE__ */ jsx53(
5181
+ /* @__PURE__ */ jsx54(
5146
5182
  StyledTooltipContent,
5147
5183
  {
5148
5184
  $isVisible: isVisible,
@@ -5150,7 +5186,7 @@ var Tooltip = ({
5150
5186
  $width: width,
5151
5187
  $height: height,
5152
5188
  $direction: direction,
5153
- children: data.length > 0 ? data.map((item, index) => /* @__PURE__ */ jsx53(Text, { size: "s", color: "white", children: item }, index)) : /* @__PURE__ */ jsx53(Text, { size: "s", color: "white", children: "Aucune donn\xE9e" })
5189
+ children: data.length > 0 ? data.map((item, index) => /* @__PURE__ */ jsx54(Text, { size: "s", color: "white", children: item }, index)) : /* @__PURE__ */ jsx54(Text, { size: "s", color: "white", children: "Aucune donn\xE9e" })
5154
5190
  }
5155
5191
  )
5156
5192
  ]
@@ -5160,7 +5196,7 @@ var Tooltip = ({
5160
5196
 
5161
5197
  // src/Components/Pagination/Pagination.tsx
5162
5198
  import { useMemo as useMemo2 } from "react";
5163
- import { jsx as jsx54, jsxs as jsxs29 } from "react/jsx-runtime";
5199
+ import { jsx as jsx55, jsxs as jsxs29 } from "react/jsx-runtime";
5164
5200
  var getPageNumbers = (current, total) => {
5165
5201
  if (total <= 5) {
5166
5202
  return Array.from({ length: total }, (_, i) => i + 1);
@@ -5196,9 +5232,9 @@ var Pagination = ({
5196
5232
  justifyContent: showSummary ? "space-between" : "flex-end",
5197
5233
  alignItems: "center",
5198
5234
  children: [
5199
- showSummary && /* @__PURE__ */ jsx54(Text, { size: "s", color: colors.grey_500, children: summary }),
5235
+ showSummary && /* @__PURE__ */ jsx55(Text, { size: "s", color: colors.grey_500, children: summary }),
5200
5236
  /* @__PURE__ */ jsxs29(Row, { gap: "4", alignItems: "center", style: { width: "fit-content" }, children: [
5201
- /* @__PURE__ */ jsx54(
5237
+ /* @__PURE__ */ jsx55(
5202
5238
  Button,
5203
5239
  {
5204
5240
  size: "xs",
@@ -5209,7 +5245,7 @@ var Pagination = ({
5209
5245
  }
5210
5246
  ),
5211
5247
  pages.map(
5212
- (page, index) => page === "..." ? /* @__PURE__ */ jsx54(Text, { size: "s", color: colors.grey_500, children: "..." }, `ellipsis-${index}`) : /* @__PURE__ */ jsx54(
5248
+ (page, index) => page === "..." ? /* @__PURE__ */ jsx55(Text, { size: "s", color: colors.grey_500, children: "..." }, `ellipsis-${index}`) : /* @__PURE__ */ jsx55(
5213
5249
  Button,
5214
5250
  {
5215
5251
  size: "xs",
@@ -5220,7 +5256,7 @@ var Pagination = ({
5220
5256
  page
5221
5257
  )
5222
5258
  ),
5223
- /* @__PURE__ */ jsx54(
5259
+ /* @__PURE__ */ jsx55(
5224
5260
  Button,
5225
5261
  {
5226
5262
  size: "xs",
@@ -5238,8 +5274,8 @@ var Pagination = ({
5238
5274
 
5239
5275
  // src/Components/FileUploadZone/FileUploadZone.tsx
5240
5276
  import { useState as useState18, useRef as useRef13, useCallback as useCallback6 } from "react";
5241
- import styled45 from "styled-components";
5242
- import { jsx as jsx55, jsxs as jsxs30 } from "react/jsx-runtime";
5277
+ import styled46 from "styled-components";
5278
+ import { jsx as jsx56, jsxs as jsxs30 } from "react/jsx-runtime";
5243
5279
  var ACCEPT_MAP = {
5244
5280
  png: "image/png",
5245
5281
  jpg: "image/jpeg",
@@ -5255,7 +5291,7 @@ var getMimeTypes = (accept) => {
5255
5291
  return accept.map((ext) => ACCEPT_MAP[ext.toLowerCase()] || ext);
5256
5292
  };
5257
5293
  var isPdf = (type) => type === "application/pdf";
5258
- var StyledDropZone = styled45.label`
5294
+ var StyledDropZone = styled46.label`
5259
5295
  display: flex;
5260
5296
  flex-direction: column;
5261
5297
  align-items: center;
@@ -5279,7 +5315,7 @@ var StyledDropZone = styled45.label`
5279
5315
  border-color: ${(p) => p.$disabled ? colors.blue_50 : colors.blue_100};
5280
5316
  }
5281
5317
  `;
5282
- var StyledPreview = styled45.div`
5318
+ var StyledPreview = styled46.div`
5283
5319
  display: flex;
5284
5320
  flex-direction: column;
5285
5321
  align-items: center;
@@ -5290,18 +5326,18 @@ var StyledPreview = styled45.div`
5290
5326
  width: ${(p) => p.$fullWidth ? "100%" : "auto"};
5291
5327
  box-sizing: border-box;
5292
5328
  `;
5293
- var StyledImage2 = styled45.img`
5329
+ var StyledImage2 = styled46.img`
5294
5330
  max-width: 100%;
5295
5331
  max-height: 400px;
5296
5332
  border-radius: 4px;
5297
5333
  object-fit: contain;
5298
5334
  `;
5299
- var StyledEmbed = styled45.embed`
5335
+ var StyledEmbed = styled46.embed`
5300
5336
  width: 100%;
5301
5337
  height: 500px;
5302
5338
  border-radius: 4px;
5303
5339
  `;
5304
- var HiddenInput2 = styled45.input`
5340
+ var HiddenInput2 = styled46.input`
5305
5341
  display: none;
5306
5342
  `;
5307
5343
  var FileUploadZone = ({
@@ -5438,8 +5474,8 @@ var FileUploadZone = ({
5438
5474
  };
5439
5475
  if (previewUrl) {
5440
5476
  return /* @__PURE__ */ jsxs30(StyledPreview, { $fullWidth: fullWidth, children: [
5441
- fileType && isPdf(fileType) ? /* @__PURE__ */ jsx55(StyledEmbed, { src: previewUrl, type: "application/pdf" }) : /* @__PURE__ */ jsx55(StyledImage2, { src: previewUrl, alt: "Aper\xE7u du fichier" }),
5442
- /* @__PURE__ */ jsx55(Row, { gap: "8", justifyContent: "center", children: /* @__PURE__ */ jsx55(
5477
+ fileType && isPdf(fileType) ? /* @__PURE__ */ jsx56(StyledEmbed, { src: previewUrl, type: "application/pdf" }) : /* @__PURE__ */ jsx56(StyledImage2, { src: previewUrl, alt: "Aper\xE7u du fichier" }),
5478
+ /* @__PURE__ */ jsx56(Row, { gap: "8", justifyContent: "center", children: /* @__PURE__ */ jsx56(
5443
5479
  Button,
5444
5480
  {
5445
5481
  onClick: handleRemove,
@@ -5465,7 +5501,7 @@ var FileUploadZone = ({
5465
5501
  onDragLeave: handleDragLeave,
5466
5502
  onDrop: handleDrop,
5467
5503
  children: [
5468
- /* @__PURE__ */ jsx55(
5504
+ /* @__PURE__ */ jsx56(
5469
5505
  HiddenInput2,
5470
5506
  {
5471
5507
  ref: inputRef,
@@ -5476,7 +5512,7 @@ var FileUploadZone = ({
5476
5512
  multiple
5477
5513
  }
5478
5514
  ),
5479
- showIcon && /* @__PURE__ */ jsx55(
5515
+ showIcon && /* @__PURE__ */ jsx56(
5480
5516
  Icon,
5481
5517
  {
5482
5518
  name: icon,
@@ -5485,9 +5521,9 @@ var FileUploadZone = ({
5485
5521
  color: "blue_700"
5486
5522
  }
5487
5523
  ),
5488
- /* @__PURE__ */ jsx55(Text, { size: "s", variant: "grey_600", align: "center", children: label }),
5489
- showBrowse && /* @__PURE__ */ jsx55(Text, { size: "xs", variant: "grey_600", align: "center", children: "ou" }),
5490
- showBrowse && /* @__PURE__ */ jsx55(
5524
+ /* @__PURE__ */ jsx56(Text, { size: "s", variant: "grey_600", align: "center", children: label }),
5525
+ showBrowse && /* @__PURE__ */ jsx56(Text, { size: "xs", variant: "grey_600", align: "center", children: "ou" }),
5526
+ showBrowse && /* @__PURE__ */ jsx56(
5491
5527
  Button,
5492
5528
  {
5493
5529
  outline: true,
@@ -5500,21 +5536,21 @@ var FileUploadZone = ({
5500
5536
  }
5501
5537
  }
5502
5538
  ),
5503
- sublabel && /* @__PURE__ */ jsx55(Text, { size: "xs", variant: "grey_500", align: "center", children: sublabel })
5539
+ sublabel && /* @__PURE__ */ jsx56(Text, { size: "xs", variant: "grey_500", align: "center", children: sublabel })
5504
5540
  ]
5505
5541
  }
5506
5542
  ),
5507
5543
  showFileName && fileName && /* @__PURE__ */ jsxs30(Row, { gap: "8", alignItems: "center", justifyContent: "center", children: [
5508
- /* @__PURE__ */ jsx55(Icon, { name: "file", size: "s", color: "green_700" }),
5509
- /* @__PURE__ */ jsx55(Text, { size: "s", color: "green_700", children: fileName })
5544
+ /* @__PURE__ */ jsx56(Icon, { name: "file", size: "s", color: "green_700" }),
5545
+ /* @__PURE__ */ jsx56(Text, { size: "s", color: "green_700", children: fileName })
5510
5546
  ] }),
5511
- inlineError && /* @__PURE__ */ jsx55(Text, { size: "s", color: "danger", align: "center", children: inlineError })
5547
+ inlineError && /* @__PURE__ */ jsx56(Text, { size: "s", color: "danger", align: "center", children: inlineError })
5512
5548
  ] });
5513
5549
  };
5514
5550
 
5515
5551
  // src/Components/Spinner/Spinner.tsx
5516
- import styled46, { keyframes as keyframes2 } from "styled-components";
5517
- import { jsx as jsx56 } from "react/jsx-runtime";
5552
+ import styled47, { keyframes as keyframes2 } from "styled-components";
5553
+ import { jsx as jsx57 } from "react/jsx-runtime";
5518
5554
  var SIZES3 = {
5519
5555
  s: 20,
5520
5556
  m: 32,
@@ -5524,7 +5560,7 @@ var spin = keyframes2`
5524
5560
  0% { transform: rotate(0deg); }
5525
5561
  100% { transform: rotate(360deg); }
5526
5562
  `;
5527
- var StyledSpinner = styled46.span`
5563
+ var StyledSpinner = styled47.span`
5528
5564
  display: inline-block;
5529
5565
  width: ${(p) => p.$size}px;
5530
5566
  height: ${(p) => p.$size}px;
@@ -5537,7 +5573,7 @@ var StyledSpinner = styled46.span`
5537
5573
  var Spinner = ({ size = "m", color = "primary" }) => {
5538
5574
  const resolvedSize = SIZES3[size];
5539
5575
  const resolvedColor = colors[color] || color || colors.primary;
5540
- return /* @__PURE__ */ jsx56(
5576
+ return /* @__PURE__ */ jsx57(
5541
5577
  StyledSpinner,
5542
5578
  {
5543
5579
  $size: resolvedSize,
@@ -5549,7 +5585,7 @@ var Spinner = ({ size = "m", color = "primary" }) => {
5549
5585
  };
5550
5586
 
5551
5587
  // src/Components/EmptyState/EmptyState.tsx
5552
- import { jsx as jsx57, jsxs as jsxs31 } from "react/jsx-runtime";
5588
+ import { jsx as jsx58, jsxs as jsxs31 } from "react/jsx-runtime";
5553
5589
  var EmptyState = ({
5554
5590
  icon = "inbox",
5555
5591
  title = "Aucun r\xE9sultat",
@@ -5566,20 +5602,20 @@ var EmptyState = ({
5566
5602
  gap: "24",
5567
5603
  padding: "24px 16px",
5568
5604
  children: [
5569
- /* @__PURE__ */ jsx57(Icon, { name: icon, family: "solid", size: "xxl", color: "grey_300" }),
5605
+ /* @__PURE__ */ jsx58(Icon, { name: icon, family: "solid", size: "xxl", color: "grey_300" }),
5570
5606
  /* @__PURE__ */ jsxs31(Col, { alignItems: "center", gap: "4", style: { maxWidth: "360px" }, children: [
5571
- /* @__PURE__ */ jsx57(Text, { size: "m", weight: "600", variant: "grey_600", align: "center", children: title }),
5572
- description && /* @__PURE__ */ jsx57(Text, { size: "s", variant: "grey_500", align: "center", children: description })
5607
+ /* @__PURE__ */ jsx58(Text, { size: "m", weight: "600", variant: "grey_600", align: "center", children: title }),
5608
+ description && /* @__PURE__ */ jsx58(Text, { size: "s", variant: "grey_500", align: "center", children: description })
5573
5609
  ] }),
5574
- actionLabel && onAction && /* @__PURE__ */ jsx57(Button, { label: actionLabel, onClick: onAction })
5610
+ actionLabel && onAction && /* @__PURE__ */ jsx58(Button, { label: actionLabel, onClick: onAction })
5575
5611
  ]
5576
5612
  }
5577
5613
  );
5578
5614
  };
5579
5615
 
5580
5616
  // src/Components/FloatingButton/FloatingButton.tsx
5581
- import styled47 from "styled-components";
5582
- import { jsx as jsx58, jsxs as jsxs32 } from "react/jsx-runtime";
5617
+ import styled48 from "styled-components";
5618
+ import { jsx as jsx59, jsxs as jsxs32 } from "react/jsx-runtime";
5583
5619
  var FloatingButton = ({
5584
5620
  isOpen,
5585
5621
  onToggle,
@@ -5603,8 +5639,8 @@ var FloatingButton = ({
5603
5639
  $transform: arcTransform(index, actions.length),
5604
5640
  onClick: action.onClick,
5605
5641
  children: [
5606
- /* @__PURE__ */ jsx58(Icon, { name: action.icon, family: "regular", size: "s", color: accent }),
5607
- ((_a = action.badge) != null ? _a : 0) > 0 && /* @__PURE__ */ jsx58(CountBadge, { children: action.badge })
5642
+ /* @__PURE__ */ jsx59(Icon, { name: action.icon, family: "regular", size: "s", color: accent }),
5643
+ ((_a = action.badge) != null ? _a : 0) > 0 && /* @__PURE__ */ jsx59(CountBadge, { children: action.badge })
5608
5644
  ]
5609
5645
  },
5610
5646
  action.id
@@ -5619,7 +5655,7 @@ var FloatingButton = ({
5619
5655
  $accent: accent,
5620
5656
  onClick: onToggle,
5621
5657
  children: [
5622
- /* @__PURE__ */ jsx58(
5658
+ /* @__PURE__ */ jsx59(
5623
5659
  Icon,
5624
5660
  {
5625
5661
  name: isOpen ? openIcon : icon,
@@ -5628,7 +5664,7 @@ var FloatingButton = ({
5628
5664
  color: colors.white
5629
5665
  }
5630
5666
  ),
5631
- !isOpen && mainBadge > 0 && /* @__PURE__ */ jsx58(CountBadge, { children: mainBadge })
5667
+ !isOpen && mainBadge > 0 && /* @__PURE__ */ jsx59(CountBadge, { children: mainBadge })
5632
5668
  ]
5633
5669
  }
5634
5670
  )
@@ -5647,7 +5683,7 @@ var arcTransform = (index, total) => {
5647
5683
  const y = Math.round(-Math.sin(angle) * ARC_RADIUS);
5648
5684
  return `translate(${x}px, ${y}px)`;
5649
5685
  };
5650
- var Container6 = styled47.div`
5686
+ var Container6 = styled48.div`
5651
5687
  position: fixed;
5652
5688
  right: 32px;
5653
5689
  bottom: 32px;
@@ -5655,7 +5691,7 @@ var Container6 = styled47.div`
5655
5691
  height: ${FAB_SIZE}px;
5656
5692
  z-index: 1000;
5657
5693
  `;
5658
- var MainButton = styled47.button`
5694
+ var MainButton = styled48.button`
5659
5695
  position: absolute;
5660
5696
  inset: 0;
5661
5697
  display: flex;
@@ -5669,7 +5705,7 @@ var MainButton = styled47.button`
5669
5705
  0 8px 5px rgba(0, 0, 0, 0.1),
5670
5706
  0 20px 12.5px rgba(0, 0, 0, 0.1);
5671
5707
  `;
5672
- var SubButton = styled47.button`
5708
+ var SubButton = styled48.button`
5673
5709
  position: absolute;
5674
5710
  left: ${(FAB_SIZE - SUB_SIZE) / 2}px;
5675
5711
  top: ${(FAB_SIZE - SUB_SIZE) / 2}px;
@@ -5692,7 +5728,7 @@ var SubButton = styled47.button`
5692
5728
  opacity: ${({ $isOpen }) => $isOpen ? 1 : 0};
5693
5729
  pointer-events: ${({ $isOpen }) => $isOpen ? "auto" : "none"};
5694
5730
  `;
5695
- var CountBadge = styled47.span`
5731
+ var CountBadge = styled48.span`
5696
5732
  position: absolute;
5697
5733
  top: -4px;
5698
5734
  right: -4px;
@@ -5710,16 +5746,16 @@ var CountBadge = styled47.span`
5710
5746
  `;
5711
5747
 
5712
5748
  // src/Components/ProgressBar/ProgressBar.tsx
5713
- import styled48 from "styled-components";
5714
- import { jsx as jsx59, jsxs as jsxs33 } from "react/jsx-runtime";
5749
+ import styled49 from "styled-components";
5750
+ import { jsx as jsx60, jsxs as jsxs33 } from "react/jsx-runtime";
5715
5751
  var clampPercent = (value) => Math.max(0, Math.min(100, value));
5716
- var Wrapper6 = styled48.div`
5752
+ var Wrapper6 = styled49.div`
5717
5753
  display: flex;
5718
5754
  align-items: center;
5719
5755
  gap: 8px;
5720
5756
  width: 100%;
5721
5757
  `;
5722
- var Track2 = styled48.div`
5758
+ var Track2 = styled49.div`
5723
5759
  position: relative;
5724
5760
  flex: 1;
5725
5761
  height: ${({ $height }) => $height}px;
@@ -5727,7 +5763,7 @@ var Track2 = styled48.div`
5727
5763
  border-radius: ${({ $height }) => $height}px;
5728
5764
  overflow: hidden;
5729
5765
  `;
5730
- var Fill = styled48.div`
5766
+ var Fill = styled49.div`
5731
5767
  height: 100%;
5732
5768
  width: ${({ $percent }) => $percent}%;
5733
5769
  background: ${({ $color }) => $color};
@@ -5743,7 +5779,7 @@ var ProgressBar2 = ({
5743
5779
  }) => {
5744
5780
  const percent = clampPercent(value);
5745
5781
  return /* @__PURE__ */ jsxs33(Wrapper6, { children: [
5746
- /* @__PURE__ */ jsx59(Track2, { $height: height, $trackColor: trackColor, children: /* @__PURE__ */ jsx59(Fill, { $height: height, $color: color, $percent: percent }) }),
5782
+ /* @__PURE__ */ jsx60(Track2, { $height: height, $trackColor: trackColor, children: /* @__PURE__ */ jsx60(Fill, { $height: height, $color: color, $percent: percent }) }),
5747
5783
  showLabel && /* @__PURE__ */ jsxs33(Text, { size: "s", weight: "600", children: [
5748
5784
  Math.round(percent),
5749
5785
  " %"
@@ -5752,24 +5788,24 @@ var ProgressBar2 = ({
5752
5788
  };
5753
5789
 
5754
5790
  // src/Components/Timeline/Timeline.tsx
5755
- import styled49 from "styled-components";
5756
- import { jsx as jsx60, jsxs as jsxs34 } from "react/jsx-runtime";
5757
- var List2 = styled49.div`
5791
+ import styled50 from "styled-components";
5792
+ import { jsx as jsx61, jsxs as jsxs34 } from "react/jsx-runtime";
5793
+ var List2 = styled50.div`
5758
5794
  display: flex;
5759
5795
  flex-direction: column;
5760
5796
  `;
5761
- var Item2 = styled49.div`
5797
+ var Item2 = styled50.div`
5762
5798
  display: flex;
5763
5799
  gap: 12px;
5764
5800
  align-items: stretch;
5765
5801
  `;
5766
- var Rail = styled49.div`
5802
+ var Rail = styled50.div`
5767
5803
  display: flex;
5768
5804
  flex-direction: column;
5769
5805
  align-items: center;
5770
5806
  width: 16px;
5771
5807
  `;
5772
- var Dot2 = styled49.div`
5808
+ var Dot2 = styled50.div`
5773
5809
  width: 10px;
5774
5810
  height: 10px;
5775
5811
  border-radius: 50%;
@@ -5777,13 +5813,13 @@ var Dot2 = styled49.div`
5777
5813
  flex: 0 0 auto;
5778
5814
  background: ${({ $color }) => $color};
5779
5815
  `;
5780
- var Line = styled49.div`
5816
+ var Line = styled50.div`
5781
5817
  width: 2px;
5782
5818
  flex: 1;
5783
5819
  min-height: 16px;
5784
5820
  background: ${({ $color }) => $color};
5785
5821
  `;
5786
- var Content2 = styled49.div`
5822
+ var Content2 = styled50.div`
5787
5823
  display: flex;
5788
5824
  flex-direction: column;
5789
5825
  gap: 2px;
@@ -5795,21 +5831,21 @@ var Timeline = ({
5795
5831
  emptyLabel = "Aucun \xE9v\xE9nement"
5796
5832
  }) => {
5797
5833
  if (items.length === 0) {
5798
- return /* @__PURE__ */ jsx60(Text, { size: "s", color: colors.grey_600, children: emptyLabel });
5834
+ return /* @__PURE__ */ jsx61(Text, { size: "s", color: colors.grey_600, children: emptyLabel });
5799
5835
  }
5800
- return /* @__PURE__ */ jsx60(List2, { children: items.map((item, index) => {
5836
+ return /* @__PURE__ */ jsx61(List2, { children: items.map((item, index) => {
5801
5837
  var _a;
5802
5838
  const isLast = index === items.length - 1;
5803
5839
  const dotColor = (_a = item.color) != null ? _a : colors.blue_700;
5804
5840
  return /* @__PURE__ */ jsxs34(Item2, { children: [
5805
5841
  /* @__PURE__ */ jsxs34(Rail, { children: [
5806
- /* @__PURE__ */ jsx60(Dot2, { $color: dotColor }),
5807
- !isLast && /* @__PURE__ */ jsx60(Line, { $color: lineColor })
5842
+ /* @__PURE__ */ jsx61(Dot2, { $color: dotColor }),
5843
+ !isLast && /* @__PURE__ */ jsx61(Line, { $color: lineColor })
5808
5844
  ] }),
5809
5845
  /* @__PURE__ */ jsxs34(Content2, { $last: isLast, children: [
5810
- /* @__PURE__ */ jsx60(Text, { size: "s", weight: item.highlighted ? "700" : "600", children: item.title }),
5811
- item.subtitle && /* @__PURE__ */ jsx60(Text, { size: "xs", color: colors.grey_600, children: item.subtitle }),
5812
- item.description && /* @__PURE__ */ jsx60(Text, { size: "xs", fontStyle: "italic", children: item.description })
5846
+ /* @__PURE__ */ jsx61(Text, { size: "s", weight: item.highlighted ? "700" : "600", children: item.title }),
5847
+ item.subtitle && /* @__PURE__ */ jsx61(Text, { size: "xs", color: colors.grey_600, children: item.subtitle }),
5848
+ item.description && /* @__PURE__ */ jsx61(Text, { size: "xs", fontStyle: "italic", children: item.description })
5813
5849
  ] })
5814
5850
  ] }, item.id);
5815
5851
  }) });
@@ -6441,6 +6477,7 @@ export {
6441
6477
  Bubble,
6442
6478
  Bulk,
6443
6479
  Button,
6480
+ Card2 as Card,
6444
6481
  CardSkeleton,
6445
6482
  Checkbox,
6446
6483
  Col,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "design-zystem",
3
- "version": "1.0.261",
3
+ "version": "1.0.263",
4
4
  "description": "A React design system of importable components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",