design-zystem 1.0.415 → 1.0.417
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/ui/index.d.mts +47 -9
- package/dist/ui/index.d.ts +47 -9
- package/dist/ui/index.js +336 -244
- package/dist/ui/index.mjs +335 -244
- package/dist/ui/style.css +1 -1
- package/package.json +1 -1
package/dist/ui/index.js
CHANGED
|
@@ -173,6 +173,7 @@ __export(index_exports, {
|
|
|
173
173
|
TagSelect: () => TagSelect,
|
|
174
174
|
Text: () => Text,
|
|
175
175
|
Textarea: () => Textarea,
|
|
176
|
+
Tile: () => Tile,
|
|
176
177
|
Timeline: () => Timeline,
|
|
177
178
|
Toaster: () => Toaster,
|
|
178
179
|
Tooltip: () => Tooltip,
|
|
@@ -532,6 +533,7 @@ var Box = (0, import_react2.forwardRef)(
|
|
|
532
533
|
hasShadow,
|
|
533
534
|
accent = "none",
|
|
534
535
|
width,
|
|
536
|
+
hexBackground,
|
|
535
537
|
className,
|
|
536
538
|
style
|
|
537
539
|
} = _b, props = __objRest(_b, [
|
|
@@ -540,6 +542,7 @@ var Box = (0, import_react2.forwardRef)(
|
|
|
540
542
|
"hasShadow",
|
|
541
543
|
"accent",
|
|
542
544
|
"width",
|
|
545
|
+
"hexBackground",
|
|
543
546
|
"className",
|
|
544
547
|
"style"
|
|
545
548
|
]);
|
|
@@ -552,7 +555,7 @@ var Box = (0, import_react2.forwardRef)(
|
|
|
552
555
|
ACCENT_CLASS[accent],
|
|
553
556
|
className
|
|
554
557
|
),
|
|
555
|
-
style: width
|
|
558
|
+
style: __spreadValues(__spreadValues(__spreadValues({}, width && { width }), hexBackground && { backgroundColor: hexBackground }), style)
|
|
556
559
|
}, props)
|
|
557
560
|
);
|
|
558
561
|
}
|
|
@@ -1993,7 +1996,9 @@ var badgeVariants = (0, import_class_variance_authority10.cva)(
|
|
|
1993
1996
|
variants: {
|
|
1994
1997
|
size: {
|
|
1995
1998
|
s: "px-1 py-0.5 text-[9px]",
|
|
1996
|
-
m: "px-1.5 py-0.5 text-[11px]"
|
|
1999
|
+
m: "px-1.5 py-0.5 text-[11px]",
|
|
2000
|
+
/** Case de tableau : pastille de hauteur fixe, largeur minimale commune. */
|
|
2001
|
+
l: "h-[26px] min-w-[74px] gap-1.5 px-3 text-[11px] font-bold"
|
|
1997
2002
|
},
|
|
1998
2003
|
shape: {
|
|
1999
2004
|
square: "rounded-[0.35em]",
|
|
@@ -2013,6 +2018,7 @@ var Badge = (0, import_react18.forwardRef)(
|
|
|
2013
2018
|
theme = "blue-700",
|
|
2014
2019
|
backgroundColor,
|
|
2015
2020
|
textColor,
|
|
2021
|
+
borderColor,
|
|
2016
2022
|
size,
|
|
2017
2023
|
shape,
|
|
2018
2024
|
pointer = false,
|
|
@@ -2027,6 +2033,7 @@ var Badge = (0, import_react18.forwardRef)(
|
|
|
2027
2033
|
"theme",
|
|
2028
2034
|
"backgroundColor",
|
|
2029
2035
|
"textColor",
|
|
2036
|
+
"borderColor",
|
|
2030
2037
|
"size",
|
|
2031
2038
|
"shape",
|
|
2032
2039
|
"pointer",
|
|
@@ -2046,13 +2053,15 @@ var Badge = (0, import_react18.forwardRef)(
|
|
|
2046
2053
|
badgeVariants({ size, shape }),
|
|
2047
2054
|
!backgroundColor && THEME_VARIANT_CLASSES[variant][theme],
|
|
2048
2055
|
fullWidth && "w-full",
|
|
2056
|
+
borderColor && "border",
|
|
2049
2057
|
pointer && "cursor-pointer",
|
|
2050
2058
|
pulse && "animate-[badge-pulse_2s_ease-in-out_infinite] motion-reduce:animate-none",
|
|
2051
2059
|
className
|
|
2052
2060
|
),
|
|
2053
2061
|
style: __spreadValues(__spreadValues({
|
|
2054
2062
|
backgroundColor,
|
|
2055
|
-
color: textColor
|
|
2063
|
+
color: textColor,
|
|
2064
|
+
borderColor
|
|
2056
2065
|
}, maxChars ? { maxWidth: `${maxChars}ch` } : {}), style)
|
|
2057
2066
|
}, props)
|
|
2058
2067
|
);
|
|
@@ -2070,6 +2079,7 @@ var Tabs = ({
|
|
|
2070
2079
|
items,
|
|
2071
2080
|
variant = "line",
|
|
2072
2081
|
fullWidth = false,
|
|
2082
|
+
uppercase = false,
|
|
2073
2083
|
className
|
|
2074
2084
|
}) => {
|
|
2075
2085
|
const listRef = (0, import_react19.useRef)(null);
|
|
@@ -2122,6 +2132,7 @@ var Tabs = ({
|
|
|
2122
2132
|
"relative inline-flex select-none items-center justify-center gap-1.5 whitespace-nowrap border-0 text-center outline-none transition-colors",
|
|
2123
2133
|
"disabled:cursor-not-allowed disabled:opacity-60",
|
|
2124
2134
|
fullWidth && "flex-1",
|
|
2135
|
+
uppercase && "uppercase tracking-[0.01em]",
|
|
2125
2136
|
isPills ? cn(
|
|
2126
2137
|
"rounded-md px-4 py-2 text-sm",
|
|
2127
2138
|
value === item.id ? "bg-white font-bold text-neutral-800" : "bg-transparent font-medium text-neutral-800"
|
|
@@ -4093,6 +4104,7 @@ var trackVariants2 = (0, import_class_variance_authority12.cva)(
|
|
|
4093
4104
|
{
|
|
4094
4105
|
variants: {
|
|
4095
4106
|
height: {
|
|
4107
|
+
xs: "h-1",
|
|
4096
4108
|
sm: "h-1.5",
|
|
4097
4109
|
md: "h-2",
|
|
4098
4110
|
lg: "h-3",
|
|
@@ -4133,15 +4145,18 @@ var THUMB_BORDER_CLASS = {
|
|
|
4133
4145
|
"purple-700": "border-purple-700"
|
|
4134
4146
|
};
|
|
4135
4147
|
var ProgressBar = ({
|
|
4136
|
-
value,
|
|
4148
|
+
value = 0,
|
|
4137
4149
|
onChange,
|
|
4138
4150
|
min = 0,
|
|
4139
4151
|
max = 100,
|
|
4140
4152
|
step = 1,
|
|
4141
4153
|
disabled = false,
|
|
4142
4154
|
color = "blue-700",
|
|
4155
|
+
hexColor,
|
|
4156
|
+
segments,
|
|
4143
4157
|
height,
|
|
4144
4158
|
label,
|
|
4159
|
+
"aria-label": ariaLabel,
|
|
4145
4160
|
showLabel = false,
|
|
4146
4161
|
formatValue,
|
|
4147
4162
|
className
|
|
@@ -4150,6 +4165,32 @@ var ProgressBar = ({
|
|
|
4150
4165
|
const percent = max !== min ? (current - min) / (max - min) * 100 : 0;
|
|
4151
4166
|
const display = (v) => formatValue ? formatValue(v) : String(v);
|
|
4152
4167
|
const editable = Boolean(onChange);
|
|
4168
|
+
if (segments) {
|
|
4169
|
+
const visible = segments.filter((segment) => segment.value > 0);
|
|
4170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Layout, { column: true, fullWidth: true, gap: 1, className, children: [
|
|
4171
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "text-xs text-grey-600", children: label }),
|
|
4172
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
4173
|
+
"div",
|
|
4174
|
+
{
|
|
4175
|
+
role: "img",
|
|
4176
|
+
"aria-label": ariaLabel != null ? ariaLabel : label,
|
|
4177
|
+
className: cn(trackVariants2({ height }), "flex gap-0.5"),
|
|
4178
|
+
children: visible.map((segment, index) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
4179
|
+
"span",
|
|
4180
|
+
{
|
|
4181
|
+
className: "h-full",
|
|
4182
|
+
style: {
|
|
4183
|
+
flexGrow: segment.value,
|
|
4184
|
+
flexBasis: 0,
|
|
4185
|
+
backgroundColor: segment.hexColor
|
|
4186
|
+
}
|
|
4187
|
+
},
|
|
4188
|
+
index
|
|
4189
|
+
))
|
|
4190
|
+
}
|
|
4191
|
+
)
|
|
4192
|
+
] });
|
|
4193
|
+
}
|
|
4153
4194
|
if (!editable) {
|
|
4154
4195
|
const readOnlyPercent = Math.max(0, Math.min(100, percent));
|
|
4155
4196
|
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Layout, { column: true, fullWidth: true, gap: 1, className, children: [
|
|
@@ -4159,15 +4200,19 @@ var ProgressBar = ({
|
|
|
4159
4200
|
RadixProgress.Root,
|
|
4160
4201
|
{
|
|
4161
4202
|
value: readOnlyPercent,
|
|
4203
|
+
"aria-label": ariaLabel != null ? ariaLabel : label,
|
|
4162
4204
|
className: trackVariants2({ height }),
|
|
4163
4205
|
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
4164
4206
|
RadixProgress.Indicator,
|
|
4165
4207
|
{
|
|
4166
4208
|
className: cn(
|
|
4167
4209
|
"h-full rounded-full transition-[width] duration-200",
|
|
4168
|
-
FILL_CLASS[color]
|
|
4210
|
+
!hexColor && FILL_CLASS[color]
|
|
4169
4211
|
),
|
|
4170
|
-
style: {
|
|
4212
|
+
style: {
|
|
4213
|
+
width: `${readOnlyPercent}%`,
|
|
4214
|
+
backgroundColor: hexColor
|
|
4215
|
+
}
|
|
4171
4216
|
}
|
|
4172
4217
|
)
|
|
4173
4218
|
}
|
|
@@ -4208,7 +4253,11 @@ var ProgressBar = ({
|
|
|
4208
4253
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(RadixSlider.Track, { className: cn(trackVariants2({ height }), "grow"), children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
4209
4254
|
RadixSlider.Range,
|
|
4210
4255
|
{
|
|
4211
|
-
className: cn(
|
|
4256
|
+
className: cn(
|
|
4257
|
+
"absolute h-full rounded-full",
|
|
4258
|
+
!hexColor && FILL_CLASS[color]
|
|
4259
|
+
),
|
|
4260
|
+
style: { backgroundColor: hexColor }
|
|
4212
4261
|
}
|
|
4213
4262
|
) }),
|
|
4214
4263
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
@@ -4217,8 +4266,9 @@ var ProgressBar = ({
|
|
|
4217
4266
|
className: cn(
|
|
4218
4267
|
"block h-5 w-5 rounded-full border-2 bg-white shadow-[0_2px_6px_rgba(15,23,42,0.2)] outline-none transition-transform",
|
|
4219
4268
|
"hover:scale-110 focus-visible:ring-2 focus-visible:ring-blue-200",
|
|
4220
|
-
THUMB_BORDER_CLASS[color]
|
|
4221
|
-
)
|
|
4269
|
+
!hexColor && THUMB_BORDER_CLASS[color]
|
|
4270
|
+
),
|
|
4271
|
+
style: { borderColor: hexColor }
|
|
4222
4272
|
}
|
|
4223
4273
|
)
|
|
4224
4274
|
]
|
|
@@ -6008,8 +6058,49 @@ var MetricCard = ({
|
|
|
6008
6058
|
}
|
|
6009
6059
|
);
|
|
6010
6060
|
|
|
6011
|
-
// src/ui/components/ui/
|
|
6061
|
+
// src/ui/components/ui/Tile.tsx
|
|
6012
6062
|
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
6063
|
+
var Tile = ({
|
|
6064
|
+
children,
|
|
6065
|
+
onClick,
|
|
6066
|
+
selected = false,
|
|
6067
|
+
variant = "outline",
|
|
6068
|
+
expandedContent,
|
|
6069
|
+
className
|
|
6070
|
+
}) => {
|
|
6071
|
+
const isOutline = variant === "outline";
|
|
6072
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
6073
|
+
"div",
|
|
6074
|
+
{
|
|
6075
|
+
className: cn(
|
|
6076
|
+
"w-full overflow-hidden rounded-[6px]",
|
|
6077
|
+
isOutline && "border bg-white",
|
|
6078
|
+
isOutline && (selected ? "border-blue-700 ring-1 ring-blue-700" : "border-grey-200"),
|
|
6079
|
+
!isOutline && selected && "bg-blue-50",
|
|
6080
|
+
className
|
|
6081
|
+
),
|
|
6082
|
+
children: [
|
|
6083
|
+
onClick ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6084
|
+
"button",
|
|
6085
|
+
{
|
|
6086
|
+
type: "button",
|
|
6087
|
+
"aria-pressed": selected,
|
|
6088
|
+
onClick,
|
|
6089
|
+
className: cn(
|
|
6090
|
+
"block w-full cursor-pointer border-0 bg-transparent p-0 text-left outline-none transition-colors",
|
|
6091
|
+
"hover:bg-black/[0.025] focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-blue-200"
|
|
6092
|
+
),
|
|
6093
|
+
children
|
|
6094
|
+
}
|
|
6095
|
+
) : children,
|
|
6096
|
+
expandedContent && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: cn(isOutline && "border-t border-grey-300"), children: expandedContent })
|
|
6097
|
+
]
|
|
6098
|
+
}
|
|
6099
|
+
);
|
|
6100
|
+
};
|
|
6101
|
+
|
|
6102
|
+
// src/ui/components/ui/Skeleton.tsx
|
|
6103
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
6013
6104
|
var toCss = (value) => typeof value === "number" ? `${value}px` : value;
|
|
6014
6105
|
var Skeleton = (_a) => {
|
|
6015
6106
|
var _b = _a, {
|
|
@@ -6025,7 +6116,7 @@ var Skeleton = (_a) => {
|
|
|
6025
6116
|
"className",
|
|
6026
6117
|
"style"
|
|
6027
6118
|
]);
|
|
6028
|
-
return /* @__PURE__ */ (0,
|
|
6119
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6029
6120
|
"div",
|
|
6030
6121
|
__spreadValues({
|
|
6031
6122
|
className: cn(
|
|
@@ -6040,7 +6131,7 @@ var Skeleton = (_a) => {
|
|
|
6040
6131
|
|
|
6041
6132
|
// src/ui/components/ui/TagBubble.tsx
|
|
6042
6133
|
var RadixToggle = __toESM(require("@radix-ui/react-toggle"));
|
|
6043
|
-
var
|
|
6134
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
6044
6135
|
var DOT_CLASS = {
|
|
6045
6136
|
"blue-700": "bg-blue-700",
|
|
6046
6137
|
"blue-900": "bg-blue-900",
|
|
@@ -6132,7 +6223,7 @@ var TagBubble = (_a) => {
|
|
|
6132
6223
|
const filled = activeFill && active;
|
|
6133
6224
|
const dotColor = active ? activeColor : inactiveColor;
|
|
6134
6225
|
const filledHexColor = filled && isHexColor(activeColor) ? activeColor : void 0;
|
|
6135
|
-
return /* @__PURE__ */ (0,
|
|
6226
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
6136
6227
|
RadixToggle.Root,
|
|
6137
6228
|
__spreadProps(__spreadValues({}, rest), {
|
|
6138
6229
|
type: "button",
|
|
@@ -6150,7 +6241,7 @@ var TagBubble = (_a) => {
|
|
|
6150
6241
|
className
|
|
6151
6242
|
),
|
|
6152
6243
|
children: [
|
|
6153
|
-
!hideDot && /* @__PURE__ */ (0,
|
|
6244
|
+
!hideDot && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
6154
6245
|
"span",
|
|
6155
6246
|
{
|
|
6156
6247
|
className: cn(
|
|
@@ -6160,7 +6251,7 @@ var TagBubble = (_a) => {
|
|
|
6160
6251
|
style: isHexColor(dotColor) ? { backgroundColor: dotColor } : void 0
|
|
6161
6252
|
}
|
|
6162
6253
|
),
|
|
6163
|
-
/* @__PURE__ */ (0,
|
|
6254
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
6164
6255
|
"span",
|
|
6165
6256
|
{
|
|
6166
6257
|
className: cn(
|
|
@@ -6171,7 +6262,7 @@ var TagBubble = (_a) => {
|
|
|
6171
6262
|
children: label
|
|
6172
6263
|
}
|
|
6173
6264
|
),
|
|
6174
|
-
showCount && /* @__PURE__ */ (0,
|
|
6265
|
+
showCount && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Badge, { theme: countColor, size: "s", children: count })
|
|
6175
6266
|
]
|
|
6176
6267
|
})
|
|
6177
6268
|
);
|
|
@@ -6318,16 +6409,16 @@ var formatName = (person, fallback = "") => {
|
|
|
6318
6409
|
};
|
|
6319
6410
|
|
|
6320
6411
|
// src/ui/components/ui/history/HistoryChangeRow.tsx
|
|
6321
|
-
var
|
|
6412
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
6322
6413
|
var HistoryChangeRow = ({ change }) => {
|
|
6323
6414
|
const { label, previousValue, nextValue, href, onClick } = change;
|
|
6324
6415
|
const hasValues = Boolean(previousValue || nextValue);
|
|
6325
|
-
return /* @__PURE__ */ (0,
|
|
6326
|
-
/* @__PURE__ */ (0,
|
|
6327
|
-
previousValue && /* @__PURE__ */ (0,
|
|
6328
|
-
previousValue && nextValue && /* @__PURE__ */ (0,
|
|
6329
|
-
nextValue && href && /* @__PURE__ */ (0,
|
|
6330
|
-
nextValue && onClick && /* @__PURE__ */ (0,
|
|
6416
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(Layout, { align: "center", gap: 1.5, wrap: true, children: [
|
|
6417
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Text, { size: "xs", weight: "semibold", color: "grey-600", children: hasValues ? `${label} :` : label }),
|
|
6418
|
+
previousValue && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Text, { size: "xs", color: "grey-600", children: previousValue }),
|
|
6419
|
+
previousValue && nextValue && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Icon, { name: "arrow-right", size: "xs", color: "grey-500" }),
|
|
6420
|
+
nextValue && href && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Link, { href, newTab: true, size: "xs", children: nextValue }),
|
|
6421
|
+
nextValue && onClick && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
6331
6422
|
"button",
|
|
6332
6423
|
{
|
|
6333
6424
|
type: "button",
|
|
@@ -6339,27 +6430,27 @@ var HistoryChangeRow = ({ change }) => {
|
|
|
6339
6430
|
children: nextValue
|
|
6340
6431
|
}
|
|
6341
6432
|
),
|
|
6342
|
-
nextValue && !href && !onClick && /* @__PURE__ */ (0,
|
|
6433
|
+
nextValue && !href && !onClick && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Text, { size: "xs", weight: "semibold", children: nextValue })
|
|
6343
6434
|
] });
|
|
6344
6435
|
};
|
|
6345
6436
|
|
|
6346
6437
|
// src/ui/components/ui/history/HistoryEntryCard.tsx
|
|
6347
|
-
var
|
|
6438
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
6348
6439
|
var CARD_CLASS = "group rounded-lg border border-grey-300 bg-white";
|
|
6349
6440
|
var HistoryEntryCard = ({ entry }) => {
|
|
6350
6441
|
const { title, date, author, badge, changes = [] } = entry;
|
|
6351
6442
|
const hasChanges = changes.length > 0;
|
|
6352
|
-
const summary = /* @__PURE__ */ (0,
|
|
6353
|
-
/* @__PURE__ */ (0,
|
|
6354
|
-
/* @__PURE__ */ (0,
|
|
6355
|
-
author && /* @__PURE__ */ (0,
|
|
6356
|
-
/* @__PURE__ */ (0,
|
|
6357
|
-
/* @__PURE__ */ (0,
|
|
6443
|
+
const summary = /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Layout, { column: true, gap: 1, fullWidth: true, children: [
|
|
6444
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Layout, { align: "center", justify: "between", gap: 2, fullWidth: true, children: [
|
|
6445
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Layout, { align: "center", gap: 3, fullWidth: false, className: "min-w-0", children: [
|
|
6446
|
+
author && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment, { children: [
|
|
6447
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Avatar, { name: author.name, src: author.avatarSrc, size: 40 }),
|
|
6448
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Text, { size: "xs", weight: "bold", className: "whitespace-nowrap", children: author.name })
|
|
6358
6449
|
] }),
|
|
6359
|
-
badge && /* @__PURE__ */ (0,
|
|
6450
|
+
badge && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Badge, { theme: badge.theme, size: "s", children: badge.label })
|
|
6360
6451
|
] }),
|
|
6361
|
-
/* @__PURE__ */ (0,
|
|
6362
|
-
date && /* @__PURE__ */ (0,
|
|
6452
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Layout, { align: "center", gap: 2, fullWidth: false, className: "shrink-0", children: [
|
|
6453
|
+
date && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
6363
6454
|
Text,
|
|
6364
6455
|
{
|
|
6365
6456
|
size: "xxs",
|
|
@@ -6369,7 +6460,7 @@ var HistoryEntryCard = ({ entry }) => {
|
|
|
6369
6460
|
children: formatDate(date, "dateTime", "fr")
|
|
6370
6461
|
}
|
|
6371
6462
|
),
|
|
6372
|
-
hasChanges && /* @__PURE__ */ (0,
|
|
6463
|
+
hasChanges && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
6373
6464
|
Icon,
|
|
6374
6465
|
{
|
|
6375
6466
|
name: "chevron-down",
|
|
@@ -6380,14 +6471,14 @@ var HistoryEntryCard = ({ entry }) => {
|
|
|
6380
6471
|
)
|
|
6381
6472
|
] })
|
|
6382
6473
|
] }),
|
|
6383
|
-
title && /* @__PURE__ */ (0,
|
|
6474
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Text, { size: "xs", className: author ? "pl-[52px]" : void 0, children: title })
|
|
6384
6475
|
] });
|
|
6385
6476
|
if (!hasChanges) {
|
|
6386
|
-
return /* @__PURE__ */ (0,
|
|
6477
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: `${CARD_CLASS} p-3`, children: summary });
|
|
6387
6478
|
}
|
|
6388
|
-
return /* @__PURE__ */ (0,
|
|
6389
|
-
/* @__PURE__ */ (0,
|
|
6390
|
-
/* @__PURE__ */ (0,
|
|
6479
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Collapsible, { className: CARD_CLASS, children: [
|
|
6480
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(CollapsibleTrigger, { className: "w-full cursor-pointer p-3 text-left outline-none focus-visible:ring-2 focus-visible:ring-blue-200", children: summary }),
|
|
6481
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(CollapsibleContent, { children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
6391
6482
|
Layout,
|
|
6392
6483
|
{
|
|
6393
6484
|
column: true,
|
|
@@ -6395,7 +6486,7 @@ var HistoryEntryCard = ({ entry }) => {
|
|
|
6395
6486
|
paddingX: 3,
|
|
6396
6487
|
paddingBottom: 3,
|
|
6397
6488
|
className: author ? "pl-[64px]" : void 0,
|
|
6398
|
-
children: changes.map((change, index) => /* @__PURE__ */ (0,
|
|
6489
|
+
children: changes.map((change, index) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
6399
6490
|
HistoryChangeRow,
|
|
6400
6491
|
{
|
|
6401
6492
|
change
|
|
@@ -6408,7 +6499,7 @@ var HistoryEntryCard = ({ entry }) => {
|
|
|
6408
6499
|
};
|
|
6409
6500
|
|
|
6410
6501
|
// src/ui/components/ui/history/HistoryList.tsx
|
|
6411
|
-
var
|
|
6502
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
6412
6503
|
var SKELETON_COUNT = 4;
|
|
6413
6504
|
var HistoryList = ({
|
|
6414
6505
|
entries,
|
|
@@ -6420,8 +6511,8 @@ var HistoryList = ({
|
|
|
6420
6511
|
emptyLabel = "Aucun historique",
|
|
6421
6512
|
emptyDescription = "Aucune action enregistr\xE9e pour le moment.",
|
|
6422
6513
|
notice
|
|
6423
|
-
}) => /* @__PURE__ */ (0,
|
|
6424
|
-
filters.length > 0 && /* @__PURE__ */ (0,
|
|
6514
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(Layout, { column: true, gap: 2, fullWidth: true, className: "flex-1", children: [
|
|
6515
|
+
filters.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Layout, { gap: 2, wrap: true, fullWidth: true, justify: "center", children: filters.map((filter) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
6425
6516
|
TagBubble,
|
|
6426
6517
|
{
|
|
6427
6518
|
label: filter.label,
|
|
@@ -6432,22 +6523,22 @@ var HistoryList = ({
|
|
|
6432
6523
|
},
|
|
6433
6524
|
filter.value
|
|
6434
6525
|
)) }),
|
|
6435
|
-
isLoading && Array.from({ length: SKELETON_COUNT }, (_, index) => /* @__PURE__ */ (0,
|
|
6436
|
-
!isLoading && isError && /* @__PURE__ */ (0,
|
|
6437
|
-
!isLoading && !isError && entries.length === 0 && /* @__PURE__ */ (0,
|
|
6526
|
+
isLoading && Array.from({ length: SKELETON_COUNT }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Skeleton, { height: "72px" }, index)),
|
|
6527
|
+
!isLoading && isError && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Text, { size: "s", color: "red-900", align: "center", children: errorLabel }),
|
|
6528
|
+
!isLoading && !isError && entries.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
6438
6529
|
EmptyState,
|
|
6439
6530
|
{
|
|
6440
|
-
icon: /* @__PURE__ */ (0,
|
|
6531
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(FaIcon, { name: "clock-rotate-left", size: 20 }),
|
|
6441
6532
|
title: emptyLabel,
|
|
6442
6533
|
description: emptyDescription
|
|
6443
6534
|
}
|
|
6444
6535
|
),
|
|
6445
|
-
!isLoading && !isError && entries.map((entry) => /* @__PURE__ */ (0,
|
|
6446
|
-
!isLoading && !isError && notice && /* @__PURE__ */ (0,
|
|
6536
|
+
!isLoading && !isError && entries.map((entry) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(HistoryEntryCard, { entry }, entry.id)),
|
|
6537
|
+
!isLoading && !isError && notice && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Text, { size: "xs", color: "grey-600", align: "center", children: notice })
|
|
6447
6538
|
] });
|
|
6448
6539
|
|
|
6449
6540
|
// src/ui/components/ui/history/HistoryDrawer.tsx
|
|
6450
|
-
var
|
|
6541
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
6451
6542
|
var HistoryDrawer = (_a) => {
|
|
6452
6543
|
var _b = _a, {
|
|
6453
6544
|
open,
|
|
@@ -6458,7 +6549,7 @@ var HistoryDrawer = (_a) => {
|
|
|
6458
6549
|
"onClose",
|
|
6459
6550
|
"title"
|
|
6460
6551
|
]);
|
|
6461
|
-
return /* @__PURE__ */ (0,
|
|
6552
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
6462
6553
|
Drawer,
|
|
6463
6554
|
{
|
|
6464
6555
|
open,
|
|
@@ -6466,9 +6557,9 @@ var HistoryDrawer = (_a) => {
|
|
|
6466
6557
|
className: "z-[1060]",
|
|
6467
6558
|
overlayClassName: "z-[1050]",
|
|
6468
6559
|
children: [
|
|
6469
|
-
/* @__PURE__ */ (0,
|
|
6470
|
-
/* @__PURE__ */ (0,
|
|
6471
|
-
/* @__PURE__ */ (0,
|
|
6560
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(DrawerHeader, { children: [
|
|
6561
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(DrawerTitle, { className: "uppercase", children: title }),
|
|
6562
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(DrawerClose, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
6472
6563
|
Icon,
|
|
6473
6564
|
{
|
|
6474
6565
|
name: "xmark",
|
|
@@ -6478,7 +6569,7 @@ var HistoryDrawer = (_a) => {
|
|
|
6478
6569
|
}
|
|
6479
6570
|
) })
|
|
6480
6571
|
] }),
|
|
6481
|
-
/* @__PURE__ */ (0,
|
|
6572
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(DrawerBody, { className: "flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(HistoryList, __spreadValues({}, listProps)) })
|
|
6482
6573
|
]
|
|
6483
6574
|
}
|
|
6484
6575
|
);
|
|
@@ -6486,7 +6577,7 @@ var HistoryDrawer = (_a) => {
|
|
|
6486
6577
|
|
|
6487
6578
|
// src/ui/components/ui/history/HistoryButton.tsx
|
|
6488
6579
|
var import_react46 = require("react");
|
|
6489
|
-
var
|
|
6580
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
6490
6581
|
var LABEL = "Historique";
|
|
6491
6582
|
var SHORT_TOOLTIP = "Voir l\u2019historique des actions";
|
|
6492
6583
|
var HistoryButton = (_a) => {
|
|
@@ -6507,10 +6598,10 @@ var HistoryButton = (_a) => {
|
|
|
6507
6598
|
onOpenChange == null ? void 0 : onOpenChange(nextIsOpen);
|
|
6508
6599
|
};
|
|
6509
6600
|
const open = () => changeOpen(true);
|
|
6510
|
-
const icon = /* @__PURE__ */ (0,
|
|
6511
|
-
return /* @__PURE__ */ (0,
|
|
6512
|
-
variant === "icon" ? /* @__PURE__ */ (0,
|
|
6513
|
-
/* @__PURE__ */ (0,
|
|
6601
|
+
const icon = /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(FaIcon, { name: "clock-rotate-left", size: 14 });
|
|
6602
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_jsx_runtime79.Fragment, { children: [
|
|
6603
|
+
variant === "icon" ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Tooltip, { content: tooltip, className: "z-[1100]", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Button, { iconLeft: icon, "aria-label": LABEL, onClick: open }) }) : /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Button, { label: LABEL, iconLeft: icon, onClick: open }),
|
|
6604
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
6514
6605
|
HistoryDrawer,
|
|
6515
6606
|
__spreadValues({
|
|
6516
6607
|
open: isOpen,
|
|
@@ -6522,7 +6613,7 @@ var HistoryButton = (_a) => {
|
|
|
6522
6613
|
};
|
|
6523
6614
|
|
|
6524
6615
|
// src/ui/components/ui/Gantt.tsx
|
|
6525
|
-
var
|
|
6616
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
6526
6617
|
var Gantt = ({
|
|
6527
6618
|
days,
|
|
6528
6619
|
rows,
|
|
@@ -6538,7 +6629,7 @@ var Gantt = ({
|
|
|
6538
6629
|
const bodyHeight = rows.length * rowHeight;
|
|
6539
6630
|
const clickable = Boolean(onRowClick);
|
|
6540
6631
|
const gridCols = { gridTemplateColumns: `${labelWidth}px minmax(0, 1fr)` };
|
|
6541
|
-
return /* @__PURE__ */ (0,
|
|
6632
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
6542
6633
|
"div",
|
|
6543
6634
|
{
|
|
6544
6635
|
className: cn(
|
|
@@ -6546,13 +6637,13 @@ var Gantt = ({
|
|
|
6546
6637
|
className
|
|
6547
6638
|
),
|
|
6548
6639
|
children: [
|
|
6549
|
-
/* @__PURE__ */ (0,
|
|
6640
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
6550
6641
|
"div",
|
|
6551
6642
|
{
|
|
6552
6643
|
className: "grid border-b border-grey-300 bg-grey-100",
|
|
6553
6644
|
style: gridCols,
|
|
6554
6645
|
children: [
|
|
6555
|
-
/* @__PURE__ */ (0,
|
|
6646
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
6556
6647
|
Layout,
|
|
6557
6648
|
{
|
|
6558
6649
|
align: "center",
|
|
@@ -6560,7 +6651,7 @@ var Gantt = ({
|
|
|
6560
6651
|
children: labelHeader
|
|
6561
6652
|
}
|
|
6562
6653
|
),
|
|
6563
|
-
/* @__PURE__ */ (0,
|
|
6654
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "relative h-[30px]", children: days.map((day) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
6564
6655
|
Layout,
|
|
6565
6656
|
{
|
|
6566
6657
|
fullHeight: true,
|
|
@@ -6574,13 +6665,13 @@ var Gantt = ({
|
|
|
6574
6665
|
]
|
|
6575
6666
|
}
|
|
6576
6667
|
),
|
|
6577
|
-
/* @__PURE__ */ (0,
|
|
6668
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
6578
6669
|
"div",
|
|
6579
6670
|
{
|
|
6580
6671
|
className: "grid overflow-y-auto overflow-x-hidden",
|
|
6581
6672
|
style: __spreadProps(__spreadValues({}, gridCols), { maxHeight }),
|
|
6582
6673
|
children: [
|
|
6583
|
-
/* @__PURE__ */ (0,
|
|
6674
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "min-w-0 border-r border-grey-300", children: rows.map((row, i) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
6584
6675
|
Layout,
|
|
6585
6676
|
{
|
|
6586
6677
|
column: true,
|
|
@@ -6597,8 +6688,8 @@ var Gantt = ({
|
|
|
6597
6688
|
},
|
|
6598
6689
|
row.key
|
|
6599
6690
|
)) }),
|
|
6600
|
-
/* @__PURE__ */ (0,
|
|
6601
|
-
days.map((day, i) => /* @__PURE__ */ (0,
|
|
6691
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "min-w-0 overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "relative w-full", style: { height: bodyHeight }, children: [
|
|
6692
|
+
days.map((day, i) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
6602
6693
|
"div",
|
|
6603
6694
|
{
|
|
6604
6695
|
className: cn(
|
|
@@ -6609,7 +6700,7 @@ var Gantt = ({
|
|
|
6609
6700
|
},
|
|
6610
6701
|
day.key
|
|
6611
6702
|
)),
|
|
6612
|
-
bands.map((band) => /* @__PURE__ */ (0,
|
|
6703
|
+
bands.map((band) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
6613
6704
|
"div",
|
|
6614
6705
|
{
|
|
6615
6706
|
title: band.title,
|
|
@@ -6620,7 +6711,7 @@ var Gantt = ({
|
|
|
6620
6711
|
)),
|
|
6621
6712
|
rows.map((row, i) => {
|
|
6622
6713
|
var _a, _b, _c;
|
|
6623
|
-
return /* @__PURE__ */ (0,
|
|
6714
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
6624
6715
|
"div",
|
|
6625
6716
|
{
|
|
6626
6717
|
className: cn(
|
|
@@ -6628,7 +6719,7 @@ var Gantt = ({
|
|
|
6628
6719
|
i === 0 ? "border-t-0" : "border-t border-grey-200"
|
|
6629
6720
|
),
|
|
6630
6721
|
style: { top: i * rowHeight, height: rowHeight },
|
|
6631
|
-
children: row.bar && /* @__PURE__ */ (0,
|
|
6722
|
+
children: row.bar && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
6632
6723
|
Layout,
|
|
6633
6724
|
{
|
|
6634
6725
|
align: "center",
|
|
@@ -6643,7 +6734,7 @@ var Gantt = ({
|
|
|
6643
6734
|
background: row.bar.color,
|
|
6644
6735
|
borderColor: row.bar.color
|
|
6645
6736
|
},
|
|
6646
|
-
children: row.bar.label && /* @__PURE__ */ (0,
|
|
6737
|
+
children: row.bar.label && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
6647
6738
|
"span",
|
|
6648
6739
|
{
|
|
6649
6740
|
className: "overflow-hidden text-ellipsis whitespace-nowrap text-[10px] font-semibold",
|
|
@@ -6665,7 +6756,7 @@ var Gantt = ({
|
|
|
6665
6756
|
}
|
|
6666
6757
|
);
|
|
6667
6758
|
};
|
|
6668
|
-
var GanttDot = ({ color }) => /* @__PURE__ */ (0,
|
|
6759
|
+
var GanttDot = ({ color }) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
6669
6760
|
"span",
|
|
6670
6761
|
{
|
|
6671
6762
|
className: "inline-block h-[9px] w-[9px] shrink-0 rounded-[3px]",
|
|
@@ -6675,7 +6766,7 @@ var GanttDot = ({ color }) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
|
6675
6766
|
var GanttSwatch = ({
|
|
6676
6767
|
color,
|
|
6677
6768
|
filled = true
|
|
6678
|
-
}) => /* @__PURE__ */ (0,
|
|
6769
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
6679
6770
|
"span",
|
|
6680
6771
|
{
|
|
6681
6772
|
className: "box-border inline-block h-3 w-[18px] shrink-0 rounded-[3px] border-[1.5px]",
|
|
@@ -6684,7 +6775,7 @@ var GanttSwatch = ({
|
|
|
6684
6775
|
);
|
|
6685
6776
|
|
|
6686
6777
|
// src/ui/components/ui/Bulk.tsx
|
|
6687
|
-
var
|
|
6778
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
6688
6779
|
var BG_CLASS = {
|
|
6689
6780
|
"blue-700": "bg-blue-700",
|
|
6690
6781
|
"blue-900": "bg-blue-900",
|
|
@@ -6700,14 +6791,14 @@ var BG_CLASS = {
|
|
|
6700
6791
|
"orange-600": "bg-orange-600",
|
|
6701
6792
|
"purple-700": "bg-purple-700"
|
|
6702
6793
|
};
|
|
6703
|
-
var BulkActionSections = ({ sections }) => /* @__PURE__ */ (0,
|
|
6794
|
+
var BulkActionSections = ({ sections }) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
6704
6795
|
Layout,
|
|
6705
6796
|
{
|
|
6706
6797
|
role: "group",
|
|
6707
6798
|
fullHeight: true,
|
|
6708
6799
|
align: "stretch",
|
|
6709
6800
|
className: "[&>button:not(:last-child)]:rounded-r-none",
|
|
6710
|
-
children: sections.map((section, index) => /* @__PURE__ */ (0,
|
|
6801
|
+
children: sections.map((section, index) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
|
|
6711
6802
|
"button",
|
|
6712
6803
|
{
|
|
6713
6804
|
type: "button",
|
|
@@ -6726,9 +6817,9 @@ var BulkActionSections = ({ sections }) => /* @__PURE__ */ (0, import_jsx_runtim
|
|
|
6726
6817
|
))
|
|
6727
6818
|
}
|
|
6728
6819
|
);
|
|
6729
|
-
var BulkDisplaySections = ({ sections }) => /* @__PURE__ */ (0,
|
|
6730
|
-
index > 0 && (section.divider ? /* @__PURE__ */ (0,
|
|
6731
|
-
section.action ? /* @__PURE__ */ (0,
|
|
6820
|
+
var BulkDisplaySections = ({ sections }) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Layout, { align: "center", gap: 3, className: "px-4", children: sections.map((section, index) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Layout, { align: "center", gap: 3, children: [
|
|
6821
|
+
index > 0 && (section.divider ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "h-11 w-px shrink-0 bg-white/40" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "h-0.5 w-4 shrink-0 rounded-full bg-white/50" })),
|
|
6822
|
+
section.action ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
|
|
6732
6823
|
"button",
|
|
6733
6824
|
{
|
|
6734
6825
|
type: "button",
|
|
@@ -6740,10 +6831,10 @@ var BulkDisplaySections = ({ sections }) => /* @__PURE__ */ (0, import_jsx_runti
|
|
|
6740
6831
|
section.title
|
|
6741
6832
|
]
|
|
6742
6833
|
}
|
|
6743
|
-
) : section.caption ? /* @__PURE__ */ (0,
|
|
6744
|
-
/* @__PURE__ */ (0,
|
|
6745
|
-
/* @__PURE__ */ (0,
|
|
6746
|
-
] }) : section.badge ? /* @__PURE__ */ (0,
|
|
6834
|
+
) : section.caption ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Layout, { column: true, fullWidth: false, className: "leading-tight text-white", children: [
|
|
6835
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "whitespace-nowrap text-[10px] font-bold uppercase tracking-wide opacity-70", children: section.caption }),
|
|
6836
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "whitespace-nowrap text-sm font-bold", children: section.title })
|
|
6837
|
+
] }) : section.badge ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "whitespace-nowrap rounded-full bg-white/15 px-2.5 py-1 text-xs font-bold text-white", children: section.title }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "flex items-center gap-1.5 whitespace-nowrap text-sm font-bold text-white", children: [
|
|
6747
6838
|
section.icon,
|
|
6748
6839
|
section.title
|
|
6749
6840
|
] })
|
|
@@ -6755,7 +6846,7 @@ var Bulk = ({
|
|
|
6755
6846
|
color = "blue-700",
|
|
6756
6847
|
className,
|
|
6757
6848
|
variant = "actions"
|
|
6758
|
-
}) => /* @__PURE__ */ (0,
|
|
6849
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
|
|
6759
6850
|
"div",
|
|
6760
6851
|
{
|
|
6761
6852
|
className: cn(
|
|
@@ -6764,27 +6855,27 @@ var Bulk = ({
|
|
|
6764
6855
|
className
|
|
6765
6856
|
),
|
|
6766
6857
|
children: [
|
|
6767
|
-
leftTitle && /* @__PURE__ */ (0,
|
|
6768
|
-
/* @__PURE__ */ (0,
|
|
6858
|
+
leftTitle && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Layout, { align: "center", gap: 6, className: "pr-6", children: [
|
|
6859
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
6769
6860
|
"button",
|
|
6770
6861
|
{
|
|
6771
6862
|
type: "button",
|
|
6772
6863
|
"aria-label": "Fermer",
|
|
6773
6864
|
onClick: onClose,
|
|
6774
6865
|
className: "text-white hover:opacity-80",
|
|
6775
|
-
children: /* @__PURE__ */ (0,
|
|
6866
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(FaIcon, { name: "xmark", size: 20 })
|
|
6776
6867
|
}
|
|
6777
6868
|
),
|
|
6778
|
-
/* @__PURE__ */ (0,
|
|
6779
|
-
/* @__PURE__ */ (0,
|
|
6869
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "whitespace-nowrap text-sm font-bold", children: leftTitle }),
|
|
6870
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "h-11 w-px bg-white/40" })
|
|
6780
6871
|
] }),
|
|
6781
|
-
variant === "display" ? /* @__PURE__ */ (0,
|
|
6872
|
+
variant === "display" ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(BulkDisplaySections, { sections }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(BulkActionSections, { sections })
|
|
6782
6873
|
]
|
|
6783
6874
|
}
|
|
6784
6875
|
);
|
|
6785
6876
|
|
|
6786
6877
|
// src/ui/components/ui/Timeline.tsx
|
|
6787
|
-
var
|
|
6878
|
+
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
6788
6879
|
var Timeline = ({
|
|
6789
6880
|
items,
|
|
6790
6881
|
lineColor = "#F1F5F9",
|
|
@@ -6792,22 +6883,22 @@ var Timeline = ({
|
|
|
6792
6883
|
className
|
|
6793
6884
|
}) => {
|
|
6794
6885
|
if (items.length === 0) {
|
|
6795
|
-
return /* @__PURE__ */ (0,
|
|
6886
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { size: "s", color: "grey-600", children: emptyLabel });
|
|
6796
6887
|
}
|
|
6797
|
-
return /* @__PURE__ */ (0,
|
|
6888
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Layout, { column: true, className, children: items.map((item, index) => {
|
|
6798
6889
|
var _a;
|
|
6799
6890
|
const isLast = index === items.length - 1;
|
|
6800
6891
|
const dotColor = (_a = item.color) != null ? _a : "#377EA1";
|
|
6801
|
-
return /* @__PURE__ */ (0,
|
|
6802
|
-
/* @__PURE__ */ (0,
|
|
6803
|
-
/* @__PURE__ */ (0,
|
|
6892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Layout, { gap: 3, children: [
|
|
6893
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Layout, { column: true, align: "center", className: "w-4", children: [
|
|
6894
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
6804
6895
|
"span",
|
|
6805
6896
|
{
|
|
6806
6897
|
className: "mt-1 h-2.5 w-2.5 shrink-0 rounded-full",
|
|
6807
6898
|
style: { background: dotColor }
|
|
6808
6899
|
}
|
|
6809
6900
|
),
|
|
6810
|
-
!isLast && /* @__PURE__ */ (0,
|
|
6901
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
6811
6902
|
"span",
|
|
6812
6903
|
{
|
|
6813
6904
|
className: "w-0.5 flex-1 min-h-[16px]",
|
|
@@ -6815,10 +6906,10 @@ var Timeline = ({
|
|
|
6815
6906
|
}
|
|
6816
6907
|
)
|
|
6817
6908
|
] }),
|
|
6818
|
-
/* @__PURE__ */ (0,
|
|
6819
|
-
/* @__PURE__ */ (0,
|
|
6820
|
-
item.subtitle && /* @__PURE__ */ (0,
|
|
6821
|
-
item.description && /* @__PURE__ */ (0,
|
|
6909
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Layout, { column: true, gap: 0.5, className: isLast ? void 0 : "pb-4", children: [
|
|
6910
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { size: "s", weight: item.highlighted ? "bold" : "semibold", children: item.title }),
|
|
6911
|
+
item.subtitle && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { size: "xs", color: "grey-600", children: item.subtitle }),
|
|
6912
|
+
item.description && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xs italic text-neutral-800", children: item.description })
|
|
6822
6913
|
] })
|
|
6823
6914
|
] }, item.id);
|
|
6824
6915
|
}) });
|
|
@@ -6827,7 +6918,7 @@ var Timeline = ({
|
|
|
6827
6918
|
// src/ui/components/ui/ColorPicker.tsx
|
|
6828
6919
|
var import_react47 = require("react");
|
|
6829
6920
|
var import_class_variance_authority15 = require("class-variance-authority");
|
|
6830
|
-
var
|
|
6921
|
+
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
6831
6922
|
var swatchVariants = (0, import_class_variance_authority15.cva)(
|
|
6832
6923
|
"inline-flex shrink-0 overflow-hidden rounded-[6px] border border-grey-300",
|
|
6833
6924
|
{
|
|
@@ -6871,7 +6962,7 @@ var ColorPicker = (0, import_react47.forwardRef)(
|
|
|
6871
6962
|
if (value === void 0) setInternalColor(next);
|
|
6872
6963
|
onChange == null ? void 0 : onChange(next);
|
|
6873
6964
|
};
|
|
6874
|
-
return /* @__PURE__ */ (0,
|
|
6965
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
|
|
6875
6966
|
Layout,
|
|
6876
6967
|
{
|
|
6877
6968
|
column: true,
|
|
@@ -6879,21 +6970,21 @@ var ColorPicker = (0, import_react47.forwardRef)(
|
|
|
6879
6970
|
gap: 1.5,
|
|
6880
6971
|
className: cn(disabled && "opacity-60", className),
|
|
6881
6972
|
children: [
|
|
6882
|
-
label && /* @__PURE__ */ (0,
|
|
6883
|
-
/* @__PURE__ */ (0,
|
|
6884
|
-
/* @__PURE__ */ (0,
|
|
6973
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-xs font-semibold text-neutral-800", children: label }),
|
|
6974
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(Layout, { gap: 2, children: [
|
|
6975
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
6885
6976
|
"label",
|
|
6886
6977
|
{
|
|
6887
6978
|
className: cn(
|
|
6888
6979
|
swatchVariants({ size }),
|
|
6889
6980
|
disabled ? "cursor-not-allowed" : "cursor-pointer"
|
|
6890
6981
|
),
|
|
6891
|
-
children: /* @__PURE__ */ (0,
|
|
6982
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
6892
6983
|
"span",
|
|
6893
6984
|
{
|
|
6894
6985
|
className: "relative block h-full w-full",
|
|
6895
6986
|
style: { backgroundColor: currentColor },
|
|
6896
|
-
children: /* @__PURE__ */ (0,
|
|
6987
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
6897
6988
|
"input",
|
|
6898
6989
|
{
|
|
6899
6990
|
ref,
|
|
@@ -6908,7 +6999,7 @@ var ColorPicker = (0, import_react47.forwardRef)(
|
|
|
6908
6999
|
)
|
|
6909
7000
|
}
|
|
6910
7001
|
),
|
|
6911
|
-
/* @__PURE__ */ (0,
|
|
7002
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
6912
7003
|
"input",
|
|
6913
7004
|
__spreadProps(__spreadValues({
|
|
6914
7005
|
type: "text",
|
|
@@ -6929,7 +7020,7 @@ ColorPicker.displayName = "ColorPicker";
|
|
|
6929
7020
|
|
|
6930
7021
|
// src/ui/components/ui/FileUploadZone.tsx
|
|
6931
7022
|
var import_react48 = require("react");
|
|
6932
|
-
var
|
|
7023
|
+
var import_jsx_runtime84 = require("react/jsx-runtime");
|
|
6933
7024
|
var ACCEPT_MAP = {
|
|
6934
7025
|
png: "image/png",
|
|
6935
7026
|
jpg: "image/jpeg",
|
|
@@ -7057,7 +7148,7 @@ var FileUploadZone = ({
|
|
|
7057
7148
|
onRemove == null ? void 0 : onRemove();
|
|
7058
7149
|
};
|
|
7059
7150
|
if (previewUrl) {
|
|
7060
|
-
return /* @__PURE__ */ (0,
|
|
7151
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
|
|
7061
7152
|
Layout,
|
|
7062
7153
|
{
|
|
7063
7154
|
column: true,
|
|
@@ -7069,14 +7160,14 @@ var FileUploadZone = ({
|
|
|
7069
7160
|
className
|
|
7070
7161
|
),
|
|
7071
7162
|
children: [
|
|
7072
|
-
fileType && isPdf(fileType) ? /* @__PURE__ */ (0,
|
|
7163
|
+
fileType && isPdf(fileType) ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
7073
7164
|
"embed",
|
|
7074
7165
|
{
|
|
7075
7166
|
src: previewUrl,
|
|
7076
7167
|
type: "application/pdf",
|
|
7077
7168
|
className: "h-[500px] w-full rounded"
|
|
7078
7169
|
}
|
|
7079
|
-
) : /* @__PURE__ */ (0,
|
|
7170
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
7080
7171
|
"img",
|
|
7081
7172
|
{
|
|
7082
7173
|
src: previewUrl,
|
|
@@ -7084,13 +7175,13 @@ var FileUploadZone = ({
|
|
|
7084
7175
|
className: "max-h-[400px] max-w-full rounded object-contain"
|
|
7085
7176
|
}
|
|
7086
7177
|
),
|
|
7087
|
-
/* @__PURE__ */ (0,
|
|
7178
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
7088
7179
|
Button,
|
|
7089
7180
|
{
|
|
7090
7181
|
label: "Supprimer",
|
|
7091
7182
|
theme: "red-900",
|
|
7092
7183
|
size: "s",
|
|
7093
|
-
iconLeft: /* @__PURE__ */ (0,
|
|
7184
|
+
iconLeft: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(FaIcon, { name: "trash", size: 14 }),
|
|
7094
7185
|
onClick: handleRemove
|
|
7095
7186
|
}
|
|
7096
7187
|
)
|
|
@@ -7099,14 +7190,14 @@ var FileUploadZone = ({
|
|
|
7099
7190
|
);
|
|
7100
7191
|
}
|
|
7101
7192
|
const showBrowse = !compact && browseLabel !== false;
|
|
7102
|
-
return /* @__PURE__ */ (0,
|
|
7193
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
|
|
7103
7194
|
Layout,
|
|
7104
7195
|
{
|
|
7105
7196
|
column: true,
|
|
7106
7197
|
gap: 1,
|
|
7107
7198
|
className: cn(fullWidth ? "w-full" : "w-fit", className),
|
|
7108
7199
|
children: [
|
|
7109
|
-
/* @__PURE__ */ (0,
|
|
7200
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
|
|
7110
7201
|
"label",
|
|
7111
7202
|
{
|
|
7112
7203
|
onDragOver: handleDragOver,
|
|
@@ -7120,7 +7211,7 @@ var FileUploadZone = ({
|
|
|
7120
7211
|
isDragging ? "border-solid border-blue-100 bg-blue-50" : cn(compact ? "border-grey-300" : "border-blue-50", "bg-grey-100")
|
|
7121
7212
|
),
|
|
7122
7213
|
children: [
|
|
7123
|
-
/* @__PURE__ */ (0,
|
|
7214
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
7124
7215
|
"input",
|
|
7125
7216
|
{
|
|
7126
7217
|
ref: inputRef,
|
|
@@ -7132,11 +7223,11 @@ var FileUploadZone = ({
|
|
|
7132
7223
|
className: "hidden"
|
|
7133
7224
|
}
|
|
7134
7225
|
),
|
|
7135
|
-
showIcon && /* @__PURE__ */ (0,
|
|
7136
|
-
/* @__PURE__ */ (0,
|
|
7137
|
-
showBrowse && /* @__PURE__ */ (0,
|
|
7138
|
-
/* @__PURE__ */ (0,
|
|
7139
|
-
/* @__PURE__ */ (0,
|
|
7226
|
+
showIcon && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(FaIcon, { name: "cloud-arrow-up", size: 28, className: "text-blue-700" }),
|
|
7227
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-center text-sm text-grey-600", children: label }),
|
|
7228
|
+
showBrowse && /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_jsx_runtime84.Fragment, { children: [
|
|
7229
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-center text-xs text-grey-600", children: "ou" }),
|
|
7230
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
7140
7231
|
Button,
|
|
7141
7232
|
{
|
|
7142
7233
|
label: browseLabel,
|
|
@@ -7150,15 +7241,15 @@ var FileUploadZone = ({
|
|
|
7150
7241
|
}
|
|
7151
7242
|
)
|
|
7152
7243
|
] }),
|
|
7153
|
-
sublabel && /* @__PURE__ */ (0,
|
|
7244
|
+
sublabel && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-center text-xs text-grey-500", children: sublabel })
|
|
7154
7245
|
]
|
|
7155
7246
|
}
|
|
7156
7247
|
),
|
|
7157
|
-
showFileName && fileName && /* @__PURE__ */ (0,
|
|
7158
|
-
/* @__PURE__ */ (0,
|
|
7159
|
-
/* @__PURE__ */ (0,
|
|
7248
|
+
showFileName && fileName && /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(Layout, { align: "center", justify: "center", gap: 2, children: [
|
|
7249
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(FaIcon, { name: "file", size: 16, className: "text-green-700" }),
|
|
7250
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-sm text-green-700", children: fileName })
|
|
7160
7251
|
] }),
|
|
7161
|
-
inlineError && /* @__PURE__ */ (0,
|
|
7252
|
+
inlineError && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-center text-sm text-red-900", children: inlineError })
|
|
7162
7253
|
]
|
|
7163
7254
|
}
|
|
7164
7255
|
);
|
|
@@ -7166,7 +7257,7 @@ var FileUploadZone = ({
|
|
|
7166
7257
|
|
|
7167
7258
|
// src/ui/components/ui/FilePicker.tsx
|
|
7168
7259
|
var import_react49 = require("react");
|
|
7169
|
-
var
|
|
7260
|
+
var import_jsx_runtime85 = require("react/jsx-runtime");
|
|
7170
7261
|
var FilePicker = ({
|
|
7171
7262
|
label,
|
|
7172
7263
|
onSelect,
|
|
@@ -7180,8 +7271,8 @@ var FilePicker = ({
|
|
|
7180
7271
|
className
|
|
7181
7272
|
}) => {
|
|
7182
7273
|
const inputRef = (0, import_react49.useRef)(null);
|
|
7183
|
-
return /* @__PURE__ */ (0,
|
|
7184
|
-
/* @__PURE__ */ (0,
|
|
7274
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_jsx_runtime85.Fragment, { children: [
|
|
7275
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
7185
7276
|
"input",
|
|
7186
7277
|
{
|
|
7187
7278
|
ref: inputRef,
|
|
@@ -7197,7 +7288,7 @@ var FilePicker = ({
|
|
|
7197
7288
|
}
|
|
7198
7289
|
}
|
|
7199
7290
|
),
|
|
7200
|
-
/* @__PURE__ */ (0,
|
|
7291
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Tooltip, { content: label, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
7201
7292
|
Icon,
|
|
7202
7293
|
{
|
|
7203
7294
|
name: icon,
|
|
@@ -7219,7 +7310,7 @@ var FilePicker = ({
|
|
|
7219
7310
|
// src/ui/components/ui/Item.tsx
|
|
7220
7311
|
var import_react50 = require("react");
|
|
7221
7312
|
var import_class_variance_authority16 = require("class-variance-authority");
|
|
7222
|
-
var
|
|
7313
|
+
var import_jsx_runtime86 = require("react/jsx-runtime");
|
|
7223
7314
|
var itemVariants = (0, import_class_variance_authority16.cva)(
|
|
7224
7315
|
"group/item flex items-center rounded-[6px] border border-transparent transition-colors",
|
|
7225
7316
|
{
|
|
@@ -7240,7 +7331,7 @@ var itemVariants = (0, import_class_variance_authority16.cva)(
|
|
|
7240
7331
|
var Item4 = (0, import_react50.forwardRef)(
|
|
7241
7332
|
(_a, ref) => {
|
|
7242
7333
|
var _b = _a, { variant, size, className } = _b, props = __objRest(_b, ["variant", "size", "className"]);
|
|
7243
|
-
return /* @__PURE__ */ (0,
|
|
7334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
7244
7335
|
"div",
|
|
7245
7336
|
__spreadValues({
|
|
7246
7337
|
ref,
|
|
@@ -7265,7 +7356,7 @@ var itemMediaVariants = (0, import_class_variance_authority16.cva)(
|
|
|
7265
7356
|
);
|
|
7266
7357
|
var ItemMedia = (_a) => {
|
|
7267
7358
|
var _b = _a, { variant, className } = _b, props = __objRest(_b, ["variant", "className"]);
|
|
7268
|
-
return /* @__PURE__ */ (0,
|
|
7359
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", __spreadValues({ className: cn(itemMediaVariants({ variant }), className) }, props));
|
|
7269
7360
|
};
|
|
7270
7361
|
var ItemContent = (_a) => {
|
|
7271
7362
|
var _b = _a, {
|
|
@@ -7273,7 +7364,7 @@ var ItemContent = (_a) => {
|
|
|
7273
7364
|
} = _b, props = __objRest(_b, [
|
|
7274
7365
|
"className"
|
|
7275
7366
|
]);
|
|
7276
|
-
return /* @__PURE__ */ (0,
|
|
7367
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
7277
7368
|
"div",
|
|
7278
7369
|
__spreadValues({
|
|
7279
7370
|
className: cn("flex min-w-0 flex-1 flex-col gap-1", className)
|
|
@@ -7286,7 +7377,7 @@ var ItemTitle = (_a) => {
|
|
|
7286
7377
|
} = _b, props = __objRest(_b, [
|
|
7287
7378
|
"className"
|
|
7288
7379
|
]);
|
|
7289
|
-
return /* @__PURE__ */ (0,
|
|
7380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
7290
7381
|
"div",
|
|
7291
7382
|
__spreadValues({
|
|
7292
7383
|
className: cn(
|
|
@@ -7302,7 +7393,7 @@ var ItemDescription = (_a) => {
|
|
|
7302
7393
|
} = _b, props = __objRest(_b, [
|
|
7303
7394
|
"className"
|
|
7304
7395
|
]);
|
|
7305
|
-
return /* @__PURE__ */ (0,
|
|
7396
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", __spreadValues({ className: cn("text-sm text-grey-500", className) }, props));
|
|
7306
7397
|
};
|
|
7307
7398
|
var ItemActions = (_a) => {
|
|
7308
7399
|
var _b = _a, {
|
|
@@ -7310,7 +7401,7 @@ var ItemActions = (_a) => {
|
|
|
7310
7401
|
} = _b, props = __objRest(_b, [
|
|
7311
7402
|
"className"
|
|
7312
7403
|
]);
|
|
7313
|
-
return /* @__PURE__ */ (0,
|
|
7404
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
7314
7405
|
"div",
|
|
7315
7406
|
__spreadValues({
|
|
7316
7407
|
className: cn("flex shrink-0 items-center gap-2", className)
|
|
@@ -7319,7 +7410,7 @@ var ItemActions = (_a) => {
|
|
|
7319
7410
|
};
|
|
7320
7411
|
|
|
7321
7412
|
// src/ui/components/ui/Attachment.tsx
|
|
7322
|
-
var
|
|
7413
|
+
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
7323
7414
|
var Attachment = ({
|
|
7324
7415
|
name,
|
|
7325
7416
|
size,
|
|
@@ -7333,7 +7424,7 @@ var Attachment = ({
|
|
|
7333
7424
|
}) => {
|
|
7334
7425
|
const isUploading = status === "uploading";
|
|
7335
7426
|
const isError = status === "error";
|
|
7336
|
-
return /* @__PURE__ */ (0,
|
|
7427
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
7337
7428
|
Item4,
|
|
7338
7429
|
{
|
|
7339
7430
|
variant: "outline",
|
|
@@ -7345,12 +7436,12 @@ var Attachment = ({
|
|
|
7345
7436
|
),
|
|
7346
7437
|
style: { width },
|
|
7347
7438
|
children: [
|
|
7348
|
-
/* @__PURE__ */ (0,
|
|
7439
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
7349
7440
|
ItemMedia,
|
|
7350
7441
|
{
|
|
7351
7442
|
variant: "icon",
|
|
7352
7443
|
className: cn(isError && "border-red-900 bg-red-50"),
|
|
7353
|
-
children: isUploading ? /* @__PURE__ */ (0,
|
|
7444
|
+
children: isUploading ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Spinner, { size: "s", color: "blue-700" }) : /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
7354
7445
|
FaIcon,
|
|
7355
7446
|
{
|
|
7356
7447
|
name: isError ? "triangle-exclamation" : "file",
|
|
@@ -7360,33 +7451,33 @@ var Attachment = ({
|
|
|
7360
7451
|
)
|
|
7361
7452
|
}
|
|
7362
7453
|
),
|
|
7363
|
-
/* @__PURE__ */ (0,
|
|
7364
|
-
/* @__PURE__ */ (0,
|
|
7365
|
-
isUploading ? /* @__PURE__ */ (0,
|
|
7454
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(ItemContent, { children: [
|
|
7455
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ItemTitle, { children: name }),
|
|
7456
|
+
isUploading ? /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(ItemDescription, { className: "text-xs", children: [
|
|
7366
7457
|
"Uploading - ",
|
|
7367
7458
|
progress,
|
|
7368
7459
|
"%"
|
|
7369
|
-
] }) : isError ? /* @__PURE__ */ (0,
|
|
7460
|
+
] }) : isError ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ItemDescription, { className: "text-xs text-red-900", children: errorMessage }) : size && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ItemDescription, { className: "text-xs", children: size })
|
|
7370
7461
|
] }),
|
|
7371
|
-
(onRetry || onRemove) && /* @__PURE__ */ (0,
|
|
7372
|
-
isError && onRetry && /* @__PURE__ */ (0,
|
|
7462
|
+
(onRetry || onRemove) && /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(ItemActions, { children: [
|
|
7463
|
+
isError && onRetry && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
7373
7464
|
"button",
|
|
7374
7465
|
{
|
|
7375
7466
|
type: "button",
|
|
7376
7467
|
onClick: onRetry,
|
|
7377
7468
|
"aria-label": `R\xE9essayer l'envoi de ${name}`,
|
|
7378
7469
|
className: "text-grey-400 hover:text-grey-600",
|
|
7379
|
-
children: /* @__PURE__ */ (0,
|
|
7470
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(FaIcon, { name: "rotate-right", size: 12 })
|
|
7380
7471
|
}
|
|
7381
7472
|
),
|
|
7382
|
-
onRemove && /* @__PURE__ */ (0,
|
|
7473
|
+
onRemove && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
7383
7474
|
"button",
|
|
7384
7475
|
{
|
|
7385
7476
|
type: "button",
|
|
7386
7477
|
onClick: onRemove,
|
|
7387
7478
|
"aria-label": `Retirer ${name}`,
|
|
7388
7479
|
className: "text-grey-400 hover:text-grey-600",
|
|
7389
|
-
children: /* @__PURE__ */ (0,
|
|
7480
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(FaIcon, { name: "xmark", size: 12 })
|
|
7390
7481
|
}
|
|
7391
7482
|
)
|
|
7392
7483
|
] })
|
|
@@ -7398,7 +7489,7 @@ var Attachment = ({
|
|
|
7398
7489
|
// src/ui/components/ui/PdfPreview.tsx
|
|
7399
7490
|
var import_react51 = require("react");
|
|
7400
7491
|
var import_react_pdf = require("react-pdf");
|
|
7401
|
-
var
|
|
7492
|
+
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
7402
7493
|
import_react_pdf.pdfjs.GlobalWorkerOptions.workerSrc = `https://unpkg.com/pdfjs-dist@${import_react_pdf.pdfjs.version}/build/pdf.worker.min.mjs`;
|
|
7403
7494
|
var PdfPreview = ({
|
|
7404
7495
|
file,
|
|
@@ -7409,9 +7500,9 @@ var PdfPreview = ({
|
|
|
7409
7500
|
const [hasError, setHasError] = (0, import_react51.useState)(false);
|
|
7410
7501
|
const [numPages, setNumPages] = (0, import_react51.useState)(0);
|
|
7411
7502
|
const height = Math.round(width * 1.3);
|
|
7412
|
-
const thumbnailSkeleton = /* @__PURE__ */ (0,
|
|
7503
|
+
const thumbnailSkeleton = /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Skeleton, { width, height });
|
|
7413
7504
|
if (hasError) {
|
|
7414
|
-
return /* @__PURE__ */ (0,
|
|
7505
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(
|
|
7415
7506
|
Layout,
|
|
7416
7507
|
{
|
|
7417
7508
|
column: true,
|
|
@@ -7424,13 +7515,13 @@ var PdfPreview = ({
|
|
|
7424
7515
|
),
|
|
7425
7516
|
style: { width, height },
|
|
7426
7517
|
children: [
|
|
7427
|
-
/* @__PURE__ */ (0,
|
|
7428
|
-
/* @__PURE__ */ (0,
|
|
7518
|
+
/* @__PURE__ */ (0, import_jsx_runtime88.jsx)(FaIcon, { name: "file-pdf", size: 24 }),
|
|
7519
|
+
/* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: "text-xs", children: "Aper\xE7u indisponible" })
|
|
7429
7520
|
]
|
|
7430
7521
|
}
|
|
7431
7522
|
);
|
|
7432
7523
|
}
|
|
7433
|
-
return /* @__PURE__ */ (0,
|
|
7524
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
7434
7525
|
"div",
|
|
7435
7526
|
{
|
|
7436
7527
|
className: cn(
|
|
@@ -7438,7 +7529,7 @@ var PdfPreview = ({
|
|
|
7438
7529
|
className
|
|
7439
7530
|
),
|
|
7440
7531
|
style: { width, maxHeight },
|
|
7441
|
-
children: /* @__PURE__ */ (0,
|
|
7532
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
7442
7533
|
import_react_pdf.Document,
|
|
7443
7534
|
{
|
|
7444
7535
|
file,
|
|
@@ -7446,7 +7537,7 @@ var PdfPreview = ({
|
|
|
7446
7537
|
onLoadError: () => setHasError(true),
|
|
7447
7538
|
loading: thumbnailSkeleton,
|
|
7448
7539
|
error: thumbnailSkeleton,
|
|
7449
|
-
children: /* @__PURE__ */ (0,
|
|
7540
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Layout, { column: true, gap: 2, className: "p-2", children: Array.from({ length: numPages }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
7450
7541
|
import_react_pdf.Page,
|
|
7451
7542
|
{
|
|
7452
7543
|
pageNumber: i + 1,
|
|
@@ -7464,7 +7555,7 @@ var PdfPreview = ({
|
|
|
7464
7555
|
|
|
7465
7556
|
// src/ui/components/ui/VideoPlayer.tsx
|
|
7466
7557
|
var import_react52 = require("react");
|
|
7467
|
-
var
|
|
7558
|
+
var import_jsx_runtime89 = require("react/jsx-runtime");
|
|
7468
7559
|
var formatVideoDuration = (seconds) => {
|
|
7469
7560
|
if (seconds === void 0 || !Number.isFinite(seconds) || seconds < 0)
|
|
7470
7561
|
return "";
|
|
@@ -7563,8 +7654,8 @@ var VideoPlayer = ({
|
|
|
7563
7654
|
const stopBubbling = (e) => {
|
|
7564
7655
|
e.stopPropagation();
|
|
7565
7656
|
};
|
|
7566
|
-
return /* @__PURE__ */ (0,
|
|
7567
|
-
/* @__PURE__ */ (0,
|
|
7657
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(import_jsx_runtime89.Fragment, { children: [
|
|
7658
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
|
|
7568
7659
|
Layout,
|
|
7569
7660
|
{
|
|
7570
7661
|
className: cn(
|
|
@@ -7575,7 +7666,7 @@ var VideoPlayer = ({
|
|
|
7575
7666
|
onClick: stopBubbling,
|
|
7576
7667
|
"data-testid": "video-player",
|
|
7577
7668
|
children: [
|
|
7578
|
-
isInlinePlaying ? /* @__PURE__ */ (0,
|
|
7669
|
+
isInlinePlaying ? /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7579
7670
|
"video",
|
|
7580
7671
|
{
|
|
7581
7672
|
ref: attachInlineVideo,
|
|
@@ -7587,7 +7678,7 @@ var VideoPlayer = ({
|
|
|
7587
7678
|
className: "h-full w-full bg-black object-contain",
|
|
7588
7679
|
"aria-label": title
|
|
7589
7680
|
}
|
|
7590
|
-
) : /* @__PURE__ */ (0,
|
|
7681
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
|
|
7591
7682
|
"button",
|
|
7592
7683
|
{
|
|
7593
7684
|
type: "button",
|
|
@@ -7595,7 +7686,7 @@ var VideoPlayer = ({
|
|
|
7595
7686
|
"aria-label": `Lire la vid\xE9o ${title}`,
|
|
7596
7687
|
className: "group relative flex h-full w-full items-center justify-center",
|
|
7597
7688
|
children: [
|
|
7598
|
-
visiblePoster ? /* @__PURE__ */ (0,
|
|
7689
|
+
visiblePoster ? /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7599
7690
|
"img",
|
|
7600
7691
|
{
|
|
7601
7692
|
src: visiblePoster,
|
|
@@ -7606,7 +7697,7 @@ var VideoPlayer = ({
|
|
|
7606
7697
|
) : (
|
|
7607
7698
|
// Sans vignette : première image de la vidéo (métadonnées seulement,
|
|
7608
7699
|
// `#t=0.1` force l'affichage d'une frame), tuile sombre si ça échoue.
|
|
7609
|
-
!hasFramePreviewError && /* @__PURE__ */ (0,
|
|
7700
|
+
!hasFramePreviewError && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7610
7701
|
"video",
|
|
7611
7702
|
{
|
|
7612
7703
|
src: `${src}#t=0.1`,
|
|
@@ -7621,12 +7712,12 @@ var VideoPlayer = ({
|
|
|
7621
7712
|
}
|
|
7622
7713
|
)
|
|
7623
7714
|
),
|
|
7624
|
-
/* @__PURE__ */ (0,
|
|
7625
|
-
formattedDuration && /* @__PURE__ */ (0,
|
|
7715
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "relative flex h-12 w-12 items-center justify-center rounded-full bg-blue-900 text-white transition-colors group-hover:bg-blue-950", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(FaIcon, { name: "play", family: "solid", size: 18 }) }),
|
|
7716
|
+
formattedDuration && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "absolute bottom-2 left-2 rounded bg-black/60 px-1.5 py-0.5 text-xs font-medium text-white", children: formattedDuration })
|
|
7626
7717
|
]
|
|
7627
7718
|
}
|
|
7628
7719
|
),
|
|
7629
|
-
label && /* @__PURE__ */ (0,
|
|
7720
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7630
7721
|
Layout,
|
|
7631
7722
|
{
|
|
7632
7723
|
width: "auto",
|
|
@@ -7634,14 +7725,14 @@ var VideoPlayer = ({
|
|
|
7634
7725
|
children: label
|
|
7635
7726
|
}
|
|
7636
7727
|
),
|
|
7637
|
-
/* @__PURE__ */ (0,
|
|
7728
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
|
|
7638
7729
|
Layout,
|
|
7639
7730
|
{
|
|
7640
7731
|
width: "auto",
|
|
7641
7732
|
gap: 1,
|
|
7642
7733
|
className: "absolute right-1 top-1 rounded-full bg-white/90",
|
|
7643
7734
|
children: [
|
|
7644
|
-
/* @__PURE__ */ (0,
|
|
7735
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Tooltip, { content: "Agrandir la vid\xE9o", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7645
7736
|
Icon,
|
|
7646
7737
|
{
|
|
7647
7738
|
name: "up-right-and-down-left-from-center",
|
|
@@ -7650,7 +7741,7 @@ var VideoPlayer = ({
|
|
|
7650
7741
|
"aria-label": "Agrandir la vid\xE9o"
|
|
7651
7742
|
}
|
|
7652
7743
|
) }),
|
|
7653
|
-
/* @__PURE__ */ (0,
|
|
7744
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Tooltip, { content: "T\xE9l\xE9charger la vid\xE9o", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7654
7745
|
Icon,
|
|
7655
7746
|
{
|
|
7656
7747
|
name: "download",
|
|
@@ -7662,7 +7753,7 @@ var VideoPlayer = ({
|
|
|
7662
7753
|
]
|
|
7663
7754
|
}
|
|
7664
7755
|
),
|
|
7665
|
-
meta && !isInlinePlaying && /* @__PURE__ */ (0,
|
|
7756
|
+
meta && !isInlinePlaying && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7666
7757
|
Layout,
|
|
7667
7758
|
{
|
|
7668
7759
|
width: "auto",
|
|
@@ -7673,7 +7764,7 @@ var VideoPlayer = ({
|
|
|
7673
7764
|
]
|
|
7674
7765
|
}
|
|
7675
7766
|
),
|
|
7676
|
-
/* @__PURE__ */ (0,
|
|
7767
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
|
|
7677
7768
|
Modal,
|
|
7678
7769
|
{
|
|
7679
7770
|
open: isExpanded,
|
|
@@ -7681,9 +7772,9 @@ var VideoPlayer = ({
|
|
|
7681
7772
|
onOpenAutoFocus: focusExpandedVideo,
|
|
7682
7773
|
width: "70vw",
|
|
7683
7774
|
children: [
|
|
7684
|
-
/* @__PURE__ */ (0,
|
|
7685
|
-
/* @__PURE__ */ (0,
|
|
7686
|
-
/* @__PURE__ */ (0,
|
|
7775
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ModalHeader, { className: "items-start text-left", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(Layout, { align: "center", justify: "between", fullWidth: true, gap: 2, children: [
|
|
7776
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(Layout, { align: "center", gap: 2, className: "min-w-0", children: [
|
|
7777
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7687
7778
|
IconBadge,
|
|
7688
7779
|
{
|
|
7689
7780
|
name: "video",
|
|
@@ -7692,10 +7783,10 @@ var VideoPlayer = ({
|
|
|
7692
7783
|
iconColor: "blue_900"
|
|
7693
7784
|
}
|
|
7694
7785
|
),
|
|
7695
|
-
/* @__PURE__ */ (0,
|
|
7786
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ModalTitle, { className: "truncate", children: title })
|
|
7696
7787
|
] }),
|
|
7697
|
-
/* @__PURE__ */ (0,
|
|
7698
|
-
/* @__PURE__ */ (0,
|
|
7788
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(Layout, { width: "auto", align: "center", gap: 1, children: [
|
|
7789
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Tooltip, { content: "T\xE9l\xE9charger la vid\xE9o", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7699
7790
|
Icon,
|
|
7700
7791
|
{
|
|
7701
7792
|
name: "download",
|
|
@@ -7704,7 +7795,7 @@ var VideoPlayer = ({
|
|
|
7704
7795
|
"aria-label": "T\xE9l\xE9charger la vid\xE9o"
|
|
7705
7796
|
}
|
|
7706
7797
|
) }),
|
|
7707
|
-
/* @__PURE__ */ (0,
|
|
7798
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ModalClose, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7708
7799
|
Icon,
|
|
7709
7800
|
{
|
|
7710
7801
|
name: "xmark",
|
|
@@ -7716,7 +7807,7 @@ var VideoPlayer = ({
|
|
|
7716
7807
|
) })
|
|
7717
7808
|
] })
|
|
7718
7809
|
] }) }),
|
|
7719
|
-
/* @__PURE__ */ (0,
|
|
7810
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
7720
7811
|
"video",
|
|
7721
7812
|
{
|
|
7722
7813
|
ref: attachExpandedVideo,
|
|
@@ -7738,7 +7829,7 @@ var VideoPlayer = ({
|
|
|
7738
7829
|
|
|
7739
7830
|
// src/ui/components/ui/ScrollArea.tsx
|
|
7740
7831
|
var RadixScrollArea = __toESM(require("@radix-ui/react-scroll-area"));
|
|
7741
|
-
var
|
|
7832
|
+
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
7742
7833
|
var HIDDEN_SCROLLBAR_CLASSNAME = "w-0 h-0 opacity-0";
|
|
7743
7834
|
var ScrollArea = (_a) => {
|
|
7744
7835
|
var _b = _a, {
|
|
@@ -7752,13 +7843,13 @@ var ScrollArea = (_a) => {
|
|
|
7752
7843
|
"orientation",
|
|
7753
7844
|
"viewportRef"
|
|
7754
7845
|
]);
|
|
7755
|
-
return /* @__PURE__ */ (0,
|
|
7846
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
|
|
7756
7847
|
RadixScrollArea.Root,
|
|
7757
7848
|
__spreadProps(__spreadValues({
|
|
7758
7849
|
className: cn("relative overflow-hidden", className)
|
|
7759
7850
|
}, props), {
|
|
7760
7851
|
children: [
|
|
7761
|
-
/* @__PURE__ */ (0,
|
|
7852
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
7762
7853
|
RadixScrollArea.Viewport,
|
|
7763
7854
|
{
|
|
7764
7855
|
ref: viewportRef,
|
|
@@ -7770,23 +7861,23 @@ var ScrollArea = (_a) => {
|
|
|
7770
7861
|
children
|
|
7771
7862
|
}
|
|
7772
7863
|
),
|
|
7773
|
-
(orientation === "vertical" || orientation === "both") && /* @__PURE__ */ (0,
|
|
7864
|
+
(orientation === "vertical" || orientation === "both") && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
7774
7865
|
RadixScrollArea.Scrollbar,
|
|
7775
7866
|
{
|
|
7776
7867
|
orientation: "vertical",
|
|
7777
7868
|
className: HIDDEN_SCROLLBAR_CLASSNAME,
|
|
7778
|
-
children: /* @__PURE__ */ (0,
|
|
7869
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(RadixScrollArea.Thumb, { className: "relative flex-1 rounded-full bg-grey-400" })
|
|
7779
7870
|
}
|
|
7780
7871
|
),
|
|
7781
|
-
(orientation === "horizontal" || orientation === "both") && /* @__PURE__ */ (0,
|
|
7872
|
+
(orientation === "horizontal" || orientation === "both") && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
7782
7873
|
RadixScrollArea.Scrollbar,
|
|
7783
7874
|
{
|
|
7784
7875
|
orientation: "horizontal",
|
|
7785
7876
|
className: HIDDEN_SCROLLBAR_CLASSNAME,
|
|
7786
|
-
children: /* @__PURE__ */ (0,
|
|
7877
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(RadixScrollArea.Thumb, { className: "relative flex-1 rounded-full bg-grey-400" })
|
|
7787
7878
|
}
|
|
7788
7879
|
),
|
|
7789
|
-
/* @__PURE__ */ (0,
|
|
7880
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(RadixScrollArea.Corner, {})
|
|
7790
7881
|
]
|
|
7791
7882
|
})
|
|
7792
7883
|
);
|
|
@@ -7794,7 +7885,7 @@ var ScrollArea = (_a) => {
|
|
|
7794
7885
|
|
|
7795
7886
|
// src/ui/components/ui/Message.tsx
|
|
7796
7887
|
var import_react53 = require("react");
|
|
7797
|
-
var
|
|
7888
|
+
var import_jsx_runtime91 = require("react/jsx-runtime");
|
|
7798
7889
|
var BUBBLE_BACKGROUND = {
|
|
7799
7890
|
own: { solid: "bg-blue-700", pale: "bg-blue-50" },
|
|
7800
7891
|
teammate: { solid: "bg-blue-100", pale: "bg-blue-100" },
|
|
@@ -7853,7 +7944,7 @@ var Message = (0, import_react53.forwardRef)(
|
|
|
7853
7944
|
const isInverted = isOwn && variant === "solid";
|
|
7854
7945
|
const contentColor = isInverted ? "white" : "neutral-800";
|
|
7855
7946
|
const metaColor = isInverted ? "white" : "grey-500";
|
|
7856
|
-
const avatar = showAuthor ? /* @__PURE__ */ (0,
|
|
7947
|
+
const avatar = showAuthor ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Avatar, { name: authorName, src: authorSrc, size: avatarSize }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
7857
7948
|
Layout,
|
|
7858
7949
|
{
|
|
7859
7950
|
width: `${avatarSize}px`,
|
|
@@ -7861,8 +7952,8 @@ var Message = (0, import_react53.forwardRef)(
|
|
|
7861
7952
|
"aria-hidden": "true"
|
|
7862
7953
|
}
|
|
7863
7954
|
);
|
|
7864
|
-
const actionsSlot = actions && !actionsOnHover ? /* @__PURE__ */ (0,
|
|
7865
|
-
const cornerActions = actions && actionsOnHover ? /* @__PURE__ */ (0,
|
|
7955
|
+
const actionsSlot = actions && !actionsOnHover ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Layout, { width: "auto", align: "center", className: "shrink-0", children: actions }) : null;
|
|
7956
|
+
const cornerActions = actions && actionsOnHover ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
7866
7957
|
Layout,
|
|
7867
7958
|
{
|
|
7868
7959
|
width: "auto",
|
|
@@ -7875,7 +7966,7 @@ var Message = (0, import_react53.forwardRef)(
|
|
|
7875
7966
|
children: actions
|
|
7876
7967
|
}
|
|
7877
7968
|
) : null;
|
|
7878
|
-
return /* @__PURE__ */ (0,
|
|
7969
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
7879
7970
|
Layout,
|
|
7880
7971
|
__spreadProps(__spreadValues({
|
|
7881
7972
|
ref,
|
|
@@ -7886,7 +7977,7 @@ var Message = (0, import_react53.forwardRef)(
|
|
|
7886
7977
|
className
|
|
7887
7978
|
}, props), {
|
|
7888
7979
|
children: [
|
|
7889
|
-
/* @__PURE__ */ (0,
|
|
7980
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
7890
7981
|
Layout,
|
|
7891
7982
|
{
|
|
7892
7983
|
fullWidth: true,
|
|
@@ -7897,7 +7988,7 @@ var Message = (0, import_react53.forwardRef)(
|
|
|
7897
7988
|
children: [
|
|
7898
7989
|
!isRightAligned && avatar,
|
|
7899
7990
|
isRightAligned && actionsSlot,
|
|
7900
|
-
/* @__PURE__ */ (0,
|
|
7991
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
7901
7992
|
Layout,
|
|
7902
7993
|
{
|
|
7903
7994
|
column: true,
|
|
@@ -7906,7 +7997,7 @@ var Message = (0, import_react53.forwardRef)(
|
|
|
7906
7997
|
align: isRightAligned ? "end" : "start",
|
|
7907
7998
|
style: { maxWidth },
|
|
7908
7999
|
children: [
|
|
7909
|
-
bubble ? /* @__PURE__ */ (0,
|
|
8000
|
+
bubble ? /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
7910
8001
|
Layout,
|
|
7911
8002
|
{
|
|
7912
8003
|
column: true,
|
|
@@ -7920,16 +8011,16 @@ var Message = (0, import_react53.forwardRef)(
|
|
|
7920
8011
|
cornerActions && "pr-8"
|
|
7921
8012
|
),
|
|
7922
8013
|
children: [
|
|
7923
|
-
deleted ? /* @__PURE__ */ (0,
|
|
7924
|
-
time && /* @__PURE__ */ (0,
|
|
8014
|
+
deleted ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Text, { size: "s", italic: true, color: metaColor, children: deletedLabel }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Text, { size: "s", color: contentColor, children }),
|
|
8015
|
+
time && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Layout, { fullWidth: true, justify: "end", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Text, { size: "xxs", color: metaColor, children: time }) }),
|
|
7925
8016
|
cornerActions
|
|
7926
8017
|
]
|
|
7927
8018
|
}
|
|
7928
|
-
) : cornerActions ? /* @__PURE__ */ (0,
|
|
8019
|
+
) : cornerActions ? /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Layout, { width: "auto", className: "relative", children: [
|
|
7929
8020
|
children,
|
|
7930
8021
|
cornerActions
|
|
7931
8022
|
] }) : children,
|
|
7932
|
-
status && /* @__PURE__ */ (0,
|
|
8023
|
+
status && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Layout, { fullWidth: true, justify: isRightAligned ? "end" : "start", children: status })
|
|
7933
8024
|
]
|
|
7934
8025
|
}
|
|
7935
8026
|
),
|
|
@@ -7938,7 +8029,7 @@ var Message = (0, import_react53.forwardRef)(
|
|
|
7938
8029
|
]
|
|
7939
8030
|
}
|
|
7940
8031
|
),
|
|
7941
|
-
showAuthor && showAuthorName && authorName && /* @__PURE__ */ (0,
|
|
8032
|
+
showAuthor && showAuthorName && authorName && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Text, { size: "xs", color: "grey-600", children: authorName })
|
|
7942
8033
|
]
|
|
7943
8034
|
})
|
|
7944
8035
|
);
|
|
@@ -7948,7 +8039,7 @@ Message.displayName = "Message";
|
|
|
7948
8039
|
|
|
7949
8040
|
// src/ui/components/ui/MessageScroller.tsx
|
|
7950
8041
|
var import_react54 = require("react");
|
|
7951
|
-
var
|
|
8042
|
+
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
7952
8043
|
var SEPARATOR_LINE = {
|
|
7953
8044
|
neutral: "",
|
|
7954
8045
|
alert: "bg-red-500"
|
|
@@ -7961,9 +8052,9 @@ var MessageDateSeparator = ({
|
|
|
7961
8052
|
label,
|
|
7962
8053
|
tone = "neutral",
|
|
7963
8054
|
className
|
|
7964
|
-
}) => /* @__PURE__ */ (0,
|
|
7965
|
-
/* @__PURE__ */ (0,
|
|
7966
|
-
/* @__PURE__ */ (0,
|
|
8055
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Layout, { fullWidth: true, gap: 2, align: "center", className, children: [
|
|
8056
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Layout, { flex: 1, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Divider, { className: SEPARATOR_LINE[tone] }) }),
|
|
8057
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Layout, { width: "auto", className: "shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
7967
8058
|
Text,
|
|
7968
8059
|
{
|
|
7969
8060
|
size: "xs",
|
|
@@ -7972,7 +8063,7 @@ var MessageDateSeparator = ({
|
|
|
7972
8063
|
children: label
|
|
7973
8064
|
}
|
|
7974
8065
|
) }),
|
|
7975
|
-
/* @__PURE__ */ (0,
|
|
8066
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Layout, { flex: 1, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Divider, { className: SEPARATOR_LINE[tone] }) })
|
|
7976
8067
|
] });
|
|
7977
8068
|
var MessageScroller = ({
|
|
7978
8069
|
children,
|
|
@@ -8012,13 +8103,13 @@ var MessageScroller = ({
|
|
|
8012
8103
|
if (isEmpty && emptyState) return emptyState;
|
|
8013
8104
|
return children;
|
|
8014
8105
|
};
|
|
8015
|
-
const scroller = /* @__PURE__ */ (0,
|
|
8106
|
+
const scroller = /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
8016
8107
|
ScrollArea,
|
|
8017
8108
|
{
|
|
8018
8109
|
viewportRef: scrollerRef,
|
|
8019
8110
|
className: cn("w-full", floatingFooter ? "min-h-0 flex-1" : className),
|
|
8020
8111
|
style: typeof height === "number" ? { height: `${height}px` } : { height },
|
|
8021
|
-
children: /* @__PURE__ */ (0,
|
|
8112
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
|
|
8022
8113
|
Layout,
|
|
8023
8114
|
{
|
|
8024
8115
|
column: true,
|
|
@@ -8041,9 +8132,9 @@ var MessageScroller = ({
|
|
|
8041
8132
|
}
|
|
8042
8133
|
);
|
|
8043
8134
|
if (!floatingFooter) return scroller;
|
|
8044
|
-
return /* @__PURE__ */ (0,
|
|
8135
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Layout, { column: true, fullWidth: true, className: cn("relative min-h-0", className), children: [
|
|
8045
8136
|
scroller,
|
|
8046
|
-
/* @__PURE__ */ (0,
|
|
8137
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
8047
8138
|
Layout,
|
|
8048
8139
|
{
|
|
8049
8140
|
width: "auto",
|
|
@@ -8056,13 +8147,13 @@ var MessageScroller = ({
|
|
|
8056
8147
|
|
|
8057
8148
|
// src/ui/components/ui/Stepper.tsx
|
|
8058
8149
|
var import_react55 = require("react");
|
|
8059
|
-
var
|
|
8150
|
+
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
8060
8151
|
var Stepper = ({
|
|
8061
8152
|
numberOfSteps,
|
|
8062
8153
|
current = 0,
|
|
8063
8154
|
size = 28,
|
|
8064
8155
|
className
|
|
8065
|
-
}) => /* @__PURE__ */ (0,
|
|
8156
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
8066
8157
|
"nav",
|
|
8067
8158
|
{
|
|
8068
8159
|
"aria-label": "progression",
|
|
@@ -8073,8 +8164,8 @@ var Stepper = ({
|
|
|
8073
8164
|
children: Array.from({ length: numberOfSteps }, (_, i) => {
|
|
8074
8165
|
const isActive = i === current;
|
|
8075
8166
|
const isCompleted = i < current;
|
|
8076
|
-
return /* @__PURE__ */ (0,
|
|
8077
|
-
/* @__PURE__ */ (0,
|
|
8167
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_react55.Fragment, { children: [
|
|
8168
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
8078
8169
|
"div",
|
|
8079
8170
|
{
|
|
8080
8171
|
"aria-hidden": true,
|
|
@@ -8083,10 +8174,10 @@ var Stepper = ({
|
|
|
8083
8174
|
isCompleted ? "border-blue-800 bg-blue-800 text-white" : isActive ? "border-blue-800 bg-white text-blue-800" : "border-grey-500 bg-white text-grey-500"
|
|
8084
8175
|
),
|
|
8085
8176
|
style: { width: size, height: size },
|
|
8086
|
-
children: isCompleted ? /* @__PURE__ */ (0,
|
|
8177
|
+
children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(FaIcon, { name: "check", family: "solid", size: 12 }) : i + 1
|
|
8087
8178
|
}
|
|
8088
8179
|
),
|
|
8089
|
-
i < numberOfSteps - 1 && /* @__PURE__ */ (0,
|
|
8180
|
+
i < numberOfSteps - 1 && /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { className: "h-px min-w-[8px] flex-1 bg-grey-300" })
|
|
8090
8181
|
] }, i);
|
|
8091
8182
|
})
|
|
8092
8183
|
}
|
|
@@ -8100,12 +8191,12 @@ var import_style2 = require("react-day-picker/style.css");
|
|
|
8100
8191
|
var import_date_fns = require("date-fns");
|
|
8101
8192
|
var import_locale2 = require("date-fns/locale");
|
|
8102
8193
|
var RadixPopover6 = __toESM(require("@radix-ui/react-popover"));
|
|
8103
|
-
var
|
|
8194
|
+
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
8104
8195
|
var formatMonthCaption = (month) => (0, import_date_fns.format)(month, "MMM yyyy", { locale: import_locale2.fr });
|
|
8105
8196
|
var RANGE_PRESETS = [
|
|
8106
8197
|
{
|
|
8107
8198
|
label: "Mois pr\xE9c\xE9dent",
|
|
8108
|
-
icon: /* @__PURE__ */ (0,
|
|
8199
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(FaIcon, { name: "calendar-arrow-up", size: 15 }),
|
|
8109
8200
|
getValue: () => [
|
|
8110
8201
|
(0, import_date_fns.startOfMonth)((0, import_date_fns.subMonths)(/* @__PURE__ */ new Date(), 1)),
|
|
8111
8202
|
(0, import_date_fns.endOfMonth)((0, import_date_fns.subMonths)(/* @__PURE__ */ new Date(), 1))
|
|
@@ -8113,34 +8204,34 @@ var RANGE_PRESETS = [
|
|
|
8113
8204
|
},
|
|
8114
8205
|
{
|
|
8115
8206
|
label: "Ce mois",
|
|
8116
|
-
icon: /* @__PURE__ */ (0,
|
|
8207
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(FaIcon, { name: "calendar-days", size: 15 }),
|
|
8117
8208
|
getValue: () => [(0, import_date_fns.startOfMonth)(/* @__PURE__ */ new Date()), (0, import_date_fns.endOfMonth)(/* @__PURE__ */ new Date())]
|
|
8118
8209
|
},
|
|
8119
8210
|
{
|
|
8120
8211
|
label: "Ce trimestre",
|
|
8121
|
-
icon: /* @__PURE__ */ (0,
|
|
8212
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(FaIcon, { name: "calendar-range", size: 15 }),
|
|
8122
8213
|
getValue: () => [(0, import_date_fns.startOfQuarter)(/* @__PURE__ */ new Date()), (0, import_date_fns.endOfQuarter)(/* @__PURE__ */ new Date())]
|
|
8123
8214
|
},
|
|
8124
8215
|
{
|
|
8125
8216
|
label: "Cette ann\xE9e",
|
|
8126
|
-
icon: /* @__PURE__ */ (0,
|
|
8217
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(FaIcon, { name: "calendar-clock", size: 15 }),
|
|
8127
8218
|
getValue: () => [(0, import_date_fns.startOfYear)(/* @__PURE__ */ new Date()), (0, import_date_fns.endOfYear)(/* @__PURE__ */ new Date())]
|
|
8128
8219
|
}
|
|
8129
8220
|
];
|
|
8130
8221
|
var SINGLE_PRESETS = [
|
|
8131
8222
|
{
|
|
8132
8223
|
label: "Aujourd'hui",
|
|
8133
|
-
icon: /* @__PURE__ */ (0,
|
|
8224
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(FaIcon, { name: "calendar-days", size: 15 }),
|
|
8134
8225
|
getValue: () => /* @__PURE__ */ new Date()
|
|
8135
8226
|
},
|
|
8136
8227
|
{
|
|
8137
8228
|
label: "Demain",
|
|
8138
|
-
icon: /* @__PURE__ */ (0,
|
|
8229
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(FaIcon, { name: "calendar-plus", size: 15 }),
|
|
8139
8230
|
getValue: () => (0, import_date_fns.addDays)(/* @__PURE__ */ new Date(), 1)
|
|
8140
8231
|
},
|
|
8141
8232
|
{
|
|
8142
8233
|
label: "Dans 7 jours",
|
|
8143
|
-
icon: /* @__PURE__ */ (0,
|
|
8234
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(FaIcon, { name: "calendar-clock", size: 15 }),
|
|
8144
8235
|
getValue: () => (0, import_date_fns.addDays)(/* @__PURE__ */ new Date(), 7)
|
|
8145
8236
|
}
|
|
8146
8237
|
];
|
|
@@ -8187,7 +8278,7 @@ var DatePicker = ({
|
|
|
8187
8278
|
else onChange == null ? void 0 : onChange(null);
|
|
8188
8279
|
setActivePreset(null);
|
|
8189
8280
|
};
|
|
8190
|
-
const calendar = /* @__PURE__ */ (0,
|
|
8281
|
+
const calendar = /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(RadixPopover6.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8191
8282
|
RadixPopover6.Content,
|
|
8192
8283
|
{
|
|
8193
8284
|
align,
|
|
@@ -8197,7 +8288,7 @@ var DatePicker = ({
|
|
|
8197
8288
|
// Les deux mois côte à côte tiennent dans ce gabarit.
|
|
8198
8289
|
isRange && "max-h-[260px] max-w-[423px] overflow-auto"
|
|
8199
8290
|
),
|
|
8200
|
-
children: isRange ? /* @__PURE__ */ (0,
|
|
8291
|
+
children: isRange ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8201
8292
|
import_react_day_picker.DayPicker,
|
|
8202
8293
|
{
|
|
8203
8294
|
mode: "range",
|
|
@@ -8216,7 +8307,7 @@ var DatePicker = ({
|
|
|
8216
8307
|
showOutsideDays: true,
|
|
8217
8308
|
formatters: { formatCaption: formatMonthCaption }
|
|
8218
8309
|
}
|
|
8219
|
-
) : /* @__PURE__ */ (0,
|
|
8310
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8220
8311
|
import_react_day_picker.DayPicker,
|
|
8221
8312
|
{
|
|
8222
8313
|
mode: "single",
|
|
@@ -8235,8 +8326,8 @@ var DatePicker = ({
|
|
|
8235
8326
|
}
|
|
8236
8327
|
) });
|
|
8237
8328
|
if (!showPresets) {
|
|
8238
|
-
return /* @__PURE__ */ (0,
|
|
8239
|
-
/* @__PURE__ */ (0,
|
|
8329
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(RadixPopover6.Root, { open, onOpenChange: setOpen, children: [
|
|
8330
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(RadixPopover6.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8240
8331
|
"button",
|
|
8241
8332
|
{
|
|
8242
8333
|
type: "button",
|
|
@@ -8255,10 +8346,10 @@ var DatePicker = ({
|
|
|
8255
8346
|
calendar
|
|
8256
8347
|
] });
|
|
8257
8348
|
}
|
|
8258
|
-
return /* @__PURE__ */ (0,
|
|
8259
|
-
/* @__PURE__ */ (0,
|
|
8260
|
-
/* @__PURE__ */ (0,
|
|
8261
|
-
/* @__PURE__ */ (0,
|
|
8349
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(RadixPopover6.Root, { open, onOpenChange: setOpen, children: [
|
|
8350
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(Layout, { column: true, gap: 1.5, className, children: [
|
|
8351
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(Layout, { align: "center", gap: 1.5, children: [
|
|
8352
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(RadixPopover6.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8262
8353
|
"button",
|
|
8263
8354
|
{
|
|
8264
8355
|
type: "button",
|
|
@@ -8268,12 +8359,12 @@ var DatePicker = ({
|
|
|
8268
8359
|
"flex h-9 w-9 items-center justify-center rounded-[6px] border border-grey-300 bg-white text-neutral-800 transition-colors",
|
|
8269
8360
|
"hover:border-blue-700 disabled:cursor-not-allowed disabled:opacity-60"
|
|
8270
8361
|
),
|
|
8271
|
-
children: /* @__PURE__ */ (0,
|
|
8362
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(FaIcon, { name: "calendar", size: 16 })
|
|
8272
8363
|
}
|
|
8273
8364
|
) }),
|
|
8274
8365
|
resolvedPresets.map((preset) => {
|
|
8275
8366
|
const active = activePreset === preset.label;
|
|
8276
|
-
return /* @__PURE__ */ (0,
|
|
8367
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Tooltip, { content: preset.label, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8277
8368
|
"button",
|
|
8278
8369
|
{
|
|
8279
8370
|
type: "button",
|
|
@@ -8290,7 +8381,7 @@ var DatePicker = ({
|
|
|
8290
8381
|
) }, preset.label);
|
|
8291
8382
|
})
|
|
8292
8383
|
] }),
|
|
8293
|
-
hasValue && /* @__PURE__ */ (0,
|
|
8384
|
+
hasValue && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8294
8385
|
"button",
|
|
8295
8386
|
{
|
|
8296
8387
|
type: "button",
|
|
@@ -8775,7 +8866,7 @@ var optimizeImage = async (file, desiredBaseName, opts = {}) => {
|
|
|
8775
8866
|
// src/ui/components/ui/Tour.tsx
|
|
8776
8867
|
var import_react57 = require("react");
|
|
8777
8868
|
var import_driver = require("driver.js");
|
|
8778
|
-
var
|
|
8869
|
+
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
8779
8870
|
var TOUR_TARGET_ATTRIBUTE = "data-tour-target";
|
|
8780
8871
|
var DEFAULT_LABELS = {
|
|
8781
8872
|
previous: "Pr\xE9c\xE9dent",
|
|
@@ -8787,7 +8878,7 @@ var DEFAULT_LABELS = {
|
|
|
8787
8878
|
var STAGE_PADDING = 6;
|
|
8788
8879
|
var GHOST_TRANSITION_MS = 200;
|
|
8789
8880
|
var HIGHLIGHT_DURATION_MS = 400;
|
|
8790
|
-
var TourTarget = ({ id, children }) => /* @__PURE__ */ (0,
|
|
8881
|
+
var TourTarget = ({ id, children }) => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", __spreadProps(__spreadValues({}, { [TOUR_TARGET_ATTRIBUTE]: id }), { className: "contents", children }));
|
|
8791
8882
|
var isContents = (element) => getComputedStyle(element).display === "contents";
|
|
8792
8883
|
var measure = (element) => {
|
|
8793
8884
|
if (!isContents(element)) {
|
|
@@ -9105,6 +9196,7 @@ var Tour = ({
|
|
|
9105
9196
|
TagSelect,
|
|
9106
9197
|
Text,
|
|
9107
9198
|
Textarea,
|
|
9199
|
+
Tile,
|
|
9108
9200
|
Timeline,
|
|
9109
9201
|
Toaster,
|
|
9110
9202
|
Tooltip,
|