@sonic-equipment/ui 0.0.87 → 0.0.89

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 (30) hide show
  1. package/dist/.storybook/RenderHook.d.ts +1 -1
  2. package/dist/index.d.ts +34 -3
  3. package/dist/index.js +397 -179
  4. package/dist/src/country-selector/country-selector-dialog/country-selector-dialog.d.ts +13 -0
  5. package/dist/src/country-selector/country-selector-dialog/country-selector-dialog.stories.d.ts +20 -0
  6. package/dist/src/country-selector/country-selector-trigger/country-selector-trigger.d.ts +8 -0
  7. package/dist/src/country-selector/country-selector-trigger/country-selector-trigger.stories.d.ts +16 -0
  8. package/dist/src/country-selector/country-selector.d.ts +12 -0
  9. package/dist/src/country-selector/country-selector.stories.d.ts +19 -0
  10. package/dist/src/country-selector/use-countries-languages.d.ts +43 -0
  11. package/dist/src/country-selector/use-countries-languages.stories.d.ts +9 -0
  12. package/dist/src/forms/select/select.d.ts +2 -1
  13. package/dist/src/index.d.ts +1 -0
  14. package/dist/src/intl/translation-id.d.ts +1 -1
  15. package/dist/src/modals/dialog/dialog.d.ts +1 -1
  16. package/dist/src/modals/dialog/dialog.stories.d.ts +1 -0
  17. package/dist/src/modals/modal/modal.d.ts +1 -1
  18. package/dist/src/modals/modal/modal.stories.d.ts +0 -1
  19. package/dist/src/shared/api/storefront/hooks/website/use-fetch-countries-languages.d.ts +4 -0
  20. package/dist/src/shared/api/storefront/hooks/website/use-fetch-countries.d.ts +1 -0
  21. package/dist/src/shared/api/storefront/hooks/website/use-update-language-by-id.d.ts +2 -0
  22. package/dist/src/shared/api/storefront/hooks/website/website.stories.d.ts +10 -0
  23. package/dist/src/shared/api/storefront/services/website-service.d.ts +9 -0
  24. package/dist/src/shared/hooks/use-cookie.d.ts +8 -0
  25. package/dist/src/shared/hooks/use-disclosure.d.ts +1 -0
  26. package/dist/src/shared/hooks/use-session-storage.d.ts +6 -0
  27. package/dist/src/shared/model/countries-languages.d.ts +13 -0
  28. package/dist/styles.css +504 -388
  29. package/package.json +3 -1
  30. package/dist/src/shared/utils/cookies.d.ts +0 -3
package/dist/index.js CHANGED
@@ -4,8 +4,9 @@ import { useQuery, useQueryClient, useMutation, QueryClient, QueryClientProvider
4
4
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
5
5
  import { deepEqual } from 'fast-equals';
6
6
  import clsx from 'clsx';
7
- import { Breadcrumbs, Breadcrumb as Breadcrumb$1, FieldError as FieldError$1, useContextProps, InputContext, Input as Input$1, Label as Label$1, NumberField as NumberField$1, Button as Button$1, Checkbox as Checkbox$1, Select as Select$1, SelectValue, Popover, ListBox, Section, Header, ListBoxItem, TextAreaContext, TextArea as TextArea$1, TextField as TextField$1, ModalOverlay, Modal as Modal$1, Dialog as Dialog$1, Form } from 'react-aria-components';
7
+ import { Breadcrumbs, Breadcrumb as Breadcrumb$1, FieldError as FieldError$1, useContextProps, InputContext, Input as Input$1, Label as Label$1, NumberField as NumberField$1, Button as Button$1, Select as Select$1, SelectValue, Popover, ListBox, Section, Header, ListBoxItem, ModalOverlay, Modal as Modal$1, Dialog as Dialog$1, Form, Checkbox as Checkbox$1, TextAreaContext, TextArea as TextArea$1, TextField as TextField$1 } from 'react-aria-components';
8
8
  import { usePress } from 'react-aria';
9
+ import Cookies from 'js-cookie';
9
10
  import { TransitionGroup, CSSTransition, Transition } from 'react-transition-group';
10
11
  import { useHierarchicalMenu, useCurrentRefinements, useClearRefinements, useRefinementList, useHits, useDynamicWidgets, usePagination, useInstantSearch, InstantSearch, Configure, useSortBy } from 'react-instantsearch';
11
12
  import { history } from 'instantsearch.js/es/lib/routers/index.js';
@@ -992,6 +993,7 @@ const useDisclosure = (initialState = false) => {
992
993
  isClosed: !isOpen,
993
994
  isOpen,
994
995
  open,
996
+ setIsOpen,
995
997
  toggle,
996
998
  };
997
999
  };
@@ -1190,10 +1192,10 @@ function useNavigate() {
1190
1192
  };
1191
1193
  }
1192
1194
 
1193
- var styles$13 = {"link":"link-module-xLqBn","has-underline":"link-module-UuCEp","secondary":"link-module-v31wH","primary":"link-module-bGD6u"};
1195
+ var styles$15 = {"link":"link-module-xLqBn","has-underline":"link-module-UuCEp","secondary":"link-module-v31wH","primary":"link-module-bGD6u"};
1194
1196
 
1195
1197
  function Link({ children, className, color = 'primary', hasUnderline, isDisabled, onClick, ...props }) {
1196
- return (jsx("a", { className: clsx({ [styles$13['has-underline']]: hasUnderline }, styles$13['link'], styles$13[color], className), "data-disabled": isDisabled ? true : undefined, onClick: onClick, ...props, children: children }));
1198
+ return (jsx("a", { className: clsx({ [styles$15['has-underline']]: hasUnderline }, styles$15['link'], styles$15[color], className), "data-disabled": isDisabled ? true : undefined, onClick: onClick, ...props, children: children }));
1197
1199
  }
1198
1200
 
1199
1201
  function RouteLink({ children, ...props }) {
@@ -1230,6 +1232,8 @@ function Button({ _pseudo = 'none', children, className, color = 'primary', cond
1230
1232
  const onClick = (e) => {
1231
1233
  if (_onClick)
1232
1234
  _onClick(e);
1235
+ if (type === 'submit')
1236
+ return;
1233
1237
  e.stopPropagation();
1234
1238
  e.preventDefault();
1235
1239
  };
@@ -1286,24 +1290,24 @@ function SolidHomeIcon(props) {
1286
1290
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M15.039782,22 C14.6690193,22 14.3684378,21.6994185 14.3684378,21.3286559 L14.3684378,15.6029043 L9.34495251,15.6029043 L9.34495251,21.3286559 C9.34495251,21.6994185 9.04437101,22 8.67345678,22 L3.67134415,22 C3.3005815,22 3,21.6994185 3,21.3286559 L3,9.79560307 C3,9.60127857 3.08412644,9.41665514 3.23055192,9.28917706 L11.4158271,2.16495603 C11.6686612,1.94501466 12.0447291,1.94501466 12.2975632,2.16495603 L20.4828384,9.28917706 C20.6292639,9.41665514 20.7133903,9.60127857 20.7133903,9.79560307 L20.7133903,21.3286559 C20.7133903,21.6994185 20.4128088,22 20.0418946,22 L15.039782,22 Z", fillRule: "evenodd" }) }));
1287
1291
  }
1288
1292
 
1289
- var styles$12 = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
1293
+ var styles$14 = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
1290
1294
 
1291
1295
  function BreadcrumbShort({ links }) {
1292
1296
  const homeLink = links[0];
1293
1297
  const previousLink = links[links.length - 2];
1294
1298
  const isHomeLink = previousLink === undefined || previousLink === homeLink;
1295
1299
  const href = previousLink?.href || homeLink?.href;
1296
- return (jsx(Breadcrumbs, { className: styles$12.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$12.breadcrumb, children: jsxs(RouteLink, { className: styles$12.link, href: href, isDisabled: false, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: styles$12.icon }), isHomeLink ? (jsx(SolidHomeIcon, { className: styles$12.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
1300
+ return (jsx(Breadcrumbs, { className: styles$14.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$14.breadcrumb, children: jsxs(RouteLink, { className: styles$14.link, href: href, isDisabled: false, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: styles$14.icon }), isHomeLink ? (jsx(SolidHomeIcon, { className: styles$14.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
1297
1301
  }
1298
1302
  function BreadcrumbLongItem({ index, isDisabled, link, }) {
1299
- return (jsx(Breadcrumb$1, { className: styles$12.breadcrumb, children: jsxs(RouteLink, { className: styles$12.link, color: "secondary", href: link.href, isDisabled: isDisabled, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: clsx(styles$12['previous-icon'], styles$12.icon) }), link.label] }) }, index));
1303
+ return (jsx(Breadcrumb$1, { className: styles$14.breadcrumb, children: jsxs(RouteLink, { className: styles$14.link, color: "secondary", href: link.href, isDisabled: isDisabled, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: clsx(styles$14['previous-icon'], styles$14.icon) }), link.label] }) }, index));
1300
1304
  }
1301
1305
  function BreadcrumbLong({ links }) {
1302
1306
  const linksWithoutFirst = links.slice(1);
1303
1307
  const homeLink = links[0];
1304
1308
  if (!homeLink)
1305
1309
  return null;
1306
- return (jsxs(Breadcrumbs, { className: styles$12.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$12.breadcrumb, children: jsx(RouteLink, { className: styles$12.link, href: homeLink.href, children: jsx(SolidHomeIcon, { className: clsx(styles$12['home-icon'], styles$12.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
1310
+ return (jsxs(Breadcrumbs, { className: styles$14.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$14.breadcrumb, children: jsx(RouteLink, { className: styles$14.link, href: homeLink.href, children: jsx(SolidHomeIcon, { className: clsx(styles$14['home-icon'], styles$14.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
1307
1311
  }
1308
1312
  function Breadcrumb({ links }) {
1309
1313
  const { lg } = useBreakpoint();
@@ -1312,10 +1316,10 @@ function Breadcrumb({ links }) {
1312
1316
  return lg ? BreadcrumbLong({ links }) : BreadcrumbShort({ links });
1313
1317
  }
1314
1318
 
1315
- var styles$11 = {"icon-button":"icon-button-module-4PDK-","md":"icon-button-module-k3s9J","lg":"icon-button-module-agk6Y","primary":"icon-button-module-fTeP4","secondary":"icon-button-module-dM0eo","current-color":"icon-button-module-71HRy"};
1319
+ var styles$13 = {"icon-button":"icon-button-module-4PDK-","md":"icon-button-module-k3s9J","lg":"icon-button-module-agk6Y","primary":"icon-button-module-fTeP4","secondary":"icon-button-module-dM0eo","current-color":"icon-button-module-71HRy"};
1316
1320
 
1317
1321
  function IconButton({ children, className, color = 'primary', isDisabled, onClick, size = 'md', type = 'button', }) {
1318
- return (jsx("button", { className: clsx(styles$11['icon-button'], styles$11[size], styles$11[color], className), "data-disabled": isDisabled ? true : undefined, disabled: isDisabled, onClick: e => {
1322
+ return (jsx("button", { className: clsx(styles$13['icon-button'], styles$13[size], styles$13[color], className), "data-disabled": isDisabled ? true : undefined, disabled: isDisabled, onClick: e => {
1319
1323
  onClick?.(e);
1320
1324
  e.preventDefault();
1321
1325
  e.stopPropagation();
@@ -1330,21 +1334,21 @@ function StrokeFavoriteIcon(props) {
1330
1334
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M7.33319295,3.33090958 C5.12714802,3.33090958 3.33232058,5.12348359 3.33232058,7.32679321 C3.33232058,8.18447047 3.64878056,9.03643889 4.29989998,9.93107334 L11.9997744,20.2227497 L19.7053643,9.92401241 C20.351069,9.03643889 20.6673786,8.1846207 20.6673786,7.32679321 C20.6673786,5.12348359 18.8727016,3.33090958 16.6666566,3.33090958 C14.8537801,3.33090958 13.1222748,4.56251549 12.6388611,6.19569283 C12.5552338,6.47843037 12.2951771,6.67253074 11.9999248,6.67253074 C11.7046724,6.67253074 11.4447662,6.47843037 11.3609885,6.19569283 C10.8775748,4.56251549 9.14606944,3.33090958 7.33319295,3.33090958 M11.9997744,22 L11.9997744,22 C11.7898038,22 11.5918659,21.9008466 11.4662746,21.7327364 L3.22718487,10.720545 C2.41106707,9.59905954 2,8.45954615 2,7.32679321 C2,4.3895979 4.39240135,2 7.33319295,2 C9.22488362,2 11.0018124,2.98206975 11.9999248,4.46786903 C12.9978868,2.98206975 14.774966,2 16.6666566,2 C19.6072978,2 22,4.3895979 22,7.32679321 C22,8.45969638 21.5887825,9.59920978 20.777929,10.7136343 L12.5334246,21.7327364 C12.4076829,21.9008466 12.2098954,22 11.9997744,22", fillRule: "evenodd" }) }));
1331
1335
  }
1332
1336
 
1333
- var styles$10 = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
1337
+ var styles$12 = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
1334
1338
 
1335
1339
  function FavoriteButton({ isDisabled, isFavorite, onPress, }) {
1336
- return (jsx(IconButton, { className: clsx(styles$10['favorite-button'], {
1337
- [styles$10['is-favorite']]: isFavorite,
1340
+ return (jsx(IconButton, { className: clsx(styles$12['favorite-button'], {
1341
+ [styles$12['is-favorite']]: isFavorite,
1338
1342
  }), color: "secondary", isDisabled: isDisabled, onClick: onPress, children: isFavorite ? jsx(SolidFavoriteIcon, {}) : jsx(StrokeFavoriteIcon, {}) }));
1339
1343
  }
1340
1344
 
1341
- var styles$$ = {"field-error":"field-error-module-FXnIg"};
1345
+ var styles$11 = {"field-error":"field-error-module-FXnIg"};
1342
1346
 
1343
1347
  function FieldError({ children }) {
1344
- return (jsx(FieldError$1, { className: styles$$['field-error'], children: children }));
1348
+ return (jsx(FieldError$1, { className: styles$11['field-error'], children: children }));
1345
1349
  }
1346
1350
 
1347
- var styles$_ = {"input-container":"input-module-2woJR","shadow-input":"input-module-pNKEt","lg":"input-module-Dx2qC","md":"input-module-sH6e7","focus":"input-module-hEEuy","growing-input":"input-module-6HwY4"};
1351
+ var styles$10 = {"input-container":"input-module-2woJR","shadow-input":"input-module-pNKEt","lg":"input-module-Dx2qC","md":"input-module-sH6e7","focus":"input-module-hEEuy","growing-input":"input-module-6HwY4"};
1348
1352
 
1349
1353
  /**
1350
1354
  * This component is used to create an input that grows as the user types.
@@ -1360,20 +1364,20 @@ const Input = forwardRef(({ _pseudo = 'none', autoGrow, size = 'lg', ...inputPro
1360
1364
  ? onChange?.(event)
1361
1365
  : setUncontrolledValue(event.target.value);
1362
1366
  const { pressProps } = usePress({});
1363
- return (jsx("div", { className: clsx(styles$_['input-container'], styles$_[size], styles$_[_pseudo]), children: jsxs("div", { className: clsx({ [styles$_['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ...pressProps, ref: ref, onChange: handleChange, onClick: e => {
1367
+ return (jsx("div", { className: clsx(styles$10['input-container'], styles$10[size], styles$10[_pseudo]), children: jsxs("div", { className: clsx({ [styles$10['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ...pressProps, ref: ref, onChange: handleChange, onClick: e => {
1364
1368
  e.preventDefault();
1365
1369
  e.stopPropagation();
1366
1370
  e.target.focus();
1367
- } }), autoGrow && jsx("span", { className: styles$_['shadow-input'], children: value })] }) }));
1371
+ } }), autoGrow && jsx("span", { className: styles$10['shadow-input'], children: value })] }) }));
1368
1372
  });
1369
1373
  Input.displayName = 'Input';
1370
1374
 
1371
- var styles$Z = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
1375
+ var styles$$ = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
1372
1376
 
1373
1377
  function Label({ children, isRequired }) {
1374
1378
  if (!children)
1375
1379
  return null;
1376
- return (jsxs(Label$1, { className: styles$Z.label, children: [children, isRequired && jsx("span", { className: styles$Z.required, children: "*" })] }));
1380
+ return (jsxs(Label$1, { className: styles$$.label, children: [children, isRequired && jsx("span", { className: styles$$.required, children: "*" })] }));
1377
1381
  }
1378
1382
 
1379
1383
  function StrokeCollapseIcon(props) {
@@ -1388,7 +1392,7 @@ function StrokeTrashIcon(props) {
1388
1392
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M7.77273912,6.04398453 L9.07201126,6.04398453 L9.07201126,4.11757519 C9.07201126,3.84748949 9.15880324,3.63104347 9.33238719,3.46823712 C9.50597114,3.30543077 9.73570292,3.22402759 10.0215825,3.22402759 L13.3263825,3.22402759 C13.6186194,3.22402759 13.850313,3.30543077 14.0214633,3.46823712 C14.1926136,3.63104347 14.2781888,3.84748949 14.2781888,4.11757519 L14.2781888,6.04398453 L15.5846129,6.04398453 L15.5846129,4.04352264 C15.5846129,3.40769382 15.3900697,2.90814951 15.0009834,2.5448897 C14.6118971,2.1816299 14.0799703,2 13.405203,2 L9.942762,2 C9.26869007,2 8.73850162,2.1816299 8.35219662,2.5448897 C7.96589162,2.90814951 7.77273912,3.40769382 7.77273912,4.04352264 L7.77273912,6.04398453 Z M3.60955531,6.6940676 L19.7561406,6.6940676 C19.9248076,6.6940676 20.0683931,6.6332263 20.186897,6.51154371 C20.305401,6.38986111 20.3646529,6.242352 20.3646529,6.06901638 C20.3646529,5.9003494 20.3052023,5.75537328 20.186301,5.63408801 C20.0673997,5.51280275 19.9240129,5.45216011 19.7561406,5.45216011 L3.60955531,5.45216011 C3.44734496,5.45216011 3.30519982,5.51300141 3.18311989,5.63468401 C3.06103996,5.75636661 3,5.90114406 3,6.06901638 C3,6.24314666 3.06103996,6.39085444 3.18311989,6.5121397 C3.30519982,6.63342497 3.44734496,6.6940676 3.60955531,6.6940676 Z M7.56920636,22 L15.8049825,22 C16.4210441,22 16.9252074,21.8108208 17.3174724,21.4324624 C17.7097373,21.0541041 17.9209684,20.5545101 17.9511655,19.9336805 L18.6066126,6.5283806 L17.2870766,6.5283806 L16.6578534,19.8059883 C16.6444435,20.0808419 16.5455825,20.3084381 16.3612707,20.4887766 C16.1769588,20.6691152 15.9469787,20.7592845 15.6713303,20.7592845 L7.68497866,20.7592845 C7.41479362,20.7592845 7.18757,20.6677246 7.00330778,20.4846047 C6.81904556,20.3014848 6.72015983,20.0752793 6.70665057,19.8059883 L6.05358753,6.5295726 L4.76996029,6.5295726 L5.41587138,19.9420245 C5.4468632,20.562854 5.65806942,21.0610573 6.04949005,21.4366344 C6.44091068,21.8122115 6.94748278,22 7.56920636,22 Z M9.00213069,19.1375783 C9.15957307,19.1375783 9.2862223,19.0920591 9.38207839,19.0010206 C9.47793448,18.9099822 9.5230812,18.7917017 9.51751857,18.6461793 L9.2314403,8.86811345 C9.22587767,8.72338566 9.17618647,8.60729053 9.0823667,8.51982806 C8.98854694,8.43236558 8.86649184,8.38863435 8.71620142,8.38863435 C8.55945437,8.38863435 8.43436962,8.43395491 8.34094719,8.52459603 C8.24752475,8.61523714 8.20081354,8.73371626 8.20081354,8.88003338 L8.48555081,18.6485633 C8.49121278,18.7988537 8.54055631,18.9179288 8.63358142,19.0057886 C8.72660652,19.0936484 8.84945628,19.1375783 9.00213069,19.1375783 Z M11.6876904,19.1375783 C11.8451328,19.1375783 11.9717821,19.0922578 12.0676381,19.0016166 C12.1634942,18.9109755 12.2114223,18.7924964 12.2114223,18.6461793 L12.2114223,8.88003338 C12.2114223,8.73451092 12.1634942,8.61623047 12.0676381,8.52519202 C11.9717821,8.43415357 11.8451328,8.38863435 11.6876904,8.38863435 C11.5310427,8.38863435 11.4032015,8.43415357 11.3041668,8.52519202 C11.205132,8.61623047 11.1556147,8.73451092 11.1556147,8.88003338 L11.1556147,18.6461793 C11.1556147,18.7924964 11.205132,18.9109755 11.3041668,19.0016166 C11.4032015,19.0922578 11.5310427,19.1375783 11.6876904,19.1375783 Z M14.3635653,19.1387703 C14.516339,19.1387703 14.6392384,19.0948404 14.7322635,19.0069806 C14.8252886,18.9191208 14.8745825,18.802827 14.8801451,18.6580992 L15.1662234,8.88122537 C15.1662234,8.73490825 15.1194873,8.6166278 15.0260152,8.52638402 C14.9325431,8.43614023 14.8070859,8.39101833 14.6496435,8.39101833 C14.4993531,8.39101833 14.3772732,8.4345509 14.2834037,8.52161604 C14.1895343,8.60868118 14.1398183,8.7277563 14.1342556,8.87884138 L13.8483264,18.6485633 C13.8483264,18.7932911 13.8948389,18.9111742 13.987864,19.0022126 C14.0808891,19.0932511 14.2061229,19.1387703 14.3635653,19.1387703 Z" }) }));
1389
1393
  }
1390
1394
 
1391
- var styles$Y = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
1395
+ var styles$_ = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
1392
1396
 
1393
1397
  /**
1394
1398
  * This component is used to create a number field.
@@ -1396,7 +1400,7 @@ var styles$Y = {"field":"number-field-module-gmnog","button-input-container":"nu
1396
1400
  */
1397
1401
  function NumberField({ autoFocus, autoGrow, defaultValue, formatOptions = { style: 'decimal', useGrouping: false }, isDisabled, isInvalid, isReadOnly, isRequired, label, maxLength, maxValue, minValue, name, onChange, onInput, onKeyUp, placeholder, showLabel = false, size = 'lg', value, withButtons, }) {
1398
1402
  const inputRef = useRef(null);
1399
- return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$Y.field, styles$Y[size]), defaultValue: defaultValue, formatOptions: formatOptions, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxValue: maxValue, minValue: minValue, name: name, onChange: onChange, onInput: onInput, value: value, children: [showLabel && jsx(Label, { isRequired: isRequired, children: label }), jsxs("div", { className: styles$Y['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
1403
+ return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$_.field, styles$_[size]), defaultValue: defaultValue, formatOptions: formatOptions, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxValue: maxValue, minValue: minValue, name: name, onChange: onChange, onInput: onInput, value: value, children: [showLabel && jsx(Label, { isRequired: isRequired, children: label }), jsxs("div", { className: styles$_['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
1400
1404
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1401
1405
  // @ts-expect-error
1402
1406
  onClick: e => e.preventDefault(), onPressStart: e => e.target.focus(), slot: "decrement", children: (value || 0) <= 1 ? jsx(StrokeTrashIcon, {}) : jsx(StrokeCollapseIcon, {}) })), jsx(Input, { ref: inputRef, autoGrow: autoGrow, maxLength: maxLength, onFocus: e => (e.target.selectionStart = e.target.value.length || 0), onKeyUp: e => onKeyUp?.(e), placeholder: placeholder, size: size }), withButtons && (jsx(Button$1, { isDisabled: isDisabled,
@@ -1409,7 +1413,7 @@ function SolidCartIcon(props) {
1409
1413
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M7.89619008,16.6656848 C9.33405626,16.6656848 10.4996925,17.831321 10.4996925,19.2690253 C10.4996925,20.7068915 9.33405626,21.8725278 7.89619008,21.8725278 C6.45832389,21.8725278 5.29268766,20.7068915 5.29268766,19.2690253 C5.29268766,17.831321 6.45832389,16.6656848 7.89619008,16.6656848 Z M16.8207199,16.6656848 C18.2585861,16.6656848 19.4242223,17.831321 19.4242223,19.2690253 C19.4242223,20.7068915 18.2585861,21.8725278 16.8207199,21.8725278 C15.3828537,21.8725278 14.2172175,20.7068915 14.2172175,19.2690253 C14.2172175,17.831321 15.3828537,16.6656848 16.8207199,16.6656848 Z M7.89619008,18.0995047 C7.25122196,18.0995047 6.72650762,18.6242191 6.72650762,19.2690253 C6.72650762,19.9139935 7.25122196,20.4387078 7.89619008,20.4387078 C8.54115819,20.4387078 9.06587253,19.9139935 9.06587253,19.2690253 C9.06587253,18.6242191 8.54115819,18.0995047 7.89619008,18.0995047 Z M16.8207199,18.0995047 C16.1757518,18.0995047 15.6510375,18.6242191 15.6510375,19.2690253 C15.6510375,19.9139935 16.1757518,20.4387078 16.8207199,20.4387078 C17.465688,20.4387078 17.9904024,19.9139935 17.9904024,19.2690253 C17.9904024,18.6242191 17.465688,18.0995047 16.8207199,18.0995047 Z M4.58909785,3 C4.6054446,3 4.6206584,3.00372253 4.63668145,3.00485547 C4.65869291,3.00631211 4.68038067,3.0079306 4.70174473,3.01132943 C4.72958275,3.0158612 4.75628783,3.02233516 4.78299291,3.02994206 C4.8001489,3.03479753 4.81698119,3.03949115 4.83365164,3.04564141 C4.8622989,3.05616159 4.88948953,3.06862396 4.91619461,3.08254297 L4.956495,3.10439258 C4.98287638,3.12025378 5.00763927,3.13789532 5.03175477,3.15699349 L5.06736154,3.18645 C5.08921115,3.20603373 5.10911857,3.22707409 5.1283786,3.2492474 C5.13986987,3.26251902 5.1511993,3.27562878 5.16171948,3.28970964 C5.17806623,3.31155925 5.19230894,3.33421811 5.2060661,3.35768621 C5.21626258,3.37500405 5.22597352,3.39216004 5.23455152,3.41028712 C5.24555725,3.43326967 5.25462079,3.45706147 5.26319878,3.48150066 C5.27032014,3.50205548 5.27711779,3.52244845 5.28245881,3.54381251 C5.28860907,3.56825171 5.29249345,3.59317645 5.29605412,3.61858673 C5.29799631,3.63299129 5.30252808,3.64642476 5.30382287,3.66115301 L5.510504,6.30738355 L21.2869744,6.30772748 C21.3139222,6.30835464 21.3370666,6.31256272 21.3603729,6.3151523 C21.3861069,6.31790373 21.4120027,6.31936037 21.4369275,6.32486324 C21.4591008,6.32923316 21.4726961,6.33603082 21.4875862,6.34056259 C21.5163953,6.34914058 21.5452044,6.35723303 21.5722332,6.36920985 C21.5918169,6.37778785 21.6092966,6.38911728 21.6275855,6.39931376 C21.6497588,6.41145243 21.6722559,6.42278186 21.6928107,6.43718642 C21.711747,6.45029618 21.7280937,6.46583368 21.7455734,6.48072379 C21.763215,6.49577574 21.7815039,6.51001845 21.7976888,6.52668889 C21.8132263,6.54287379 21.8261742,6.56067718 21.8400932,6.57815686 C21.8551452,6.59676949 21.8706827,6.61473473 21.8836306,6.634804 C21.8954456,6.65293108 21.9043473,6.67251481 21.9145437,6.69161299 C21.9258732,6.71330075 21.9381737,6.73434111 21.9473991,6.75716182 C21.9559771,6.77868773 21.9614799,6.80134658 21.9679539,6.82368174 C21.9744279,6.8456932 21.9820348,6.86705726 21.9864047,6.89003981 C21.9915839,6.91658304 21.9925549,6.94393552 21.994659,6.97128799 C21.9959538,6.98909138 22,7.00608552 22,7.0242126 C21.9988671,7.05496391 21.994659,7.07794646 21.9922312,7.10109086 C21.9894798,7.1269867 21.9880232,7.15320623 21.9825203,7.17813097 L20.5915903,13.2322533 L20.587706,13.2487619 C20.5797754,13.2835594 20.5681222,13.3164147 20.555498,13.3486227 C20.5524229,13.3567151 20.5499951,13.3651313 20.5465963,13.3730619 C20.5299259,13.4117438 20.5096948,13.4483216 20.4870359,13.4827955 C20.4797527,13.4938012 20.4710129,13.5031884 20.4632441,13.5137086 C20.445117,13.5381478 20.4265044,13.5619396 20.4056259,13.5836274 C20.3944583,13.5952805 20.3823196,13.605477 20.3705046,13.6163208 C20.3505972,13.6344479 20.3302043,13.6517658 20.3083546,13.6674651 C20.2941119,13.6778235 20.2795455,13.6872107 20.2646554,13.6964361 C20.2424821,13.7101932 20.2198233,13.7223319 20.1963552,13.7334995 L20.148286,13.7550254 C20.1214191,13.7655456 20.0935811,13.7734762 20.0654194,13.7807594 C20.0513385,13.7843201 20.037905,13.7888518 20.0235005,13.7916033 C19.9798012,13.8000194 19.9351309,13.8053604 19.8898132,13.8053604 L6.09623539,13.8051986 L6.20774933,15.2317353 L19.411064,15.2317353 C19.8069466,15.2317353 20.1278931,15.5528437 20.1278931,15.9487262 C20.1278931,16.3446088 19.8069466,16.6657172 19.411064,16.6657172 L5.54384488,16.6657172 C5.49593759,16.6657172 5.44932509,16.660538 5.40384553,16.6514744 C5.38863173,16.6483993 5.37471272,16.6425728 5.35998446,16.6386884 C5.33052795,16.6307578 5.30090959,16.6231509 5.27290972,16.6116596 C5.25543003,16.6043764 5.23940699,16.5945036 5.22257469,16.5859256 C5.19910659,16.5741106 5.17547665,16.5627812 5.15362704,16.5485385 C5.13711844,16.5376946 5.12255203,16.5249086 5.10701453,16.5127699 C5.08694526,16.4972324 5.06687599,16.4821804 5.04874891,16.4647007 C5.03434435,16.4509436 5.02204383,16.4357298 5.00893406,16.4208397 C4.99226362,16.4019033 4.97575503,16.3834526 4.96118862,16.3628977 C4.94937364,16.3463891 4.93966271,16.3285858 4.92930437,16.3111061 C4.91668015,16.2899039 4.90437963,16.2688635 4.8940213,16.2462046 C4.88511961,16.2267828 4.87832195,16.2065516 4.87103875,16.1861587 C4.86310815,16.163338 4.8553394,16.1406791 4.84967468,16.1168873 C4.84433367,16.0950377 4.84109669,16.0728644 4.83785971,16.0502055 L4.82992911,16.0045641 L3.92600265,4.43381996 L2.7169909,4.43381996 C2.32110834,4.43381996 2,4.11287347 2,3.7169909 C2,3.32094649 2.32110834,3 2.7169909,3 Z", fillRule: "evenodd" }) }));
1410
1414
  }
1411
1415
 
1412
- var styles$X = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
1416
+ var styles$Z = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
1413
1417
 
1414
1418
  function AddToCartButton({ initialState = 'initial', isDisabled = false, onChange, quantity, }) {
1415
1419
  const [currentState, setState] = useState(initialState);
@@ -1501,7 +1505,7 @@ function ManualInputState({ isDisabled, onCancel, onConfirm, quantity, }) {
1501
1505
  e.key === 'Enter' && onConfirm(ensureNumber(updatedQuantity));
1502
1506
  e.key === 'Escape' && onCancel();
1503
1507
  };
1504
- return (jsxs("div", { className: styles$X['manual-input-container'], children: [jsx("div", { className: styles$X['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
1508
+ return (jsxs("div", { className: styles$Z['manual-input-container'], children: [jsx("div", { className: styles$Z['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
1505
1509
  maximumFractionDigits: 0,
1506
1510
  style: 'decimal',
1507
1511
  useGrouping: false,
@@ -1555,12 +1559,12 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
1555
1559
  return (jsx(AddToCartButton, { isDisabled: isPendingDeleteCartLine || isLoadingCartLines || isPendingAddToCart, onChange: handleChange, quantity: quantity }));
1556
1560
  };
1557
1561
 
1558
- var styles$W = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
1562
+ var styles$Y = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
1559
1563
 
1560
1564
  function Tag({ children }) {
1561
1565
  if (!children)
1562
1566
  return null;
1563
- return (jsxs("div", { className: styles$W.tag, children: [jsx("div", { className: styles$W.body, children: children }), jsx("svg", { className: styles$W.shape, height: "16", viewBox: "0 0 9 16", width: "9", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1.92461763,0 L0,0 L0,16 L1.92461763,16 L6.4117887,16 L8.87489381,7.57121588 C9.23711515,6.3325062 8.79482383,4.99454094 7.78060408,4.2560794 L1.92461763,0 Z", fill: "currentColor" }) })] }));
1567
+ return (jsxs("div", { className: styles$Y.tag, children: [jsx("div", { className: styles$Y.body, children: children }), jsx("svg", { className: styles$Y.shape, height: "16", viewBox: "0 0 9 16", width: "9", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1.92461763,0 L0,0 L0,16 L1.92461763,16 L6.4117887,16 L8.87489381,7.57121588 C9.23711515,6.3325062 8.79482383,4.99454094 7.78060408,4.2560794 L1.92461763,0 Z", fill: "currentColor" }) })] }));
1564
1568
  }
1565
1569
 
1566
1570
  const IntlContext = createContext({
@@ -1596,7 +1600,7 @@ function useFormattedMessage() {
1596
1600
 
1597
1601
  const FormattedMessage = ({ fallbackValue, id, optional, replacementValues, }) => useFormattedMessage()(id, { fallbackValue, optional, replacementValues });
1598
1602
 
1599
- var styles$V = {"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"};
1603
+ var styles$X = {"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"};
1600
1604
 
1601
1605
  const formatPrice = (price) => new Intl.NumberFormat('en-US', {
1602
1606
  maximumFractionDigits: 2,
@@ -1609,22 +1613,22 @@ function ProductPrice({ className, isVatIncluded, originalPrice, price, }) {
1609
1613
  const priceWithCurrency = formatPrice(price);
1610
1614
  const [wholes, decimals] = priceWithCurrency.split('.');
1611
1615
  const showOriginalPrice = priceWithCurrency !== originalPriceWithCurrency;
1612
- return (jsxs("div", { className: clsx(className, styles$V['product-price']), children: [jsx("span", { className: clsx(styles$V['original-price'], {
1613
- [styles$V['is-hidden']]: !showOriginalPrice,
1614
- }), children: originalPriceWithCurrency }), jsxs("div", { className: styles$V['current-price-wrapper'], children: [jsxs("div", { className: styles$V['current-price'], children: [jsx("span", { className: styles$V.wholes, children: wholes }), jsx("span", { className: styles$V.dot, children: "." }), jsx("span", { className: styles$V.decimals, children: decimals })] }), jsx("span", { className: styles$V.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
1616
+ return (jsxs("div", { className: clsx(className, styles$X['product-price']), children: [jsx("span", { className: clsx(styles$X['original-price'], {
1617
+ [styles$X['is-hidden']]: !showOriginalPrice,
1618
+ }), children: originalPriceWithCurrency }), jsxs("div", { className: styles$X['current-price-wrapper'], children: [jsxs("div", { className: styles$X['current-price'], children: [jsx("span", { className: styles$X.wholes, children: wholes }), jsx("span", { className: styles$X.dot, children: "." }), jsx("span", { className: styles$X.decimals, children: decimals })] }), jsx("span", { className: styles$X.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
1615
1619
  }
1616
1620
 
1617
- var styles$U = {"product-sku":"product-sku-module-ITb8x"};
1621
+ var styles$W = {"product-sku":"product-sku-module-ITb8x"};
1618
1622
 
1619
1623
  function ProductSku({ sku }) {
1620
- return (jsx("p", { className: styles$U['product-sku'], "data-test-selector": "productNumber", children: sku }));
1624
+ return (jsx("p", { className: styles$W['product-sku'], "data-test-selector": "productNumber", children: sku }));
1621
1625
  }
1622
1626
 
1623
1627
  function isResponsiveImage(image) {
1624
1628
  return Boolean(image?.lg);
1625
1629
  }
1626
1630
 
1627
- var styles$T = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B","picture":"image-module-pNYjR"};
1631
+ var styles$V = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B","picture":"image-module-pNYjR"};
1628
1632
 
1629
1633
  function Image({ className, fallbackSrc = 'https://res.cloudinary.com/dkz9eknwh/image/upload/v1716545808/images/product-card/fallback_p6ngjz.svg', fit = 'cover', height, image, loading = 'eager', title, width, }) {
1630
1634
  const [hasError, setHasError] = useState(false);
@@ -1648,26 +1652,26 @@ function Image({ className, fallbackSrc = 'https://res.cloudinary.com/dkz9eknwh/
1648
1652
  }
1649
1653
  function ImageComponent({ className, fallbackSrc, fit = 'cover', hasError, image, ...rest }) {
1650
1654
  if (!image)
1651
- return (jsx("img", { className: clsx(styles$T.image, className, styles$T[fit], styles$T['has-error']), src: fallbackSrc, ...rest }));
1655
+ return (jsx("img", { className: clsx(styles$V.image, className, styles$V[fit], styles$V['has-error']), src: fallbackSrc, ...rest }));
1652
1656
  const srcSet = !hasError
1653
1657
  ? `${image[1]} 1x, ${image[2]} 2x, ${image[3]} 3x`
1654
1658
  : undefined;
1655
- return (jsx("img", { alt: image.altText, className: clsx(styles$T.image, className, styles$T[fit], {
1656
- [styles$T['has-error']]: hasError,
1659
+ return (jsx("img", { alt: image.altText, className: clsx(styles$V.image, className, styles$V[fit], {
1660
+ [styles$V['has-error']]: hasError,
1657
1661
  }), src: !hasError ? image[3] : fallbackSrc, srcSet: srcSet, ...rest }));
1658
1662
  }
1659
1663
  function PictureComponent({ className, fallbackSrc, fit = 'cover', hasError, image, ...rest }) {
1660
1664
  if (!image)
1661
- return (jsx("picture", { className: clsx(styles$T.picture, className), children: jsx("img", { className: clsx(styles$T[fit], styles$T['has-error']), src: fallbackSrc, ...rest }) }));
1662
- return (jsxs("picture", { className: clsx(styles$T.picture, className), children: [jsx("source", { media: "(max-width: 768px)", srcSet: `${image.sm[1]} 1x, ${image.sm[2]} 2x, ${image.sm[3]} 3x` }), jsx("source", { media: "(max-width: 1439px)", srcSet: `${image.md[1]} 1x, ${image.md[2]} 2x, ${image.md[3]} 3x` }), jsx("source", { media: "(min-width: 1440px)", srcSet: `${image.lg[1]} 1x, ${image.lg[2]} 2x, ${image.lg[3]} 3x` }), jsx("img", { className: clsx(styles$T[fit], {
1663
- [styles$T['has-error']]: hasError,
1665
+ return (jsx("picture", { className: clsx(styles$V.picture, className), children: jsx("img", { className: clsx(styles$V[fit], styles$V['has-error']), src: fallbackSrc, ...rest }) }));
1666
+ return (jsxs("picture", { className: clsx(styles$V.picture, className), children: [jsx("source", { media: "(max-width: 768px)", srcSet: `${image.sm[1]} 1x, ${image.sm[2]} 2x, ${image.sm[3]} 3x` }), jsx("source", { media: "(max-width: 1439px)", srcSet: `${image.md[1]} 1x, ${image.md[2]} 2x, ${image.md[3]} 3x` }), jsx("source", { media: "(min-width: 1440px)", srcSet: `${image.lg[1]} 1x, ${image.lg[2]} 2x, ${image.lg[3]} 3x` }), jsx("img", { className: clsx(styles$V[fit], {
1667
+ [styles$V['has-error']]: hasError,
1664
1668
  }), src: !hasError ? image.lg[3] : fallbackSrc, ...rest })] }));
1665
1669
  }
1666
1670
 
1667
- var styles$S = {"product-card-container":"product-card-module-LepTy","product-card":"product-card-module-pLaiB","favorite-button":"product-card-module-tvEdz","content":"product-card-module-e0kMu","top":"product-card-module-Q0VvF","tag":"product-card-module-HkWBE","title":"product-card-module-CStNi","bottom":"product-card-module-kD2tU","image":"product-card-module-p-zoi","price":"product-card-module-irW0D","add-to-cart-button":"product-card-module-SnCvX"};
1671
+ var styles$U = {"product-card-container":"product-card-module-LepTy","product-card":"product-card-module-pLaiB","favorite-button":"product-card-module-tvEdz","content":"product-card-module-e0kMu","top":"product-card-module-Q0VvF","tag":"product-card-module-HkWBE","title":"product-card-module-CStNi","bottom":"product-card-module-kD2tU","image":"product-card-module-p-zoi","price":"product-card-module-irW0D","add-to-cart-button":"product-card-module-SnCvX"};
1668
1672
 
1669
1673
  function ProductCard({ addToCartButton: AddToCartButton, favoriteButton: FavoriteButton, href, id, image, onClick, price, sku, tags, title, }) {
1670
- return (jsx("div", { className: styles$S['product-card-container'], children: jsxs(RouteLink, { className: styles$S['product-card'], "data-product-id": sku, href: href, id: id, onClick: onClick, children: [jsx("div", { className: styles$S.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$S['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$S.content, children: [jsxs("div", { className: styles$S.top, children: [jsx("div", { className: styles$S.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$S.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$S.bottom, children: [jsx("div", { className: styles$S.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$S['add-to-cart-button'], children: AddToCartButton })] })] })] }) }));
1674
+ return (jsx("div", { className: styles$U['product-card-container'], children: jsxs(RouteLink, { className: styles$U['product-card'], "data-product-id": sku, href: href, id: id, onClick: onClick, children: [jsx("div", { className: styles$U.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$U['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$U.content, children: [jsxs("div", { className: styles$U.top, children: [jsx("div", { className: styles$U.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$U.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$U.bottom, children: [jsx("div", { className: styles$U.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$U['add-to-cart-button'], children: AddToCartButton })] })] })] }) }));
1671
1675
  }
1672
1676
 
1673
1677
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -7446,13 +7450,13 @@ function GlyphsArrowBoldCapsLeftIcon(props) {
7446
7450
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "11", viewBox: "0 0 11 11", width: "11", children: jsx("path", { d: "M2.31124163,11 C2.06716529,11 1.91839241,10.7730596 2.04771379,10.5980857 L6.08820761,5.13116556 C6.42092595,4.68081431 6.37243043,4.10595375 5.96732409,3.70073526 L2.70240329,0.432177991 C2.53178078,0.261409485 2.67540212,0 2.93972934,0 L5.48361239,0 C5.57518542,0 5.6619622,0.0340936243 5.72102726,0.0931942463 L8.14882304,2.52367916 C9.1607451,3.53657521 9.28198389,4.9729381 8.45036569,6.09787751 L4.91836426,10.876542 C4.86160851,10.9533653 4.7620417,11 4.65492523,11 L2.31124163,11 Z", fillRule: "evenodd", transform: "matrix(-1 0 0 1 11 0)" }) }));
7447
7451
  }
7448
7452
 
7449
- var styles$R = {"carousel-navigation-button":"carousel-navigation-button-module-a1-I4"};
7453
+ var styles$T = {"carousel-navigation-button":"carousel-navigation-button-module-a1-I4"};
7450
7454
 
7451
7455
  const CarouselNavigationButton = forwardRef(function NavigationButton({ className, direction, onClick }, ref) {
7452
- return (jsx(Button$1, { ref: ref, className: clsx(styles$R['carousel-navigation-button'], className), onPress: () => (onClick ? onClick(direction) : undefined), children: direction === 'previous' ? (jsx(GlyphsArrowBoldCapsLeftIcon, {})) : (jsx(GlyphsArrowBoldCapsRightIcon, {})) }));
7456
+ return (jsx("button", { ref: ref, className: clsx(styles$T['carousel-navigation-button'], className), onClick: () => onClick?.(direction), children: direction === 'previous' ? (jsx(GlyphsArrowBoldCapsLeftIcon, {})) : (jsx(GlyphsArrowBoldCapsRightIcon, {})) }));
7453
7457
  });
7454
7458
 
7455
- var styles$Q = {"carousel":"carousel-module-ealh-","swiper":"carousel-module-IftbN","is-ready":"carousel-module-RCpfc","has-overflow":"carousel-module-tPg7k","slide":"carousel-module-bUMlb","navigation-button-next":"carousel-module-T7bTr","is-dragging":"carousel-module-34OWD","navigation-button-prev":"carousel-module-984Rr","navigation-buttons":"carousel-module-k7Z4S","navigation-button":"carousel-module-kcqEE","top":"carousel-module-nL-O8","center":"carousel-module-5SGYn"};
7459
+ var styles$S = {"carousel":"carousel-module-ealh-","swiper":"carousel-module-IftbN","is-ready":"carousel-module-RCpfc","has-overflow":"carousel-module-tPg7k","slide":"carousel-module-bUMlb","navigation-button-next":"carousel-module-T7bTr","is-dragging":"carousel-module-34OWD","navigation-button-prev":"carousel-module-984Rr","navigation-buttons":"carousel-module-k7Z4S","navigation-button":"carousel-module-kcqEE","top":"carousel-module-nL-O8","center":"carousel-module-5SGYn"};
7456
7460
 
7457
7461
  function generateSlidesPerViewBreakpoints(slidesPerView) {
7458
7462
  return Object.keys(slidesPerView).reduce((result, breakpoint) => ({
@@ -7491,12 +7495,12 @@ function Carousel({ breakpoints: _breakpoints, className, hasNavigation = true,
7491
7495
  }
7492
7496
  if (slides.length === 0)
7493
7497
  return null;
7494
- return (jsxs("div", { className: clsx(styles$Q.carousel, className), style: spaceBetween !== undefined
7498
+ return (jsxs("div", { className: clsx(styles$S.carousel, className), style: spaceBetween !== undefined
7495
7499
  ? { '--column-gap': `${spaceBetween}px` }
7496
- : undefined, children: [jsx(Swiper, { breakpoints: _breakpoints, className: clsx(styles$Q.swiper, {
7497
- [styles$Q['is-dragging']]: isDragging,
7498
- [styles$Q['has-overflow']]: hasOverflow,
7499
- [styles$Q['is-ready']]: isReady,
7500
+ : undefined, children: [jsx(Swiper, { breakpoints: _breakpoints, className: clsx(styles$S.swiper, {
7501
+ [styles$S['is-dragging']]: isDragging,
7502
+ [styles$S['has-overflow']]: hasOverflow,
7503
+ [styles$S['is-ready']]: isReady,
7500
7504
  }), freeMode: {
7501
7505
  enabled: false,
7502
7506
  sticky: true,
@@ -7507,19 +7511,19 @@ function Carousel({ breakpoints: _breakpoints, className, hasNavigation = true,
7507
7511
  }, onBeforeInit: swiper => (swiperRef.current = swiper), onSliderMove: () => setIsDragging(true), onSlidesUpdated: () => {
7508
7512
  if (!isReady)
7509
7513
  setIsReady(true);
7510
- }, onTouchEnd: () => setIsDragging(false), slidesPerGroupAuto: slidesPerView === 'auto', slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: slides.map((slide, index) => (jsx(SwiperSlide, { className: clsx(styles$Q.slide, slideClasses), children: slide }, index))) }), hasNavigation && (jsxs("div", { className: clsx(styles$Q['navigation-buttons'], styles$Q[navigationButtonsPosition]), children: [jsx(CarouselNavigationButton, { ref: prevEl, className: clsx(styles$Q['navigation-button'], styles$Q['navigation-button-prev']), direction: "previous", onClick: direction => handleNavigationButtonClick(direction) }), jsx(CarouselNavigationButton, { ref: nextEl, className: clsx(styles$Q['navigation-button'], styles$Q['navigation-button-next']), direction: "next", onClick: direction => handleNavigationButtonClick(direction) })] }))] }));
7514
+ }, onTouchEnd: () => setIsDragging(false), slidesPerGroupAuto: slidesPerView === 'auto', slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: slides.map((slide, index) => (jsx(SwiperSlide, { className: clsx(styles$S.slide, slideClasses), children: slide }, index))) }), hasNavigation && (jsxs("div", { className: clsx(styles$S['navigation-buttons'], styles$S[navigationButtonsPosition]), children: [jsx(CarouselNavigationButton, { ref: prevEl, className: clsx(styles$S['navigation-button'], styles$S['navigation-button-prev']), direction: "previous", onClick: direction => handleNavigationButtonClick(direction) }), jsx(CarouselNavigationButton, { ref: nextEl, className: clsx(styles$S['navigation-button'], styles$S['navigation-button-next']), direction: "next", onClick: direction => handleNavigationButtonClick(direction) })] }))] }));
7511
7515
  }
7512
7516
 
7513
- var styles$P = {"slide":"category-carousel-module-muLq-"};
7517
+ var styles$R = {"slide":"category-carousel-module-muLq-"};
7514
7518
 
7515
7519
  function CategoryCarousel({ categoryCards }) {
7516
- return jsx(Carousel, { slideClasses: styles$P.slide, slides: categoryCards });
7520
+ return jsx(Carousel, { slideClasses: styles$R.slide, slides: categoryCards });
7517
7521
  }
7518
7522
 
7519
- var styles$O = {"accordion":"accordion-module-9WvAH","indented":"accordion-module-6CcEH","white":"accordion-module-CaVdG","accordion-item":"accordion-module-lf9d-","lg":"accordion-module-0qnae","with-seperators":"accordion-module-yOLrW","button":"accordion-module--Rwpb","icon":"accordion-module-Y50uq","focus":"accordion-module-M4BZs","panel":"accordion-module-KZjMo","content":"accordion-module-ejMH3","border-type-bottom":"accordion-module-oTdZK","border-type-top":"accordion-module-0mrLq","border-type-middle":"accordion-module-aAr-R","is-open":"accordion-module-W0F1z","border-type-middle-accentuated":"accordion-module-OB98a"};
7523
+ var styles$Q = {"accordion":"accordion-module-9WvAH","indented":"accordion-module-6CcEH","white":"accordion-module-CaVdG","accordion-item":"accordion-module-lf9d-","lg":"accordion-module-0qnae","with-seperators":"accordion-module-yOLrW","button":"accordion-module--Rwpb","icon":"accordion-module-Y50uq","focus":"accordion-module-M4BZs","panel":"accordion-module-KZjMo","content":"accordion-module-ejMH3","border-type-bottom":"accordion-module-oTdZK","border-type-top":"accordion-module-0mrLq","border-type-middle":"accordion-module-aAr-R","is-open":"accordion-module-W0F1z","border-type-middle-accentuated":"accordion-module-OB98a"};
7520
7524
 
7521
7525
  function Accordion({ borderType = 'bottom', children, color = 'black', hasLineSeparator = true, indented, size = 'md', }) {
7522
- return (jsx("div", { className: clsx({ [styles$O.indented]: indented }, styles$O.accordion, styles$O[color], styles$O[size], hasLineSeparator && styles$O['with-seperators']), children: Boolean(children) &&
7526
+ return (jsx("div", { className: clsx({ [styles$Q.indented]: indented }, styles$Q.accordion, styles$Q[color], styles$Q[size], hasLineSeparator && styles$Q['with-seperators']), children: Boolean(children) &&
7523
7527
  Children.map(children, child => {
7524
7528
  if (!child)
7525
7529
  return null;
@@ -7556,7 +7560,7 @@ function useResizeObserver(resizeCallback) {
7556
7560
  };
7557
7561
  }
7558
7562
 
7559
- var styles$N = {"show-all":"show-all-module-BDp21","panel":"show-all-module-bEdda","content":"show-all-module-RF--F","has-transparency":"show-all-module-30y7l","button":"show-all-module-58e7Q","icon":"show-all-module-fqncI","is-open":"show-all-module-hQeGI","content-fits":"show-all-module-OhPfm"};
7563
+ var styles$P = {"show-all":"show-all-module-BDp21","panel":"show-all-module-bEdda","content":"show-all-module-RF--F","has-transparency":"show-all-module-30y7l","button":"show-all-module-58e7Q","icon":"show-all-module-fqncI","is-open":"show-all-module-hQeGI","content-fits":"show-all-module-OhPfm"};
7560
7564
 
7561
7565
  function ShowAll({ children, hasTransparency = true, initialHeight = 0, initialIsOpen = false, isOpen: isControlledOpen, onToggle, }) {
7562
7566
  const isControlled = isControlledOpen !== undefined && onToggle !== undefined;
@@ -7567,53 +7571,25 @@ function ShowAll({ children, hasTransparency = true, initialHeight = 0, initialI
7567
7571
  const { ref } = useResizeObserver((_target, size) => {
7568
7572
  setContentFits((size.height || 0) <= initialHeight);
7569
7573
  });
7570
- return (jsxs("div", { ref: showAllRef, className: clsx(styles$N['show-all'], {
7571
- [styles$N['content-fits']]: contentFits,
7572
- [styles$N['is-open']]: isReallyOpen,
7573
- }), style: contentFits ? undefined : { '--initital-height': `${initialHeight}px` }, children: [jsx("div", { className: styles$N.panel, children: jsx("div", { className: clsx(styles$N.content, {
7574
- [styles$N['has-transparency']]: !contentFits && hasTransparency,
7575
- }), children: jsx("div", { ref: ref, children: children }) }) }), !contentFits && (jsxs(RouteLink, { className: styles$N.button, color: "secondary", onClick: () => {
7574
+ return (jsxs("div", { ref: showAllRef, className: clsx(styles$P['show-all'], {
7575
+ [styles$P['content-fits']]: contentFits,
7576
+ [styles$P['is-open']]: isReallyOpen,
7577
+ }), style: contentFits ? undefined : { '--initital-height': `${initialHeight}px` }, children: [jsx("div", { className: styles$P.panel, children: jsx("div", { className: clsx(styles$P.content, {
7578
+ [styles$P['has-transparency']]: !contentFits && hasTransparency,
7579
+ }), children: jsx("div", { ref: ref, children: children }) }) }), !contentFits && (jsxs(RouteLink, { className: styles$P.button, color: "secondary", onClick: () => {
7576
7580
  if (isControlled)
7577
7581
  return onToggle(!isControlled);
7578
7582
  toggle();
7579
- }, children: [jsx(GlyphsChevronsSlimDownIcon, { className: styles$N.icon }), isReallyOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] }))] }));
7580
- }
7581
-
7582
- var styles$M = {"multi-select":"multi-select-module-DC7Ix","filter-item":"multi-select-module-OW-NK"};
7583
-
7584
- function MultiSelect({ amountShown = 3, onChange, options, render, }) {
7585
- const shownOptions = options.slice(0, amountShown);
7586
- const hiddenOptions = options.slice(amountShown);
7587
- const hiddenSelectedOptions = hiddenOptions.filter(option => option.isSelected);
7588
- const { isOpen, toggle } = useDisclosure();
7589
- if (options.length < 2 &&
7590
- options.filter(option => option.isSelected).length === 0) {
7591
- return null;
7592
- }
7593
- return (jsxs("div", { className: styles$M['multi-select'], children: [jsx("div", { className: styles$M['filter-items'], children: shownOptions
7594
- .concat(isOpen ? [] : hiddenSelectedOptions)
7595
- .map(option => (jsxs("div", { className: styles$M['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }), hiddenOptions.length > 0 && (jsx(ShowAll, { hasTransparency: false, isOpen: isOpen, onToggle: toggle, children: jsx("div", { className: clsx(styles$M['filter-items'], styles$M['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$M['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
7596
- }
7597
-
7598
- var styles$L = {"checkbox":"checkbox-module-YNVdd","box":"checkbox-module-UKoyf","checkmark":"checkbox-module-pHIwh","focus":"checkbox-module-v23jy","active":"checkbox-module-7UG-b","color-checkbox":"checkbox-module-nEhvW"};
7599
-
7600
- function Checkbox({ _pseudo = 'none', children, className, isDisabled, isSelected, onChange, value, }) {
7601
- return (jsxs(Checkbox$1, { className: clsx(className, styles$L.checkbox, styles$L[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$L.box, children: jsx("svg", { "aria-hidden": "true", className: styles$L.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
7602
- }
7603
-
7604
- function ColorCheckbox({ _pseudo = 'none', children, className, color, isDisabled, isSelected, onChange, value, }) {
7605
- return (jsxs(Checkbox$1, { className: clsx(className, styles$L.checkbox, styles$L['color-checkbox'], styles$L[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
7606
- '--selected-color': color,
7607
- }, value: value, children: [jsx("div", { className: styles$L.box }), children] }));
7583
+ }, children: [jsx(GlyphsChevronsSlimDownIcon, { className: styles$P.icon }), isReallyOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] }))] }));
7608
7584
  }
7609
7585
 
7610
7586
  function StrokeCheckmarkIcon(props) {
7611
7587
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M10.8641425,17 C10.6636971,17 10.4855234,16.9548533 10.3296214,16.8645598 C10.1737194,16.7742664 10.0252413,16.6388262 9.88418708,16.4582393 L6.27839644,12.2189616 C6.09279881,11.9857035 6,11.744921 6,11.496614 C6,11.2332581 6.08723088,11.0094056 6.26169265,10.8250564 C6.43615442,10.6407073 6.65330364,10.5485327 6.91314031,10.5485327 C7.06904232,10.5485327 7.21195249,10.5823928 7.34187082,10.6501129 C7.47178916,10.717833 7.59985152,10.8382242 7.72605791,11.0112867 L10.8195991,14.7200903 L16.2405345,6.53047404 C16.4558278,6.17682468 16.7230883,6 17.0423163,6 C17.2873051,6 17.5081663,6.08088789 17.7048998,6.24266366 C17.9016333,6.40443943 18,6.61700527 18,6.88036117 C18,7.00075245 17.9721604,7.12302483 17.9164811,7.24717833 C17.8608018,7.37133183 17.7958426,7.48984199 17.7216036,7.6027088 L11.7884187,16.4469526 C11.5582777,16.8156509 11.2501856,17 10.8641425,17 Z", fillRule: "evenodd" }) }));
7612
7588
  }
7613
7589
 
7614
- var styles$K = {"select":"select-module-ui-Wc","sm":"select-module-44a1l","md":"select-module-QUm-8","solid":"select-module-IRd4F","button":"select-module-aMQIQ","chevron":"select-module-00uRU","focus":"select-module-XMc0P","popover":"select-module-z8cWq","listbox":"select-module-S21ba","header":"select-module-4Bm2j","item":"select-module-LgEJO","check":"select-module-lQFw3"};
7590
+ var styles$O = {"select":"select-module-ui-Wc","sm":"select-module-44a1l","md":"select-module-QUm-8","button":"select-module-aMQIQ","chevron":"select-module-00uRU","focus":"select-module-XMc0P","solid":"select-module-IRd4F","popover":"select-module-z8cWq","listbox":"select-module-S21ba","header":"select-module-4Bm2j","item":"select-module-LgEJO","check":"select-module-lQFw3"};
7615
7591
 
7616
- function Select({ isDisabled = false, label, onChange, options, placeholder, selectedOption, showLabel = true, size = 'md', variant = 'outline', }) {
7592
+ function Select({ isDisabled = false, label, onChange, options, placeholder, selectedOption, showLabel = true, showPlaceholder = true, size = 'md', variant = 'outline', }) {
7617
7593
  const selectRef = useRef(null);
7618
7594
  useEffect(() => {
7619
7595
  const updateWidth = () => {
@@ -7628,12 +7604,308 @@ function Select({ isDisabled = false, label, onChange, options, placeholder, sel
7628
7604
  window.addEventListener('resize', updateWidth);
7629
7605
  return () => window.removeEventListener('resize', updateWidth);
7630
7606
  }, []);
7631
- return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$K.select, styles$K[size], styles$K[variant]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: placeholder || label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$K.button, children: [jsx(SelectValue, {}), jsx(GlyphsChevronsSlimDownIcon, { "aria-hidden": "true", className: styles$K.chevron })] }), jsx(Popover, { ref: ref =>
7607
+ return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$O.select, styles$O[size], styles$O[variant]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: placeholder || label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$O.button, children: [jsx(SelectValue, {}), jsx(GlyphsChevronsSlimDownIcon, { "aria-hidden": "true", className: styles$O.chevron })] }), jsx(Popover, { ref: ref =>
7632
7608
  // Workaround for react/react-aria #1513
7633
- ref?.addEventListener('touchend', e => e.preventDefault()), className: clsx(styles$K.popover, styles$K[variant]), placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$K.listbox, children: jsxs(Section, { children: [jsx(Header, { className: styles$K.header, children: placeholder || label }), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$K.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(StrokeCheckmarkIcon, { className: styles$K.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
7609
+ ref?.addEventListener('touchend', e => e.preventDefault()), className: clsx(styles$O.popover, styles$O[variant]), placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$O.listbox, children: jsxs(Section, { children: [showPlaceholder && (jsx(Header, { className: styles$O.header, children: placeholder || label })), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$O.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(StrokeCheckmarkIcon, { className: styles$O.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
7610
+ }
7611
+
7612
+ function StrokeCloseboxIcon(props) {
7613
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M8,8 L16,16 M16,8 L8,16", fill: "currentColor", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.4" }) }));
7614
+ }
7615
+
7616
+ var styles$N = {"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"};
7617
+
7618
+ function Modal({ children, className, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, }) {
7619
+ return (jsx(ModalOverlay, { className: clsx(styles$N['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Modal$1, { className: clsx(styles$N.modal, {
7620
+ [styles$N['is-full-screen']]: isFullScreen,
7621
+ }), children: jsx("div", { className: styles$N.content, children: children }) }) }));
7622
+ }
7623
+
7624
+ var styles$M = {"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"};
7625
+
7626
+ const sizeToTag = {
7627
+ l: 'h3',
7628
+ m: 'h4',
7629
+ s: 'h5',
7630
+ xl: 'h2',
7631
+ xs: 'h6',
7632
+ xxl: 'h1',
7633
+ xxs: 'h6',
7634
+ };
7635
+ function Heading({ bold = true, children, className, italic, size = 'xxl', tag, uppercase, }) {
7636
+ return createElement$1(tag || sizeToTag[size], {
7637
+ className: clsx(className, styles$M.heading, styles$M[size], {
7638
+ [styles$M.uppercase]: uppercase,
7639
+ [styles$M.italic]: italic,
7640
+ [styles$M.bold]: bold,
7641
+ }),
7642
+ }, children);
7643
+ }
7644
+
7645
+ var styles$L = {"dialog":"dialog-module-qKzgy","header":"dialog-module-ZnsAe","close":"dialog-module-Y7Tqg","footer":"dialog-module-y7Axm"};
7646
+
7647
+ function Footer({ close }) {
7648
+ 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" })] }));
7649
+ }
7650
+ function Dialog({ allowClose = true, children, className, dialogClassName, footer = Footer, hasCloseButton = true, hideTitle, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, title, validationErrors, }) {
7651
+ return (jsx(Modal, { className: clsx(styles$L['modal-overlay'], className), isDismissable: isDismissable, isFullScreen: isFullScreen, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Dialog$1, { "aria-label": title, className: clsx(styles$L.dialog, dialogClassName), children: ({ close }) => (jsxs(Form, { className: styles$L.form, onSubmit: onSubmit || (e => e.preventDefault), validationErrors: validationErrors, children: [jsxs("header", { className: styles$L.header, children: [!hideTitle && (jsx(Heading, { className: styles$L.heading, size: "xs", children: title })), hasCloseButton && (jsx("div", { className: styles$L.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onClick: close, children: jsx(StrokeCloseboxIcon, {}) }) }))] }), jsx("div", { className: styles$L.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$L.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
7652
+ }
7653
+
7654
+ var styles$K = {"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"};
7655
+
7656
+ function CountrySelectorDialog({ countries, isOpen, onSubmit, selectedCountry, selectedLanguage, showCountry = true, }) {
7657
+ const t = useFormattedMessage();
7658
+ const [currentCountry, setCurrentCountry] = useState(selectedCountry);
7659
+ const [currentLanguage, setCurrentLanguage] = useState(selectedLanguage);
7660
+ const countryOptions = useMemo(() => countries.reduce((acc, country) => ({ ...acc, [country.id]: country.name }), {}), [countries]);
7661
+ const languageOptions = useMemo(() => currentCountry.languages.reduce((acc, language) => ({ ...acc, [language.id]: language.description }), {}), [currentCountry]);
7662
+ useEffect(() => {
7663
+ if (currentCountry.languages.some(language => language.id === currentLanguage.id))
7664
+ return;
7665
+ const fallbackLanguage = currentCountry.languages[0];
7666
+ if (!fallbackLanguage)
7667
+ throw new Error(`Country ${currentCountry.name} has no languages to select`);
7668
+ setCurrentLanguage(fallbackLanguage);
7669
+ // eslint-disable-next-line react-hooks/exhaustive-deps
7670
+ }, [currentCountry]);
7671
+ return (jsx(Dialog, { hideTitle: true, allowClose: true, className: styles$K.modal, dialogClassName: styles$K['country-selector-dialog'], footer: jsx(Button, { withArrow: true, type: "submit", children: jsx(FormattedMessage, { id: "Save" }) }), hasCloseButton: false, isOpen: isOpen, onOpenChange: () => { }, onSubmit: e => {
7672
+ onSubmit({ country: currentCountry, language: currentLanguage });
7673
+ e.preventDefault();
7674
+ e.stopPropagation();
7675
+ }, title: "Country Selector", children: jsxs("div", { className: styles$K.content, children: [jsx("svg", { className: styles$K.logo, height: "32", viewBox: "0 0 134 32", width: "134", xmlns: "http://www.w3.org/2000/svg", children: jsxs("g", { fill: "none", fillRule: "evenodd", children: [jsx("path", { d: "M15.83 11.533c2.42 0 4.382 1.977 4.382 4.415 0 8.794-7.1 15.95-15.83 15.95C1.963 31.897 0 29.92 0 27.481c0-2.354 1.83-4.278 4.134-4.408l.249-.007c3.797 0 6.905-3.036 7.058-6.826l.006-.293c0-2.438 1.963-4.415 4.383-4.415zM15.83 0c2.42 0 4.383 1.977 4.383 4.415 0 2.355-1.83 4.279-4.134 4.409l-.249.007c-3.8 0-6.906 3.035-7.059 6.824l-.006.293c0 2.438-1.962 4.415-4.382 4.415S0 18.386 0 15.948C0 7.154 7.101 0 15.83 0zm8.208 16.022c0 8.794 7.101 15.95 15.83 15.95s15.83-7.156 15.83-15.95S48.597.074 39.868.074s-15.83 7.154-15.83 15.948zm8.765 0c0-3.924 3.169-7.118 7.065-7.118 3.895 0 7.065 3.194 7.065 7.118 0 3.926-3.17 7.119-7.065 7.119-3.896 0-7.065-3.193-7.065-7.12zm76.888-11.276c-6.173 6.217-6.173 16.335-.002 22.553 6.173 6.217 16.215 6.217 22.388 0a4.44 4.44 0 0 0 .001-6.244 4.359 4.359 0 0 0-6.003-.184l-.194.184a7.04 7.04 0 0 1-9.994 0c-2.753-2.775-2.753-7.29.002-10.065a7.036 7.036 0 0 1 9.751-.233l.24.231a4.36 4.36 0 0 0 6.198 0 4.44 4.44 0 0 0-.001-6.245c-6.173-6.217-16.215-6.216-22.386.003zm-17.162-.174v22.863c0 2.439 1.961 4.416 4.381 4.416 2.422 0 4.384-1.977 4.384-4.416V4.572c0-2.439-1.962-4.416-4.384-4.416-2.42 0-4.38 1.977-4.38 4.416zM64.1.1c-2.42 0-4.383 1.977-4.383 4.415v23.07c0 2.438 1.962 4.415 4.382 4.415s4.383-1.977 4.383-4.415V8.93h3.933c3.895 0 7.065 3.192 7.065 7.118v11.537c0 2.438 1.962 4.415 4.382 4.415s4.383-1.977 4.383-4.415V16.048C88.244 7.254 81.143.1 72.414.1h-8.316z", fill: "#000" }), jsx("path", { d: "M47.036 16.022c0 3.99-3.209 7.222-7.168 7.222-3.96 0-7.169-3.233-7.169-7.222 0-3.989 3.21-7.222 7.169-7.222 3.96 0 7.168 3.233 7.168 7.222", fill: "#E30613" })] }) }), jsx("p", { className: styles$K.intro, children: jsx(FormattedMessage, { id: "Welcome to Sonic Equipment. Please choose your country and language below." }) }), jsxs("div", { className: styles$K.selects, children: [showCountry && (jsx(Select, { label: t('Country'), onChange: value => setCurrentCountry(countries.find(country => country.id === value) ||
7676
+ currentCountry), options: countryOptions, selectedOption: currentCountry.id, showPlaceholder: false, variant: "solid" })), jsx(Select, { label: t('Language'), onChange: value => setCurrentLanguage(currentCountry.languages.find(language => language.id === value) || currentLanguage), options: languageOptions, selectedOption: currentLanguage.id, showPlaceholder: false, variant: "solid" })] })] }) }));
7677
+ }
7678
+
7679
+ var styles$J = {"country-selector-trigger":"country-selector-trigger-module-aioDu","flag":"country-selector-trigger-module-zOSJK","text":"country-selector-trigger-module-TE8tl","divider":"country-selector-trigger-module-GNRDD"};
7680
+
7681
+ function CountrySelectorTrigger({ onClick, selectedCountry, selectedLanguage, showCountry = true, }) {
7682
+ if (!selectedCountry || !selectedLanguage)
7683
+ return;
7684
+ const abbreviation = selectedCountry.abbreviation.toLowerCase();
7685
+ const flagSrc = `https://res.cloudinary.com/dkz9eknwh/image/upload/v1729678637/images/flags/${abbreviation}.svg`;
7686
+ return (jsxs("button", { "aria-label": "Open country selector dialog", className: styles$J['country-selector-trigger'], onClick: onClick, type: "button", children: [jsx(Image, { className: styles$J.flag, height: 24, image: { 1: flagSrc, 2: flagSrc, 3: flagSrc, altText: abbreviation }, title: abbreviation, width: 24 }), jsxs("div", { className: styles$J.text, children: [showCountry && (jsxs(Fragment, { children: [jsx("span", { children: selectedCountry.name }), jsx("span", { className: styles$J.divider, children: "-" })] })), jsx("span", { children: selectedLanguage.description })] })] }));
7687
+ }
7688
+
7689
+ async function fetchCountriesLanguages() {
7690
+ const { body } = await request({
7691
+ url: `${config.SHOP_API_URL}/api/v1/websites/current?expand=languages%2Ccountries`,
7692
+ });
7693
+ return {
7694
+ countries: body.countries?.countries || [],
7695
+ languages: body.languages?.languages || [],
7696
+ };
7697
+ }
7698
+ async function updateLanguageById({ languageId, }) {
7699
+ const { body } = await request({
7700
+ body: JSON.stringify({
7701
+ language: {
7702
+ id: languageId,
7703
+ },
7704
+ }),
7705
+ credentials: 'include',
7706
+ headers: {
7707
+ 'Content-Type': 'application/json',
7708
+ },
7709
+ method: 'PATCH',
7710
+ url: `${config.SHOP_API_URL}/api/v1/sessions/current`,
7711
+ });
7712
+ return body;
7713
+ }
7714
+
7715
+ const countryIsoCodeToLanguageIsoCode = {
7716
+ '*': ['EN'],
7717
+ AT: ['EN', 'DE'],
7718
+ BE: ['EN', 'NL', 'FR'],
7719
+ CH: ['EN', 'FR', 'DE', 'IT'],
7720
+ DE: ['EN', 'DE'],
7721
+ FR: ['EN', 'FR'],
7722
+ IT: ['EN', 'IT'],
7723
+ LU: ['EN', 'FR', 'DE'],
7724
+ NL: ['EN', 'NL'],
7725
+ };
7726
+ function useFetchCountriesLanguages({ enabled = true, } = { enabled: true }) {
7727
+ return useQuery({
7728
+ enabled,
7729
+ gcTime: 24 * TIME.HOUR,
7730
+ queryFn: fetchCountriesLanguages,
7731
+ queryKey: ['country-languages'],
7732
+ select({ countries, languages }) {
7733
+ return countries.map((country) => ({
7734
+ abbreviation: country.abbreviation,
7735
+ id: country.id,
7736
+ languages: languages
7737
+ .filter(language => countryIsoCodeToLanguageIsoCode[country.abbreviation]?.includes(language.languageCode) ??
7738
+ countryIsoCodeToLanguageIsoCode['*']?.includes(language.languageCode))
7739
+ .map(language => ({
7740
+ cultureCode: language.cultureCode,
7741
+ description: language.description,
7742
+ id: language.id,
7743
+ languageCode: language.languageCode,
7744
+ })),
7745
+ name: country.name,
7746
+ }));
7747
+ },
7748
+ staleTime: 24 * TIME.HOUR,
7749
+ });
7750
+ }
7751
+
7752
+ function useUpdateLanguageById() {
7753
+ const queryClient = useQueryClient();
7754
+ return useMutation({
7755
+ mutationFn: async (languageId) => {
7756
+ const session = await updateLanguageById({ languageId });
7757
+ // Update the session query cache
7758
+ queryClient.setQueryData(['session'], session);
7759
+ return session;
7760
+ },
7761
+ });
7762
+ }
7763
+
7764
+ function useCookie(name, options) {
7765
+ const cookieValue = Cookies.get(name);
7766
+ const [stateValue, setStateValue] = useState(cookieValue);
7767
+ function setValue(valueOrFn) {
7768
+ setStateValue(oldValue => {
7769
+ const newValue = typeof valueOrFn === 'function' ? valueOrFn(oldValue) : valueOrFn;
7770
+ if (!newValue) {
7771
+ Cookies.remove(name);
7772
+ }
7773
+ else {
7774
+ Cookies.set(name, newValue, options);
7775
+ }
7776
+ return newValue;
7777
+ });
7778
+ }
7779
+ return [stateValue, setValue];
7780
+ }
7781
+
7782
+ function useSessionStorage(key, initialState) {
7783
+ const storedValue = sessionStorage.getItem(key);
7784
+ const [dismissedIds, setDismissedIds] = useState(storedValue ? JSON.parse(storedValue) : initialState);
7785
+ function setValue(value) {
7786
+ const valueToStore = value instanceof Function ? value(dismissedIds) : value;
7787
+ if (valueToStore === undefined) {
7788
+ sessionStorage.removeItem(key);
7789
+ }
7790
+ else {
7791
+ setDismissedIds(valueToStore);
7792
+ sessionStorage.setItem(key, JSON.stringify(valueToStore));
7793
+ }
7794
+ }
7795
+ return [dismissedIds, setValue];
7796
+ }
7797
+
7798
+ const cookieOptions = {
7799
+ path: '/',
7800
+ };
7801
+ function useCountriesLanguages({ defaultCountryCode, defaultLanguageCode, }) {
7802
+ const [sessionCountries, setSessionCountries] = useSessionStorage('countries-v1');
7803
+ const [currentCountryId, setCurrentCountryId] = useCookie('CurrentCountryId', cookieOptions);
7804
+ const [currentLanguageId, setCurrentLanguageId] = useCookie('CurrentLanguageId', cookieOptions);
7805
+ const [contextLanguageCode, setContextLanguageCode] = useCookie('SetContextLanguageCode', cookieOptions);
7806
+ const { data: apiCountries, error, isFetching, } = useFetchCountriesLanguages({
7807
+ enabled: !sessionCountries,
7808
+ });
7809
+ const { mutate: updateLanguageById } = useUpdateLanguageById();
7810
+ const countries = sessionCountries ?? apiCountries;
7811
+ useEffect(() => {
7812
+ if (sessionCountries)
7813
+ return;
7814
+ setSessionCountries(apiCountries);
7815
+ // eslint-disable-next-line react-hooks/exhaustive-deps
7816
+ }, [apiCountries]);
7817
+ function updateCountryLanguage({ country, language, }) {
7818
+ setCurrentCountryId(country.id);
7819
+ setCurrentLanguageId(language.id);
7820
+ setContextLanguageCode(language.languageCode);
7821
+ updateLanguageById(language.id);
7822
+ }
7823
+ if (error)
7824
+ throw error;
7825
+ if (isFetching) {
7826
+ return {
7827
+ countries: undefined,
7828
+ defaultCountry: undefined,
7829
+ defaultLanguage: undefined,
7830
+ isFetching,
7831
+ selectedCountry: undefined,
7832
+ selectedLanguage: undefined,
7833
+ updateCountryLanguage,
7834
+ };
7835
+ }
7836
+ if (!countries?.length)
7837
+ throw new Error('No countries found');
7838
+ const defaultCountry = countries.find(country => country.abbreviation.toUpperCase() === defaultCountryCode.toUpperCase()) || countries[0];
7839
+ if (!defaultCountry)
7840
+ throw new Error(`Unable to find the default country ${defaultCountryCode}`);
7841
+ const defaultLanguage = defaultCountry.languages.find(language => language.languageCode.toUpperCase() ===
7842
+ defaultLanguageCode.toUpperCase()) || defaultCountry.languages[0];
7843
+ if (!defaultLanguage)
7844
+ throw new Error(`Unable to find the default language ${defaultLanguageCode} for country ${defaultCountry.name}`);
7845
+ const selectedCountry = countries.find(country => country.id === currentCountryId);
7846
+ const selectedLanguage = selectedCountry &&
7847
+ (selectedCountry.languages.find(language => language.id === currentLanguageId) ||
7848
+ selectedCountry.languages.find(language => language.languageCode.toUpperCase() ===
7849
+ contextLanguageCode?.toUpperCase()));
7850
+ return {
7851
+ countries,
7852
+ defaultCountry,
7853
+ defaultLanguage,
7854
+ isFetching,
7855
+ selectedCountry,
7856
+ selectedLanguage,
7857
+ updateCountryLanguage,
7858
+ };
7859
+ }
7860
+
7861
+ function CountrySelector({ defaultCountryCode, defaultLanguageCode, onChange, showCountry = true, }) {
7862
+ const { close, isOpen, open, setIsOpen } = useDisclosure(false);
7863
+ const { countries, defaultCountry, defaultLanguage, isFetching, selectedCountry, selectedLanguage, updateCountryLanguage, } = useCountriesLanguages({
7864
+ defaultCountryCode,
7865
+ defaultLanguageCode,
7866
+ });
7867
+ useEffect(() => {
7868
+ setIsOpen(selectedCountry === undefined || selectedLanguage === undefined);
7869
+ // eslint-disable-next-line react-hooks/exhaustive-deps
7870
+ }, [selectedCountry, selectedLanguage]);
7871
+ if (isFetching)
7872
+ return null;
7873
+ return (jsxs(Fragment, { children: [jsx(CountrySelectorTrigger, { onClick: open, selectedCountry: selectedCountry, selectedLanguage: selectedLanguage, showCountry: showCountry }), jsx(CountrySelectorDialog, { countries: countries, isOpen: isOpen, onSubmit: args => {
7874
+ updateCountryLanguage(args);
7875
+ close();
7876
+ onChange?.(args);
7877
+ }, selectedCountry: selectedCountry || defaultCountry, selectedLanguage: selectedLanguage || defaultLanguage, showCountry: showCountry })] }));
7878
+ }
7879
+
7880
+ var styles$I = {"multi-select":"multi-select-module-DC7Ix","filter-item":"multi-select-module-OW-NK"};
7881
+
7882
+ function MultiSelect({ amountShown = 3, onChange, options, render, }) {
7883
+ const shownOptions = options.slice(0, amountShown);
7884
+ const hiddenOptions = options.slice(amountShown);
7885
+ const hiddenSelectedOptions = hiddenOptions.filter(option => option.isSelected);
7886
+ const { isOpen, toggle } = useDisclosure();
7887
+ if (options.length < 2 &&
7888
+ options.filter(option => option.isSelected).length === 0) {
7889
+ return null;
7890
+ }
7891
+ return (jsxs("div", { className: styles$I['multi-select'], children: [jsx("div", { className: styles$I['filter-items'], children: shownOptions
7892
+ .concat(isOpen ? [] : hiddenSelectedOptions)
7893
+ .map(option => (jsxs("div", { className: styles$I['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }), hiddenOptions.length > 0 && (jsx(ShowAll, { hasTransparency: false, isOpen: isOpen, onToggle: toggle, children: jsx("div", { className: clsx(styles$I['filter-items'], styles$I['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$I['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
7894
+ }
7895
+
7896
+ var styles$H = {"checkbox":"checkbox-module-YNVdd","box":"checkbox-module-UKoyf","checkmark":"checkbox-module-pHIwh","focus":"checkbox-module-v23jy","active":"checkbox-module-7UG-b","color-checkbox":"checkbox-module-nEhvW"};
7897
+
7898
+ function Checkbox({ _pseudo = 'none', children, className, isDisabled, isSelected, onChange, value, }) {
7899
+ return (jsxs(Checkbox$1, { className: clsx(className, styles$H.checkbox, styles$H[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$H.box, children: jsx("svg", { "aria-hidden": "true", className: styles$H.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
7900
+ }
7901
+
7902
+ function ColorCheckbox({ _pseudo = 'none', children, className, color, isDisabled, isSelected, onChange, value, }) {
7903
+ return (jsxs(Checkbox$1, { className: clsx(className, styles$H.checkbox, styles$H['color-checkbox'], styles$H[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
7904
+ '--selected-color': color,
7905
+ }, value: value, children: [jsx("div", { className: styles$H.box }), children] }));
7634
7906
  }
7635
7907
 
7636
- var styles$J = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
7908
+ var styles$G = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
7637
7909
 
7638
7910
  /**
7639
7911
  * This component is used to create a textarea that can grow as the user types.
@@ -7668,7 +7940,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
7668
7940
  }
7669
7941
  updateHeight();
7670
7942
  }, [ref, autoGrow, updateHeight, size]);
7671
- return (jsx("div", { className: styles$J['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
7943
+ return (jsx("div", { className: styles$G['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
7672
7944
  ref.current =
7673
7945
  node;
7674
7946
  textAreaRef.current = node;
@@ -7679,7 +7951,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
7679
7951
  });
7680
7952
  TextArea.displayName = 'TextArea';
7681
7953
 
7682
- var styles$I = {"field":"text-field-module-JeaK0"};
7954
+ var styles$F = {"field":"text-field-module-JeaK0"};
7683
7955
 
7684
7956
  /**
7685
7957
  * This component is used to create a text field.
@@ -7687,7 +7959,7 @@ var styles$I = {"field":"text-field-module-JeaK0"};
7687
7959
  * This field can also grow when a user types in text.
7688
7960
  */
7689
7961
  function TextField({ autoFocus, autoGrow, defaultValue, isDisabled, isInvalid, isMultiline, isReadOnly, isRequired, label, maxLength, name, onChange, onInput, onKeyUp, placeholder, rows, showLabel = false, size = 'lg', value, }) {
7690
- return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$I.field, styles$I[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, name: name, onChange: value => {
7962
+ return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$F.field, styles$F[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, name: name, onChange: value => {
7691
7963
  onChange?.(value);
7692
7964
  }, onInput: onInput, onKeyUp: e => onKeyUp?.(e), value: value, children: [showLabel && jsx(Label, { isRequired: isRequired, children: label }), isMultiline ? (jsx(TextArea, { autoGrow: autoGrow, placeholder: placeholder, rows: rows, size: size })) : (jsx(Input, { autoGrow: autoGrow, placeholder: placeholder, size: size })), jsx(FieldError, {})] }));
7693
7965
  }
@@ -7697,22 +7969,22 @@ function IntlProvider({ children, formatMessage, languageCode: _languageCode, })
7697
7969
  return (jsx(IntlContext.Provider, { value: { formatMessage, languageCode, updateLanguageCode }, children: children }));
7698
7970
  }
7699
7971
 
7700
- var styles$H = {"progress-circle":"progress-circle-module-4nweP","spin":"progress-circle-module-kCf7K"};
7972
+ var styles$E = {"progress-circle":"progress-circle-module-4nweP","spin":"progress-circle-module-kCf7K"};
7701
7973
 
7702
7974
  function ProgressCircle({ className }) {
7703
- return (jsxs("svg", { className: clsx(styles$H['progress-circle'], className), viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", children: [jsx("title", { children: "Spinner" }), jsxs("defs", { children: [jsx("pattern", { height: "100%", id: "pattern-1", patternUnits: "objectBoundingBox", width: "100%", children: jsx("use", { xlinkHref: "#image-2" }) }), jsx("image", { height: "24", id: "image-2", width: "24", xlinkHref: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAB7UlEQVRIDZ2VSaoCQQyG01rOoBtBr+YZXXsFL+BGEHcqDuCE89SPL480hdpiGYil3an/S1KDUavViq/Xq1wul8RPp5Ocz2dhPB6PiR8OB42RAHO5XE7D4zgW/PF4CM/u97tks1n1TCYjURSpB2hraALglw8BQGXOuQQSKk68y+fzL9lRBQAqAUIlVkUoxBUKBZ3sC1irbrdbUoX/PgTyAqDXmFVBBVRCFfYuGMBk67UvRCUA2FFAfgKUSiWhFTgQA9ESjLVgC7NWwEPNFYtFFUEICJnigAxCFbvd7jcAFVi/gbDoCALmOzCMAzebzUILEFculxVgOwcIDqRSqaiTBDadToMhziYDwBgNRmW0rdFoSLPZ1PeDwUDHbz+iTqejyv5VYHuekbVggavVqkLq9fq32hqnLTJxdgmijPQeYSqs1Woa3G63g8QJ1haZKMJkjDgLjLi/Nbvd7m8ARCxry9x2jyn2ej2ZTCb28+tRK/Azpy3vrN/vy2azeffq4zM9aLTFP1jPM4bDoWbPH06o6WXn9/lZgDMxGo1kuVwG/5uhlfkkTsB4PJb5fC7b7VYPH89C7P9GS5nBLYr4er2W/X6vhy4lNPXxR8BisdDWkD13Ee0KtVQAgqvVSncO2XNlc3WEWirAxLmmgf0K+ANZ6DTlvO5jwwAAAABJRU5ErkJggg==" })] }), jsx("g", { fill: "none", fillRule: "evenodd", id: "Page-1", stroke: "none", strokeWidth: "1", children: jsx("path", { d: "M12,0 C18.627417,0 24,5.372583 24,12 C24,14.7277828 23.0855773,17.3196292 21.4324752,19.4188392 C19.1717866,22.2895997 15.7255176,24 12,24 C11.2636203,24 10.6666667,23.4030463 10.6666667,22.6666667 C10.6666667,21.930287 11.2636203,21.3333333 12,21.3333333 C14.8994206,21.3333333 17.5771113,20.0043823 19.3374325,17.7690188 C20.6234737,16.1359252 21.3333333,14.1238938 21.3333333,12 C21.3333333,6.84534234 17.1546577,2.66666667 12,2.66666667 C6.84534234,2.66666667 2.66666667,6.84534234 2.66666667,12 C2.66666667,14.4546154 3.61656005,16.756214 5.28844833,18.485859 C5.80023235,19.015323 5.78589988,19.8594213 5.25643588,20.3712053 C4.72697187,20.8829893 3.88287357,20.8686569 3.37108955,20.3391928 C1.22326178,18.1171666 0,15.1531945 0,12 C0,5.372583 5.372583,0 12,0 Z", fill: "url(#pattern-1)", fillRule: "nonzero", id: "Spinner" }) })] }));
7975
+ return (jsxs("svg", { className: clsx(styles$E['progress-circle'], className), viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", children: [jsx("title", { children: "Spinner" }), jsxs("defs", { children: [jsx("pattern", { height: "100%", id: "pattern-1", patternUnits: "objectBoundingBox", width: "100%", children: jsx("use", { xlinkHref: "#image-2" }) }), jsx("image", { height: "24", id: "image-2", width: "24", xlinkHref: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAB7UlEQVRIDZ2VSaoCQQyG01rOoBtBr+YZXXsFL+BGEHcqDuCE89SPL480hdpiGYil3an/S1KDUavViq/Xq1wul8RPp5Ocz2dhPB6PiR8OB42RAHO5XE7D4zgW/PF4CM/u97tks1n1TCYjURSpB2hraALglw8BQGXOuQQSKk68y+fzL9lRBQAqAUIlVkUoxBUKBZ3sC1irbrdbUoX/PgTyAqDXmFVBBVRCFfYuGMBk67UvRCUA2FFAfgKUSiWhFTgQA9ESjLVgC7NWwEPNFYtFFUEICJnigAxCFbvd7jcAFVi/gbDoCALmOzCMAzebzUILEFculxVgOwcIDqRSqaiTBDadToMhziYDwBgNRmW0rdFoSLPZ1PeDwUDHbz+iTqejyv5VYHuekbVggavVqkLq9fq32hqnLTJxdgmijPQeYSqs1Woa3G63g8QJ1haZKMJkjDgLjLi/Nbvd7m8ARCxry9x2jyn2ej2ZTCb28+tRK/Azpy3vrN/vy2azeffq4zM9aLTFP1jPM4bDoWbPH06o6WXn9/lZgDMxGo1kuVwG/5uhlfkkTsB4PJb5fC7b7VYPH89C7P9GS5nBLYr4er2W/X6vhy4lNPXxR8BisdDWkD13Ee0KtVQAgqvVSncO2XNlc3WEWirAxLmmgf0K+ANZ6DTlvO5jwwAAAABJRU5ErkJggg==" })] }), jsx("g", { fill: "none", fillRule: "evenodd", id: "Page-1", stroke: "none", strokeWidth: "1", children: jsx("path", { d: "M12,0 C18.627417,0 24,5.372583 24,12 C24,14.7277828 23.0855773,17.3196292 21.4324752,19.4188392 C19.1717866,22.2895997 15.7255176,24 12,24 C11.2636203,24 10.6666667,23.4030463 10.6666667,22.6666667 C10.6666667,21.930287 11.2636203,21.3333333 12,21.3333333 C14.8994206,21.3333333 17.5771113,20.0043823 19.3374325,17.7690188 C20.6234737,16.1359252 21.3333333,14.1238938 21.3333333,12 C21.3333333,6.84534234 17.1546577,2.66666667 12,2.66666667 C6.84534234,2.66666667 2.66666667,6.84534234 2.66666667,12 C2.66666667,14.4546154 3.61656005,16.756214 5.28844833,18.485859 C5.80023235,19.015323 5.78589988,19.8594213 5.25643588,20.3712053 C4.72697187,20.8829893 3.88287357,20.8686569 3.37108955,20.3391928 C1.22326178,18.1171666 0,15.1531945 0,12 C0,5.372583 5.372583,0 12,0 Z", fill: "url(#pattern-1)", fillRule: "nonzero", id: "Spinner" }) })] }));
7704
7976
  }
7705
7977
 
7706
- var styles$G = {"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"};
7978
+ var styles$D = {"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"};
7707
7979
 
7708
7980
  function ProductOverviewGrid({ children, isLoading, }) {
7709
- return (jsxs("div", { className: styles$G['product-grid'], children: [Children.map(children, (child, index) => (jsx("div", { className: styles$G['grid-item'], children: child }, index))), isLoading && (jsx("div", { className: styles$G['loading-panel'], children: jsx(ProgressCircle, { className: styles$G['progress-circle'] }) }))] }));
7981
+ return (jsxs("div", { className: styles$D['product-grid'], children: [Children.map(children, (child, index) => (jsx("div", { className: styles$D['grid-item'], children: child }, index))), isLoading && (jsx("div", { className: styles$D['loading-panel'], children: jsx(ProgressCircle, { className: styles$D['progress-circle'] }) }))] }));
7710
7982
  }
7711
7983
 
7712
- var styles$F = {"loading-overlay":"loading-overlay-module-L67Gy"};
7984
+ var styles$C = {"loading-overlay":"loading-overlay-module-L67Gy"};
7713
7985
 
7714
7986
  function LoadingOverlay() {
7715
- return (jsx("div", { className: styles$F['loading-overlay'], children: jsx(ProgressCircle, {}) }));
7987
+ return (jsx("div", { className: styles$C['loading-overlay'], children: jsx(ProgressCircle, {}) }));
7716
7988
  }
7717
7989
 
7718
7990
  function useLanguageCode() {
@@ -7788,11 +8060,7 @@ function SolidNoticeIcon(props) {
7788
8060
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M4.65060241,21.1425703 L19.3493976,21.1425703 C19.8982597,21.1425703 20.3701473,21.0254351 20.7650602,20.7911647 C21.1599732,20.5568942 21.4645248,20.2406292 21.6787149,19.8423695 C21.892905,19.4441098 22,18.9973226 22,18.502008 C22,18.2811245 21.9682062,18.0568942 21.9046185,17.8293173 C21.8410308,17.6017403 21.748996,17.37751 21.6285141,17.1566265 L14.2690763,4.3253012 C14.0147256,3.89022758 13.6834003,3.56057564 13.2751004,3.33634538 C12.8668005,3.11211513 12.4417671,3 12,3 C11.5515395,3 11.1231593,3.11211513 10.7148594,3.33634538 C10.3065596,3.56057564 9.97858099,3.89022758 9.73092369,4.3253012 L2.37148594,17.1566265 C2.12382865,17.5850067 2,18.0334672 2,18.502008 C2,18.9973226 2.10709505,19.4441098 2.32128514,19.8423695 C2.53547523,20.2406292 2.84002677,20.5568942 3.23493976,20.7911647 C3.62985274,21.0254351 4.10174029,21.1425703 4.65060241,21.1425703 Z M12.0100402,14.7068273 C11.461178,14.7068273 11.1800535,14.4290495 11.1666667,13.873494 L11.0361446,8.91365462 C11.0294511,8.645917 11.1147925,8.42336011 11.2921687,8.24598394 C11.4695448,8.06860776 11.7021419,7.97991968 11.9899598,7.97991968 C12.2777778,7.97991968 12.5120482,8.07028112 12.6927711,8.25100402 C12.873494,8.43172691 12.9638554,8.65595716 12.9638554,8.92369478 L12.8232932,13.873494 C12.8099063,14.4290495 12.538822,14.7068273 12.0100402,14.7068273 Z M12.0100402,17.939759 C11.7021419,17.939759 11.437751,17.8393574 11.2168675,17.6385542 C10.9959839,17.437751 10.8855422,17.186747 10.8855422,16.8855422 C10.8855422,16.5910308 10.9959839,16.3417001 11.2168675,16.1375502 C11.437751,15.9334003 11.7021419,15.8313253 12.0100402,15.8313253 C12.311245,15.8313253 12.5722892,15.9317269 12.7931727,16.1325301 C13.0140562,16.3333333 13.124498,16.5843373 13.124498,16.8855422 C13.124498,17.1934404 13.0123829,17.4461178 12.7881526,17.6435743 C12.5639224,17.8410308 12.3045515,17.939759 12.0100402,17.939759 Z" }) }));
7789
8061
  }
7790
8062
 
7791
- function StrokeCloseboxIcon(props) {
7792
- return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M8,8 L16,16 M16,8 L8,16", fill: "currentColor", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.4" }) }));
7793
- }
7794
-
7795
- var styles$E = {"announcement":"announcement-module-Xi0L5","wrapper":"announcement-module-4XVjD","icon":"announcement-module-lxmA2","content":"announcement-module-1Jn7y","title":"announcement-module-8k2rK","text":"announcement-module-yXGsN","close":"announcement-module-gZ9ae","informative":"announcement-module-0LTWL","notice":"announcement-module-Ga3lN","critical":"announcement-module-S3nSW","promo":"announcement-module-E6DqW"};
8063
+ var styles$B = {"announcement":"announcement-module-Xi0L5","wrapper":"announcement-module-4XVjD","icon":"announcement-module-lxmA2","content":"announcement-module-1Jn7y","title":"announcement-module-8k2rK","text":"announcement-module-yXGsN","close":"announcement-module-gZ9ae","informative":"announcement-module-0LTWL","notice":"announcement-module-Ga3lN","critical":"announcement-module-S3nSW","promo":"announcement-module-E6DqW"};
7796
8064
 
7797
8065
  const iconMap = {
7798
8066
  critical: jsx(SolidAttentionIcon, {}),
@@ -7801,7 +8069,7 @@ const iconMap = {
7801
8069
  promo: jsx(SolidInformationIcon, {}),
7802
8070
  };
7803
8071
  function Announcement({ announcement: { href, id, text, title, type }, onDismiss, }) {
7804
- return (jsxs(RouteLink, { className: clsx(styles$E.announcement, styles$E[type]), href: href, children: [jsxs("div", { className: styles$E.wrapper, children: [jsx("div", { className: styles$E.icon, children: iconMap[type] }), jsxs("div", { className: styles$E.content, children: [jsx("h2", { className: styles$E.title, children: title }), jsxs("p", { className: styles$E.text, children: [text, jsx(GlyphsArrowSemiBoldRightIcon, {})] })] })] }), jsx("div", { className: styles$E.close, children: jsx(IconButton, { color: "current-color", onClick: () => onDismiss?.(id), children: jsx(StrokeCloseboxIcon, {}) }) })] }));
8072
+ return (jsxs(RouteLink, { className: clsx(styles$B.announcement, styles$B[type]), href: href, children: [jsxs("div", { className: styles$B.wrapper, children: [jsx("div", { className: styles$B.icon, children: iconMap[type] }), jsxs("div", { className: styles$B.content, children: [jsx("h2", { className: styles$B.title, children: title }), jsxs("p", { className: styles$B.text, children: [text, jsx(GlyphsArrowSemiBoldRightIcon, {})] })] })] }), jsx("div", { className: styles$B.close, children: jsx(IconButton, { color: "current-color", onClick: () => onDismiss?.(id), children: jsx(StrokeCloseboxIcon, {}) }) })] }));
7805
8073
  }
7806
8074
 
7807
8075
  function ConnectedAnnouncement({ announcement: { endDate, startDate, ...announcement }, onDismiss, }) {
@@ -7818,7 +8086,7 @@ function ConnectedAnnouncement({ announcement: { endDate, startDate, ...announce
7818
8086
  return jsx(Announcement, { announcement: announcement, onDismiss: onDismiss });
7819
8087
  }
7820
8088
 
7821
- var styles$D = {"announcement-enter":"announcement-provider-module-ksjgO","announcement-enter-active":"announcement-provider-module-k0zd-","announcement-exit":"announcement-provider-module-w2N0B","announcement-exit-active":"announcement-provider-module-4lfx2"};
8089
+ var styles$A = {"announcement-enter":"announcement-provider-module-ksjgO","announcement-enter-active":"announcement-provider-module-k0zd-","announcement-exit":"announcement-provider-module-w2N0B","announcement-exit-active":"announcement-provider-module-4lfx2"};
7822
8090
 
7823
8091
  function AnnouncementProvider() {
7824
8092
  const languageCode = useLanguageCode();
@@ -7828,10 +8096,10 @@ function AnnouncementProvider() {
7828
8096
  const [dismissedIds, setDismissedIds] = useLocalStorage('dismissedAnnouncementIds', []);
7829
8097
  const filteredAnnouncements = announcements?.filter(({ id }) => !dismissedIds.includes(id));
7830
8098
  return (jsx(TransitionGroup, { children: filteredAnnouncements?.map(({ href, id, text, title, type }) => (jsx(CSSTransition, { classNames: {
7831
- enter: styles$D['announcement-enter'],
7832
- enterActive: styles$D['announcement-enter-active'],
7833
- exit: styles$D['announcement-exit'],
7834
- exitActive: styles$D['announcement-exit-active'],
8099
+ enter: styles$A['announcement-enter'],
8100
+ enterActive: styles$A['announcement-enter-active'],
8101
+ exit: styles$A['announcement-exit'],
8102
+ exitActive: styles$A['announcement-exit-active'],
7835
8103
  }, timeout: 300, children: jsx(ConnectedAnnouncement, { announcement: {
7836
8104
  href,
7837
8105
  id,
@@ -7841,71 +8109,33 @@ function AnnouncementProvider() {
7841
8109
  }, onDismiss: id => setDismissedIds(dismissedIds => [...dismissedIds, id]) }) }, id))) }));
7842
8110
  }
7843
8111
 
7844
- var styles$C = {"page-container":"page-container-module-PYmbC","inner-page-container":"page-container-module-uD8GF"};
8112
+ var styles$z = {"page-container":"page-container-module-PYmbC","inner-page-container":"page-container-module-uD8GF"};
7845
8113
 
7846
8114
  function PageContainer({ children, className, }) {
7847
- return (jsx("div", { className: styles$C['page-container'], children: jsx("div", { className: clsx(styles$C['inner-page-container'], className), children: children }) }));
8115
+ return (jsx("div", { className: styles$z['page-container'], children: jsx("div", { className: clsx(styles$z['inner-page-container'], className), children: children }) }));
7848
8116
  }
7849
8117
 
7850
- var styles$B = {"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"};
7851
-
7852
- const sizeToTag = {
7853
- l: 'h3',
7854
- m: 'h4',
7855
- s: 'h5',
7856
- xl: 'h2',
7857
- xs: 'h6',
7858
- xxl: 'h1',
7859
- xxs: 'h6',
7860
- };
7861
- function Heading({ bold = true, children, className, italic, size = 'xxl', tag, uppercase, }) {
7862
- return createElement$1(tag || sizeToTag[size], {
7863
- className: clsx(className, styles$B.heading, styles$B[size], {
7864
- [styles$B.uppercase]: uppercase,
7865
- [styles$B.italic]: italic,
7866
- [styles$B.bold]: bold,
7867
- }),
7868
- }, children);
7869
- }
7870
-
7871
- var styles$A = {"page":"page-module-XtZ9Y","breadcrumb":"page-module-ohh9z","title":"page-module-TEmve"};
8118
+ var styles$y = {"page":"page-module-XtZ9Y","breadcrumb":"page-module-ohh9z","title":"page-module-TEmve"};
7872
8119
 
7873
8120
  function PageTitle({ children }) {
7874
8121
  const { lg, xxl } = useBreakpoint();
7875
- return (jsx(Heading, { italic: true, uppercase: true, className: styles$A.title, size: xxl ? 'xl' : lg ? 'm' : 's', tag: "h1", children: children }));
8122
+ return (jsx(Heading, { italic: true, uppercase: true, className: styles$y.title, size: xxl ? 'xl' : lg ? 'm' : 's', tag: "h1", children: children }));
7876
8123
  }
7877
8124
  function Page({ breadCrumb, children, className, title }) {
7878
- return (jsxs(PageContainer, { className: clsx(styles$A.page, className), children: [jsx("div", { className: styles$A.breadcrumb, children: jsx(Breadcrumb, { links: breadCrumb }) }), title && jsx(PageTitle, { children: title }), children] }));
8125
+ return (jsxs(PageContainer, { className: clsx(styles$y.page, className), children: [jsx("div", { className: styles$y.breadcrumb, children: jsx(Breadcrumb, { links: breadCrumb }) }), title && jsx(PageTitle, { children: title }), children] }));
7879
8126
  }
7880
8127
 
7881
8128
  function SolidOkayIcon(props) {
7882
8129
  return (jsx("svg", { fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", ...props, height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M12.0051467,22 C13.3707325,22 14.6574026,21.7375193 15.865157,21.2125579 C17.0729113,20.6875965 18.1365586,19.9653457 19.0560988,19.0458055 C19.975639,18.1262652 20.6961743,17.0643335 21.2177046,15.8600103 C21.7392349,14.6556871 22,13.3673014 22,11.9948533 C22,10.6292675 21.7375193,9.34259736 21.2125579,8.13484303 C20.6875965,6.92708869 19.9653457,5.86172585 19.0458055,4.9387545 C18.1262652,4.01578315 17.0626179,3.2952479 15.8548636,2.77714874 C14.6471093,2.25904958 13.3604392,2 11.9948533,2 C10.6292675,2 9.34431292,2.25904958 8.13998971,2.77714874 C6.9356665,3.2952479 5.87201921,4.01578315 4.94904786,4.9387545 C4.02607651,5.86172585 3.3038257,6.92708869 2.78229542,8.13484303 C2.26076514,9.34259736 2,10.6292675 2,11.9948533 C2,13.3673014 2.2624807,14.6556871 2.7874421,15.8600103 C3.3124035,17.0643335 4.03465431,18.1262652 4.95419454,19.0458055 C5.87373477,19.9653457 6.9356665,20.6875965 8.13998971,21.2125579 C9.34431292,21.7375193 10.6326986,22 12.0051467,22 Z M10.9243438,16.7812661 C10.7390633,16.7812661 10.5743695,16.7400926 10.4302625,16.6577458 C10.2861554,16.5753989 10.1489106,16.4518785 10.018528,16.2871848 L7.60988163,13.3329902 C7.43832561,13.1202608 7.35254761,12.9006691 7.35254761,12.6742151 C7.35254761,12.4340367 7.43317893,12.2298851 7.59444159,12.0617602 C7.75570424,11.8936353 7.95642477,11.8095728 8.19660319,11.8095728 C8.34071024,11.8095728 8.47280837,11.8404529 8.59289758,11.9022131 C8.71298679,11.9639732 8.83136044,12.0737691 8.94801853,12.2316006 L10.8831704,14.7020072 L14.9696346,8.14513639 C15.1686396,7.82261108 15.4156802,7.66134843 15.7107566,7.66134843 C15.9372105,7.66134843 16.1413622,7.73511752 16.3232115,7.88265569 C16.5050609,8.03019386 16.5959856,8.22405215 16.5959856,8.46423057 C16.5959856,8.57402642 16.5702522,8.68553783 16.5187854,8.7987648 C16.4673186,8.91199177 16.407274,9.02007205 16.3386516,9.12300566 L11.7786927,16.2768914 C11.5659633,16.6131412 11.2811803,16.7812661 10.9243438,16.7812661 Z" }) }));
7883
8130
  }
7884
8131
 
7885
- var styles$z = {"list":"list-module-7-DFP","list-item":"list-module-YMLVY","icon":"list-module-wTIOA"};
8132
+ var styles$x = {"list":"list-module-7-DFP","list-item":"list-module-YMLVY","icon":"list-module-wTIOA"};
7886
8133
 
7887
8134
  function List({ children }) {
7888
- return jsx("ul", { className: styles$z.list, children: children });
8135
+ return jsx("ul", { className: styles$x.list, children: children });
7889
8136
  }
7890
8137
  function ListItem({ icon, text }) {
7891
- return (jsxs("li", { className: styles$z['list-item'], children: [icon && jsx("span", { className: styles$z.icon, children: icon }), text] }));
7892
- }
7893
-
7894
- var styles$y = {"modal-overlay":"modal-module-rVFJc","modal-fade":"modal-module-63Uyl","is-full-screen":"modal-module-uwets","modal":"modal-module-6vlFt","modal-zoom":"modal-module-aPJ7X","dialog":"modal-module-7c3-9","close":"modal-module-7zIZE"};
7895
-
7896
- function Modal({ children, className, hasCloseButton, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, }) {
7897
- return (jsx(ModalOverlay, { className: clsx(styles$y['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Modal$1, { className: clsx(styles$y.modal, {
7898
- [styles$y['is-full-screen']]: isFullScreen,
7899
- }), children: jsxs(Dialog$1, { className: styles$y.dialog, children: [hasCloseButton && (jsx("div", { className: styles$y.close, children: jsx(IconButton, { color: "secondary", onClick: () => onOpenChange(false), children: jsx(StrokeCloseboxIcon, {}) }) })), children] }) }) }));
7900
- }
7901
-
7902
- var styles$x = {"dialog":"dialog-module-qKzgy","header":"dialog-module-ZnsAe","close":"dialog-module-Y7Tqg","footer":"dialog-module-y7Axm"};
7903
-
7904
- function Footer({ close }) {
7905
- return (jsx(Button, { onClick: close, size: "md", children: "Close" }));
7906
- }
7907
- function Dialog({ allowClose = true, children, className, dialogClassName, footer = Footer, hideTitle, isDismissable, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, title, validationErrors, }) {
7908
- return (jsx(Modal, { className: clsx(styles$x['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Dialog$1, { "aria-label": title, className: clsx(styles$x.dialog, dialogClassName), children: ({ close }) => (jsxs(Form, { onSubmit: onSubmit || (e => e.preventDefault), validationErrors: validationErrors, children: [jsxs("header", { className: styles$x.header, children: [!hideTitle && (jsx(Heading, { className: styles$x.heading, size: "xs", children: title })), jsx("div", { className: styles$x.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onClick: close, children: jsx(StrokeCloseboxIcon, {}) }) })] }), jsx("div", { className: styles$x.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$x.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
8138
+ return (jsxs("li", { className: styles$x['list-item'], children: [icon && jsx("span", { className: styles$x.icon, children: icon }), text] }));
7909
8139
  }
7910
8140
 
7911
8141
  var styles$w = {"sign-in-dialog":"sign-in-dialog-module-P-AHV"};
@@ -8360,7 +8590,7 @@ function ProductDetailImages({ images }) {
8360
8590
  if (!isXl) {
8361
8591
  return jsx(ImageLightbox, { images: images });
8362
8592
  }
8363
- 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, children: jsx("div", { className: styles$o['image-lightbox-modal'], children: jsx(ImageLightbox, { images: images, initialSelectedIndex: selectedImageIndex, variant: "lg" }) }) })] }));
8593
+ return (jsxs(Fragment, { children: [jsx(ImagesGrid, { images: images, onSelectImage: (image, _index) => handleOpenImage(image) }), jsx(Dialog, { hasCloseButton: true, hideTitle: true, isDismissable: true, isFullScreen: true, isKeyboardDismissDisabled: false, isOpen: isOpen, onOpenChange: toggle, title: "Product images", children: jsx("div", { className: styles$o['image-lightbox-modal'], children: jsx(ImageLightbox, { images: images, initialSelectedIndex: selectedImageIndex, variant: "lg" }) }) })] }));
8364
8594
  }
8365
8595
 
8366
8596
  function GlyphsChevronsBoldDownIcon(props) {
@@ -8372,9 +8602,9 @@ function AccordionItem({ _pseudo = 'none', borderType = 'bottom', children, clas
8372
8602
  const panelId = `panel-${id}`;
8373
8603
  return (jsxs("div", { className: clsx(className, ...[]
8374
8604
  .concat(borderType)
8375
- .map(type => styles$O[`border-type-${type}`]), styles$O['accordion-item'], {
8376
- [styles$O['is-open']]: isOpen,
8377
- }), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$O.button, styles$O[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$O.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$O.panel, id: panelId, role: "region", children: jsx("div", { className: styles$O.content, children: children }) })] }));
8605
+ .map(type => styles$Q[`border-type-${type}`]), styles$Q['accordion-item'], {
8606
+ [styles$Q['is-open']]: isOpen,
8607
+ }), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$Q.button, styles$Q[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$Q.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$Q.panel, id: panelId, role: "region", children: jsx("div", { className: styles$Q.content, children: children }) })] }));
8378
8608
  }
8379
8609
 
8380
8610
  function StrokeDownloadIcon(props) {
@@ -9213,23 +9443,11 @@ function ProductListingPageProvider({ children, data, error, isError, isLoading,
9213
9443
  return (jsx(ProductListingPageContext.Provider, { value: { data, error, isError, isLoading }, children: children }));
9214
9444
  }
9215
9445
 
9216
- function getCookies() {
9217
- if (typeof window === 'undefined')
9218
- return {};
9219
- return document.cookie
9220
- .split(';')
9221
- .map(entry => entry.trim().split('='))
9222
- .reduce((cookie, [key, value]) => ({ ...cookie, [key || '']: value }), {});
9223
- }
9224
- function getCookie(name, defaultValue) {
9225
- return getCookies()[name] ?? defaultValue;
9226
- }
9227
-
9228
9446
  let userToken = generateUserToken();
9229
9447
  aa('init', {
9230
9448
  apiKey: config.ALGOLIA_API_KEY,
9231
9449
  appId: config.ALGOLIA_APP_ID,
9232
- useCookie: getCookie('cookie-statistics-0', 'false').toLowerCase() === 'true',
9450
+ useCookie: (Cookies.get('cookie-statistics-0') || 'false').toLowerCase() === 'true',
9233
9451
  userToken,
9234
9452
  });
9235
9453
  aa('getUserToken', {}, (err, value) => {
@@ -9967,7 +10185,7 @@ function CategoriesGrid({ categories, onItemClick, }) {
9967
10185
  var styles$5 = {"search-section":"search-section-module-qaTiw","header":"search-section-module-E--U2","title":"search-section-module-AHlDR"};
9968
10186
 
9969
10187
  function SearchSection({ button, children, className, title, }) {
9970
- return (jsxs("div", { className: clsx(styles$5['search-section'], className), children: [jsxs("div", { className: styles$5.header, children: [title && jsx("h2", { className: styles$5.title, children: title }), button && button] }), jsx("div", { className: styles$5.content, children: children })] }));
10188
+ return (jsxs("div", { className: clsx(styles$5['search-section'], className), children: [jsxs("div", { className: styles$5.header, children: [title && jsx("h2", { className: styles$5.title, children: title }), button && button] }), children] }));
9971
10189
  }
9972
10190
 
9973
10191
  var styles$4 = {"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"};
@@ -10201,4 +10419,4 @@ console.log(`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
10201
10419
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
10202
10420
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`);
10203
10421
 
10204
- export { Accordion, AddToCartButton, AlgoliaActiveCategories, AlgoliaCategoriesFilters, AlgoliaFilterPanel, AlgoliaInsightsProvider, AlgoliaInsightsProviderContext, AlgoliaMultiSelectFilterSection, AlgoliaPagination, AlgoliaProvider, AlgoliaResultsCount, AlgoliaSortBy, AnnouncementProvider, AvailabilityMessageType, BadRequestError, BadgeImagePlacementValues, BadgeStyleValues, BadgeTypeValues, Breadcrumb, Button, CartProvider, CategoryCarousel, Checkbox, ColorCheckbox, ConnectedAddToCartButton, CurrencyPositioningType, FavoriteButton, FavoriteProvider, FilterSection, ForbiddenRequestError, FormattedMessage, GlobalSearch, GlobalSearchDisclosureContext, GlobalSearchProvider, GlobalStateProvider, GlobalStateProviderContext, IconButton, Image, InternalServerErrorRequest, IntlProvider, Link, LoadingOverlay, MultiSelect, NotFoundRequestError, NumberField, Page, PageContainer, ProductCard, ProductDetailsPage, ProductListingPage, ProductOverviewGrid, ProductPrice, ProductSku, ProgressCircle, ReactQueryContainer, RequestError, RouteButton, RouteLink, RouteProvider, SearchResultsPage, SearchRoot, Select, ShowAll, Sidebar, SidebarDetectBreakpoint, SidebarProvider, TextField, TimeoutRequestError, UnauthorizedRequestError, UnprocessableContentRequestError, VariantDisplayTypeValues, WishListNameAlreadyExistsError, addProductToCurrentCart, addWishListItemToWishList, config, configPerEnvironment, createSession, createSonicSearchClient, createWishList, deleteCartLineById, deleteWishList, deleteWishListItemFromWishList, environment, environments, fetchCurrentCartLines, fetchTranslations, getSession, getWishList, getWishListItemsByWishListId, getWishLists, isRequestError, request, signIn, signOut, transformAlgoliaProductHitToProductHit, updateCartLineById, useAddProductToCurrentCart, useAddWishListItemToCurrentWishList, useAddWishListItemToWishList, useAlgolia, useAlgoliaInsights, useAlgoliaSearch, useBreakpoint, useCartEvents, useCreateWishList, useDebouncedCallback, useDeleteCartLineById, useDeleteWishListItemFromWishList, useDisclosure, useFavorite, useFavoriteProduct, useFeatureFlags, useFetchAllWishListsItems, useFetchCurrentCartLines, useFetchTranslations, useFetchWishLists, useFormattedMessage, useGlobalSearchDisclosure, useGlobalState, useIsAuthenticated, useIsBreakpoint, useNavigate, useOnNavigate, useScrollLock, useSession, useSignIn, useSignOut, useUpdateCartLineById, userToken };
10422
+ export { Accordion, AddToCartButton, AlgoliaActiveCategories, AlgoliaCategoriesFilters, AlgoliaFilterPanel, AlgoliaInsightsProvider, AlgoliaInsightsProviderContext, AlgoliaMultiSelectFilterSection, AlgoliaPagination, AlgoliaProvider, AlgoliaResultsCount, AlgoliaSortBy, AnnouncementProvider, AvailabilityMessageType, BadRequestError, BadgeImagePlacementValues, BadgeStyleValues, BadgeTypeValues, Breadcrumb, Button, CartProvider, CategoryCarousel, Checkbox, ColorCheckbox, ConnectedAddToCartButton, CountrySelector, CurrencyPositioningType, FavoriteButton, FavoriteProvider, FilterSection, ForbiddenRequestError, FormattedMessage, GlobalSearch, GlobalSearchDisclosureContext, GlobalSearchProvider, GlobalStateProvider, GlobalStateProviderContext, IconButton, Image, InternalServerErrorRequest, IntlProvider, Link, LoadingOverlay, MultiSelect, NotFoundRequestError, NumberField, Page, PageContainer, ProductCard, ProductDetailsPage, ProductListingPage, ProductOverviewGrid, ProductPrice, ProductSku, ProgressCircle, ReactQueryContainer, RequestError, RouteButton, RouteLink, RouteProvider, SearchResultsPage, SearchRoot, Select, ShowAll, Sidebar, SidebarDetectBreakpoint, SidebarProvider, TextField, TimeoutRequestError, UnauthorizedRequestError, UnprocessableContentRequestError, VariantDisplayTypeValues, WishListNameAlreadyExistsError, addProductToCurrentCart, addWishListItemToWishList, config, configPerEnvironment, createSession, createSonicSearchClient, createWishList, deleteCartLineById, deleteWishList, deleteWishListItemFromWishList, environment, environments, fetchCurrentCartLines, fetchTranslations, getSession, getWishList, getWishListItemsByWishListId, getWishLists, isRequestError, request, signIn, signOut, transformAlgoliaProductHitToProductHit, updateCartLineById, useAddProductToCurrentCart, useAddWishListItemToCurrentWishList, useAddWishListItemToWishList, useAlgolia, useAlgoliaInsights, useAlgoliaSearch, useBreakpoint, useCartEvents, useCreateWishList, useDebouncedCallback, useDeleteCartLineById, useDeleteWishListItemFromWishList, useDisclosure, useFavorite, useFavoriteProduct, useFeatureFlags, useFetchAllWishListsItems, useFetchCurrentCartLines, useFetchTranslations, useFetchWishLists, useFormattedMessage, useGlobalSearchDisclosure, useGlobalState, useIsAuthenticated, useIsBreakpoint, useNavigate, useOnNavigate, useScrollLock, useSession, useSignIn, useSignOut, useUpdateCartLineById, userToken };