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