@sonic-equipment/ui 214.0.0 → 216.0.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.
Files changed (101) hide show
  1. package/dist/address-info-display/address-info-display.js +1 -1
  2. package/dist/algolia/algolia-insights-provider.d.ts +1 -1
  3. package/dist/buttons/button/button.d.ts +1 -1
  4. package/dist/buttons/link/link.d.ts +1 -1
  5. package/dist/buttons/print-button/print-button.d.ts +2 -1
  6. package/dist/buttons/print-button/print-button.js +2 -2
  7. package/dist/cards/product-card/product-card.js +1 -1
  8. package/dist/cards/table-card/table-card.d.ts +1 -1
  9. package/dist/cards/table-card/table-card.js +5 -3
  10. package/dist/carousel/carousel-navigation-button.d.ts +1 -1
  11. package/dist/cart-totals/cart-totals.js +1 -1
  12. package/dist/collapsables/accordion/accordion-item.js +3 -1
  13. package/dist/collapsables/cascading-component/cascading-component-container-context.d.ts +1 -1
  14. package/dist/collapsables/show-all/show-all.js +4 -2
  15. package/dist/collapsables/unmounter/unmounter.d.ts +1 -1
  16. package/dist/cookies/cookie-context.d.ts +1 -1
  17. package/dist/country-select/country-select.js +3 -1
  18. package/dist/country-selector/country-selector-trigger/country-selector-trigger.js +3 -1
  19. package/dist/exports.d.ts +13 -1
  20. package/dist/filters/active-filters/active-filters.js +1 -1
  21. package/dist/forms/elements/field-error/field-error.js +3 -1
  22. package/dist/forms/fields/number-field/number-field.d.ts +1 -1
  23. package/dist/forms/partials/address-form/address-form.js +6 -2
  24. package/dist/header/buttons/account/connected-account-button.js +1 -1
  25. package/dist/index.js +15 -3
  26. package/dist/intl/formatted-message.d.ts +3 -2
  27. package/dist/intl/formatted-message.js +25 -5
  28. package/dist/intl/intl-context.d.ts +1 -1
  29. package/dist/intl/intl-context.js +1 -10
  30. package/dist/intl/translation-id.d.ts +1 -1
  31. package/dist/intl/types.d.ts +27 -15
  32. package/dist/intl/types.js +7 -1
  33. package/dist/intl/use-formatted-message.d.ts +2 -2
  34. package/dist/intl/use-formatted-message.js +5 -5
  35. package/dist/intl/use-intl.js +4 -1
  36. package/dist/intl/utils.js +1 -1
  37. package/dist/lists/menu-list/menu-list-provider.d.ts +1 -1
  38. package/dist/modals/confirmation/confirmation-dialog.d.ts +3 -2
  39. package/dist/modals/dialog/dialog.js +1 -1
  40. package/dist/notifications/announcements/announcement.d.ts +1 -1
  41. package/dist/observers/intersection-observer.js +1 -1
  42. package/dist/pages/my-sonic/actions/change-password/change-password.js +1 -1
  43. package/dist/pages/my-sonic/actions/edit-bill-to-address/connected-edit-bill-to-address-form.js +1 -1
  44. package/dist/pages/my-sonic/actions/edit-ship-to-address/connected-edit-ship-to-address-form.js +1 -1
  45. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-breadcrumb.d.ts +4 -0
  46. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout-breadcrumb.js +9 -0
  47. package/dist/pages/my-sonic/layouts/my-sonic-layout/my-sonic-layout.module.css.js +1 -1
  48. package/dist/pages/my-sonic/navigation/connected-my-sonic-navigation.js +2 -2
  49. package/dist/pages/my-sonic/navigation/my-sonic-desktop-navigation.js +3 -1
  50. package/dist/pages/my-sonic/navigation/my-sonic-mobile-navigation.js +4 -2
  51. package/dist/pages/my-sonic/navigation/my-sonic-navigation-items.d.ts +1 -1
  52. package/dist/pages/my-sonic/navigation/my-sonic-navigation-items.js +3 -3
  53. package/dist/pages/my-sonic/pages/create-ship-to-address-details-page/create-ship-to-address-details-page.d.ts +7 -0
  54. package/dist/pages/my-sonic/pages/create-ship-to-address-details-page/create-ship-to-address-details-page.js +29 -0
  55. package/dist/pages/my-sonic/pages/edit-bill-to-address-details-page/edit-bill-to-address-details-page.d.ts +7 -0
  56. package/dist/pages/my-sonic/pages/edit-bill-to-address-details-page/edit-bill-to-address-details-page.js +29 -0
  57. package/dist/pages/my-sonic/pages/edit-ship-to-address-details-page/edit-ship-to-address-details-page.d.ts +9 -0
  58. package/dist/pages/my-sonic/pages/edit-ship-to-address-details-page/edit-ship-to-address-details-page.js +29 -0
  59. package/dist/pages/my-sonic/pages/favorites/favorites-page.d.ts +2 -0
  60. package/dist/pages/my-sonic/pages/favorites/favorites-page.js +23 -0
  61. package/dist/pages/my-sonic/pages/my-account/my-account-page.d.ts +2 -0
  62. package/dist/pages/my-sonic/pages/my-account/my-account-page.js +30 -0
  63. package/dist/pages/my-sonic/pages/order-details/order-details-content.d.ts +8 -0
  64. package/dist/pages/my-sonic/pages/order-details/order-details-content.js +69 -0
  65. package/dist/pages/my-sonic/pages/order-details/order-details-content.module.css.js +3 -0
  66. package/dist/pages/my-sonic/pages/order-details/order-details-page.d.ts +8 -0
  67. package/dist/pages/my-sonic/pages/order-details/order-details-page.js +41 -0
  68. package/dist/pages/my-sonic/pages/order-history/order-history-page.d.ts +2 -0
  69. package/dist/pages/my-sonic/pages/order-history/{order-history.js → order-history-page.js} +25 -7
  70. package/dist/pages/my-sonic/pages/order-history/order-history-page.module.css.js +3 -0
  71. package/dist/pages/my-sonic/widgets/connected-address-book-widget.js +8 -6
  72. package/dist/pages/product/product-listing-page/product-listing-page-provider/product-listing-page-context.d.ts +1 -1
  73. package/dist/shared/api/storefront/hooks/orders/use-fetch-order-by-id.d.ts +1 -0
  74. package/dist/shared/api/storefront/hooks/orders/use-fetch-order-by-id.js +14 -0
  75. package/dist/shared/api/storefront/model/storefront.model.d.ts +2 -1
  76. package/dist/shared/api/storefront/services/order-service.d.ts +3 -1
  77. package/dist/shared/api/storefront/services/order-service.js +12 -1
  78. package/dist/shared/data/order.d.ts +2 -0
  79. package/dist/shared/data/order.js +41 -0
  80. package/dist/shared/hooks/use-inert.d.ts +3 -0
  81. package/dist/shared/hooks/use-inert.js +16 -0
  82. package/dist/shared/model/address.d.ts +1 -1
  83. package/dist/shared/providers/global-state-provider.d.ts +1 -1
  84. package/dist/shared/routing/route-context.d.ts +1 -1
  85. package/dist/shared/routing/types.d.ts +1 -1
  86. package/dist/shared/routing/use-route-link-element.d.ts +1 -1
  87. package/dist/shared/routing/use-route-link.d.ts +1 -1
  88. package/dist/shared/routing/with-routing.d.ts +2 -2
  89. package/dist/sidebar/sidebar.js +4 -2
  90. package/dist/styles.css +129 -48
  91. package/dist/table/elements/table-context.d.ts +1 -1
  92. package/dist/table/elements/table-row-context.d.ts +1 -1
  93. package/dist/table/elements/types.d.ts +1 -0
  94. package/dist/text/status-text/status-text.d.ts +6 -0
  95. package/dist/text/status-text/status-text.js +8 -0
  96. package/dist/text/status-text/status-text.module.css.js +3 -0
  97. package/dist/toast/toast.d.ts +1 -1
  98. package/dist/typography/heading/heading.d.ts +2 -2
  99. package/package.json +7 -7
  100. package/dist/pages/my-sonic/pages/order-history/order-history.d.ts +0 -1
  101. package/dist/pages/my-sonic/pages/order-history/order-history.module.css.js +0 -3
@@ -14,25 +14,37 @@ export interface FormattedMessageOptions {
14
14
  optional?: boolean;
15
15
  replacementValues?: Record<string, string>;
16
16
  }
17
- export interface FormattedMessageWithKnownTranslationIdProps extends FormattedMessageOptions {
17
+ export interface FormattedMessageOptionsWithKnownTranslationId extends FormattedMessageOptions {
18
+ noTranslationId?: false;
19
+ }
20
+ export interface FormattedMessageOptionsWithUnkownTranslationId extends FormattedMessageOptions {
21
+ noTranslationId: true;
22
+ }
23
+ export interface FormattedMessagePropsWithKnownTranslationId extends FormattedMessageOptionsWithKnownTranslationId {
18
24
  id: TranslationId;
19
25
  }
20
- export interface FormattedMessageWithUnknownTranslationIdProps extends FormattedMessageOptions {
21
- force: true;
26
+ export interface FormattedMessagePropsWithUnknownTranslationId extends FormattedMessageOptionsWithUnkownTranslationId {
22
27
  id: string;
28
+ noTranslationId: true;
29
+ }
30
+ export type FormattedMessageProps = FormattedMessagePropsWithKnownTranslationId | FormattedMessagePropsWithUnknownTranslationId;
31
+ export interface FormattedMessageFunctionWithUnknownTranslationId {
32
+ (id: string, options: FormattedMessageOptionsWithUnkownTranslationId): string;
33
+ }
34
+ export interface FormattedMessageFunctionWithKnownTranslationId {
35
+ (id: TranslationId, options?: FormattedMessageOptionsWithKnownTranslationId): string;
23
36
  }
24
- export type FormattedMessageProps = FormattedMessageWithKnownTranslationIdProps | FormattedMessageWithUnknownTranslationIdProps;
25
37
  export interface FormattedMessageFunction {
26
- (id: TranslationId, options?: {
27
- fallbackValue?: string;
28
- optional?: boolean;
29
- replacementValues?: Record<string, string>;
30
- }): string;
31
- }
32
- export interface PluralizedFormattedMessageFunction extends FormattedMessageFunction {
33
- pluralize: {
34
- (translationId: string, count: number): string;
35
- (translationIdPrefix: string, translationId: string, count: number): string;
36
- };
38
+ (id: TranslationId, options?: FormattedMessageOptionsWithKnownTranslationId): string;
39
+ (id: string, options: FormattedMessageOptionsWithUnkownTranslationId): string;
40
+ }
41
+ export interface PluralizeFunction {
42
+ (translationId: string, count: number): string;
43
+ (translationIdPrefix: string, translationId: string, count: number): string;
44
+ }
45
+ export interface FormattedMessageFunctionWithPluralisation extends FormattedMessageFunction {
46
+ pluralize: PluralizeFunction;
37
47
  }
48
+ export declare function isFormattedMessageWithUnknownTranslationIdProps(p: FormattedMessageProps): p is FormattedMessagePropsWithUnknownTranslationId;
49
+ export declare function isFormattedMessageWithTranslationIdProps(p: FormattedMessageProps): p is FormattedMessagePropsWithKnownTranslationId;
38
50
  export {};
@@ -18,5 +18,11 @@ function isCultureCode(value) {
18
18
  return false;
19
19
  return /^[a-z]{2}-[A-Z]{2}$/.test(value);
20
20
  }
21
+ function isFormattedMessageWithUnknownTranslationIdProps(p) {
22
+ return Boolean('noTranslationId' in p && p.noTranslationId);
23
+ }
24
+ function isFormattedMessageWithTranslationIdProps(p) {
25
+ return !('noTranslationId' in p) || !p.noTranslationId;
26
+ }
21
27
 
22
- export { isCountryCode, isCultureCode, isCurrencyCode, isLanguageCode };
28
+ export { isCountryCode, isCultureCode, isCurrencyCode, isFormattedMessageWithTranslationIdProps, isFormattedMessageWithUnknownTranslationIdProps, isLanguageCode };
@@ -1,2 +1,2 @@
1
- import { PluralizedFormattedMessageFunction } from './types';
2
- export declare function useFormattedMessage(): PluralizedFormattedMessageFunction;
1
+ import { FormattedMessageFunctionWithPluralisation } from './types';
2
+ export declare function useFormattedMessage(): FormattedMessageFunctionWithPluralisation;
@@ -4,12 +4,12 @@ import { useIntl } from './use-intl.js';
4
4
 
5
5
  function useFormattedMessage() {
6
6
  const { formattedMessage } = useIntl();
7
- const formatFunction = (id, options) => formattedMessage(id, options);
8
- function pluralize(translationIdOrPrefix, translationIdOrCount, count) {
9
- return formatFunction((typeof translationIdOrCount === 'number'
7
+ const pluralize = (translationIdOrPrefix, translationIdOrCount, count) => {
8
+ return formattedMessage(typeof translationIdOrCount === 'number'
10
9
  ? `${translationIdOrPrefix}.${translationIdOrCount === 1 ? 'singular' : 'plural'}`
11
- : `${translationIdOrPrefix}.${translationIdOrCount}.${count === 1 ? 'singular' : 'plural'}`));
12
- }
10
+ : `${translationIdOrPrefix}.${translationIdOrCount}.${count === 1 ? 'singular' : 'plural'}`, { noTranslationId: true });
11
+ };
12
+ const formatFunction = (id, options) => formattedMessage(id, options);
13
13
  formatFunction.pluralize = pluralize;
14
14
  return useCallback(formatFunction, [formattedMessage]);
15
15
  }
@@ -3,7 +3,10 @@ import { useContext } from 'react';
3
3
  import { IntlContext } from './intl-context.js';
4
4
 
5
5
  function useIntl() {
6
- return useContext(IntlContext);
6
+ const context = useContext(IntlContext);
7
+ if (!context)
8
+ throw new Error('useIntl must be used within an IntlProvider');
9
+ return context;
7
10
  }
8
11
 
9
12
  export { useIntl };
@@ -8,7 +8,7 @@ function getLanguageCodeFromCultureCode(cultureCode) {
8
8
  return languageCode;
9
9
  }
10
10
  function spireTranslateAdapter(translate) {
11
- return (id, { fallbackValue, optional, replacementValues } = {}) => {
11
+ return (id, { fallbackValue, optional, replacementValues, } = {}) => {
12
12
  const message = translate(id, ...(replacementValues
13
13
  ? Object.keys(replacementValues)
14
14
  .map(Number.parseFloat)
@@ -3,7 +3,7 @@ export interface MenuListContextValue {
3
3
  canCollapse: boolean;
4
4
  registerCanCollapse: (canCollapse: boolean) => () => void;
5
5
  }
6
- export declare const MenuListContext: import("react").Context<MenuListContextValue | undefined>;
6
+ export declare const MenuListContext: React.Context<MenuListContextValue | undefined>;
7
7
  export declare function MenuListProvider({ children, }: {
8
8
  children: ReactNode | ((args: {
9
9
  canCollapse: boolean;
@@ -1,10 +1,11 @@
1
+ import { TranslationId } from 'intl/translation-id';
1
2
  interface ConfirmationDialogProps {
2
- cancelLabel?: string;
3
+ cancelLabel?: TranslationId;
3
4
  'data-test-selector'?: string;
4
5
  isOpen: boolean;
5
6
  onCancel: VoidFunction;
6
7
  onConfirm: VoidFunction;
7
- submitLabel?: string;
8
+ submitLabel?: TranslationId;
8
9
  title: string;
9
10
  }
10
11
  export declare function ConfirmationDialog({ cancelLabel, 'data-test-selector': dataTestSelector, isOpen, onCancel, onConfirm, submitLabel, title, }: ConfirmationDialogProps): import("react/jsx-runtime").JSX.Element;
@@ -13,7 +13,7 @@ import { Modal } from '../modal/modal.js';
13
13
  import styles from './dialog.module.css.js';
14
14
 
15
15
  function Footer({ allowSubmit = true, cancelLabel, close, isSubmitting, submitLabel, }) {
16
- return (jsxs(Fragment, { children: [jsx(Button, { withArrow: true, color: "primary", "data-test-selector": "dialogSubmit", isDisabled: !allowSubmit, isLoading: isSubmitting ? jsx(FormattedMessage, { id: "Submitting\u2026" }) : undefined, size: "md", type: "submit", children: jsx(FormattedMessage, { id: submitLabel }) }), jsx(Button, { color: "secondary", "data-test-selector": "dialogCancel", onClick: close, size: "md", variant: "outline", children: jsx(FormattedMessage, { id: cancelLabel }) })] }));
16
+ return (jsxs(Fragment, { children: [jsx(Button, { withArrow: true, color: "primary", "data-test-selector": "dialogSubmit", isDisabled: !allowSubmit, isLoading: isSubmitting ? jsx(FormattedMessage, { id: "Submitting\u2026" }) : undefined, size: "md", type: "submit", children: jsx(FormattedMessage, { noTranslationId: true, id: submitLabel }) }), jsx(Button, { color: "secondary", "data-test-selector": "dialogCancel", onClick: close, size: "md", variant: "outline", children: jsx(FormattedMessage, { noTranslationId: true, id: cancelLabel }) })] }));
17
17
  }
18
18
  function Dialog({ allowClose = true, allowSubmit = true, cancelLabel = 'Close', children, className, 'data-test-selector': dataTestSelector = 'dialog', footer = Footer, hasCloseButton = true, hideTitle, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, isSubmitting = false, onOpenChange, onSubmit, shouldCloseOnInteractOutside, submitLabel = 'Submit', title, validationErrors, }) {
19
19
  const t = useFormattedMessage();
@@ -4,4 +4,4 @@ export interface AnnouncementProps {
4
4
  className?: string;
5
5
  onDismiss?: (id: string) => void;
6
6
  }
7
- export declare const Announcement: import("react").ForwardRefExoticComponent<AnnouncementProps & import("react").RefAttributes<HTMLDivElement>>;
7
+ export declare const Announcement: React.ForwardRefExoticComponent<AnnouncementProps & React.RefAttributes<HTMLDivElement>>;
@@ -16,7 +16,7 @@ function IntersectionObserverComponent({ children, intersectionObserverInit, isD
16
16
  return children;
17
17
  if (isIntersecting && isPlaceholder)
18
18
  return children;
19
- return (jsxs("div", { "data-intersecting": isIntersecting, style: { display: 'contents' }, children: [jsx("div", { ref: topRef, "aria-hidden": true, "data-role": "top of intersection observer" }), isIntersecting && children, jsx("div", { ref: bottomRef, "aria-hidden": true, "data-role": "bottom of intersection observer" })] }));
19
+ return (jsxs("div", { "data-intersecting": isIntersecting, style: { display: 'contents' }, children: [jsx("div", { ref: topRef, "aria-hidden": "true", "data-role": "top of intersection observer" }), isIntersecting && children, jsx("div", { ref: bottomRef, "aria-hidden": "true", "data-role": "bottom of intersection observer" })] }));
20
20
  }
21
21
 
22
22
  export { IntersectionObserverComponent };
@@ -29,7 +29,7 @@ function ChangePassword({ error, isLoading = false, isUpdating = false, username
29
29
  t('Password does not meet requirements'));
30
30
  } })] }), jsx(PasswordValidation, { isDisabled: isUpdating }), error && (jsx(FormSegment, { children: jsx(Message, { className: styles['error-message'], type: "danger", children: error instanceof NonUniquePasswordError ||
31
31
  error instanceof InvalidPasswordError
32
- ? t(error.message)
32
+ ? t(error.message, { noTranslationId: true })
33
33
  : t('An unexpected error occured') }) }))] }));
34
34
  }
35
35
 
@@ -89,7 +89,7 @@ function ConnectedEditBillToAddressForm({ billToId, returnUrl, }) {
89
89
  postalCode: formData.get('postalCode')?.toString() || '',
90
90
  },
91
91
  });
92
- }, children: [jsx(AddressForm, { address: billToAddress, countries: countries, currentCountry: currentCountry, isReadonly: isReadonly }), isSuccess && !isPatching && (jsx("div", { className: styles.info, children: jsx(Message, { type: "info", children: jsx(FormattedMessage, { id: "Saved" }) }) })), jsxs("div", { className: styles.actions, children: [returnUrl && (jsx(Button, { color: "secondary", isDisabled: isPatching, onClick: () => navigate(returnUrl), variant: "outline", children: jsx(FormattedMessage, { id: "Back" }) })), !isReadonly && (jsx(Button, { isLoading: isPatching ? jsx(FormattedMessage, { id: "Saving" }) : undefined, type: "submit", children: jsx(FormattedMessage, { id: "Save" }) }))] })] }));
92
+ }, children: [jsx(AddressForm, { address: billToAddress, countries: countries, currentCountry: currentCountry, isReadonly: isReadonly }), isSuccess && !isPatching && (jsx("div", { className: styles.info, children: jsx(Message, { type: "success", children: jsx(FormattedMessage, { id: "Saved" }) }) })), jsxs("div", { className: styles.actions, children: [returnUrl && (jsx(Button, { color: "secondary", isDisabled: isPatching, onClick: () => navigate(returnUrl), variant: "outline", children: jsx(FormattedMessage, { id: "Back" }) })), !isReadonly && (jsx(Button, { isLoading: isPatching ? jsx(FormattedMessage, { id: "Saving" }) : undefined, type: "submit", children: jsx(FormattedMessage, { id: "Save" }) }))] })] }));
93
93
  }
94
94
 
95
95
  export { ConnectedEditBillToAddressForm };
@@ -121,7 +121,7 @@ function ConnectedEditShipToAddressForm({ billToId, returnUrl, shipToId, }) {
121
121
  },
122
122
  });
123
123
  }
124
- }, children: [jsx(AddressForm, { address: shipToAddress, countries: countries, currentCountry: currentCountry, isLoading: isPatching, isReadonly: isReadonly || isPatching }), shipToAddress.id !== 'current' && (jsx(Checkbox, { defaultSelected: shipToAddress.isDefault, isDisabled: isReadonly || isPatching, name: "setAsDefault", value: "TRUE", children: jsx(FormattedMessage, { id: "Make this the default ship to address" }) })), isSuccess && !isPatching && (jsx("div", { className: styles.info, children: jsx(Message, { type: "info", children: jsx(FormattedMessage, { id: "Saved" }) }) })), jsxs("div", { className: styles.actions, children: [returnUrl && (jsx(Button, { color: "secondary", isDisabled: isPatching, onClick: () => navigate(returnUrl), variant: "outline", children: jsx(FormattedMessage, { id: "Back" }) })), !isReadonly && (jsx(Button, { isLoading: isPatching ? jsx(FormattedMessage, { id: "Saving" }) : undefined, type: "submit", children: jsx(FormattedMessage, { id: "Save" }) }))] })] }));
124
+ }, children: [jsx(AddressForm, { address: shipToAddress, countries: countries, currentCountry: currentCountry, isLoading: isPatching, isReadonly: isReadonly || isPatching }), shipToAddress.id !== 'current' && (jsx(Checkbox, { defaultSelected: shipToAddress.isDefault, isDisabled: isReadonly || isPatching, name: "setAsDefault", value: "TRUE", children: jsx(FormattedMessage, { id: "Make this the default ship to address" }) })), isSuccess && !isPatching && (jsx("div", { className: styles.info, children: jsx(Message, { type: "success", children: jsx(FormattedMessage, { id: "Saved" }) }) })), jsxs("div", { className: styles.actions, children: [returnUrl && (jsx(Button, { color: "secondary", isDisabled: isPatching, onClick: () => navigate(returnUrl), variant: "outline", children: jsx(FormattedMessage, { id: "Back" }) })), !isReadonly && (jsx(Button, { isLoading: isPatching ? jsx(FormattedMessage, { id: "Saving" }) : undefined, type: "submit", children: jsx(FormattedMessage, { id: "Save" }) }))] })] }));
125
125
  }
126
126
 
127
127
  export { ConnectedEditShipToAddressForm };
@@ -0,0 +1,4 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function MySonicLayoutBreadcrumb({ children, }: {
3
+ children?: ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import styles from './my-sonic-layout.module.css.js';
4
+
5
+ function MySonicLayoutBreadcrumb({ children, }) {
6
+ return jsx("div", { className: styles['breadcrumb'], children: children });
7
+ }
8
+
9
+ export { MySonicLayoutBreadcrumb };
@@ -1,3 +1,3 @@
1
- var styles = {"my-sonic-layout":"my-sonic-layout-module-ep0n3","title":"my-sonic-layout-module-yMdPQ","main":"my-sonic-layout-module-f0Bhf","pre-aside":"my-sonic-layout-module-6pWHC","aside":"my-sonic-layout-module--OEV-"};
1
+ var styles = {"my-sonic-layout":"my-sonic-layout-module-ep0n3","breadcrumb":"my-sonic-layout-module-QsEQM","title":"my-sonic-layout-module-yMdPQ","main":"my-sonic-layout-module-f0Bhf","pre-aside":"my-sonic-layout-module-6pWHC","aside":"my-sonic-layout-module--OEV-"};
2
2
 
3
3
  export { styles as default };
@@ -12,7 +12,7 @@ import styles from './connected-my-sonic-navigation.module.css.js';
12
12
 
13
13
  function ConnectedMySonicNavigation() {
14
14
  const paths = usePaths();
15
- const { pathname } = useLocation();
15
+ const { fullPathname } = useLocation();
16
16
  const { navigate } = useNavigate();
17
17
  const { mutate } = useSignOut({
18
18
  onError: logger.error,
@@ -22,7 +22,7 @@ function ConnectedMySonicNavigation() {
22
22
  navigate(paths.HOME, { reload: true });
23
23
  },
24
24
  });
25
- return (jsxs("div", { style: { display: 'grid' }, children: [jsx(MySonicDesktopNavigation, { className: styles['large'], currentPath: pathname, onLogout: mutate }), jsx(MySonicMobileNavigation, { className: styles['small'], currentPath: pathname, onLogout: mutate })] }));
25
+ return (jsxs("div", { style: { display: 'grid' }, children: [jsx(MySonicDesktopNavigation, { className: styles['large'], currentPath: fullPathname, onLogout: mutate }), jsx(MySonicMobileNavigation, { className: styles['small'], currentPath: fullPathname, onLogout: mutate })] }));
26
26
  }
27
27
 
28
28
  export { ConnectedMySonicNavigation };
@@ -3,18 +3,20 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { FormattedMessage } from '../../../intl/formatted-message.js';
4
4
  import { MenuList } from '../../../lists/menu-list/menu-list.js';
5
5
  import { MenuListItem } from '../../../lists/menu-list/menu-list-item.js';
6
+ import { useLocation } from '../../../shared/routing/use-location.js';
6
7
  import { useMySonicNavigationItems } from './my-sonic-navigation-items.js';
7
8
  import styles from './my-sonic-desktop-navigation.module.css.js';
8
9
 
9
10
  function MySonicDesktopNavigation({ className, currentPath, onLogout, }) {
10
11
  const mySonicNavigationItems = useMySonicNavigationItems();
12
+ const { basePathname } = useLocation();
11
13
  return (jsx(MenuList, { collapsible: true, className: className, children: mySonicNavigationItems.map(item => (jsx(MenuListItem, { badge: jsx(item.Icon, {}), ...(item.type === 'action'
12
14
  ? item.action === 'logout'
13
15
  ? { onClick: onLogout }
14
16
  : {}
15
17
  : {
16
18
  href: item.path,
17
- isSelected: currentPath?.toLowerCase() === item.path,
19
+ isSelected: currentPath === `${basePathname}${item.path}`,
18
20
  }), children: jsx("span", { className: styles['menu-list-item'], children: jsx(FormattedMessage, { id: item.label }) }) }, item.label))) }));
19
21
  }
20
22
 
@@ -2,11 +2,13 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { Select } from '../../../forms/elements/select/select.js';
4
4
  import { useFormattedMessage } from '../../../intl/use-formatted-message.js';
5
+ import { useLocation } from '../../../shared/routing/use-location.js';
5
6
  import { useNavigate } from '../../../shared/routing/use-navigate.js';
6
7
  import { useMySonicNavigationItems } from './my-sonic-navigation-items.js';
7
8
 
8
9
  function MySonicMobileNavigation({ className, currentPath, onLogout, }) {
9
10
  const mySonicNavigationItems = useMySonicNavigationItems();
11
+ const { basePathname } = useLocation();
10
12
  const { navigate } = useNavigate();
11
13
  const t = useFormattedMessage();
12
14
  return (jsx(Select, { className: className, label: t('Navigate to...'), onChange: option => {
@@ -16,9 +18,9 @@ function MySonicMobileNavigation({ className, currentPath, onLogout, }) {
16
18
  }, options: mySonicNavigationItems.reduce((options, item) => ({
17
19
  ...options,
18
20
  ...(item.type === 'link'
19
- ? { [item.path]: t(item.label) }
21
+ ? { [`${basePathname}${item.path}`]: t(item.label) }
20
22
  : { [item.action]: t(item.label) }),
21
- }), {}), selectedOption: currentPath?.toLowerCase() }));
23
+ }), {}), selectedOption: currentPath }));
22
24
  }
23
25
 
24
26
  export { MySonicMobileNavigation };
@@ -6,7 +6,7 @@ interface MySonicNavigationItemBase {
6
6
  type: 'link' | 'action';
7
7
  }
8
8
  interface MySonicNavigationLink extends MySonicNavigationItemBase {
9
- path: Lowercase<string>;
9
+ path: string;
10
10
  type: 'link';
11
11
  }
12
12
  interface MySonicNavigationAction extends MySonicNavigationItemBase {
@@ -11,19 +11,19 @@ function useMySonicNavigationItems() {
11
11
  {
12
12
  Icon: SolidLoginIcon,
13
13
  label: 'Account',
14
- path: paths.ACCOUNT_SETTINGS.toLowerCase(),
14
+ path: paths.ACCOUNT,
15
15
  type: 'link',
16
16
  },
17
17
  {
18
18
  Icon: SolidFavoriteIcon,
19
19
  label: 'Favorites',
20
- path: paths.ACCOUNT_MY_LISTS.toLowerCase(),
20
+ path: paths.ACCOUNT_MY_LISTS,
21
21
  type: 'link',
22
22
  },
23
23
  {
24
24
  Icon: SolidCartIcon,
25
25
  label: 'Orders',
26
- path: paths.ACCOUNT_ORDERS.toLowerCase(),
26
+ path: paths.ACCOUNT_ORDERS,
27
27
  type: 'link',
28
28
  },
29
29
  {
@@ -0,0 +1,7 @@
1
+ export declare function CreateShipToAddressDetailsPage({ billToId, returnUrl, }: {
2
+ billToId: string;
3
+ returnUrl?: string;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export declare function CreateShipToAddressDetailsPageBreadcrumb({ billToId, }: {
6
+ billToId: string;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { Breadcrumb } from '../../../../breadcrumbs/breadcrumb.js';
4
+ import { useFormattedMessage } from '../../../../intl/use-formatted-message.js';
5
+ import { usePaths } from '../../../../shared/routing/use-paths.js';
6
+ import { ConnectedCreateShipToAddressForm } from '../../actions/create-ship-to-address/connected-create-ship-to-address-form.js';
7
+ import { MySonicLayoutBreadcrumb } from '../../layouts/my-sonic-layout/my-sonic-layout-breadcrumb.js';
8
+ import { MySonicLayoutPage } from '../../layouts/my-sonic-layout/my-sonic-layout-page.js';
9
+
10
+ function CreateShipToAddressDetailsPage({ billToId, returnUrl, }) {
11
+ const t = useFormattedMessage();
12
+ const paths = usePaths();
13
+ return (jsx(MySonicLayoutPage, { title: t('Shipping address'), children: jsx(ConnectedCreateShipToAddressForm, { billToId: billToId, returnUrl: returnUrl || paths.ACCOUNT }) }));
14
+ }
15
+ function CreateShipToAddressDetailsPageBreadcrumb({ billToId, }) {
16
+ const t = useFormattedMessage();
17
+ const paths = usePaths();
18
+ return (jsx(MySonicLayoutBreadcrumb, { children: jsx(Breadcrumb, { links: [
19
+ { href: paths.HOME, label: t('Home') },
20
+ { href: paths.MY_SONIC, label: t('My Sonic') },
21
+ { href: paths.ACCOUNT, label: t('Account') },
22
+ {
23
+ href: `${paths.ACCOUNT_EDIT_BILL_TO_ADDRESS}/${billToId}${paths.ACCOUNT_EDIT_SHIP_TO_ADDRESS}/new`,
24
+ label: t('Shipping address'),
25
+ },
26
+ ] }) }));
27
+ }
28
+
29
+ export { CreateShipToAddressDetailsPage, CreateShipToAddressDetailsPageBreadcrumb };
@@ -0,0 +1,7 @@
1
+ export declare function EditBillToAddressDetailsPage({ billToId, returnUrl, }: {
2
+ billToId: string;
3
+ returnUrl?: string;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export declare function EditBillToAddressDetailsPageBreadcrumb({ billToId, }: {
6
+ billToId: string;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { Breadcrumb } from '../../../../breadcrumbs/breadcrumb.js';
4
+ import { useFormattedMessage } from '../../../../intl/use-formatted-message.js';
5
+ import { usePaths } from '../../../../shared/routing/use-paths.js';
6
+ import { ConnectedEditBillToAddressForm } from '../../actions/edit-bill-to-address/connected-edit-bill-to-address-form.js';
7
+ import { MySonicLayoutBreadcrumb } from '../../layouts/my-sonic-layout/my-sonic-layout-breadcrumb.js';
8
+ import { MySonicLayoutPage } from '../../layouts/my-sonic-layout/my-sonic-layout-page.js';
9
+
10
+ function EditBillToAddressDetailsPage({ billToId, returnUrl, }) {
11
+ const t = useFormattedMessage();
12
+ const paths = usePaths();
13
+ return (jsx(MySonicLayoutPage, { title: t('Billing address'), children: jsx(ConnectedEditBillToAddressForm, { billToId: billToId, returnUrl: returnUrl || paths.ACCOUNT }) }));
14
+ }
15
+ function EditBillToAddressDetailsPageBreadcrumb({ billToId, }) {
16
+ const t = useFormattedMessage();
17
+ const paths = usePaths();
18
+ return (jsx(MySonicLayoutBreadcrumb, { children: jsx(Breadcrumb, { links: [
19
+ { href: paths.HOME, label: t('Home') },
20
+ { href: paths.MY_SONIC, label: t('My Sonic') },
21
+ { href: paths.ACCOUNT, label: t('Account') },
22
+ {
23
+ href: `${paths.ACCOUNT_EDIT_BILL_TO_ADDRESS}/${billToId}`,
24
+ label: t('Billing address'),
25
+ },
26
+ ] }) }));
27
+ }
28
+
29
+ export { EditBillToAddressDetailsPage, EditBillToAddressDetailsPageBreadcrumb };
@@ -0,0 +1,9 @@
1
+ export declare function EditShipToAddressDetailsPage({ billToId, returnUrl, shipToId, }: {
2
+ billToId: string;
3
+ returnUrl?: string;
4
+ shipToId: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export declare function EditShipToAddressDetailsPageBreadcrumb({ billToId, shipToId, }: {
7
+ billToId: string;
8
+ shipToId: string;
9
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { Breadcrumb } from '../../../../breadcrumbs/breadcrumb.js';
4
+ import { useFormattedMessage } from '../../../../intl/use-formatted-message.js';
5
+ import { usePaths } from '../../../../shared/routing/use-paths.js';
6
+ import { ConnectedEditShipToAddressForm } from '../../actions/edit-ship-to-address/connected-edit-ship-to-address-form.js';
7
+ import { MySonicLayoutBreadcrumb } from '../../layouts/my-sonic-layout/my-sonic-layout-breadcrumb.js';
8
+ import { MySonicLayoutPage } from '../../layouts/my-sonic-layout/my-sonic-layout-page.js';
9
+
10
+ function EditShipToAddressDetailsPage({ billToId, returnUrl, shipToId, }) {
11
+ const t = useFormattedMessage();
12
+ const paths = usePaths();
13
+ return (jsx(MySonicLayoutPage, { title: t('Shipping address'), children: jsx(ConnectedEditShipToAddressForm, { billToId: billToId, returnUrl: returnUrl || paths.ACCOUNT, shipToId: shipToId }) }));
14
+ }
15
+ function EditShipToAddressDetailsPageBreadcrumb({ billToId, shipToId, }) {
16
+ const t = useFormattedMessage();
17
+ const paths = usePaths();
18
+ return (jsx(MySonicLayoutBreadcrumb, { children: jsx(Breadcrumb, { links: [
19
+ { href: paths.HOME, label: t('Home') },
20
+ { href: paths.MY_SONIC, label: t('My Sonic') },
21
+ { href: paths.ACCOUNT, label: t('Account') },
22
+ {
23
+ href: `${paths.ACCOUNT_EDIT_BILL_TO_ADDRESS}/${billToId}${paths.ACCOUNT_EDIT_SHIP_TO_ADDRESS}/${shipToId}`,
24
+ label: t('Shipping address'),
25
+ },
26
+ ] }) }));
27
+ }
28
+
29
+ export { EditShipToAddressDetailsPage, EditShipToAddressDetailsPageBreadcrumb };
@@ -0,0 +1,2 @@
1
+ export declare function FavoritesPage(): import("react/jsx-runtime").JSX.Element;
2
+ export declare function FavoritesPageBreadcrumb(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { Breadcrumb } from '../../../../breadcrumbs/breadcrumb.js';
4
+ import { useFormattedMessage } from '../../../../intl/use-formatted-message.js';
5
+ import { usePaths } from '../../../../shared/routing/use-paths.js';
6
+ import { MySonicLayoutBreadcrumb } from '../../layouts/my-sonic-layout/my-sonic-layout-breadcrumb.js';
7
+ import { MySonicLayoutPage } from '../../layouts/my-sonic-layout/my-sonic-layout-page.js';
8
+
9
+ function FavoritesPage() {
10
+ const t = useFormattedMessage();
11
+ return (jsx(MySonicLayoutPage, { title: t('Favorites'), children: "Not implemented yet" }));
12
+ }
13
+ function FavoritesPageBreadcrumb() {
14
+ const t = useFormattedMessage();
15
+ const paths = usePaths();
16
+ return (jsx(MySonicLayoutBreadcrumb, { children: jsx(Breadcrumb, { links: [
17
+ { href: paths.HOME, label: t('Home') },
18
+ { href: paths.MY_SONIC, label: t('My Sonic') },
19
+ { href: paths.ACCOUNT_MY_LISTS, label: t('Favorites') },
20
+ ] }) }));
21
+ }
22
+
23
+ export { FavoritesPage, FavoritesPageBreadcrumb };
@@ -0,0 +1,2 @@
1
+ export declare function MyAccountPage(): import("react/jsx-runtime").JSX.Element;
2
+ export declare function MyAccountPageBreadcrumb(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { Breadcrumb } from '../../../../breadcrumbs/breadcrumb.js';
4
+ import { useFormattedMessage } from '../../../../intl/use-formatted-message.js';
5
+ import { Widget } from '../../../../lists/widget-grid/widget.js';
6
+ import { WidgetGrid } from '../../../../lists/widget-grid/widget-grid.js';
7
+ import { usePaths } from '../../../../shared/routing/use-paths.js';
8
+ import { MySonicLayoutBreadcrumb } from '../../layouts/my-sonic-layout/my-sonic-layout-breadcrumb.js';
9
+ import { MySonicLayoutPage } from '../../layouts/my-sonic-layout/my-sonic-layout-page.js';
10
+ import { ConnectedAddressBookWidget } from '../../widgets/connected-address-book-widget.js';
11
+ import { ConnectedBillToAddressWidget } from '../../widgets/connected-bill-to-address-widget.js';
12
+ import { ConnectedCustomerInformationWidget } from '../../widgets/connected-customer-information-widget.js';
13
+ import { ConnectedShipToAddressWidget } from '../../widgets/connected-ship-to-address-widget.js';
14
+ import { ConnectedUserAccountWidget } from '../../widgets/connected-user-account-widget.js';
15
+
16
+ function MyAccountPage() {
17
+ const t = useFormattedMessage();
18
+ return (jsx(MySonicLayoutPage, { title: t('My account'), children: jsxs(WidgetGrid, { children: [jsx(Widget, { children: jsx(ConnectedUserAccountWidget, {}) }), jsx(Widget, { children: jsx(ConnectedCustomerInformationWidget, {}) }), jsx(Widget, { children: jsx(ConnectedBillToAddressWidget, {}) }), jsx(Widget, { children: jsx(ConnectedShipToAddressWidget, {}) }), jsx(Widget, { size: "full", children: jsx(ConnectedAddressBookWidget, {}) })] }) }));
19
+ }
20
+ function MyAccountPageBreadcrumb() {
21
+ const t = useFormattedMessage();
22
+ const paths = usePaths();
23
+ return (jsx(MySonicLayoutBreadcrumb, { children: jsx(Breadcrumb, { links: [
24
+ { href: paths.HOME, label: t('Home') },
25
+ { href: paths.MY_SONIC, label: t('My Sonic') },
26
+ { href: paths.ACCOUNT, label: t('Account') },
27
+ ] }) }));
28
+ }
29
+
30
+ export { MyAccountPage, MyAccountPageBreadcrumb };
@@ -0,0 +1,8 @@
1
+ import { OrderModel } from '../../../../shared/api/storefront/model/storefront.model';
2
+ import { StatusType } from '../../../../text/status-text/status-text';
3
+ export type OrderDetailsContentProps = {
4
+ order: OrderModel;
5
+ returnUrl?: string;
6
+ };
7
+ export declare const statusMap: Partial<Record<OrderModel['status'], StatusType>>;
8
+ export declare function OrderDetailsContent({ order, returnUrl, }: OrderDetailsContentProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,69 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Button } from '../../../../buttons/button/button.js';
3
+ import { PrintButton } from '../../../../buttons/print-button/print-button.js';
4
+ import { OrderLineCard } from '../../../../cards/orderline-card/orderline-card.js';
5
+ import { CartTotals } from '../../../../cart-totals/cart-totals.js';
6
+ import { FormattedDate } from '../../../../intl/formatted-date.js';
7
+ import { FormattedMessage } from '../../../../intl/formatted-message.js';
8
+ import { OrderLineList } from '../../../../lists/orderline-list/orderline-list.js';
9
+ import { usePaths } from '../../../../shared/routing/use-paths.js';
10
+ import { ensureNumber } from '../../../../shared/utils/number.js';
11
+ import { StatusText } from '../../../../text/status-text/status-text.js';
12
+ import { Heading } from '../../../../typography/heading/heading.js';
13
+ import { BillingAndInvoiceInformation } from '../../../checkout/components/billing-and-invoice-information.js';
14
+ import styles from './order-details-content.module.css.js';
15
+
16
+ const statusMap = {
17
+ Cancelled: 'critical',
18
+ Fulfilled: 'success',
19
+ Saved: 'success',
20
+ };
21
+ const getOrderBillToAddress = (order) => ({
22
+ address1: order.btAddress1,
23
+ address2: order.btAddress2,
24
+ address3: order.btAddress3,
25
+ attention: '',
26
+ city: order.billToCity,
27
+ companyName: order.btCompanyName,
28
+ country: order.btCountry,
29
+ email: '',
30
+ firstName: '',
31
+ lastName: '',
32
+ phone: '',
33
+ postalCode: order.billToPostalCode,
34
+ });
35
+ const getOrderShipToAddress = (order) => ({
36
+ address1: order.stAddress1,
37
+ address2: order.stAddress2,
38
+ address3: order.stAddress3,
39
+ attention: '',
40
+ city: order.shipToCity,
41
+ companyName: order.stCompanyName,
42
+ country: order.stCountry,
43
+ email: '',
44
+ firstName: '',
45
+ lastName: '',
46
+ phone: '',
47
+ postalCode: order.shipToPostalCode,
48
+ });
49
+ function OrderDetailsContent({ order, returnUrl, }) {
50
+ const paths = usePaths();
51
+ const status = statusMap[order.status];
52
+ return (jsxs("div", { className: styles['order-details'], children: [jsxs("section", { className: styles['order-header'], children: [jsxs("div", { className: styles['order-header-info'], children: [jsxs(Heading, { size: "xxs", tag: "h2", children: [jsx(FormattedMessage, { id: "Order" }), " #", order.webOrderNumber] }), jsxs("div", { children: [jsx(FormattedMessage, { id: "Status" }), ":", ' ', jsx(StatusText, { "data-test-selector": "order-status", status: status, children: jsx(FormattedMessage, { noTranslationId: true, id: `orderStatus.${order.status}` }) })] })] }), jsx(PrintButton, {}), jsx(Button, { "data-test-selector": "reorder-button", children: jsx(FormattedMessage, { id: "Reorder" }) })] }), jsxs("section", { className: styles['order-additional-info'], children: [jsxs("dl", { children: [jsx("dt", { children: jsx(FormattedMessage, { id: "orderProperty.Date" }) }), jsx("dd", { children: jsx(FormattedDate, { date: order.orderDate }) })] }), jsxs("dl", { children: [jsx("dt", { children: jsx(FormattedMessage, { id: "orderProperty.PO Number" }) }), jsx("dd", { children: order.customerNumber })] })] }), jsx("section", { className: styles['order-billing-and-shipping'], children: jsx(BillingAndInvoiceInformation, { billToAddress: getOrderBillToAddress(order), shipToAddress: getOrderShipToAddress(order) }) }), jsx("section", { className: styles['order-top-button'], children: jsx(Button, { color: "secondary", href: returnUrl || paths.ACCOUNT_ORDERS, variant: "outline", children: jsx(FormattedMessage, { id: "Back" }) }) }), jsxs("section", { className: styles['order-line-list'], children: [jsx(Heading, { size: "xxs", tag: "h3", children: jsx(FormattedMessage, { id: "Products" }) }), jsx(OrderLineList, { children: order.orderLines?.map(line => (jsx(OrderLineCard, { isReadonly: true, href: line.productUri, image: {
53
+ fit: 'contain',
54
+ image: {
55
+ '1': line.mediumImagePath,
56
+ '2': line.mediumImagePath,
57
+ '3': line.mediumImagePath,
58
+ altText: line.altText,
59
+ },
60
+ title: line.altText,
61
+ }, price: {
62
+ currencyCode: order.currencyCode,
63
+ originalTotalPrice: ensureNumber(line.lineTotal),
64
+ pricePerUnit: line.unitPrice,
65
+ totalPrice: line.lineTotal,
66
+ }, productId: line.productId, quantity: line.qtyOrdered, sku: line.customerProductNumber, title: line.shortDescription }, line.id))) })] }), jsx("section", { className: styles['order-cost-overview'], children: jsx(CartTotals, { currencyCode: order.currencyCode, shippingCost: order.shippingAndHandling, subtotal: order.orderSubTotal, tax: order.taxAmount, total: order.orderTotal, vatPercentage: undefined }) }), jsx("section", { className: styles['order-bottom-button'], children: jsx(Button, { color: "secondary", href: returnUrl || paths.ACCOUNT_ORDERS, variant: "outline", children: jsx(FormattedMessage, { id: "Back" }) }) })] }));
67
+ }
68
+
69
+ export { OrderDetailsContent, statusMap };
@@ -0,0 +1,3 @@
1
+ var styles = {"order-details":"order-details-content-module-aU3VQ","order-header":"order-details-content-module-q0QYm","order-header-info":"order-details-content-module-d9sC4","order-additional-info":"order-details-content-module--1w7s","order-line-list":"order-details-content-module-BO26h","order-top-button":"order-details-content-module-RkRvM","order-bottom-button":"order-details-content-module-o62H3"};
2
+
3
+ export { styles as default };
@@ -0,0 +1,8 @@
1
+ export type OrderDetailsProps = {
2
+ orderId: string;
3
+ returnUrl?: string;
4
+ };
5
+ export declare function OrderDetailsPage({ orderId, returnUrl }: OrderDetailsProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function OrderDetailsPageBreadcrumb({ orderId }: {
7
+ orderId: string;
8
+ }): import("react/jsx-runtime").JSX.Element;