@sonic-equipment/ui 0.0.100 → 0.0.102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +41 -47
- package/dist/src/buttons/add-to-cart-button/add-to-cart-button.stories.d.ts +2 -16
- package/dist/src/buttons/button/button.stories.d.ts +2 -13
- package/dist/src/buttons/favorite/favorite-button.stories.d.ts +2 -12
- package/dist/src/buttons/icon-button/icon-button.stories.d.ts +2 -12
- package/dist/src/buttons/link/link.stories.d.ts +2 -12
- package/dist/src/collapsables/show-all/show-all.stories.d.ts +2 -12
- package/dist/src/country-selector/use-countries-languages.d.ts +3 -3
- package/dist/src/filters/active-filters/active-filters.stories.d.ts +3 -13
- package/dist/src/filters/multi-select/multi-select.stories.d.ts +2 -12
- package/dist/src/filters/pagination/pagination.stories.d.ts +2 -14
- package/dist/src/forms/checkbox/checkbox.stories.d.ts +2 -12
- package/dist/src/forms/color-checkbox/color-checkbox.stories.d.ts +2 -12
- package/dist/src/forms/select/select.stories.d.ts +2 -12
- package/dist/src/global-search/search-section/search-section.d.ts +2 -1
- package/dist/src/modals/dialog/dialog.d.ts +1 -1
- package/dist/src/modals/modal/modal.d.ts +2 -1
- package/dist/src/shared/api/storefront/hooks/website/use-update-locale.d.ts +5 -0
- package/dist/src/shared/api/storefront/services/website-service.d.ts +2 -1
- package/dist/styles.css +45 -6
- package/package.json +86 -86
- package/dist/src/shared/api/storefront/hooks/website/use-update-language-by-id.d.ts +0 -2
package/dist/index.js
CHANGED
|
@@ -1523,8 +1523,10 @@ function SpinnerState({ isDisabled, onChange, onManualInput, quantity, }) {
|
|
|
1523
1523
|
function ManualInputState({ isDisabled, onCancel, onConfirm, quantity, }) {
|
|
1524
1524
|
const [updatedQuantity, setQuantity] = useState(quantity);
|
|
1525
1525
|
const onKeyUp = (e) => {
|
|
1526
|
-
e.key === 'Enter'
|
|
1527
|
-
|
|
1526
|
+
if (e.key === 'Enter')
|
|
1527
|
+
onConfirm(ensureNumber(updatedQuantity));
|
|
1528
|
+
if (e.key === 'Escape')
|
|
1529
|
+
onCancel();
|
|
1528
1530
|
};
|
|
1529
1531
|
return (jsxs("div", { className: styles$11['manual-input-container'], children: [jsx("div", { className: styles$11['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
|
|
1530
1532
|
maximumFractionDigits: 0,
|
|
@@ -7729,10 +7731,10 @@ function Select({ isDisabled = false, label, onChange, options, placeholder, sel
|
|
|
7729
7731
|
|
|
7730
7732
|
var styles$Q = {"modal-overlay":"modal-module-rVFJc","modal-fade":"modal-module-63Uyl","is-full-screen":"modal-module-uwets","modal":"modal-module-6vlFt","content":"modal-module-FJxzx","modal-slide":"modal-module-jkAe7","modal-delayed-fade":"modal-module-WOZ01","close":"modal-module-7zIZE","modal-zoom":"modal-module-aPJ7X"};
|
|
7731
7733
|
|
|
7732
|
-
function Modal({ children, className, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, }) {
|
|
7733
|
-
return (jsx(ModalOverlay, { className: clsx(styles$Q['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children:
|
|
7734
|
+
function Modal({ children, className, hasCloseButton, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, shouldCloseOnInteractOutside = true, }) {
|
|
7735
|
+
return (jsx(ModalOverlay, { className: clsx(styles$Q['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, shouldCloseOnInteractOutside: () => shouldCloseOnInteractOutside, children: jsxs(Modal$1, { className: clsx(styles$Q.modal, {
|
|
7734
7736
|
[styles$Q['is-full-screen']]: isFullScreen,
|
|
7735
|
-
}), children: jsx("div", { className: styles$Q.content, children: children }) }) }));
|
|
7737
|
+
}), children: [hasCloseButton && (jsx("div", { className: styles$Q.close, children: jsx(IconButton, { color: "secondary", isDisabled: !isDismissable, onClick: () => onOpenChange(false), children: jsx(StrokeCloseboxIcon, {}) }) })), jsx("div", { className: styles$Q.content, children: children })] }) }));
|
|
7736
7738
|
}
|
|
7737
7739
|
|
|
7738
7740
|
var styles$P = {"heading":"heading-module-pMC65","uppercase":"heading-module-6spgX","italic":"heading-module-XXMDM","bold":"heading-module-xvrxo","xxl":"heading-module-Kn3ZN","xl":"heading-module--hZs-","l":"heading-module-WrJRY","m":"heading-module-hTexc","s":"heading-module-7W29m","xs":"heading-module-SgaLB","xxs":"heading-module-33en7"};
|
|
@@ -7761,8 +7763,8 @@ var styles$O = {"dialog":"dialog-module-qKzgy","header":"dialog-module-ZnsAe","c
|
|
|
7761
7763
|
function Footer({ close }) {
|
|
7762
7764
|
return (jsxs(Fragment, { children: [jsx(Button, { withArrow: true, color: "primary", size: "md", type: "submit", children: "Submit" }), jsx(Button, { color: "secondary", onClick: close, size: "md", variant: "outline", children: "Close" })] }));
|
|
7763
7765
|
}
|
|
7764
|
-
function Dialog({ allowClose = true, children, className, dialogClassName, footer = Footer, hasCloseButton = true, hideTitle, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, title, validationErrors, }) {
|
|
7765
|
-
return (jsx(Modal, { className: clsx(styles$O['modal-overlay'], className), isDismissable: isDismissable, isFullScreen: isFullScreen, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Dialog$1, { "aria-label": title, className: clsx(styles$O.dialog, dialogClassName), children: ({ close }) => (jsxs(Form, { className: styles$O.form, onSubmit: onSubmit || (e => e.preventDefault), validationErrors: validationErrors, children: [jsxs("header", { className: styles$O.header, children: [!hideTitle && (jsx(Heading, { className: styles$O.heading, size: "xs", children: title })), hasCloseButton && (jsx("div", { className: styles$O.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onClick: close, children: jsx(StrokeCloseboxIcon, {}) }) }))] }), jsx("div", { className: styles$O.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$O.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
|
|
7766
|
+
function Dialog({ allowClose = true, children, className, dialogClassName, footer = Footer, hasCloseButton = true, hideTitle, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, shouldCloseOnInteractOutside, title, validationErrors, }) {
|
|
7767
|
+
return (jsx(Modal, { className: clsx(styles$O['modal-overlay'], className), hasCloseButton: false, isDismissable: isDismissable, isFullScreen: isFullScreen, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, shouldCloseOnInteractOutside: shouldCloseOnInteractOutside, children: jsx(Dialog$1, { "aria-label": title, className: clsx(styles$O.dialog, dialogClassName), children: ({ close }) => (jsxs(Form, { className: styles$O.form, onSubmit: onSubmit || (e => e.preventDefault), validationErrors: validationErrors, children: [jsxs("header", { className: styles$O.header, children: [!hideTitle && (jsx(Heading, { className: styles$O.heading, size: "xs", children: title })), hasCloseButton && (jsx("div", { className: styles$O.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onClick: close, children: jsx(StrokeCloseboxIcon, {}) }) }))] }), jsx("div", { className: styles$O.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$O.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
|
|
7766
7768
|
}
|
|
7767
7769
|
|
|
7768
7770
|
var styles$N = {"country-selector-dialog":"country-selector-dialog-module-mMJS0","content":"country-selector-dialog-module-z-ZqY","logo":"country-selector-dialog-module-7VjsF","intro":"country-selector-dialog-module-IdVDt","selects":"country-selector-dialog-module-Nvikf"};
|
|
@@ -7815,19 +7817,18 @@ async function fetchCountriesLanguages() {
|
|
|
7815
7817
|
languages: body.languages?.languages || [],
|
|
7816
7818
|
};
|
|
7817
7819
|
}
|
|
7818
|
-
async function
|
|
7820
|
+
async function updateLocale({ countryId, languageId, }) {
|
|
7819
7821
|
const { body } = await request({
|
|
7820
7822
|
body: JSON.stringify({
|
|
7821
|
-
|
|
7822
|
-
|
|
7823
|
-
},
|
|
7823
|
+
countryId,
|
|
7824
|
+
languageId,
|
|
7824
7825
|
}),
|
|
7825
7826
|
credentials: 'include',
|
|
7826
7827
|
headers: {
|
|
7827
7828
|
'Content-Type': 'application/json',
|
|
7828
7829
|
},
|
|
7829
|
-
method: '
|
|
7830
|
-
url: `${config.SHOP_API_URL}/api/v1/
|
|
7830
|
+
method: 'POST',
|
|
7831
|
+
url: `${config.SHOP_API_URL}/api/v1/locale`,
|
|
7831
7832
|
});
|
|
7832
7833
|
return body;
|
|
7833
7834
|
}
|
|
@@ -7869,18 +7870,6 @@ function useFetchCountriesLanguages({ enabled = true, } = { enabled: true }) {
|
|
|
7869
7870
|
});
|
|
7870
7871
|
}
|
|
7871
7872
|
|
|
7872
|
-
function useUpdateLanguageById() {
|
|
7873
|
-
const queryClient = useQueryClient();
|
|
7874
|
-
return useMutation({
|
|
7875
|
-
mutationFn: async (languageId) => {
|
|
7876
|
-
const session = await updateLanguageById({ languageId });
|
|
7877
|
-
// Update the session query cache
|
|
7878
|
-
queryClient.setQueryData(['session'], session);
|
|
7879
|
-
return session;
|
|
7880
|
-
},
|
|
7881
|
-
});
|
|
7882
|
-
}
|
|
7883
|
-
|
|
7884
7873
|
function useCookie(name, options) {
|
|
7885
7874
|
const cookieValue = Cookies.get()[name];
|
|
7886
7875
|
const [stateValue, setStateValue] = useState(cookieValue);
|
|
@@ -7924,13 +7913,12 @@ const cookieOptions = {
|
|
|
7924
7913
|
};
|
|
7925
7914
|
function useCountriesLanguages({ defaultCountryCode, defaultLanguageCode, }) {
|
|
7926
7915
|
const [sessionCountries, setSessionCountries] = useSessionStorage('countries-v1');
|
|
7927
|
-
const [currentCountryId
|
|
7928
|
-
const [currentLanguageId
|
|
7929
|
-
const [contextLanguageCode
|
|
7916
|
+
const [currentCountryId] = useCookie('CurrentCountryId', cookieOptions);
|
|
7917
|
+
const [currentLanguageId] = useCookie('CurrentLanguageId', cookieOptions);
|
|
7918
|
+
const [contextLanguageCode] = useCookie('SetContextLanguageCode', cookieOptions);
|
|
7930
7919
|
const { data: apiCountries, error, isFetching, } = useFetchCountriesLanguages({
|
|
7931
7920
|
enabled: !sessionCountries,
|
|
7932
7921
|
});
|
|
7933
|
-
const { mutate: updateLanguageById } = useUpdateLanguageById();
|
|
7934
7922
|
const countries = sessionCountries ?? apiCountries;
|
|
7935
7923
|
useEffect(() => {
|
|
7936
7924
|
if (sessionCountries)
|
|
@@ -7938,11 +7926,8 @@ function useCountriesLanguages({ defaultCountryCode, defaultLanguageCode, }) {
|
|
|
7938
7926
|
setSessionCountries(apiCountries);
|
|
7939
7927
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
7940
7928
|
}, [apiCountries]);
|
|
7941
|
-
function updateCountryLanguage({ country, language, }) {
|
|
7942
|
-
|
|
7943
|
-
setCurrentLanguageId(language.id);
|
|
7944
|
-
setContextLanguageCode(language.languageCode);
|
|
7945
|
-
updateLanguageById(language.id);
|
|
7929
|
+
async function updateCountryLanguage({ country, language, }) {
|
|
7930
|
+
await updateLocale({ countryId: country.id, languageId: language.id });
|
|
7946
7931
|
}
|
|
7947
7932
|
if (error)
|
|
7948
7933
|
throw error;
|
|
@@ -7994,8 +7979,8 @@ function CountrySelector({ defaultCountryCode, defaultLanguageCode, onChange, sh
|
|
|
7994
7979
|
}, [selectedCountry, selectedLanguage]);
|
|
7995
7980
|
if (isFetching)
|
|
7996
7981
|
return null;
|
|
7997
|
-
return (jsxs(Fragment, { children: [jsx(CountrySelectorTrigger, { onClick: open, selectedCountry: selectedCountry, selectedLanguage: selectedLanguage, showCountry: showCountry }), jsx(CountrySelectorDialog, { countries: countries, isOpen: isOpen, onSubmit: args => {
|
|
7998
|
-
updateCountryLanguage(args);
|
|
7982
|
+
return (jsxs(Fragment, { children: [jsx(CountrySelectorTrigger, { onClick: open, selectedCountry: selectedCountry, selectedLanguage: selectedLanguage, showCountry: showCountry }), jsx(CountrySelectorDialog, { countries: countries, isOpen: isOpen, onSubmit: async (args) => {
|
|
7983
|
+
await updateCountryLanguage(args);
|
|
7999
7984
|
close();
|
|
8000
7985
|
onChange?.(args);
|
|
8001
7986
|
}, selectedCountry: selectedCountry || defaultCountry, selectedLanguage: selectedLanguage || defaultLanguage, showCountry: showCountry })] }));
|
|
@@ -8690,7 +8675,7 @@ function ImagesGrid({ images, onSelectImage }) {
|
|
|
8690
8675
|
}), onClick: () => onSelectImage?.(image, index), onKeyDown: event => handleKeydown(event, image), role: "button", tabIndex: 0, children: jsx(Image, { className: styles$r.image, fit: "contain", image: image, title: image.altText }) }, index))) }));
|
|
8691
8676
|
}
|
|
8692
8677
|
|
|
8693
|
-
var styles$q = {"image-lightbox":"image-lightbox-module-9k3oJ","slide":"image-lightbox-module-K5Gd0","active-image":"image-lightbox-module-UNPOi","thumb":"image-lightbox-module-PUOMT","image":"image-lightbox-module-4RKLg","main-swiper":"image-lightbox-module-hAy3O","pagination":"image-lightbox-module-nN1Kr","sm":"image-lightbox-module-1idAN","thumbs-swiper":"image-lightbox-module-Xbxcn","lg":"image-lightbox-module--V8Xo","navigation-button":"image-lightbox-module-RP7KS","navigation-button-prev":"image-lightbox-module-wOPYF","navigation-button-next":"image-lightbox-module-knizp"};
|
|
8678
|
+
var styles$q = {"image-lightbox":"image-lightbox-module-9k3oJ","slide":"image-lightbox-module-K5Gd0","active-image":"image-lightbox-module-UNPOi","thumb":"image-lightbox-module-PUOMT","image":"image-lightbox-module-4RKLg","main-swiper":"image-lightbox-module-hAy3O","pagination":"image-lightbox-module-nN1Kr","sm":"image-lightbox-module-1idAN","thumbs-swiper":"image-lightbox-module-Xbxcn","lg":"image-lightbox-module--V8Xo","navigation-button":"image-lightbox-module-RP7KS","navigation-button-prev":"image-lightbox-module-wOPYF","navigation-button-next":"image-lightbox-module-knizp","zoomed-overlay":"image-lightbox-module-UVzAg","zoomed-container":"image-lightbox-module-sBtWE","zoomed-image":"image-lightbox-module-aehw-"};
|
|
8694
8679
|
|
|
8695
8680
|
function ImageLightbox({ images, initialSelectedIndex = 0, variant = 'sm', }) {
|
|
8696
8681
|
const [thumbsSwiper, setThumbsSwiper] = useState();
|
|
@@ -8698,10 +8683,19 @@ function ImageLightbox({ images, initialSelectedIndex = 0, variant = 'sm', }) {
|
|
|
8698
8683
|
const nextEl = useRef(null);
|
|
8699
8684
|
const prevEl = useRef(null);
|
|
8700
8685
|
const mainSwiperRef = useRef(null);
|
|
8686
|
+
const [isZoomed, setIsZoomed] = useState(false);
|
|
8687
|
+
function handleZoom() {
|
|
8688
|
+
setIsZoomed(!isZoomed);
|
|
8689
|
+
}
|
|
8701
8690
|
return (jsxs("div", { className: clsx(styles$q['image-lightbox'], styles$q[variant]), children: [jsx(Swiper, { watchSlidesProgress: true, className: styles$q['thumbs-swiper'], direction: variant === 'sm' ? 'horizontal' : 'vertical', modules: [Thumb], onSwiper: swiper => setThumbsSwiper(swiper), slidesPerView: "auto", spaceBetween: 8, children: images.map((image, index) => (jsx(SwiperSlide, { className: styles$q.slide, children: jsx("div", { className: styles$q.thumb, children: jsx(Image, { className: styles$q.image, fit: "contain", height: 80, image: image, title: "Image", width: 80 }) }) }, index))) }), jsxs("div", { className: styles$q['main-swiper'], children: [jsx(Swiper, { initialSlide: initialSelectedIndex, modules: [Thumb, Navigation], navigation: {
|
|
8702
8691
|
nextEl: nextEl.current,
|
|
8703
8692
|
prevEl: prevEl.current,
|
|
8704
|
-
}, onActiveIndexChange: swiper => setCurrentIndex(swiper.activeIndex), onBeforeInit: swiper => (mainSwiperRef.current = swiper), slidesPerView: 1, thumbs: { swiper: thumbsSwiper }, children: images.map((image, index) => (jsx(SwiperSlide, { className: styles$q.slide, children: jsx("
|
|
8693
|
+
}, onActiveIndexChange: swiper => setCurrentIndex(swiper.activeIndex), onBeforeInit: swiper => (mainSwiperRef.current = swiper), slidesPerView: 1, thumbs: { swiper: thumbsSwiper }, children: images.map((image, index) => (jsx(SwiperSlide, { className: styles$q.slide, children: jsx("button", { className: styles$q['active-image'], onClick: handleZoom, type: "button", children: jsx(Image, { className: styles$q.image, fit: "contain", image: image, title: "Image" }) }) }, index))) }), jsx("div", { className: styles$q.pagination, children: jsx(Pagination$1, { contained: true, currentPage: currentIndex + 1, numberOfPages: images.length, onChange: pageNumber => mainSwiperRef.current?.slideTo(pageNumber - 1) }) }), variant === 'lg' && (jsxs(Fragment, { children: [jsx(CarouselNavigationButton, { ref: prevEl, className: clsx(styles$q['navigation-button'], styles$q['navigation-button-prev']), direction: "previous" }), jsx(CarouselNavigationButton, { ref: nextEl, className: clsx(styles$q['navigation-button'], styles$q['navigation-button-next']), direction: "next" })] }))] }), jsx(ZoomImage, { currentImage: images[currentIndex], isZoomed: isZoomed, onClose: handleZoom })] }));
|
|
8694
|
+
}
|
|
8695
|
+
function ZoomImage({ currentImage, isZoomed, onClose, }) {
|
|
8696
|
+
if (!isZoomed || !currentImage)
|
|
8697
|
+
return null;
|
|
8698
|
+
return (jsx(Modal, { className: styles$q['zoomed-overlay'], hasCloseButton: true, isDismissable: true, isFullScreen: true, isKeyboardDismissDisabled: false, isOpen: isZoomed, onOpenChange: () => onClose(), children: jsx("div", { className: styles$q['zoomed-container'], onClick: onClose, children: jsx(Image, { className: styles$q['zoomed-image'], image: currentImage, title: currentImage.altText }) }) }));
|
|
8705
8699
|
}
|
|
8706
8700
|
|
|
8707
8701
|
var styles$p = {"image-lightbox-modal":"product-detail-images-module-N3Ms-"};
|
|
@@ -8721,7 +8715,7 @@ function ProductDetailImages({ images }) {
|
|
|
8721
8715
|
if (!isXl) {
|
|
8722
8716
|
return jsx(ImageLightbox, { images: images });
|
|
8723
8717
|
}
|
|
8724
|
-
return (jsxs(Fragment, { children: [jsx(ImagesGrid, { images: images, onSelectImage: (image, _index) => handleOpenImage(image) }), jsx(
|
|
8718
|
+
return (jsxs(Fragment, { children: [jsx(ImagesGrid, { images: images, onSelectImage: (image, _index) => handleOpenImage(image) }), jsx(Modal, { hasCloseButton: true, isDismissable: true, isFullScreen: true, isKeyboardDismissDisabled: false, isOpen: isOpen, onOpenChange: toggle, shouldCloseOnInteractOutside: false, children: jsx("div", { className: styles$p['image-lightbox-modal'], children: jsx(ImageLightbox, { images: images, initialSelectedIndex: selectedImageIndex, variant: "lg" }) }) })] }));
|
|
8725
8719
|
}
|
|
8726
8720
|
|
|
8727
8721
|
function GlyphsChevronsBoldDownIcon(props) {
|
|
@@ -10326,11 +10320,11 @@ function CategoriesGrid({ categories, onItemClick, }) {
|
|
|
10326
10320
|
|
|
10327
10321
|
var styles$4 = {"search-section":"search-section-module-qaTiw","header":"search-section-module-E--U2","title":"search-section-module-AHlDR"};
|
|
10328
10322
|
|
|
10329
|
-
function SearchSection({ button, children, className, title, }) {
|
|
10330
|
-
return (jsxs("div", { className: clsx(styles$4['search-section'], className), children: [jsxs("div", { className: styles$4.header, children: [title && jsx("h2", { className: styles$4.title, children: title }), button && button] }), children] }));
|
|
10323
|
+
function SearchSection({ button, children, className, headerClassName, title, }) {
|
|
10324
|
+
return (jsxs("div", { className: clsx(styles$4['search-section'], className), children: [jsxs("div", { className: clsx(styles$4.header, headerClassName), children: [title && jsx("h2", { className: styles$4.title, children: title }), button && button] }), children] }));
|
|
10331
10325
|
}
|
|
10332
10326
|
|
|
10333
|
-
var styles$3 = {"section-container":"search-content-module-ZMwlB","content":"search-content-module-KIok6","left":"search-content-module-YRLIf","right":"search-content-module-qK5sg","button-container":"search-content-module-w-ORq","show-all-button":"search-content-module-bO1Q0","product-results":"search-content-module-bcFCH","no-results-text":"search-content-module-H-FX2","query":"search-content-module-LbQnK","suggestions":"search-content-module-mhiBZ","list":"search-content-module-coPAt"};
|
|
10327
|
+
var styles$3 = {"section-container":"search-content-module-ZMwlB","content":"search-content-module-KIok6","left":"search-content-module-YRLIf","right":"search-content-module-qK5sg","button-container":"search-content-module-w-ORq","show-all-button":"search-content-module-bO1Q0","product-results":"search-content-module-bcFCH","quick-access-section-header":"search-content-module-HrHCE","product-results-section-header":"search-content-module-9bgxF","no-results-text":"search-content-module-H-FX2","query":"search-content-module-LbQnK","suggestions":"search-content-module-mhiBZ","list":"search-content-module-coPAt"};
|
|
10334
10328
|
|
|
10335
10329
|
function SectionContainer({ buttons, leftContent, rightContent, }) {
|
|
10336
10330
|
return (jsx("div", { className: styles$3['section-container'], children: jsxs("div", { className: styles$3['content'], children: [jsx("div", { className: styles$3['left'], children: leftContent }), jsxs("div", { className: styles$3['right'], children: [rightContent, jsx("div", { className: styles$3['button-container'], children: buttons })] })] }) }));
|
|
@@ -10410,7 +10404,7 @@ function QuickAccessSection() {
|
|
|
10410
10404
|
if (!collection)
|
|
10411
10405
|
return;
|
|
10412
10406
|
const { items } = collection;
|
|
10413
|
-
return (jsx(SearchSection, { title: t('Quick access'), children: jsx("div", { className: styles$3['product-results'], children: jsx(CardCarousel, { cards: items.map((item, index) => (jsx(PromoCard, { href: item.action.url, image: item.image, onClick: close }, `${index}-${item.action.url}`))), cardsPerView: "auto", cardWidth: "narrow" }) }) }));
|
|
10407
|
+
return (jsx(SearchSection, { headerClassName: styles$3['quick-access-section-header'], title: t('Quick access'), children: jsx("div", { className: styles$3['product-results'], children: jsx(CardCarousel, { cards: items.map((item, index) => (jsx(PromoCard, { href: item.action.url, image: item.image, onClick: close }, `${index}-${item.action.url}`))), cardsPerView: "auto", cardWidth: "narrow" }) }) }));
|
|
10414
10408
|
}
|
|
10415
10409
|
|
|
10416
10410
|
function StrokeRecentIcon(props) {
|
|
@@ -10425,7 +10419,7 @@ function WithResults() {
|
|
|
10425
10419
|
function SuggestionsSection() {
|
|
10426
10420
|
const { autocomplete, categories, querySuggestions, recentSearches } = useAlgoliaSearch();
|
|
10427
10421
|
const t = useFormattedMessage();
|
|
10428
|
-
return (jsxs(SearchSection, {
|
|
10422
|
+
return (jsxs(SearchSection, { title: t('Suggestions'), children: [recentSearches && (jsx(SearchList, { ...autocomplete.getListProps({
|
|
10429
10423
|
source: recentSearches.source,
|
|
10430
10424
|
}), children: recentSearches.items.slice(0, 3).map(item => (jsx(SearchListItem, { ...autocomplete.getItemProps({
|
|
10431
10425
|
item,
|
|
@@ -10463,14 +10457,14 @@ function ProductHitCard({ autocomplete, hit, index, source, }) {
|
|
|
10463
10457
|
queryId: hit.queryId,
|
|
10464
10458
|
}), onClick: () => {
|
|
10465
10459
|
close();
|
|
10466
|
-
hit.queryId
|
|
10460
|
+
if (hit.queryId)
|
|
10467
10461
|
sendProductClickFromSearchEvent({
|
|
10468
10462
|
objectId: hit.objectId,
|
|
10469
10463
|
position: hit.position || index + 1,
|
|
10470
10464
|
queryId: hit.queryId,
|
|
10471
10465
|
});
|
|
10472
10466
|
}, onFavoriting: () => {
|
|
10473
|
-
hit.queryId
|
|
10467
|
+
if (hit.queryId)
|
|
10474
10468
|
sendAddToWishListFromSearchEvent({
|
|
10475
10469
|
objectId: hit.objectId,
|
|
10476
10470
|
position: hit.position || index + 1,
|
|
@@ -10488,7 +10482,7 @@ function ProductResultsSection() {
|
|
|
10488
10482
|
if (!collection)
|
|
10489
10483
|
return null;
|
|
10490
10484
|
const { items, source } = collection;
|
|
10491
|
-
return (jsx(SearchSection, { className: styles$3['product-results-section'], title: t('Products'), children: jsx("div", { className: styles$3['product-results'], ...autocomplete.getListProps({ source }), children: jsx(CardCarousel, { cards: items.map((hit, index) => isProductHit(hit) ? (jsx(ProductHitCard, { autocomplete: autocomplete, hit: hit, index: index, source: source }, hit.id)) : (jsx(PromoCard, { href: hit.href, image: hit.image }, hit.id))), cardsPerView: "auto", cardWidth: "narrow" }) }) }));
|
|
10485
|
+
return (jsx(SearchSection, { className: styles$3['product-results-section'], headerClassName: styles$3['product-results-section-header'], title: t('Products'), children: jsx("div", { className: styles$3['product-results'], ...autocomplete.getListProps({ source }), children: jsx(CardCarousel, { cards: items.map((hit, index) => isProductHit(hit) ? (jsx(ProductHitCard, { autocomplete: autocomplete, hit: hit, index: index, source: source }, hit.id)) : (jsx(PromoCard, { href: hit.href, image: hit.image }, hit.id))), cardsPerView: "auto", cardWidth: "narrow" }) }) }));
|
|
10492
10486
|
}
|
|
10493
10487
|
|
|
10494
10488
|
function PanelContent() {
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
2
|
import { AddToCartButton } from './add-to-cart-button';
|
|
3
|
-
declare const meta:
|
|
4
|
-
argTypes: {
|
|
5
|
-
isDisabled: {
|
|
6
|
-
control: "boolean";
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
args: {
|
|
10
|
-
isDisabled: false;
|
|
11
|
-
onChange: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
12
|
-
quantity: number;
|
|
13
|
-
};
|
|
14
|
-
component: typeof AddToCartButton;
|
|
15
|
-
tags: string[];
|
|
16
|
-
title: string;
|
|
17
|
-
};
|
|
3
|
+
declare const meta: Meta<typeof AddToCartButton>;
|
|
18
4
|
export default meta;
|
|
19
5
|
type Story = StoryObj<typeof meta>;
|
|
20
6
|
export declare const InitialState: Story;
|
|
@@ -1,17 +1,6 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
2
|
import { Button } from './button';
|
|
3
|
-
declare const meta:
|
|
4
|
-
args: {
|
|
5
|
-
onClick: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
6
|
-
size: "lg";
|
|
7
|
-
};
|
|
8
|
-
component: typeof Button;
|
|
9
|
-
parameters: {
|
|
10
|
-
layout: string;
|
|
11
|
-
};
|
|
12
|
-
tags: string[];
|
|
13
|
-
title: string;
|
|
14
|
-
};
|
|
3
|
+
declare const meta: Meta<typeof Button>;
|
|
15
4
|
export default meta;
|
|
16
5
|
type Story = StoryObj<typeof meta>;
|
|
17
6
|
export declare const Solid: Story;
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
import { StoryObj } from '@storybook/react';
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
2
|
import { FavoriteButton } from './favorite-button';
|
|
3
|
-
declare const meta:
|
|
4
|
-
args: {
|
|
5
|
-
onPress: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
6
|
-
};
|
|
7
|
-
component: typeof FavoriteButton;
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: string;
|
|
10
|
-
};
|
|
11
|
-
tags: string[];
|
|
12
|
-
title: string;
|
|
13
|
-
};
|
|
3
|
+
declare const meta: Meta<typeof FavoriteButton>;
|
|
14
4
|
export default meta;
|
|
15
5
|
type Story = StoryObj<typeof meta>;
|
|
16
6
|
export declare const InFavorites: Story;
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
2
|
import { IconButton } from './icon-button';
|
|
3
|
-
declare const meta:
|
|
4
|
-
args: {
|
|
5
|
-
onClick: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
6
|
-
};
|
|
7
|
-
component: typeof IconButton;
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: string;
|
|
10
|
-
};
|
|
11
|
-
tags: string[];
|
|
12
|
-
title: string;
|
|
13
|
-
};
|
|
3
|
+
declare const meta: Meta<typeof IconButton>;
|
|
14
4
|
export default meta;
|
|
15
5
|
type Story = StoryObj<typeof meta>;
|
|
16
6
|
export declare const Primary: Story;
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
2
|
import { Link } from './link';
|
|
3
|
-
declare const meta:
|
|
4
|
-
args: {
|
|
5
|
-
onClick: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
6
|
-
};
|
|
7
|
-
component: typeof Link;
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: string;
|
|
10
|
-
};
|
|
11
|
-
tags: string[];
|
|
12
|
-
title: string;
|
|
13
|
-
};
|
|
3
|
+
declare const meta: Meta<typeof Link>;
|
|
14
4
|
export default meta;
|
|
15
5
|
type Story = StoryObj<typeof meta>;
|
|
16
6
|
export declare const Default: Story;
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import {
|
|
3
|
-
declare const meta:
|
|
4
|
-
args: {
|
|
5
|
-
onToggle: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
6
|
-
};
|
|
7
|
-
component: typeof ShowAll;
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: string;
|
|
10
|
-
};
|
|
11
|
-
tags: string[];
|
|
12
|
-
title: string;
|
|
13
|
-
};
|
|
2
|
+
import { ShowAllPropsControlled, ShowAllPropsUncontrolled } from './show-all';
|
|
3
|
+
declare const meta: Meta<ShowAllPropsControlled>;
|
|
14
4
|
export default meta;
|
|
15
5
|
type Story = StoryObj<Meta<ShowAllPropsControlled>>;
|
|
16
6
|
export declare const Text: Story;
|
|
@@ -13,7 +13,7 @@ interface UseCountriesLanguagesReturnTypeFetching {
|
|
|
13
13
|
updateCountryLanguage(args: {
|
|
14
14
|
country: Country;
|
|
15
15
|
language: Language;
|
|
16
|
-
}): void
|
|
16
|
+
}): Promise<void>;
|
|
17
17
|
}
|
|
18
18
|
interface UseCountriesLanguagesReturnTypeSelected {
|
|
19
19
|
countries: CountriesLanguages;
|
|
@@ -25,7 +25,7 @@ interface UseCountriesLanguagesReturnTypeSelected {
|
|
|
25
25
|
updateCountryLanguage(args: {
|
|
26
26
|
country: Country;
|
|
27
27
|
language: Language;
|
|
28
|
-
}): void
|
|
28
|
+
}): Promise<void>;
|
|
29
29
|
}
|
|
30
30
|
interface UseCountriesLanguagesReturnType {
|
|
31
31
|
countries: CountriesLanguages;
|
|
@@ -37,7 +37,7 @@ interface UseCountriesLanguagesReturnType {
|
|
|
37
37
|
updateCountryLanguage(args: {
|
|
38
38
|
country: Country;
|
|
39
39
|
language: Language;
|
|
40
|
-
}): void
|
|
40
|
+
}): Promise<void>;
|
|
41
41
|
}
|
|
42
42
|
export declare function useCountriesLanguages({ defaultCountryCode, defaultLanguageCode, }: UseCountriesLanguagesArgs): UseCountriesLanguagesReturnType | UseCountriesLanguagesReturnTypeFetching | UseCountriesLanguagesReturnTypeSelected;
|
|
43
43
|
export {};
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
onClearAllFilters: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
5
|
-
onClearFilter: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
6
|
-
};
|
|
7
|
-
component: ({ onClearAllFilters, onClearFilter, selectedFilterCategories, }: import("./active-filters").ActiveFiltersProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: string;
|
|
10
|
-
};
|
|
11
|
-
tags: string[];
|
|
12
|
-
title: string;
|
|
13
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { ActiveFilters } from './active-filters';
|
|
3
|
+
declare const meta: Meta<typeof ActiveFilters>;
|
|
14
4
|
export default meta;
|
|
15
5
|
type Story = StoryObj<typeof meta>;
|
|
16
6
|
export declare const Default: Story;
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
2
|
import { FilterOption, MultiSelect, MultiSelectProps } from './multi-select';
|
|
3
3
|
type ColorFilterOption = FilterOption & {
|
|
4
4
|
color: string;
|
|
5
5
|
};
|
|
6
|
-
declare const meta:
|
|
7
|
-
args: {
|
|
8
|
-
onChange: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
9
|
-
};
|
|
10
|
-
component: typeof MultiSelect;
|
|
11
|
-
parameters: {
|
|
12
|
-
layout: string;
|
|
13
|
-
};
|
|
14
|
-
tags: string[];
|
|
15
|
-
title: string;
|
|
16
|
-
};
|
|
6
|
+
declare const meta: Meta<typeof MultiSelect>;
|
|
17
7
|
export default meta;
|
|
18
8
|
type Story = StoryObj<typeof meta>;
|
|
19
9
|
export declare const WithCheckboxes: Story;
|
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
2
|
import { Pagination } from './pagination';
|
|
3
|
-
declare const meta:
|
|
4
|
-
args: {
|
|
5
|
-
currentPage: number;
|
|
6
|
-
onChange: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
7
|
-
totalPages: number;
|
|
8
|
-
};
|
|
9
|
-
component: typeof Pagination;
|
|
10
|
-
parameters: {
|
|
11
|
-
layout: string;
|
|
12
|
-
};
|
|
13
|
-
tags: string[];
|
|
14
|
-
title: string;
|
|
15
|
-
};
|
|
3
|
+
declare const meta: Meta<typeof Pagination>;
|
|
16
4
|
export default meta;
|
|
17
5
|
type Story = StoryObj<typeof Pagination>;
|
|
18
6
|
export declare const Default: Story;
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
2
|
import { Checkbox } from './checkbox';
|
|
3
|
-
declare const meta:
|
|
4
|
-
args: {
|
|
5
|
-
onChange: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
6
|
-
};
|
|
7
|
-
component: typeof Checkbox;
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: string;
|
|
10
|
-
};
|
|
11
|
-
tags: string[];
|
|
12
|
-
title: string;
|
|
13
|
-
};
|
|
3
|
+
declare const meta: Meta<typeof Checkbox>;
|
|
14
4
|
export default meta;
|
|
15
5
|
type Story = StoryObj<typeof Checkbox>;
|
|
16
6
|
export declare const Unchecked: Story;
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
2
|
import { ColorCheckbox } from './color-checkbox';
|
|
3
|
-
declare const meta:
|
|
4
|
-
args: {
|
|
5
|
-
onChange: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
6
|
-
};
|
|
7
|
-
component: typeof ColorCheckbox;
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: string;
|
|
10
|
-
};
|
|
11
|
-
tags: string[];
|
|
12
|
-
title: string;
|
|
13
|
-
};
|
|
3
|
+
declare const meta: Meta<typeof ColorCheckbox>;
|
|
14
4
|
export default meta;
|
|
15
5
|
type Story = StoryObj<typeof ColorCheckbox>;
|
|
16
6
|
export declare const Checked: Story;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
2
|
import { Select } from './select';
|
|
3
3
|
declare const options: {
|
|
4
4
|
readonly new: "New";
|
|
@@ -7,17 +7,7 @@ declare const options: {
|
|
|
7
7
|
readonly price_desc: "Price: High - Low";
|
|
8
8
|
readonly recommended: "Recommended";
|
|
9
9
|
};
|
|
10
|
-
declare const meta:
|
|
11
|
-
args: {
|
|
12
|
-
onChange: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
13
|
-
};
|
|
14
|
-
component: typeof Select;
|
|
15
|
-
parameters: {
|
|
16
|
-
layout: string;
|
|
17
|
-
};
|
|
18
|
-
tags: string[];
|
|
19
|
-
title: string;
|
|
20
|
-
};
|
|
10
|
+
declare const meta: Meta<typeof Select>;
|
|
21
11
|
export default meta;
|
|
22
12
|
type Story = StoryObj<typeof Select>;
|
|
23
13
|
export declare const WithLabel: Story;
|
|
@@ -3,7 +3,8 @@ interface SearchSectionProps {
|
|
|
3
3
|
button?: ReactElement;
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
className?: string;
|
|
6
|
+
headerClassName?: string;
|
|
6
7
|
title?: string;
|
|
7
8
|
}
|
|
8
|
-
export declare function SearchSection({ button, children, className, title, }: SearchSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function SearchSection({ button, children, className, headerClassName, title, }: SearchSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
9
10
|
export {};
|
|
@@ -15,5 +15,5 @@ interface DialogProps extends Omit<ModalProps, 'children'> {
|
|
|
15
15
|
title: string;
|
|
16
16
|
validationErrors?: ComponentProps<typeof AriaForm>['validationErrors'];
|
|
17
17
|
}
|
|
18
|
-
export declare function Dialog({ allowClose, children, className, dialogClassName, footer, hasCloseButton, hideTitle, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, title, validationErrors, }: DialogProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function Dialog({ allowClose, children, className, dialogClassName, footer, hasCloseButton, hideTitle, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, shouldCloseOnInteractOutside, title, validationErrors, }: DialogProps): import("react/jsx-runtime").JSX.Element;
|
|
19
19
|
export {};
|
|
@@ -8,5 +8,6 @@ export interface ModalProps {
|
|
|
8
8
|
isKeyboardDismissDisabled?: boolean;
|
|
9
9
|
isOpen: boolean;
|
|
10
10
|
onOpenChange: (isOpen: boolean) => void;
|
|
11
|
+
shouldCloseOnInteractOutside?: boolean;
|
|
11
12
|
}
|
|
12
|
-
export declare function Modal({ children, className, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, }: ModalProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function Modal({ children, className, hasCloseButton, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, shouldCloseOnInteractOutside, }: ModalProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -4,6 +4,7 @@ export declare function fetchCountriesLanguages(): Promise<{
|
|
|
4
4
|
countries: CountryModel[];
|
|
5
5
|
languages: LanguageModel[];
|
|
6
6
|
}>;
|
|
7
|
-
export declare function
|
|
7
|
+
export declare function updateLocale({ countryId, languageId, }: {
|
|
8
|
+
countryId: string;
|
|
8
9
|
languageId: string;
|
|
9
10
|
}): Promise<SessionModel>;
|
package/dist/styles.css
CHANGED
|
@@ -220,6 +220,7 @@
|
|
|
220
220
|
--sidebar-layer: 100;
|
|
221
221
|
--search-layer: 200;
|
|
222
222
|
--modal-layer: 300;
|
|
223
|
+
--zoom-image-layer: 400;
|
|
223
224
|
}
|
|
224
225
|
:root {
|
|
225
226
|
--header-height-desktop: 96px;
|
|
@@ -3433,6 +3434,13 @@ button.swiper-pagination-bullet {
|
|
|
3433
3434
|
width: auto;
|
|
3434
3435
|
}
|
|
3435
3436
|
|
|
3437
|
+
.image-lightbox-module-9k3oJ .image-lightbox-module-UNPOi {
|
|
3438
|
+
all: unset;
|
|
3439
|
+
width: 100%;
|
|
3440
|
+
aspect-ratio: 1;
|
|
3441
|
+
cursor: zoom-in;
|
|
3442
|
+
}
|
|
3443
|
+
|
|
3436
3444
|
.image-lightbox-module-9k3oJ .image-lightbox-module-UNPOi,
|
|
3437
3445
|
.image-lightbox-module-9k3oJ .image-lightbox-module-PUOMT {
|
|
3438
3446
|
display: flex;
|
|
@@ -3443,11 +3451,6 @@ button.swiper-pagination-bullet {
|
|
|
3443
3451
|
mix-blend-mode: multiply;
|
|
3444
3452
|
}
|
|
3445
3453
|
|
|
3446
|
-
.image-lightbox-module-9k3oJ .image-lightbox-module-UNPOi {
|
|
3447
|
-
width: 100%;
|
|
3448
|
-
aspect-ratio: 1;
|
|
3449
|
-
}
|
|
3450
|
-
|
|
3451
3454
|
.image-lightbox-module-9k3oJ .image-lightbox-module-PUOMT {
|
|
3452
3455
|
width: var(--thumb-size);
|
|
3453
3456
|
height: var(--thumb-size);
|
|
@@ -3524,6 +3527,26 @@ button.swiper-pagination-bullet {
|
|
|
3524
3527
|
}
|
|
3525
3528
|
}
|
|
3526
3529
|
|
|
3530
|
+
.image-lightbox-module-UVzAg {
|
|
3531
|
+
z-index: var(--zoom-image-layer);
|
|
3532
|
+
cursor: zoom-out;
|
|
3533
|
+
}
|
|
3534
|
+
|
|
3535
|
+
.image-lightbox-module-UVzAg .image-lightbox-module-sBtWE {
|
|
3536
|
+
display: grid;
|
|
3537
|
+
overflow: auto;
|
|
3538
|
+
width: 100%;
|
|
3539
|
+
height: 100%;
|
|
3540
|
+
place-items: center;
|
|
3541
|
+
}
|
|
3542
|
+
|
|
3543
|
+
.image-lightbox-module-UVzAg .image-lightbox-module-sBtWE .image-lightbox-module-aehw- {
|
|
3544
|
+
width: 100%;
|
|
3545
|
+
height: auto;
|
|
3546
|
+
-o-object-fit: contain;
|
|
3547
|
+
object-fit: contain;
|
|
3548
|
+
}
|
|
3549
|
+
|
|
3527
3550
|
.product-detail-images-module-N3Ms- {
|
|
3528
3551
|
display: flex;
|
|
3529
3552
|
width: 100%;
|
|
@@ -5372,14 +5395,22 @@ button.swiper-pagination-bullet {
|
|
|
5372
5395
|
.search-content-module-w-ORq {
|
|
5373
5396
|
display: flex;
|
|
5374
5397
|
flex-wrap: wrap;
|
|
5398
|
+
padding-right: var(--padding-inline);
|
|
5399
|
+
padding-left: var(--padding-inline);
|
|
5375
5400
|
gap: var(--space-16);
|
|
5376
|
-
padding-inline: var(--padding-inline);
|
|
5377
5401
|
}
|
|
5378
5402
|
|
|
5379
5403
|
.search-content-module-w-ORq:not(:empty) {
|
|
5380
5404
|
padding-bottom: var(--padding-block);
|
|
5381
5405
|
}
|
|
5382
5406
|
|
|
5407
|
+
@media (width >= 768px) {
|
|
5408
|
+
|
|
5409
|
+
.search-content-module-w-ORq {
|
|
5410
|
+
padding-left: var(--space-48)
|
|
5411
|
+
}
|
|
5412
|
+
}
|
|
5413
|
+
|
|
5383
5414
|
@media (width < 768px) {
|
|
5384
5415
|
.search-content-module-w-ORq .search-content-module-bO1Q0 {
|
|
5385
5416
|
width: 100%;
|
|
@@ -5397,6 +5428,14 @@ button.swiper-pagination-bullet {
|
|
|
5397
5428
|
padding-block-end: var(--padding-block);
|
|
5398
5429
|
}
|
|
5399
5430
|
|
|
5431
|
+
@media (width >= 768px) {
|
|
5432
|
+
|
|
5433
|
+
.search-content-module-HrHCE,
|
|
5434
|
+
.search-content-module-9bgxF {
|
|
5435
|
+
padding-left: 22px
|
|
5436
|
+
}
|
|
5437
|
+
}
|
|
5438
|
+
|
|
5400
5439
|
.search-content-module-H-FX2 .search-content-module-LbQnK {
|
|
5401
5440
|
margin-top: var(--space-12);
|
|
5402
5441
|
margin-bottom: var(--space-24);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sonic-equipment/ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.102",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
@@ -50,93 +50,93 @@
|
|
|
50
50
|
"react-instantsearch-core": "^7"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@chromatic-com/storybook": "
|
|
54
|
-
"@csstools/postcss-global-data": "
|
|
55
|
-
"@rollup/plugin-alias": "
|
|
56
|
-
"@rollup/plugin-commonjs": "
|
|
57
|
-
"@rollup/plugin-node-resolve": "
|
|
58
|
-
"@rollup/plugin-replace": "
|
|
59
|
-
"@rollup/plugin-typescript": "
|
|
60
|
-
"@storybook/addon-docs": "
|
|
61
|
-
"@storybook/addon-essentials": "
|
|
62
|
-
"@storybook/addon-interactions": "
|
|
63
|
-
"@storybook/addon-links": "
|
|
64
|
-
"@storybook/addon-viewport": "
|
|
65
|
-
"@storybook/blocks": "
|
|
66
|
-
"@storybook/preview-api": "
|
|
67
|
-
"@storybook/react": "
|
|
68
|
-
"@storybook/react-vite": "
|
|
69
|
-
"@storybook/test": "
|
|
70
|
-
"@types/js-cookie": "
|
|
71
|
-
"@types/
|
|
72
|
-
"@types/react
|
|
73
|
-
"@
|
|
74
|
-
"@typescript-eslint/
|
|
75
|
-
"@
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"eslint
|
|
80
|
-
"eslint-
|
|
81
|
-
"eslint-
|
|
82
|
-
"eslint-plugin-
|
|
83
|
-
"eslint-plugin-
|
|
84
|
-
"eslint-plugin-
|
|
85
|
-
"eslint-plugin-
|
|
86
|
-
"eslint-plugin-react
|
|
87
|
-
"eslint-plugin-
|
|
88
|
-
"eslint-plugin-
|
|
89
|
-
"eslint-plugin-sort-keys
|
|
90
|
-
"eslint-plugin-
|
|
91
|
-
"eslint-plugin-
|
|
92
|
-
"eslint-plugin-
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"postcss
|
|
99
|
-
"postcss-
|
|
100
|
-
"postcss-
|
|
101
|
-
"
|
|
102
|
-
"react
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"rollup
|
|
106
|
-
"rollup-plugin-
|
|
107
|
-
"rollup-plugin-
|
|
108
|
-
"rollup-plugin-
|
|
109
|
-
"storybook": "
|
|
110
|
-
"stylelint": "
|
|
111
|
-
"stylelint-config-css-modules": "
|
|
112
|
-
"stylelint-config-idiomatic-order": "
|
|
113
|
-
"stylelint-config-standard": "
|
|
114
|
-
"typescript": "
|
|
115
|
-
"vite": "
|
|
116
|
-
"vite-tsconfig-paths": "
|
|
53
|
+
"@chromatic-com/storybook": "3.2.2",
|
|
54
|
+
"@csstools/postcss-global-data": "3.0.0",
|
|
55
|
+
"@rollup/plugin-alias": "5.1.1",
|
|
56
|
+
"@rollup/plugin-commonjs": "28.0.1",
|
|
57
|
+
"@rollup/plugin-node-resolve": "15.3.0",
|
|
58
|
+
"@rollup/plugin-replace": "6.0.1",
|
|
59
|
+
"@rollup/plugin-typescript": "12.1.1",
|
|
60
|
+
"@storybook/addon-docs": "8.4.2",
|
|
61
|
+
"@storybook/addon-essentials": "8.4.2",
|
|
62
|
+
"@storybook/addon-interactions": "8.4.2",
|
|
63
|
+
"@storybook/addon-links": "8.4.2",
|
|
64
|
+
"@storybook/addon-viewport": "8.4.2",
|
|
65
|
+
"@storybook/blocks": "8.4.2",
|
|
66
|
+
"@storybook/preview-api": "8.4.2",
|
|
67
|
+
"@storybook/react": "8.4.2",
|
|
68
|
+
"@storybook/react-vite": "8.4.2",
|
|
69
|
+
"@storybook/test": "8.4.2",
|
|
70
|
+
"@types/js-cookie": "3.0.6",
|
|
71
|
+
"@types/node": "22.9.0",
|
|
72
|
+
"@types/react": "18.3.12",
|
|
73
|
+
"@types/react-dom": "18.3.1",
|
|
74
|
+
"@typescript-eslint/eslint-plugin": "8.13.0",
|
|
75
|
+
"@typescript-eslint/parser": "8.13.0",
|
|
76
|
+
"@vitejs/plugin-react": "4.3.3",
|
|
77
|
+
"autoprefixer": "10.4.20",
|
|
78
|
+
"concurrently": "9.1.0",
|
|
79
|
+
"eslint": "8.57.0",
|
|
80
|
+
"eslint-config-prettier": "9.1.0",
|
|
81
|
+
"eslint-import-resolver-typescript": "3.6.3",
|
|
82
|
+
"eslint-plugin-import": "2.31.0",
|
|
83
|
+
"eslint-plugin-mdx": "3.1.5",
|
|
84
|
+
"eslint-plugin-no-relative-import-paths": "1.5.5",
|
|
85
|
+
"eslint-plugin-prettier": "5.2.1",
|
|
86
|
+
"eslint-plugin-react": "7.37.2",
|
|
87
|
+
"eslint-plugin-react-hooks": "5.0.0",
|
|
88
|
+
"eslint-plugin-simple-import-sort": "12.1.1",
|
|
89
|
+
"eslint-plugin-sort-destructure-keys": "2.0.0",
|
|
90
|
+
"eslint-plugin-sort-keys-fix": "1.1.2",
|
|
91
|
+
"eslint-plugin-storybook": "0.11.0",
|
|
92
|
+
"eslint-plugin-typescript-sort-keys": "3.3.0",
|
|
93
|
+
"eslint-plugin-unused-imports": "4.1.4",
|
|
94
|
+
"http-server": "14.1.1",
|
|
95
|
+
"husky": "9.1.6",
|
|
96
|
+
"instantsearch.js": "4.75.4",
|
|
97
|
+
"nodemon": "3.1.7",
|
|
98
|
+
"postcss": "8.4.47",
|
|
99
|
+
"postcss-custom-media": "11.0.5",
|
|
100
|
+
"postcss-import": "16.1.0",
|
|
101
|
+
"postcss-nested": "7.0.2",
|
|
102
|
+
"react": "18.3.1",
|
|
103
|
+
"react-dom": "18.3.1",
|
|
104
|
+
"rimraf": "6.0.1",
|
|
105
|
+
"rollup": "4.24.4",
|
|
106
|
+
"rollup-plugin-dts": "6.1.1",
|
|
107
|
+
"rollup-plugin-peer-deps-external": "2.2.4",
|
|
108
|
+
"rollup-plugin-postcss": "4.0.2",
|
|
109
|
+
"storybook": "8.4.2",
|
|
110
|
+
"stylelint": "16.10.0",
|
|
111
|
+
"stylelint-config-css-modules": "4.4.0",
|
|
112
|
+
"stylelint-config-idiomatic-order": "10.0.0",
|
|
113
|
+
"stylelint-config-standard": "36.0.1",
|
|
114
|
+
"typescript": "5.6.3",
|
|
115
|
+
"vite": "5.4.10",
|
|
116
|
+
"vite-tsconfig-paths": "5.1.0"
|
|
117
117
|
},
|
|
118
118
|
"dependencies": {
|
|
119
|
-
"@algolia/autocomplete-core": "
|
|
120
|
-
"@algolia/autocomplete-plugin-query-suggestions": "
|
|
121
|
-
"@algolia/autocomplete-plugin-recent-searches": "
|
|
122
|
-
"@algolia/autocomplete-preset-algolia": "
|
|
123
|
-
"@algolia/client-search": "
|
|
124
|
-
"@tanstack/react-query": "
|
|
125
|
-
"@tanstack/react-query-devtools": "
|
|
126
|
-
"@types/react-transition-group": "
|
|
127
|
-
"algoliasearch": "
|
|
128
|
-
"clsx": "
|
|
129
|
-
"fast-equals": "
|
|
130
|
-
"instantsearch.js": "
|
|
131
|
-
"js-cookie": "
|
|
132
|
-
"query-string": "
|
|
133
|
-
"react-aria": "
|
|
134
|
-
"react-aria-components": "
|
|
135
|
-
"react-instantsearch": "
|
|
136
|
-
"react-toastify": "
|
|
137
|
-
"react-transition-group": "
|
|
138
|
-
"search-insights": "2.
|
|
139
|
-
"swiper": "
|
|
119
|
+
"@algolia/autocomplete-core": "1.17.7",
|
|
120
|
+
"@algolia/autocomplete-plugin-query-suggestions": "1.17.7",
|
|
121
|
+
"@algolia/autocomplete-plugin-recent-searches": "1.17.7",
|
|
122
|
+
"@algolia/autocomplete-preset-algolia": "1.17.7",
|
|
123
|
+
"@algolia/client-search": "4.24.0",
|
|
124
|
+
"@tanstack/react-query": "5.59.20",
|
|
125
|
+
"@tanstack/react-query-devtools": "5.59.20",
|
|
126
|
+
"@types/react-transition-group": "4.4.11",
|
|
127
|
+
"algoliasearch": "4.24.0",
|
|
128
|
+
"clsx": "2.1.1",
|
|
129
|
+
"fast-equals": "5.0.1",
|
|
130
|
+
"instantsearch.js": "4.75.4",
|
|
131
|
+
"js-cookie": "3.0.5",
|
|
132
|
+
"query-string": "9.1.1",
|
|
133
|
+
"react-aria": "3.35.1",
|
|
134
|
+
"react-aria-components": "1.4.1",
|
|
135
|
+
"react-instantsearch": "7.13.7",
|
|
136
|
+
"react-toastify": "10.0.6",
|
|
137
|
+
"react-transition-group": "4.4.5",
|
|
138
|
+
"search-insights": "2.17.2",
|
|
139
|
+
"swiper": "11.1.14"
|
|
140
140
|
},
|
|
141
141
|
"publishConfig": {
|
|
142
142
|
"access": "public"
|