@sonic-equipment/ui 167.0.0 → 169.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 (151) hide show
  1. package/dist/algolia/algolia-sonic-searchclient.d.ts +2 -1
  2. package/dist/algolia/algolia-sonic-searchclient.js +2 -2
  3. package/dist/background-overlay/background-overlay-manager.js +6 -0
  4. package/dist/background-overlay/background-overlay.d.ts +1 -1
  5. package/dist/base.css +59 -1
  6. package/dist/buttons/link/link.d.ts +1 -1
  7. package/dist/buttons/link/link.js +6 -4
  8. package/dist/cart-totals/cart-totals.js +1 -0
  9. package/dist/collapsables/accordion/accordion-item.js +3 -2
  10. package/dist/collapsables/cascading-component/cascading-component-container-context.js +1 -0
  11. package/dist/collapsables/cascading-component/cascading-component-container-provider.js +1 -0
  12. package/dist/collapsables/cascading-component/cascading-component-container.js +1 -0
  13. package/dist/collapsables/cascading-component/cascading-component.js +1 -0
  14. package/dist/collapsables/unmounter/unmounter.js +1 -0
  15. package/dist/config.js +12 -11
  16. package/dist/country-select/country-select.js +1 -0
  17. package/dist/country-selector/connected-country-selector.d.ts +6 -6
  18. package/dist/display/price/price.js +1 -0
  19. package/dist/drawer/drawer.d.ts +3 -2
  20. package/dist/drawer/drawer.js +15 -3
  21. package/dist/drawer/drawer.module.css.js +1 -1
  22. package/dist/drawer/use-drawer.js +1 -6
  23. package/dist/exports.d.ts +15 -5
  24. package/dist/footer/connected-footer.d.ts +6 -0
  25. package/dist/footer/connected-footer.js +13 -0
  26. package/dist/footer/footer.d.ts +8 -4
  27. package/dist/footer/footer.js +23 -2
  28. package/dist/footer/footer.model.d.ts +3 -15
  29. package/dist/forms/form/form.js +1 -0
  30. package/dist/forms/text-field/password-reveal-toggle/password-reveal-toggle.js +1 -0
  31. package/dist/global-search/global-search-provider/global-search-provider.d.ts +0 -6
  32. package/dist/global-search/global-search-provider/global-search-provider.js +3 -9
  33. package/dist/global-search/global-search-provider/use-search-disclosure.d.ts +1 -6
  34. package/dist/global-search/global-search-provider/use-search-disclosure.js +5 -9
  35. package/dist/global-search/global-search.d.ts +3 -1
  36. package/dist/global-search/global-search.js +7 -6
  37. package/dist/header/buttons/account/connected-account-button.d.ts +7 -0
  38. package/dist/header/buttons/account/connected-account-button.js +14 -0
  39. package/dist/header/buttons/cart/connected-cart-button.d.ts +7 -0
  40. package/dist/header/buttons/cart/connected-cart-button.js +14 -0
  41. package/dist/header/buttons/favorites/connected-favorites-button.d.ts +7 -0
  42. package/dist/header/buttons/favorites/connected-favorites-button.js +13 -0
  43. package/dist/header/{hamburger-button → buttons/hamburger}/hamburger-button.d.ts +2 -1
  44. package/dist/header/buttons/hamburger/hamburger-button.js +13 -0
  45. package/dist/header/buttons/hamburger/hamburger-button.module.css.js +3 -0
  46. package/dist/header/buttons/search/search-button.d.ts +7 -0
  47. package/dist/header/buttons/search/search-button.js +12 -0
  48. package/dist/header/connected-header.d.ts +5 -0
  49. package/dist/header/connected-header.js +12 -0
  50. package/dist/header/drawers/desktop-navigation-drawer.d.ts +8 -0
  51. package/dist/header/drawers/desktop-navigation-drawer.js +12 -0
  52. package/dist/header/drawers/desktop-navigation-drawer.module.css.js +3 -0
  53. package/dist/header/drawers/mobile-navigation-drawer.d.ts +7 -0
  54. package/dist/header/drawers/mobile-navigation-drawer.js +10 -0
  55. package/dist/header/drawers/mobile-navigation-drawer.module.css.js +3 -0
  56. package/dist/header/drawers/search-drawer.d.ts +5 -0
  57. package/dist/header/drawers/search-drawer.js +9 -0
  58. package/dist/header/header-layout/header-layout.d.ts +2 -1
  59. package/dist/header/header-layout/header-layout.js +3 -2
  60. package/dist/header/header-layout/header-layout.module.css.js +1 -1
  61. package/dist/header/header.d.ts +4 -2
  62. package/dist/header/header.js +64 -5
  63. package/dist/header/header.module.css.js +3 -0
  64. package/dist/header/link-list/navigation-link-list.d.ts +3 -2
  65. package/dist/header/link-list/navigation-link-list.js +3 -3
  66. package/dist/header/link-list/navigation-link-list.module.css.js +1 -1
  67. package/dist/header/sonic-logo/sonic-logo.d.ts +2 -1
  68. package/dist/header/sonic-logo/sonic-logo.js +4 -2
  69. package/dist/index.js +17 -6
  70. package/dist/intl/missing-translation-provider.js +1 -0
  71. package/dist/intl/translation-id.d.ts +1 -1
  72. package/dist/lists/menu-list/menu-list-back-button.js +1 -0
  73. package/dist/lists/menu-list/menu-list-item.d.ts +9 -21
  74. package/dist/lists/menu-list/menu-list-item.js +3 -8
  75. package/dist/lists/menu-list/menu-list.js +1 -0
  76. package/dist/lists/orderline-list/orderline-list.js +2 -2
  77. package/dist/media/zoom-image/zoom-image.js +1 -0
  78. package/dist/navigation/account-icon/account-icon.js +1 -0
  79. package/dist/navigation/cart-icon/cart-icon.js +2 -1
  80. package/dist/navigation/favorite-icon/favorite-icon.js +1 -0
  81. package/dist/navigation/mobile-navigation/mobile-navigation.d.ts +6 -3
  82. package/dist/navigation/mobile-navigation/mobile-navigation.js +8 -3
  83. package/dist/navigation/mobile-navigation/mobile-navigation.module.css.js +3 -0
  84. package/dist/navigation/panel-navigation/panel-navigation.d.ts +4 -16
  85. package/dist/navigation/panel-navigation/panel-navigation.js +5 -5
  86. package/dist/notifications/announcements/announcement-list.d.ts +7 -0
  87. package/dist/notifications/announcements/announcement-list.js +26 -0
  88. package/dist/notifications/announcements/announcement-list.module.css.js +3 -0
  89. package/dist/notifications/announcements/announcement.d.ts +2 -1
  90. package/dist/notifications/announcements/announcement.js +7 -3
  91. package/dist/notifications/announcements/announcement.module.css.js +1 -1
  92. package/dist/notifications/announcements/connected-announcement-list.d.ts +3 -0
  93. package/dist/notifications/announcements/connected-announcement-list.js +22 -0
  94. package/dist/notifications/announcements/use-filter-announcements.d.ts +2 -0
  95. package/dist/notifications/announcements/use-filter-announcements.js +35 -0
  96. package/dist/observers/intersection-observer.js +1 -0
  97. package/dist/pages/account/create-account-page/create-account-page.js +1 -0
  98. package/dist/pages/account/layouts/sign-in-page-layout/sign-in-page-layout.js +1 -0
  99. package/dist/pages/account/sign-in-page/sign-in-page.js +1 -0
  100. package/dist/pages/checkout/cart-page/cart-page.js +2 -1
  101. package/dist/pages/checkout/cart-page/components/empty-cart-page.js +1 -0
  102. package/dist/pages/checkout/components/billing-and-invoice-information.js +1 -0
  103. package/dist/pages/checkout/layouts/checkout-page-layout/checkout-page-layout.js +2 -1
  104. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page-content.js +1 -0
  105. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page.js +1 -0
  106. package/dist/pages/checkout/payment-page/components/adyen-payment.js +1 -0
  107. package/dist/pages/checkout/payment-page/components/payment.js +1 -0
  108. package/dist/pages/checkout/payment-page/payment-page-content.js +2 -1
  109. package/dist/pages/checkout/payment-page/payment-page.js +1 -0
  110. package/dist/pages/checkout/shipping-page/components/currency-change-dialog.js +1 -0
  111. package/dist/pages/checkout/shipping-page/components/edit-address-form.js +1 -0
  112. package/dist/pages/checkout/shipping-page/components/readonly-address.js +1 -0
  113. package/dist/pages/checkout/shipping-page/components/sonic-address.js +1 -0
  114. package/dist/pages/checkout/shipping-page/shipping-page-content.js +2 -1
  115. package/dist/pages/checkout/shipping-page/shipping-page.js +1 -0
  116. package/dist/pages/components/page-meta-data/page-meta-data.js +4 -0
  117. package/dist/pages/product/product-details-page/components/product-details-panel/product-details-panel.js +1 -0
  118. package/dist/shared/api/bff/hooks/use-fetch-navigation-links.d.ts +2 -0
  119. package/dist/shared/api/bff/hooks/use-fetch-navigation-links.js +15 -0
  120. package/dist/shared/api/bff/model/bff.model.d.ts +30 -0
  121. package/dist/shared/api/bff/services/bff-service.d.ts +7 -1
  122. package/dist/shared/api/bff/services/bff-service.js +8 -1
  123. package/dist/shared/feature-flags/use-feature-flags.d.ts +1 -0
  124. package/dist/shared/feature-flags/use-feature-flags.js +1 -0
  125. package/dist/shared/ga/data-layer.js +4 -3
  126. package/dist/shared/hooks/use-mutation-observer.d.ts +3 -0
  127. package/dist/shared/hooks/use-mutation-observer.js +27 -0
  128. package/dist/shared/hooks/use-resize-observer.js +7 -1
  129. package/dist/shared/hooks/use-watch-css-property.js +1 -1
  130. package/dist/shared/routing/route-button.d.ts +1 -1
  131. package/dist/shared/routing/route-icon-button.d.ts +1 -1
  132. package/dist/shared/routing/route-link.d.ts +1 -1
  133. package/dist/shared/routing/with-routing.d.ts +2 -2
  134. package/dist/shared/routing/with-routing.js +5 -4
  135. package/dist/shared/utils/css.js +53 -0
  136. package/dist/styles.css +696 -476
  137. package/dist/toast/toast-provider.js +1 -0
  138. package/dist/tooltip/tooltip.js +1 -0
  139. package/dist/typography/heading/heading.js +1 -0
  140. package/package.json +1 -1
  141. package/dist/header/cart-icon/connected-cart-icon.d.ts +0 -3
  142. package/dist/header/cart-icon/connected-cart-icon.js +0 -14
  143. package/dist/header/hamburger-button/hamburger-button.js +0 -14
  144. package/dist/header/hamburger-button/hamburger-button.module.css.js +0 -3
  145. package/dist/notifications/announcements/announcement-provider.d.ts +0 -1
  146. package/dist/notifications/announcements/announcement-provider.js +0 -29
  147. package/dist/notifications/announcements/announcement-provider.module.css.js +0 -3
  148. package/dist/notifications/announcements/connected-announcement.d.ts +0 -5
  149. package/dist/notifications/announcements/connected-announcement.js +0 -27
  150. package/dist/shared/api/bff/model/announcement.model.d.ts +0 -12
  151. package/dist/shared/model/link.d.ts +0 -15
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { ToastContainer, Slide } from 'react-toastify';
3
4
  import styles from './toast-provider.module.css.js';
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx, jsxs } from 'react/jsx-runtime';
2
3
  import { useRef, useMemo, cloneElement } from 'react';
3
4
  import { usePress } from 'react-aria';
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { createElement } from 'react';
2
3
  import clsx from 'clsx';
3
4
  import styles from './heading.module.css.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonic-equipment/ui",
3
- "version": "167.0.0",
3
+ "version": "169.0.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -1,3 +0,0 @@
1
- export declare function ConnectedCartIcon({ href }: {
2
- href: string;
3
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,14 +0,0 @@
1
- "use client";
2
- import { jsx } from 'react/jsx-runtime';
3
- import { useFormattedMessage } from '../../intl/use-formatted-message.js';
4
- import { CartIcon } from '../../navigation/cart-icon/cart-icon.js';
5
- import { useFetchCurrentCartCount } from '../../shared/api/storefront/hooks/cart/use-fetch-current-cart-count.js';
6
- import { RouteIconButton } from '../../shared/routing/route-icon-button.js';
7
-
8
- function ConnectedCartIcon({ href }) {
9
- const count = useFetchCurrentCartCount();
10
- const t = useFormattedMessage();
11
- return (jsx(RouteIconButton, { "data-test-selector": "cartIcon", href: href, children: jsx(CartIcon, { "aria-label": t('Shopping cart'), count: count }) }));
12
- }
13
-
14
- export { ConnectedCartIcon };
@@ -1,14 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import clsx from 'clsx';
3
- import { IconButton } from '../../buttons/icon-button/icon-button.js';
4
- import { useFormattedMessage } from '../../intl/use-formatted-message.js';
5
- import styles from './hamburger-button.module.css.js';
6
-
7
- function HamburgerButton({ 'aria-controls': ariaControls, isActive, onActiveChange, }) {
8
- const t = useFormattedMessage();
9
- return (jsx(IconButton, { "aria-controls": ariaControls, "aria-expanded": isActive, onClick: () => onActiveChange(!isActive), title: t('Toggle navigation menu'), type: "button", children: jsxs("div", { className: clsx(styles['hamburger-button'], {
10
- [styles.active]: isActive,
11
- }), children: [jsx("span", { "aria-hidden": "true" }), jsx("span", { "aria-hidden": "true" }), jsx("span", { "aria-hidden": "true" })] }) }));
12
- }
13
-
14
- export { HamburgerButton };
@@ -1,3 +0,0 @@
1
- var styles = {"hamburger-button":"hamburger-button-module-xER52","active":"hamburger-button-module-7yoVH"};
2
-
3
- export { styles as default };
@@ -1 +0,0 @@
1
- export declare function AnnouncementProvider(): import("react/jsx-runtime").JSX.Element;
@@ -1,29 +0,0 @@
1
- "use client";
2
- import { jsx } from 'react/jsx-runtime';
3
- import { useRef } from 'react';
4
- import { TransitionGroup, CSSTransition } from 'react-transition-group';
5
- import { useCultureCode } from '../../intl/use-culture-code.js';
6
- import { useLogError } from '../../logging/use-log-error.js';
7
- import { useFetchAnnouncements } from '../../shared/api/bff/hooks/use-fetch-announcements.js';
8
- import { useLocalStorage } from '../../shared/hooks/use-local-storage.js';
9
- import { ConnectedAnnouncement } from './connected-announcement.js';
10
- import styles from './announcement-provider.module.css.js';
11
-
12
- function AnnouncementProvider() {
13
- const cultureCode = useCultureCode();
14
- const nodeRef = useRef(null);
15
- const { data: announcements, error } = useFetchAnnouncements({
16
- cultureCode,
17
- });
18
- useLogError(error);
19
- const [dismissedIds, setDismissedIds] = useLocalStorage('dismissedAnnouncementIds', []);
20
- const filteredAnnouncements = announcements?.filter(({ id }) => !dismissedIds.includes(id));
21
- return (jsx(TransitionGroup, { className: styles['announcement-provider'], children: filteredAnnouncements?.map(announcement => (jsx(CSSTransition, { classNames: {
22
- enter: styles['announcement-enter'],
23
- enterActive: styles['announcement-enter-active'],
24
- exit: styles['announcement-exit'],
25
- exitActive: styles['announcement-exit-active'],
26
- }, nodeRef: nodeRef, timeout: 300, children: jsx(ConnectedAnnouncement, { announcement: announcement, onDismiss: id => setDismissedIds(dismissedIds => [...dismissedIds, id]) }) }, announcement.id))) }));
27
- }
28
-
29
- export { AnnouncementProvider };
@@ -1,3 +0,0 @@
1
- var styles = {"announcement-provider":"announcement-provider-module-sVIKY","announcement-enter":"announcement-provider-module-ksjgO","announcement-enter-active":"announcement-provider-module-k0zd-","announcement-exit":"announcement-provider-module-w2N0B","announcement-exit-active":"announcement-provider-module-4lfx2"};
2
-
3
- export { styles as default };
@@ -1,5 +0,0 @@
1
- import { AnnouncementProps } from './announcement';
2
- type ConnectedAnnouncementProps = AnnouncementProps;
3
- export declare const now: () => Date;
4
- export declare function ConnectedAnnouncement({ announcement: { endDate, startDate, ...announcement }, onDismiss, }: ConnectedAnnouncementProps): import("react/jsx-runtime").JSX.Element | null;
5
- export {};
@@ -1,27 +0,0 @@
1
- "use client";
2
- import { jsx } from 'react/jsx-runtime';
3
- import { useState, useCallback, useEffect } from 'react';
4
- import { TIME } from '../../shared/utils/time.js';
5
- import { Announcement } from './announcement.js';
6
-
7
- const now = () => new Date();
8
- function ConnectedAnnouncement({ announcement: { endDate, startDate, ...announcement }, onDismiss, }) {
9
- const [isVisible, setIsVisible] = useState(() => (!startDate || startDate <= now()) && (!endDate || endDate > now()));
10
- const getIsVisible = useCallback(() => isVisible, [isVisible]);
11
- useEffect(() => {
12
- if (endDate && now() >= endDate)
13
- return;
14
- const intervalId = setInterval(() => {
15
- const isStillVisible = (!startDate || startDate <= now()) && (!endDate || endDate > now());
16
- if (getIsVisible() && !isStillVisible)
17
- clearInterval(intervalId);
18
- setIsVisible(isStillVisible);
19
- }, 1 * TIME.MINUTE);
20
- return () => clearInterval(intervalId);
21
- }, [endDate, getIsVisible, startDate]);
22
- if (!isVisible)
23
- return null;
24
- return jsx(Announcement, { announcement: announcement, onDismiss: onDismiss });
25
- }
26
-
27
- export { ConnectedAnnouncement, now };
@@ -1,12 +0,0 @@
1
- interface Announcement {
2
- endDate?: string;
3
- href: string;
4
- id: string;
5
- startDate?: string;
6
- subType: string;
7
- text: string;
8
- title: string;
9
- type: string;
10
- }
11
- export type AnnouncementResponse = Announcement[];
12
- export {};
@@ -1,15 +0,0 @@
1
- export interface NavigationLink {
2
- external: boolean;
3
- key: string;
4
- links: NavigationLink[];
5
- openInNewTab: boolean;
6
- title: string;
7
- type: string;
8
- url: string;
9
- }
10
- export interface LinkBlock {
11
- key: string;
12
- links: NavigationLink[];
13
- title: string;
14
- type: string;
15
- }