@sonic-equipment/ui 145.0.0 → 147.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 (55) hide show
  1. package/dist/algolia/algolia-filter-panel.module.css.js +1 -1
  2. package/dist/algolia/algolia-query-string-routing.js +2 -2
  3. package/dist/breadcrumbs/breadcrumb.js +1 -1
  4. package/dist/buttons/add-to-cart-button/connected-add-to-cart-button.js +16 -7
  5. package/dist/buttons/favorite/favorite-button.module.css.js +1 -1
  6. package/dist/carousel/carousel.js +3 -3
  7. package/dist/carousel/pagination/transitions.js +1 -1
  8. package/dist/carousel/usp-carousel/usp-carousel.js +1 -1
  9. package/dist/carousel/usp-carousel/usp-carousel.module.css.js +1 -1
  10. package/dist/country-selector/use-countries-languages.js +5 -4
  11. package/dist/display/product-price/product-price.module.css.js +1 -1
  12. package/dist/footer/footer.module.css.js +1 -1
  13. package/dist/forms/textarea/textarea.module.css.js +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/lists/product-overview-grid/product-overview-grid.js +1 -1
  16. package/dist/lists/product-overview-grid/product-overview-grid.module.css.js +1 -1
  17. package/dist/media/image-lightbox/image-lightbox.js +3 -3
  18. package/dist/modals/modal/modal.module.css.js +1 -1
  19. package/dist/node_modules/.pnpm/{instantsearch.js@4.77.3_algoliasearch@4.24.0 → instantsearch.js@4.78.0_algoliasearch@4.24.0}/node_modules/instantsearch.js/es/lib/routers/history.js +20 -20
  20. package/dist/node_modules/.pnpm/{instantsearch.js@4.77.3_algoliasearch@4.24.0 → instantsearch.js@4.78.0_algoliasearch@4.24.0}/node_modules/instantsearch.js/es/lib/stateMappings/simple.js +1 -1
  21. package/dist/node_modules/.pnpm/{instantsearch.js@4.77.3_algoliasearch@4.24.0 → instantsearch.js@4.78.0_algoliasearch@4.24.0}/node_modules/instantsearch.js/es/lib/utils/documentation.js +1 -1
  22. package/dist/node_modules/.pnpm/{instantsearch.js@4.77.3_algoliasearch@4.24.0 → instantsearch.js@4.78.0_algoliasearch@4.24.0}/node_modules/instantsearch.js/es/lib/utils/logger.js +1 -1
  23. package/dist/node_modules/.pnpm/qs@6.9.7/node_modules/qs/lib/stringify.js +1 -1
  24. package/dist/node_modules/.pnpm/{swiper@11.2.1 → swiper@11.2.5}/node_modules/swiper/modules/thumbs.js +4 -0
  25. package/dist/node_modules/.pnpm/{swiper@11.2.1 → swiper@11.2.5}/node_modules/swiper/shared/ssr-window.esm.js +7 -6
  26. package/dist/node_modules/.pnpm/{swiper@11.2.1 → swiper@11.2.5}/node_modules/swiper/shared/swiper-core.js +40 -34
  27. package/dist/node_modules/.pnpm/{swiper@11.2.1 → swiper@11.2.5}/node_modules/swiper/shared/update-on-virtual-data.js +2 -2
  28. package/dist/node_modules/.pnpm/{swiper@11.2.1 → swiper@11.2.5}/node_modules/swiper/shared/update-swiper.js +5 -5
  29. package/dist/node_modules/.pnpm/{swiper@11.2.1 → swiper@11.2.5}/node_modules/swiper/shared/utils.js +6 -6
  30. package/dist/node_modules/.pnpm/{swiper@11.2.1 → swiper@11.2.5}/node_modules/swiper/swiper-react.js +5 -5
  31. package/dist/pages/account/sign-in-page/sign-in-page.js +2 -2
  32. package/dist/pages/checkout/payment-page/components/adyen-payment.js +1 -1
  33. package/dist/pages/paths.d.ts +3 -3
  34. package/dist/pages/paths.js +3 -3
  35. package/dist/pages/product/product-details-page/components/product-details-panel/product-details-panel.js +1 -1
  36. package/dist/pages/product/product-listing-page/product-listing-page.module.css.js +1 -1
  37. package/dist/pages/product/search-result-page/search-results-page.module.css.js +1 -1
  38. package/dist/shared/api/storefront/hooks/cart/use-patch-cart-line-by-id.d.ts +1 -1
  39. package/dist/shared/api/storefront/hooks/cart/use-patch-cart-line-by-id.js +5 -1
  40. package/dist/shared/api/storefront/services/cart-service.d.ts +1 -1
  41. package/dist/shared/api/storefront/services/cart-service.js +2 -1
  42. package/dist/shared/fetch/request.js +4 -4
  43. package/dist/shared/model/countries-languages.js +1 -1
  44. package/dist/shared/model/currency.js +1 -0
  45. package/dist/shared/providers/global-state-provider.js +3 -3
  46. package/dist/shared/utils/event-emitter.js +1 -1
  47. package/dist/shared/utils/local-storage.js +1 -0
  48. package/dist/styles.css +2 -2
  49. package/dist/tooltip/tooltip.module.css.js +1 -1
  50. package/package.json +44 -44
  51. /package/dist/node_modules/.pnpm/{instantsearch.js@4.77.3_algoliasearch@4.24.0 → instantsearch.js@4.78.0_algoliasearch@4.24.0}/node_modules/instantsearch.js/es/lib/utils/noop.js +0 -0
  52. /package/dist/node_modules/.pnpm/{instantsearch.js@4.77.3_algoliasearch@4.24.0 → instantsearch.js@4.78.0_algoliasearch@4.24.0}/node_modules/instantsearch.js/es/lib/utils/safelyRunOnBrowser.js +0 -0
  53. /package/dist/node_modules/.pnpm/{swiper@11.2.1 → swiper@11.2.5}/node_modules/swiper/modules/free-mode.js +0 -0
  54. /package/dist/node_modules/.pnpm/{swiper@11.2.1 → swiper@11.2.5}/node_modules/swiper/modules/navigation.js +0 -0
  55. /package/dist/node_modules/.pnpm/{swiper@11.2.1 → swiper@11.2.5}/node_modules/swiper/shared/create-element-if-not-defined.js +0 -0
@@ -1,3 +1,3 @@
1
- var styles = {"filter-panel":"algolia-filter-panel-module-GfhOO","scroll-container":"algolia-filter-panel-module-4ubB1","category":"algolia-filter-panel-module-LKet3","is-active":"algolia-filter-panel-module-yf8kI","value":"algolia-filter-panel-module-gQzED","count":"algolia-filter-panel-module-uAHPx","button":"algolia-filter-panel-module-ABOYv"};
1
+ var styles = {"filter-panel":"algolia-filter-panel-module-GfhOO","scroll-container":"algolia-filter-panel-module-4ubB1","category":"algolia-filter-panel-module-LKet3","is-active":"algolia-filter-panel-module-yf8kI","count":"algolia-filter-panel-module-uAHPx","button":"algolia-filter-panel-module-ABOYv"};
2
2
 
3
3
  export { styles as default };
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import historyRouter from '../node_modules/.pnpm/instantsearch.js@4.77.3_algoliasearch@4.24.0/node_modules/instantsearch.js/es/lib/routers/history.js';
3
- import simpleStateMapping from '../node_modules/.pnpm/instantsearch.js@4.77.3_algoliasearch@4.24.0/node_modules/instantsearch.js/es/lib/stateMappings/simple.js';
2
+ import simpleStateMapping from '../node_modules/.pnpm/instantsearch.js@4.78.0_algoliasearch@4.24.0/node_modules/instantsearch.js/es/lib/stateMappings/simple.js';
3
+ import historyRouter from '../node_modules/.pnpm/instantsearch.js@4.78.0_algoliasearch@4.24.0/node_modules/instantsearch.js/es/lib/routers/history.js';
4
4
 
5
5
  function createQueryStringRouting({ algoliaIndex, hierarchicalCategories, }) {
6
6
  return {
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { Breadcrumbs, Breadcrumb as Breadcrumb$1 } from 'react-aria-components';
4
4
  import clsx from 'clsx';
5
5
  import { GlyphsChevronsSlimLeftIcon } from '../icons/glyph/glyphs-chevrons-slim-left-icon.js';
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { useState } from 'react';
3
+ import { useRef } from 'react';
4
4
  import { FormattedMessage } from '../../intl/formatted-message.js';
5
5
  import { useAddProductToCurrentCart } from '../../shared/api/storefront/hooks/cart/use-add-product-to-current-cart.js';
6
6
  import { useDeleteCartLineById } from '../../shared/api/storefront/hooks/cart/use-delete-cart-line-by-id.js';
@@ -12,7 +12,7 @@ import { useToast } from '../../toast/use-toast.js';
12
12
  import { AddToCartButton } from './add-to-cart-button.js';
13
13
 
14
14
  const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
15
- const [isUpdatingCartLine, setIsUpdatingCartLine] = useState(false);
15
+ const updatingQuantity = useRef(null);
16
16
  const { createEcommerceEvent, dataLayer } = useDataLayer();
17
17
  const { isPending: isPendingAddToCart, mutate: addToCart } = useAddProductToCurrentCart();
18
18
  const { data: cartLines } = useFetchCurrentCartLines();
@@ -21,8 +21,11 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
21
21
  const { addToast } = useToast();
22
22
  const { onCartLineAdded, onCartLineError, onCartLineRemoved, onCartLineUpdated, } = useCartEvents() || {};
23
23
  const cartLine = cartLines?.find(line => line.productId === productId);
24
- const quantity = cartLine?.qtyOrdered || 0;
24
+ const currentQuantity = cartLine?.qtyOrdered || 0;
25
+ const isDisabled = updatingQuantity.current !== null &&
26
+ currentQuantity !== updatingQuantity.current;
25
27
  const handleChange = (quantity) => {
28
+ updatingQuantity.current = quantity;
26
29
  if (cartLine) {
27
30
  if (quantity === 0) {
28
31
  deleteCartLine({ cartLineId: cartLine.id }, {
@@ -34,6 +37,9 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
34
37
  messageType: 'danger',
35
38
  });
36
39
  },
40
+ onSettled: () => {
41
+ updatingQuantity.current = null;
42
+ },
37
43
  onSuccess: () => {
38
44
  onCartLineRemoved?.(cartLine);
39
45
  addToast({
@@ -57,6 +63,9 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
57
63
  messageType: 'danger',
58
64
  });
59
65
  },
66
+ onSettled: () => {
67
+ updatingQuantity.current = null;
68
+ },
60
69
  onSuccess: () => {
61
70
  onCartLineUpdated?.({ ...cartLine, qtyOrdered: quantity });
62
71
  const updatedQuantity = quantity - (cartLine.qtyOrdered || 0);
@@ -81,7 +90,6 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
81
90
  }
82
91
  }
83
92
  else {
84
- setIsUpdatingCartLine(true);
85
93
  addToCart({ productId, qtyOrdered: quantity, unitOfMeasure: '' }, {
86
94
  onError: error => {
87
95
  onCartLineError?.(error, cartLine);
@@ -90,7 +98,9 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
90
98
  isUserDismissable: false,
91
99
  messageType: 'danger',
92
100
  });
93
- setIsUpdatingCartLine(false);
101
+ },
102
+ onSettled: () => {
103
+ updatingQuantity.current = null;
94
104
  },
95
105
  onSuccess: cartLine => {
96
106
  onAddToCart?.({ cartLine });
@@ -106,12 +116,11 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
106
116
  isUserDismissable: false,
107
117
  messageType: 'success',
108
118
  });
109
- setIsUpdatingCartLine(false);
110
119
  },
111
120
  });
112
121
  }
113
122
  };
114
- return (jsx(AddToCartButton, { isDisabled: isPendingDeleteCartLine || isPendingAddToCart || isUpdatingCartLine, onChange: handleChange, quantity: quantity }));
123
+ return (jsx(AddToCartButton, { isDisabled: isDisabled || isPendingDeleteCartLine || isPendingAddToCart, onChange: handleChange, quantity: currentQuantity }));
115
124
  };
116
125
 
117
126
  export { ConnectedAddToCartButton };
@@ -1,3 +1,3 @@
1
- var styles = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
1
+ var styles = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q"};
2
2
 
3
3
  export { styles as default };
@@ -2,9 +2,9 @@
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useState, useRef, useMemo } from 'react';
4
4
  import clsx from 'clsx';
5
- import Navigation from '../node_modules/.pnpm/swiper@11.2.1/node_modules/swiper/modules/navigation.js';
6
- import freeMode from '../node_modules/.pnpm/swiper@11.2.1/node_modules/swiper/modules/free-mode.js';
7
- import { Swiper, SwiperSlide } from '../node_modules/.pnpm/swiper@11.2.1/node_modules/swiper/swiper-react.js';
5
+ import Navigation from '../node_modules/.pnpm/swiper@11.2.5/node_modules/swiper/modules/navigation.js';
6
+ import freeMode from '../node_modules/.pnpm/swiper@11.2.5/node_modules/swiper/modules/free-mode.js';
7
+ import { Swiper, SwiperSlide } from '../node_modules/.pnpm/swiper@11.2.5/node_modules/swiper/swiper-react.js';
8
8
  import { breakpoints } from '../shared/utils/breakpoints.js';
9
9
  import { deepMerge } from '../shared/utils/merge.js';
10
10
  import { CarouselNavigationButton } from './carousel-navigation-button.js';
@@ -5,7 +5,7 @@ class Animation {
5
5
  enumerable: true,
6
6
  configurable: true,
7
7
  writable: true,
8
- value: undefined
8
+ value: void 0
9
9
  });
10
10
  Object.defineProperty(this, "_buttonElement", {
11
11
  enumerable: true,
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useRef, useState } from 'react';
4
- import { Swiper, SwiperSlide } from '../../node_modules/.pnpm/swiper@11.2.1/node_modules/swiper/swiper-react.js';
4
+ import { Swiper, SwiperSlide } from '../../node_modules/.pnpm/swiper@11.2.5/node_modules/swiper/swiper-react.js';
5
5
  import { CarouselPagination } from '../pagination/pagination.js';
6
6
  import styles from './usp-carousel.module.css.js';
7
7
 
@@ -1,3 +1,3 @@
1
- var styles = {"usp-carousel":"usp-carousel-module-UCbpX","pagination":"usp-carousel-module-msaeJ","product-usp":"usp-carousel-module-rtIrb","left":"usp-carousel-module--Vdc3","image":"usp-carousel-module-F-WAS","right":"usp-carousel-module-2fygw","content":"usp-carousel-module-AOJJg","icon":"usp-carousel-module-Diy2d","title":"usp-carousel-module--xcF2","text":"usp-carousel-module-tq8R8","navigation":"usp-carousel-module-L5Kmv"};
1
+ var styles = {"usp-carousel":"usp-carousel-module-UCbpX","pagination":"usp-carousel-module-msaeJ","product-usp":"usp-carousel-module-rtIrb","left":"usp-carousel-module--Vdc3","image":"usp-carousel-module-F-WAS","right":"usp-carousel-module-2fygw","content":"usp-carousel-module-AOJJg","icon":"usp-carousel-module-Diy2d","title":"usp-carousel-module--xcF2","text":"usp-carousel-module-tq8R8"};
2
2
 
3
3
  export { styles as default };
@@ -19,14 +19,15 @@ function useCountriesLanguages({ defaultCountryCode, defaultLanguageCode, }) {
19
19
  const [currentCountryId] = useCookie('CurrentCountryId', cookieOptions);
20
20
  const [currentLanguageId] = useCookie('CurrentLanguageId', cookieOptions);
21
21
  const [contextLanguageCode] = useCookie('SetContextLanguageCode', cookieOptions);
22
+ const hasSessionCountries = Boolean(sessionCountries?.length);
22
23
  const { data: apiCountries, error, isFetching, } = useFetchCountriesWithLanguages({
23
- enabled: !sessionCountries,
24
+ enabled: !hasSessionCountries,
24
25
  select: countries => countries.filter(country => isCountry(country)),
25
26
  });
26
- const countries = sessionCountries ?? apiCountries;
27
+ const countries = hasSessionCountries
28
+ ? sessionCountries
29
+ : apiCountries;
27
30
  useEffect(() => {
28
- if (sessionCountries)
29
- return;
30
31
  setSessionCountries(apiCountries);
31
32
  // eslint-disable-next-line react-hooks/exhaustive-deps
32
33
  }, [apiCountries]);
@@ -1,3 +1,3 @@
1
- var styles = {"product-price":"product-price-module-oIU1K","original-price":"product-price-module-til0s","is-hidden":"product-price-module-V1NCf","current-price-wrapper":"product-price-module-FfVhl","current-price":"product-price-module-pvy2w","wholes":"product-price-module-GCw07","dot":"product-price-module-N56iV","decimals":"product-price-module-eWOOF","price-per-unit":"product-price-module-syhum","vat":"product-price-module-96DoG"};
1
+ var styles = {"product-price":"product-price-module-oIU1K","original-price":"product-price-module-til0s","is-hidden":"product-price-module-V1NCf","current-price-wrapper":"product-price-module-FfVhl","current-price":"product-price-module-pvy2w","wholes":"product-price-module-GCw07","dot":"product-price-module-N56iV","decimals":"product-price-module-eWOOF","vat":"product-price-module-96DoG"};
2
2
 
3
3
  export { styles as default };
@@ -1,3 +1,3 @@
1
- var styles = {"footer":"footer-module-YzJ68","main-links":"footer-module-rFBXC","link-block":"footer-module-P5FXP","link-block-heading":"footer-module-umuTh","list":"footer-module-FM4hU","bottom-section":"footer-module-TZq-4","copyright":"footer-module-qlHSS","bottom-links":"footer-module-5eyFH","bottom-link":"footer-module-0gJpF"};
1
+ var styles = {"footer":"footer-module-YzJ68","main-links":"footer-module-rFBXC","link-block":"footer-module-P5FXP","list":"footer-module-FM4hU","bottom-section":"footer-module-TZq-4","copyright":"footer-module-qlHSS","bottom-links":"footer-module-5eyFH","bottom-link":"footer-module-0gJpF"};
2
2
 
3
3
  export { styles as default };
@@ -1,3 +1,3 @@
1
- var styles = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
1
+ var styles = {"input-container":"textarea-module-C6Xr1"};
2
2
 
3
3
  export { styles as default };
package/dist/index.js CHANGED
@@ -333,6 +333,7 @@ export { getTokenKeyValue, getTokenValue } from './tokens/tokens.js';
333
333
  export { Tooltip } from './tooltip/tooltip.js';
334
334
  export { Heading, SIZES, TAGS } from './typography/heading/heading.js';
335
335
 
336
+ // eslint-disable-next-line import/no-unused-modules
336
337
  // eslint-disable-next-line no-console
337
338
  console.log(`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
338
339
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ -8,7 +8,7 @@ function ProductOverviewGrid({ children, isLoading, }) {
8
8
  // eslint-disable-next-line @eslint-react/no-children-map
9
9
  Children.map(children, (child, index) => (
10
10
  // eslint-disable-next-line @eslint-react/no-array-index-key
11
- jsx("div", { className: styles['grid-item'], children: child }, index))), isLoading && (jsx("div", { className: styles['loading-panel'], children: jsx(ProgressCircle, { className: styles['progress-circle'] }) }))] }));
11
+ jsx("div", { className: styles['grid-item'], children: child }, index))), isLoading && (jsx("div", { className: styles['loading-panel'], children: jsx(ProgressCircle, { className: styles['progress-circle'], variant: "gray" }) }))] }));
12
12
  }
13
13
 
14
14
  export { ProductOverviewGrid };
@@ -1,3 +1,3 @@
1
- var styles = {"product-grid":"product-overview-grid-module-bzys-","loading-panel":"product-overview-grid-module-XikkF","fade-in":"product-overview-grid-module-A6CS7","progress-circle":"product-overview-grid-module-DWnnI","fade-in-spinner":"product-overview-grid-module-r-wvY","grid-item":"product-overview-grid-module-MlUVA"};
1
+ var styles = {"product-grid":"product-overview-grid-module-bzys-","loading-panel":"product-overview-grid-module-XikkF","progress-circle":"product-overview-grid-module-DWnnI","grid-item":"product-overview-grid-module-MlUVA"};
2
2
 
3
3
  export { styles as default };
@@ -2,9 +2,9 @@
2
2
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
3
  import { useState, useRef } from 'react';
4
4
  import clsx from 'clsx';
5
- import Navigation from '../../node_modules/.pnpm/swiper@11.2.1/node_modules/swiper/modules/navigation.js';
6
- import Thumb from '../../node_modules/.pnpm/swiper@11.2.1/node_modules/swiper/modules/thumbs.js';
7
- import { Swiper, SwiperSlide } from '../../node_modules/.pnpm/swiper@11.2.1/node_modules/swiper/swiper-react.js';
5
+ import Navigation from '../../node_modules/.pnpm/swiper@11.2.5/node_modules/swiper/modules/navigation.js';
6
+ import Thumb from '../../node_modules/.pnpm/swiper@11.2.5/node_modules/swiper/modules/thumbs.js';
7
+ import { Swiper, SwiperSlide } from '../../node_modules/.pnpm/swiper@11.2.5/node_modules/swiper/swiper-react.js';
8
8
  import { CarouselNavigationButton } from '../../carousel/carousel-navigation-button.js';
9
9
  import { CarouselPagination } from '../../carousel/pagination/pagination.js';
10
10
  import { Image } from '../image/image.js';
@@ -1,3 +1,3 @@
1
- var styles = {"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"};
1
+ var styles = {"modal-overlay":"modal-module-rVFJc","is-full-screen":"modal-module-uwets","modal":"modal-module-6vlFt","content":"modal-module-FJxzx","close":"modal-module-7zIZE"};
2
2
 
3
3
  export { styles as default };
@@ -6,10 +6,10 @@ import { warning as _warning } from '../utils/logger.js';
6
6
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
7
7
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8
8
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
9
- function _createClass(Constructor, protoProps, staticProps) { _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
10
10
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (undefined !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  var setWindowTitle = function setWindowTitle(title) {
14
14
  if (title) {
15
15
  // This function is only executed on browsers so we can disable this check.
@@ -26,7 +26,7 @@ var BrowserHistory = /*#__PURE__*/function () {
26
26
  var _this = this;
27
27
  var windowTitle = _ref.windowTitle,
28
28
  _ref$writeDelay = _ref.writeDelay,
29
- writeDelay = _ref$writeDelay === undefined ? 400 : _ref$writeDelay,
29
+ writeDelay = _ref$writeDelay === void 0 ? 400 : _ref$writeDelay,
30
30
  createURL = _ref.createURL,
31
31
  parseURL = _ref.parseURL,
32
32
  getLocation = _ref.getLocation,
@@ -39,7 +39,7 @@ var BrowserHistory = /*#__PURE__*/function () {
39
39
  /**
40
40
  * Transforms a UI state into a title for the page.
41
41
  */
42
- _defineProperty(this, "windowTitle", undefined);
42
+ _defineProperty(this, "windowTitle", void 0);
43
43
  /**
44
44
  * Time in milliseconds before performing a write in the history.
45
45
  * It prevents from adding too many entries in the history and
@@ -47,24 +47,24 @@ var BrowserHistory = /*#__PURE__*/function () {
47
47
  *
48
48
  * @default 400
49
49
  */
50
- _defineProperty(this, "writeDelay", undefined);
50
+ _defineProperty(this, "writeDelay", void 0);
51
51
  /**
52
52
  * Creates a full URL based on the route state.
53
53
  * The storage adaptor maps all syncable keys to the query string of the URL.
54
54
  */
55
- _defineProperty(this, "_createURL", undefined);
55
+ _defineProperty(this, "_createURL", void 0);
56
56
  /**
57
57
  * Parses the URL into a route state.
58
58
  * It should be symmetrical to `createURL`.
59
59
  */
60
- _defineProperty(this, "parseURL", undefined);
60
+ _defineProperty(this, "parseURL", void 0);
61
61
  /**
62
62
  * Returns the location to store in the history.
63
63
  * @default () => window.location
64
64
  */
65
- _defineProperty(this, "getLocation", undefined);
66
- _defineProperty(this, "writeTimer", undefined);
67
- _defineProperty(this, "_onPopState", undefined);
65
+ _defineProperty(this, "getLocation", void 0);
66
+ _defineProperty(this, "writeTimer", void 0);
67
+ _defineProperty(this, "_onPopState", void 0);
68
68
  /**
69
69
  * Indicates if last action was back/forward in the browser.
70
70
  */
@@ -80,10 +80,10 @@ var BrowserHistory = /*#__PURE__*/function () {
80
80
  * and thus to prevent the `write` method from calling `pushState`.
81
81
  */
82
82
  _defineProperty(this, "latestAcknowledgedHistory", 0);
83
- _defineProperty(this, "_start", undefined);
84
- _defineProperty(this, "_dispose", undefined);
85
- _defineProperty(this, "_push", undefined);
86
- _defineProperty(this, "_cleanUrlOnDispose", undefined);
83
+ _defineProperty(this, "_start", void 0);
84
+ _defineProperty(this, "_dispose", void 0);
85
+ _defineProperty(this, "_push", void 0);
86
+ _defineProperty(this, "_cleanUrlOnDispose", void 0);
87
87
  this.windowTitle = windowTitle;
88
88
  this.writeTimer = undefined;
89
89
  this.writeDelay = writeDelay;
@@ -201,7 +201,7 @@ var BrowserHistory = /*#__PURE__*/function () {
201
201
  // eslint-disable-next-line no-new
202
202
  new URL(url);
203
203
  } catch (e) {
204
- process.env.NODE_ENV === 'development' ? _warning(false, "The URL returned by the `createURL` function is invalid.\nPlease make sure it returns an absolute URL to avoid issues, e.g: `https://algolia.com/search?query=iphone`.") : undefined;
204
+ process.env.NODE_ENV === 'development' ? _warning(false, "The URL returned by the `createURL` function is invalid.\nPlease make sure it returns an absolute URL to avoid issues, e.g: `https://algolia.com/search?query=iphone`.") : void 0;
205
205
  }
206
206
  }
207
207
  return url;
@@ -270,14 +270,14 @@ var BrowserHistory = /*#__PURE__*/function () {
270
270
  function historyRouter() {
271
271
  var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
272
272
  _ref7$createURL = _ref7.createURL,
273
- createURL = _ref7$createURL === undefined ? function (_ref8) {
273
+ createURL = _ref7$createURL === void 0 ? function (_ref8) {
274
274
  var qsModule = _ref8.qsModule,
275
275
  routeState = _ref8.routeState,
276
276
  location = _ref8.location;
277
277
  var protocol = location.protocol,
278
278
  hostname = location.hostname,
279
279
  _location$port = location.port,
280
- port = _location$port === undefined ? '' : _location$port,
280
+ port = _location$port === void 0 ? '' : _location$port,
281
281
  pathname = location.pathname,
282
282
  hash = location.hash;
283
283
  var queryString = qsModule.stringify(routeState);
@@ -290,7 +290,7 @@ function historyRouter() {
290
290
  return "".concat(protocol, "//").concat(hostname).concat(portWithPrefix).concat(pathname, "?").concat(queryString).concat(hash);
291
291
  } : _ref7$createURL,
292
292
  _ref7$parseURL = _ref7.parseURL,
293
- parseURL = _ref7$parseURL === undefined ? function (_ref9) {
293
+ parseURL = _ref7$parseURL === void 0 ? function (_ref9) {
294
294
  var qsModule = _ref9.qsModule,
295
295
  location = _ref9.location;
296
296
  // `qs` by default converts arrays with more than 20 items to an object.
@@ -308,10 +308,10 @@ function historyRouter() {
308
308
  });
309
309
  } : _ref7$parseURL,
310
310
  _ref7$writeDelay = _ref7.writeDelay,
311
- writeDelay = _ref7$writeDelay === undefined ? 400 : _ref7$writeDelay,
311
+ writeDelay = _ref7$writeDelay === void 0 ? 400 : _ref7$writeDelay,
312
312
  windowTitle = _ref7.windowTitle,
313
313
  _ref7$getLocation = _ref7.getLocation,
314
- getLocation = _ref7$getLocation === undefined ? function () {
314
+ getLocation = _ref7$getLocation === void 0 ? function () {
315
315
  return safelyRunOnBrowser(function (_ref10) {
316
316
  var window = _ref10.window;
317
317
  return window.location;
@@ -4,7 +4,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
4
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (undefined !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
8
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
10
  function getIndexStateWithoutConfigure(uiState) {
@@ -1,7 +1,7 @@
1
1
  function createDocumentationLink(_ref) {
2
2
  var name = _ref.name,
3
3
  _ref$connector = _ref.connector,
4
- connector = _ref$connector === undefined ? false : _ref$connector;
4
+ connector = _ref$connector === void 0 ? false : _ref$connector;
5
5
  return ['https://www.algolia.com/doc/api-reference/widgets/', name, '/js/', connector ? '#connector' : ''].join('');
6
6
  }
7
7
 
@@ -23,7 +23,7 @@ if (process.env.NODE_ENV === 'development') {
23
23
  var hasAlreadyPrinted = _warning.cache[message];
24
24
  if (!hasAlreadyPrinted) {
25
25
  _warning.cache[message] = true;
26
- process.env.NODE_ENV === 'development' ? warn(message) : undefined;
26
+ process.env.NODE_ENV === 'development' ? warn(message) : void 0;
27
27
  }
28
28
  };
29
29
  _warning.cache = {};
@@ -127,7 +127,7 @@ function requireStringify () {
127
127
  var objKeys;
128
128
  if (generateArrayPrefix === 'comma' && isArray(obj)) {
129
129
  // we need to join elements in
130
- objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : undefined }];
130
+ objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void 0 }];
131
131
  } else if (isArray(filter)) {
132
132
  objKeys = filter;
133
133
  } else {
@@ -48,6 +48,10 @@ function Thumb(_ref) {
48
48
  initialized = true;
49
49
  const SwiperClass = swiper.constructor;
50
50
  if (thumbsParams.swiper instanceof SwiperClass) {
51
+ if (thumbsParams.swiper.destroyed) {
52
+ initialized = false;
53
+ return false;
54
+ }
51
55
  swiper.thumbs.swiper = thumbsParams.swiper;
52
56
  Object.assign(swiper.thumbs.swiper.originalParams, {
53
57
  watchSlidesProgress: true,
@@ -1,26 +1,27 @@
1
1
  /**
2
- * SSR Window 4.0.2
2
+ * SSR Window 5.0.0
3
3
  * Better handling for window object in SSR environment
4
4
  * https://github.com/nolimits4web/ssr-window
5
5
  *
6
- * Copyright 2021, Vladimir Kharlampidi
6
+ * Copyright 2025, Vladimir Kharlampidi
7
7
  *
8
8
  * Licensed under MIT
9
9
  *
10
- * Released on: December 13, 2021
10
+ * Released on: February 12, 2025
11
11
  */
12
12
  /* eslint-disable no-param-reassign */
13
13
  function isObject(obj) {
14
14
  return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;
15
15
  }
16
16
  function extend(target, src) {
17
- if (target === undefined) {
17
+ if (target === void 0) {
18
18
  target = {};
19
19
  }
20
- if (src === undefined) {
20
+ if (src === void 0) {
21
21
  src = {};
22
22
  }
23
- Object.keys(src).forEach(key => {
23
+ const noExtend = ['__proto__', 'constructor', 'prototype'];
24
+ Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {
24
25
  if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {
25
26
  extend(target[key], src[key]);
26
27
  }