design-zystem 1.0.422 → 1.0.424

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1270,6 +1270,7 @@ declare const GanttSwatch: ({ color, filled, }: {
1270
1270
  * - "weekdayTime": weekday/date + time (24h)
1271
1271
  * - "longDate": day + full month + year, no weekday (ex: 16 mai 2024)
1272
1272
  * - "dayMonth": day + full month, no weekday (year only if different)
1273
+ * - "shortDayMonth": DD/MM, year only if different (ex: 16/05, 16/05/2024)
1273
1274
  * - "dateISO": ISO format YYYY-MM-DD (timezone-safe for backend)
1274
1275
  */
1275
1276
  declare const formatDate: (dateString: Date | string | number | null | undefined, type?: string, language?: string) => string;
package/dist/index.d.ts CHANGED
@@ -1270,6 +1270,7 @@ declare const GanttSwatch: ({ color, filled, }: {
1270
1270
  * - "weekdayTime": weekday/date + time (24h)
1271
1271
  * - "longDate": day + full month + year, no weekday (ex: 16 mai 2024)
1272
1272
  * - "dayMonth": day + full month, no weekday (year only if different)
1273
+ * - "shortDayMonth": DD/MM, year only if different (ex: 16/05, 16/05/2024)
1273
1274
  * - "dateISO": ISO format YYYY-MM-DD (timezone-safe for backend)
1274
1275
  */
1275
1276
  declare const formatDate: (dateString: Date | string | number | null | undefined, type?: string, language?: string) => string;
package/dist/index.js CHANGED
@@ -6899,6 +6899,14 @@ var formatDate = (dateString, type = "date", language = "en") => {
6899
6899
  month: "long"
6900
6900
  }, dateYear !== currentYear && { year: "numeric" }));
6901
6901
  }
6902
+ case "shortDayMonth": {
6903
+ const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
6904
+ const dateYear = date.getFullYear();
6905
+ return format(__spreadValues({
6906
+ day: "2-digit",
6907
+ month: "2-digit"
6908
+ }, dateYear !== currentYear && { year: "numeric" }));
6909
+ }
6902
6910
  case "monthYear":
6903
6911
  return format({ month: "long", year: "numeric" });
6904
6912
  default:
package/dist/index.mjs CHANGED
@@ -6776,6 +6776,14 @@ var formatDate = (dateString, type = "date", language = "en") => {
6776
6776
  month: "long"
6777
6777
  }, dateYear !== currentYear && { year: "numeric" }));
6778
6778
  }
6779
+ case "shortDayMonth": {
6780
+ const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
6781
+ const dateYear = date.getFullYear();
6782
+ return format(__spreadValues({
6783
+ day: "2-digit",
6784
+ month: "2-digit"
6785
+ }, dateYear !== currentYear && { year: "numeric" }));
6786
+ }
6779
6787
  case "monthYear":
6780
6788
  return format({ month: "long", year: "numeric" });
6781
6789
  default:
@@ -10,6 +10,7 @@ import * as RadixAvatar from '@radix-ui/react-avatar';
10
10
  import * as RadixCollapsible from '@radix-ui/react-collapsible';
11
11
  import { Drawer as Drawer$1 } from 'vaul';
12
12
  import * as RadixTooltip from '@radix-ui/react-tooltip';
13
+ import { ToasterProps } from 'sonner';
13
14
  import * as RadixToggle from '@radix-ui/react-toggle';
14
15
  import { DocumentProps } from 'react-pdf';
15
16
  import * as RadixScrollArea from '@radix-ui/react-scroll-area';
@@ -55,6 +56,9 @@ type ColorToken = (typeof COLOR_TOKENS)[number];
55
56
  type HexColor = `#${string}`;
56
57
 
57
58
  declare const boxVariants: (props?: ({
59
+ background?: "white" | "grey-100" | "grey-200" | null | undefined;
60
+ bordered?: boolean | null | undefined;
61
+ clickable?: boolean | null | undefined;
58
62
  padding?: "none" | "sm" | "md" | "lg" | null | undefined;
59
63
  radius?: "none" | "sm" | "md" | null | undefined;
60
64
  hasShadow?: boolean | null | undefined;
@@ -1116,6 +1120,8 @@ interface ToastOptions {
1116
1120
  timeOut?: number;
1117
1121
  /** Remplace le toast déjà affiché sous cet id (ex. celui renvoyé par `toast.loading`) au lieu d'en ouvrir un nouveau. */
1118
1122
  id?: ToastId;
1123
+ /** Coin d'affichage de ce toast seul, ex. `bottom-left` pour ne pas couvrir le pied d'un drawer ouvert à droite. */
1124
+ position?: ToasterProps['position'];
1119
1125
  }
1120
1126
  /** API impérative, appelable hors composant React. Monte `<Toaster />` une fois à la racine de l'app. */
1121
1127
  declare const toast: {
@@ -1353,13 +1359,15 @@ interface TagBubbleProps extends Omit<ComponentPropsWithoutRef<typeof RadixToggl
1353
1359
  activeFill?: boolean;
1354
1360
  /** Forme pilule (`rounded-full`) à la place du rectangle arrondi par défaut. */
1355
1361
  pill?: boolean;
1362
+ /** `m` : hauteur fixe de 36 px, alignée sur les champs et boutons d'une barre de filtres. */
1363
+ size?: 's' | 'm';
1356
1364
  count?: number | string | null;
1357
1365
  countColor?: ColorToken;
1358
1366
  onClick?: (event: MouseEvent<HTMLButtonElement>) => void;
1359
1367
  className?: string;
1360
1368
  }
1361
1369
  /** Construit sur `@radix-ui/react-toggle` (comme le `Toggle` de shadcn) — chip filtre à deux états, pressable au clavier. */
1362
- declare const TagBubble: ({ label, hideDot, active, activeColor, inactiveColor, activeFill, pill, count, countColor, onClick, className, ...rest }: TagBubbleProps) => react.JSX.Element;
1370
+ declare const TagBubble: ({ label, hideDot, active, activeColor, inactiveColor, activeFill, pill, size, count, countColor, onClick, className, ...rest }: TagBubbleProps) => react.JSX.Element;
1363
1371
 
1364
1372
  interface HistoryChange {
1365
1373
  label: string;
@@ -1834,6 +1842,7 @@ declare const DatePicker: ({ mode, value, onChange, startDate, endDate, onRangeC
1834
1842
  * - "time": heure seule (24h) (ex: 14:32)
1835
1843
  * - "longDate": jour + mois complet + année, sans jour de semaine (ex: 16 mai 2024)
1836
1844
  * - "dayMonth": jour + mois complet, sans jour de semaine (année si différente) (ex: 16 mai)
1845
+ * - "shortDayMonth": JJ/MM, année si différente (ex: 16/05, 16/05/2024)
1837
1846
  * - "dateISO": format ISO YYYY-MM-DD (safe timezone pour le backend)
1838
1847
  */
1839
1848
  declare const formatDate: (dateString: Date | string | number | null | undefined, type?: string, language?: string) => string;
@@ -10,6 +10,7 @@ import * as RadixAvatar from '@radix-ui/react-avatar';
10
10
  import * as RadixCollapsible from '@radix-ui/react-collapsible';
11
11
  import { Drawer as Drawer$1 } from 'vaul';
12
12
  import * as RadixTooltip from '@radix-ui/react-tooltip';
13
+ import { ToasterProps } from 'sonner';
13
14
  import * as RadixToggle from '@radix-ui/react-toggle';
14
15
  import { DocumentProps } from 'react-pdf';
15
16
  import * as RadixScrollArea from '@radix-ui/react-scroll-area';
@@ -55,6 +56,9 @@ type ColorToken = (typeof COLOR_TOKENS)[number];
55
56
  type HexColor = `#${string}`;
56
57
 
57
58
  declare const boxVariants: (props?: ({
59
+ background?: "white" | "grey-100" | "grey-200" | null | undefined;
60
+ bordered?: boolean | null | undefined;
61
+ clickable?: boolean | null | undefined;
58
62
  padding?: "none" | "sm" | "md" | "lg" | null | undefined;
59
63
  radius?: "none" | "sm" | "md" | null | undefined;
60
64
  hasShadow?: boolean | null | undefined;
@@ -1116,6 +1120,8 @@ interface ToastOptions {
1116
1120
  timeOut?: number;
1117
1121
  /** Remplace le toast déjà affiché sous cet id (ex. celui renvoyé par `toast.loading`) au lieu d'en ouvrir un nouveau. */
1118
1122
  id?: ToastId;
1123
+ /** Coin d'affichage de ce toast seul, ex. `bottom-left` pour ne pas couvrir le pied d'un drawer ouvert à droite. */
1124
+ position?: ToasterProps['position'];
1119
1125
  }
1120
1126
  /** API impérative, appelable hors composant React. Monte `<Toaster />` une fois à la racine de l'app. */
1121
1127
  declare const toast: {
@@ -1353,13 +1359,15 @@ interface TagBubbleProps extends Omit<ComponentPropsWithoutRef<typeof RadixToggl
1353
1359
  activeFill?: boolean;
1354
1360
  /** Forme pilule (`rounded-full`) à la place du rectangle arrondi par défaut. */
1355
1361
  pill?: boolean;
1362
+ /** `m` : hauteur fixe de 36 px, alignée sur les champs et boutons d'une barre de filtres. */
1363
+ size?: 's' | 'm';
1356
1364
  count?: number | string | null;
1357
1365
  countColor?: ColorToken;
1358
1366
  onClick?: (event: MouseEvent<HTMLButtonElement>) => void;
1359
1367
  className?: string;
1360
1368
  }
1361
1369
  /** Construit sur `@radix-ui/react-toggle` (comme le `Toggle` de shadcn) — chip filtre à deux états, pressable au clavier. */
1362
- declare const TagBubble: ({ label, hideDot, active, activeColor, inactiveColor, activeFill, pill, count, countColor, onClick, className, ...rest }: TagBubbleProps) => react.JSX.Element;
1370
+ declare const TagBubble: ({ label, hideDot, active, activeColor, inactiveColor, activeFill, pill, size, count, countColor, onClick, className, ...rest }: TagBubbleProps) => react.JSX.Element;
1363
1371
 
1364
1372
  interface HistoryChange {
1365
1373
  label: string;
@@ -1834,6 +1842,7 @@ declare const DatePicker: ({ mode, value, onChange, startDate, endDate, onRangeC
1834
1842
  * - "time": heure seule (24h) (ex: 14:32)
1835
1843
  * - "longDate": jour + mois complet + année, sans jour de semaine (ex: 16 mai 2024)
1836
1844
  * - "dayMonth": jour + mois complet, sans jour de semaine (année si différente) (ex: 16 mai)
1845
+ * - "shortDayMonth": JJ/MM, année si différente (ex: 16/05, 16/05/2024)
1837
1846
  * - "dateISO": format ISO YYYY-MM-DD (safe timezone pour le backend)
1838
1847
  */
1839
1848
  declare const formatDate: (dateString: Date | string | number | null | undefined, type?: string, language?: string) => string;
package/dist/ui/index.js CHANGED
@@ -508,8 +508,21 @@ var ACCENT_CLASS = {
508
508
  "orange-600": "border-l-4 border-l-orange-600",
509
509
  "purple-700": "border-l-4 border-l-purple-700"
510
510
  };
511
- var boxVariants = (0, import_class_variance_authority2.cva)("border border-grey-300 bg-white", {
511
+ var boxVariants = (0, import_class_variance_authority2.cva)("", {
512
512
  variants: {
513
+ background: {
514
+ white: "bg-white",
515
+ "grey-100": "bg-grey-100",
516
+ "grey-200": "bg-grey-200"
517
+ },
518
+ bordered: {
519
+ true: "border border-grey-300",
520
+ false: "border-0"
521
+ },
522
+ clickable: {
523
+ true: "cursor-pointer",
524
+ false: ""
525
+ },
513
526
  padding: {
514
527
  none: "p-0",
515
528
  sm: "p-2",
@@ -526,11 +539,21 @@ var boxVariants = (0, import_class_variance_authority2.cva)("border border-grey-
526
539
  false: ""
527
540
  }
528
541
  },
529
- defaultVariants: { padding: "md", radius: "md", hasShadow: false }
542
+ defaultVariants: {
543
+ background: "white",
544
+ bordered: true,
545
+ clickable: false,
546
+ padding: "md",
547
+ radius: "md",
548
+ hasShadow: false
549
+ }
530
550
  });
531
551
  var Box = (0, import_react2.forwardRef)(
532
552
  (_a, ref) => {
533
553
  var _b = _a, {
554
+ background,
555
+ bordered,
556
+ clickable,
534
557
  padding,
535
558
  radius,
536
559
  hasShadow,
@@ -540,6 +563,9 @@ var Box = (0, import_react2.forwardRef)(
540
563
  className,
541
564
  style
542
565
  } = _b, props = __objRest(_b, [
566
+ "background",
567
+ "bordered",
568
+ "clickable",
543
569
  "padding",
544
570
  "radius",
545
571
  "hasShadow",
@@ -554,7 +580,14 @@ var Box = (0, import_react2.forwardRef)(
554
580
  __spreadValues({
555
581
  ref,
556
582
  className: cn(
557
- boxVariants({ padding, radius, hasShadow }),
583
+ boxVariants({
584
+ background,
585
+ bordered,
586
+ clickable,
587
+ padding,
588
+ radius,
589
+ hasShadow
590
+ }),
558
591
  ACCENT_CLASS[accent],
559
592
  className
560
593
  ),
@@ -5397,7 +5430,8 @@ var show = (type, message, options) => {
5397
5430
  ),
5398
5431
  {
5399
5432
  id: options == null ? void 0 : options.id,
5400
- duration: timeOut
5433
+ duration: timeOut,
5434
+ position: options == null ? void 0 : options.position
5401
5435
  }
5402
5436
  );
5403
5437
  };
@@ -6368,6 +6402,7 @@ var TagBubble = (_a) => {
6368
6402
  inactiveColor = "grey-600",
6369
6403
  activeFill = false,
6370
6404
  pill = false,
6405
+ size = "s",
6371
6406
  count,
6372
6407
  countColor = "green-700",
6373
6408
  onClick,
@@ -6380,6 +6415,7 @@ var TagBubble = (_a) => {
6380
6415
  "inactiveColor",
6381
6416
  "activeFill",
6382
6417
  "pill",
6418
+ "size",
6383
6419
  "count",
6384
6420
  "countColor",
6385
6421
  "onClick",
@@ -6399,6 +6435,7 @@ var TagBubble = (_a) => {
6399
6435
  className: cn(
6400
6436
  "inline-flex items-center justify-center gap-2 border px-2.5 py-1.5 outline-none",
6401
6437
  pill ? "rounded-full" : "rounded-[6px]",
6438
+ size === "m" && "h-9",
6402
6439
  filled ? cn(
6403
6440
  isHexColor(activeColor) ? "bg-white" : [LIGHT_BG_CLASS[activeColor], BORDER_CLASS[activeColor]],
6404
6441
  "border-2"
@@ -6521,6 +6558,14 @@ var formatDate = (dateString, type = "date", language = "en") => {
6521
6558
  }
6522
6559
  case "longDate":
6523
6560
  return format2({ day: "numeric", month: "long", year: "numeric" });
6561
+ case "shortDayMonth": {
6562
+ const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
6563
+ const dateYear = date.getFullYear();
6564
+ return format2(__spreadValues({
6565
+ day: "2-digit",
6566
+ month: "2-digit"
6567
+ }, dateYear !== currentYear && { year: "numeric" }));
6568
+ }
6524
6569
  case "monthYear":
6525
6570
  return format2({ month: "long", year: "numeric" });
6526
6571
  default:
package/dist/ui/index.mjs CHANGED
@@ -301,8 +301,21 @@ var ACCENT_CLASS = {
301
301
  "orange-600": "border-l-4 border-l-orange-600",
302
302
  "purple-700": "border-l-4 border-l-purple-700"
303
303
  };
304
- var boxVariants = cva2("border border-grey-300 bg-white", {
304
+ var boxVariants = cva2("", {
305
305
  variants: {
306
+ background: {
307
+ white: "bg-white",
308
+ "grey-100": "bg-grey-100",
309
+ "grey-200": "bg-grey-200"
310
+ },
311
+ bordered: {
312
+ true: "border border-grey-300",
313
+ false: "border-0"
314
+ },
315
+ clickable: {
316
+ true: "cursor-pointer",
317
+ false: ""
318
+ },
306
319
  padding: {
307
320
  none: "p-0",
308
321
  sm: "p-2",
@@ -319,11 +332,21 @@ var boxVariants = cva2("border border-grey-300 bg-white", {
319
332
  false: ""
320
333
  }
321
334
  },
322
- defaultVariants: { padding: "md", radius: "md", hasShadow: false }
335
+ defaultVariants: {
336
+ background: "white",
337
+ bordered: true,
338
+ clickable: false,
339
+ padding: "md",
340
+ radius: "md",
341
+ hasShadow: false
342
+ }
323
343
  });
324
344
  var Box = forwardRef2(
325
345
  (_a, ref) => {
326
346
  var _b = _a, {
347
+ background,
348
+ bordered,
349
+ clickable,
327
350
  padding,
328
351
  radius,
329
352
  hasShadow,
@@ -333,6 +356,9 @@ var Box = forwardRef2(
333
356
  className,
334
357
  style
335
358
  } = _b, props = __objRest(_b, [
359
+ "background",
360
+ "bordered",
361
+ "clickable",
336
362
  "padding",
337
363
  "radius",
338
364
  "hasShadow",
@@ -347,7 +373,14 @@ var Box = forwardRef2(
347
373
  __spreadValues({
348
374
  ref,
349
375
  className: cn(
350
- boxVariants({ padding, radius, hasShadow }),
376
+ boxVariants({
377
+ background,
378
+ bordered,
379
+ clickable,
380
+ padding,
381
+ radius,
382
+ hasShadow
383
+ }),
351
384
  ACCENT_CLASS[accent],
352
385
  className
353
386
  ),
@@ -5213,7 +5246,8 @@ var show = (type, message, options) => {
5213
5246
  ),
5214
5247
  {
5215
5248
  id: options == null ? void 0 : options.id,
5216
- duration: timeOut
5249
+ duration: timeOut,
5250
+ position: options == null ? void 0 : options.position
5217
5251
  }
5218
5252
  );
5219
5253
  };
@@ -6190,6 +6224,7 @@ var TagBubble = (_a) => {
6190
6224
  inactiveColor = "grey-600",
6191
6225
  activeFill = false,
6192
6226
  pill = false,
6227
+ size = "s",
6193
6228
  count,
6194
6229
  countColor = "green-700",
6195
6230
  onClick,
@@ -6202,6 +6237,7 @@ var TagBubble = (_a) => {
6202
6237
  "inactiveColor",
6203
6238
  "activeFill",
6204
6239
  "pill",
6240
+ "size",
6205
6241
  "count",
6206
6242
  "countColor",
6207
6243
  "onClick",
@@ -6221,6 +6257,7 @@ var TagBubble = (_a) => {
6221
6257
  className: cn(
6222
6258
  "inline-flex items-center justify-center gap-2 border px-2.5 py-1.5 outline-none",
6223
6259
  pill ? "rounded-full" : "rounded-[6px]",
6260
+ size === "m" && "h-9",
6224
6261
  filled ? cn(
6225
6262
  isHexColor(activeColor) ? "bg-white" : [LIGHT_BG_CLASS[activeColor], BORDER_CLASS[activeColor]],
6226
6263
  "border-2"
@@ -6343,6 +6380,14 @@ var formatDate = (dateString, type = "date", language = "en") => {
6343
6380
  }
6344
6381
  case "longDate":
6345
6382
  return format2({ day: "numeric", month: "long", year: "numeric" });
6383
+ case "shortDayMonth": {
6384
+ const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
6385
+ const dateYear = date.getFullYear();
6386
+ return format2(__spreadValues({
6387
+ day: "2-digit",
6388
+ month: "2-digit"
6389
+ }, dateYear !== currentYear && { year: "numeric" }));
6390
+ }
6346
6391
  case "monthYear":
6347
6392
  return format2({ month: "long", year: "numeric" });
6348
6393
  default:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "design-zystem",
3
- "version": "1.0.422",
3
+ "version": "1.0.424",
4
4
  "description": "A React design system of importable components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",