@sonic-equipment/ui 0.0.74 → 0.0.76

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 (26) hide show
  1. package/dist/index.d.ts +33 -20
  2. package/dist/index.js +398 -233
  3. package/dist/src/algolia/use-algolia-insights.d.ts +1 -2
  4. package/dist/src/buttons/favorite/connected-favorite-button.d.ts +3 -2
  5. package/dist/src/cards/product-card/connected-product-cart.d.ts +3 -2
  6. package/dist/src/carousel/carousel.d.ts +7 -3
  7. package/dist/src/carousel/product-carousel/product-carousel.d.ts +5 -1
  8. package/dist/src/carousel/product-carousel/product-carousel.stories.d.ts +1 -0
  9. package/dist/src/collapsables/accordion/accordion-item.d.ts +3 -1
  10. package/dist/src/collapsables/accordion/accordion.d.ts +4 -4
  11. package/dist/src/collapsables/accordion/accordion.stories.d.ts +3 -0
  12. package/dist/src/collapsables/show-all/show-all.d.ts +12 -5
  13. package/dist/src/collapsables/show-all/show-all.stories.d.ts +6 -4
  14. package/dist/src/intl/translation-id.d.ts +1 -1
  15. package/dist/src/lists/download-document-list/document-download-list.stories.d.ts +13 -0
  16. package/dist/src/lists/download-document-list/download-document-list.d.ts +11 -0
  17. package/dist/src/lists/feature-list/feature-list.d.ts +26 -0
  18. package/dist/src/lists/feature-list/feature-list.stories.d.ts +16 -0
  19. package/dist/src/pages/product-details-page/components/product-details-panel.d.ts +4 -0
  20. package/dist/src/shared/api/bff/model/bff.model.d.ts +3 -3
  21. package/dist/src/shared/hooks/use-resize-observer.d.ts +4 -0
  22. package/dist/src/shared/utils/merge.d.ts +12 -0
  23. package/dist/styles.css +304 -130
  24. package/package.json +2 -1
  25. package/dist/src/algolia/algolia-filter-section.d.ts +0 -17
  26. package/dist/src/global-search/plugins/products-plugin.d.ts +0 -7
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ import { createQuerySuggestionsPlugin } from '@algolia/autocomplete-plugin-query
19
19
  import { createLocalStorageRecentSearchesPlugin, search } from '@algolia/autocomplete-plugin-recent-searches';
20
20
 
21
21
  const environments = ['sandbox', 'production', 'local'];
22
- const localUrls = /local.com/i;
22
+ const localUrls = /localhost:6006/i;
23
23
  const sandboxUrls = /local|insitesandbox.com|azurestaticapps|ui.sonic-equipment.com|sandbox|accept|test/i;
24
24
  const productionUrls = /sonic-equipment.com|production/i;
25
25
  let environmentUrl;
@@ -31,7 +31,7 @@ function getEnvironment() {
31
31
  environmentUrl = process.env.BUILD_INFO;
32
32
  }
33
33
  else if (typeof window !== 'undefined') {
34
- environmentUrl = window.location.hostname;
34
+ environmentUrl = `${window.location.hostname}:${window.location.port}`;
35
35
  }
36
36
  else {
37
37
  environmentUrl = 'production';
@@ -1163,7 +1163,7 @@ function useNavigate() {
1163
1163
  };
1164
1164
  }
1165
1165
 
1166
- var styles$U = {"link":"link-module-xLqBn","primary":"link-module-bGD6u","secondary":"link-module-v31wH","has-underline":"link-module-UuCEp"};
1166
+ var styles$W = {"link":"link-module-xLqBn","primary":"link-module-bGD6u","secondary":"link-module-v31wH","has-underline":"link-module-UuCEp"};
1167
1167
 
1168
1168
  function Link({ children, className, color = 'primary', hasUnderline, onClick: _onClick, ...props }) {
1169
1169
  function onClick(e) {
@@ -1172,7 +1172,7 @@ function Link({ children, className, color = 'primary', hasUnderline, onClick: _
1172
1172
  return;
1173
1173
  e.preventDefault();
1174
1174
  }
1175
- return (jsx(Link$1, { className: clsx({ [styles$U['has-underline']]: hasUnderline }, styles$U['link'], styles$U[color], className),
1175
+ return (jsx(Link$1, { className: clsx({ [styles$W['has-underline']]: hasUnderline }, styles$W['link'], styles$W[color], className),
1176
1176
  // Workaround for adobe/react-spectrum #963
1177
1177
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1178
1178
  // @ts-ignore
@@ -1271,24 +1271,24 @@ function SolidHomeIcon(props) {
1271
1271
  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" }) }));
1272
1272
  }
1273
1273
 
1274
- var styles$T = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
1274
+ var styles$V = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
1275
1275
 
1276
1276
  function BreadcrumbShort({ links }) {
1277
1277
  const homeLink = links[0];
1278
1278
  const previousLink = links[links.length - 2];
1279
1279
  const isHomeLink = previousLink === undefined || previousLink === homeLink;
1280
1280
  const href = previousLink?.href || homeLink?.href;
1281
- return (jsx(Breadcrumbs, { className: styles$T.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$T.breadcrumb, children: jsxs(RouteLink, { className: styles$T.link, href: href, isDisabled: false, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: styles$T.icon }), isHomeLink ? (jsx(SolidHomeIcon, { className: styles$T.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
1281
+ return (jsx(Breadcrumbs, { className: styles$V.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$V.breadcrumb, children: jsxs(RouteLink, { className: styles$V.link, href: href, isDisabled: false, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: styles$V.icon }), isHomeLink ? (jsx(SolidHomeIcon, { className: styles$V.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
1282
1282
  }
1283
1283
  function BreadcrumbLongItem({ index, isDisabled, link, }) {
1284
- return (jsx(Breadcrumb$1, { className: styles$T.breadcrumb, children: jsxs(RouteLink, { className: styles$T.link, color: "secondary", href: link.href, isDisabled: isDisabled, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: clsx(styles$T['previous-icon'], styles$T.icon) }), link.label] }) }, index));
1284
+ return (jsx(Breadcrumb$1, { className: styles$V.breadcrumb, children: jsxs(RouteLink, { className: styles$V.link, color: "secondary", href: link.href, isDisabled: isDisabled, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: clsx(styles$V['previous-icon'], styles$V.icon) }), link.label] }) }, index));
1285
1285
  }
1286
1286
  function BreadcrumbLong({ links }) {
1287
1287
  const linksWithoutFirst = links.slice(1);
1288
1288
  const homeLink = links[0];
1289
1289
  if (!homeLink)
1290
1290
  return null;
1291
- return (jsxs(Breadcrumbs, { className: styles$T.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$T.breadcrumb, children: jsx(RouteLink, { className: styles$T.link, href: homeLink.href, children: jsx(SolidHomeIcon, { className: clsx(styles$T['home-icon'], styles$T.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
1291
+ return (jsxs(Breadcrumbs, { className: styles$V.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$V.breadcrumb, children: jsx(RouteLink, { className: styles$V.link, href: homeLink.href, children: jsx(SolidHomeIcon, { className: clsx(styles$V['home-icon'], styles$V.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
1292
1292
  }
1293
1293
  function Breadcrumb({ links }) {
1294
1294
  const { lg } = useBreakpoint();
@@ -1297,10 +1297,10 @@ function Breadcrumb({ links }) {
1297
1297
  return lg ? BreadcrumbLong({ links }) : BreadcrumbShort({ links });
1298
1298
  }
1299
1299
 
1300
- var styles$S = {"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"};
1300
+ var styles$U = {"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"};
1301
1301
 
1302
1302
  function IconButton({ children, className, color = 'primary', isDisabled, onPress, size = 'md', type = 'button', }) {
1303
- return (jsx(Button$1, { className: clsx(styles$S['icon-button'], styles$S[size], styles$S[color], className), isDisabled: isDisabled,
1303
+ return (jsx(Button$1, { className: clsx(styles$U['icon-button'], styles$U[size], styles$U[color], className), isDisabled: isDisabled,
1304
1304
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1305
1305
  // @ts-expect-error
1306
1306
  onClick: e => e.preventDefault(), onPress: onPress, type: type, children: children }));
@@ -1314,21 +1314,21 @@ function StrokeFavoriteIcon(props) {
1314
1314
  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" }) }));
1315
1315
  }
1316
1316
 
1317
- var styles$R = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
1317
+ var styles$T = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
1318
1318
 
1319
1319
  function FavoriteButton({ isDisabled, isFavorite, onPress, }) {
1320
- return (jsx(IconButton, { className: clsx(styles$R['favorite-button'], {
1321
- [styles$R['is-favorite']]: isFavorite,
1320
+ return (jsx(IconButton, { className: clsx(styles$T['favorite-button'], {
1321
+ [styles$T['is-favorite']]: isFavorite,
1322
1322
  }), color: "secondary", isDisabled: isDisabled, onPress: onPress, children: isFavorite ? jsx(SolidFavoriteIcon, {}) : jsx(StrokeFavoriteIcon, {}) }));
1323
1323
  }
1324
1324
 
1325
- var styles$Q = {"field-error":"field-error-module-FXnIg"};
1325
+ var styles$S = {"field-error":"field-error-module-FXnIg"};
1326
1326
 
1327
1327
  function FieldError({ children }) {
1328
- return (jsx(FieldError$1, { className: styles$Q['field-error'], children: children }));
1328
+ return (jsx(FieldError$1, { className: styles$S['field-error'], children: children }));
1329
1329
  }
1330
1330
 
1331
- var styles$P = {"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"};
1331
+ var styles$R = {"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"};
1332
1332
 
1333
1333
  /**
1334
1334
  * This component is used to create an input that grows as the user types.
@@ -1344,20 +1344,20 @@ const Input = forwardRef(({ _pseudo = 'none', autoGrow, size = 'lg', ...inputPro
1344
1344
  ? onChange?.(event)
1345
1345
  : setUncontrolledValue(event.target.value);
1346
1346
  const { pressProps } = usePress({});
1347
- return (jsx("div", { className: clsx(styles$P['input-container'], styles$P[size], styles$P[_pseudo]), children: jsxs("div", { className: clsx({ [styles$P['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ...pressProps, ref: ref, onChange: handleChange, onClick: e => {
1347
+ return (jsx("div", { className: clsx(styles$R['input-container'], styles$R[size], styles$R[_pseudo]), children: jsxs("div", { className: clsx({ [styles$R['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ...pressProps, ref: ref, onChange: handleChange, onClick: e => {
1348
1348
  e.preventDefault();
1349
1349
  e.stopPropagation();
1350
1350
  e.target.focus();
1351
- } }), autoGrow && jsx("span", { className: styles$P['shadow-input'], children: value })] }) }));
1351
+ } }), autoGrow && jsx("span", { className: styles$R['shadow-input'], children: value })] }) }));
1352
1352
  });
1353
1353
  Input.displayName = 'Input';
1354
1354
 
1355
- var styles$O = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
1355
+ var styles$Q = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
1356
1356
 
1357
1357
  function Label({ children, isRequired }) {
1358
1358
  if (!children)
1359
1359
  return null;
1360
- return (jsxs(Label$1, { className: styles$O.label, children: [children, isRequired && jsx("span", { className: styles$O.required, children: "*" })] }));
1360
+ return (jsxs(Label$1, { className: styles$Q.label, children: [children, isRequired && jsx("span", { className: styles$Q.required, children: "*" })] }));
1361
1361
  }
1362
1362
 
1363
1363
  function StrokeCollapseIcon(props) {
@@ -1372,7 +1372,7 @@ function StrokeTrashIcon(props) {
1372
1372
  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" }) }));
1373
1373
  }
1374
1374
 
1375
- var styles$N = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
1375
+ var styles$P = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
1376
1376
 
1377
1377
  /**
1378
1378
  * This component is used to create a number field.
@@ -1380,7 +1380,7 @@ var styles$N = {"field":"number-field-module-gmnog","button-input-container":"nu
1380
1380
  */
1381
1381
  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, }) {
1382
1382
  const inputRef = useRef(null);
1383
- return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$N.field, styles$N[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$N['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
1383
+ return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$P.field, styles$P[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$P['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
1384
1384
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1385
1385
  // @ts-expect-error
1386
1386
  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,
@@ -1393,7 +1393,7 @@ function SolidCartIcon(props) {
1393
1393
  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" }) }));
1394
1394
  }
1395
1395
 
1396
- var styles$M = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
1396
+ var styles$O = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
1397
1397
 
1398
1398
  function AddToCartButton({ initialState = 'initial', isDisabled = false, onChange, quantity, }) {
1399
1399
  const [currentState, setState] = useState(initialState);
@@ -1481,7 +1481,7 @@ function ManualInputState({ isDisabled, onCancel, onConfirm, quantity, }) {
1481
1481
  e.key === 'Enter' && onConfirm(ensureNumber(updatedQuantity));
1482
1482
  e.key === 'Escape' && onCancel();
1483
1483
  };
1484
- return (jsxs("div", { className: styles$M['manual-input-container'], children: [jsx("div", { className: styles$M['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
1484
+ return (jsxs("div", { className: styles$O['manual-input-container'], children: [jsx("div", { className: styles$O['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
1485
1485
  maximumFractionDigits: 0,
1486
1486
  style: 'decimal',
1487
1487
  useGrouping: false,
@@ -1531,12 +1531,12 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
1531
1531
  return (jsx(AddToCartButton, { isDisabled: isPendingDeleteCartLine || isLoadingCartLines || isPendingAddToCart, onChange: handleChange, quantity: quantity }));
1532
1532
  };
1533
1533
 
1534
- var styles$L = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
1534
+ var styles$N = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
1535
1535
 
1536
1536
  function Tag({ children }) {
1537
1537
  if (!children)
1538
1538
  return null;
1539
- return (jsxs("div", { className: styles$L.tag, children: [jsx("div", { className: styles$L.body, children: children }), jsx("svg", { className: styles$L.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" }) })] }));
1539
+ return (jsxs("div", { className: styles$N.tag, children: [jsx("div", { className: styles$N.body, children: children }), jsx("svg", { className: styles$N.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" }) })] }));
1540
1540
  }
1541
1541
 
1542
1542
  const IntlContext = createContext({
@@ -1572,35 +1572,35 @@ function useFormattedMessage() {
1572
1572
 
1573
1573
  const FormattedMessage = ({ fallbackValue, id, optional, replacementValues, }) => useFormattedMessage()(id, { fallbackValue, optional, replacementValues });
1574
1574
 
1575
- var styles$K = {"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"};
1575
+ var styles$M = {"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"};
1576
1576
 
1577
1577
  const formatPrice = (price) => new Intl.NumberFormat('en-US', {
1578
1578
  maximumFractionDigits: 2,
1579
1579
  minimumFractionDigits: 2,
1580
1580
  }).format(price);
1581
1581
  function ProductPrice({ className, isVatIncluded, originalPrice, price, }) {
1582
- if (!price || isNaN(price))
1582
+ if (isNaN(price))
1583
1583
  return;
1584
1584
  const originalPriceWithCurrency = formatPrice(!isNaN(originalPrice) ? originalPrice : price);
1585
1585
  const priceWithCurrency = formatPrice(price);
1586
1586
  const [wholes, decimals] = priceWithCurrency.split('.');
1587
1587
  const showOriginalPrice = priceWithCurrency !== originalPriceWithCurrency;
1588
- return (jsxs("div", { className: clsx(className, styles$K['product-price']), children: [jsx("span", { className: clsx(styles$K['original-price'], {
1589
- [styles$K['is-hidden']]: !showOriginalPrice,
1590
- }), children: originalPriceWithCurrency }), jsxs("div", { className: styles$K['current-price-wrapper'], children: [jsxs("div", { className: styles$K['current-price'], children: [jsx("span", { className: styles$K.wholes, children: wholes }), jsx("span", { className: styles$K.dot, children: "." }), jsx("span", { className: styles$K.decimals, children: decimals })] }), jsx("span", { className: styles$K.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
1588
+ return (jsxs("div", { className: clsx(className, styles$M['product-price']), children: [jsx("span", { className: clsx(styles$M['original-price'], {
1589
+ [styles$M['is-hidden']]: !showOriginalPrice,
1590
+ }), children: originalPriceWithCurrency }), jsxs("div", { className: styles$M['current-price-wrapper'], children: [jsxs("div", { className: styles$M['current-price'], children: [jsx("span", { className: styles$M.wholes, children: wholes }), jsx("span", { className: styles$M.dot, children: "." }), jsx("span", { className: styles$M.decimals, children: decimals })] }), jsx("span", { className: styles$M.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
1591
1591
  }
1592
1592
 
1593
- var styles$J = {"product-sku":"product-sku-module-ITb8x"};
1593
+ var styles$L = {"product-sku":"product-sku-module-ITb8x"};
1594
1594
 
1595
1595
  function ProductSku({ sku }) {
1596
- return (jsx("p", { className: styles$J['product-sku'], "data-test-selector": "productNumber", children: sku }));
1596
+ return (jsx("p", { className: styles$L['product-sku'], "data-test-selector": "productNumber", children: sku }));
1597
1597
  }
1598
1598
 
1599
1599
  function isResponsiveImage(image) {
1600
1600
  return Boolean(image.lg);
1601
1601
  }
1602
1602
 
1603
- var styles$I = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B","picture":"image-module-pNYjR"};
1603
+ var styles$K = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B","picture":"image-module-pNYjR"};
1604
1604
 
1605
1605
  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, }) {
1606
1606
  const [hasError, setHasError] = useState(false);
@@ -1627,22 +1627,83 @@ function ImageComponent({ className, fallbackSrc, fit = 'cover', hasError, image
1627
1627
  const srcSet = !hasError
1628
1628
  ? `${image[1]} 1x, ${image[2]} 2x, ${image[3]} 3x`
1629
1629
  : undefined;
1630
- return (jsx("img", { alt: image.altText, className: clsx(styles$I.image, className, styles$I[fit], {
1631
- [styles$I['has-error']]: hasError,
1630
+ return (jsx("img", { alt: image.altText, className: clsx(styles$K.image, className, styles$K[fit], {
1631
+ [styles$K['has-error']]: hasError,
1632
1632
  }), src: !hasError ? image[3] : fallbackSrc, srcSet: srcSet, ...rest }));
1633
1633
  }
1634
1634
  function PictureComponent({ className, fallbackSrc, fit = 'cover', hasError, image, ...rest }) {
1635
1635
  if (!isResponsiveImage(image))
1636
1636
  return null;
1637
- return (jsxs("picture", { className: clsx(styles$I.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$I[fit], {
1638
- [styles$I['has-error']]: hasError,
1637
+ return (jsxs("picture", { className: clsx(styles$K.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$K[fit], {
1638
+ [styles$K['has-error']]: hasError,
1639
1639
  }), src: !hasError ? image.lg[3] : fallbackSrc, ...rest })] }));
1640
1640
  }
1641
1641
 
1642
- var styles$H = {"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"};
1642
+ var styles$J = {"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"};
1643
1643
 
1644
1644
  function ProductCard({ addToCartButton: AddToCartButton, areaSelected, favoriteButton: FavoriteButton, href, id, image, onClick, onMouseDown, onMouseMove, onPress, price, role, sku, tags, title, }) {
1645
- return (jsxs(RouteLink, { "aria-selected": areaSelected, className: styles$H['product-card'], "data-product-id": sku, href: href, id: id, onClick: onClick, onMouseDown: onMouseDown, onMouseMove: onMouseMove, onPress: onPress, role: role, children: [jsx("div", { className: styles$H.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$H['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$H.content, children: [jsxs("div", { className: styles$H.top, children: [jsx("div", { className: styles$H.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$H.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$H.bottom, children: [jsx("div", { className: styles$H.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$H['add-to-cart-button'], children: AddToCartButton })] })] })] }));
1645
+ return (jsx("div", { className: styles$J['product-card-container'], children: jsxs(RouteLink, { "aria-selected": areaSelected, className: styles$J['product-card'], "data-product-id": sku, href: href, id: id, onClick: onClick, onMouseDown: onMouseDown, onMouseMove: onMouseMove, onPress: onPress, role: role, children: [jsx("div", { className: styles$J.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$J['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$J.content, children: [jsxs("div", { className: styles$J.top, children: [jsx("div", { className: styles$J.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$J.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$J.bottom, children: [jsx("div", { className: styles$J.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$J['add-to-cart-button'], children: AddToCartButton })] })] })] }) }));
1646
+ }
1647
+
1648
+ /* eslint-disable @typescript-eslint/no-explicit-any */
1649
+ function deepMerge(...items) {
1650
+ return _merge(true, true, items);
1651
+ }
1652
+ function clone(input) {
1653
+ if (Array.isArray(input)) {
1654
+ const output = [];
1655
+ for (let index = 0; index < input.length; ++index)
1656
+ output.push(clone(input[index]));
1657
+ return output;
1658
+ }
1659
+ else if (isPlainObject(input)) {
1660
+ const output = {};
1661
+ for (const index in input)
1662
+ output[index] = clone(input[index]);
1663
+ return output;
1664
+ }
1665
+ else {
1666
+ return input;
1667
+ }
1668
+ }
1669
+ function isPlainObject(input) {
1670
+ if (input === null || typeof input !== 'object')
1671
+ return false;
1672
+ if (Object.getPrototypeOf(input) === null)
1673
+ return true;
1674
+ let ref = input;
1675
+ while (Object.getPrototypeOf(ref) !== null)
1676
+ ref = Object.getPrototypeOf(ref);
1677
+ return Object.getPrototypeOf(input) === ref;
1678
+ }
1679
+ function _recursiveMerge(base, extend) {
1680
+ if (!isPlainObject(base) || !isPlainObject(extend))
1681
+ return extend;
1682
+ for (const key in extend) {
1683
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype')
1684
+ continue;
1685
+ base[key] =
1686
+ isPlainObject(base[key]) && isPlainObject(extend[key])
1687
+ ? _recursiveMerge(base[key], extend[key])
1688
+ : extend[key];
1689
+ }
1690
+ return base;
1691
+ }
1692
+ function _merge(isClone, isRecursive, items) {
1693
+ let result;
1694
+ result = {};
1695
+ for (let index = 0; index < items.length; ++index) {
1696
+ const item = items[index];
1697
+ if (!isPlainObject(item))
1698
+ continue;
1699
+ for (const key in item) {
1700
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype')
1701
+ continue;
1702
+ const value = clone(item[key]) ;
1703
+ result[key] = _recursiveMerge(result[key], value) ;
1704
+ }
1705
+ }
1706
+ return result;
1646
1707
  }
1647
1708
 
1648
1709
  /**
@@ -6957,24 +7018,35 @@ function GlyphsArrowBoldCapsLeftIcon(props) {
6957
7018
  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)" }) }));
6958
7019
  }
6959
7020
 
6960
- var styles$G = {"carousel":"carousel-module-ealh-","swiper":"carousel-module-IftbN","is-ready":"carousel-module-RCpfc","has-overflow":"carousel-module-tPg7k","slide":"carousel-module-bUMlb","navigation-button":"carousel-module-kcqEE","is-locked":"carousel-module-uCrOA","navigation-button-next":"carousel-module-T7bTr","is-dragging":"carousel-module-34OWD","navigation-button-prev":"carousel-module-984Rr","navigation-buttons":"carousel-module-k7Z4S","navigation-button-wrapper":"carousel-module-Hi-0z","top":"carousel-module-nL-O8","center":"carousel-module-5SGYn"};
7021
+ var styles$I = {"carousel":"carousel-module-ealh-","swiper":"carousel-module-IftbN","is-ready":"carousel-module-RCpfc","has-overflow":"carousel-module-tPg7k","slide":"carousel-module-bUMlb","navigation-button":"carousel-module-kcqEE","is-locked":"carousel-module-uCrOA","navigation-button-next":"carousel-module-T7bTr","is-dragging":"carousel-module-34OWD","navigation-button-prev":"carousel-module-984Rr","navigation-buttons":"carousel-module-k7Z4S","navigation-button-wrapper":"carousel-module-Hi-0z","top":"carousel-module-nL-O8","center":"carousel-module-5SGYn"};
6961
7022
 
6962
7023
  function CarouselNavigationButton({ direction, isDisabled = false, }) {
6963
7024
  const swiper = useSwiper();
7025
+ const slidesPerView = typeof swiper.params.slidesPerView === 'number'
7026
+ ? swiper.params.slidesPerView
7027
+ : 1;
6964
7028
  function handleNavigation() {
6965
7029
  if (direction === 'next') {
6966
- swiper.slideNext();
7030
+ swiper.slideTo(swiper.activeIndex + slidesPerView);
6967
7031
  }
6968
7032
  else {
6969
- swiper.slidePrev();
7033
+ swiper.slideTo(swiper.activeIndex - slidesPerView);
6970
7034
  }
6971
7035
  }
6972
- return (jsx(Button$1, { className: clsx(styles$G['navigation-button'], {
6973
- [styles$G['is-locked']]: swiper.isLocked,
7036
+ return (jsx(Button$1, { className: clsx(styles$I['navigation-button'], {
7037
+ [styles$I['is-locked']]: swiper.isLocked,
6974
7038
  }), isDisabled: isDisabled, onPress: handleNavigation, children: direction === 'previous' ? (jsx(GlyphsArrowBoldCapsLeftIcon, {})) : (jsx(GlyphsArrowBoldCapsRightIcon, {})) }));
6975
7039
  }
6976
7040
 
6977
- function Carousel({ breakpoints, className, hasNavigation = true, hasOverflow = true, navigationButtonsPosition = 'top', slideClasses, slides, slidesPerView = 'auto', spaceBetween, }) {
7041
+ function generateSlidesPerViewBreakpoints(slidesPerView) {
7042
+ return Object.keys(slidesPerView).reduce((result, breakpoint) => ({
7043
+ ...result,
7044
+ [breakpoints$1[breakpoint]]: {
7045
+ slidesPerView: slidesPerView[breakpoint],
7046
+ },
7047
+ }), {});
7048
+ }
7049
+ function Carousel({ breakpoints: _breakpoints, className, hasNavigation = true, hasOverflow = true, navigationButtonsPosition = 'top', slideClasses, slides, slidesPerView: _slidesPerView = 'auto', spaceBetween, }) {
6978
7050
  const [isEnd, setIsEnd] = useState(false);
6979
7051
  const [isBeginning, setIsBeginning] = useState(true);
6980
7052
  const [isLocked, setIsLocked] = useState(undefined);
@@ -6985,33 +7057,42 @@ function Carousel({ breakpoints, className, hasNavigation = true, hasOverflow =
6985
7057
  setIsLocked(swiper.isLocked);
6986
7058
  setIsBeginning(swiper.isBeginning);
6987
7059
  }
7060
+ const slidesPerView = typeof _slidesPerView !== 'object' ? _slidesPerView : undefined;
7061
+ if (typeof _slidesPerView === 'object') {
7062
+ const slidesPerViewBreakpoints = generateSlidesPerViewBreakpoints(_slidesPerView);
7063
+ _breakpoints = deepMerge(_breakpoints, slidesPerViewBreakpoints);
7064
+ }
6988
7065
  if (slides.length === 0)
6989
7066
  return null;
6990
- return (jsx("div", { className: clsx(styles$G.carousel, className), children: jsxs(Swiper, { breakpoints: breakpoints, className: clsx(styles$G.swiper, {
6991
- [styles$G['is-dragging']]: isDragging,
6992
- [styles$G['has-overflow']]: hasOverflow,
6993
- [styles$G['is-ready']]: isReady,
7067
+ return (jsx("div", { className: clsx(styles$I.carousel, className), style: spaceBetween !== undefined
7068
+ ? { '--column-gap': `${spaceBetween}px` }
7069
+ : undefined, children: jsxs(Swiper, { breakpoints: _breakpoints, className: clsx(styles$I.swiper, {
7070
+ [styles$I['is-dragging']]: isDragging,
7071
+ [styles$I['has-overflow']]: hasOverflow,
7072
+ [styles$I['is-ready']]: isReady,
6994
7073
  }), freeMode: {
6995
7074
  enabled: true,
6996
7075
  sticky: true,
6997
7076
  }, modules: [freeMode], onReachBeginning: () => setIsBeginning(true), onReachEnd: () => setIsEnd(true), onResize: swiper => handleSlideChange(swiper), onSlideChange: swiper => handleSlideChange(swiper), onSliderMove: () => setIsDragging(true), onSlidesUpdated: () => {
6998
7077
  if (!isReady)
6999
7078
  setIsReady(true);
7000
- }, onSwiper: swiper => handleSlideChange(swiper), onTouchEnd: () => setIsDragging(false), onUpdate: swiper => handleSlideChange(swiper), slidesPerGroupAuto: true, slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: [slides.map((slide, index) => (jsx(SwiperSlide, { className: clsx(styles$G.slide, slideClasses), children: slide }, index))), hasNavigation && isLocked === false && (jsxs("div", { className: clsx(styles$G['navigation-buttons'], styles$G[navigationButtonsPosition]), children: [jsx("div", { className: clsx(styles$G['navigation-button-wrapper'], styles$G['navigation-button-prev']), children: jsx(CarouselNavigationButton, { direction: "previous", isDisabled: isBeginning }) }), jsx("div", { className: clsx(styles$G['navigation-button-wrapper'], styles$G['navigation-button-next']), children: jsx(CarouselNavigationButton, { direction: "next", isDisabled: isEnd }) })] }))] }) }));
7079
+ }, onSwiper: swiper => handleSlideChange(swiper), onTouchEnd: () => setIsDragging(false), onUpdate: swiper => handleSlideChange(swiper), slidesPerGroupAuto: false, slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: [slides.map((slide, index) => (jsx(SwiperSlide, { className: clsx(styles$I.slide, slideClasses), children: slide }, index))), hasNavigation && isLocked === false && (jsxs("div", { className: clsx(styles$I['navigation-buttons'], styles$I[navigationButtonsPosition]), children: [jsx("div", { className: clsx(styles$I['navigation-button-wrapper'], styles$I['navigation-button-prev']), children: jsx(CarouselNavigationButton, { direction: "previous", isDisabled: isBeginning }) }), jsx("div", { className: clsx(styles$I['navigation-button-wrapper'], styles$I['navigation-button-next']), children: jsx(CarouselNavigationButton, { direction: "next", isDisabled: isEnd }) })] }))] }) }));
7001
7080
  }
7002
7081
 
7003
- var styles$F = {"slide":"category-carousel-module-muLq-"};
7082
+ var styles$H = {"slide":"category-carousel-module-muLq-"};
7004
7083
 
7005
7084
  function CategoryCarousel({ categoryCards }) {
7006
- return jsx(Carousel, { slideClasses: styles$F.slide, slides: categoryCards });
7085
+ return jsx(Carousel, { slideClasses: styles$H.slide, slides: categoryCards });
7007
7086
  }
7008
7087
 
7009
- var styles$E = {"accordion":"accordion-module-9WvAH","white":"accordion-module-CaVdG","accordion-item":"accordion-module-lf9d-","lg":"accordion-module-0qnae","with-seperators":"accordion-module-yOLrW","border-top":"accordion-module-J1-Eb","border-bottom":"accordion-module-4LI1K","indented":"accordion-module-6CcEH","button":"accordion-module--Rwpb","icon":"accordion-module-Y50uq","focus":"accordion-module-M4BZs","panel":"accordion-module-KZjMo","content":"accordion-module-ejMH3","is-open":"accordion-module-W0F1z"};
7088
+ var styles$G = {"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"};
7010
7089
 
7011
- function Accordion({ borderPosition = 'bottom', children, color = 'black', hasLineSeparator = true, indented, size = 'md', }) {
7012
- return (jsx("div", { className: clsx({ [styles$E.indented]: indented }, styles$E.accordion, styles$E[color], styles$E[size], styles$E[`border-${borderPosition}`], hasLineSeparator && styles$E['with-seperators']), children: children &&
7090
+ function Accordion({ borderType = 'bottom', children, color = 'black', hasLineSeparator = true, indented, size = 'md', }) {
7091
+ return (jsx("div", { className: clsx({ [styles$G.indented]: indented }, styles$G.accordion, styles$G[color], styles$G[size], hasLineSeparator && styles$G['with-seperators']), children: Boolean(children) &&
7013
7092
  Children.map(children, child => {
7014
- return cloneElement(child, { size });
7093
+ if (!child)
7094
+ return null;
7095
+ return cloneElement(child, { borderType, size });
7015
7096
  }) }));
7016
7097
  }
7017
7098
 
@@ -7019,23 +7100,52 @@ function GlyphsChevronsSlimDownIcon(props) {
7019
7100
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "12", viewBox: "0 0 12 12", width: "12", children: jsx("path", { d: "M6,9 L1,4.06645029 C1.08169007,3.87890406 1.19817561,3.69487412 1.34945663,3.51436046 C1.50073764,3.3338468 1.68216803,3.16239331 1.89374779,3 L5.98800959,7.08347812 L9.9960307,3 C10.2121071,3.16649238 10.4031847,3.33794587 10.5692635,3.51436046 C10.7353424,3.69077505 10.8789212,3.87480499 11,4.06645029 L6,9 Z", fillRule: "evenodd" }) }));
7020
7101
  }
7021
7102
 
7022
- var styles$D = {"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"};
7103
+ function useResizeObserver(resizeCallback) {
7104
+ let size;
7105
+ function onResize(entries, _observer) {
7106
+ size = entries[0]?.contentRect;
7107
+ if (!size)
7108
+ return;
7109
+ resizeCallback(size);
7110
+ }
7111
+ const resizeObserver = useRef(new ResizeObserver(onResize));
7112
+ const ref = useRef(null);
7113
+ return {
7114
+ ref: (el) => {
7115
+ ref.current = el;
7116
+ resizeObserver.current.disconnect();
7117
+ if (!ref.current)
7118
+ return;
7119
+ resizeObserver.current.observe(ref.current);
7120
+ },
7121
+ size,
7122
+ };
7123
+ }
7124
+
7125
+ var styles$F = {"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"};
7023
7126
 
7024
- const ShowAll = ({ children, hasTransparency = true, initialHeight = 0, isOpen, onToggle, }) => {
7127
+ function ShowAll({ children, hasTransparency = true, initialHeight = 0, initialIsOpen = false, isOpen: isControlledOpen, onToggle, }) {
7128
+ const isControlled = isControlledOpen !== undefined && onToggle !== undefined;
7129
+ const { isOpen, toggle } = useDisclosure(initialIsOpen);
7025
7130
  const showAllRef = useRef(null);
7026
- useEffect(() => {
7027
- if (!showAllRef.current)
7028
- return;
7029
- showAllRef.current.style.setProperty('--initital-height', `${initialHeight}px`);
7030
- }, [initialHeight]);
7031
- return (jsxs("div", { ref: showAllRef, className: clsx(styles$D['show-all'], {
7032
- [styles$D['is-open']]: isOpen,
7033
- }), children: [jsx("div", { className: styles$D.panel, children: jsx("div", { className: clsx(styles$D.content, {
7034
- [styles$D['has-transparency']]: hasTransparency,
7035
- }), children: children }) }), jsxs(RouteLink, { className: styles$D.button, color: "secondary", onPress: () => onToggle(!isOpen), children: [jsx(GlyphsChevronsSlimDownIcon, { className: styles$D.icon }), isOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] })] }));
7036
- };
7131
+ const isReallyOpen = isControlled ? isControlledOpen : isOpen;
7132
+ const [contentFits, setContentFits] = useState(false);
7133
+ const { ref } = useResizeObserver(size => {
7134
+ setContentFits((size.height || 0) <= initialHeight);
7135
+ });
7136
+ return (jsxs("div", { ref: showAllRef, className: clsx(styles$F['show-all'], {
7137
+ [styles$F['content-fits']]: contentFits,
7138
+ [styles$F['is-open']]: isReallyOpen,
7139
+ }), style: { '--initital-height': `${initialHeight}px` }, children: [jsx("div", { className: styles$F.panel, children: jsx("div", { className: clsx(styles$F.content, {
7140
+ [styles$F['has-transparency']]: hasTransparency,
7141
+ }), children: jsx("div", { ref: ref, "aria-hidden": true, style: { display: 'block' }, children: children }) }) }), !contentFits && (jsxs(RouteLink, { className: styles$F.button, color: "secondary", onPress: () => {
7142
+ if (isControlled)
7143
+ return onToggle(!isControlled);
7144
+ toggle();
7145
+ }, children: [jsx(GlyphsChevronsSlimDownIcon, { className: styles$F.icon }), isReallyOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] }))] }));
7146
+ }
7037
7147
 
7038
- var styles$C = {"multi-select":"multi-select-module-DC7Ix","filter-items":"multi-select-module-cwVFb","hidden":"multi-select-module-o7yHU","filter-item":"multi-select-module-OW-NK"};
7148
+ var styles$E = {"multi-select":"multi-select-module-DC7Ix","filter-item":"multi-select-module-OW-NK"};
7039
7149
 
7040
7150
  function MultiSelect({ amountShown = 3, onChange, options, render, }) {
7041
7151
  const shownOptions = options.slice(0, amountShown);
@@ -7046,28 +7156,28 @@ function MultiSelect({ amountShown = 3, onChange, options, render, }) {
7046
7156
  options.filter(option => option.isSelected).length === 0) {
7047
7157
  return null;
7048
7158
  }
7049
- return (jsxs("div", { className: styles$C['multi-select'], children: [jsx("div", { className: styles$C['filter-items'], children: shownOptions
7159
+ return (jsxs("div", { className: styles$E['multi-select'], children: [jsx("div", { className: styles$E['filter-items'], children: shownOptions
7050
7160
  .concat(isOpen ? [] : hiddenSelectedOptions)
7051
- .map(option => (jsxs("div", { className: styles$C['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$C['filter-items'], styles$C['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$C['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
7161
+ .map(option => (jsxs("div", { className: styles$E['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$E['filter-items'], styles$E['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$E['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
7052
7162
  }
7053
7163
 
7054
- var styles$B = {"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"};
7164
+ var styles$D = {"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"};
7055
7165
 
7056
7166
  function Checkbox({ _pseudo = 'none', children, className, isDisabled, isSelected, onChange, value, }) {
7057
- return (jsxs(Checkbox$1, { className: clsx(className, styles$B.checkbox, styles$B[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$B.box, children: jsx("svg", { "aria-hidden": "true", className: styles$B.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
7167
+ return (jsxs(Checkbox$1, { className: clsx(className, styles$D.checkbox, styles$D[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$D.box, children: jsx("svg", { "aria-hidden": "true", className: styles$D.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
7058
7168
  }
7059
7169
 
7060
7170
  function ColorCheckbox({ _pseudo = 'none', children, className, color, isDisabled, isSelected, onChange, value, }) {
7061
- return (jsxs(Checkbox$1, { className: clsx(className, styles$B.checkbox, styles$B['color-checkbox'], styles$B[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
7171
+ return (jsxs(Checkbox$1, { className: clsx(className, styles$D.checkbox, styles$D['color-checkbox'], styles$D[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
7062
7172
  '--selected-color': color,
7063
- }, value: value, children: [jsx("div", { className: styles$B.box }), children] }));
7173
+ }, value: value, children: [jsx("div", { className: styles$D.box }), children] }));
7064
7174
  }
7065
7175
 
7066
7176
  function StrokeCheckmarkIcon(props) {
7067
7177
  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" }) }));
7068
7178
  }
7069
7179
 
7070
- var styles$A = {"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"};
7180
+ var styles$C = {"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"};
7071
7181
 
7072
7182
  function Select({ isDisabled = false, label, onChange, options, placeholder, selectedOption, showLabel = true, size = 'md', variant = 'outline', }) {
7073
7183
  const selectRef = useRef(null);
@@ -7084,12 +7194,12 @@ function Select({ isDisabled = false, label, onChange, options, placeholder, sel
7084
7194
  window.addEventListener('resize', updateWidth);
7085
7195
  return () => window.removeEventListener('resize', updateWidth);
7086
7196
  }, []);
7087
- return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$A.select, styles$A[size], styles$A[variant]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: placeholder || label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$A.button, children: [jsx(SelectValue, {}), jsx(GlyphsChevronsSlimDownIcon, { "aria-hidden": "true", className: styles$A.chevron })] }), jsx(Popover, { ref: ref =>
7197
+ return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$C.select, styles$C[size], styles$C[variant]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: placeholder || label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$C.button, children: [jsx(SelectValue, {}), jsx(GlyphsChevronsSlimDownIcon, { "aria-hidden": "true", className: styles$C.chevron })] }), jsx(Popover, { ref: ref =>
7088
7198
  // Workaround for react/react-aria #1513
7089
- ref?.addEventListener('touchend', e => e.preventDefault()), className: clsx(styles$A.popover, styles$A[variant]), placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$A.listbox, children: jsxs(Section, { children: [jsx(Header, { className: styles$A.header, children: placeholder || label }), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$A.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(StrokeCheckmarkIcon, { className: styles$A.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
7199
+ ref?.addEventListener('touchend', e => e.preventDefault()), className: clsx(styles$C.popover, styles$C[variant]), placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$C.listbox, children: jsxs(Section, { children: [jsx(Header, { className: styles$C.header, children: placeholder || label }), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$C.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(StrokeCheckmarkIcon, { className: styles$C.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
7090
7200
  }
7091
7201
 
7092
- var styles$z = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
7202
+ var styles$B = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
7093
7203
 
7094
7204
  /**
7095
7205
  * This component is used to create a textarea that can grow as the user types.
@@ -7124,7 +7234,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
7124
7234
  }
7125
7235
  updateHeight();
7126
7236
  }, [ref, autoGrow, updateHeight, size]);
7127
- return (jsx("div", { className: styles$z['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
7237
+ return (jsx("div", { className: styles$B['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
7128
7238
  ref.current =
7129
7239
  node;
7130
7240
  textAreaRef.current = node;
@@ -7135,7 +7245,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
7135
7245
  });
7136
7246
  TextArea.displayName = 'TextArea';
7137
7247
 
7138
- var styles$y = {"field":"text-field-module-JeaK0"};
7248
+ var styles$A = {"field":"text-field-module-JeaK0"};
7139
7249
 
7140
7250
  /**
7141
7251
  * This component is used to create a text field.
@@ -7143,7 +7253,7 @@ var styles$y = {"field":"text-field-module-JeaK0"};
7143
7253
  * This field can also grow when a user types in text.
7144
7254
  */
7145
7255
  function TextField({ autoFocus, autoGrow, defaultValue, isDisabled, isInvalid, isMultiline, isReadOnly, isRequired, label, maxLength, name, onChange, onInput, onKeyUp, placeholder, rows, showLabel = false, size = 'lg', value, }) {
7146
- return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$y.field, styles$y[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, name: name, onChange: value => {
7256
+ return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$A.field, styles$A[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, name: name, onChange: value => {
7147
7257
  onChange?.(value);
7148
7258
  }, 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, {})] }));
7149
7259
  }
@@ -7153,31 +7263,31 @@ function IntlProvider({ children, formatMessage, languageCode: _languageCode, })
7153
7263
  return (jsx(IntlContext.Provider, { value: { formatMessage, languageCode, updateLanguageCode }, children: children }));
7154
7264
  }
7155
7265
 
7156
- var styles$x = {"progress-circle":"progress-circle-module-4nweP","spin":"progress-circle-module-kCf7K"};
7266
+ var styles$z = {"progress-circle":"progress-circle-module-4nweP","spin":"progress-circle-module-kCf7K"};
7157
7267
 
7158
7268
  function ProgressCircle({ className }) {
7159
- return (jsxs("svg", { className: clsx(styles$x['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" }) })] }));
7269
+ return (jsxs("svg", { className: clsx(styles$z['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" }) })] }));
7160
7270
  }
7161
7271
 
7162
- var styles$w = {"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"};
7272
+ var styles$y = {"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"};
7163
7273
 
7164
7274
  function ProductOverviewGrid({ children, isLoading, }) {
7165
- return (jsxs("div", { className: styles$w['product-grid'], children: [Children.map(children, (child, index) => (jsx("div", { className: styles$w['grid-item'], children: child }, index))), isLoading && (jsx("div", { className: styles$w['loading-panel'], children: jsx(ProgressCircle, { className: styles$w['progress-circle'] }) }))] }));
7275
+ return (jsxs("div", { className: styles$y['product-grid'], children: [Children.map(children, (child, index) => (jsx("div", { className: styles$y['grid-item'], children: child }, index))), isLoading && (jsx("div", { className: styles$y['loading-panel'], children: jsx(ProgressCircle, { className: styles$y['progress-circle'] }) }))] }));
7166
7276
  }
7167
7277
 
7168
- var styles$v = {"loading-overlay":"loading-overlay-module-L67Gy"};
7278
+ var styles$x = {"loading-overlay":"loading-overlay-module-L67Gy"};
7169
7279
 
7170
7280
  function LoadingOverlay() {
7171
- return (jsx("div", { className: styles$v['loading-overlay'], children: jsx(ProgressCircle, {}) }));
7281
+ return (jsx("div", { className: styles$x['loading-overlay'], children: jsx(ProgressCircle, {}) }));
7172
7282
  }
7173
7283
 
7174
- var styles$u = {"page-container":"page-container-module-PYmbC","inner-page-container":"page-container-module-uD8GF"};
7284
+ var styles$w = {"page-container":"page-container-module-PYmbC","inner-page-container":"page-container-module-uD8GF"};
7175
7285
 
7176
7286
  function PageContainer({ children, className, }) {
7177
- return (jsx("div", { className: styles$u['page-container'], children: jsx("div", { className: clsx(styles$u['inner-page-container'], className), children: children }) }));
7287
+ return (jsx("div", { className: styles$w['page-container'], children: jsx("div", { className: clsx(styles$w['inner-page-container'], className), children: children }) }));
7178
7288
  }
7179
7289
 
7180
- var styles$t = {"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"};
7290
+ var styles$v = {"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"};
7181
7291
 
7182
7292
  const sizeToTag = {
7183
7293
  l: 'h3',
@@ -7190,41 +7300,41 @@ const sizeToTag = {
7190
7300
  };
7191
7301
  function Heading({ bold = true, children, className, italic, size = 'xxl', tag, uppercase, }) {
7192
7302
  return createElement$1(tag || sizeToTag[size], {
7193
- className: clsx(className, styles$t.heading, styles$t[size], {
7194
- [styles$t.uppercase]: uppercase,
7195
- [styles$t.italic]: italic,
7196
- [styles$t.bold]: bold,
7303
+ className: clsx(className, styles$v.heading, styles$v[size], {
7304
+ [styles$v.uppercase]: uppercase,
7305
+ [styles$v.italic]: italic,
7306
+ [styles$v.bold]: bold,
7197
7307
  }),
7198
7308
  }, children);
7199
7309
  }
7200
7310
 
7201
- var styles$s = {"page":"page-module-XtZ9Y","breadcrumb":"page-module-ohh9z","title":"page-module-TEmve"};
7311
+ var styles$u = {"page":"page-module-XtZ9Y","breadcrumb":"page-module-ohh9z","title":"page-module-TEmve"};
7202
7312
 
7203
7313
  function PageTitle({ children }) {
7204
7314
  const { lg, xxl } = useBreakpoint();
7205
- return (jsx(Heading, { italic: true, uppercase: true, className: styles$s.title, size: xxl ? 'xl' : lg ? 'm' : 's', tag: "h1", children: children }));
7315
+ return (jsx(Heading, { italic: true, uppercase: true, className: styles$u.title, size: xxl ? 'xl' : lg ? 'm' : 's', tag: "h1", children: children }));
7206
7316
  }
7207
7317
  function Page({ breadCrumb, children, className, title }) {
7208
- return (jsxs(PageContainer, { className: clsx(styles$s.page, className), children: [jsx("div", { className: styles$s.breadcrumb, children: jsx(Breadcrumb, { links: breadCrumb }) }), title && jsx(PageTitle, { children: title }), children] }));
7318
+ return (jsxs(PageContainer, { className: clsx(styles$u.page, className), children: [jsx("div", { className: styles$u.breadcrumb, children: jsx(Breadcrumb, { links: breadCrumb }) }), title && jsx(PageTitle, { children: title }), children] }));
7209
7319
  }
7210
7320
 
7211
7321
  function StrokeCloseboxIcon(props) {
7212
7322
  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" }) }));
7213
7323
  }
7214
7324
 
7215
- var styles$r = {"modal-overlay":"modal-module-rVFJc","modal-fade":"modal-module-63Uyl","modal":"modal-module-6vlFt","modal-zoom":"modal-module-aPJ7X"};
7325
+ var styles$t = {"modal-overlay":"modal-module-rVFJc","modal-fade":"modal-module-63Uyl","modal":"modal-module-6vlFt","modal-zoom":"modal-module-aPJ7X"};
7216
7326
 
7217
7327
  function Modal({ children, className, isDismissable, isKeyboardDismissDisabled, isOpen, onOpenChange, }) {
7218
- return (jsx(ModalOverlay, { className: clsx(styles$r['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Modal$1, { className: styles$r.modal, children: children }) }));
7328
+ return (jsx(ModalOverlay, { className: clsx(styles$t['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Modal$1, { className: styles$t.modal, children: children }) }));
7219
7329
  }
7220
7330
 
7221
- var styles$q = {"header":"dialog-module-ZnsAe","heading":"dialog-module-SwpuZ","close":"dialog-module-Y7Tqg","content":"dialog-module-Koqia","footer":"dialog-module-y7Axm"};
7331
+ var styles$s = {"header":"dialog-module-ZnsAe","heading":"dialog-module-SwpuZ","close":"dialog-module-Y7Tqg","content":"dialog-module-Koqia","footer":"dialog-module-y7Axm"};
7222
7332
 
7223
7333
  function Footer({ close }) {
7224
7334
  return (jsx(Button, { onPress: close, size: "md", children: "Close" }));
7225
7335
  }
7226
7336
  function Dialog({ allowClose = true, children, className, footer = Footer, hideTitle, isDismissable, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, title, validationErrors, }) {
7227
- return (jsx(Modal, { className: clsx(styles$q['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Dialog$1, { "aria-label": title, children: ({ close }) => (jsxs(Form, { onSubmit: onSubmit || (e => e.preventDefault), validationErrors: validationErrors, children: [jsxs("header", { className: styles$q.header, children: [!hideTitle && (jsx(Heading, { className: styles$q.heading, size: "xs", children: title })), jsx("div", { className: styles$q.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onPress: close, children: jsx(StrokeCloseboxIcon, {}) }) })] }), jsx("div", { className: styles$q.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$q.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
7337
+ return (jsx(Modal, { className: clsx(styles$s['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Dialog$1, { "aria-label": title, children: ({ close }) => (jsxs(Form, { onSubmit: onSubmit || (e => e.preventDefault), validationErrors: validationErrors, children: [jsxs("header", { className: styles$s.header, children: [!hideTitle && (jsx(Heading, { className: styles$s.heading, size: "xs", children: title })), jsx("div", { className: styles$s.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onPress: close, children: jsx(StrokeCloseboxIcon, {}) }) })] }), jsx("div", { className: styles$s.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$s.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
7228
7338
  }
7229
7339
 
7230
7340
  function SignInDialog({ isOpen, onOpenChange }) {
@@ -7233,7 +7343,7 @@ function SignInDialog({ isOpen, onOpenChange }) {
7233
7343
  return (jsxs(Dialog, { isDismissable: true, isOpen: isOpen, onOpenChange: onOpenChange, title: t('Please Sign In'), children: [t('You must '), jsx(RouteLink, { color: "secondary", href: `${signInUrl}?returnUrl=${encodeURIComponent(window.location.pathname + window.location.search)}`, onPress: () => onOpenChange(false), children: t('sign in') }), t(' to your account to manage your lists.')] }));
7234
7344
  }
7235
7345
 
7236
- function ConnectedFavoriteButton({ onFavorite: _onFavorite, productId, }) {
7346
+ function ConnectedFavoriteButton({ onFavorited: _onFavorited, onFavoriting: _onFavoriting, productId, }) {
7237
7347
  const { refetch } = useSession();
7238
7348
  const isAuthenticated = useIsAuthenticated();
7239
7349
  const { isFavorite: _isFavorite, isFetching, wishList, wishListItem, } = useFavoriteProduct(productId);
@@ -7242,6 +7352,8 @@ function ConnectedFavoriteButton({ onFavorite: _onFavorite, productId, }) {
7242
7352
  const { error: deleteWishListItemFromWishListError, mutate: deleteWishListItemFromWishList, } = useDeleteWishListItemFromWishList();
7243
7353
  const [isFavorite, setIsFavorite] = useState(_isFavorite);
7244
7354
  function onFavorite() {
7355
+ if (!(wishList && wishListItem))
7356
+ _onFavoriting?.();
7245
7357
  if (!isAuthenticated) {
7246
7358
  return setShowSignInDialog(true);
7247
7359
  }
@@ -7253,8 +7365,11 @@ function ConnectedFavoriteButton({ onFavorite: _onFavorite, productId, }) {
7253
7365
  });
7254
7366
  }
7255
7367
  else {
7256
- addWishListItemToCurrentWishList({ productId });
7257
- _onFavorite?.();
7368
+ addWishListItemToCurrentWishList({ productId }, {
7369
+ onSuccess() {
7370
+ _onFavorited?.();
7371
+ },
7372
+ });
7258
7373
  }
7259
7374
  }
7260
7375
  useEffect(() => {
@@ -7279,14 +7394,22 @@ function ConnectedFavoriteButton({ onFavorite: _onFavorite, productId, }) {
7279
7394
  return (jsxs(Fragment, { children: [jsx(FavoriteButton, { isDisabled: isFetching, isFavorite: isFavorite, onPress: onFavorite }), jsx(SignInDialog, { isOpen: showSignInDialog, onOpenChange: setShowSignInDialog })] }));
7280
7395
  }
7281
7396
 
7282
- function ConnectedProductCard({ onAddToCart, onFavorite, productId, ...props }) {
7283
- return (jsx(ProductCard, { ...props, addToCartButton: jsx(ConnectedAddToCartButton, { onAddToCart: onAddToCart, productId: productId }), favoriteButton: jsx(ConnectedFavoriteButton, { onFavorite: onFavorite, productId: productId }) }));
7397
+ function ConnectedProductCard({ onAddToCart, onFavorited, onFavoriting, productId, ...props }) {
7398
+ return (jsx(ProductCard, { ...props, addToCartButton: jsx(ConnectedAddToCartButton, { onAddToCart: onAddToCart, productId: productId }), favoriteButton: jsx(ConnectedFavoriteButton, { onFavorited: onFavorited, onFavoriting: onFavoriting, productId: productId }) }));
7284
7399
  }
7285
7400
 
7286
- var styles$p = {"slide":"product-carousel-module-XVTB1"};
7401
+ var styles$r = {"carousel-container":"product-carousel-module-DpUaX","button":"product-carousel-module-0ymqZ","slide":"product-carousel-module-XVTB1","width-auto":"product-carousel-module-E2EUK","width-narrow":"product-carousel-module-yrkV9","width-normal":"product-carousel-module-SzVga"};
7287
7402
 
7288
- function ProductCarousel({ hasOverflow = false, productCards, }) {
7289
- return (jsx(Carousel, { hasOverflow: hasOverflow, navigationButtonsPosition: "center", slideClasses: styles$p.slide, slides: productCards, spaceBetween: 16 }));
7403
+ function ProductCarousel({ allowExpandToGrid = false, cardWidth = 'auto', hasOverflow = false, productCards, productsPerView = {
7404
+ md: 2,
7405
+ sm: 1,
7406
+ xxl: 3,
7407
+ }, }) {
7408
+ const [isExpanded, setIsExpanded] = useState(false);
7409
+ if (!isExpanded) {
7410
+ return (jsxs("div", { className: styles$r['carousel-container'], children: [jsx(Carousel, { hasOverflow: hasOverflow, navigationButtonsPosition: "center", slideClasses: clsx(styles$r.slide, styles$r[`width-${cardWidth}`]), slides: productCards, slidesPerView: productsPerView, spaceBetween: 16 }), allowExpandToGrid && (jsx(Button, { withArrow: true, className: styles$r.button, color: "secondary", onPress: () => setIsExpanded(true), variant: "outline", children: jsx(FormattedMessage, { id: "Show all" }) }))] }));
7411
+ }
7412
+ return (jsxs("div", { className: styles$r['carousel-container'], children: [jsxs(ProductOverviewGrid, { children: [...productCards] }), jsx(Button, { withArrow: true, className: styles$r.button, color: "secondary", onPress: () => setIsExpanded(false), variant: "outline", children: jsx(FormattedMessage, { id: "Show less" }) })] }));
7290
7413
  }
7291
7414
 
7292
7415
  function useLanguageCode() {
@@ -7294,7 +7417,7 @@ function useLanguageCode() {
7294
7417
  return languageCode;
7295
7418
  }
7296
7419
 
7297
- var styles$o = {"images-grid":"images-grid-module-i5868","grid-item":"images-grid-module-nY9-n","clickable":"images-grid-module-Ruktz"};
7420
+ var styles$q = {"images-grid":"images-grid-module-i5868","grid-item":"images-grid-module-nY9-n","clickable":"images-grid-module-Ruktz"};
7298
7421
 
7299
7422
  const mainImagePosition = {
7300
7423
  1: 0,
@@ -7324,9 +7447,9 @@ function ImagesGrid({ images, onSelectImage }) {
7324
7447
  // TODO: Implement mobile thumbs swiper
7325
7448
  return jsx("div", { children: "Mobile thumbs swiper" });
7326
7449
  }
7327
- return (jsx("div", { className: styles$o['images-grid'], "data-count": images.length, children: imageList.map((image, index) => image && (jsx("div", { "aria-label": onSelectImage ? `Open image ${index}` : undefined, className: clsx(styles$o['grid-item'], {
7328
- [styles$o.clickable]: Boolean(onSelectImage),
7329
- }), onClick: () => onSelectImage?.(image, images.indexOf(image)), onKeyDown: event => handleKeydown(event, image), role: onSelectImage ? 'button' : undefined, tabIndex: onSelectImage ? 0 : undefined, children: jsx(Image, { fit: "cover", image: image, title: image.altText }) }, index))) }));
7450
+ return (jsx("div", { className: styles$q['images-grid'], "data-count": images.length, children: imageList.map((image, index) => image && (jsx("div", { "aria-label": onSelectImage ? `Open image ${index}` : undefined, className: clsx(styles$q['grid-item'], {
7451
+ [styles$q.clickable]: Boolean(onSelectImage),
7452
+ }), onClick: () => onSelectImage?.(image, images.indexOf(image)), onKeyDown: event => handleKeydown(event, image), role: onSelectImage ? 'button' : undefined, tabIndex: onSelectImage ? 0 : undefined, children: jsx(Image, { fit: "contain", image: image, title: image.altText }) }, index))) }));
7330
7453
  }
7331
7454
 
7332
7455
  function ErrorPage({ error }) {
@@ -7342,16 +7465,16 @@ function ErrorPage({ error }) {
7342
7465
  ], title: "Something went wrong", children: environment !== 'production' && (jsxs(Fragment, { children: [jsx(Heading, { size: "l", children: isRequestError(error) ? (jsxs(Fragment, { children: [error.status, " - ", error.statusText || 'Unknown error'] })) : (jsx(Fragment, { children: error.message })) }), isRequestError(error) && (jsxs(Fragment, { children: [jsx(Heading, { size: "xs", children: "Error details" }), jsx(Heading, { size: "xxs", children: "Body" }), jsx("pre", { children: JSON.stringify(error.body, null, 2) }), jsx(Heading, { size: "xxs", children: "Options" }), jsx("pre", { children: JSON.stringify(error.options, null, 2) })] }))] })) }));
7343
7466
  }
7344
7467
 
7345
- var styles$n = {"product-details-page-layout":"product-details-page-layout-module-IQFIn","top":"product-details-page-layout-module--7oUp","image-gallery":"product-details-page-layout-module-Efavu","product-information":"product-details-page-layout-module-Y2490"};
7468
+ var styles$p = {"product-details-page-layout":"product-details-page-layout-module-IQFIn","top":"product-details-page-layout-module--7oUp","image-gallery":"product-details-page-layout-module-Efavu","product-information":"product-details-page-layout-module-Y2490","recently-viewed":"product-details-page-layout-module-EDW8t","included":"product-details-page-layout-module-GSMls"};
7346
7469
 
7347
7470
  function ProductDetailsPageLayout({ imageGallery, included, productInformation, recentlyViewed, usp, }) {
7348
- return (jsxs("div", { className: styles$n['product-details-page-layout'], children: [jsxs("section", { className: styles$n.top, children: [jsx("div", { className: styles$n['image-gallery'], children: imageGallery }), jsx("div", { className: styles$n['product-information'], children: productInformation })] }), jsx("section", { className: styles$n.usp, children: usp }), jsx("section", { className: styles$n.include, children: included }), jsx("section", { className: styles$n['recently-viewed'], children: recentlyViewed })] }));
7471
+ return (jsxs("div", { className: styles$p['product-details-page-layout'], children: [jsxs("section", { className: styles$p.top, children: [jsx("div", { className: styles$p['image-gallery'], children: imageGallery }), jsx("div", { className: styles$p['product-information'], children: productInformation })] }), jsx("section", { className: styles$p.usp, children: usp }), jsx("section", { className: styles$p.included, children: included }), jsx("section", { className: styles$p['recently-viewed'], children: recentlyViewed })] }));
7349
7472
  }
7350
7473
 
7351
- var styles$m = {"blank-page-spacer":"blank-page-spacer-module-lXxle","loading-overlay":"blank-page-spacer-module-hbxDP"};
7474
+ var styles$o = {"blank-page-spacer":"blank-page-spacer-module-lXxle","loading-overlay":"blank-page-spacer-module-hbxDP"};
7352
7475
 
7353
7476
  function BlankPageSpacer({ children }) {
7354
- return jsx("div", { className: styles$m['blank-page-spacer'], children: children });
7477
+ return jsx("div", { className: styles$o['blank-page-spacer'], children: children });
7355
7478
  }
7356
7479
 
7357
7480
  function LoadingPage() {
@@ -7364,9 +7487,9 @@ function useFetchProductDetailsPageData({ languageCode, pageUrl, }) {
7364
7487
  queryFn: async () => {
7365
7488
  const { body } = await request({
7366
7489
  headers: { 'Current-Language-Id': languageCode },
7367
- // url: `${config.BFF_API_URL}/pdp/?pageUrl=${pageUrl}`,
7368
- // url: `/data/product-details/bff-response.json`,
7369
- url: `${config.SHOP_API_URL}/pdp/?pageUrl=${pageUrl}`,
7490
+ url: environment === 'local'
7491
+ ? `${config.SHOP_API_URL}/pdp/?pageUrl=${pageUrl}`
7492
+ : `${config.BFF_API_URL}/pdp/?pageUrl=${pageUrl}`,
7370
7493
  });
7371
7494
  return body;
7372
7495
  },
@@ -7375,6 +7498,97 @@ function useFetchProductDetailsPageData({ languageCode, pageUrl, }) {
7375
7498
  });
7376
7499
  }
7377
7500
 
7501
+ function GlyphsChevronsBoldDownIcon(props) {
7502
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "12", viewBox: "0 0 12 12", width: "12", children: jsx("path", { d: "M5.98800959,10 L1,4.97931034 C1.17585931,4.65747126 1.4636291,4.2954023 1.86330935,3.89310345 C2.03916867,3.71609195 2.21502798,3.55517241 2.39088729,3.41034483 C2.5667466,3.26551724 2.70263789,3.16896552 2.79856115,3.12068966 L2.94244604,3.02413793 L5.98800959,6.08965517 L9.05755396,3 C9.39328537,3.19310345 9.7529976,3.48275862 10.1366906,3.86896552 C10.31255,4.04597701 10.4724221,4.22298851 10.616307,4.4 L10.8321343,4.67517241 C10.8705036,4.72666667 10.902478,4.77172414 10.9280576,4.81034483 L11,4.95517241 L5.98800959,10 Z", fillRule: "evenodd" }) }));
7503
+ }
7504
+
7505
+ function AccordionItem({ _pseudo = 'none', borderType = 'bottom', children, className, id, initialIsOpen = false, isDisabled = false, size, title, }) {
7506
+ const { isOpen, toggle } = useDisclosure(initialIsOpen);
7507
+ const panelId = `panel-${id}`;
7508
+ return (jsxs("div", { className: clsx(className, ...[]
7509
+ .concat(borderType)
7510
+ .map(type => styles$G[`border-type-${type}`]), styles$G['accordion-item'], {
7511
+ [styles$G['is-open']]: isOpen,
7512
+ }), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$G.button, styles$G[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$G.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$G.panel, id: panelId, role: "region", children: jsx("div", { className: styles$G.content, children: children }) })] }));
7513
+ }
7514
+
7515
+ function StrokeDownloadIcon(props) {
7516
+ 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: "M12.6685993,12.3385757 C12.6685993,12.1644319 12.6024808,12.0142458 12.4702437,11.8880173 C12.3380066,11.7617888 12.1827098,11.6986746 12.0043534,11.6986746 C11.8261024,11.6986746 11.669592,11.7617888 11.5348221,11.8880173 C11.4000521,12.0142458 11.3326671,12.1644319 11.3326671,12.3385757 L11.3326671,15.9558716 L11.3972554,17.550369 L10.4070604,16.5637776 L9.55854795,15.7142857 C9.49765346,15.6490591 9.42559851,15.5997527 9.34238308,15.5663666 C9.25916765,15.5329804 9.17402618,15.5162873 9.08695867,15.5162873 C8.90870774,15.5162873 8.76232879,15.5723688 8.64782183,15.6845319 C8.53331486,15.7966949 8.47606138,15.9373752 8.47606138,16.1065729 C8.47606138,16.2079679 8.49632437,16.2968172 8.53685033,16.3731211 C8.5773763,16.4494249 8.63225521,16.5189021 8.70148707,16.5815526 L11.5151923,19.1380656 C11.6064813,19.2214279 11.689512,19.2798022 11.7642845,19.3131883 C11.839057,19.3465744 11.91908,19.3632675 12.0043534,19.3632675 C12.0905766,19.3632675 12.1708634,19.3465744 12.2452138,19.3131883 C12.3195641,19.2798022 12.4023838,19.2214279 12.4936728,19.1380656 L15.2983546,16.5815526 C15.3685363,16.5189021 15.4251566,16.4494249 15.4682154,16.3731211 C15.5112743,16.2968172 15.5328037,16.2079679 15.5328037,16.1065729 C15.5328037,15.9373752 15.4742838,15.7966949 15.3572439,15.6845319 C15.2402041,15.5723688 15.0921366,15.5162873 14.9130413,15.5162873 C14.8268181,15.5162873 14.7433652,15.5329804 14.6626827,15.5663666 C14.5820001,15.5997527 14.5112116,15.6490591 14.4503171,15.7142857 L13.5940477,16.5637776 L12.6128761,17.550369 L12.6685993,15.9558716 L12.6685993,12.3385757 Z M6.89950629,22 L17.1004937,22 C18.0682622,22 18.7934554,21.7615055 19.2760733,21.2845164 C19.7586911,20.8075273 20,20.0941046 20,19.1442482 L20,10.5402063 C20,10.1632727 19.9790774,9.84509963 19.9372322,9.58568724 C19.8953871,9.32627484 19.8138602,9.09161869 19.6926517,8.88171877 C19.5714432,8.67181885 19.391319,8.44723521 19.1522791,8.20796785 L13.7292398,2.8363538 C13.3879352,2.49734019 13.0527517,2.27319448 12.7236893,2.16391669 C12.3946269,2.0546389 11.9745921,2 11.463585,2 L6.89950629,2 C5.94018067,2 5.21709821,2.23993714 4.73025893,2.71981143 C4.24341964,3.19968572 4,3.91455105 4,4.86440743 L4,19.1442482 C4,20.0941046 4.2429975,20.8075273 4.72899249,21.2845164 C5.21498748,21.7615055 5.93849208,22 6.89950629,22 Z M6.96409455,20.6361142 C6.44844383,20.6361142 6.05980614,20.5055064 5.79818148,20.2442907 C5.53655681,19.9830751 5.40574448,19.6065021 5.40574448,19.1145717 L5.40574448,4.89408401 C5.40574448,4.41122145 5.53803432,4.03691539 5.802614,3.77116581 C6.06719369,3.50541623 6.45730889,3.37254144 6.9729596,3.37254144 L11.3238021,3.37254144 L11.3238021,8.87940029 C11.3238021,9.44500689 11.4680175,9.86740858 11.7564484,10.1466054 C12.0448793,10.4258021 12.4733042,10.5654005 13.0417231,10.5654005 L18.6031206,10.5654005 L18.6031206,19.1145717 C18.6031206,19.6065021 18.4708307,19.9830751 18.2062511,20.2442907 C17.9416714,20.5055064 17.5489705,20.6361142 17.0281485,20.6361142 L6.96409455,20.6361142 Z M13.2027189,9.27833378 C13.0010389,9.27833378 12.8556889,9.23484936 12.766669,9.14788052 C12.677649,9.06091168 12.6331391,8.91896905 12.6331391,8.72205263 L12.6331391,3.63854863 L18.3306784,9.27833378 L13.2027189,9.27833378 Z" }) }));
7517
+ }
7518
+
7519
+ function SolidCloseIcon(props) {
7520
+ 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: "M11.9997748,2 C17.5138784,2 22,6.48597148 22,11.9997748 C22,17.5138784 17.5138784,22 11.9997748,22 C6.48597148,22 2,17.5138784 2,11.9997748 C2,6.48597148 6.48597148,2 11.9997748,2 Z M16.4949747,7.50502525 C16.2216077,7.23165825 15.7783923,7.23165825 15.5050253,7.50502525 L12,11.011 L8.49497475,7.50502525 C8.22160774,7.23165825 7.77839226,7.23165825 7.50502525,7.50502525 L7.43121616,7.59179111 C7.23439192,7.86533687 7.25899495,8.24894444 7.50502525,8.49497475 L11.011,12 L7.50502525,15.5050253 C7.23165825,15.7783923 7.23165825,16.2216077 7.50502525,16.4949747 L7.59179111,16.5687838 C7.86533687,16.7656081 8.24894444,16.7410051 8.49497475,16.4949747 L12,12.988 L15.5050253,16.4949747 C15.7783923,16.7683418 16.2216077,16.7683418 16.4949747,16.4949747 L16.5687838,16.4082089 C16.7656081,16.1346631 16.7410051,15.7510556 16.4949747,15.5050253 L12.988,12 L16.4949747,8.49497475 C16.7683418,8.22160774 16.7683418,7.77839226 16.4949747,7.50502525 Z", fillRule: "evenodd" }) }));
7521
+ }
7522
+
7523
+ function SolidOkayIcon(props) {
7524
+ 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: "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" }) }));
7525
+ }
7526
+
7527
+ var styles$n = {"feature-list":"feature-list-module-cxc8U","row":"feature-list-module-tTJ2r","column":"feature-list-module-Tw0KD","column-label":"feature-list-module-J6Xfj","alignment-right":"feature-list-module-deI1-","column-value":"feature-list-module-CqSj1","icon-true":"feature-list-module-ojZvf","icon-false":"feature-list-module-4IjrA"};
7528
+
7529
+ function FeatureKey({ label }) {
7530
+ return label;
7531
+ }
7532
+ function FeatureValue({ value }) {
7533
+ if (typeof value === 'boolean' ||
7534
+ (typeof value === 'string' &&
7535
+ (value.toLowerCase() === 'true' || value.toLowerCase() === 'false'))) {
7536
+ return (jsx(Fragment, { children: String(value).toLowerCase() === 'true' ? (jsx(SolidOkayIcon, { className: styles$n['icon-true'] })) : (jsx(SolidCloseIcon, { className: styles$n['icon-false'] })) }));
7537
+ }
7538
+ return jsx("div", { className: styles$n.value, children: value });
7539
+ }
7540
+ function FeatureList({ className, features, style }) {
7541
+ return (jsx("div", { className: clsx(styles$n['feature-list'], className), children: features.map(({ id, key, value }) => (jsxs("div", { className: styles$n.row, children: [jsx("div", { className: clsx(styles$n.column, styles$n['column-label'], styles$n[`alignment-${style?.keyAlignment || 'left'}`]), children: key && jsx(FeatureKey, { ...key }) }), jsx("div", { className: clsx(styles$n.column, styles$n['column-value'], styles$n[`alignment-${style?.valueAlignment || 'right'}`]), children: Array.isArray(value) ? (value.map((value, index) => (jsx(FeatureValue, { value: value }, `${id}-${index}`)))) : (jsx(FeatureValue, { value: value })) })] }, id))) }));
7542
+ }
7543
+
7544
+ var styles$m = {"download-list-item":"download-document-list-module-Z023h"};
7545
+
7546
+ function DownloadDocumentList({ className, documents, }) {
7547
+ return (jsx(FeatureList, { className: className, features: documents.map(document => ({
7548
+ id: `${document.id}`,
7549
+ value: jsx(DownloadListItem, { document: document }, document.id),
7550
+ })), style: { valueAlignment: 'left' } }));
7551
+ }
7552
+ function DownloadListItem({ document: { href, name }, }) {
7553
+ return (jsxs("div", { className: styles$m['download-list-item'], children: [jsx(StrokeDownloadIcon, {}), jsx("a", { href: href, rel: "noreferrer", target: "_blank", children: name })] }));
7554
+ }
7555
+
7556
+ var styles$l = {"description":"product-details-panel-module-BqSmY","feature-list":"product-details-panel-module-J060x"};
7557
+
7558
+ function ProductDetailsPanel({ product }) {
7559
+ return (jsxs("div", { style: {
7560
+ display: 'flex',
7561
+ flexDirection: 'column',
7562
+ gap: '24px',
7563
+ padding: '1rem',
7564
+ }, children: [jsxs("div", { style: {
7565
+ display: 'flex',
7566
+ flexDirection: 'column',
7567
+ gap: '8px',
7568
+ }, children: [jsx(Heading, { size: "xs", children: product.productTitle }), jsx(ProductSku, { sku: product.productNumber })] }), jsxs("div", { style: {
7569
+ alignItems: 'flex-end',
7570
+ display: 'flex',
7571
+ justifyContent: 'space-between',
7572
+ width: '100%',
7573
+ }, children: [jsx(ProductPrice, { isVatIncluded: false, originalPrice: product.unitListPrice, price: product.unitListPrice }), jsxs("div", { style: { alignItems: 'center', display: 'flex', gap: '8px' }, children: [product.canAddToCart && (jsx(ConnectedAddToCartButton, { productId: product.storefrontId })), product.canAddToWishlist && (jsx(ConnectedFavoriteButton, { productId: product.storefrontId }))] })] }), jsxs("div", { children: [jsx(Heading, { size: "xxs", children: jsx(FormattedMessage, { id: "Product Features" }) }), jsx(ShowAll, { initialHeight: 216, children: jsx("div", { className: styles$l.description, dangerouslySetInnerHTML: {
7574
+ __html: product.content.htmlContent,
7575
+ } }) })] }), jsx("div", { children: jsxs(Accordion, { indented: true, borderType: ['top', 'middle-accentuated'], children: [Boolean(product.attributeTypes.length) && (jsx(AccordionItem, { id: "specification", title: jsx(FormattedMessage, { id: "Specifications" }), children: jsx(FeatureList, { className: styles$l['feature-list'], features: product.attributeTypes.map(attribute => ({
7576
+ id: `${attribute.id}`,
7577
+ key: { label: attribute.label },
7578
+ value: attribute.attributeValues.map(attributeValue => attributeValue.value),
7579
+ })) }) })), Boolean(product.specifications.length) && (jsx(AccordionItem, { id: "features", title: jsx(FormattedMessage, { id: "Features" }), children: jsx(FeatureList, { className: styles$l['feature-list'], features: product.specifications.map(specification => ({
7580
+ id: `${specification.id}`,
7581
+ key: { label: specification.nameDisplay },
7582
+ value: specification.value,
7583
+ })) }) })), Boolean(product.documents.length) && (jsx(AccordionItem, { id: "downloads", title: jsx(FormattedMessage, { id: "Downloads" }), children: jsx(DownloadDocumentList, { className: styles$l['feature-list'], documents: product.documents
7584
+ .map(document => ({
7585
+ href: document.filePath,
7586
+ id: document.id,
7587
+ name: document.name,
7588
+ }))
7589
+ .sort((a, b) => a.name.localeCompare(b.name)) }) }))] }) })] }));
7590
+ }
7591
+
7378
7592
  function ProductDetailsPage({ pageUrl }) {
7379
7593
  const languageCode = useLanguageCode();
7380
7594
  const { data, error, isError, isFetching } = useFetchProductDetailsPageData({
@@ -7386,29 +7600,17 @@ function ProductDetailsPage({ pageUrl }) {
7386
7600
  if (!data || isFetching)
7387
7601
  return jsx(LoadingPage, {});
7388
7602
  const { breadCrumb, included, product, recentlyViewed } = data;
7389
- return (jsx(Page, { breadCrumb: breadCrumb, children: jsx(ProductDetailsPageLayout, { imageGallery: jsx(ImagesGrid, { images: product.images }), included: jsxs("div", { style: {
7390
- alignItems: 'center',
7391
- display: 'flex',
7392
- flexDirection: 'column',
7393
- padding: '0 1rem 1rem',
7394
- }, children: [jsx("h1", { style: { marginTop: '0' }, children: "Includes" }), included && (jsx(ProductCarousel, { hasOverflow: true, productCards: included.map(product => (jsx(ConnectedProductCard, { href: product.href, image: {
7603
+ return (jsx(Page, { breadCrumb: breadCrumb, children: jsx(ProductDetailsPageLayout, { imageGallery: jsx(ImagesGrid, { images: product.images }), included: included !== undefined &&
7604
+ Boolean(included.length) && (jsxs(Fragment, { children: [jsx(Heading, { size: "s", tag: "h2", children: jsx(FormattedMessage, { id: "Includes" }) }), jsx(ProductCarousel, { allowExpandToGrid: true, hasOverflow: true, productCards: included.map(product => (jsx(ConnectedProductCard, { href: product.href, image: {
7395
7605
  fit: 'contain',
7396
7606
  image: product.image,
7397
7607
  title: product.image.altText,
7398
- }, price: product.price, productId: product.productId, sku: product.sku, tags: product.tags, title: product.title }, product.storefrontId))) }))] }), productInformation: jsxs("div", { style: {
7399
- padding: '1rem',
7400
- }, children: [jsx("h1", { children: product.productTitle }), jsx(ProductSku, { sku: product.productNumber }), jsx(ProductPrice, { isVatIncluded: false, originalPrice: product.unitListPrice, price: product.unitListPrice }), product.canAddToCart && (jsx(ConnectedAddToCartButton, { productId: product.storefrontId })), product.canAddToWishlist && (jsx(ConnectedFavoriteButton, { productId: product.storefrontId })), jsx("h2", { children: "Product Features" }), jsx("div", { dangerouslySetInnerHTML: {
7401
- __html: product.content.htmlContent,
7402
- } }), jsx("h2", { children: "Specifications" }), jsx("div", { style: {
7403
- display: 'flex',
7404
- flexDirection: 'column',
7405
- }, children: product.attributeTypes.map(attribute => attribute.attributeValues.map(attributeValue => (jsxs("div", { style: { display: 'flex' }, children: [jsx("b", { children: attribute.label }), ":", jsx("span", { children: attributeValue.value })] }, `${attribute.id}-${attributeValue.id}`)))) }), jsx("h2", { children: "Features" }), jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: product.specifications.map(specification => (jsxs("div", { style: { display: 'flex' }, children: [jsx("b", { children: specification.nameDisplay }), ":", jsx("span", { children: specification.value })] }, specification.id))) }), jsx("h2", { children: "Downloads" }), jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: product.documents.map(document => (jsx("a", { href: `${config.SHOP_API_URL}/${document.filePath}`, rel: "noreferrer", target: "_blank", children: document.name }, document.id))) })] }), recentlyViewed: jsxs("div", { style: {
7406
- padding: '0 1rem 1rem',
7407
- }, children: [jsx("h1", { style: { marginTop: '0' }, children: "Recently Viewed" }), recentlyViewed && (jsx(ProductCarousel, { hasOverflow: true, productCards: recentlyViewed.map(product => (jsx(ConnectedProductCard, { href: product.href, image: {
7608
+ }, price: product.price, productId: product.productId, sku: product.sku, tags: product.tags, title: product.title }, product.storefrontId))) })] })), productInformation: jsx(ProductDetailsPanel, { product: product }), recentlyViewed: recentlyViewed !== undefined &&
7609
+ Boolean(recentlyViewed.length) && (jsxs(Fragment, { children: [jsx(Heading, { size: "s", tag: "h2", children: jsx(FormattedMessage, { id: "Recently viewed" }) }), jsx(ProductCarousel, { hasOverflow: true, productCards: recentlyViewed.map(product => (jsx(ConnectedProductCard, { href: product.href, image: {
7408
7610
  fit: 'contain',
7409
7611
  image: product.image,
7410
7612
  title: product.image.altText,
7411
- }, price: product.price, productId: product.productId, sku: product.sku, tags: product.tags, title: product.title }, product.storefrontId))) }))] }), usp: jsx("div", { style: {
7613
+ }, price: product.price, productId: product.productId, sku: product.sku, tags: product.tags, title: product.title }, product.storefrontId))) })] })), usp: jsx("div", { style: {
7412
7614
  backgroundColor: '#bcbcbc',
7413
7615
  display: 'grid',
7414
7616
  fontWeight: 'bold',
@@ -7454,19 +7656,7 @@ function StrokeCategoriesIcon(props) {
7454
7656
  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: "M5.41809745,11.3726236 L7.09605568,11.3726236 C8.03897912,11.3726236 8.51415313,10.8859316 8.51415313,9.88212928 L8.51415313,6.48288973 C8.51415313,5.47908745 8.03897912,5 7.09605568,5 L5.41809745,5 C4.47517401,5 4,5.47908745 4,6.48288973 L4,9.88212928 C4,10.8859316 4.47517401,11.3726236 5.41809745,11.3726236 Z M11.1647332,11.3726236 L12.8426914,11.3726236 C13.7856148,11.3726236 14.2607889,10.8859316 14.2607889,9.88212928 L14.2607889,6.48288973 C14.2607889,5.47908745 13.7856148,5 12.8426914,5 L11.1647332,5 C10.2218097,5 9.74663573,5.47908745 9.74663573,6.48288973 L9.74663573,9.88212928 C9.74663573,10.8859316 10.2218097,11.3726236 11.1647332,11.3726236 Z M16.9113689,11.3726236 L18.5819026,11.3726236 C19.524826,11.3726236 20,10.8859316 20,9.88212928 L20,6.48288973 C20,5.47908745 19.524826,5 18.5819026,5 L16.9113689,5 C15.9610209,5 15.4858469,5.47908745 15.4858469,6.48288973 L15.4858469,9.88212928 C15.4858469,10.8859316 15.9610209,11.3726236 16.9113689,11.3726236 Z M5.43294664,10.3003802 C5.17308585,10.3003802 5.04686775,10.1634981 5.04686775,9.88212928 L5.04686775,6.48288973 C5.04686775,6.20912548 5.17308585,6.07224335 5.43294664,6.07224335 L7.0737819,6.07224335 C7.33364269,6.07224335 7.46728538,6.20912548 7.46728538,6.48288973 L7.46728538,9.88212928 C7.46728538,10.1634981 7.33364269,10.3003802 7.0737819,10.3003802 L5.43294664,10.3003802 Z M11.1795824,10.3003802 C10.9197216,10.3003802 10.7935035,10.1634981 10.7935035,9.88212928 L10.7935035,6.48288973 C10.7935035,6.20912548 10.9197216,6.07224335 11.1795824,6.07224335 L12.8278422,6.07224335 C13.087703,6.07224335 13.2139211,6.20912548 13.2139211,6.48288973 L13.2139211,9.88212928 C13.2139211,10.1634981 13.087703,10.3003802 12.8278422,10.3003802 L11.1795824,10.3003802 Z M16.9187935,10.3003802 C16.6589327,10.3003802 16.5327146,10.1634981 16.5327146,9.88212928 L16.5327146,6.48288973 C16.5327146,6.20912548 16.6589327,6.07224335 16.9187935,6.07224335 L18.5670534,6.07224335 C18.8269142,6.07224335 18.9531323,6.20912548 18.9531323,6.48288973 L18.9531323,9.88212928 C18.9531323,10.1634981 18.8269142,10.3003802 18.5670534,10.3003802 L16.9187935,10.3003802 Z M5.41809745,19 L7.09605568,19 C8.03897912,19 8.51415313,18.5209125 8.51415313,17.5171103 L8.51415313,14.1102662 C8.51415313,13.1140684 8.03897912,12.6273764 7.09605568,12.6273764 L5.41809745,12.6273764 C4.47517401,12.6273764 4,13.1140684 4,14.1102662 L4,17.5171103 C4,18.5209125 4.47517401,19 5.41809745,19 Z M11.1647332,19 L12.8426914,19 C13.7856148,19 14.2607889,18.5209125 14.2607889,17.5171103 L14.2607889,14.1102662 C14.2607889,13.1140684 13.7856148,12.6273764 12.8426914,12.6273764 L11.1647332,12.6273764 C10.2218097,12.6273764 9.74663573,13.1140684 9.74663573,14.1102662 L9.74663573,17.5171103 C9.74663573,18.5209125 10.2218097,19 11.1647332,19 Z M16.9113689,19 L18.5819026,19 C19.524826,19 20,18.5209125 20,17.5171103 L20,14.1102662 C20,13.1140684 19.524826,12.6273764 18.5819026,12.6273764 L16.9113689,12.6273764 C15.9610209,12.6273764 15.4858469,13.1140684 15.4858469,14.1102662 L15.4858469,17.5171103 C15.4858469,18.5209125 15.9610209,19 16.9113689,19 Z M5.43294664,17.9277567 C5.17308585,17.9277567 5.04686775,17.7908745 5.04686775,17.5171103 L5.04686775,14.1178707 C5.04686775,13.8365019 5.17308585,13.6996198 5.43294664,13.6996198 L7.0737819,13.6996198 C7.33364269,13.6996198 7.46728538,13.8365019 7.46728538,14.1178707 L7.46728538,17.5171103 C7.46728538,17.7908745 7.33364269,17.9277567 7.0737819,17.9277567 L5.43294664,17.9277567 Z M11.1795824,17.9277567 C10.9197216,17.9277567 10.7935035,17.7908745 10.7935035,17.5171103 L10.7935035,14.1178707 C10.7935035,13.8365019 10.9197216,13.6996198 11.1795824,13.6996198 L12.8278422,13.6996198 C13.087703,13.6996198 13.2139211,13.8365019 13.2139211,14.1178707 L13.2139211,17.5171103 C13.2139211,17.7908745 13.087703,17.9277567 12.8278422,17.9277567 L11.1795824,17.9277567 Z M16.9187935,17.9277567 C16.6589327,17.9277567 16.5327146,17.7908745 16.5327146,17.5171103 L16.5327146,14.1178707 C16.5327146,13.8365019 16.6589327,13.6996198 16.9187935,13.6996198 L18.5670534,13.6996198 C18.8269142,13.6996198 18.9531323,13.8365019 18.9531323,14.1178707 L18.9531323,17.5171103 C18.9531323,17.7908745 18.8269142,17.9277567 18.5670534,17.9277567 L16.9187935,17.9277567 Z" }) }));
7455
7657
  }
7456
7658
 
7457
- function GlyphsChevronsBoldDownIcon(props) {
7458
- return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "12", viewBox: "0 0 12 12", width: "12", children: jsx("path", { d: "M5.98800959,10 L1,4.97931034 C1.17585931,4.65747126 1.4636291,4.2954023 1.86330935,3.89310345 C2.03916867,3.71609195 2.21502798,3.55517241 2.39088729,3.41034483 C2.5667466,3.26551724 2.70263789,3.16896552 2.79856115,3.12068966 L2.94244604,3.02413793 L5.98800959,6.08965517 L9.05755396,3 C9.39328537,3.19310345 9.7529976,3.48275862 10.1366906,3.86896552 C10.31255,4.04597701 10.4724221,4.22298851 10.616307,4.4 L10.8321343,4.67517241 C10.8705036,4.72666667 10.902478,4.77172414 10.9280576,4.81034483 L11,4.95517241 L5.98800959,10 Z", fillRule: "evenodd" }) }));
7459
- }
7460
-
7461
- function AccordionItem({ _pseudo = 'none', children, className, id, initialIsOpen = false, isDisabled = false, size, title, }) {
7462
- const { isOpen, toggle } = useDisclosure(initialIsOpen);
7463
- const panelId = `panel-${id}`;
7464
- return (jsxs("div", { className: clsx(className, styles$E['accordion-item'], {
7465
- [styles$E['is-open']]: isOpen,
7466
- }), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$E.button, styles$E[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$E.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$E.panel, id: panelId, role: "region", children: jsx("div", { className: styles$E.content, children: children }) })] }));
7467
- }
7468
-
7469
- var styles$l = {"filter-section":"filter-section-module-q1Ob8","default":"filter-section-module-JkP09","title":"filter-section-module-hWVv-","with-action":"filter-section-module-9qc6L","header":"filter-section-module-zi2ZE","content":"filter-section-module-15-YW","sm":"filter-section-module-crU-3","md":"filter-section-module-vHRQu","border-top":"filter-section-module-dGcTY"};
7659
+ var filterSectionStyles = {"filter-section":"filter-section-module-q1Ob8","default":"filter-section-module-JkP09","title":"filter-section-module-hWVv-","with-action":"filter-section-module-9qc6L","header":"filter-section-module-zi2ZE","content":"filter-section-module-15-YW","border-top":"filter-section-module-dGcTY","filter-section-item":"filter-section-module-n-AWg"};
7470
7660
 
7471
7661
  function FilterSection({ ...props }) {
7472
7662
  const variant = props.variant;
@@ -7484,13 +7674,13 @@ function FilterSection({ ...props }) {
7484
7674
  /* eslint-enable @typescript-eslint/no-unnecessary-condition */
7485
7675
  }
7486
7676
  function CollapsibleFilterSection({ children, gap = 'md', initialIsOpen = true, title, variant, }) {
7487
- return (jsx("section", { className: clsx(styles$l['filter-section'], styles$l[variant], styles$l[gap]), children: jsx(Accordion, { borderPosition: "top", children: jsx(AccordionItem, { id: title, initialIsOpen: initialIsOpen, title: jsx("span", { className: styles$l['accordion-title'], children: jsx(FormattedMessage, { optional: true, fallbackValue: title, id: `facet.${title.toLowerCase()}` }) }), children: children }) }) }));
7677
+ return (jsx("section", { className: clsx(filterSectionStyles['filter-section'], filterSectionStyles[variant], filterSectionStyles[gap]), children: jsx(Accordion, { borderType: "middle", children: jsx(AccordionItem, { id: title, initialIsOpen: initialIsOpen, title: jsx("span", { className: filterSectionStyles['accordion-title'], children: jsx(FormattedMessage, { optional: true, fallbackValue: title, id: `facet.${title.toLowerCase()}` }) }), children: jsx("div", { className: filterSectionStyles.content, children: children }) }) }) }));
7488
7678
  }
7489
7679
  function WithActionFilterSection({ button, children, gap = 'md', title, variant, }) {
7490
- return (jsxs("section", { className: clsx(styles$l['filter-section'], styles$l[variant], styles$l[gap]), children: [jsxs("div", { className: styles$l.header, children: [jsx("h3", { className: styles$l.title, children: title }), jsx("div", { children: button })] }), jsx("div", { className: styles$l.content, children: children })] }));
7680
+ return (jsxs("section", { className: clsx(filterSectionStyles['filter-section'], filterSectionStyles[variant], filterSectionStyles[gap]), children: [jsxs("div", { className: filterSectionStyles.header, children: [jsx("h3", { className: filterSectionStyles.title, children: title }), jsx("div", { children: button })] }), jsx("div", { className: filterSectionStyles.content, children: children })] }));
7491
7681
  }
7492
7682
  function DefaultFilterSection({ children, gap = 'md', title, variant, }) {
7493
- return (jsxs("section", { className: clsx(styles$l['filter-section'], styles$l[variant], styles$l[gap]), children: [jsx("h3", { className: styles$l.title, children: title }), jsx("div", { className: styles$l.content, children: children })] }));
7683
+ return (jsxs("section", { className: clsx(filterSectionStyles['filter-section'], filterSectionStyles[variant], filterSectionStyles[gap]), children: [jsx("h3", { className: filterSectionStyles.title, children: title }), jsx("div", { className: filterSectionStyles.content, children: children })] }));
7494
7684
  }
7495
7685
 
7496
7686
  var styles$k = {"filter-panel":"algolia-filter-panel-module-GfhOO","scroll-container":"algolia-filter-panel-module-4ubB1","category":"algolia-filter-panel-module-LKet3","is-active":"algolia-filter-panel-module-yf8kI","value":"algolia-filter-panel-module-gQzED","count":"algolia-filter-panel-module-uAHPx","button":"algolia-filter-panel-module-ABOYv"};
@@ -7506,7 +7696,7 @@ function AlgoliaActiveCategories() {
7506
7696
  const t = useFormattedMessage();
7507
7697
  if (categories.length <= 0)
7508
7698
  return null;
7509
- return (jsx(FilterSection, { gap: "sm", title: t('facet.categories'), variant: "default", children: jsx(Fragment, { children: jsx(Categories, { categories: categories, path: "/Catalog" }) }) }));
7699
+ return (jsx(FilterSection, { gap: "sm", title: t('facet.categories'), variant: "default", children: jsx(Categories, { categories: categories, path: "/Catalog" }) }));
7510
7700
  }
7511
7701
  function Categories({ categories, path: _path, }) {
7512
7702
  return categories
@@ -7515,19 +7705,19 @@ function Categories({ categories, path: _path, }) {
7515
7705
  const categorySlug = category.label.toLowerCase().replace(/ /g, '-');
7516
7706
  const path = `${_path}/${categorySlug}`;
7517
7707
  const isActive = !category.data || !category.data.some(c => c.isRefined);
7518
- return (jsxs(Fragment, { children: [jsxs(RouteLink, { hasUnderline: true, className: clsx(styles$k.category, {
7519
- [styles$k['is-active']]: isActive,
7520
- }), href: path, isDisabled: isActive, children: [jsx(StrokeCategoriesIcon, { height: 24, width: 24 }), jsx("span", { children: category.label })] }), category.data && (jsx(Categories, { categories: category.data, path: path }))] }, category.value));
7708
+ return (jsxs(Fragment, { children: [jsx("div", { className: filterSectionStyles['filter-section-item'], children: jsxs(RouteLink, { hasUnderline: true, className: clsx(styles$k.category, {
7709
+ [styles$k['is-active']]: isActive,
7710
+ }), href: path, isDisabled: isActive, children: [jsx(StrokeCategoriesIcon, { height: 24, width: 24 }), jsx("span", { children: category.label })] }) }), category.data && (jsx(Categories, { categories: category.data, path: path }))] }, category.value));
7521
7711
  });
7522
7712
  }
7523
7713
 
7524
- var styles$j = {"active-filter-item":"active-filters-module-Rrmhy","category":"active-filters-module-u9TTE","active-filter-value":"active-filters-module-CIuPU"};
7714
+ var styles$j = {"active-filter-item":"active-filters-module-Rrmhy","active-filter-value":"active-filters-module-CIuPU","clear-filter-button":"active-filters-module-Ud9kZ"};
7525
7715
 
7526
7716
  const ActiveFilters = ({ onClearAllFilters, onClearFilter, selectedFilterCategories, }) => {
7527
7717
  const t = useFormattedMessage();
7528
7718
  if (selectedFilterCategories.length === 0)
7529
7719
  return null;
7530
- return (jsx(FilterSection, { button: jsx(RouteLink, { onPress: onClearAllFilters, children: jsx(FormattedMessage, { id: "Clear filters" }) }), title: t('Chosen filters'), variant: "with-action", children: selectedFilterCategories.map((category, index) => (jsx("section", { className: styles$j.category, children: category.filters.map(filter => (jsxs("div", { className: styles$j['active-filter-item'], children: [jsxs("span", { children: [jsxs("span", { children: [jsx(FormattedMessage, { id: `facet.${category.label.toLowerCase()}` }), jsx("span", { children: ": " })] }), jsx("span", { className: styles$j['active-filter-value'], children: filter.label })] }), jsx(IconButton, { color: "secondary", onPress: () => onClearFilter(category.label, filter), children: jsx(StrokeCloseboxIcon, {}) })] }, `${category.label}-${filter.value}`))) }, `${category.label}-${index}`))) }));
7720
+ return (jsx(FilterSection, { button: jsx(RouteLink, { onPress: onClearAllFilters, children: jsx(FormattedMessage, { id: "Clear filters" }) }), title: t('Chosen filters'), variant: "with-action", children: selectedFilterCategories.map(category => category.filters.map(filter => (jsxs("div", { className: clsx(filterSectionStyles['filter-section-item'], styles$j['active-filter-item']), children: [jsxs("span", { children: [jsxs("span", { children: [jsx(FormattedMessage, { id: `facet.${category.label.toLowerCase()}` }), jsx("span", { children: ": " })] }), jsx("span", { className: styles$j['active-filter-value'], children: filter.label })] }), jsx(IconButton, { className: styles$j['clear-filter-button'], color: "secondary", onPress: () => onClearFilter(category.label, filter), children: jsx(StrokeCloseboxIcon, {}) })] }, `${category.label}-${filter.value}`)))) }));
7531
7721
  };
7532
7722
 
7533
7723
  function AlgoliaActiveFilters() {
@@ -7568,9 +7758,9 @@ function AlgoliaCategoriesFilters() {
7568
7758
  const t = useFormattedMessage();
7569
7759
  if (categories.length <= 0)
7570
7760
  return null;
7571
- return (jsx(FilterSection, { title: t('facet.categories'), variant: "default", children: categories.map(({ count, isRefined, value }) => (jsxs(Link, { className: clsx(styles$k.category, {
7572
- [styles$k['is-active']]: isRefined,
7573
- }), isDisabled: isRefined, onClick: () => refine(value), children: [jsx("span", { className: styles$k.value, children: value }), ' ', jsxs("span", { className: styles$k.count, children: ["(", count, ")"] })] }, value))) }));
7761
+ return (jsx(FilterSection, { title: t('facet.categories'), variant: "default", children: categories.map(category => (jsx(Fragment$1, { children: jsx("div", { className: filterSectionStyles['filter-section-item'], children: jsxs(Link, { hasUnderline: true, className: clsx(styles$k.category, {
7762
+ [styles$k['is-active']]: category.isRefined,
7763
+ }), onClick: () => refine(category.value), children: [jsx(StrokeCategoriesIcon, { height: 24, width: 24 }), jsx("span", { children: category.label }), jsxs("span", { className: styles$k.count, children: ["(", category.count, ")"] })] }) }) }, category.value))) }));
7574
7764
  }
7575
7765
 
7576
7766
  function AlgoliaDummyRefinementListConsumer() {
@@ -8068,10 +8258,7 @@ function useFetchProductListingPageData({ languageCode, pageUrl, }) {
8068
8258
  queryKey: ['product-listing-page-data', pageUrl, languageCode],
8069
8259
  select: ({ body }) => {
8070
8260
  return {
8071
- breadCrumb: body.breadCrumb.map(breadCrumb => ({
8072
- href: breadCrumb.url,
8073
- label: breadCrumb.text,
8074
- })),
8261
+ breadCrumb: body.breadCrumb,
8075
8262
  category: body.categories
8076
8263
  ? {
8077
8264
  href: body.categories.path,
@@ -8292,19 +8479,21 @@ function useAlgoliaInsights() {
8292
8479
  queryId: context.queryId,
8293
8480
  });
8294
8481
  },
8295
- sendProductClickFromSearchEvent({ index, objectId, position, queryId }) {
8482
+ sendProductClickFromSearchEvent({ objectId, position, queryId }) {
8296
8483
  if (!objectId)
8297
8484
  return console.warn('Unable to send clickedObjectIDsAfterSearch event, no index', context);
8485
+ if (!context.index)
8486
+ return console.warn('Unable to send clickedObjectIDsAfterSearch event, no index', context);
8298
8487
  aa('clickedObjectIDsAfterSearch', {
8299
8488
  eventName: 'SRP: Product Clicked',
8300
- index,
8489
+ index: context.index,
8301
8490
  objectIDs: [].concat(objectId),
8302
8491
  positions: [].concat(position),
8303
8492
  queryID: queryId,
8304
8493
  userToken,
8305
8494
  });
8306
8495
  setGlobalState({
8307
- index,
8496
+ index: context.index,
8308
8497
  queryId,
8309
8498
  });
8310
8499
  },
@@ -8364,7 +8553,7 @@ function ProductListingProductOverview() {
8364
8553
  title: product.name,
8365
8554
  }, onAddToCart: () => sendAddToCartFromProductListPageEvent({
8366
8555
  objectId: product.objectId,
8367
- }), onFavorite: () => sendAddToWishListFromProductListPageEvent({
8556
+ }), onFavoriting: () => sendAddToWishListFromProductListPageEvent({
8368
8557
  objectId: product.objectId,
8369
8558
  position: product.position,
8370
8559
  }), onPress: () => sendProductClickFromProductListPageEvent({
@@ -8420,13 +8609,15 @@ function SearchResultProductOverview() {
8420
8609
  title: product.name,
8421
8610
  }, onAddToCart: () => sendAddToCartFromSearchResultPageEvent({
8422
8611
  objectId: product.objectId,
8423
- }), onFavorite: () => sendAddToWishListFromSearchResultPageEvent({
8424
- objectId: product.objectId,
8425
- position: product.position,
8426
- }), onPress: () => sendProductClickFromSearchResultPageEvent({
8612
+ }), onFavoriting: () => sendAddToWishListFromSearchResultPageEvent({
8427
8613
  objectId: product.objectId,
8428
8614
  position: product.position,
8429
- }), price: {
8615
+ }), onPress: () => {
8616
+ sendProductClickFromSearchResultPageEvent({
8617
+ objectId: product.objectId,
8618
+ position: product.position,
8619
+ });
8620
+ }, price: {
8430
8621
  isVatIncluded: product.isVatIncluded,
8431
8622
  originalPrice: product.originalPrice,
8432
8623
  price: product.price,
@@ -8606,35 +8797,6 @@ const popularSearchesPlugin = ({ searchClient, suggestionsIndexName, }) => creat
8606
8797
  },
8607
8798
  });
8608
8799
 
8609
- const productsPlugin = ({ productsIndexName, searchClient, }) => {
8610
- return {
8611
- getSources() {
8612
- return [
8613
- {
8614
- getItemUrl({ item }) {
8615
- return item.slug;
8616
- },
8617
- getItems({ query }) {
8618
- return getAlgoliaResults({
8619
- queries: [
8620
- {
8621
- indexName: productsIndexName,
8622
- params: {
8623
- hitsPerPage: 5,
8624
- },
8625
- query,
8626
- },
8627
- ],
8628
- searchClient,
8629
- });
8630
- },
8631
- sourceId: 'productsPlugin',
8632
- },
8633
- ];
8634
- },
8635
- };
8636
- };
8637
-
8638
8800
  const querySuggestionsPlugin = ({ searchClient, suggestionsIndexName, }) => createQuerySuggestionsPlugin({
8639
8801
  getSearchParams({ state }) {
8640
8802
  return {
@@ -8718,7 +8880,6 @@ function AlgoliaSearchProvider({ children, searchClient: _searchClient, }) {
8718
8880
  const index = getAlgoliaIndex(environment, languageCode);
8719
8881
  const productsIndexName = index.default;
8720
8882
  const productsQuerySuggestionsIndexName = index.suggestions;
8721
- const { sendProductClickFromSearchEvent } = useAlgoliaInsights();
8722
8883
  const getSources = useDebouncedCallback(({ query }) => {
8723
8884
  return [
8724
8885
  {
@@ -8727,6 +8888,9 @@ function AlgoliaSearchProvider({ children, searchClient: _searchClient, }) {
8727
8888
  queries: [
8728
8889
  {
8729
8890
  indexName: productsIndexName,
8891
+ params: {
8892
+ hitsPerPage: 5,
8893
+ },
8730
8894
  query,
8731
8895
  },
8732
8896
  ],
@@ -8743,27 +8907,12 @@ function AlgoliaSearchProvider({ children, searchClient: _searchClient, }) {
8743
8907
  const autocomplete = useMemo(() => createAutocomplete({
8744
8908
  autoFocus: true,
8745
8909
  getSources,
8746
- insights: {
8747
- onSelect({ insightsEvents }) {
8748
- insightsEvents.forEach(event => {
8749
- sendProductClickFromSearchEvent({
8750
- index: event.index,
8751
- objectId: event.items.map(item => item.objectID),
8752
- position: event.positions,
8753
- queryId: event.queryID,
8754
- });
8755
- });
8756
- },
8757
- },
8910
+ insights: true,
8758
8911
  onStateChange({ state }) {
8759
8912
  setState(state);
8760
8913
  },
8761
8914
  openOnFocus: true,
8762
8915
  plugins: [
8763
- productsPlugin({
8764
- productsIndexName,
8765
- searchClient,
8766
- }),
8767
8916
  querySuggestionsPlugin({
8768
8917
  searchClient,
8769
8918
  suggestionsIndexName: productsQuerySuggestionsIndexName,
@@ -8875,10 +9024,6 @@ const useGlobalSearchDisclosure = () => {
8875
9024
  return context;
8876
9025
  };
8877
9026
 
8878
- function SolidCloseIcon(props) {
8879
- 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: "M11.9997748,2 C17.5138784,2 22,6.48597148 22,11.9997748 C22,17.5138784 17.5138784,22 11.9997748,22 C6.48597148,22 2,17.5138784 2,11.9997748 C2,6.48597148 6.48597148,2 11.9997748,2 Z M16.4949747,7.50502525 C16.2216077,7.23165825 15.7783923,7.23165825 15.5050253,7.50502525 L12,11.011 L8.49497475,7.50502525 C8.22160774,7.23165825 7.77839226,7.23165825 7.50502525,7.50502525 L7.43121616,7.59179111 C7.23439192,7.86533687 7.25899495,8.24894444 7.50502525,8.49497475 L11.011,12 L7.50502525,15.5050253 C7.23165825,15.7783923 7.23165825,16.2216077 7.50502525,16.4949747 L7.59179111,16.5687838 C7.86533687,16.7656081 8.24894444,16.7410051 8.49497475,16.4949747 L12,12.988 L15.5050253,16.4949747 C15.7783923,16.7683418 16.2216077,16.7683418 16.4949747,16.4949747 L16.5687838,16.4082089 C16.7656081,16.1346631 16.7410051,15.7510556 16.4949747,15.5050253 L12.988,12 L16.4949747,8.49497475 C16.7683418,8.22160774 16.7683418,7.77839226 16.4949747,7.50502525 Z", fillRule: "evenodd" }) }));
8880
- }
8881
-
8882
9027
  function StrokeSearchIcon(props) {
8883
9028
  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.1044994,16.5738466 C6.53724234,16.5738466 3.63503896,13.6716658 3.63503896,10.1044364 C3.63503896,6.53739167 6.53724234,3.63521084 10.1044994,3.63521084 C13.6717564,3.63521084 16.5737752,6.53739167 16.5737752,10.1044364 C16.5737752,13.6716658 13.6717564,16.5738466 10.1044994,16.5738466 M21.7583512,20.6019769 L16.3655653,15.2505791 C17.5171805,13.8510793 18.2089988,12.0586047 18.2089988,10.1044364 C18.2089988,5.62851052 14.5804601,2 10.1044994,2 C5.62853871,2 2,5.62851052 2,10.1044364 C2,14.5805469 5.62853871,18.2090574 10.1044994,18.2090574 C12.0372712,18.2090574 13.8113014,17.5312728 15.2041671,16.4020009 L20.6065514,21.7628123 C20.7660314,21.9208144 20.9742413,22 21.1824513,22 C21.3925071,22 21.6029321,21.9191531 21.7627812,21.7581977 C22.0808183,21.4377636 22.0787879,20.9200114 21.7583512,20.6019769", fillRule: "evenodd" }) }));
8884
9029
  }
@@ -8974,7 +9119,7 @@ function SearchList({ ariaLabelledby, children, className, id, }) {
8974
9119
  var styles$2 = {"search-list-item":"search-list-item-module-WXp77","clear-filter-button":"search-list-item-module-YJvJm","content":"search-list-item-module-CPrhz","text":"search-list-item-module--5uqN"};
8975
9120
 
8976
9121
  function SearchListItem({ icon, isRemovable = false, onClick, onRemove, text, }) {
8977
- return (jsxs("li", { className: styles$2['search-list-item'], onClick: onClick, role: "option", children: [jsxs("div", { className: styles$2.content, children: [icon && icon, text && jsx("span", { className: styles$2.text, children: text })] }), isRemovable && (jsx(IconButton, { color: "secondary", onPress: onRemove, children: jsx(StrokeCloseboxIcon, {}) }))] }));
9122
+ return (jsxs("li", { className: styles$2['search-list-item'], onClick: onClick, role: "option", children: [jsxs("div", { className: styles$2.content, children: [icon && icon, text && jsx("span", { className: styles$2.text, children: text })] }), isRemovable && (jsx(IconButton, { className: styles$2['clear-filter-button'], color: "secondary", onPress: onRemove, children: jsx(StrokeCloseboxIcon, {}) }))] }));
8978
9123
  }
8979
9124
 
8980
9125
  var styles$1 = {"quick-access-section":"no-search-module-87NKV","quick-access-carousel":"no-search-module-beCXI","quick-access-card":"no-search-module-dtT5J"};
@@ -9054,12 +9199,12 @@ function SuggestionsSection() {
9054
9199
  function ProductResultsSection() {
9055
9200
  const { autocomplete, products: collection } = useAlgoliaSearch();
9056
9201
  const { close } = useGlobalSearchDisclosure();
9057
- const { sendAddToCartFromSearchEvent, sendAddToWishListFromSearchEvent } = useAlgoliaInsights();
9202
+ const { sendAddToCartFromSearchEvent, sendAddToWishListFromSearchEvent, sendProductClickFromSearchEvent, } = useAlgoliaInsights();
9058
9203
  const t = useFormattedMessage();
9059
9204
  if (!collection)
9060
9205
  return null;
9061
9206
  const { items, source } = collection;
9062
- return (jsx(SearchSection, { className: styles$4['product-results-section'], title: t('Products'), children: jsx("div", { className: styles$4['product-results'], ...autocomplete.getListProps({ source }), children: jsx(ProductCarousel, { productCards: items.map((product, index) => (createElement$1(ConnectedProductCard, { ...autocomplete.getItemProps({
9207
+ return (jsx(SearchSection, { className: styles$4['product-results-section'], title: t('Products'), children: jsx("div", { className: styles$4['product-results'], ...autocomplete.getListProps({ source }), children: jsx(ProductCarousel, { cardWidth: "narrow", productCards: items.map((product, index) => (createElement$1(ConnectedProductCard, { ...autocomplete.getItemProps({
9063
9208
  item: product.hit,
9064
9209
  source: source,
9065
9210
  }), key: product.storefrontId, href: product.storefrontSlug, image: {
@@ -9070,18 +9215,25 @@ function ProductResultsSection() {
9070
9215
  sendAddToCartFromSearchEvent({
9071
9216
  objectId: product.objectId,
9072
9217
  queryId: product.queryId,
9073
- }), onClick: () => close(), onFavorite: () => {
9218
+ }), onClick: () => close(), onFavoriting: () => {
9074
9219
  product.queryId &&
9075
9220
  sendAddToWishListFromSearchEvent({
9076
9221
  objectId: product.objectId,
9077
9222
  position: product.position || index + 1,
9078
9223
  queryId: product.queryId,
9079
9224
  });
9225
+ }, onPress: () => {
9226
+ product.queryId &&
9227
+ sendProductClickFromSearchEvent({
9228
+ objectId: product.objectId,
9229
+ position: product.position || index + 1,
9230
+ queryId: product.queryId,
9231
+ });
9080
9232
  }, price: {
9081
9233
  isVatIncluded: product.isVatIncluded,
9082
9234
  originalPrice: product.originalPrice,
9083
9235
  price: product.price,
9084
- }, productId: product.storefrontId, sku: product.id, tags: product.labels, title: jsx(Highlight, { attribute: "name", hit: product.hit }) }))) }) }) }));
9236
+ }, productId: product.storefrontId, sku: product.id, tags: product.labels, title: jsx(Highlight, { attribute: "name", hit: product.hit }) }))), productsPerView: "auto" }) }) }));
9085
9237
  }
9086
9238
 
9087
9239
  function PanelContent() {
@@ -9142,4 +9294,17 @@ function ReactQueryContainer({ children }) {
9142
9294
  return (jsx(QueryClientProvider, { client: queryClient, children: children }));
9143
9295
  }
9144
9296
 
9297
+ /* eslint-disable simple-import-sort/exports */
9298
+ // eslint-disable-next-line no-console
9299
+ console.log(`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
9300
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
9301
+ @@@@@@/ &@@@@ .@@@@& *@@@@# @@@@& *@@@@
9302
+ @@@@% #@@@@@ *#. ,@@& ##( (@@( @@@ /( /@@@
9303
+ @@@@ /@ @@, @@@@@@@ (@& @@@@@% @@( @@ @@@@@@@@@@@@@
9304
+ @@@@* .@* @@, @@@@@@& #@& @@@@@@ @@( @@ @@@@@@@@@@@@@
9305
+ @@@@@. @@@@. . /@@& @@@@@@ @@( @@@ ,@@@
9306
+ @@@@ @@@@@@@@, (@@@@& @@@@@@ @@% @@@@@ &@@@@
9307
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
9308
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`);
9309
+
9145
9310
  export { Accordion, AddToCartButton, AlgoliaActiveCategories, AlgoliaCategoriesFilters, AlgoliaFilterPanel, AlgoliaInsightsProvider, AlgoliaInsightsProviderContext, AlgoliaMultiSelectFilterSection, AlgoliaPagination, AlgoliaProvider, AlgoliaResultsCount, AlgoliaSortBy, 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 };