@sonic-equipment/ui 167.0.0 → 168.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.
- package/dist/algolia/algolia-sonic-searchclient.d.ts +2 -1
- package/dist/algolia/algolia-sonic-searchclient.js +2 -2
- package/dist/background-overlay/background-overlay-manager.js +6 -0
- package/dist/background-overlay/background-overlay.d.ts +1 -1
- package/dist/base.css +59 -1
- package/dist/buttons/link/link.d.ts +1 -1
- package/dist/buttons/link/link.js +6 -4
- package/dist/cart-totals/cart-totals.js +1 -0
- package/dist/collapsables/accordion/accordion-item.js +3 -2
- package/dist/collapsables/cascading-component/cascading-component-container-context.js +1 -0
- package/dist/collapsables/cascading-component/cascading-component-container-provider.js +1 -0
- package/dist/collapsables/cascading-component/cascading-component-container.js +1 -0
- package/dist/collapsables/cascading-component/cascading-component.js +1 -0
- package/dist/collapsables/unmounter/unmounter.js +1 -0
- package/dist/config.js +12 -11
- package/dist/country-select/country-select.js +1 -0
- package/dist/display/price/price.js +1 -0
- package/dist/drawer/drawer.d.ts +3 -2
- package/dist/drawer/drawer.js +15 -3
- package/dist/drawer/drawer.module.css.js +1 -1
- package/dist/drawer/use-drawer.js +1 -6
- package/dist/exports.d.ts +15 -5
- package/dist/footer/connected-footer.d.ts +4 -0
- package/dist/footer/connected-footer.js +13 -0
- package/dist/footer/footer.d.ts +8 -4
- package/dist/footer/footer.js +23 -2
- package/dist/footer/footer.model.d.ts +3 -15
- package/dist/forms/form/form.js +1 -0
- package/dist/forms/text-field/password-reveal-toggle/password-reveal-toggle.js +1 -0
- package/dist/global-search/global-search-provider/global-search-provider.d.ts +0 -6
- package/dist/global-search/global-search-provider/global-search-provider.js +3 -9
- package/dist/global-search/global-search-provider/use-search-disclosure.d.ts +1 -6
- package/dist/global-search/global-search-provider/use-search-disclosure.js +5 -9
- package/dist/global-search/global-search.d.ts +3 -1
- package/dist/global-search/global-search.js +7 -6
- package/dist/header/buttons/account/connected-account-button.d.ts +7 -0
- package/dist/header/buttons/account/connected-account-button.js +14 -0
- package/dist/header/buttons/cart/connected-cart-button.d.ts +7 -0
- package/dist/header/buttons/cart/connected-cart-button.js +14 -0
- package/dist/header/buttons/favorites/connected-favorites-button.d.ts +7 -0
- package/dist/header/buttons/favorites/connected-favorites-button.js +13 -0
- package/dist/header/{hamburger-button → buttons/hamburger}/hamburger-button.d.ts +2 -1
- package/dist/header/buttons/hamburger/hamburger-button.js +13 -0
- package/dist/header/buttons/hamburger/hamburger-button.module.css.js +3 -0
- package/dist/header/buttons/search/search-button.d.ts +7 -0
- package/dist/header/buttons/search/search-button.js +12 -0
- package/dist/header/connected-header.d.ts +4 -0
- package/dist/header/connected-header.js +13 -0
- package/dist/header/drawers/desktop-navigation-drawer.d.ts +8 -0
- package/dist/header/drawers/desktop-navigation-drawer.js +12 -0
- package/dist/header/drawers/desktop-navigation-drawer.module.css.js +3 -0
- package/dist/header/drawers/mobile-navigation-drawer.d.ts +7 -0
- package/dist/header/drawers/mobile-navigation-drawer.js +10 -0
- package/dist/header/drawers/mobile-navigation-drawer.module.css.js +3 -0
- package/dist/header/drawers/search-drawer.d.ts +5 -0
- package/dist/header/drawers/search-drawer.js +9 -0
- package/dist/header/header-layout/header-layout.d.ts +2 -1
- package/dist/header/header-layout/header-layout.js +3 -2
- package/dist/header/header-layout/header-layout.module.css.js +1 -1
- package/dist/header/header.d.ts +3 -2
- package/dist/header/header.js +64 -5
- package/dist/header/header.module.css.js +3 -0
- package/dist/header/link-list/navigation-link-list.d.ts +3 -2
- package/dist/header/link-list/navigation-link-list.js +3 -3
- package/dist/header/link-list/navigation-link-list.module.css.js +1 -1
- package/dist/header/sonic-logo/sonic-logo.d.ts +2 -1
- package/dist/header/sonic-logo/sonic-logo.js +4 -2
- package/dist/index.js +17 -6
- package/dist/intl/missing-translation-provider.js +1 -0
- package/dist/intl/translation-id.d.ts +1 -1
- package/dist/lists/menu-list/menu-list-back-button.js +1 -0
- package/dist/lists/menu-list/menu-list-item.d.ts +9 -21
- package/dist/lists/menu-list/menu-list-item.js +3 -8
- package/dist/lists/menu-list/menu-list.js +1 -0
- package/dist/lists/orderline-list/orderline-list.js +2 -2
- package/dist/media/zoom-image/zoom-image.js +1 -0
- package/dist/navigation/account-icon/account-icon.js +1 -0
- package/dist/navigation/cart-icon/cart-icon.js +1 -0
- package/dist/navigation/favorite-icon/favorite-icon.js +1 -0
- package/dist/navigation/mobile-navigation/mobile-navigation.d.ts +6 -3
- package/dist/navigation/mobile-navigation/mobile-navigation.js +8 -3
- package/dist/navigation/mobile-navigation/mobile-navigation.module.css.js +3 -0
- package/dist/navigation/panel-navigation/panel-navigation.d.ts +4 -16
- package/dist/navigation/panel-navigation/panel-navigation.js +5 -5
- package/dist/notifications/announcements/announcement-list.d.ts +7 -0
- package/dist/notifications/announcements/announcement-list.js +26 -0
- package/dist/notifications/announcements/announcement-list.module.css.js +3 -0
- package/dist/notifications/announcements/announcement.d.ts +2 -1
- package/dist/notifications/announcements/announcement.js +7 -3
- package/dist/notifications/announcements/announcement.module.css.js +1 -1
- package/dist/notifications/announcements/connected-announcement-list.d.ts +1 -0
- package/dist/notifications/announcements/connected-announcement-list.js +22 -0
- package/dist/notifications/announcements/use-filter-announcements.d.ts +2 -0
- package/dist/notifications/announcements/use-filter-announcements.js +35 -0
- package/dist/observers/intersection-observer.js +1 -0
- package/dist/pages/account/create-account-page/create-account-page.js +1 -0
- package/dist/pages/account/layouts/sign-in-page-layout/sign-in-page-layout.js +1 -0
- package/dist/pages/account/sign-in-page/sign-in-page.js +1 -0
- package/dist/pages/checkout/cart-page/cart-page.js +2 -1
- package/dist/pages/checkout/cart-page/components/empty-cart-page.js +1 -0
- package/dist/pages/checkout/components/billing-and-invoice-information.js +1 -0
- package/dist/pages/checkout/layouts/checkout-page-layout/checkout-page-layout.js +1 -0
- package/dist/pages/checkout/order-confirmation-page/order-confirmation-page-content.js +1 -0
- package/dist/pages/checkout/order-confirmation-page/order-confirmation-page.js +1 -0
- package/dist/pages/checkout/payment-page/components/adyen-payment.js +1 -0
- package/dist/pages/checkout/payment-page/components/payment.js +1 -0
- package/dist/pages/checkout/payment-page/payment-page-content.js +2 -1
- package/dist/pages/checkout/payment-page/payment-page.js +1 -0
- package/dist/pages/checkout/shipping-page/components/currency-change-dialog.js +1 -0
- package/dist/pages/checkout/shipping-page/components/edit-address-form.js +1 -0
- package/dist/pages/checkout/shipping-page/components/readonly-address.js +1 -0
- package/dist/pages/checkout/shipping-page/components/sonic-address.js +1 -0
- package/dist/pages/checkout/shipping-page/shipping-page-content.js +2 -1
- package/dist/pages/checkout/shipping-page/shipping-page.js +1 -0
- package/dist/pages/components/page-meta-data/page-meta-data.js +4 -0
- package/dist/pages/product/product-details-page/components/product-details-panel/product-details-panel.js +1 -0
- package/dist/shared/api/bff/hooks/use-fetch-navigation-links.d.ts +2 -0
- package/dist/shared/api/bff/hooks/use-fetch-navigation-links.js +15 -0
- package/dist/shared/api/bff/model/bff.model.d.ts +30 -0
- package/dist/shared/api/bff/services/bff-service.d.ts +7 -1
- package/dist/shared/api/bff/services/bff-service.js +8 -1
- package/dist/shared/feature-flags/use-feature-flags.d.ts +1 -0
- package/dist/shared/feature-flags/use-feature-flags.js +1 -0
- package/dist/shared/ga/data-layer.js +4 -3
- package/dist/shared/hooks/use-mutation-observer.d.ts +3 -0
- package/dist/shared/hooks/use-mutation-observer.js +27 -0
- package/dist/shared/hooks/use-resize-observer.js +7 -1
- package/dist/shared/routing/route-button.d.ts +1 -1
- package/dist/shared/routing/route-icon-button.d.ts +1 -1
- package/dist/shared/routing/route-link.d.ts +1 -1
- package/dist/shared/routing/with-routing.d.ts +2 -2
- package/dist/shared/routing/with-routing.js +5 -4
- package/dist/styles.css +840 -622
- package/dist/toast/toast-provider.js +1 -0
- package/dist/tooltip/tooltip.js +1 -0
- package/dist/typography/heading/heading.js +1 -0
- package/package.json +1 -1
- package/dist/header/cart-icon/connected-cart-icon.d.ts +0 -3
- package/dist/header/cart-icon/connected-cart-icon.js +0 -14
- package/dist/header/hamburger-button/hamburger-button.js +0 -14
- package/dist/header/hamburger-button/hamburger-button.module.css.js +0 -3
- package/dist/notifications/announcements/announcement-provider.d.ts +0 -1
- package/dist/notifications/announcements/announcement-provider.js +0 -29
- package/dist/notifications/announcements/announcement-provider.module.css.js +0 -3
- package/dist/notifications/announcements/connected-announcement.d.ts +0 -5
- package/dist/notifications/announcements/connected-announcement.js +0 -27
- package/dist/shared/api/bff/model/announcement.model.d.ts +0 -12
- package/dist/shared/model/link.d.ts +0 -15
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CultureCode } from '../../../../intl/types';
|
|
2
2
|
import { ProductListingPageData } from '../../../../pages/product/product-listing-page/product-listing-page-data-types';
|
|
3
3
|
import { AnnouncementObject } from '../../../model/announcement';
|
|
4
|
-
import { ProductDetailsPageDataResponse } from '../model/bff.model';
|
|
4
|
+
import { NavigationLinkResponse, ProductDetailsPageDataResponse } from '../model/bff.model';
|
|
5
5
|
export interface FetchAnnouncementsArgs {
|
|
6
6
|
cultureCode: CultureCode;
|
|
7
7
|
}
|
|
@@ -12,3 +12,9 @@ export interface FetchProductPageDataArgs {
|
|
|
12
12
|
}
|
|
13
13
|
export declare function fetchProductDetailsPageData({ cultureCode, pageUrl, }: FetchProductPageDataArgs): Promise<ProductDetailsPageDataResponse>;
|
|
14
14
|
export declare function fetchProductListingPageData({ cultureCode, pageUrl, }: FetchProductPageDataArgs): Promise<ProductListingPageData>;
|
|
15
|
+
export type NavigationLinkSource = 'shop' | 'marketing';
|
|
16
|
+
export interface FetchNavigationLinksArgs {
|
|
17
|
+
cultureCode: CultureCode;
|
|
18
|
+
source: NavigationLinkSource;
|
|
19
|
+
}
|
|
20
|
+
export declare function fetchNavigationLinks({ cultureCode, source, }: FetchNavigationLinksArgs): Promise<NavigationLinkResponse>;
|
|
@@ -70,5 +70,12 @@ async function fetchProductListingPageData({ cultureCode, pageUrl, }) {
|
|
|
70
70
|
})),
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
|
+
async function fetchNavigationLinks({ cultureCode, source, }) {
|
|
74
|
+
const { body } = await request({
|
|
75
|
+
headers: { 'Current-Language-Id': cultureCode, Source: source },
|
|
76
|
+
url: `${config.BFF_API_URL}/navigation`,
|
|
77
|
+
});
|
|
78
|
+
return body;
|
|
79
|
+
}
|
|
73
80
|
|
|
74
|
-
export { fetchAnnouncements, fetchProductDetailsPageData, fetchProductListingPageData };
|
|
81
|
+
export { fetchAnnouncements, fetchNavigationLinks, fetchProductDetailsPageData, fetchProductListingPageData };
|
|
@@ -7,8 +7,9 @@ _dataLayer.push = (function (_push) {
|
|
|
7
7
|
return _push(...items);
|
|
8
8
|
};
|
|
9
9
|
})(_dataLayer.push.bind(_dataLayer));
|
|
10
|
-
const dataLayer =
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const dataLayer = typeof window === 'undefined'
|
|
11
|
+
? _dataLayer
|
|
12
|
+
: // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope
|
|
13
|
+
(window.dataLayer = window.dataLayer || _dataLayer);
|
|
13
14
|
|
|
14
15
|
export { dataLayer };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useRef, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
function useMutationObserver(onChange, options) {
|
|
4
|
+
const mutationObserver = useRef(typeof MutationObserver === 'undefined'
|
|
5
|
+
? undefined
|
|
6
|
+
: new MutationObserver(onChange));
|
|
7
|
+
const ref = useRef(document?.body);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (ref.current)
|
|
10
|
+
mutationObserver.current?.observe(ref.current, options);
|
|
11
|
+
return () => {
|
|
12
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13
|
+
mutationObserver.current?.disconnect();
|
|
14
|
+
};
|
|
15
|
+
}, [options]);
|
|
16
|
+
return {
|
|
17
|
+
ref: (el) => {
|
|
18
|
+
ref.current = el;
|
|
19
|
+
mutationObserver.current?.disconnect();
|
|
20
|
+
if (!ref.current)
|
|
21
|
+
return;
|
|
22
|
+
mutationObserver.current?.observe(ref.current, options);
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { useMutationObserver };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useRef } from 'react';
|
|
1
|
+
import { useRef, useEffect } from 'react';
|
|
2
2
|
|
|
3
3
|
function useResizeObserver(resizeCallback) {
|
|
4
4
|
let size;
|
|
@@ -15,6 +15,12 @@ function useResizeObserver(resizeCallback) {
|
|
|
15
15
|
? undefined
|
|
16
16
|
: new ResizeObserver(onResize));
|
|
17
17
|
const ref = useRef(null);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
return () => {
|
|
20
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
21
|
+
resizeObserver.current?.disconnect();
|
|
22
|
+
};
|
|
23
|
+
}, []);
|
|
18
24
|
return {
|
|
19
25
|
ref: (el) => {
|
|
20
26
|
ref.current = el;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const RouteButton: React.
|
|
1
|
+
export declare const RouteButton: React.ForwardRefExoticComponent<import("../../buttons/button/button").ButtonProps & import("./with-routing").WithRoutingProps & React.RefAttributes<HTMLElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const RouteIconButton: React.
|
|
1
|
+
export declare const RouteIconButton: React.ForwardRefExoticComponent<import("../../buttons/icon-button/icon-button").IconButtonProps & import("./with-routing").WithRoutingProps & React.RefAttributes<HTMLElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const RouteLink: React.
|
|
1
|
+
export declare const RouteLink: React.ForwardRefExoticComponent<Omit<import("../../buttons/link/link").LinkProps & React.RefAttributes<HTMLElement> & import("./with-routing").WithRoutingProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComponentProps, ComponentType,
|
|
1
|
+
import { ComponentProps, ComponentType, MouseEventHandler } from 'react';
|
|
2
2
|
import { NavigateOptions } from './types';
|
|
3
3
|
export interface WithRoutingProps {
|
|
4
4
|
href?: string;
|
|
@@ -7,4 +7,4 @@ export interface WithRoutingProps {
|
|
|
7
7
|
export declare function withRouting<TComponent extends ComponentType<TProps>, TProps extends {
|
|
8
8
|
children: React.ReactNode;
|
|
9
9
|
onClick?: MouseEventHandler<TElement> | undefined;
|
|
10
|
-
}, TElement extends HTMLElement>(component: TComponent):
|
|
10
|
+
}, TElement extends HTMLElement>(component: TComponent): React.ForwardRefExoticComponent<React.PropsWithoutRef<ComponentProps<TComponent> & WithRoutingProps> & React.RefAttributes<HTMLElement>>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { createElement } from 'react';
|
|
1
|
+
import { forwardRef, createElement } from 'react';
|
|
2
2
|
import { useBasePath } from './use-base-path.js';
|
|
3
3
|
import { useNavigate } from './use-navigate.js';
|
|
4
4
|
|
|
5
5
|
function withRouting(component) {
|
|
6
|
-
const Component = ({ href, onClick, route, ...rest }) => {
|
|
6
|
+
const Component = forwardRef(({ href, onClick, route, ...rest }, ref) => {
|
|
7
7
|
const { navigate } = useNavigate();
|
|
8
8
|
const basePath = useBasePath();
|
|
9
9
|
if (basePath &&
|
|
@@ -28,10 +28,11 @@ function withRouting(component) {
|
|
|
28
28
|
}
|
|
29
29
|
return navigate(href, route);
|
|
30
30
|
},
|
|
31
|
+
ref,
|
|
31
32
|
};
|
|
32
33
|
return createElement(component, props);
|
|
33
|
-
};
|
|
34
|
-
Component.displayName = component.displayName
|
|
34
|
+
});
|
|
35
|
+
Component.displayName = `WithRouting(${component.displayName || component.name})`;
|
|
35
36
|
return Component;
|
|
36
37
|
}
|
|
37
38
|
|