@club-employes/utopia 4.432.0 → 4.433.0

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.
@@ -25,8 +25,8 @@ declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentO
25
25
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
26
26
  }>, {
27
27
  modelValue: boolean;
28
- collapsed: boolean;
29
28
  defaultExpanded: boolean;
29
+ collapsed: boolean;
30
30
  }, {}, {}, {}, string, ComponentProvideOptions, false, {
31
31
  sentinelRef: HTMLDivElement;
32
32
  sectionRef: HTMLButtonElement;
@@ -23,8 +23,8 @@ declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsM
23
23
  "onChild-click"?: ((child: ChildItem, event: MouseEvent) => any) | undefined;
24
24
  }>, {
25
25
  children: ChildItem[];
26
- collapsed: boolean;
27
26
  defaultExpanded: boolean;
27
+ collapsed: boolean;
28
28
  }, {}, {}, {}, string, ComponentProvideOptions, false, {
29
29
  groupRef: HTMLDivElement;
30
30
  flyoutRef: HTMLDivElement;
@@ -0,0 +1,12 @@
1
+ import { SavingsAccordionProps } from './types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ declare const _default: DefineComponent<SavingsAccordionProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
4
+ toggle: (expanded: boolean) => any;
5
+ }, string, PublicProps, Readonly<SavingsAccordionProps> & Readonly<{
6
+ onToggle?: ((expanded: boolean) => any) | undefined;
7
+ }>, {
8
+ defaultExpanded: boolean;
9
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {
10
+ linesRef: HTMLDivElement;
11
+ }, HTMLDivElement>;
12
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as SavingsAccordion } from './SavingsAccordion';
2
+ export type { SavingsAccordionProps, SavingsAccordionLine, SavingsAccordionLineColor } from './types';
@@ -0,0 +1,17 @@
1
+ /** Color of the leading bullet on a savings line. */
2
+ export type SavingsAccordionLineColor = 'accent' | 'subvention' | 'echeque' | 'secondary';
3
+ /** One line in the collapsible savings breakdown. */
4
+ export interface SavingsAccordionLine {
5
+ label: string;
6
+ /** Pre-formatted amount, e.g. "-9,00 €". */
7
+ value: string;
8
+ /** Leading bullet color. Defaults to 'secondary'. */
9
+ color?: SavingsAccordionLineColor;
10
+ }
11
+ /** The blue collapsible "X € d'économisé" breakdown. */
12
+ export interface SavingsAccordionProps {
13
+ /** Pre-formatted headline, e.g. "53 € d'économisé". */
14
+ label: string;
15
+ lines: SavingsAccordionLine[];
16
+ defaultExpanded?: boolean;
17
+ }
@@ -77,3 +77,5 @@ export { VerticalStepper } from './VerticalStepper';
77
77
  export type { VerticalStepperProps, VerticalStep, VerticalStepStatus, VerticalStepperStatus } from './VerticalStepper';
78
78
  export { OfferCard } from './OfferCard';
79
79
  export type { OfferCardProps, OfferCardMeta, OfferCardMetaTone } from './OfferCard';
80
+ export { SavingsAccordion } from './SavingsAccordion';
81
+ export type { SavingsAccordionProps, SavingsAccordionLine, SavingsAccordionLineColor } from './SavingsAccordion';
@@ -1,4 +1,5 @@
1
1
  import { ProductRecapProps } from '../ProductRecap/types';
2
+ import { SavingsAccordionLine, SavingsAccordionLineColor, SavingsAccordionProps } from '../../molecules/SavingsAccordion/types';
2
3
  /** A read-only info block — delivery/billing address.
3
4
  * `lines` are pre-formatted strings, each rendered as its own row. */
4
5
  export interface CartConfirmationAddress {
@@ -13,15 +14,10 @@ export interface CartConfirmationPayment {
13
14
  type: CartConfirmationPaymentType;
14
15
  lines?: string[];
15
16
  }
16
- /** Color of the leading bullet on a savings line. */
17
- export type CartConfirmationSavingColor = 'accent' | 'subvention' | 'echeque' | 'secondary';
18
- /** One line in the collapsible savings breakdown. */
19
- export interface CartConfirmationSavingLine {
20
- label: string;
21
- /** Pre-formatted amount, e.g. "-9,00 €". */
22
- value: string;
23
- color?: CartConfirmationSavingColor;
24
- }
17
+ /** @deprecated Use `SavingsAccordionLineColor`. */
18
+ export type CartConfirmationSavingColor = SavingsAccordionLineColor;
19
+ /** @deprecated Use `SavingsAccordionLine`. */
20
+ export type CartConfirmationSavingLine = SavingsAccordionLine;
25
21
  /** A totals row (sous-total / frais de livraison) with an optional struck old value. */
26
22
  export interface CartConfirmationSummaryRow {
27
23
  label: string;
@@ -30,13 +26,9 @@ export interface CartConfirmationSummaryRow {
30
26
  /** Pre-formatted previous value, rendered struck-through before `value`. */
31
27
  oldValue?: string;
32
28
  }
33
- /** The blue collapsible "X € d'économisé" breakdown. Hidden when absent. */
34
- export interface CartConfirmationSavings {
35
- /** e.g. "21 d'économisé". */
36
- label: string;
37
- defaultExpanded?: boolean;
38
- lines: CartConfirmationSavingLine[];
39
- }
29
+ /** The blue collapsible "X € d'économisé" breakdown. Hidden when absent.
30
+ * @deprecated Use `SavingsAccordionProps`. */
31
+ export type CartConfirmationSavings = SavingsAccordionProps;
40
32
  export interface CartConfirmationSummary {
41
33
  /** Sous-total row — hidden when absent. */
42
34
  subtotal?: CartConfirmationSummaryRow;
@@ -0,0 +1,22 @@
1
+ import { OrderCardProps, OrderCardItem, OrderCardItemAction } from './types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ declare const _default: DefineComponent<OrderCardProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
4
+ "action-click": (payload: {
5
+ item: OrderCardItem;
6
+ action: OrderCardItemAction;
7
+ }) => any;
8
+ "invoice-click": (event: MouseEvent) => any;
9
+ "details-click": (event: MouseEvent) => any;
10
+ "savings-toggle": (expanded: boolean) => any;
11
+ }, string, PublicProps, Readonly<OrderCardProps> & Readonly<{
12
+ "onAction-click"?: ((payload: {
13
+ item: OrderCardItem;
14
+ action: OrderCardItemAction;
15
+ }) => any) | undefined;
16
+ "onInvoice-click"?: ((event: MouseEvent) => any) | undefined;
17
+ "onDetails-click"?: ((event: MouseEvent) => any) | undefined;
18
+ "onSavings-toggle"?: ((expanded: boolean) => any) | undefined;
19
+ }>, {
20
+ loadingRows: number;
21
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
22
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as OrderCard } from './OrderCard';
2
+ export type { OrderCardProps, OrderCardImage, OrderCardAddress, OrderCardItem, OrderCardItemStatus, OrderCardItemAction, OrderCardItemDelivery, OrderCardItemTracking, OrderCardLink, OrderCardActionPayload } from './types';
@@ -0,0 +1,105 @@
1
+ import { ChipVariant } from '../../atoms/Chip/types';
2
+ import { ImageFits } from '../../atoms/DefaultImage/types';
3
+ import { SavingsAccordionProps } from '../../molecules/SavingsAccordion/types';
4
+ import { UtopiaLocale } from '../../../i18n/types';
5
+ export interface OrderCardImage {
6
+ url: string;
7
+ alt?: string;
8
+ fit?: ImageFits;
9
+ }
10
+ /** An underlined text action in the card header. Hidden when absent.
11
+ * It carries no href: the component only emits, and the caller decides what
12
+ * happens (navigate, open a modal, fetch an authenticated file, …). */
13
+ export interface OrderCardLink {
14
+ /** Defaults from i18n. */
15
+ label?: string;
16
+ disabled?: boolean;
17
+ }
18
+ /** One column of the grey address bar. One or two columns are supported. */
19
+ export interface OrderCardAddress {
20
+ /** Uppercase caption. Defaults from i18n by position (livraison, then facturation). */
21
+ label?: string;
22
+ /** Defaults by position: 'fa:regular:location-dot', then 'fa:regular:file-lines'. */
23
+ icon?: string;
24
+ /** Bold lead, e.g. "Raneem Bach" or "Club Employés SAS". */
25
+ name: string;
26
+ /** Pre-formatted remainder, e.g. "12 Rue de la République, 38100 Grenoble". */
27
+ address: string;
28
+ }
29
+ /** Status chip on an item row, e.g. "En préparation" (warning), "Expédiées" (success). */
30
+ export interface OrderCardItemStatus {
31
+ label: string;
32
+ variant?: ChipVariant;
33
+ leftIcon?: string;
34
+ }
35
+ /** Shipping method line under an item title, e.g. "Colissimo · Dom." */
36
+ export interface OrderCardItemDelivery {
37
+ label: string;
38
+ /** Defaults to 'fa:regular:truck'. Use 'fa:regular:envelope' for digital delivery. */
39
+ icon?: string;
40
+ }
41
+ /** Carrier tracking link under an item title, e.g. "FR123456789". */
42
+ export interface OrderCardItemTracking {
43
+ label: string;
44
+ to?: string;
45
+ }
46
+ /** A download button attached to an item row. */
47
+ export interface OrderCardItemAction {
48
+ id: string | number;
49
+ label: string;
50
+ /** Defaults to 'fa:regular:arrow-down-to-line'. */
51
+ icon?: string;
52
+ /** Opened in a new tab by the component when set. */
53
+ url?: string;
54
+ disabled?: boolean;
55
+ loading?: boolean;
56
+ }
57
+ export interface OrderCardItem {
58
+ id: string | number;
59
+ image?: OrderCardImage;
60
+ title: string;
61
+ /** Brand, rendered muted after a "·". Hidden when absent. */
62
+ brand?: string;
63
+ status?: OrderCardItemStatus;
64
+ /** Shipping method line — hidden when absent. */
65
+ delivery?: OrderCardItemDelivery;
66
+ /** Carrier tracking link — hidden when absent. */
67
+ tracking?: OrderCardItemTracking;
68
+ /** Pre-formatted line total, e.g. "144 €". */
69
+ price?: string;
70
+ /** Pre-formatted unit price including its suffix, e.g. "48 € / unité". Hidden when absent. */
71
+ unitPrice?: string;
72
+ quantity?: number;
73
+ /** Download buttons under the row. Hidden when empty. */
74
+ actions?: OrderCardItemAction[];
75
+ }
76
+ export interface OrderCardProps {
77
+ loading?: boolean;
78
+ /** Full reference line, e.g. "Commande #835C7175A9R67". */
79
+ reference?: string;
80
+ /** Pre-formatted subtitle, e.g. "06 Mai 2026 · 6 articles". */
81
+ subtitle?: string;
82
+ /** Pre-formatted grand total, e.g. "198 €". */
83
+ total?: string;
84
+ /** Collapsible savings breakdown. Full width on a narrow card. Hidden when absent. */
85
+ savings?: SavingsAccordionProps;
86
+ /** "Voir les détails" action — hidden when absent. Emits `details-click`. */
87
+ details?: OrderCardLink;
88
+ /** "Télécharger la facture" action — hidden when absent. Emits `invoice-click`. */
89
+ invoice?: OrderCardLink;
90
+ /** One or two columns; the grey bar is hidden when empty. Stacks on a narrow card. */
91
+ addresses?: OrderCardAddress[];
92
+ items?: OrderCardItem[];
93
+ /** Prefix before the quantity, e.g. "Qt :". Defaults from i18n. */
94
+ quantityLabel?: string;
95
+ /** Number of skeleton item rows rendered while `loading`. */
96
+ loadingRows?: number;
97
+ /** Don't open `action.url` after emitting `action-click`.
98
+ * Use when the caller downloads the file itself (e.g. an authenticated fetch). */
99
+ skipWindowOpen?: boolean;
100
+ language?: UtopiaLocale;
101
+ }
102
+ export interface OrderCardActionPayload {
103
+ item: OrderCardItem;
104
+ action: OrderCardItemAction;
105
+ }
@@ -48,3 +48,5 @@ export { ExplanationStepper } from './ExplanationStepper';
48
48
  export type { ExplanationStepperProps } from './ExplanationStepper';
49
49
  export { CampaignAncvCard } from './CampaignAncvCard';
50
50
  export type { CampaignAncvCardProps } from './CampaignAncvCard';
51
+ export { OrderCard } from './OrderCard';
52
+ export type { OrderCardProps, OrderCardImage, OrderCardAddress, OrderCardItem, OrderCardItemStatus, OrderCardItemAction, OrderCardItemDelivery, OrderCardItemTracking, OrderCardLink, OrderCardActionPayload } from './OrderCard';
@@ -402,6 +402,14 @@ declare const _default: {
402
402
  placeholder: string;
403
403
  outOfStock: string;
404
404
  };
405
+ orderCard: {
406
+ deliveryAddress: string;
407
+ billingAddress: string;
408
+ singleAddress: string;
409
+ details: string;
410
+ invoice: string;
411
+ quantity: string;
412
+ };
405
413
  pageNavigation: {
406
414
  previous: string;
407
415
  next: string;
package/dist/index.d.ts CHANGED
@@ -106,6 +106,7 @@ export type { UserSelectionProps } from './components/organisms/UserSelection/ty
106
106
  export type { ContestCardProps } from './components/organisms/ContestCard/types';
107
107
  export type { ExplanationStepperProps } from './components/organisms/ExplanationStepper/types';
108
108
  export type { CampaignAncvCardProps } from './components/organisms/CampaignAncvCard/types';
109
+ export type { OrderCardProps, OrderCardImage, OrderCardAddress, OrderCardItem, OrderCardItemStatus, OrderCardItemAction, OrderCardItemDelivery, OrderCardItemTracking, OrderCardLink, OrderCardActionPayload } from './components/organisms/OrderCard/types';
109
110
  export type { AddressFormProps, AddressFormSchema, AddressFormSection } from './components/organisms/AddressForm/types';
110
111
  export type { CartPreviewProps, CartPreviewPrice, CartPreviewPriceLine } from './components/organisms/CartPreview/types';
111
112
  export type { CartPreviewItemProps } from './components/molecules/CartPreviewItem/types';
@@ -114,6 +115,7 @@ export type { MyUserGroupsProps, UserGroupCriterion } from './components/molecul
114
115
  export type { TreeProps, TreeNode, TreeSelectionKey } from './components/molecules/Tree/types';
115
116
  export type { VerticalStepperProps, VerticalStep, VerticalStepStatus, VerticalStepperStatus } from './components/molecules/VerticalStepper/types';
116
117
  export type { OfferCardProps, OfferCardMeta, OfferCardMetaTone } from './components/molecules/OfferCard/types';
118
+ export type { SavingsAccordionProps, SavingsAccordionLine, SavingsAccordionLineColor } from './components/molecules/SavingsAccordion/types';
117
119
  export { clubEmployesDark, clubEmployesLight } from './themes/club-employes';
118
120
  export { gifteoDark, gifteoLight } from './themes/gifteo';
119
121
  export type { LoaderProps } from './components/templates/Loader/types';