design-zystem 1.0.263 → 1.0.264
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 +16 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.js +179 -87
- package/dist/index.mjs +177 -86
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -906,6 +906,21 @@ interface CardProps {
|
|
|
906
906
|
}
|
|
907
907
|
declare const Card: ({ children, onClick, accentColor, backgroundColor, padding, borderRadius, }: CardProps) => react_jsx_runtime.JSX.Element;
|
|
908
908
|
|
|
909
|
+
interface BannerAction {
|
|
910
|
+
label: string;
|
|
911
|
+
icon?: string;
|
|
912
|
+
onClick?: () => void;
|
|
913
|
+
}
|
|
914
|
+
interface BannerProps {
|
|
915
|
+
variant?: 'blue' | 'red';
|
|
916
|
+
badge?: string;
|
|
917
|
+
title?: string;
|
|
918
|
+
subtitle?: string;
|
|
919
|
+
message?: string;
|
|
920
|
+
action?: BannerAction;
|
|
921
|
+
}
|
|
922
|
+
declare const Banner: ({ variant, badge, title, subtitle, message, action, }: BannerProps) => react_jsx_runtime.JSX.Element;
|
|
923
|
+
|
|
909
924
|
interface TooltipProps {
|
|
910
925
|
children?: ReactNode;
|
|
911
926
|
backgroundColor?: string;
|
|
@@ -1175,4 +1190,4 @@ declare const formatKM: (value: string | number | null | undefined) => string;
|
|
|
1175
1190
|
|
|
1176
1191
|
declare const parseAmount: (value: string) => number | null;
|
|
1177
1192
|
|
|
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 };
|
|
1193
|
+
export { Accordion, type AccordionItem, Avatar, Banner, type BannerAction, type BannerProps, 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
|
@@ -906,6 +906,21 @@ interface CardProps {
|
|
|
906
906
|
}
|
|
907
907
|
declare const Card: ({ children, onClick, accentColor, backgroundColor, padding, borderRadius, }: CardProps) => react_jsx_runtime.JSX.Element;
|
|
908
908
|
|
|
909
|
+
interface BannerAction {
|
|
910
|
+
label: string;
|
|
911
|
+
icon?: string;
|
|
912
|
+
onClick?: () => void;
|
|
913
|
+
}
|
|
914
|
+
interface BannerProps {
|
|
915
|
+
variant?: 'blue' | 'red';
|
|
916
|
+
badge?: string;
|
|
917
|
+
title?: string;
|
|
918
|
+
subtitle?: string;
|
|
919
|
+
message?: string;
|
|
920
|
+
action?: BannerAction;
|
|
921
|
+
}
|
|
922
|
+
declare const Banner: ({ variant, badge, title, subtitle, message, action, }: BannerProps) => react_jsx_runtime.JSX.Element;
|
|
923
|
+
|
|
909
924
|
interface TooltipProps {
|
|
910
925
|
children?: ReactNode;
|
|
911
926
|
backgroundColor?: string;
|
|
@@ -1175,4 +1190,4 @@ declare const formatKM: (value: string | number | null | undefined) => string;
|
|
|
1175
1190
|
|
|
1176
1191
|
declare const parseAmount: (value: string) => number | null;
|
|
1177
1192
|
|
|
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 };
|
|
1193
|
+
export { Accordion, type AccordionItem, Avatar, Banner, type BannerAction, type BannerProps, 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
|
@@ -61,6 +61,7 @@ var index_exports = {};
|
|
|
61
61
|
__export(index_exports, {
|
|
62
62
|
Accordion: () => Accordion,
|
|
63
63
|
Avatar: () => Avatar,
|
|
64
|
+
Banner: () => Banner,
|
|
64
65
|
Box: () => Box,
|
|
65
66
|
Bubble: () => Bubble,
|
|
66
67
|
Bulk: () => Bulk,
|
|
@@ -5178,16 +5179,106 @@ var Card2 = ({
|
|
|
5178
5179
|
}
|
|
5179
5180
|
);
|
|
5180
5181
|
|
|
5181
|
-
// src/Components/
|
|
5182
|
-
var import_react27 = require("react");
|
|
5182
|
+
// src/Components/Banner/Banner.tsx
|
|
5183
5183
|
var import_styled_components45 = __toESM(require("styled-components"));
|
|
5184
5184
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
5185
|
-
var
|
|
5185
|
+
var variantStyles = {
|
|
5186
|
+
blue: {
|
|
5187
|
+
background: "rgba(219, 233, 254, 0.4)",
|
|
5188
|
+
borderColor: "#BEDBFF",
|
|
5189
|
+
badgeBackground: colors.badge_blue_bg,
|
|
5190
|
+
badgeColor: colors.badge_blue_text,
|
|
5191
|
+
action: "blue_950"
|
|
5192
|
+
},
|
|
5193
|
+
red: {
|
|
5194
|
+
background: "rgba(252, 221, 222, 0.4)",
|
|
5195
|
+
borderColor: "#FFD2D2",
|
|
5196
|
+
badgeBackground: "#FCDDDE",
|
|
5197
|
+
badgeColor: colors.red_950,
|
|
5198
|
+
action: "red_950"
|
|
5199
|
+
}
|
|
5200
|
+
};
|
|
5201
|
+
var StyledBanner = import_styled_components45.default.div`
|
|
5202
|
+
box-sizing: border-box;
|
|
5203
|
+
width: 100%;
|
|
5204
|
+
display: flex;
|
|
5205
|
+
align-items: center;
|
|
5206
|
+
justify-content: space-between;
|
|
5207
|
+
gap: 16px;
|
|
5208
|
+
padding: 8px 16px;
|
|
5209
|
+
border-radius: 6px;
|
|
5210
|
+
border: 1px solid ${(p) => p.$borderColor};
|
|
5211
|
+
background: ${(p) => p.$background};
|
|
5212
|
+
`;
|
|
5213
|
+
var Content2 = import_styled_components45.default.div`
|
|
5214
|
+
display: flex;
|
|
5215
|
+
flex-direction: column;
|
|
5216
|
+
gap: 4px;
|
|
5217
|
+
align-items: flex-start;
|
|
5218
|
+
`;
|
|
5219
|
+
var Heading = import_styled_components45.default.div`
|
|
5220
|
+
display: flex;
|
|
5221
|
+
align-items: center;
|
|
5222
|
+
gap: 8px;
|
|
5223
|
+
`;
|
|
5224
|
+
var Banner = ({
|
|
5225
|
+
variant = "blue",
|
|
5226
|
+
badge,
|
|
5227
|
+
title,
|
|
5228
|
+
subtitle,
|
|
5229
|
+
message,
|
|
5230
|
+
action
|
|
5231
|
+
}) => {
|
|
5232
|
+
const style2 = variantStyles[variant];
|
|
5233
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
5234
|
+
StyledBanner,
|
|
5235
|
+
{
|
|
5236
|
+
$background: style2.background,
|
|
5237
|
+
$borderColor: style2.borderColor,
|
|
5238
|
+
children: [
|
|
5239
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Content2, { children: message ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Text, { size: "s", children: message }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, { children: [
|
|
5240
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Heading, { children: [
|
|
5241
|
+
badge && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
5242
|
+
Bubble,
|
|
5243
|
+
{
|
|
5244
|
+
backgroundColor: style2.badgeBackground,
|
|
5245
|
+
color: style2.badgeColor,
|
|
5246
|
+
borderRadius: "6px",
|
|
5247
|
+
padding: "2px 8px",
|
|
5248
|
+
style: { fontSize: "11px", lineHeight: "16.5px" },
|
|
5249
|
+
children: badge
|
|
5250
|
+
}
|
|
5251
|
+
),
|
|
5252
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Text, { size: "s", weight: "700", children: title })
|
|
5253
|
+
] }),
|
|
5254
|
+
subtitle && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Text, { size: "xs", children: subtitle })
|
|
5255
|
+
] }) }),
|
|
5256
|
+
action && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
5257
|
+
Button,
|
|
5258
|
+
{
|
|
5259
|
+
outline: true,
|
|
5260
|
+
size: "xs",
|
|
5261
|
+
variant: style2.action,
|
|
5262
|
+
iconLeft: action.icon,
|
|
5263
|
+
label: action.label,
|
|
5264
|
+
onClick: action.onClick
|
|
5265
|
+
}
|
|
5266
|
+
)
|
|
5267
|
+
]
|
|
5268
|
+
}
|
|
5269
|
+
);
|
|
5270
|
+
};
|
|
5271
|
+
|
|
5272
|
+
// src/Components/Tooltip/Tooltip.tsx
|
|
5273
|
+
var import_react27 = require("react");
|
|
5274
|
+
var import_styled_components46 = __toESM(require("styled-components"));
|
|
5275
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
5276
|
+
var StyledTooltipWrapper = import_styled_components46.default.div`
|
|
5186
5277
|
position: relative;
|
|
5187
5278
|
display: inline-block;
|
|
5188
5279
|
cursor: pointer;
|
|
5189
5280
|
`;
|
|
5190
|
-
var StyledTooltipContent =
|
|
5281
|
+
var StyledTooltipContent = import_styled_components46.default.div`
|
|
5191
5282
|
visibility: ${(props) => props.$isVisible ? "visible" : "hidden"};
|
|
5192
5283
|
background-color: ${(props) => props.$backgroundColor || colors.black};
|
|
5193
5284
|
color: ${colors.white};
|
|
@@ -5286,14 +5377,14 @@ var Tooltip = ({
|
|
|
5286
5377
|
const [isVisible, setIsVisible] = (0, import_react27.useState)(false);
|
|
5287
5378
|
const handleMouseEnter = () => setIsVisible(true);
|
|
5288
5379
|
const handleMouseLeave = () => setIsVisible(false);
|
|
5289
|
-
return /* @__PURE__ */ (0,
|
|
5380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
|
|
5290
5381
|
StyledTooltipWrapper,
|
|
5291
5382
|
{
|
|
5292
5383
|
onMouseEnter: handleMouseEnter,
|
|
5293
5384
|
onMouseLeave: handleMouseLeave,
|
|
5294
5385
|
children: [
|
|
5295
5386
|
children,
|
|
5296
|
-
/* @__PURE__ */ (0,
|
|
5387
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
5297
5388
|
StyledTooltipContent,
|
|
5298
5389
|
{
|
|
5299
5390
|
$isVisible: isVisible,
|
|
@@ -5301,7 +5392,7 @@ var Tooltip = ({
|
|
|
5301
5392
|
$width: width,
|
|
5302
5393
|
$height: height,
|
|
5303
5394
|
$direction: direction,
|
|
5304
|
-
children: data.length > 0 ? data.map((item, index) => /* @__PURE__ */ (0,
|
|
5395
|
+
children: data.length > 0 ? data.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "s", color: "white", children: item }, index)) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "s", color: "white", children: "Aucune donn\xE9e" })
|
|
5305
5396
|
}
|
|
5306
5397
|
)
|
|
5307
5398
|
]
|
|
@@ -5311,7 +5402,7 @@ var Tooltip = ({
|
|
|
5311
5402
|
|
|
5312
5403
|
// src/Components/Pagination/Pagination.tsx
|
|
5313
5404
|
var import_react28 = require("react");
|
|
5314
|
-
var
|
|
5405
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
5315
5406
|
var getPageNumbers = (current, total) => {
|
|
5316
5407
|
if (total <= 5) {
|
|
5317
5408
|
return Array.from({ length: total }, (_, i) => i + 1);
|
|
@@ -5341,15 +5432,15 @@ var Pagination = ({
|
|
|
5341
5432
|
const startItem = (currentPage - 1) * itemsPerPage + 1;
|
|
5342
5433
|
const endItem = Math.min(currentPage * itemsPerPage, totalItems);
|
|
5343
5434
|
const summary = summaryLabel || defaultSummary(startItem, endItem, totalItems);
|
|
5344
|
-
return /* @__PURE__ */ (0,
|
|
5435
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
|
|
5345
5436
|
Row,
|
|
5346
5437
|
{
|
|
5347
5438
|
justifyContent: showSummary ? "space-between" : "flex-end",
|
|
5348
5439
|
alignItems: "center",
|
|
5349
5440
|
children: [
|
|
5350
|
-
showSummary && /* @__PURE__ */ (0,
|
|
5351
|
-
/* @__PURE__ */ (0,
|
|
5352
|
-
/* @__PURE__ */ (0,
|
|
5441
|
+
showSummary && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Text, { size: "s", color: colors.grey_500, children: summary }),
|
|
5442
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Row, { gap: "4", alignItems: "center", style: { width: "fit-content" }, children: [
|
|
5443
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
5353
5444
|
Button,
|
|
5354
5445
|
{
|
|
5355
5446
|
size: "xs",
|
|
@@ -5360,7 +5451,7 @@ var Pagination = ({
|
|
|
5360
5451
|
}
|
|
5361
5452
|
),
|
|
5362
5453
|
pages.map(
|
|
5363
|
-
(page, index) => page === "..." ? /* @__PURE__ */ (0,
|
|
5454
|
+
(page, index) => page === "..." ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Text, { size: "s", color: colors.grey_500, children: "..." }, `ellipsis-${index}`) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
5364
5455
|
Button,
|
|
5365
5456
|
{
|
|
5366
5457
|
size: "xs",
|
|
@@ -5371,7 +5462,7 @@ var Pagination = ({
|
|
|
5371
5462
|
page
|
|
5372
5463
|
)
|
|
5373
5464
|
),
|
|
5374
|
-
/* @__PURE__ */ (0,
|
|
5465
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
5375
5466
|
Button,
|
|
5376
5467
|
{
|
|
5377
5468
|
size: "xs",
|
|
@@ -5389,8 +5480,8 @@ var Pagination = ({
|
|
|
5389
5480
|
|
|
5390
5481
|
// src/Components/FileUploadZone/FileUploadZone.tsx
|
|
5391
5482
|
var import_react29 = require("react");
|
|
5392
|
-
var
|
|
5393
|
-
var
|
|
5483
|
+
var import_styled_components47 = __toESM(require("styled-components"));
|
|
5484
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
5394
5485
|
var ACCEPT_MAP = {
|
|
5395
5486
|
png: "image/png",
|
|
5396
5487
|
jpg: "image/jpeg",
|
|
@@ -5406,7 +5497,7 @@ var getMimeTypes = (accept) => {
|
|
|
5406
5497
|
return accept.map((ext) => ACCEPT_MAP[ext.toLowerCase()] || ext);
|
|
5407
5498
|
};
|
|
5408
5499
|
var isPdf = (type) => type === "application/pdf";
|
|
5409
|
-
var StyledDropZone =
|
|
5500
|
+
var StyledDropZone = import_styled_components47.default.label`
|
|
5410
5501
|
display: flex;
|
|
5411
5502
|
flex-direction: column;
|
|
5412
5503
|
align-items: center;
|
|
@@ -5430,7 +5521,7 @@ var StyledDropZone = import_styled_components46.default.label`
|
|
|
5430
5521
|
border-color: ${(p) => p.$disabled ? colors.blue_50 : colors.blue_100};
|
|
5431
5522
|
}
|
|
5432
5523
|
`;
|
|
5433
|
-
var StyledPreview =
|
|
5524
|
+
var StyledPreview = import_styled_components47.default.div`
|
|
5434
5525
|
display: flex;
|
|
5435
5526
|
flex-direction: column;
|
|
5436
5527
|
align-items: center;
|
|
@@ -5441,18 +5532,18 @@ var StyledPreview = import_styled_components46.default.div`
|
|
|
5441
5532
|
width: ${(p) => p.$fullWidth ? "100%" : "auto"};
|
|
5442
5533
|
box-sizing: border-box;
|
|
5443
5534
|
`;
|
|
5444
|
-
var StyledImage2 =
|
|
5535
|
+
var StyledImage2 = import_styled_components47.default.img`
|
|
5445
5536
|
max-width: 100%;
|
|
5446
5537
|
max-height: 400px;
|
|
5447
5538
|
border-radius: 4px;
|
|
5448
5539
|
object-fit: contain;
|
|
5449
5540
|
`;
|
|
5450
|
-
var StyledEmbed =
|
|
5541
|
+
var StyledEmbed = import_styled_components47.default.embed`
|
|
5451
5542
|
width: 100%;
|
|
5452
5543
|
height: 500px;
|
|
5453
5544
|
border-radius: 4px;
|
|
5454
5545
|
`;
|
|
5455
|
-
var HiddenInput2 =
|
|
5546
|
+
var HiddenInput2 = import_styled_components47.default.input`
|
|
5456
5547
|
display: none;
|
|
5457
5548
|
`;
|
|
5458
5549
|
var FileUploadZone = ({
|
|
@@ -5588,9 +5679,9 @@ var FileUploadZone = ({
|
|
|
5588
5679
|
onRemove == null ? void 0 : onRemove();
|
|
5589
5680
|
};
|
|
5590
5681
|
if (previewUrl) {
|
|
5591
|
-
return /* @__PURE__ */ (0,
|
|
5592
|
-
fileType && isPdf(fileType) ? /* @__PURE__ */ (0,
|
|
5593
|
-
/* @__PURE__ */ (0,
|
|
5682
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(StyledPreview, { $fullWidth: fullWidth, children: [
|
|
5683
|
+
fileType && isPdf(fileType) ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(StyledEmbed, { src: previewUrl, type: "application/pdf" }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(StyledImage2, { src: previewUrl, alt: "Aper\xE7u du fichier" }),
|
|
5684
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Row, { gap: "8", justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
5594
5685
|
Button,
|
|
5595
5686
|
{
|
|
5596
5687
|
onClick: handleRemove,
|
|
@@ -5604,8 +5695,8 @@ var FileUploadZone = ({
|
|
|
5604
5695
|
}
|
|
5605
5696
|
const showIcon = icon !== false;
|
|
5606
5697
|
const showBrowse = !compact && browseLabel !== false;
|
|
5607
|
-
return /* @__PURE__ */ (0,
|
|
5608
|
-
/* @__PURE__ */ (0,
|
|
5698
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Col, { gap: "4", fullWidth, children: [
|
|
5699
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
5609
5700
|
StyledDropZone,
|
|
5610
5701
|
{
|
|
5611
5702
|
$isDragging: isDragging,
|
|
@@ -5616,7 +5707,7 @@ var FileUploadZone = ({
|
|
|
5616
5707
|
onDragLeave: handleDragLeave,
|
|
5617
5708
|
onDrop: handleDrop,
|
|
5618
5709
|
children: [
|
|
5619
|
-
/* @__PURE__ */ (0,
|
|
5710
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
5620
5711
|
HiddenInput2,
|
|
5621
5712
|
{
|
|
5622
5713
|
ref: inputRef,
|
|
@@ -5627,7 +5718,7 @@ var FileUploadZone = ({
|
|
|
5627
5718
|
multiple
|
|
5628
5719
|
}
|
|
5629
5720
|
),
|
|
5630
|
-
showIcon && /* @__PURE__ */ (0,
|
|
5721
|
+
showIcon && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
5631
5722
|
Icon,
|
|
5632
5723
|
{
|
|
5633
5724
|
name: icon,
|
|
@@ -5636,9 +5727,9 @@ var FileUploadZone = ({
|
|
|
5636
5727
|
color: "blue_700"
|
|
5637
5728
|
}
|
|
5638
5729
|
),
|
|
5639
|
-
/* @__PURE__ */ (0,
|
|
5640
|
-
showBrowse && /* @__PURE__ */ (0,
|
|
5641
|
-
showBrowse && /* @__PURE__ */ (0,
|
|
5730
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Text, { size: "s", variant: "grey_600", align: "center", children: label }),
|
|
5731
|
+
showBrowse && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Text, { size: "xs", variant: "grey_600", align: "center", children: "ou" }),
|
|
5732
|
+
showBrowse && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
5642
5733
|
Button,
|
|
5643
5734
|
{
|
|
5644
5735
|
outline: true,
|
|
@@ -5651,31 +5742,31 @@ var FileUploadZone = ({
|
|
|
5651
5742
|
}
|
|
5652
5743
|
}
|
|
5653
5744
|
),
|
|
5654
|
-
sublabel && /* @__PURE__ */ (0,
|
|
5745
|
+
sublabel && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Text, { size: "xs", variant: "grey_500", align: "center", children: sublabel })
|
|
5655
5746
|
]
|
|
5656
5747
|
}
|
|
5657
5748
|
),
|
|
5658
|
-
showFileName && fileName && /* @__PURE__ */ (0,
|
|
5659
|
-
/* @__PURE__ */ (0,
|
|
5660
|
-
/* @__PURE__ */ (0,
|
|
5749
|
+
showFileName && fileName && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Row, { gap: "8", alignItems: "center", justifyContent: "center", children: [
|
|
5750
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Icon, { name: "file", size: "s", color: "green_700" }),
|
|
5751
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Text, { size: "s", color: "green_700", children: fileName })
|
|
5661
5752
|
] }),
|
|
5662
|
-
inlineError && /* @__PURE__ */ (0,
|
|
5753
|
+
inlineError && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Text, { size: "s", color: "danger", align: "center", children: inlineError })
|
|
5663
5754
|
] });
|
|
5664
5755
|
};
|
|
5665
5756
|
|
|
5666
5757
|
// src/Components/Spinner/Spinner.tsx
|
|
5667
|
-
var
|
|
5668
|
-
var
|
|
5758
|
+
var import_styled_components48 = __toESM(require("styled-components"));
|
|
5759
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
5669
5760
|
var SIZES3 = {
|
|
5670
5761
|
s: 20,
|
|
5671
5762
|
m: 32,
|
|
5672
5763
|
l: 48
|
|
5673
5764
|
};
|
|
5674
|
-
var spin =
|
|
5765
|
+
var spin = import_styled_components48.keyframes`
|
|
5675
5766
|
0% { transform: rotate(0deg); }
|
|
5676
5767
|
100% { transform: rotate(360deg); }
|
|
5677
5768
|
`;
|
|
5678
|
-
var StyledSpinner =
|
|
5769
|
+
var StyledSpinner = import_styled_components48.default.span`
|
|
5679
5770
|
display: inline-block;
|
|
5680
5771
|
width: ${(p) => p.$size}px;
|
|
5681
5772
|
height: ${(p) => p.$size}px;
|
|
@@ -5688,7 +5779,7 @@ var StyledSpinner = import_styled_components47.default.span`
|
|
|
5688
5779
|
var Spinner = ({ size = "m", color = "primary" }) => {
|
|
5689
5780
|
const resolvedSize = SIZES3[size];
|
|
5690
5781
|
const resolvedColor = colors[color] || color || colors.primary;
|
|
5691
|
-
return /* @__PURE__ */ (0,
|
|
5782
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
5692
5783
|
StyledSpinner,
|
|
5693
5784
|
{
|
|
5694
5785
|
$size: resolvedSize,
|
|
@@ -5700,7 +5791,7 @@ var Spinner = ({ size = "m", color = "primary" }) => {
|
|
|
5700
5791
|
};
|
|
5701
5792
|
|
|
5702
5793
|
// src/Components/EmptyState/EmptyState.tsx
|
|
5703
|
-
var
|
|
5794
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
5704
5795
|
var EmptyState = ({
|
|
5705
5796
|
icon = "inbox",
|
|
5706
5797
|
title = "Aucun r\xE9sultat",
|
|
@@ -5708,7 +5799,7 @@ var EmptyState = ({
|
|
|
5708
5799
|
actionLabel,
|
|
5709
5800
|
onAction
|
|
5710
5801
|
}) => {
|
|
5711
|
-
return /* @__PURE__ */ (0,
|
|
5802
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
|
|
5712
5803
|
Col,
|
|
5713
5804
|
{
|
|
5714
5805
|
fullWidth: true,
|
|
@@ -5717,20 +5808,20 @@ var EmptyState = ({
|
|
|
5717
5808
|
gap: "24",
|
|
5718
5809
|
padding: "24px 16px",
|
|
5719
5810
|
children: [
|
|
5720
|
-
/* @__PURE__ */ (0,
|
|
5721
|
-
/* @__PURE__ */ (0,
|
|
5722
|
-
/* @__PURE__ */ (0,
|
|
5723
|
-
description && /* @__PURE__ */ (0,
|
|
5811
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Icon, { name: icon, family: "solid", size: "xxl", color: "grey_300" }),
|
|
5812
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Col, { alignItems: "center", gap: "4", style: { maxWidth: "360px" }, children: [
|
|
5813
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Text, { size: "m", weight: "600", variant: "grey_600", align: "center", children: title }),
|
|
5814
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Text, { size: "s", variant: "grey_500", align: "center", children: description })
|
|
5724
5815
|
] }),
|
|
5725
|
-
actionLabel && onAction && /* @__PURE__ */ (0,
|
|
5816
|
+
actionLabel && onAction && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { label: actionLabel, onClick: onAction })
|
|
5726
5817
|
]
|
|
5727
5818
|
}
|
|
5728
5819
|
);
|
|
5729
5820
|
};
|
|
5730
5821
|
|
|
5731
5822
|
// src/Components/FloatingButton/FloatingButton.tsx
|
|
5732
|
-
var
|
|
5733
|
-
var
|
|
5823
|
+
var import_styled_components49 = __toESM(require("styled-components"));
|
|
5824
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
5734
5825
|
var FloatingButton = ({
|
|
5735
5826
|
isOpen,
|
|
5736
5827
|
onToggle,
|
|
@@ -5742,10 +5833,10 @@ var FloatingButton = ({
|
|
|
5742
5833
|
variant = "blue_700"
|
|
5743
5834
|
}) => {
|
|
5744
5835
|
const accent = colors[variant];
|
|
5745
|
-
return /* @__PURE__ */ (0,
|
|
5836
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Container6, { children: [
|
|
5746
5837
|
actions.map((action, index) => {
|
|
5747
5838
|
var _a;
|
|
5748
|
-
return /* @__PURE__ */ (0,
|
|
5839
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
5749
5840
|
SubButton,
|
|
5750
5841
|
{
|
|
5751
5842
|
type: "button",
|
|
@@ -5754,14 +5845,14 @@ var FloatingButton = ({
|
|
|
5754
5845
|
$transform: arcTransform(index, actions.length),
|
|
5755
5846
|
onClick: action.onClick,
|
|
5756
5847
|
children: [
|
|
5757
|
-
/* @__PURE__ */ (0,
|
|
5758
|
-
((_a = action.badge) != null ? _a : 0) > 0 && /* @__PURE__ */ (0,
|
|
5848
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: action.icon, family: "regular", size: "s", color: accent }),
|
|
5849
|
+
((_a = action.badge) != null ? _a : 0) > 0 && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(CountBadge, { children: action.badge })
|
|
5759
5850
|
]
|
|
5760
5851
|
},
|
|
5761
5852
|
action.id
|
|
5762
5853
|
);
|
|
5763
5854
|
}),
|
|
5764
|
-
/* @__PURE__ */ (0,
|
|
5855
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
5765
5856
|
MainButton,
|
|
5766
5857
|
{
|
|
5767
5858
|
type: "button",
|
|
@@ -5770,7 +5861,7 @@ var FloatingButton = ({
|
|
|
5770
5861
|
$accent: accent,
|
|
5771
5862
|
onClick: onToggle,
|
|
5772
5863
|
children: [
|
|
5773
|
-
/* @__PURE__ */ (0,
|
|
5864
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
5774
5865
|
Icon,
|
|
5775
5866
|
{
|
|
5776
5867
|
name: isOpen ? openIcon : icon,
|
|
@@ -5779,7 +5870,7 @@ var FloatingButton = ({
|
|
|
5779
5870
|
color: colors.white
|
|
5780
5871
|
}
|
|
5781
5872
|
),
|
|
5782
|
-
!isOpen && mainBadge > 0 && /* @__PURE__ */ (0,
|
|
5873
|
+
!isOpen && mainBadge > 0 && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(CountBadge, { children: mainBadge })
|
|
5783
5874
|
]
|
|
5784
5875
|
}
|
|
5785
5876
|
)
|
|
@@ -5798,7 +5889,7 @@ var arcTransform = (index, total) => {
|
|
|
5798
5889
|
const y = Math.round(-Math.sin(angle) * ARC_RADIUS);
|
|
5799
5890
|
return `translate(${x}px, ${y}px)`;
|
|
5800
5891
|
};
|
|
5801
|
-
var Container6 =
|
|
5892
|
+
var Container6 = import_styled_components49.default.div`
|
|
5802
5893
|
position: fixed;
|
|
5803
5894
|
right: 32px;
|
|
5804
5895
|
bottom: 32px;
|
|
@@ -5806,7 +5897,7 @@ var Container6 = import_styled_components48.default.div`
|
|
|
5806
5897
|
height: ${FAB_SIZE}px;
|
|
5807
5898
|
z-index: 1000;
|
|
5808
5899
|
`;
|
|
5809
|
-
var MainButton =
|
|
5900
|
+
var MainButton = import_styled_components49.default.button`
|
|
5810
5901
|
position: absolute;
|
|
5811
5902
|
inset: 0;
|
|
5812
5903
|
display: flex;
|
|
@@ -5820,7 +5911,7 @@ var MainButton = import_styled_components48.default.button`
|
|
|
5820
5911
|
0 8px 5px rgba(0, 0, 0, 0.1),
|
|
5821
5912
|
0 20px 12.5px rgba(0, 0, 0, 0.1);
|
|
5822
5913
|
`;
|
|
5823
|
-
var SubButton =
|
|
5914
|
+
var SubButton = import_styled_components49.default.button`
|
|
5824
5915
|
position: absolute;
|
|
5825
5916
|
left: ${(FAB_SIZE - SUB_SIZE) / 2}px;
|
|
5826
5917
|
top: ${(FAB_SIZE - SUB_SIZE) / 2}px;
|
|
@@ -5843,7 +5934,7 @@ var SubButton = import_styled_components48.default.button`
|
|
|
5843
5934
|
opacity: ${({ $isOpen }) => $isOpen ? 1 : 0};
|
|
5844
5935
|
pointer-events: ${({ $isOpen }) => $isOpen ? "auto" : "none"};
|
|
5845
5936
|
`;
|
|
5846
|
-
var CountBadge =
|
|
5937
|
+
var CountBadge = import_styled_components49.default.span`
|
|
5847
5938
|
position: absolute;
|
|
5848
5939
|
top: -4px;
|
|
5849
5940
|
right: -4px;
|
|
@@ -5861,16 +5952,16 @@ var CountBadge = import_styled_components48.default.span`
|
|
|
5861
5952
|
`;
|
|
5862
5953
|
|
|
5863
5954
|
// src/Components/ProgressBar/ProgressBar.tsx
|
|
5864
|
-
var
|
|
5865
|
-
var
|
|
5955
|
+
var import_styled_components50 = __toESM(require("styled-components"));
|
|
5956
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
5866
5957
|
var clampPercent = (value) => Math.max(0, Math.min(100, value));
|
|
5867
|
-
var Wrapper6 =
|
|
5958
|
+
var Wrapper6 = import_styled_components50.default.div`
|
|
5868
5959
|
display: flex;
|
|
5869
5960
|
align-items: center;
|
|
5870
5961
|
gap: 8px;
|
|
5871
5962
|
width: 100%;
|
|
5872
5963
|
`;
|
|
5873
|
-
var Track2 =
|
|
5964
|
+
var Track2 = import_styled_components50.default.div`
|
|
5874
5965
|
position: relative;
|
|
5875
5966
|
flex: 1;
|
|
5876
5967
|
height: ${({ $height }) => $height}px;
|
|
@@ -5878,7 +5969,7 @@ var Track2 = import_styled_components49.default.div`
|
|
|
5878
5969
|
border-radius: ${({ $height }) => $height}px;
|
|
5879
5970
|
overflow: hidden;
|
|
5880
5971
|
`;
|
|
5881
|
-
var Fill =
|
|
5972
|
+
var Fill = import_styled_components50.default.div`
|
|
5882
5973
|
height: 100%;
|
|
5883
5974
|
width: ${({ $percent }) => $percent}%;
|
|
5884
5975
|
background: ${({ $color }) => $color};
|
|
@@ -5893,9 +5984,9 @@ var ProgressBar2 = ({
|
|
|
5893
5984
|
showLabel = false
|
|
5894
5985
|
}) => {
|
|
5895
5986
|
const percent = clampPercent(value);
|
|
5896
|
-
return /* @__PURE__ */ (0,
|
|
5897
|
-
/* @__PURE__ */ (0,
|
|
5898
|
-
showLabel && /* @__PURE__ */ (0,
|
|
5987
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Wrapper6, { children: [
|
|
5988
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Track2, { $height: height, $trackColor: trackColor, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Fill, { $height: height, $color: color, $percent: percent }) }),
|
|
5989
|
+
showLabel && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Text, { size: "s", weight: "600", children: [
|
|
5899
5990
|
Math.round(percent),
|
|
5900
5991
|
" %"
|
|
5901
5992
|
] })
|
|
@@ -5903,24 +5994,24 @@ var ProgressBar2 = ({
|
|
|
5903
5994
|
};
|
|
5904
5995
|
|
|
5905
5996
|
// src/Components/Timeline/Timeline.tsx
|
|
5906
|
-
var
|
|
5907
|
-
var
|
|
5908
|
-
var List2 =
|
|
5997
|
+
var import_styled_components51 = __toESM(require("styled-components"));
|
|
5998
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
5999
|
+
var List2 = import_styled_components51.default.div`
|
|
5909
6000
|
display: flex;
|
|
5910
6001
|
flex-direction: column;
|
|
5911
6002
|
`;
|
|
5912
|
-
var Item2 =
|
|
6003
|
+
var Item2 = import_styled_components51.default.div`
|
|
5913
6004
|
display: flex;
|
|
5914
6005
|
gap: 12px;
|
|
5915
6006
|
align-items: stretch;
|
|
5916
6007
|
`;
|
|
5917
|
-
var Rail =
|
|
6008
|
+
var Rail = import_styled_components51.default.div`
|
|
5918
6009
|
display: flex;
|
|
5919
6010
|
flex-direction: column;
|
|
5920
6011
|
align-items: center;
|
|
5921
6012
|
width: 16px;
|
|
5922
6013
|
`;
|
|
5923
|
-
var Dot2 =
|
|
6014
|
+
var Dot2 = import_styled_components51.default.div`
|
|
5924
6015
|
width: 10px;
|
|
5925
6016
|
height: 10px;
|
|
5926
6017
|
border-radius: 50%;
|
|
@@ -5928,13 +6019,13 @@ var Dot2 = import_styled_components50.default.div`
|
|
|
5928
6019
|
flex: 0 0 auto;
|
|
5929
6020
|
background: ${({ $color }) => $color};
|
|
5930
6021
|
`;
|
|
5931
|
-
var Line =
|
|
6022
|
+
var Line = import_styled_components51.default.div`
|
|
5932
6023
|
width: 2px;
|
|
5933
6024
|
flex: 1;
|
|
5934
6025
|
min-height: 16px;
|
|
5935
6026
|
background: ${({ $color }) => $color};
|
|
5936
6027
|
`;
|
|
5937
|
-
var
|
|
6028
|
+
var Content3 = import_styled_components51.default.div`
|
|
5938
6029
|
display: flex;
|
|
5939
6030
|
flex-direction: column;
|
|
5940
6031
|
gap: 2px;
|
|
@@ -5946,21 +6037,21 @@ var Timeline = ({
|
|
|
5946
6037
|
emptyLabel = "Aucun \xE9v\xE9nement"
|
|
5947
6038
|
}) => {
|
|
5948
6039
|
if (items.length === 0) {
|
|
5949
|
-
return /* @__PURE__ */ (0,
|
|
6040
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Text, { size: "s", color: colors.grey_600, children: emptyLabel });
|
|
5950
6041
|
}
|
|
5951
|
-
return /* @__PURE__ */ (0,
|
|
6042
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(List2, { children: items.map((item, index) => {
|
|
5952
6043
|
var _a;
|
|
5953
6044
|
const isLast = index === items.length - 1;
|
|
5954
6045
|
const dotColor = (_a = item.color) != null ? _a : colors.blue_700;
|
|
5955
|
-
return /* @__PURE__ */ (0,
|
|
5956
|
-
/* @__PURE__ */ (0,
|
|
5957
|
-
/* @__PURE__ */ (0,
|
|
5958
|
-
!isLast && /* @__PURE__ */ (0,
|
|
6046
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(Item2, { children: [
|
|
6047
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(Rail, { children: [
|
|
6048
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Dot2, { $color: dotColor }),
|
|
6049
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Line, { $color: lineColor })
|
|
5959
6050
|
] }),
|
|
5960
|
-
/* @__PURE__ */ (0,
|
|
5961
|
-
/* @__PURE__ */ (0,
|
|
5962
|
-
item.subtitle && /* @__PURE__ */ (0,
|
|
5963
|
-
item.description && /* @__PURE__ */ (0,
|
|
6051
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(Content3, { $last: isLast, children: [
|
|
6052
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Text, { size: "s", weight: item.highlighted ? "700" : "600", children: item.title }),
|
|
6053
|
+
item.subtitle && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Text, { size: "xs", color: colors.grey_600, children: item.subtitle }),
|
|
6054
|
+
item.description && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Text, { size: "xs", fontStyle: "italic", children: item.description })
|
|
5964
6055
|
] })
|
|
5965
6056
|
] }, item.id);
|
|
5966
6057
|
}) });
|
|
@@ -6589,6 +6680,7 @@ var parseAmount = (value) => {
|
|
|
6589
6680
|
0 && (module.exports = {
|
|
6590
6681
|
Accordion,
|
|
6591
6682
|
Avatar,
|
|
6683
|
+
Banner,
|
|
6592
6684
|
Box,
|
|
6593
6685
|
Bubble,
|
|
6594
6686
|
Bulk,
|
package/dist/index.mjs
CHANGED
|
@@ -5063,16 +5063,106 @@ var Card2 = ({
|
|
|
5063
5063
|
}
|
|
5064
5064
|
);
|
|
5065
5065
|
|
|
5066
|
+
// src/Components/Banner/Banner.tsx
|
|
5067
|
+
import styled45 from "styled-components";
|
|
5068
|
+
import { Fragment as Fragment7, jsx as jsx54, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
5069
|
+
var variantStyles = {
|
|
5070
|
+
blue: {
|
|
5071
|
+
background: "rgba(219, 233, 254, 0.4)",
|
|
5072
|
+
borderColor: "#BEDBFF",
|
|
5073
|
+
badgeBackground: colors.badge_blue_bg,
|
|
5074
|
+
badgeColor: colors.badge_blue_text,
|
|
5075
|
+
action: "blue_950"
|
|
5076
|
+
},
|
|
5077
|
+
red: {
|
|
5078
|
+
background: "rgba(252, 221, 222, 0.4)",
|
|
5079
|
+
borderColor: "#FFD2D2",
|
|
5080
|
+
badgeBackground: "#FCDDDE",
|
|
5081
|
+
badgeColor: colors.red_950,
|
|
5082
|
+
action: "red_950"
|
|
5083
|
+
}
|
|
5084
|
+
};
|
|
5085
|
+
var StyledBanner = styled45.div`
|
|
5086
|
+
box-sizing: border-box;
|
|
5087
|
+
width: 100%;
|
|
5088
|
+
display: flex;
|
|
5089
|
+
align-items: center;
|
|
5090
|
+
justify-content: space-between;
|
|
5091
|
+
gap: 16px;
|
|
5092
|
+
padding: 8px 16px;
|
|
5093
|
+
border-radius: 6px;
|
|
5094
|
+
border: 1px solid ${(p) => p.$borderColor};
|
|
5095
|
+
background: ${(p) => p.$background};
|
|
5096
|
+
`;
|
|
5097
|
+
var Content2 = styled45.div`
|
|
5098
|
+
display: flex;
|
|
5099
|
+
flex-direction: column;
|
|
5100
|
+
gap: 4px;
|
|
5101
|
+
align-items: flex-start;
|
|
5102
|
+
`;
|
|
5103
|
+
var Heading = styled45.div`
|
|
5104
|
+
display: flex;
|
|
5105
|
+
align-items: center;
|
|
5106
|
+
gap: 8px;
|
|
5107
|
+
`;
|
|
5108
|
+
var Banner = ({
|
|
5109
|
+
variant = "blue",
|
|
5110
|
+
badge,
|
|
5111
|
+
title,
|
|
5112
|
+
subtitle,
|
|
5113
|
+
message,
|
|
5114
|
+
action
|
|
5115
|
+
}) => {
|
|
5116
|
+
const style2 = variantStyles[variant];
|
|
5117
|
+
return /* @__PURE__ */ jsxs28(
|
|
5118
|
+
StyledBanner,
|
|
5119
|
+
{
|
|
5120
|
+
$background: style2.background,
|
|
5121
|
+
$borderColor: style2.borderColor,
|
|
5122
|
+
children: [
|
|
5123
|
+
/* @__PURE__ */ jsx54(Content2, { children: message ? /* @__PURE__ */ jsx54(Text, { size: "s", children: message }) : /* @__PURE__ */ jsxs28(Fragment7, { children: [
|
|
5124
|
+
/* @__PURE__ */ jsxs28(Heading, { children: [
|
|
5125
|
+
badge && /* @__PURE__ */ jsx54(
|
|
5126
|
+
Bubble,
|
|
5127
|
+
{
|
|
5128
|
+
backgroundColor: style2.badgeBackground,
|
|
5129
|
+
color: style2.badgeColor,
|
|
5130
|
+
borderRadius: "6px",
|
|
5131
|
+
padding: "2px 8px",
|
|
5132
|
+
style: { fontSize: "11px", lineHeight: "16.5px" },
|
|
5133
|
+
children: badge
|
|
5134
|
+
}
|
|
5135
|
+
),
|
|
5136
|
+
title && /* @__PURE__ */ jsx54(Text, { size: "s", weight: "700", children: title })
|
|
5137
|
+
] }),
|
|
5138
|
+
subtitle && /* @__PURE__ */ jsx54(Text, { size: "xs", children: subtitle })
|
|
5139
|
+
] }) }),
|
|
5140
|
+
action && /* @__PURE__ */ jsx54(
|
|
5141
|
+
Button,
|
|
5142
|
+
{
|
|
5143
|
+
outline: true,
|
|
5144
|
+
size: "xs",
|
|
5145
|
+
variant: style2.action,
|
|
5146
|
+
iconLeft: action.icon,
|
|
5147
|
+
label: action.label,
|
|
5148
|
+
onClick: action.onClick
|
|
5149
|
+
}
|
|
5150
|
+
)
|
|
5151
|
+
]
|
|
5152
|
+
}
|
|
5153
|
+
);
|
|
5154
|
+
};
|
|
5155
|
+
|
|
5066
5156
|
// src/Components/Tooltip/Tooltip.tsx
|
|
5067
5157
|
import { useState as useState17 } from "react";
|
|
5068
|
-
import
|
|
5069
|
-
import { jsx as
|
|
5070
|
-
var StyledTooltipWrapper =
|
|
5158
|
+
import styled46 from "styled-components";
|
|
5159
|
+
import { jsx as jsx55, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
5160
|
+
var StyledTooltipWrapper = styled46.div`
|
|
5071
5161
|
position: relative;
|
|
5072
5162
|
display: inline-block;
|
|
5073
5163
|
cursor: pointer;
|
|
5074
5164
|
`;
|
|
5075
|
-
var StyledTooltipContent =
|
|
5165
|
+
var StyledTooltipContent = styled46.div`
|
|
5076
5166
|
visibility: ${(props) => props.$isVisible ? "visible" : "hidden"};
|
|
5077
5167
|
background-color: ${(props) => props.$backgroundColor || colors.black};
|
|
5078
5168
|
color: ${colors.white};
|
|
@@ -5171,14 +5261,14 @@ var Tooltip = ({
|
|
|
5171
5261
|
const [isVisible, setIsVisible] = useState17(false);
|
|
5172
5262
|
const handleMouseEnter = () => setIsVisible(true);
|
|
5173
5263
|
const handleMouseLeave = () => setIsVisible(false);
|
|
5174
|
-
return /* @__PURE__ */
|
|
5264
|
+
return /* @__PURE__ */ jsxs29(
|
|
5175
5265
|
StyledTooltipWrapper,
|
|
5176
5266
|
{
|
|
5177
5267
|
onMouseEnter: handleMouseEnter,
|
|
5178
5268
|
onMouseLeave: handleMouseLeave,
|
|
5179
5269
|
children: [
|
|
5180
5270
|
children,
|
|
5181
|
-
/* @__PURE__ */
|
|
5271
|
+
/* @__PURE__ */ jsx55(
|
|
5182
5272
|
StyledTooltipContent,
|
|
5183
5273
|
{
|
|
5184
5274
|
$isVisible: isVisible,
|
|
@@ -5186,7 +5276,7 @@ var Tooltip = ({
|
|
|
5186
5276
|
$width: width,
|
|
5187
5277
|
$height: height,
|
|
5188
5278
|
$direction: direction,
|
|
5189
|
-
children: data.length > 0 ? data.map((item, index) => /* @__PURE__ */
|
|
5279
|
+
children: data.length > 0 ? data.map((item, index) => /* @__PURE__ */ jsx55(Text, { size: "s", color: "white", children: item }, index)) : /* @__PURE__ */ jsx55(Text, { size: "s", color: "white", children: "Aucune donn\xE9e" })
|
|
5190
5280
|
}
|
|
5191
5281
|
)
|
|
5192
5282
|
]
|
|
@@ -5196,7 +5286,7 @@ var Tooltip = ({
|
|
|
5196
5286
|
|
|
5197
5287
|
// src/Components/Pagination/Pagination.tsx
|
|
5198
5288
|
import { useMemo as useMemo2 } from "react";
|
|
5199
|
-
import { jsx as
|
|
5289
|
+
import { jsx as jsx56, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
5200
5290
|
var getPageNumbers = (current, total) => {
|
|
5201
5291
|
if (total <= 5) {
|
|
5202
5292
|
return Array.from({ length: total }, (_, i) => i + 1);
|
|
@@ -5226,15 +5316,15 @@ var Pagination = ({
|
|
|
5226
5316
|
const startItem = (currentPage - 1) * itemsPerPage + 1;
|
|
5227
5317
|
const endItem = Math.min(currentPage * itemsPerPage, totalItems);
|
|
5228
5318
|
const summary = summaryLabel || defaultSummary(startItem, endItem, totalItems);
|
|
5229
|
-
return /* @__PURE__ */
|
|
5319
|
+
return /* @__PURE__ */ jsxs30(
|
|
5230
5320
|
Row,
|
|
5231
5321
|
{
|
|
5232
5322
|
justifyContent: showSummary ? "space-between" : "flex-end",
|
|
5233
5323
|
alignItems: "center",
|
|
5234
5324
|
children: [
|
|
5235
|
-
showSummary && /* @__PURE__ */
|
|
5236
|
-
/* @__PURE__ */
|
|
5237
|
-
/* @__PURE__ */
|
|
5325
|
+
showSummary && /* @__PURE__ */ jsx56(Text, { size: "s", color: colors.grey_500, children: summary }),
|
|
5326
|
+
/* @__PURE__ */ jsxs30(Row, { gap: "4", alignItems: "center", style: { width: "fit-content" }, children: [
|
|
5327
|
+
/* @__PURE__ */ jsx56(
|
|
5238
5328
|
Button,
|
|
5239
5329
|
{
|
|
5240
5330
|
size: "xs",
|
|
@@ -5245,7 +5335,7 @@ var Pagination = ({
|
|
|
5245
5335
|
}
|
|
5246
5336
|
),
|
|
5247
5337
|
pages.map(
|
|
5248
|
-
(page, index) => page === "..." ? /* @__PURE__ */
|
|
5338
|
+
(page, index) => page === "..." ? /* @__PURE__ */ jsx56(Text, { size: "s", color: colors.grey_500, children: "..." }, `ellipsis-${index}`) : /* @__PURE__ */ jsx56(
|
|
5249
5339
|
Button,
|
|
5250
5340
|
{
|
|
5251
5341
|
size: "xs",
|
|
@@ -5256,7 +5346,7 @@ var Pagination = ({
|
|
|
5256
5346
|
page
|
|
5257
5347
|
)
|
|
5258
5348
|
),
|
|
5259
|
-
/* @__PURE__ */
|
|
5349
|
+
/* @__PURE__ */ jsx56(
|
|
5260
5350
|
Button,
|
|
5261
5351
|
{
|
|
5262
5352
|
size: "xs",
|
|
@@ -5274,8 +5364,8 @@ var Pagination = ({
|
|
|
5274
5364
|
|
|
5275
5365
|
// src/Components/FileUploadZone/FileUploadZone.tsx
|
|
5276
5366
|
import { useState as useState18, useRef as useRef13, useCallback as useCallback6 } from "react";
|
|
5277
|
-
import
|
|
5278
|
-
import { jsx as
|
|
5367
|
+
import styled47 from "styled-components";
|
|
5368
|
+
import { jsx as jsx57, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
5279
5369
|
var ACCEPT_MAP = {
|
|
5280
5370
|
png: "image/png",
|
|
5281
5371
|
jpg: "image/jpeg",
|
|
@@ -5291,7 +5381,7 @@ var getMimeTypes = (accept) => {
|
|
|
5291
5381
|
return accept.map((ext) => ACCEPT_MAP[ext.toLowerCase()] || ext);
|
|
5292
5382
|
};
|
|
5293
5383
|
var isPdf = (type) => type === "application/pdf";
|
|
5294
|
-
var StyledDropZone =
|
|
5384
|
+
var StyledDropZone = styled47.label`
|
|
5295
5385
|
display: flex;
|
|
5296
5386
|
flex-direction: column;
|
|
5297
5387
|
align-items: center;
|
|
@@ -5315,7 +5405,7 @@ var StyledDropZone = styled46.label`
|
|
|
5315
5405
|
border-color: ${(p) => p.$disabled ? colors.blue_50 : colors.blue_100};
|
|
5316
5406
|
}
|
|
5317
5407
|
`;
|
|
5318
|
-
var StyledPreview =
|
|
5408
|
+
var StyledPreview = styled47.div`
|
|
5319
5409
|
display: flex;
|
|
5320
5410
|
flex-direction: column;
|
|
5321
5411
|
align-items: center;
|
|
@@ -5326,18 +5416,18 @@ var StyledPreview = styled46.div`
|
|
|
5326
5416
|
width: ${(p) => p.$fullWidth ? "100%" : "auto"};
|
|
5327
5417
|
box-sizing: border-box;
|
|
5328
5418
|
`;
|
|
5329
|
-
var StyledImage2 =
|
|
5419
|
+
var StyledImage2 = styled47.img`
|
|
5330
5420
|
max-width: 100%;
|
|
5331
5421
|
max-height: 400px;
|
|
5332
5422
|
border-radius: 4px;
|
|
5333
5423
|
object-fit: contain;
|
|
5334
5424
|
`;
|
|
5335
|
-
var StyledEmbed =
|
|
5425
|
+
var StyledEmbed = styled47.embed`
|
|
5336
5426
|
width: 100%;
|
|
5337
5427
|
height: 500px;
|
|
5338
5428
|
border-radius: 4px;
|
|
5339
5429
|
`;
|
|
5340
|
-
var HiddenInput2 =
|
|
5430
|
+
var HiddenInput2 = styled47.input`
|
|
5341
5431
|
display: none;
|
|
5342
5432
|
`;
|
|
5343
5433
|
var FileUploadZone = ({
|
|
@@ -5473,9 +5563,9 @@ var FileUploadZone = ({
|
|
|
5473
5563
|
onRemove == null ? void 0 : onRemove();
|
|
5474
5564
|
};
|
|
5475
5565
|
if (previewUrl) {
|
|
5476
|
-
return /* @__PURE__ */
|
|
5477
|
-
fileType && isPdf(fileType) ? /* @__PURE__ */
|
|
5478
|
-
/* @__PURE__ */
|
|
5566
|
+
return /* @__PURE__ */ jsxs31(StyledPreview, { $fullWidth: fullWidth, children: [
|
|
5567
|
+
fileType && isPdf(fileType) ? /* @__PURE__ */ jsx57(StyledEmbed, { src: previewUrl, type: "application/pdf" }) : /* @__PURE__ */ jsx57(StyledImage2, { src: previewUrl, alt: "Aper\xE7u du fichier" }),
|
|
5568
|
+
/* @__PURE__ */ jsx57(Row, { gap: "8", justifyContent: "center", children: /* @__PURE__ */ jsx57(
|
|
5479
5569
|
Button,
|
|
5480
5570
|
{
|
|
5481
5571
|
onClick: handleRemove,
|
|
@@ -5489,8 +5579,8 @@ var FileUploadZone = ({
|
|
|
5489
5579
|
}
|
|
5490
5580
|
const showIcon = icon !== false;
|
|
5491
5581
|
const showBrowse = !compact && browseLabel !== false;
|
|
5492
|
-
return /* @__PURE__ */
|
|
5493
|
-
/* @__PURE__ */
|
|
5582
|
+
return /* @__PURE__ */ jsxs31(Col, { gap: "4", fullWidth, children: [
|
|
5583
|
+
/* @__PURE__ */ jsxs31(
|
|
5494
5584
|
StyledDropZone,
|
|
5495
5585
|
{
|
|
5496
5586
|
$isDragging: isDragging,
|
|
@@ -5501,7 +5591,7 @@ var FileUploadZone = ({
|
|
|
5501
5591
|
onDragLeave: handleDragLeave,
|
|
5502
5592
|
onDrop: handleDrop,
|
|
5503
5593
|
children: [
|
|
5504
|
-
/* @__PURE__ */
|
|
5594
|
+
/* @__PURE__ */ jsx57(
|
|
5505
5595
|
HiddenInput2,
|
|
5506
5596
|
{
|
|
5507
5597
|
ref: inputRef,
|
|
@@ -5512,7 +5602,7 @@ var FileUploadZone = ({
|
|
|
5512
5602
|
multiple
|
|
5513
5603
|
}
|
|
5514
5604
|
),
|
|
5515
|
-
showIcon && /* @__PURE__ */
|
|
5605
|
+
showIcon && /* @__PURE__ */ jsx57(
|
|
5516
5606
|
Icon,
|
|
5517
5607
|
{
|
|
5518
5608
|
name: icon,
|
|
@@ -5521,9 +5611,9 @@ var FileUploadZone = ({
|
|
|
5521
5611
|
color: "blue_700"
|
|
5522
5612
|
}
|
|
5523
5613
|
),
|
|
5524
|
-
/* @__PURE__ */
|
|
5525
|
-
showBrowse && /* @__PURE__ */
|
|
5526
|
-
showBrowse && /* @__PURE__ */
|
|
5614
|
+
/* @__PURE__ */ jsx57(Text, { size: "s", variant: "grey_600", align: "center", children: label }),
|
|
5615
|
+
showBrowse && /* @__PURE__ */ jsx57(Text, { size: "xs", variant: "grey_600", align: "center", children: "ou" }),
|
|
5616
|
+
showBrowse && /* @__PURE__ */ jsx57(
|
|
5527
5617
|
Button,
|
|
5528
5618
|
{
|
|
5529
5619
|
outline: true,
|
|
@@ -5536,21 +5626,21 @@ var FileUploadZone = ({
|
|
|
5536
5626
|
}
|
|
5537
5627
|
}
|
|
5538
5628
|
),
|
|
5539
|
-
sublabel && /* @__PURE__ */
|
|
5629
|
+
sublabel && /* @__PURE__ */ jsx57(Text, { size: "xs", variant: "grey_500", align: "center", children: sublabel })
|
|
5540
5630
|
]
|
|
5541
5631
|
}
|
|
5542
5632
|
),
|
|
5543
|
-
showFileName && fileName && /* @__PURE__ */
|
|
5544
|
-
/* @__PURE__ */
|
|
5545
|
-
/* @__PURE__ */
|
|
5633
|
+
showFileName && fileName && /* @__PURE__ */ jsxs31(Row, { gap: "8", alignItems: "center", justifyContent: "center", children: [
|
|
5634
|
+
/* @__PURE__ */ jsx57(Icon, { name: "file", size: "s", color: "green_700" }),
|
|
5635
|
+
/* @__PURE__ */ jsx57(Text, { size: "s", color: "green_700", children: fileName })
|
|
5546
5636
|
] }),
|
|
5547
|
-
inlineError && /* @__PURE__ */
|
|
5637
|
+
inlineError && /* @__PURE__ */ jsx57(Text, { size: "s", color: "danger", align: "center", children: inlineError })
|
|
5548
5638
|
] });
|
|
5549
5639
|
};
|
|
5550
5640
|
|
|
5551
5641
|
// src/Components/Spinner/Spinner.tsx
|
|
5552
|
-
import
|
|
5553
|
-
import { jsx as
|
|
5642
|
+
import styled48, { keyframes as keyframes2 } from "styled-components";
|
|
5643
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
5554
5644
|
var SIZES3 = {
|
|
5555
5645
|
s: 20,
|
|
5556
5646
|
m: 32,
|
|
@@ -5560,7 +5650,7 @@ var spin = keyframes2`
|
|
|
5560
5650
|
0% { transform: rotate(0deg); }
|
|
5561
5651
|
100% { transform: rotate(360deg); }
|
|
5562
5652
|
`;
|
|
5563
|
-
var StyledSpinner =
|
|
5653
|
+
var StyledSpinner = styled48.span`
|
|
5564
5654
|
display: inline-block;
|
|
5565
5655
|
width: ${(p) => p.$size}px;
|
|
5566
5656
|
height: ${(p) => p.$size}px;
|
|
@@ -5573,7 +5663,7 @@ var StyledSpinner = styled47.span`
|
|
|
5573
5663
|
var Spinner = ({ size = "m", color = "primary" }) => {
|
|
5574
5664
|
const resolvedSize = SIZES3[size];
|
|
5575
5665
|
const resolvedColor = colors[color] || color || colors.primary;
|
|
5576
|
-
return /* @__PURE__ */
|
|
5666
|
+
return /* @__PURE__ */ jsx58(
|
|
5577
5667
|
StyledSpinner,
|
|
5578
5668
|
{
|
|
5579
5669
|
$size: resolvedSize,
|
|
@@ -5585,7 +5675,7 @@ var Spinner = ({ size = "m", color = "primary" }) => {
|
|
|
5585
5675
|
};
|
|
5586
5676
|
|
|
5587
5677
|
// src/Components/EmptyState/EmptyState.tsx
|
|
5588
|
-
import { jsx as
|
|
5678
|
+
import { jsx as jsx59, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
5589
5679
|
var EmptyState = ({
|
|
5590
5680
|
icon = "inbox",
|
|
5591
5681
|
title = "Aucun r\xE9sultat",
|
|
@@ -5593,7 +5683,7 @@ var EmptyState = ({
|
|
|
5593
5683
|
actionLabel,
|
|
5594
5684
|
onAction
|
|
5595
5685
|
}) => {
|
|
5596
|
-
return /* @__PURE__ */
|
|
5686
|
+
return /* @__PURE__ */ jsxs32(
|
|
5597
5687
|
Col,
|
|
5598
5688
|
{
|
|
5599
5689
|
fullWidth: true,
|
|
@@ -5602,20 +5692,20 @@ var EmptyState = ({
|
|
|
5602
5692
|
gap: "24",
|
|
5603
5693
|
padding: "24px 16px",
|
|
5604
5694
|
children: [
|
|
5605
|
-
/* @__PURE__ */
|
|
5606
|
-
/* @__PURE__ */
|
|
5607
|
-
/* @__PURE__ */
|
|
5608
|
-
description && /* @__PURE__ */
|
|
5695
|
+
/* @__PURE__ */ jsx59(Icon, { name: icon, family: "solid", size: "xxl", color: "grey_300" }),
|
|
5696
|
+
/* @__PURE__ */ jsxs32(Col, { alignItems: "center", gap: "4", style: { maxWidth: "360px" }, children: [
|
|
5697
|
+
/* @__PURE__ */ jsx59(Text, { size: "m", weight: "600", variant: "grey_600", align: "center", children: title }),
|
|
5698
|
+
description && /* @__PURE__ */ jsx59(Text, { size: "s", variant: "grey_500", align: "center", children: description })
|
|
5609
5699
|
] }),
|
|
5610
|
-
actionLabel && onAction && /* @__PURE__ */
|
|
5700
|
+
actionLabel && onAction && /* @__PURE__ */ jsx59(Button, { label: actionLabel, onClick: onAction })
|
|
5611
5701
|
]
|
|
5612
5702
|
}
|
|
5613
5703
|
);
|
|
5614
5704
|
};
|
|
5615
5705
|
|
|
5616
5706
|
// src/Components/FloatingButton/FloatingButton.tsx
|
|
5617
|
-
import
|
|
5618
|
-
import { jsx as
|
|
5707
|
+
import styled49 from "styled-components";
|
|
5708
|
+
import { jsx as jsx60, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
5619
5709
|
var FloatingButton = ({
|
|
5620
5710
|
isOpen,
|
|
5621
5711
|
onToggle,
|
|
@@ -5627,10 +5717,10 @@ var FloatingButton = ({
|
|
|
5627
5717
|
variant = "blue_700"
|
|
5628
5718
|
}) => {
|
|
5629
5719
|
const accent = colors[variant];
|
|
5630
|
-
return /* @__PURE__ */
|
|
5720
|
+
return /* @__PURE__ */ jsxs33(Container6, { children: [
|
|
5631
5721
|
actions.map((action, index) => {
|
|
5632
5722
|
var _a;
|
|
5633
|
-
return /* @__PURE__ */
|
|
5723
|
+
return /* @__PURE__ */ jsxs33(
|
|
5634
5724
|
SubButton,
|
|
5635
5725
|
{
|
|
5636
5726
|
type: "button",
|
|
@@ -5639,14 +5729,14 @@ var FloatingButton = ({
|
|
|
5639
5729
|
$transform: arcTransform(index, actions.length),
|
|
5640
5730
|
onClick: action.onClick,
|
|
5641
5731
|
children: [
|
|
5642
|
-
/* @__PURE__ */
|
|
5643
|
-
((_a = action.badge) != null ? _a : 0) > 0 && /* @__PURE__ */
|
|
5732
|
+
/* @__PURE__ */ jsx60(Icon, { name: action.icon, family: "regular", size: "s", color: accent }),
|
|
5733
|
+
((_a = action.badge) != null ? _a : 0) > 0 && /* @__PURE__ */ jsx60(CountBadge, { children: action.badge })
|
|
5644
5734
|
]
|
|
5645
5735
|
},
|
|
5646
5736
|
action.id
|
|
5647
5737
|
);
|
|
5648
5738
|
}),
|
|
5649
|
-
/* @__PURE__ */
|
|
5739
|
+
/* @__PURE__ */ jsxs33(
|
|
5650
5740
|
MainButton,
|
|
5651
5741
|
{
|
|
5652
5742
|
type: "button",
|
|
@@ -5655,7 +5745,7 @@ var FloatingButton = ({
|
|
|
5655
5745
|
$accent: accent,
|
|
5656
5746
|
onClick: onToggle,
|
|
5657
5747
|
children: [
|
|
5658
|
-
/* @__PURE__ */
|
|
5748
|
+
/* @__PURE__ */ jsx60(
|
|
5659
5749
|
Icon,
|
|
5660
5750
|
{
|
|
5661
5751
|
name: isOpen ? openIcon : icon,
|
|
@@ -5664,7 +5754,7 @@ var FloatingButton = ({
|
|
|
5664
5754
|
color: colors.white
|
|
5665
5755
|
}
|
|
5666
5756
|
),
|
|
5667
|
-
!isOpen && mainBadge > 0 && /* @__PURE__ */
|
|
5757
|
+
!isOpen && mainBadge > 0 && /* @__PURE__ */ jsx60(CountBadge, { children: mainBadge })
|
|
5668
5758
|
]
|
|
5669
5759
|
}
|
|
5670
5760
|
)
|
|
@@ -5683,7 +5773,7 @@ var arcTransform = (index, total) => {
|
|
|
5683
5773
|
const y = Math.round(-Math.sin(angle) * ARC_RADIUS);
|
|
5684
5774
|
return `translate(${x}px, ${y}px)`;
|
|
5685
5775
|
};
|
|
5686
|
-
var Container6 =
|
|
5776
|
+
var Container6 = styled49.div`
|
|
5687
5777
|
position: fixed;
|
|
5688
5778
|
right: 32px;
|
|
5689
5779
|
bottom: 32px;
|
|
@@ -5691,7 +5781,7 @@ var Container6 = styled48.div`
|
|
|
5691
5781
|
height: ${FAB_SIZE}px;
|
|
5692
5782
|
z-index: 1000;
|
|
5693
5783
|
`;
|
|
5694
|
-
var MainButton =
|
|
5784
|
+
var MainButton = styled49.button`
|
|
5695
5785
|
position: absolute;
|
|
5696
5786
|
inset: 0;
|
|
5697
5787
|
display: flex;
|
|
@@ -5705,7 +5795,7 @@ var MainButton = styled48.button`
|
|
|
5705
5795
|
0 8px 5px rgba(0, 0, 0, 0.1),
|
|
5706
5796
|
0 20px 12.5px rgba(0, 0, 0, 0.1);
|
|
5707
5797
|
`;
|
|
5708
|
-
var SubButton =
|
|
5798
|
+
var SubButton = styled49.button`
|
|
5709
5799
|
position: absolute;
|
|
5710
5800
|
left: ${(FAB_SIZE - SUB_SIZE) / 2}px;
|
|
5711
5801
|
top: ${(FAB_SIZE - SUB_SIZE) / 2}px;
|
|
@@ -5728,7 +5818,7 @@ var SubButton = styled48.button`
|
|
|
5728
5818
|
opacity: ${({ $isOpen }) => $isOpen ? 1 : 0};
|
|
5729
5819
|
pointer-events: ${({ $isOpen }) => $isOpen ? "auto" : "none"};
|
|
5730
5820
|
`;
|
|
5731
|
-
var CountBadge =
|
|
5821
|
+
var CountBadge = styled49.span`
|
|
5732
5822
|
position: absolute;
|
|
5733
5823
|
top: -4px;
|
|
5734
5824
|
right: -4px;
|
|
@@ -5746,16 +5836,16 @@ var CountBadge = styled48.span`
|
|
|
5746
5836
|
`;
|
|
5747
5837
|
|
|
5748
5838
|
// src/Components/ProgressBar/ProgressBar.tsx
|
|
5749
|
-
import
|
|
5750
|
-
import { jsx as
|
|
5839
|
+
import styled50 from "styled-components";
|
|
5840
|
+
import { jsx as jsx61, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
5751
5841
|
var clampPercent = (value) => Math.max(0, Math.min(100, value));
|
|
5752
|
-
var Wrapper6 =
|
|
5842
|
+
var Wrapper6 = styled50.div`
|
|
5753
5843
|
display: flex;
|
|
5754
5844
|
align-items: center;
|
|
5755
5845
|
gap: 8px;
|
|
5756
5846
|
width: 100%;
|
|
5757
5847
|
`;
|
|
5758
|
-
var Track2 =
|
|
5848
|
+
var Track2 = styled50.div`
|
|
5759
5849
|
position: relative;
|
|
5760
5850
|
flex: 1;
|
|
5761
5851
|
height: ${({ $height }) => $height}px;
|
|
@@ -5763,7 +5853,7 @@ var Track2 = styled49.div`
|
|
|
5763
5853
|
border-radius: ${({ $height }) => $height}px;
|
|
5764
5854
|
overflow: hidden;
|
|
5765
5855
|
`;
|
|
5766
|
-
var Fill =
|
|
5856
|
+
var Fill = styled50.div`
|
|
5767
5857
|
height: 100%;
|
|
5768
5858
|
width: ${({ $percent }) => $percent}%;
|
|
5769
5859
|
background: ${({ $color }) => $color};
|
|
@@ -5778,9 +5868,9 @@ var ProgressBar2 = ({
|
|
|
5778
5868
|
showLabel = false
|
|
5779
5869
|
}) => {
|
|
5780
5870
|
const percent = clampPercent(value);
|
|
5781
|
-
return /* @__PURE__ */
|
|
5782
|
-
/* @__PURE__ */
|
|
5783
|
-
showLabel && /* @__PURE__ */
|
|
5871
|
+
return /* @__PURE__ */ jsxs34(Wrapper6, { children: [
|
|
5872
|
+
/* @__PURE__ */ jsx61(Track2, { $height: height, $trackColor: trackColor, children: /* @__PURE__ */ jsx61(Fill, { $height: height, $color: color, $percent: percent }) }),
|
|
5873
|
+
showLabel && /* @__PURE__ */ jsxs34(Text, { size: "s", weight: "600", children: [
|
|
5784
5874
|
Math.round(percent),
|
|
5785
5875
|
" %"
|
|
5786
5876
|
] })
|
|
@@ -5788,24 +5878,24 @@ var ProgressBar2 = ({
|
|
|
5788
5878
|
};
|
|
5789
5879
|
|
|
5790
5880
|
// src/Components/Timeline/Timeline.tsx
|
|
5791
|
-
import
|
|
5792
|
-
import { jsx as
|
|
5793
|
-
var List2 =
|
|
5881
|
+
import styled51 from "styled-components";
|
|
5882
|
+
import { jsx as jsx62, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
5883
|
+
var List2 = styled51.div`
|
|
5794
5884
|
display: flex;
|
|
5795
5885
|
flex-direction: column;
|
|
5796
5886
|
`;
|
|
5797
|
-
var Item2 =
|
|
5887
|
+
var Item2 = styled51.div`
|
|
5798
5888
|
display: flex;
|
|
5799
5889
|
gap: 12px;
|
|
5800
5890
|
align-items: stretch;
|
|
5801
5891
|
`;
|
|
5802
|
-
var Rail =
|
|
5892
|
+
var Rail = styled51.div`
|
|
5803
5893
|
display: flex;
|
|
5804
5894
|
flex-direction: column;
|
|
5805
5895
|
align-items: center;
|
|
5806
5896
|
width: 16px;
|
|
5807
5897
|
`;
|
|
5808
|
-
var Dot2 =
|
|
5898
|
+
var Dot2 = styled51.div`
|
|
5809
5899
|
width: 10px;
|
|
5810
5900
|
height: 10px;
|
|
5811
5901
|
border-radius: 50%;
|
|
@@ -5813,13 +5903,13 @@ var Dot2 = styled50.div`
|
|
|
5813
5903
|
flex: 0 0 auto;
|
|
5814
5904
|
background: ${({ $color }) => $color};
|
|
5815
5905
|
`;
|
|
5816
|
-
var Line =
|
|
5906
|
+
var Line = styled51.div`
|
|
5817
5907
|
width: 2px;
|
|
5818
5908
|
flex: 1;
|
|
5819
5909
|
min-height: 16px;
|
|
5820
5910
|
background: ${({ $color }) => $color};
|
|
5821
5911
|
`;
|
|
5822
|
-
var
|
|
5912
|
+
var Content3 = styled51.div`
|
|
5823
5913
|
display: flex;
|
|
5824
5914
|
flex-direction: column;
|
|
5825
5915
|
gap: 2px;
|
|
@@ -5831,21 +5921,21 @@ var Timeline = ({
|
|
|
5831
5921
|
emptyLabel = "Aucun \xE9v\xE9nement"
|
|
5832
5922
|
}) => {
|
|
5833
5923
|
if (items.length === 0) {
|
|
5834
|
-
return /* @__PURE__ */
|
|
5924
|
+
return /* @__PURE__ */ jsx62(Text, { size: "s", color: colors.grey_600, children: emptyLabel });
|
|
5835
5925
|
}
|
|
5836
|
-
return /* @__PURE__ */
|
|
5926
|
+
return /* @__PURE__ */ jsx62(List2, { children: items.map((item, index) => {
|
|
5837
5927
|
var _a;
|
|
5838
5928
|
const isLast = index === items.length - 1;
|
|
5839
5929
|
const dotColor = (_a = item.color) != null ? _a : colors.blue_700;
|
|
5840
|
-
return /* @__PURE__ */
|
|
5841
|
-
/* @__PURE__ */
|
|
5842
|
-
/* @__PURE__ */
|
|
5843
|
-
!isLast && /* @__PURE__ */
|
|
5930
|
+
return /* @__PURE__ */ jsxs35(Item2, { children: [
|
|
5931
|
+
/* @__PURE__ */ jsxs35(Rail, { children: [
|
|
5932
|
+
/* @__PURE__ */ jsx62(Dot2, { $color: dotColor }),
|
|
5933
|
+
!isLast && /* @__PURE__ */ jsx62(Line, { $color: lineColor })
|
|
5844
5934
|
] }),
|
|
5845
|
-
/* @__PURE__ */
|
|
5846
|
-
/* @__PURE__ */
|
|
5847
|
-
item.subtitle && /* @__PURE__ */
|
|
5848
|
-
item.description && /* @__PURE__ */
|
|
5935
|
+
/* @__PURE__ */ jsxs35(Content3, { $last: isLast, children: [
|
|
5936
|
+
/* @__PURE__ */ jsx62(Text, { size: "s", weight: item.highlighted ? "700" : "600", children: item.title }),
|
|
5937
|
+
item.subtitle && /* @__PURE__ */ jsx62(Text, { size: "xs", color: colors.grey_600, children: item.subtitle }),
|
|
5938
|
+
item.description && /* @__PURE__ */ jsx62(Text, { size: "xs", fontStyle: "italic", children: item.description })
|
|
5849
5939
|
] })
|
|
5850
5940
|
] }, item.id);
|
|
5851
5941
|
}) });
|
|
@@ -6473,6 +6563,7 @@ var parseAmount = (value) => {
|
|
|
6473
6563
|
export {
|
|
6474
6564
|
Accordion,
|
|
6475
6565
|
Avatar,
|
|
6566
|
+
Banner,
|
|
6476
6567
|
Box,
|
|
6477
6568
|
Bubble,
|
|
6478
6569
|
Bulk,
|