@sonic-equipment/ui 0.0.71 → 0.0.72

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 (59) hide show
  1. package/dist/index.d.ts +34 -113
  2. package/dist/index.js +419 -326
  3. package/dist/src/background-overlay/background-overlay.d.ts +7 -0
  4. package/dist/src/buttons/add-to-cart-button/add-to-cart-button.stories.d.ts +1 -1
  5. package/dist/src/buttons/button/button.stories.d.ts +1 -1
  6. package/dist/src/buttons/favorite/favorite-button.stories.d.ts +1 -1
  7. package/dist/src/buttons/icon-button/icon-button.stories.d.ts +1 -1
  8. package/dist/src/buttons/link/link.stories.d.ts +1 -1
  9. package/dist/src/cards/product-card/connected-product-cart.d.ts +1 -1
  10. package/dist/src/carousel/product-carousel/product-carousel.d.ts +2 -1
  11. package/dist/src/carousel/product-carousel/product-carousel.stories.d.ts +19 -0
  12. package/dist/src/collapsables/show-all/show-all.stories.d.ts +1 -1
  13. package/dist/src/filters/active-filters/active-filters.stories.d.ts +2 -2
  14. package/dist/src/filters/multi-select/multi-select.stories.d.ts +1 -1
  15. package/dist/src/filters/pagination/pagination.stories.d.ts +1 -1
  16. package/dist/src/forms/checkbox/checkbox.stories.d.ts +1 -1
  17. package/dist/src/forms/color-checkbox/color-checkbox.stories.d.ts +1 -1
  18. package/dist/src/forms/select/select.stories.d.ts +1 -1
  19. package/dist/src/index.d.ts +20 -22
  20. package/dist/src/pages/error-page/error-page.d.ts +4 -0
  21. package/dist/src/pages/layouts/product-details-page-layout.d.ts +9 -0
  22. package/dist/src/pages/loading-page/loading-page.d.ts +1 -0
  23. package/dist/src/promos/promo-cards/promo-cards.d.ts +8 -4
  24. package/dist/src/promos/promo-cards/promo-cards.stories.d.ts +1 -3
  25. package/dist/src/shared/api/bff/hooks/use-fetch-product-details-page-data.d.ts +7 -0
  26. package/dist/src/shared/api/bff/hooks/use-fetch-product-details-page-data.stories.d.ts +20 -0
  27. package/dist/src/shared/api/bff/hooks/use-fetch-product-listing-page-data.stories.d.ts +0 -1
  28. package/dist/src/shared/api/bff/model/bff.model.d.ts +99 -9
  29. package/dist/src/shared/api/storefront/hooks/authentication/use-session.d.ts +4 -0
  30. package/dist/src/shared/api/{shop → storefront}/hooks/authentication/use-sign-in.d.ts +1 -1
  31. package/dist/src/shared/api/{shop → storefront}/hooks/cart/cart.stories.d.ts +1 -1
  32. package/dist/src/shared/api/{shop → storefront}/hooks/cart/use-add-product-to-current-cart.d.ts +1 -1
  33. package/dist/src/shared/api/{shop → storefront}/hooks/wishlist/use-fetch-all-wishlists-items.d.ts +1 -1
  34. package/dist/src/shared/api/{shop → storefront}/hooks/wishlist/use-fetch-wishlists.d.ts +1 -1
  35. package/dist/src/shared/api/{shop → storefront}/services/authentication-service.d.ts +1 -1
  36. package/dist/src/shared/api/{shop → storefront}/services/cart-service.d.ts +1 -1
  37. package/dist/src/shared/api/{shop → storefront}/services/wishlist-service.d.ts +1 -1
  38. package/dist/src/shared/providers/cart-provider.d.ts +1 -1
  39. package/dist/src/shared/providers/favorite-provider.d.ts +1 -1
  40. package/dist/src/shared/routing/route-button.d.ts +1 -1
  41. package/dist/styles.css +284 -188
  42. package/package.json +2 -2
  43. package/dist/src/overlay-background/overlay-background.d.ts +0 -7
  44. package/dist/src/shared/api/shop/hooks/authentication/use-session.d.ts +0 -2
  45. /package/dist/src/shared/api/{shop → storefront}/hooks/authentication/authentication.stories.d.ts +0 -0
  46. /package/dist/src/shared/api/{shop → storefront}/hooks/authentication/use-is-authenticated.d.ts +0 -0
  47. /package/dist/src/shared/api/{shop → storefront}/hooks/authentication/use-sign-out.d.ts +0 -0
  48. /package/dist/src/shared/api/{shop → storefront}/hooks/cart/use-delete-cart-line-by-id.d.ts +0 -0
  49. /package/dist/src/shared/api/{shop → storefront}/hooks/cart/use-fetch-current-cart-lines.d.ts +0 -0
  50. /package/dist/src/shared/api/{shop → storefront}/hooks/cart/use-update-cart-line-by-id.d.ts +0 -0
  51. /package/dist/src/shared/api/{shop → storefront}/hooks/translation/translations.stories.d.ts +0 -0
  52. /package/dist/src/shared/api/{shop → storefront}/hooks/translation/use-fetch-translations.d.ts +0 -0
  53. /package/dist/src/shared/api/{shop → storefront}/hooks/wishlist/use-add-wishlist-item-to-current-wishlist.d.ts +0 -0
  54. /package/dist/src/shared/api/{shop → storefront}/hooks/wishlist/use-add-wishlist-item-to-wishlist.d.ts +0 -0
  55. /package/dist/src/shared/api/{shop → storefront}/hooks/wishlist/use-create-wishlist.d.ts +0 -0
  56. /package/dist/src/shared/api/{shop → storefront}/hooks/wishlist/use-delete-wishlist-item-from-wishlist.d.ts +0 -0
  57. /package/dist/src/shared/api/{shop → storefront}/hooks/wishlist/wishlist.stories.d.ts +0 -0
  58. /package/dist/src/shared/api/{shop → storefront}/model/shop.model.d.ts +0 -0
  59. /package/dist/src/shared/api/{shop → storefront}/services/translation-service.d.ts +0 -0
package/dist/index.js CHANGED
@@ -388,65 +388,6 @@ function useFeatureFlags() {
388
388
  return { pdpV2, plpV2, searchV2 };
389
389
  }
390
390
 
391
- var TIME;
392
- (function (TIME) {
393
- TIME[TIME["SECOND"] = 1000] = "SECOND";
394
- TIME[TIME["MINUTE"] = 60000] = "MINUTE";
395
- TIME[TIME["HOUR"] = 3600000] = "HOUR";
396
- TIME[TIME["DAY"] = 86400000] = "DAY";
397
- })(TIME || (TIME = {}));
398
-
399
- function useFetchProductListingPageData({ languageCode, pageUrl, }) {
400
- return useQuery({
401
- gcTime: 1 * TIME.DAY,
402
- queryFn: async () => {
403
- return request({
404
- headers: { 'Current-Language-Id': languageCode },
405
- url: `${config.BFF_API_URL}/plp/?pageUrl=${pageUrl}`,
406
- });
407
- },
408
- queryKey: ['product-listing-page-data', pageUrl, languageCode],
409
- select: ({ body }) => {
410
- return {
411
- breadCrumb: body.breadCrumb.map(breadCrumb => ({
412
- href: breadCrumb.url,
413
- label: breadCrumb.text,
414
- })),
415
- category: body.categories
416
- ? {
417
- href: body.categories.path,
418
- image: {
419
- 1: body.categories.smallImagePath,
420
- 2: body.categories.smallImagePath,
421
- 3: body.categories.smallImagePath,
422
- altText: body.categories.imageAltText,
423
- },
424
- title: body.categories.shortDescription,
425
- }
426
- : undefined,
427
- categoryPages: body.categoryPages,
428
- hierarchicalCategories: body.hierarchicalCategories,
429
- promoCards: body.promoCards
430
- ? {
431
- top: body.promoCards.top || undefined,
432
- }
433
- : undefined,
434
- subcategories: body.categories?.subCategories?.map(subcategory => ({
435
- href: subcategory.path,
436
- image: {
437
- 1: subcategory.smallImagePath,
438
- 2: subcategory.smallImagePath,
439
- 3: subcategory.smallImagePath,
440
- altText: subcategory.imageAltText,
441
- },
442
- title: subcategory.shortDescription,
443
- })),
444
- };
445
- },
446
- staleTime: 1 * TIME.DAY,
447
- });
448
- }
449
-
450
391
  var CurrencyPositioningType;
451
392
  (function (CurrencyPositioningType) {
452
393
  CurrencyPositioningType["Left"] = "Left";
@@ -657,8 +598,9 @@ async function getWishListItemsByWishListId({ wishListId, }) {
657
598
  return body;
658
599
  }
659
600
 
660
- function useSession() {
601
+ function useSession({ enabled = true } = {}) {
661
602
  return useQuery({
603
+ enabled,
662
604
  queryFn: async () => {
663
605
  return await getSession();
664
606
  },
@@ -785,6 +727,14 @@ function useUpdateCartLineById() {
785
727
  });
786
728
  }
787
729
 
730
+ var TIME;
731
+ (function (TIME) {
732
+ TIME[TIME["SECOND"] = 1000] = "SECOND";
733
+ TIME[TIME["MINUTE"] = 60000] = "MINUTE";
734
+ TIME[TIME["HOUR"] = 3600000] = "HOUR";
735
+ TIME[TIME["DAY"] = 86400000] = "DAY";
736
+ })(TIME || (TIME = {}));
737
+
788
738
  function useFetchTranslations(languagCode) {
789
739
  return useQuery({
790
740
  gcTime: 1 * TIME.DAY,
@@ -1189,7 +1139,7 @@ function useNavigate() {
1189
1139
  };
1190
1140
  }
1191
1141
 
1192
- var styles$R = {"link":"link-module-xLqBn","primary":"link-module-bGD6u","secondary":"link-module-v31wH","has-underline":"link-module-UuCEp"};
1142
+ var styles$T = {"link":"link-module-xLqBn","primary":"link-module-bGD6u","secondary":"link-module-v31wH","has-underline":"link-module-UuCEp"};
1193
1143
 
1194
1144
  function Link({ children, className, color = 'primary', hasUnderline, onClick: _onClick, ...props }) {
1195
1145
  function onClick(e) {
@@ -1198,7 +1148,7 @@ function Link({ children, className, color = 'primary', hasUnderline, onClick: _
1198
1148
  return;
1199
1149
  e.preventDefault();
1200
1150
  }
1201
- return (jsx(Link$1, { className: clsx({ [styles$R['has-underline']]: hasUnderline }, styles$R['link'], styles$R[color], className),
1151
+ return (jsx(Link$1, { className: clsx({ [styles$T['has-underline']]: hasUnderline }, styles$T['link'], styles$T[color], className),
1202
1152
  // Workaround for adobe/react-spectrum #963
1203
1153
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1204
1154
  // @ts-ignore
@@ -1214,6 +1164,9 @@ function RouteLink({ children, onClick: _onClick, ...props }) {
1214
1164
  e.preventDefault();
1215
1165
  if (props.isDisabled)
1216
1166
  return;
1167
+ if (e.ctrlKey || e.metaKey || e.shiftKey) {
1168
+ return window.open(props.href, '_blank');
1169
+ }
1217
1170
  navigate(props.href, props.route);
1218
1171
  }
1219
1172
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1249,9 +1202,10 @@ function Button({ _pseudo = 'none', children, className, color = 'primary', cond
1249
1202
  onClick: onClick, onPress: onPress, type: type, children: [jsx(Fragment, { children: showIconOnLeft && jsx("span", { className: buttonStyles.icon, children: icon }) }), children, withArrow && (jsx(GlyphsArrowBoldCapsRightIcon, { className: buttonStyles['right-arrow-icon'] })), showIconOnRight && jsx("span", { className: buttonStyles.icon, children: icon })] }));
1250
1203
  }
1251
1204
 
1252
- function RouteButton({ children, ...props }) {
1205
+ function RouteButton({ children, onClick, ...props }) {
1253
1206
  const navigate = useNavigate();
1254
1207
  return (jsx(Button, { onClick: e => {
1208
+ onClick?.(e);
1255
1209
  if (!props.href)
1256
1210
  return;
1257
1211
  e.preventDefault();
@@ -1293,22 +1247,24 @@ function SolidHomeIcon(props) {
1293
1247
  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" }) }));
1294
1248
  }
1295
1249
 
1296
- var styles$Q = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
1250
+ var styles$S = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
1297
1251
 
1298
1252
  function BreadcrumbShort({ links }) {
1299
1253
  const homeLink = links[0];
1300
1254
  const previousLink = links[links.length - 2];
1301
- return (jsx(Breadcrumbs, { className: styles$Q.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$Q.breadcrumb, children: jsxs(RouteLink, { className: styles$Q.link, isDisabled: false, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: styles$Q.icon }), previousLink === undefined || previousLink === homeLink ? (jsx(SolidHomeIcon, { className: styles$Q.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
1255
+ const isHomeLink = previousLink === undefined || previousLink === homeLink;
1256
+ const href = previousLink?.href || homeLink?.href;
1257
+ return (jsx(Breadcrumbs, { className: styles$S.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$S.breadcrumb, children: jsxs(RouteLink, { className: styles$S.link, href: href, isDisabled: false, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: styles$S.icon }), isHomeLink ? (jsx(SolidHomeIcon, { className: styles$S.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
1302
1258
  }
1303
1259
  function BreadcrumbLongItem({ index, isDisabled, link, }) {
1304
- return (jsx(Breadcrumb$1, { className: styles$Q.breadcrumb, children: jsxs(RouteLink, { className: styles$Q.link, color: "secondary", href: link.href, isDisabled: isDisabled, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: clsx(styles$Q['previous-icon'], styles$Q.icon) }), link.label] }) }, index));
1260
+ return (jsx(Breadcrumb$1, { className: styles$S.breadcrumb, children: jsxs(RouteLink, { className: styles$S.link, color: "secondary", href: link.href, isDisabled: isDisabled, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: clsx(styles$S['previous-icon'], styles$S.icon) }), link.label] }) }, index));
1305
1261
  }
1306
1262
  function BreadcrumbLong({ links }) {
1307
1263
  const linksWithoutFirst = links.slice(1);
1308
1264
  const homeLink = links[0];
1309
1265
  if (!homeLink)
1310
1266
  return null;
1311
- return (jsxs(Breadcrumbs, { className: styles$Q.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$Q.breadcrumb, children: jsx(RouteLink, { className: styles$Q.link, href: homeLink.href, children: jsx(SolidHomeIcon, { className: clsx(styles$Q['home-icon'], styles$Q.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
1267
+ return (jsxs(Breadcrumbs, { className: styles$S.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$S.breadcrumb, children: jsx(RouteLink, { className: styles$S.link, href: homeLink.href, children: jsx(SolidHomeIcon, { className: clsx(styles$S['home-icon'], styles$S.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
1312
1268
  }
1313
1269
  function Breadcrumb({ links }) {
1314
1270
  const { lg } = useBreakpoint();
@@ -1317,10 +1273,10 @@ function Breadcrumb({ links }) {
1317
1273
  return lg ? BreadcrumbLong({ links }) : BreadcrumbShort({ links });
1318
1274
  }
1319
1275
 
1320
- var styles$P = {"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"};
1276
+ var styles$R = {"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"};
1321
1277
 
1322
1278
  function IconButton({ children, className, color = 'primary', isDisabled, onPress, size = 'md', type = 'button', }) {
1323
- return (jsx(Button$1, { className: clsx(styles$P['icon-button'], styles$P[size], styles$P[color], className), isDisabled: isDisabled,
1279
+ return (jsx(Button$1, { className: clsx(styles$R['icon-button'], styles$R[size], styles$R[color], className), isDisabled: isDisabled,
1324
1280
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1325
1281
  // @ts-expect-error
1326
1282
  onClick: e => e.preventDefault(), onPress: onPress, type: type, children: children }));
@@ -1334,21 +1290,21 @@ function StrokeFavoriteIcon(props) {
1334
1290
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "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" }) }));
1335
1291
  }
1336
1292
 
1337
- var styles$O = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
1293
+ var styles$Q = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
1338
1294
 
1339
1295
  function FavoriteButton({ isDisabled, isFavorite, onPress, }) {
1340
- return (jsx(IconButton, { className: clsx(styles$O['favorite-button'], {
1341
- [styles$O['is-favorite']]: isFavorite,
1296
+ return (jsx(IconButton, { className: clsx(styles$Q['favorite-button'], {
1297
+ [styles$Q['is-favorite']]: isFavorite,
1342
1298
  }), color: "secondary", isDisabled: isDisabled, onPress: onPress, children: isFavorite ? jsx(SolidFavoriteIcon, {}) : jsx(StrokeFavoriteIcon, {}) }));
1343
1299
  }
1344
1300
 
1345
- var styles$N = {"field-error":"field-error-module-FXnIg"};
1301
+ var styles$P = {"field-error":"field-error-module-FXnIg"};
1346
1302
 
1347
1303
  function FieldError({ children }) {
1348
- return (jsx(FieldError$1, { className: styles$N['field-error'], children: children }));
1304
+ return (jsx(FieldError$1, { className: styles$P['field-error'], children: children }));
1349
1305
  }
1350
1306
 
1351
- var styles$M = {"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"};
1307
+ var styles$O = {"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"};
1352
1308
 
1353
1309
  /**
1354
1310
  * This component is used to create an input that grows as the user types.
@@ -1364,20 +1320,20 @@ const Input = forwardRef(({ _pseudo = 'none', autoGrow, size = 'lg', ...inputPro
1364
1320
  ? onChange?.(event)
1365
1321
  : setUncontrolledValue(event.target.value);
1366
1322
  const { pressProps } = usePress({});
1367
- return (jsx("div", { className: clsx(styles$M['input-container'], styles$M[size], styles$M[_pseudo]), children: jsxs("div", { className: clsx({ [styles$M['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ...pressProps, ref: ref, onChange: handleChange, onClick: e => {
1323
+ return (jsx("div", { className: clsx(styles$O['input-container'], styles$O[size], styles$O[_pseudo]), children: jsxs("div", { className: clsx({ [styles$O['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ...pressProps, ref: ref, onChange: handleChange, onClick: e => {
1368
1324
  e.preventDefault();
1369
1325
  e.stopPropagation();
1370
1326
  e.target.focus();
1371
- } }), autoGrow && jsx("span", { className: styles$M['shadow-input'], children: value })] }) }));
1327
+ } }), autoGrow && jsx("span", { className: styles$O['shadow-input'], children: value })] }) }));
1372
1328
  });
1373
1329
  Input.displayName = 'Input';
1374
1330
 
1375
- var styles$L = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
1331
+ var styles$N = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
1376
1332
 
1377
1333
  function Label({ children, isRequired }) {
1378
1334
  if (!children)
1379
1335
  return null;
1380
- return (jsxs(Label$1, { className: styles$L.label, children: [children, isRequired && jsx("span", { className: styles$L.required, children: "*" })] }));
1336
+ return (jsxs(Label$1, { className: styles$N.label, children: [children, isRequired && jsx("span", { className: styles$N.required, children: "*" })] }));
1381
1337
  }
1382
1338
 
1383
1339
  function StrokeCollapseIcon(props) {
@@ -1392,7 +1348,7 @@ function StrokeTrashIcon(props) {
1392
1348
  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" }) }));
1393
1349
  }
1394
1350
 
1395
- var styles$K = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
1351
+ var styles$M = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
1396
1352
 
1397
1353
  /**
1398
1354
  * This component is used to create a number field.
@@ -1400,7 +1356,7 @@ var styles$K = {"field":"number-field-module-gmnog","button-input-container":"nu
1400
1356
  */
1401
1357
  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, }) {
1402
1358
  const inputRef = useRef(null);
1403
- return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$K.field, styles$K[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$K['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
1359
+ return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$M.field, styles$M[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$M['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
1404
1360
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1405
1361
  // @ts-expect-error
1406
1362
  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,
@@ -1413,7 +1369,7 @@ function SolidCartIcon(props) {
1413
1369
  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" }) }));
1414
1370
  }
1415
1371
 
1416
- var styles$J = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
1372
+ var styles$L = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
1417
1373
 
1418
1374
  function AddToCartButton({ initialState = 'initial', isDisabled = false, onChange, quantity, }) {
1419
1375
  const [currentState, setState] = useState(initialState);
@@ -1501,7 +1457,7 @@ function ManualInputState({ isDisabled, onCancel, onConfirm, quantity, }) {
1501
1457
  e.key === 'Enter' && onConfirm(ensureNumber(updatedQuantity));
1502
1458
  e.key === 'Escape' && onCancel();
1503
1459
  };
1504
- return (jsxs("div", { className: styles$J['manual-input-container'], children: [jsx("div", { className: styles$J['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
1460
+ return (jsxs("div", { className: styles$L['manual-input-container'], children: [jsx("div", { className: styles$L['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
1505
1461
  maximumFractionDigits: 0,
1506
1462
  style: 'decimal',
1507
1463
  useGrouping: false,
@@ -1551,12 +1507,12 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
1551
1507
  return (jsx(AddToCartButton, { isDisabled: isPendingDeleteCartLine || isLoadingCartLines || isPendingAddToCart, onChange: handleChange, quantity: quantity }));
1552
1508
  };
1553
1509
 
1554
- var styles$I = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
1510
+ var styles$K = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
1555
1511
 
1556
1512
  function Tag({ children }) {
1557
1513
  if (!children)
1558
1514
  return null;
1559
- return (jsxs("div", { className: styles$I.tag, children: [jsx("div", { className: styles$I.body, children: children }), jsx("svg", { className: styles$I.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" }) })] }));
1515
+ return (jsxs("div", { className: styles$K.tag, children: [jsx("div", { className: styles$K.body, children: children }), jsx("svg", { className: styles$K.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" }) })] }));
1560
1516
  }
1561
1517
 
1562
1518
  const IntlContext = createContext({
@@ -1592,7 +1548,7 @@ function useFormattedMessage() {
1592
1548
 
1593
1549
  const FormattedMessage = ({ fallbackValue, id, optional, replacementValues, }) => useFormattedMessage()(id, { fallbackValue, optional, replacementValues });
1594
1550
 
1595
- var styles$H = {"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"};
1551
+ var styles$J = {"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"};
1596
1552
 
1597
1553
  const formatPrice = (price) => new Intl.NumberFormat('en-US', {
1598
1554
  maximumFractionDigits: 2,
@@ -1605,22 +1561,22 @@ function ProductPrice({ className, isVatIncluded, originalPrice, price, }) {
1605
1561
  const priceWithCurrency = formatPrice(price);
1606
1562
  const [wholes, decimals] = priceWithCurrency.split('.');
1607
1563
  const showOriginalPrice = priceWithCurrency !== originalPriceWithCurrency;
1608
- return (jsxs("div", { className: clsx(className, styles$H['product-price']), children: [jsx("span", { className: clsx(styles$H['original-price'], {
1609
- [styles$H['is-hidden']]: !showOriginalPrice,
1610
- }), children: originalPriceWithCurrency }), jsxs("div", { className: styles$H['current-price-wrapper'], children: [jsxs("div", { className: styles$H['current-price'], children: [jsx("span", { className: styles$H.wholes, children: wholes }), jsx("span", { className: styles$H.dot, children: "." }), jsx("span", { className: styles$H.decimals, children: decimals })] }), jsx("span", { className: styles$H.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
1564
+ return (jsxs("div", { className: clsx(className, styles$J['product-price']), children: [jsx("span", { className: clsx(styles$J['original-price'], {
1565
+ [styles$J['is-hidden']]: !showOriginalPrice,
1566
+ }), children: originalPriceWithCurrency }), jsxs("div", { className: styles$J['current-price-wrapper'], children: [jsxs("div", { className: styles$J['current-price'], children: [jsx("span", { className: styles$J.wholes, children: wholes }), jsx("span", { className: styles$J.dot, children: "." }), jsx("span", { className: styles$J.decimals, children: decimals })] }), jsx("span", { className: styles$J.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
1611
1567
  }
1612
1568
 
1613
- var styles$G = {"product-sku":"product-sku-module-ITb8x"};
1569
+ var styles$I = {"product-sku":"product-sku-module-ITb8x"};
1614
1570
 
1615
1571
  function ProductSku({ sku }) {
1616
- return (jsx("p", { className: styles$G['product-sku'], "data-test-selector": "productNumber", children: sku }));
1572
+ return (jsx("p", { className: styles$I['product-sku'], "data-test-selector": "productNumber", children: sku }));
1617
1573
  }
1618
1574
 
1619
1575
  function isResponsiveImage(image) {
1620
1576
  return Boolean(image.lg);
1621
1577
  }
1622
1578
 
1623
- var styles$F = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B","picture":"image-module-pNYjR"};
1579
+ var styles$H = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B","picture":"image-module-pNYjR"};
1624
1580
 
1625
1581
  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, }) {
1626
1582
  const [hasError, setHasError] = useState(false);
@@ -1647,22 +1603,22 @@ function ImageComponent({ className, fallbackSrc, fit = 'cover', hasError, image
1647
1603
  const srcSet = !hasError
1648
1604
  ? `${image[1]} 1x, ${image[2]} 2x, ${image[3]} 3x`
1649
1605
  : undefined;
1650
- return (jsx("img", { alt: image.altText, className: clsx(styles$F.image, className, styles$F[fit], {
1651
- [styles$F['has-error']]: hasError,
1606
+ return (jsx("img", { alt: image.altText, className: clsx(styles$H.image, className, styles$H[fit], {
1607
+ [styles$H['has-error']]: hasError,
1652
1608
  }), src: !hasError ? image[3] : fallbackSrc, srcSet: srcSet, ...rest }));
1653
1609
  }
1654
1610
  function PictureComponent({ className, fallbackSrc, fit = 'cover', hasError, image, ...rest }) {
1655
1611
  if (!isResponsiveImage(image))
1656
1612
  return null;
1657
- return (jsxs("picture", { className: clsx(styles$F.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$F[fit], {
1658
- [styles$F['has-error']]: hasError,
1613
+ return (jsxs("picture", { className: clsx(styles$H.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$H[fit], {
1614
+ [styles$H['has-error']]: hasError,
1659
1615
  }), src: !hasError ? image.lg[3] : fallbackSrc, ...rest })] }));
1660
1616
  }
1661
1617
 
1662
- var styles$E = {"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"};
1618
+ var styles$G = {"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"};
1663
1619
 
1664
1620
  function ProductCard({ addToCartButton: AddToCartButton, areaSelected, favoriteButton: FavoriteButton, href, id, image, onClick, onMouseDown, onMouseMove, onPress, price, role, sku, tags, title, }) {
1665
- return (jsxs(RouteLink, { "aria-selected": areaSelected, className: styles$E['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$E.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$E['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$E.content, children: [jsxs("div", { className: styles$E.top, children: [jsx("div", { className: styles$E.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$E.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$E.bottom, children: [jsx("div", { className: styles$E.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$E['add-to-cart-button'], children: AddToCartButton })] })] })] }));
1621
+ return (jsxs(RouteLink, { "aria-selected": areaSelected, className: styles$G['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$G.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$G['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$G.content, children: [jsxs("div", { className: styles$G.top, children: [jsx("div", { className: styles$G.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$G.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$G.bottom, children: [jsx("div", { className: styles$G.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$G['add-to-cart-button'], children: AddToCartButton })] })] })] }));
1666
1622
  }
1667
1623
 
1668
1624
  /**
@@ -4571,7 +4527,7 @@ function onTouchStart(event) {
4571
4527
  data.isTouched = false;
4572
4528
  }
4573
4529
  }
4574
- if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) {
4530
+ if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) {
4575
4531
  document.activeElement.blur();
4576
4532
  }
4577
4533
  const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;
@@ -4650,6 +4606,9 @@ function onTouchMove(event) {
4650
4606
  return;
4651
4607
  }
4652
4608
  }
4609
+ if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') {
4610
+ document.activeElement.blur();
4611
+ }
4653
4612
  if (document.activeElement) {
4654
4613
  if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {
4655
4614
  data.isMoved = true;
@@ -6585,7 +6544,7 @@ const updateOnVirtualData = swiper => {
6585
6544
  };
6586
6545
 
6587
6546
  /**
6588
- * Swiper React 11.1.12
6547
+ * Swiper React 11.1.14
6589
6548
  * Most modern mobile touch slider and framework with hardware accelerated transitions
6590
6549
  * https://swiperjs.com
6591
6550
  *
@@ -6593,7 +6552,7 @@ const updateOnVirtualData = swiper => {
6593
6552
  *
6594
6553
  * Released under the MIT License
6595
6554
  *
6596
- * Released on: September 1, 2024
6555
+ * Released on: September 12, 2024
6597
6556
  */
6598
6557
 
6599
6558
 
@@ -6974,7 +6933,7 @@ function GlyphsArrowBoldCapsLeftIcon(props) {
6974
6933
  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)" }) }));
6975
6934
  }
6976
6935
 
6977
- var styles$D = {"carousel":"carousel-module-ealh-","swiper":"carousel-module-IftbN","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"};
6936
+ var styles$F = {"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"};
6978
6937
 
6979
6938
  function CarouselNavigationButton({ direction, isDisabled = false, }) {
6980
6939
  const swiper = useSwiper();
@@ -6986,48 +6945,47 @@ function CarouselNavigationButton({ direction, isDisabled = false, }) {
6986
6945
  swiper.slidePrev();
6987
6946
  }
6988
6947
  }
6989
- return (jsx(Button$1, { className: clsx(styles$D['navigation-button'], {
6990
- [styles$D['is-locked']]: swiper.isLocked,
6948
+ return (jsx(Button$1, { className: clsx(styles$F['navigation-button'], {
6949
+ [styles$F['is-locked']]: swiper.isLocked,
6991
6950
  }), isDisabled: isDisabled, onPress: handleNavigation, children: direction === 'previous' ? (jsx(GlyphsArrowBoldCapsLeftIcon, {})) : (jsx(GlyphsArrowBoldCapsRightIcon, {})) }));
6992
6951
  }
6993
6952
 
6994
- function Carousel({ breakpoints, className, hasNavigation = true, hasOverflow = true, navigationButtonsPosition = 'top', slideClasses, slides, slidesPerView = 'auto', spaceBetween = 8, }) {
6953
+ function Carousel({ breakpoints, className, hasNavigation = true, hasOverflow = true, navigationButtonsPosition = 'top', slideClasses, slides, slidesPerView = 'auto', spaceBetween, }) {
6995
6954
  const [isEnd, setIsEnd] = useState(false);
6996
6955
  const [isBeginning, setIsBeginning] = useState(true);
6997
- const [isLocked, setIsLocked] = useState(false);
6956
+ const [isLocked, setIsLocked] = useState(undefined);
6998
6957
  const [isDragging, setIsDragging] = useState(false);
6958
+ const [isReady, setIsReady] = useState(false);
6999
6959
  function handleSlideChange(swiper) {
7000
6960
  setIsEnd(swiper.isEnd);
7001
6961
  setIsLocked(swiper.isLocked);
7002
- setIsBeginning(swiper.activeIndex === 0);
6962
+ setIsBeginning(swiper.isBeginning);
7003
6963
  }
7004
- const showNavigation = hasNavigation && !isLocked;
7005
6964
  if (slides.length === 0)
7006
6965
  return null;
7007
- return (jsx("div", { className: clsx(styles$D.carousel, className), children: jsxs(Swiper, { breakpoints: breakpoints, className: clsx(styles$D.swiper, {
7008
- [styles$D['is-dragging']]: isDragging,
7009
- [styles$D['has-overflow']]: hasOverflow,
6966
+ return (jsx("div", { className: clsx(styles$F.carousel, className), children: jsxs(Swiper, { breakpoints: breakpoints, className: clsx(styles$F.swiper, {
6967
+ [styles$F['is-dragging']]: isDragging,
6968
+ [styles$F['has-overflow']]: hasOverflow,
6969
+ [styles$F['is-ready']]: isReady,
7010
6970
  }), freeMode: {
7011
6971
  enabled: true,
7012
6972
  sticky: true,
7013
- }, modules: [freeMode], onSlideChange: swiper => handleSlideChange(swiper), onSliderMove: () => setIsDragging(true), onSwiper: swiper => setIsLocked(swiper.isLocked), onTouchEnd: () => setIsDragging(false), onUpdate: swiper => handleSlideChange(swiper), slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: [slides.map((slide, index) => (jsx(SwiperSlide, { className: clsx(styles$D.slide, slideClasses), children: slide }, index))), showNavigation && (jsxs("div", { className: clsx(styles$D['navigation-buttons'], styles$D[navigationButtonsPosition]), children: [jsx("div", { className: clsx(styles$D['navigation-button-wrapper'], styles$D['navigation-button-prev']), children: jsx(CarouselNavigationButton, { direction: "previous", isDisabled: isBeginning }) }), jsx("div", { className: clsx(styles$D['navigation-button-wrapper'], styles$D['navigation-button-next']), children: jsx(CarouselNavigationButton, { direction: "next", isDisabled: isEnd }) })] }))] }) }));
6973
+ }, modules: [freeMode], onReachBeginning: () => setIsBeginning(true), onReachEnd: () => setIsEnd(true), onResize: swiper => setIsLocked(swiper.isLocked), onSlideChange: swiper => handleSlideChange(swiper), onSliderMove: () => setIsDragging(true), onSlidesUpdated: () => {
6974
+ if (!isReady)
6975
+ setIsReady(true);
6976
+ }, onSwiper: swiper => handleSlideChange(swiper), onTouchEnd: () => setIsDragging(false), onUpdate: swiper => handleSlideChange(swiper), slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: [slides.map((slide, index) => (jsx(SwiperSlide, { className: clsx(styles$F.slide, slideClasses), children: slide }, index))), hasNavigation && isLocked === false && (jsxs("div", { className: clsx(styles$F['navigation-buttons'], styles$F[navigationButtonsPosition]), children: [jsx("div", { className: clsx(styles$F['navigation-button-wrapper'], styles$F['navigation-button-prev']), children: jsx(CarouselNavigationButton, { direction: "previous", isDisabled: isBeginning }) }), jsx("div", { className: clsx(styles$F['navigation-button-wrapper'], styles$F['navigation-button-next']), children: jsx(CarouselNavigationButton, { direction: "next", isDisabled: isEnd }) })] }))] }) }));
7014
6977
  }
7015
6978
 
6979
+ var styles$E = {"slide":"category-carousel-module-muLq-"};
6980
+
7016
6981
  function CategoryCarousel({ categoryCards }) {
7017
- return (jsx(Carousel, { breakpoints: {
7018
- 1024: {
7019
- spaceBetween: 12,
7020
- },
7021
- 1440: {
7022
- spaceBetween: 16,
7023
- },
7024
- }, slides: categoryCards, spaceBetween: 8 }));
6982
+ return jsx(Carousel, { slideClasses: styles$E.slide, slides: categoryCards });
7025
6983
  }
7026
6984
 
7027
- var styles$C = {"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"};
6985
+ var styles$D = {"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"};
7028
6986
 
7029
6987
  function Accordion({ borderPosition = 'bottom', children, color = 'black', hasLineSeparator = true, indented, size = 'md', }) {
7030
- return (jsx("div", { className: clsx({ [styles$C.indented]: indented }, styles$C.accordion, styles$C[color], styles$C[size], styles$C[`border-${borderPosition}`], hasLineSeparator && styles$C['with-seperators']), children: children &&
6988
+ return (jsx("div", { className: clsx({ [styles$D.indented]: indented }, styles$D.accordion, styles$D[color], styles$D[size], styles$D[`border-${borderPosition}`], hasLineSeparator && styles$D['with-seperators']), children: children &&
7031
6989
  Children.map(children, child => {
7032
6990
  return cloneElement(child, { size });
7033
6991
  }) }));
@@ -7037,7 +6995,7 @@ function GlyphsChevronsSlimDownIcon(props) {
7037
6995
  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" }) }));
7038
6996
  }
7039
6997
 
7040
- var styles$B = {"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"};
6998
+ var styles$C = {"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"};
7041
6999
 
7042
7000
  const ShowAll = ({ children, hasTransparency = true, initialHeight = 0, isOpen, onToggle, }) => {
7043
7001
  const showAllRef = useRef(null);
@@ -7046,14 +7004,14 @@ const ShowAll = ({ children, hasTransparency = true, initialHeight = 0, isOpen,
7046
7004
  return;
7047
7005
  showAllRef.current.style.setProperty('--initital-height', `${initialHeight}px`);
7048
7006
  }, [initialHeight]);
7049
- return (jsxs("div", { ref: showAllRef, className: clsx(styles$B['show-all'], {
7050
- [styles$B['is-open']]: isOpen,
7051
- }), children: [jsx("div", { className: styles$B.panel, children: jsx("div", { className: clsx(styles$B.content, {
7052
- [styles$B['has-transparency']]: hasTransparency,
7053
- }), children: children }) }), jsxs(RouteLink, { className: styles$B.button, color: "secondary", onPress: () => onToggle(!isOpen), children: [jsx(GlyphsChevronsSlimDownIcon, { className: styles$B.icon }), isOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] })] }));
7007
+ return (jsxs("div", { ref: showAllRef, className: clsx(styles$C['show-all'], {
7008
+ [styles$C['is-open']]: isOpen,
7009
+ }), children: [jsx("div", { className: styles$C.panel, children: jsx("div", { className: clsx(styles$C.content, {
7010
+ [styles$C['has-transparency']]: hasTransparency,
7011
+ }), children: children }) }), jsxs(RouteLink, { className: styles$C.button, color: "secondary", onPress: () => onToggle(!isOpen), children: [jsx(GlyphsChevronsSlimDownIcon, { className: styles$C.icon }), isOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] })] }));
7054
7012
  };
7055
7013
 
7056
- var styles$A = {"multi-select":"multi-select-module-DC7Ix","filter-items":"multi-select-module-cwVFb","hidden":"multi-select-module-o7yHU","filter-item":"multi-select-module-OW-NK"};
7014
+ var styles$B = {"multi-select":"multi-select-module-DC7Ix","filter-items":"multi-select-module-cwVFb","hidden":"multi-select-module-o7yHU","filter-item":"multi-select-module-OW-NK"};
7057
7015
 
7058
7016
  function MultiSelect({ amountShown = 3, onChange, options, render, }) {
7059
7017
  const shownOptions = options.slice(0, amountShown);
@@ -7064,28 +7022,28 @@ function MultiSelect({ amountShown = 3, onChange, options, render, }) {
7064
7022
  options.filter(option => option.isSelected).length === 0) {
7065
7023
  return null;
7066
7024
  }
7067
- return (jsxs("div", { className: styles$A['multi-select'], children: [jsx("div", { className: styles$A['filter-items'], children: shownOptions
7025
+ return (jsxs("div", { className: styles$B['multi-select'], children: [jsx("div", { className: styles$B['filter-items'], children: shownOptions
7068
7026
  .concat(isOpen ? [] : hiddenSelectedOptions)
7069
- .map(option => (jsxs("div", { className: styles$A['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$A['filter-items'], styles$A['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$A['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
7027
+ .map(option => (jsxs("div", { className: styles$B['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$B['filter-items'], styles$B['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$B['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
7070
7028
  }
7071
7029
 
7072
- var styles$z = {"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"};
7030
+ var styles$A = {"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"};
7073
7031
 
7074
7032
  function Checkbox({ _pseudo = 'none', children, className, isDisabled, isSelected, onChange, value, }) {
7075
- return (jsxs(Checkbox$1, { className: clsx(className, styles$z.checkbox, styles$z[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$z.box, children: jsx("svg", { "aria-hidden": "true", className: styles$z.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
7033
+ return (jsxs(Checkbox$1, { className: clsx(className, styles$A.checkbox, styles$A[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$A.box, children: jsx("svg", { "aria-hidden": "true", className: styles$A.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
7076
7034
  }
7077
7035
 
7078
7036
  function ColorCheckbox({ _pseudo = 'none', children, className, color, isDisabled, isSelected, onChange, value, }) {
7079
- return (jsxs(Checkbox$1, { className: clsx(className, styles$z.checkbox, styles$z['color-checkbox'], styles$z[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
7037
+ return (jsxs(Checkbox$1, { className: clsx(className, styles$A.checkbox, styles$A['color-checkbox'], styles$A[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
7080
7038
  '--selected-color': color,
7081
- }, value: value, children: [jsx("div", { className: styles$z.box }), children] }));
7039
+ }, value: value, children: [jsx("div", { className: styles$A.box }), children] }));
7082
7040
  }
7083
7041
 
7084
7042
  function StrokeCheckmarkIcon(props) {
7085
7043
  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" }) }));
7086
7044
  }
7087
7045
 
7088
- var styles$y = {"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"};
7046
+ var styles$z = {"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"};
7089
7047
 
7090
7048
  function Select({ isDisabled = false, label, onChange, options, placeholder, selectedOption, showLabel = true, size = 'md', variant = 'outline', }) {
7091
7049
  const selectRef = useRef(null);
@@ -7102,12 +7060,12 @@ function Select({ isDisabled = false, label, onChange, options, placeholder, sel
7102
7060
  window.addEventListener('resize', updateWidth);
7103
7061
  return () => window.removeEventListener('resize', updateWidth);
7104
7062
  }, []);
7105
- return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$y.select, styles$y[size], styles$y[variant]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: placeholder || label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$y.button, children: [jsx(SelectValue, {}), jsx(GlyphsChevronsSlimDownIcon, { "aria-hidden": "true", className: styles$y.chevron })] }), jsx(Popover, { ref: ref =>
7063
+ return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$z.select, styles$z[size], styles$z[variant]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: placeholder || label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$z.button, children: [jsx(SelectValue, {}), jsx(GlyphsChevronsSlimDownIcon, { "aria-hidden": "true", className: styles$z.chevron })] }), jsx(Popover, { ref: ref =>
7106
7064
  // Workaround for react/react-aria #1513
7107
- ref?.addEventListener('touchend', e => e.preventDefault()), className: clsx(styles$y.popover, styles$y[variant]), placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$y.listbox, children: jsxs(Section, { children: [jsx(Header, { className: styles$y.header, children: placeholder || label }), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$y.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(StrokeCheckmarkIcon, { className: styles$y.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
7065
+ ref?.addEventListener('touchend', e => e.preventDefault()), className: clsx(styles$z.popover, styles$z[variant]), placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$z.listbox, children: jsxs(Section, { children: [jsx(Header, { className: styles$z.header, children: placeholder || label }), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$z.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(StrokeCheckmarkIcon, { className: styles$z.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
7108
7066
  }
7109
7067
 
7110
- var styles$x = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
7068
+ var styles$y = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
7111
7069
 
7112
7070
  /**
7113
7071
  * This component is used to create a textarea that can grow as the user types.
@@ -7142,7 +7100,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
7142
7100
  }
7143
7101
  updateHeight();
7144
7102
  }, [ref, autoGrow, updateHeight, size]);
7145
- return (jsx("div", { className: styles$x['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
7103
+ return (jsx("div", { className: styles$y['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
7146
7104
  ref.current =
7147
7105
  node;
7148
7106
  textAreaRef.current = node;
@@ -7153,7 +7111,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
7153
7111
  });
7154
7112
  TextArea.displayName = 'TextArea';
7155
7113
 
7156
- var styles$w = {"field":"text-field-module-JeaK0"};
7114
+ var styles$x = {"field":"text-field-module-JeaK0"};
7157
7115
 
7158
7116
  /**
7159
7117
  * This component is used to create a text field.
@@ -7161,7 +7119,7 @@ var styles$w = {"field":"text-field-module-JeaK0"};
7161
7119
  * This field can also grow when a user types in text.
7162
7120
  */
7163
7121
  function TextField({ autoFocus, autoGrow, defaultValue, isDisabled, isInvalid, isMultiline, isReadOnly, isRequired, label, maxLength, name, onChange, onInput, onKeyUp, placeholder, rows, showLabel = false, size = 'lg', value, }) {
7164
- return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$w.field, styles$w[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, name: name, onChange: value => {
7122
+ return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$x.field, styles$x[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, name: name, onChange: value => {
7165
7123
  onChange?.(value);
7166
7124
  }, 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, {})] }));
7167
7125
  }
@@ -7171,31 +7129,31 @@ function IntlProvider({ children, formatMessage, languageCode: _languageCode, })
7171
7129
  return (jsx(IntlContext.Provider, { value: { formatMessage, languageCode, updateLanguageCode }, children: children }));
7172
7130
  }
7173
7131
 
7174
- var styles$v = {"progress-circle":"progress-circle-module-4nweP","spin":"progress-circle-module-kCf7K"};
7132
+ var styles$w = {"progress-circle":"progress-circle-module-4nweP","spin":"progress-circle-module-kCf7K"};
7175
7133
 
7176
7134
  function ProgressCircle({ className }) {
7177
- return (jsxs("svg", { className: clsx(styles$v['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" }) })] }));
7135
+ return (jsxs("svg", { className: clsx(styles$w['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" }) })] }));
7178
7136
  }
7179
7137
 
7180
- var styles$u = {"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"};
7138
+ var styles$v = {"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"};
7181
7139
 
7182
7140
  function ProductOverviewGrid({ children, isLoading, }) {
7183
- return (jsxs("div", { className: styles$u['product-grid'], children: [Children.map(children, (child, index) => (jsx("div", { className: styles$u['grid-item'], children: child }, index))), isLoading && (jsx("div", { className: styles$u['loading-panel'], children: jsx(ProgressCircle, { className: styles$u['progress-circle'] }) }))] }));
7141
+ return (jsxs("div", { className: styles$v['product-grid'], children: [Children.map(children, (child, index) => (jsx("div", { className: styles$v['grid-item'], children: child }, index))), isLoading && (jsx("div", { className: styles$v['loading-panel'], children: jsx(ProgressCircle, { className: styles$v['progress-circle'] }) }))] }));
7184
7142
  }
7185
7143
 
7186
- var styles$t = {"loading-overlay":"loading-overlay-module-L67Gy"};
7144
+ var styles$u = {"loading-overlay":"loading-overlay-module-L67Gy"};
7187
7145
 
7188
7146
  function LoadingOverlay() {
7189
- return (jsx("div", { className: styles$t['loading-overlay'], children: jsx(ProgressCircle, {}) }));
7147
+ return (jsx("div", { className: styles$u['loading-overlay'], children: jsx(ProgressCircle, {}) }));
7190
7148
  }
7191
7149
 
7192
- var styles$s = {"page-container":"page-container-module-PYmbC","inner-page-container":"page-container-module-uD8GF"};
7150
+ var styles$t = {"page-container":"page-container-module-PYmbC","inner-page-container":"page-container-module-uD8GF"};
7193
7151
 
7194
7152
  function PageContainer({ children, className, }) {
7195
- return (jsx("div", { className: styles$s['page-container'], children: jsx("div", { className: clsx(styles$s['inner-page-container'], className), children: children }) }));
7153
+ return (jsx("div", { className: styles$t['page-container'], children: jsx("div", { className: clsx(styles$t['inner-page-container'], className), children: children }) }));
7196
7154
  }
7197
7155
 
7198
- var styles$r = {"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"};
7156
+ var styles$s = {"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"};
7199
7157
 
7200
7158
  const sizeToTag = {
7201
7159
  l: 'h3',
@@ -7208,29 +7166,190 @@ const sizeToTag = {
7208
7166
  };
7209
7167
  function Heading({ bold = true, children, className, italic, size = 'xxl', tag, uppercase, }) {
7210
7168
  return createElement$1(tag || sizeToTag[size], {
7211
- className: clsx(className, styles$r.heading, styles$r[size], {
7212
- [styles$r.uppercase]: uppercase,
7213
- [styles$r.italic]: italic,
7214
- [styles$r.bold]: bold,
7169
+ className: clsx(className, styles$s.heading, styles$s[size], {
7170
+ [styles$s.uppercase]: uppercase,
7171
+ [styles$s.italic]: italic,
7172
+ [styles$s.bold]: bold,
7215
7173
  }),
7216
7174
  }, children);
7217
7175
  }
7218
7176
 
7219
- var styles$q = {"page":"page-module-XtZ9Y","breadcrumb":"page-module-ohh9z","title":"page-module-TEmve"};
7177
+ var styles$r = {"page":"page-module-XtZ9Y","breadcrumb":"page-module-ohh9z","title":"page-module-TEmve"};
7220
7178
 
7221
7179
  function PageTitle({ children }) {
7222
7180
  const { lg, xxl } = useBreakpoint();
7223
- return (jsx(Heading, { italic: true, uppercase: true, className: styles$q.title, size: xxl ? 'xl' : lg ? 'm' : 's', tag: "h1", children: children }));
7181
+ return (jsx(Heading, { italic: true, uppercase: true, className: styles$r.title, size: xxl ? 'xl' : lg ? 'm' : 's', tag: "h1", children: children }));
7224
7182
  }
7225
7183
  function Page({ breadCrumb, children, className, title }) {
7226
- return (jsxs(PageContainer, { className: clsx(styles$q.page, className), children: [jsx("div", { className: styles$q.breadcrumb, children: jsx(Breadcrumb, { links: breadCrumb }) }), title && jsx(PageTitle, { children: title }), children] }));
7184
+ return (jsxs(PageContainer, { className: clsx(styles$r.page, className), children: [jsx("div", { className: styles$r.breadcrumb, children: jsx(Breadcrumb, { links: breadCrumb }) }), title && jsx(PageTitle, { children: title }), children] }));
7227
7185
  }
7228
7186
 
7229
- function ProductDetailsPage({ pageUrl }) {
7230
- return (jsxs(Page, { breadCrumb: [
7187
+ function StrokeCloseboxIcon(props) {
7188
+ 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" }) }));
7189
+ }
7190
+
7191
+ var styles$q = {"modal-overlay":"modal-module-rVFJc","modal-fade":"modal-module-63Uyl","modal":"modal-module-6vlFt","modal-zoom":"modal-module-aPJ7X"};
7192
+
7193
+ function Modal({ children, className, isDismissable, isKeyboardDismissDisabled, isOpen, onOpenChange, }) {
7194
+ return (jsx(ModalOverlay, { className: clsx(styles$q['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Modal$1, { className: styles$q.modal, children: children }) }));
7195
+ }
7196
+
7197
+ var styles$p = {"header":"dialog-module-ZnsAe","heading":"dialog-module-SwpuZ","close":"dialog-module-Y7Tqg","content":"dialog-module-Koqia","footer":"dialog-module-y7Axm"};
7198
+
7199
+ function Footer({ close }) {
7200
+ return (jsx(Button, { onPress: close, size: "md", children: "Close" }));
7201
+ }
7202
+ function Dialog({ allowClose = true, children, className, footer = Footer, hideTitle, isDismissable, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, title, validationErrors, }) {
7203
+ return (jsx(Modal, { className: clsx(styles$p['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$p.header, children: [!hideTitle && (jsx(Heading, { className: styles$p.heading, size: "xs", children: title })), jsx("div", { className: styles$p.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onPress: close, children: jsx(StrokeCloseboxIcon, {}) }) })] }), jsx("div", { className: styles$p.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$p.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
7204
+ }
7205
+
7206
+ function SignInDialog({ isOpen, onOpenChange }) {
7207
+ const t = useFormattedMessage();
7208
+ const { signInUrl } = useFavorite();
7209
+ 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.')] }));
7210
+ }
7211
+
7212
+ function ConnectedFavoriteButton({ onFavorite: _onFavorite, productId, }) {
7213
+ const { refetch } = useSession();
7214
+ const isAuthenticated = useIsAuthenticated();
7215
+ const { isFavorite, isFetching, wishList, wishListItem } = useFavoriteProduct(productId);
7216
+ const [showSignInDialog, setShowSignInDialog] = useState(false);
7217
+ const { error, mutate: addWishListItemToCurrentWishList } = useAddWishListItemToCurrentWishList();
7218
+ const { mutate: deleteWishListItemFromWishList } = useDeleteWishListItemFromWishList();
7219
+ function onFavorite() {
7220
+ if (!isAuthenticated) {
7221
+ return setShowSignInDialog(true);
7222
+ }
7223
+ if (wishList && wishListItem) {
7224
+ deleteWishListItemFromWishList({
7225
+ wishListId: wishList.id,
7226
+ wishListItemId: wishListItem.id,
7227
+ });
7228
+ }
7229
+ else {
7230
+ addWishListItemToCurrentWishList({ productId });
7231
+ _onFavorite?.();
7232
+ }
7233
+ }
7234
+ useEffect(() => {
7235
+ if (error instanceof ForbiddenRequestError ||
7236
+ error instanceof UnauthorizedRequestError) {
7237
+ refetch();
7238
+ return setShowSignInDialog(true);
7239
+ }
7240
+ }, [error, refetch]);
7241
+ if (isFetching)
7242
+ return null;
7243
+ return (jsxs(Fragment, { children: [jsx(FavoriteButton, { isDisabled: isFetching, isFavorite: isFavorite, onPress: onFavorite }), jsx(SignInDialog, { isOpen: showSignInDialog, onOpenChange: setShowSignInDialog })] }));
7244
+ }
7245
+
7246
+ function ConnectedProductCard({ onAddToCart, onFavorite, productId, ...props }) {
7247
+ return (jsx(ProductCard, { ...props, addToCartButton: jsx(ConnectedAddToCartButton, { onAddToCart: onAddToCart, productId: productId }), favoriteButton: jsx(ConnectedFavoriteButton, { onFavorite: onFavorite, productId: productId }) }));
7248
+ }
7249
+
7250
+ var styles$o = {"slide":"product-carousel-module-XVTB1"};
7251
+
7252
+ function ProductCarousel({ hasOverflow = false, productCards, }) {
7253
+ return (jsx(Carousel, { hasOverflow: hasOverflow, navigationButtonsPosition: "center", slideClasses: styles$o.slide, slides: productCards, spaceBetween: 16 }));
7254
+ }
7255
+
7256
+ function useLanguageCode() {
7257
+ const { languageCode } = useContext(IntlContext);
7258
+ return languageCode;
7259
+ }
7260
+
7261
+ function ErrorPage({ error }) {
7262
+ useEffect(() => {
7263
+ setTimeout(() => {
7264
+ if (!isRequestError(error))
7265
+ throw error;
7266
+ }, 0);
7267
+ }, [error]);
7268
+ return (jsx(Page, { breadCrumb: [
7231
7269
  { href: '/', label: 'Home' },
7232
- { href: '/', label: 'Products' },
7233
- ], title: "Product Details", children: [jsx("p", { children: "Hello Product Details" }), jsx("p", { children: pageUrl })] }));
7270
+ { href: '/', label: 'Error' },
7271
+ ], 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) })] }))] })) }));
7272
+ }
7273
+
7274
+ 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"};
7275
+
7276
+ function ProductDetailsPageLayout({ imageGallery, included, productInformation, recentlyViewed, usp, }) {
7277
+ 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 })] }));
7278
+ }
7279
+
7280
+ var styles$m = {"blank-page-spacer":"blank-page-spacer-module-lXxle","loading-overlay":"blank-page-spacer-module-hbxDP"};
7281
+
7282
+ function BlankPageSpacer({ children }) {
7283
+ return jsx("div", { className: styles$m['blank-page-spacer'], children: children });
7284
+ }
7285
+
7286
+ function LoadingPage() {
7287
+ return (jsx(BlankPageSpacer, { children: jsx(LoadingOverlay, {}) }));
7288
+ }
7289
+
7290
+ function useFetchProductDetailsPageData({ languageCode, pageUrl, }) {
7291
+ return useQuery({
7292
+ gcTime: 1 * TIME.DAY,
7293
+ queryFn: async () => {
7294
+ const { body } = await request({
7295
+ headers: { 'Current-Language-Id': languageCode },
7296
+ // url: `${config.BFF_API_URL}/pdp/?pageUrl=${pageUrl}`,
7297
+ // url: `/data/product-details/bff-response.json`,
7298
+ url: `${config.SHOP_API_URL}/pdp/?pageUrl=${pageUrl}`,
7299
+ });
7300
+ return body;
7301
+ },
7302
+ queryKey: ['product-details-page-data', pageUrl, languageCode],
7303
+ staleTime: 1 * TIME.DAY,
7304
+ });
7305
+ }
7306
+
7307
+ function ProductDetailsPage({ pageUrl }) {
7308
+ const languageCode = useLanguageCode();
7309
+ const { data, error, isError, isFetching } = useFetchProductDetailsPageData({
7310
+ languageCode,
7311
+ pageUrl,
7312
+ });
7313
+ if (isError)
7314
+ return jsx(ErrorPage, { error: error });
7315
+ if (!data || isFetching)
7316
+ return jsx(LoadingPage, {});
7317
+ const { breadCrumb, included, product, recentlyViewed } = data;
7318
+ return (jsx(Page, { breadCrumb: breadCrumb, children: jsx(ProductDetailsPageLayout, { imageGallery: jsx("div", { style: {
7319
+ display: 'grid',
7320
+ gap: '1rem',
7321
+ gridTemplateColumns: 'repeat(auto-fit, minmax(200px, 1fr))',
7322
+ padding: '1rem',
7323
+ }, children: product.images.map((image, index) => (jsx(Image, { fit: "contain", height: 200, image: image, title: image.altText, width: 200 }, index))) }), included: jsxs("div", { style: {
7324
+ alignItems: 'center',
7325
+ display: 'flex',
7326
+ flexDirection: 'column',
7327
+ padding: '0 1rem 1rem',
7328
+ }, children: [jsx("h1", { style: { marginTop: '0' }, children: "Includes" }), included && (jsx(ProductCarousel, { hasOverflow: true, productCards: included.map(product => (jsx(ConnectedProductCard, { href: product.href, image: {
7329
+ fit: 'contain',
7330
+ image: product.image,
7331
+ title: product.image.altText,
7332
+ }, price: product.price, productId: product.productId, sku: product.sku, tags: product.tags, title: product.title }, product.storefrontId))) }))] }), productInformation: jsxs("div", { style: {
7333
+ padding: '1rem',
7334
+ }, 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: {
7335
+ __html: product.content.htmlContent,
7336
+ } }), jsx("h2", { children: "Specifications" }), jsx("div", { style: {
7337
+ display: 'flex',
7338
+ flexDirection: 'column',
7339
+ }, 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: {
7340
+ padding: '0 1rem 1rem',
7341
+ }, children: [jsx("h1", { style: { marginTop: '0' }, children: "Recently Viewed" }), recentlyViewed && (jsx(ProductCarousel, { hasOverflow: true, productCards: recentlyViewed.map(product => (jsx(ConnectedProductCard, { href: product.href, image: {
7342
+ fit: 'contain',
7343
+ image: product.image,
7344
+ title: product.image.altText,
7345
+ }, price: product.price, productId: product.productId, sku: product.sku, tags: product.tags, title: product.title }, product.storefrontId))) }))] }), usp: jsx("div", { style: {
7346
+ backgroundColor: '#bcbcbc',
7347
+ display: 'grid',
7348
+ fontWeight: 'bold',
7349
+ height: '509px',
7350
+ padding: '1rem',
7351
+ placeItems: 'center',
7352
+ }, children: "Usp" }) }) }));
7234
7353
  }
7235
7354
 
7236
7355
  const useSidebar = () => {
@@ -7276,12 +7395,12 @@ function GlyphsChevronsBoldDownIcon(props) {
7276
7395
  function AccordionItem({ _pseudo = 'none', children, className, id, initialIsOpen = false, isDisabled = false, size, title, }) {
7277
7396
  const { isOpen, toggle } = useDisclosure(initialIsOpen);
7278
7397
  const panelId = `panel-${id}`;
7279
- return (jsxs("div", { className: clsx(className, styles$C['accordion-item'], {
7280
- [styles$C['is-open']]: isOpen,
7281
- }), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$C.button, styles$C[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$C.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$C.panel, id: panelId, role: "region", children: jsx("div", { className: styles$C.content, children: children }) })] }));
7398
+ return (jsxs("div", { className: clsx(className, styles$D['accordion-item'], {
7399
+ [styles$D['is-open']]: isOpen,
7400
+ }), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$D.button, styles$D[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$D.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$D.panel, id: panelId, role: "region", children: jsx("div", { className: styles$D.content, children: children }) })] }));
7282
7401
  }
7283
7402
 
7284
- var styles$p = {"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"};
7403
+ 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"};
7285
7404
 
7286
7405
  function FilterSection({ ...props }) {
7287
7406
  const variant = props.variant;
@@ -7299,16 +7418,16 @@ function FilterSection({ ...props }) {
7299
7418
  /* eslint-enable @typescript-eslint/no-unnecessary-condition */
7300
7419
  }
7301
7420
  function CollapsibleFilterSection({ children, gap = 'md', initialIsOpen = true, title, variant, }) {
7302
- return (jsx("section", { className: clsx(styles$p['filter-section'], styles$p[variant], styles$p[gap]), children: jsx(Accordion, { borderPosition: "top", children: jsx(AccordionItem, { id: title, initialIsOpen: initialIsOpen, title: jsx("span", { className: styles$p['accordion-title'], children: jsx(FormattedMessage, { optional: true, fallbackValue: title, id: `facet.${title.toLowerCase()}` }) }), children: children }) }) }));
7421
+ 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 }) }) }));
7303
7422
  }
7304
7423
  function WithActionFilterSection({ button, children, gap = 'md', title, variant, }) {
7305
- return (jsxs("section", { className: clsx(styles$p['filter-section'], styles$p[variant], styles$p[gap]), children: [jsxs("div", { className: styles$p.header, children: [jsx("h3", { className: styles$p.title, children: title }), jsx("div", { children: button })] }), jsx("div", { className: styles$p.content, children: children })] }));
7424
+ 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 })] }));
7306
7425
  }
7307
7426
  function DefaultFilterSection({ children, gap = 'md', title, variant, }) {
7308
- return (jsxs("section", { className: clsx(styles$p['filter-section'], styles$p[variant], styles$p[gap]), children: [jsx("h3", { className: styles$p.title, children: title }), jsx("div", { className: styles$p.content, children: children })] }));
7427
+ 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 })] }));
7309
7428
  }
7310
7429
 
7311
- var styles$o = {"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"};
7430
+ 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"};
7312
7431
 
7313
7432
  function AlgoliaActiveCategories() {
7314
7433
  const { items: categories } = useHierarchicalMenu({
@@ -7330,23 +7449,19 @@ function Categories({ categories, path: _path, }) {
7330
7449
  const categorySlug = category.label.toLowerCase().replace(/ /g, '-');
7331
7450
  const path = `${_path}/${categorySlug}`;
7332
7451
  const isActive = !category.data || !category.data.some(c => c.isRefined);
7333
- return (jsxs(Fragment, { children: [jsxs(RouteLink, { hasUnderline: true, className: clsx(styles$o.category, {
7334
- [styles$o['is-active']]: isActive,
7452
+ return (jsxs(Fragment, { children: [jsxs(RouteLink, { hasUnderline: true, className: clsx(styles$k.category, {
7453
+ [styles$k['is-active']]: isActive,
7335
7454
  }), 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));
7336
7455
  });
7337
7456
  }
7338
7457
 
7339
- function StrokeCloseboxIcon(props) {
7340
- 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" }) }));
7341
- }
7342
-
7343
- var styles$n = {"active-filter-item":"active-filters-module-Rrmhy","category":"active-filters-module-u9TTE","active-filter-value":"active-filters-module-CIuPU"};
7458
+ var styles$j = {"active-filter-item":"active-filters-module-Rrmhy","category":"active-filters-module-u9TTE","active-filter-value":"active-filters-module-CIuPU"};
7344
7459
 
7345
7460
  const ActiveFilters = ({ onClearAllFilters, onClearFilter, selectedFilterCategories, }) => {
7346
7461
  const t = useFormattedMessage();
7347
7462
  if (selectedFilterCategories.length === 0)
7348
7463
  return null;
7349
- 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$n.category, children: category.filters.map(filter => (jsxs("div", { className: styles$n['active-filter-item'], children: [jsxs("span", { children: [jsxs("span", { children: [jsx(FormattedMessage, { id: `facet.${category.label.toLowerCase()}` }), jsx("span", { children: ": " })] }), jsx("span", { className: styles$n['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}`))) }));
7464
+ 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}`))) }));
7350
7465
  };
7351
7466
 
7352
7467
  function AlgoliaActiveFilters() {
@@ -7387,9 +7502,9 @@ function AlgoliaCategoriesFilters() {
7387
7502
  const t = useFormattedMessage();
7388
7503
  if (categories.length <= 0)
7389
7504
  return null;
7390
- return (jsx(FilterSection, { title: t('facet.categories'), variant: "default", children: categories.map(({ count, isRefined, value }) => (jsxs(Link, { className: clsx(styles$o.category, {
7391
- [styles$o['is-active']]: isRefined,
7392
- }), isDisabled: isRefined, onClick: () => refine(value), children: [jsx("span", { className: styles$o.value, children: value }), ' ', jsxs("span", { className: styles$o.count, children: ["(", count, ")"] })] }, value))) }));
7505
+ return (jsx(FilterSection, { title: t('facet.categories'), variant: "default", children: categories.map(({ count, isRefined, value }) => (jsxs(Link, { className: clsx(styles$k.category, {
7506
+ [styles$k['is-active']]: isRefined,
7507
+ }), isDisabled: isRefined, onClick: () => refine(value), children: [jsx("span", { className: styles$k.value, children: value }), ' ', jsxs("span", { className: styles$k.count, children: ["(", count, ")"] })] }, value))) }));
7393
7508
  }
7394
7509
 
7395
7510
  function AlgoliaDummyRefinementListConsumer() {
@@ -7441,7 +7556,7 @@ const MULTISELECT_ATTRIBUTE_IGNORE_LIST = [
7441
7556
  ];
7442
7557
  function PanelCloseButton() {
7443
7558
  const { close } = useSidebarActions();
7444
- return (jsx("div", { className: styles$o.button, children: jsxs(Button, { withArrow: true, onPress: close, size: "md", children: [jsx(FormattedMessage, { id: "Show" }), " ", jsx(AlgoliaResultsCount, {})] }) }));
7559
+ return (jsx("div", { className: styles$k.button, children: jsxs(Button, { withArrow: true, onPress: close, size: "md", children: [jsx(FormattedMessage, { id: "Show" }), " ", jsx(AlgoliaResultsCount, {})] }) }));
7445
7560
  }
7446
7561
  function AlgoliaFilterPanel({ showActiveCategories = false, showCategoriesFilters = false, }) {
7447
7562
  /*
@@ -7456,7 +7571,7 @@ function AlgoliaFilterPanel({ showActiveCategories = false, showCategoriesFilter
7456
7571
  facets: ['*'],
7457
7572
  maxValuesPerFacet: 100,
7458
7573
  });
7459
- return (jsx("div", { className: styles$o['filter-panel'], children: jsxs("div", { className: styles$o['scroll-container'], children: [showActiveCategories && jsx(AlgoliaActiveCategories, {}), showCategoriesFilters && jsx(AlgoliaCategoriesFilters, {}), jsx(AlgoliaActiveFilters, {}), attributesToRender.length === 0 ? (jsx(AlgoliaDummyRefinementListConsumer, {})) : (jsx("section", { children: attributesToRender
7574
+ return (jsx("div", { className: styles$k['filter-panel'], children: jsxs("div", { className: styles$k['scroll-container'], children: [showActiveCategories && jsx(AlgoliaActiveCategories, {}), showCategoriesFilters && jsx(AlgoliaCategoriesFilters, {}), jsx(AlgoliaActiveFilters, {}), attributesToRender.length === 0 ? (jsx(AlgoliaDummyRefinementListConsumer, {})) : (jsx("section", { children: attributesToRender
7460
7575
  .filter(attribute => !MULTISELECT_ATTRIBUTE_IGNORE_LIST.includes(attribute))
7461
7576
  .map((attribute, index) => {
7462
7577
  return (jsx(AlgoliaMultiSelectFilterSection, { attribute: attribute }, `attribute-${index}`));
@@ -7467,10 +7582,10 @@ function GlyphsChevronsSlimRightIcon(props) {
7467
7582
  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: "M9,6 L4.06645029,1 C3.87890406,1.08169007 3.69487412,1.19817561 3.51436046,1.34945663 C3.3338468,1.50073764 3.16239331,1.68216803 3,1.89374779 L7.08347812,5.98800959 L3,9.9960307 C3.16649238,10.2121071 3.33794587,10.4031847 3.51436046,10.5692635 C3.69077505,10.7353424 3.87480499,10.8789212 4.06645029,11 L9,6 Z", fillRule: "evenodd" }) }));
7468
7583
  }
7469
7584
 
7470
- var styles$m = {"pagination":"pagination-module-k4OgY","page-number-container":"pagination-module-oq89A"};
7585
+ var styles$i = {"pagination":"pagination-module-k4OgY","page-number-container":"pagination-module-oq89A"};
7471
7586
 
7472
7587
  function Pagination({ currentPage, onChange, totalPages, }) {
7473
- return (jsxs("div", { className: styles$m.pagination, children: [jsx(IconButton, { isDisabled: currentPage === 1, onPress: () => onChange(currentPage - 1), children: jsx(GlyphsChevronsSlimLeftIcon, {}) }), jsxs("div", { className: styles$m['page-number-container'], children: [jsx(NumberField, { autoGrow: true, label: "current-page", maxValue: totalPages, minValue: 1, onChange: onChange, value: currentPage }), jsx(FormattedMessage, { id: "of" }), jsx("div", { children: totalPages })] }), jsx(IconButton, { isDisabled: currentPage >= totalPages, onPress: () => onChange(currentPage + 1), children: jsx(GlyphsChevronsSlimRightIcon, {}) })] }));
7588
+ return (jsxs("div", { className: styles$i.pagination, children: [jsx(IconButton, { isDisabled: currentPage === 1, onPress: () => onChange(currentPage - 1), children: jsx(GlyphsChevronsSlimLeftIcon, {}) }), jsxs("div", { className: styles$i['page-number-container'], children: [jsx(NumberField, { autoGrow: true, label: "current-page", maxValue: totalPages, minValue: 1, onChange: onChange, value: currentPage }), jsx(FormattedMessage, { id: "of" }), jsx("div", { children: totalPages })] }), jsx(IconButton, { isDisabled: currentPage >= totalPages, onPress: () => onChange(currentPage + 1), children: jsx(GlyphsChevronsSlimRightIcon, {}) })] }));
7474
7589
  }
7475
7590
 
7476
7591
  function AlgoliaPagination({ onChange }) {
@@ -7806,11 +7921,6 @@ const createSonicSearchClient = ({ apiKey, appId, host, }) => {
7806
7921
  return searchClient;
7807
7922
  };
7808
7923
 
7809
- function useLanguageCode() {
7810
- const { languageCode } = useContext(IntlContext);
7811
- return languageCode;
7812
- }
7813
-
7814
7924
  function AlgoliaSortBy() {
7815
7925
  const languageCode = useLanguageCode();
7816
7926
  const algoliaIndex = getAlgoliaIndex(environment, languageCode);
@@ -7830,12 +7940,12 @@ function AlgoliaSortBy() {
7830
7940
  return (jsx(Select, { label: t('Sort by'), onChange: value => refine(String(value)), options: options, selectedOption: currentRefinement, showLabel: false, size: "sm" }));
7831
7941
  }
7832
7942
 
7833
- var styles$l = {"category-card":"category-card-module-4NUjH","title":"category-card-module-LEhh3","arrow":"category-card-module-hL4-A","is-selected":"category-card-module-vJ7vB","image-container":"category-card-module-oNTrK"};
7943
+ var styles$h = {"category-card":"category-card-module-4NUjH","title":"category-card-module-LEhh3","arrow":"category-card-module-hL4-A","is-selected":"category-card-module-vJ7vB","image-container":"category-card-module-oNTrK"};
7834
7944
 
7835
7945
  function CategoryCard({ href, image, isSelected = false, onClick, title, withArrow = false, }) {
7836
7946
  return (jsxs(RouteLink, { className: clsx({
7837
- [styles$l['is-selected']]: isSelected,
7838
- }, styles$l['category-card']), href: href, onClick: onClick, children: [jsx("div", { className: styles$l['image-container'], children: jsx(Image, { ...image, fit: "contain" }) }), jsxs("p", { className: styles$l.title, children: [jsx("span", { children: title }), withArrow && jsx(GlyphsArrowBoldCapsRightIcon, { className: styles$l.arrow })] })] }));
7947
+ [styles$h['is-selected']]: isSelected,
7948
+ }, styles$h['category-card']), href: href, onClick: onClick, children: [jsx("div", { className: styles$h['image-container'], children: jsx(Image, { ...image, fit: "contain" }) }), jsxs("p", { className: styles$h.title, children: [jsx("span", { children: title }), withArrow && jsx(GlyphsArrowBoldCapsRightIcon, { className: styles$h.arrow })] })] }));
7839
7949
  }
7840
7950
 
7841
7951
  const ProductListingPageContext = createContext({
@@ -7864,26 +7974,71 @@ function ConnectedCategoryCarousel() {
7864
7974
  }, title: category.title }, index))) }));
7865
7975
  }
7866
7976
 
7867
- var styles$k = {"blank-page-spacer":"blank-page-spacer-module-lXxle","loading-overlay":"blank-page-spacer-module-hbxDP"};
7868
-
7869
- function BlankPageSpacer({ children }) {
7870
- return jsx("div", { className: styles$k['blank-page-spacer'], children: children });
7871
- }
7872
-
7873
- var styles$j = {"promo-card":"promo-card-module-e2oii","sm":"promo-card-module-1-jT0","lg":"promo-card-module-zIYDh"};
7977
+ var styles$g = {"promo-card":"promo-card-module-e2oii","sm":"promo-card-module-1-jT0","lg":"promo-card-module-zIYDh"};
7874
7978
 
7875
7979
  function PromoCard({ href, image, variant }) {
7876
- return (jsx(RouteLink, { className: clsx(styles$j['promo-card'], styles$j[variant]), href: href, children: jsx(Image, { fit: "cover", image: image, title: image.altText }) }));
7980
+ return (jsx(RouteLink, { className: clsx(styles$g['promo-card'], styles$g[variant]), href: href, children: jsx(Image, { fit: "cover", image: image, title: image.altText }) }));
7877
7981
  }
7878
7982
 
7879
- var styles$i = {"promos":"promo-cards-module-Dy4p3"};
7983
+ var styles$f = {"promos":"promo-cards-module-Dy4p3"};
7880
7984
 
7881
- function PromoCards({ promoCardsData = [], }) {
7985
+ function PromoCards({ promoCardsData = [] }) {
7882
7986
  const { lg } = useBreakpoint();
7883
7987
  const promoCards = promoCardsData.map((promoCard, index) => (jsx(PromoCard, { href: promoCard.href, image: promoCard.image, variant: index % 2 === 0 ? 'lg' : 'sm' }, `promo-card-${index}`)));
7884
7988
  if (promoCardsData.length === 0)
7885
7989
  return null;
7886
- return (jsx("div", { className: styles$i.promos, children: lg ? (jsx(Fragment, { children: promoCards })) : (jsx(Carousel, { hasNavigation: false, hasOverflow: false, slides: promoCards, spaceBetween: 16 })) }));
7990
+ return (jsx("div", { className: styles$f.promos, children: lg ? (jsx(Fragment, { children: promoCards })) : (jsx(Carousel, { hasNavigation: false, hasOverflow: false, slides: promoCards, spaceBetween: 16 })) }));
7991
+ }
7992
+
7993
+ function useFetchProductListingPageData({ languageCode, pageUrl, }) {
7994
+ return useQuery({
7995
+ gcTime: 1 * TIME.DAY,
7996
+ queryFn: async () => {
7997
+ return request({
7998
+ headers: { 'Current-Language-Id': languageCode },
7999
+ url: `${config.BFF_API_URL}/plp/?pageUrl=${pageUrl}`,
8000
+ });
8001
+ },
8002
+ queryKey: ['product-listing-page-data', pageUrl, languageCode],
8003
+ select: ({ body }) => {
8004
+ return {
8005
+ breadCrumb: body.breadCrumb.map(breadCrumb => ({
8006
+ href: breadCrumb.url,
8007
+ label: breadCrumb.text,
8008
+ })),
8009
+ category: body.categories
8010
+ ? {
8011
+ href: body.categories.path,
8012
+ image: {
8013
+ 1: body.categories.smallImagePath,
8014
+ 2: body.categories.smallImagePath,
8015
+ 3: body.categories.smallImagePath,
8016
+ altText: body.categories.imageAltText,
8017
+ },
8018
+ title: body.categories.shortDescription,
8019
+ }
8020
+ : undefined,
8021
+ categoryPages: body.categoryPages,
8022
+ hierarchicalCategories: body.hierarchicalCategories,
8023
+ promoCards: body.promoCards
8024
+ ? {
8025
+ top: body.promoCards.top || undefined,
8026
+ }
8027
+ : undefined,
8028
+ subcategories: body.categories?.subCategories?.map(subcategory => ({
8029
+ href: subcategory.path,
8030
+ image: {
8031
+ 1: subcategory.smallImagePath,
8032
+ 2: subcategory.smallImagePath,
8033
+ 3: subcategory.smallImagePath,
8034
+ altText: subcategory.imageAltText,
8035
+ },
8036
+ title: subcategory.shortDescription,
8037
+ })),
8038
+ };
8039
+ },
8040
+ staleTime: 1 * TIME.DAY,
8041
+ });
7887
8042
  }
7888
8043
 
7889
8044
  const scrollToTop = (scrollOptions) => {
@@ -7893,17 +8048,17 @@ const scrollToTop = (scrollOptions) => {
7893
8048
  });
7894
8049
  };
7895
8050
 
7896
- var styles$h = {"sidebar":"sidebar-module-fSa9Q","is-docked":"sidebar-module-AIq0M","transition":"sidebar-module-LEZgg","is-open":"sidebar-module-lV7wp","is-closed":"sidebar-module-dGDrr","close":"sidebar-module-2puGC","is-not-docked":"sidebar-module-Scw7D"};
8051
+ var styles$e = {"sidebar":"sidebar-module-fSa9Q","is-docked":"sidebar-module-AIq0M","transition":"sidebar-module-LEZgg","is-open":"sidebar-module-lV7wp","is-closed":"sidebar-module-dGDrr","close":"sidebar-module-2puGC","is-not-docked":"sidebar-module-Scw7D"};
7897
8052
 
7898
8053
  function InnerSidebar({ children }) {
7899
8054
  const { isDocked, isOpen, toggle, transition } = useSidebar();
7900
- return (jsxs("aside", { className: clsx(styles$h.sidebar, {
7901
- [styles$h['transition']]: transition,
7902
- [styles$h['is-open']]: isOpen,
7903
- [styles$h['is-closed']]: !isOpen,
7904
- [styles$h['is-docked']]: isDocked,
7905
- [styles$h['is-not-docked']]: !isDocked,
7906
- }), children: [jsx("div", { className: styles$h.close, children: jsx(IconButton, { color: "secondary", onPress: toggle, children: jsx(StrokeCloseboxIcon, {}) }) }), children] }));
8055
+ return (jsxs("aside", { className: clsx(styles$e.sidebar, {
8056
+ [styles$e['transition']]: transition,
8057
+ [styles$e['is-open']]: isOpen,
8058
+ [styles$e['is-closed']]: !isOpen,
8059
+ [styles$e['is-docked']]: isDocked,
8060
+ [styles$e['is-not-docked']]: !isDocked,
8061
+ }), children: [jsx("div", { className: styles$e.close, children: jsx(IconButton, { color: "secondary", onPress: toggle, children: jsx(StrokeCloseboxIcon, {}) }) }), children] }));
7907
8062
  }
7908
8063
  function Sidebar({ children }) {
7909
8064
  return jsx(InnerSidebar, { children: children });
@@ -7918,11 +8073,11 @@ const ToggleSidebarButton = () => {
7918
8073
  return (jsx(Button, { color: "secondary", icon: jsx(StrokeFilterIcon, {}), onPress: toggle, size: "sm", variant: "outline", children: isOpen ? (jsx(FormattedMessage, { id: "Hide filters" })) : (jsx(FormattedMessage, { id: "Show filters" })) }));
7919
8074
  };
7920
8075
 
7921
- var styles$g = {"no-results":"no-results-module-T1cti","title":"no-results-module-mZ8TQ","body":"no-results-module-FQGhC","buttons":"no-results-module-QGZsD"};
8076
+ var styles$d = {"no-results":"no-results-module-T1cti","title":"no-results-module-mZ8TQ","body":"no-results-module-FQGhC","buttons":"no-results-module-QGZsD"};
7922
8077
 
7923
8078
  function NoResults$1({ content, title }) {
7924
8079
  const { lg } = useBreakpoint();
7925
- return (jsxs("div", { className: styles$g['no-results'], children: [jsx(Heading, { bold: false, className: styles$g.title, size: lg ? 's' : 'xs', tag: "h2", children: title }), jsx("p", { className: styles$g.body, children: content }), jsx("div", { className: styles$g.buttons, children: jsx(RouteButton, { withArrow: true, href: `${config.SHOP_API_URL}`, size: "md", children: jsx(FormattedMessage, { id: "Continue shopping" }) }) })] }));
8080
+ return (jsxs("div", { className: styles$d['no-results'], children: [jsx(Heading, { bold: false, className: styles$d.title, size: lg ? 's' : 'xs', tag: "h2", children: title }), jsx("p", { className: styles$d.body, children: content }), jsx("div", { className: styles$d.buttons, children: jsx(RouteButton, { withArrow: true, href: `${config.SHOP_API_URL}`, size: "md", children: jsx(FormattedMessage, { id: "Continue shopping" }) }) })] }));
7926
8081
  }
7927
8082
 
7928
8083
  function getCookies() {
@@ -8134,57 +8289,6 @@ function useAlgoliaInsights() {
8134
8289
  sendEvents: Parameters<ReturnType<typeof makeSendEvents>>;
8135
8290
  */
8136
8291
 
8137
- var styles$f = {"modal-overlay":"modal-module-rVFJc","modal-fade":"modal-module-63Uyl","modal":"modal-module-6vlFt","modal-zoom":"modal-module-aPJ7X"};
8138
-
8139
- function Modal({ children, className, isDismissable, isKeyboardDismissDisabled, isOpen, onOpenChange, }) {
8140
- return (jsx(ModalOverlay, { className: clsx(styles$f['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Modal$1, { className: styles$f.modal, children: children }) }));
8141
- }
8142
-
8143
- var styles$e = {"header":"dialog-module-ZnsAe","heading":"dialog-module-SwpuZ","close":"dialog-module-Y7Tqg","content":"dialog-module-Koqia","footer":"dialog-module-y7Axm"};
8144
-
8145
- function Footer({ close }) {
8146
- return (jsx(Button, { onPress: close, size: "md", children: "Close" }));
8147
- }
8148
- function Dialog({ allowClose = true, children, className, footer = Footer, hideTitle, isDismissable, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, title, validationErrors, }) {
8149
- return (jsx(Modal, { className: clsx(styles$e['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$e.header, children: [!hideTitle && (jsx(Heading, { className: styles$e.heading, size: "xs", children: title })), jsx("div", { className: styles$e.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onPress: close, children: jsx(StrokeCloseboxIcon, {}) }) })] }), jsx("div", { className: styles$e.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$e.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
8150
- }
8151
-
8152
- function SignInDialog({ isOpen, onOpenChange }) {
8153
- const t = useFormattedMessage();
8154
- const { signInUrl } = useFavorite();
8155
- 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.')] }));
8156
- }
8157
-
8158
- function ConnectedFavoriteButton({ onFavorite: _onFavorite, productId, }) {
8159
- const { isFavorite, isFetching, wishList, wishListItem } = useFavoriteProduct(productId);
8160
- const isAuthenticated = useIsAuthenticated();
8161
- const [showSignInDialog, setShowSignInDialog] = useState(false);
8162
- const { mutate: addWishListItemToCurrentWishList } = useAddWishListItemToCurrentWishList();
8163
- const { mutate: deleteWishListItemFromWishList } = useDeleteWishListItemFromWishList();
8164
- function onFavorite() {
8165
- if (!isAuthenticated) {
8166
- return setShowSignInDialog(true);
8167
- }
8168
- if (wishList && wishListItem) {
8169
- deleteWishListItemFromWishList({
8170
- wishListId: wishList.id,
8171
- wishListItemId: wishListItem.id,
8172
- });
8173
- }
8174
- else {
8175
- addWishListItemToCurrentWishList({ productId });
8176
- _onFavorite?.();
8177
- }
8178
- }
8179
- if (isFetching)
8180
- return null;
8181
- return (jsxs(Fragment, { children: [jsx(FavoriteButton, { isDisabled: isFetching, isFavorite: isFavorite, onPress: onFavorite }), jsx(SignInDialog, { isOpen: showSignInDialog, onOpenChange: setShowSignInDialog })] }));
8182
- }
8183
-
8184
- function ConnectedProductCard({ onAddToCart, onFavorite, productId, ...props }) {
8185
- return (jsx(ProductCard, { ...props, addToCartButton: jsx(ConnectedAddToCartButton, { onAddToCart: onAddToCart, productId: productId }), favoriteButton: jsx(ConnectedFavoriteButton, { onFavorite: onFavorite, productId: productId }) }));
8186
- }
8187
-
8188
8292
  function ProductListingProductOverview() {
8189
8293
  const { isLoading, products } = useAlgoliaProductHits();
8190
8294
  const { sendAddToCartFromProductListPageEvent, sendAddToWishListFromProductListPageEvent, sendProductClickFromProductListPageEvent, } = useAlgoliaInsights();
@@ -8207,7 +8311,7 @@ function ProductListingProductOverview() {
8207
8311
  }, productId: product.storefrontId, sku: product.id, tags: product.labels, title: product.name }, product.storefrontId))) }));
8208
8312
  }
8209
8313
 
8210
- var styles$d = {"product-listing":"product-listing-page-module-dmIHF","header":"product-listing-page-module-Oz76Z","promos":"product-listing-page-module-iY1yj","action-bar":"product-listing-page-module-XxGrr","sidebar-toggle":"product-listing-page-module-F7bxy","sort":"product-listing-page-module-aQzHr","count":"product-listing-page-module-zx79v","categories":"product-listing-page-module-R4aOl","product-grid-container":"product-listing-page-module-ICkKg","product-grid":"product-listing-page-module-LHE7z","pagination":"product-listing-page-module-xsRaj"};
8314
+ var styles$c = {"product-listing":"product-listing-page-module-dmIHF","header":"product-listing-page-module-Oz76Z","promos":"product-listing-page-module-iY1yj","action-bar":"product-listing-page-module-XxGrr","sidebar-toggle":"product-listing-page-module-F7bxy","sort":"product-listing-page-module-aQzHr","count":"product-listing-page-module-zx79v","categories":"product-listing-page-module-R4aOl","product-grid-container":"product-listing-page-module-ICkKg","product-grid":"product-listing-page-module-LHE7z","pagination":"product-listing-page-module-xsRaj"};
8211
8315
 
8212
8316
  function ProductListingPage({ pageUrl, searchClient: _searchClient, }) {
8213
8317
  const languageCode = useLanguageCode();
@@ -8221,25 +8325,20 @@ function ProductListingPage({ pageUrl, searchClient: _searchClient, }) {
8221
8325
  appId: config.ALGOLIA_APP_ID,
8222
8326
  host: config.ALGOLIA_HOST,
8223
8327
  }), [_searchClient]);
8224
- if (isError) {
8225
- if (!isRequestError(error))
8226
- throw error;
8227
- // TODO: Implement error page (404, 500, etc.)
8228
- return (jsxs("h1", { children: [error.status, " - ", error.statusText] }));
8229
- }
8230
- if (!data || isFetching) {
8231
- return (jsx(BlankPageSpacer, { children: jsx(LoadingOverlay, {}) }));
8232
- }
8328
+ if (isError)
8329
+ return jsx(ErrorPage, { error: error });
8330
+ if (!data || isFetching)
8331
+ return jsx(LoadingPage, {});
8233
8332
  const category = data.breadCrumb.slice(1).map(breadCrumb => breadCrumb.label);
8234
- return (jsx(ProductListingPageProvider, { data: data, error: error, isError: isError, isLoading: isFetching, children: jsx(AlgoliaProvider, { categoryPages: data.categoryPages, hierarchicalCategories: data.hierarchicalCategories, languageCode: languageCode, offlineSearchClient: offlineSearchClient, searchClient: searchClient, children: jsx(Page, { breadCrumb: data.breadCrumb, className: styles$d['product-listing'], title: category.slice().pop(), children: jsx(ProductListingPageContent, { promoCards: data.promoCards?.top }) }) }) }));
8333
+ return (jsx(ProductListingPageProvider, { data: data, error: error, isError: isError, isLoading: isFetching, children: jsx(AlgoliaProvider, { categoryPages: data.categoryPages, hierarchicalCategories: data.hierarchicalCategories, languageCode: languageCode, offlineSearchClient: offlineSearchClient, searchClient: searchClient, children: jsx(Page, { breadCrumb: data.breadCrumb, className: styles$c['product-listing'], title: category.slice().pop(), children: jsx(ProductListingPageContent, { promoCards: data.promoCards?.top }) }) }) }));
8235
8334
  }
8236
8335
  function ProductListingPageContent({ promoCards, }) {
8237
8336
  const { isLoading, products } = useAlgoliaProductHits();
8238
8337
  const hasProducts = products.length > 0;
8239
8338
  const t = useFormattedMessage();
8240
- return (jsxs(Fragment, { children: [isLoading !== false && !hasProducts && (jsx(BlankPageSpacer, { children: jsx(LoadingOverlay, {}) })), isLoading === false && !hasProducts && (jsx(NoResults$1, { content: jsxs("p", { children: [jsx(FormattedMessage, { id: "You could try exploring our products by category" }), ' ', jsx("br", {}), jsx(FormattedMessage, { id: "Try 'Search' and try to find the product you're looking for" })] }), title: t('Sorry, there are no products found') })), jsxs("div", { style: {
8339
+ return (jsxs(Fragment, { children: [isLoading !== false && !hasProducts && jsx(LoadingPage, {}), isLoading === false && !hasProducts && (jsx(NoResults$1, { content: jsxs("p", { children: [jsx(FormattedMessage, { id: "You could try exploring our products by category" }), ' ', jsx("br", {}), jsx(FormattedMessage, { id: "Try 'Search' and try to find the product you're looking for" })] }), title: t('Sorry, there are no products found') })), jsxs("div", { style: {
8241
8340
  display: !hasProducts ? 'none' : undefined,
8242
- }, children: [promoCards?.length && (jsx("section", { className: styles$d.promos, children: jsx(PromoCards, { promoCardsData: promoCards }) })), jsx("section", { className: styles$d.categories, children: jsx(ConnectedCategoryCarousel, {}) }), jsxs("section", { className: styles$d['action-bar'], children: [jsx("div", { className: styles$d['sidebar-toggle'], children: jsx(ToggleSidebarButton, {}) }), jsx("span", { className: styles$d.count, children: jsx(AlgoliaResultsCount, {}) }), jsx("div", { className: styles$d.sort, children: jsx(AlgoliaSortBy, {}) })] }), jsx("section", { children: jsxs("div", { className: styles$d['product-grid-container'], children: [jsx(Sidebar, { children: jsx(AlgoliaFilterPanel, { showActiveCategories: true }) }), jsxs("div", { className: styles$d['product-grid'], children: [jsx(ProductListingProductOverview, {}), jsx("div", { className: styles$d.pagination, children: jsx(AlgoliaPagination, { onChange: () => {
8341
+ }, children: [promoCards?.length && (jsx("section", { className: styles$c.promos, children: jsx(PromoCards, { promoCardsData: promoCards }) })), jsx("section", { className: styles$c.categories, children: jsx(ConnectedCategoryCarousel, {}) }), jsxs("section", { className: styles$c['action-bar'], children: [jsx("div", { className: styles$c['sidebar-toggle'], children: jsx(ToggleSidebarButton, {}) }), jsx("span", { className: styles$c.count, children: jsx(AlgoliaResultsCount, {}) }), jsx("div", { className: styles$c.sort, children: jsx(AlgoliaSortBy, {}) })] }), jsx("section", { children: jsxs("div", { className: styles$c['product-grid-container'], children: [jsx(Sidebar, { children: jsx(AlgoliaFilterPanel, { showActiveCategories: true }) }), jsxs("div", { className: styles$c['product-grid'], children: [jsx(ProductListingProductOverview, {}), jsx("div", { className: styles$c.pagination, children: jsx(AlgoliaPagination, { onChange: () => {
8243
8342
  setTimeout(() => {
8244
8343
  scrollToTop();
8245
8344
  }, 100);
@@ -8268,7 +8367,7 @@ function SearchResultProductOverview() {
8268
8367
  }, productId: product.storefrontId, sku: product.id, tags: product.labels, title: product.name }, product.storefrontId))) }));
8269
8368
  }
8270
8369
 
8271
- var styles$c = {"search-results":"search-results-page-module-M7SIu","header":"search-results-page-module-DpNT-","action-bar":"search-results-page-module-RJoMk","sidebar-toggle":"search-results-page-module-SzLQb","sort":"search-results-page-module-cgonp","count":"search-results-page-module-hunZp","categories":"search-results-page-module-n2lSj","product-grid-container":"search-results-page-module-TK-iE","product-grid":"search-results-page-module-HWUnk","pagination":"search-results-page-module-SZYiA"};
8370
+ var styles$b = {"search-results":"search-results-page-module-M7SIu","header":"search-results-page-module-DpNT-","action-bar":"search-results-page-module-RJoMk","sidebar-toggle":"search-results-page-module-SzLQb","sort":"search-results-page-module-cgonp","count":"search-results-page-module-hunZp","categories":"search-results-page-module-n2lSj","product-grid-container":"search-results-page-module-TK-iE","product-grid":"search-results-page-module-HWUnk","pagination":"search-results-page-module-SZYiA"};
8272
8371
 
8273
8372
  function SearchResultsPage({ location, searchClient, }) {
8274
8373
  const languageCode = useLanguageCode();
@@ -8277,7 +8376,7 @@ function SearchResultsPage({ location, searchClient, }) {
8277
8376
  const keyword = Array.isArray(keywords) ? keywords.join(' ') : keywords;
8278
8377
  if (!keyword)
8279
8378
  return jsx("h1", { children: "No search results...." });
8280
- return (jsx(AlgoliaProvider, { languageCode: languageCode, query: keyword, searchClient: searchClient, children: jsx(Page, { breadCrumb: [], className: styles$c['search-results'], title: t("'{0}' in all products", {
8379
+ return (jsx(AlgoliaProvider, { languageCode: languageCode, query: keyword, searchClient: searchClient, children: jsx(Page, { breadCrumb: [], className: styles$b['search-results'], title: t("'{0}' in all products", {
8281
8380
  replacementValues: { 0: keyword },
8282
8381
  }), children: jsx(SearchResultsPageContent, { keyword: keyword }) }) }));
8283
8382
  }
@@ -8285,20 +8384,20 @@ function SearchResultsPageContent({ keyword }) {
8285
8384
  const { isLoading, products } = useAlgoliaProductHits();
8286
8385
  const hasProducts = products.length > 0;
8287
8386
  const t = useFormattedMessage();
8288
- return (jsxs(Fragment, { children: [isLoading !== false && !hasProducts && jsx(LoadingOverlay, {}), isLoading === false && !hasProducts && (jsx(NoResults$1, { content: jsxs("p", { children: [jsx(FormattedMessage, { id: "You could try checking the spelling of your search query" }), jsx("br", {}), jsx(FormattedMessage, { id: "Try another search" }), jsx("br", {}), jsx(FormattedMessage, { id: "Are you looking for information about our service? Please visit our customer support page" })] }), title: t("Unfortnately, We found no articles for your search '{0}'", {
8387
+ return (jsxs(Fragment, { children: [isLoading !== false && !hasProducts && jsx(LoadingPage, {}), isLoading === false && !hasProducts && (jsx(NoResults$1, { content: jsxs("p", { children: [jsx(FormattedMessage, { id: "You could try checking the spelling of your search query" }), jsx("br", {}), jsx(FormattedMessage, { id: "Try another search" }), jsx("br", {}), jsx(FormattedMessage, { id: "Are you looking for information about our service? Please visit our customer support page" })] }), title: t("Unfortnately, We found no articles for your search '{0}'", {
8289
8388
  replacementValues: { 0: keyword },
8290
8389
  }) })), jsxs("div", { style: {
8291
8390
  display: !hasProducts ? 'none' : undefined,
8292
- }, children: [jsxs("section", { className: styles$c['action-bar'], children: [jsx("div", { className: styles$c['sidebar-toggle'], children: jsx(ToggleSidebarButton, {}) }), jsx("span", { className: styles$c.count, children: jsx(AlgoliaResultsCount, {}) }), jsx("div", { className: styles$c.sort, children: jsx(AlgoliaSortBy, {}) })] }), jsx("section", { children: jsxs("div", { className: styles$c['product-grid-container'], children: [jsx(Sidebar, { children: jsx(AlgoliaFilterPanel, { showCategoriesFilters: true }) }), jsxs("div", { className: styles$c['product-grid'], children: [jsx(SearchResultProductOverview, {}), jsx("div", { className: styles$c.pagination, children: jsx(AlgoliaPagination, { onChange: () => {
8391
+ }, children: [jsxs("section", { className: styles$b['action-bar'], children: [jsx("div", { className: styles$b['sidebar-toggle'], children: jsx(ToggleSidebarButton, {}) }), jsx("span", { className: styles$b.count, children: jsx(AlgoliaResultsCount, {}) }), jsx("div", { className: styles$b.sort, children: jsx(AlgoliaSortBy, {}) })] }), jsx("section", { children: jsxs("div", { className: styles$b['product-grid-container'], children: [jsx(Sidebar, { children: jsx(AlgoliaFilterPanel, { showCategoriesFilters: true }) }), jsxs("div", { className: styles$b['product-grid'], children: [jsx(SearchResultProductOverview, {}), jsx("div", { className: styles$b.pagination, children: jsx(AlgoliaPagination, { onChange: () => {
8293
8392
  setTimeout(() => {
8294
8393
  scrollToTop();
8295
8394
  }, 100);
8296
8395
  } }) })] })] }) })] })] }));
8297
8396
  }
8298
8397
 
8299
- var styles$b = {"overlay-background":"overlay-background-module-j7R7T","open":"overlay-background-module-DZWsP","close":"overlay-background-module-8pcWN"};
8398
+ var styles$a = {"background-overlay":"background-overlay-module-mGiNQ","open":"background-overlay-module-5Uxcl","close":"background-overlay-module-GRInQ"};
8300
8399
 
8301
- function OverlayBackground({ className, isOpen, onClick, }) {
8400
+ function BackgroundOverlay({ className, isOpen, onClick, }) {
8302
8401
  const [, setRender] = useState(isOpen);
8303
8402
  const nodeRef = useRef(null);
8304
8403
  useEffect(() => {
@@ -8317,13 +8416,13 @@ function OverlayBackground({ className, isOpen, onClick, }) {
8317
8416
  }, [isOpen]);
8318
8417
  if (typeof window === 'undefined')
8319
8418
  return null;
8320
- return ReactDOM.createPortal(jsx("div", { ref: nodeRef, className: clsx(styles$b['overlay-background'], {
8321
- [styles$b['open']]: isOpen,
8322
- [styles$b['close']]: !isOpen,
8419
+ return ReactDOM.createPortal(jsx("div", { ref: nodeRef, className: clsx(styles$a['background-overlay'], {
8420
+ [styles$a['open']]: isOpen,
8421
+ [styles$a['close']]: !isOpen,
8323
8422
  }, className), onClick: onClick }), document.body);
8324
8423
  }
8325
8424
 
8326
- var styles$a = {"sidebar-container":"sidebar-provider-module-rjeCL","transition":"sidebar-provider-module-C0cKR"};
8425
+ var styles$9 = {"sidebar-container":"sidebar-provider-module-rjeCL","transition":"sidebar-provider-module-C0cKR"};
8327
8426
 
8328
8427
  function SidebarDetectBreakpoint() {
8329
8428
  const xxl = useIsBreakpoint('xxl');
@@ -8353,11 +8452,11 @@ function SidebarDetectBreakpoint() {
8353
8452
  function SidebarProvider({ children }) {
8354
8453
  const state = useSidebar();
8355
8454
  const { close, isDocked, isOpen, transition } = state;
8356
- return (jsxs("div", { className: clsx(styles$a['sidebar-container'], {
8357
- [styles$a['transition']]: transition,
8358
- [styles$a['docked']]: isDocked,
8359
- [styles$a['open']]: isOpen,
8360
- }), children: [jsx(SidebarDetectBreakpoint, {}), children, isDocked && isOpen && (jsx(OverlayBackground, { isOpen: isOpen, onClick: close }))] }));
8455
+ return (jsxs("div", { className: clsx(styles$9['sidebar-container'], {
8456
+ [styles$9['transition']]: transition,
8457
+ [styles$9['docked']]: isDocked,
8458
+ [styles$9['open']]: isOpen,
8459
+ }), children: [jsx(SidebarDetectBreakpoint, {}), children, isDocked && isOpen && (jsx(BackgroundOverlay, { isOpen: isOpen, onClick: close }))] }));
8361
8460
  }
8362
8461
 
8363
8462
  const categoriesPlugin = ({ productsIndexName, searchClient, }) => {
@@ -8694,12 +8793,12 @@ function useAlgoliaSearch() {
8694
8793
  };
8695
8794
  }
8696
8795
 
8697
- var styles$9 = {"global-search-overlay-background-position":"global-search-module-mmXv1","search-wrapper":"global-search-module-d2g2F","search-root":"global-search-module-Sx8Lx","search-container":"global-search-module--orCF","input":"global-search-module-vXnL6","entering":"global-search-module-MYwlp","entered":"global-search-module-Jmt3c","exiting":"global-search-module-gQQfY","exited":"global-search-module-AABcw"};
8796
+ var styles$8 = {"global-search-background-overlay-position":"global-search-module-T0bEf","search-wrapper":"global-search-module-d2g2F","search-root":"global-search-module-Sx8Lx","search-container":"global-search-module--orCF","input":"global-search-module-vXnL6","entering":"global-search-module-MYwlp","entered":"global-search-module-Jmt3c","exiting":"global-search-module-gQQfY","exited":"global-search-module-AABcw"};
8698
8797
 
8699
8798
  const GlobalSearchDisclosureContext = createContext(null);
8700
8799
  function GlobalSearchProvider({ children, searchClient, }) {
8701
8800
  const { close, isOpen, open, toggle } = useDisclosure(false);
8702
- return (jsx(AlgoliaSearchProvider, { searchClient: searchClient, children: jsxs(GlobalSearchDisclosureContext.Provider, { value: { close, isOpen, open, toggle }, children: [children, jsx(OverlayBackground, { className: styles$9['global-search-overlay-background-position'], isOpen: isOpen, onClick: toggle })] }) }));
8801
+ return (jsx(AlgoliaSearchProvider, { searchClient: searchClient, children: jsxs(GlobalSearchDisclosureContext.Provider, { value: { close, isOpen, open, toggle }, children: [children, jsx(BackgroundOverlay, { className: styles$8['global-search-background-overlay-position'], isOpen: isOpen, onClick: toggle })] }) }));
8703
8802
  }
8704
8803
 
8705
8804
  const useGlobalSearchDisclosure = () => {
@@ -8718,7 +8817,7 @@ function StrokeSearchIcon(props) {
8718
8817
  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" }) }));
8719
8818
  }
8720
8819
 
8721
- var styles$8 = {"form":"search-input-module-xCCzd","input-container":"search-input-module-okP8k","icon":"search-input-module-GZbhK","label":"search-input-module-vKCm4","reset-btn":"search-input-module-lYseZ","input":"search-input-module-bELFK"};
8820
+ var styles$7 = {"form":"search-input-module-xCCzd","input-container":"search-input-module-okP8k","icon":"search-input-module-GZbhK","label":"search-input-module-vKCm4","reset-btn":"search-input-module-lYseZ","input":"search-input-module-bELFK"};
8722
8821
 
8723
8822
  function SearchInput({ autocomplete, formRef, inputRef, onCancel, onSubmit, placeholder, }) {
8724
8823
  const formProps = autocomplete?.getFormProps({
@@ -8734,10 +8833,10 @@ function SearchInput({ autocomplete, formRef, inputRef, onCancel, onSubmit, plac
8734
8833
  formProps?.onSubmit(e);
8735
8834
  onSubmit?.();
8736
8835
  }
8737
- return (jsx("form", { ref: formRef, className: styles$8.form, ...formProps, onSubmit: handleSubmit, children: jsxs("div", { className: styles$8['input-container'], children: [jsx("label", { className: styles$8.label, ...labelProps, children: jsx(StrokeSearchIcon, { className: clsx(styles$8['icon-search'], styles$8.icon) }) }), jsx("input", { ref: inputRef, onKeyUp: e => {
8836
+ return (jsx("form", { ref: formRef, className: styles$7.form, ...formProps, onSubmit: handleSubmit, children: jsxs("div", { className: styles$7['input-container'], children: [jsx("label", { className: styles$7.label, ...labelProps, children: jsx(StrokeSearchIcon, { className: clsx(styles$7['icon-search'], styles$7.icon) }) }), jsx("input", { ref: inputRef, onKeyUp: e => {
8738
8837
  if (e.key === 'Escape')
8739
8838
  onCancel?.();
8740
- }, ...inputProps, className: styles$8.input, placeholder: placeholder }), inputProps?.value && (jsx(IconButton, { className: styles$8['reset-btn'], color: "secondary", onPress: () => formRef.current?.reset(), type: "reset", children: jsx(SolidCloseIcon, {}) }))] }) }));
8839
+ }, ...inputProps, className: styles$7.input, placeholder: placeholder }), inputProps?.value && (jsx(IconButton, { className: styles$7['reset-btn'], color: "secondary", onPress: () => formRef.current?.reset(), type: "reset", children: jsx(SolidCloseIcon, {}) }))] }) }));
8741
8840
  }
8742
8841
 
8743
8842
  function ConnectedSearchInput() {
@@ -8751,26 +8850,26 @@ function ConnectedSearchInput() {
8751
8850
  }, placeholder: t('What are you searching for?') }));
8752
8851
  }
8753
8852
 
8754
- var styles$7 = {"categories-grid":"categories-grid-module-C751R","category":"categories-grid-module-7OZS1"};
8853
+ var styles$6 = {"categories-grid":"categories-grid-module-C751R","category":"categories-grid-module-7OZS1"};
8755
8854
 
8756
8855
  function CategoriesGrid({ categories, onItemClick, }) {
8757
- return (jsx("div", { className: styles$7['categories-grid'], children: categories.map(category => (jsx("div", { className: styles$7['category'], children: jsx(CategoryCard, { withArrow: true, href: category.href, image: {
8856
+ return (jsx("div", { className: styles$6['categories-grid'], children: categories.map(category => (jsx("div", { className: styles$6['category'], children: jsx(CategoryCard, { withArrow: true, href: category.href, image: {
8758
8857
  fit: 'contain',
8759
8858
  image: category.image,
8760
8859
  title: category.title,
8761
8860
  }, onClick: onItemClick, title: category.title }, category.title) }, category.title))) }));
8762
8861
  }
8763
8862
 
8764
- var styles$6 = {"search-section":"search-section-module-qaTiw","header":"search-section-module-E--U2","title":"search-section-module-AHlDR","content":"search-section-module-VZlvZ"};
8863
+ var styles$5 = {"search-section":"search-section-module-qaTiw","header":"search-section-module-E--U2","title":"search-section-module-AHlDR","content":"search-section-module-VZlvZ"};
8765
8864
 
8766
8865
  function SearchSection({ button, children, className, title, }) {
8767
- return (jsxs("div", { className: clsx(styles$6['search-section'], className), children: [jsxs("div", { className: styles$6.header, children: [title && jsx("h2", { className: styles$6.title, children: title }), button && button] }), jsx("div", { className: styles$6.content, children: children })] }));
8866
+ return (jsxs("div", { className: clsx(styles$5['search-section'], className), children: [jsxs("div", { className: styles$5.header, children: [title && jsx("h2", { className: styles$5.title, children: title }), button && button] }), jsx("div", { className: styles$5.content, children: children })] }));
8768
8867
  }
8769
8868
 
8770
- var styles$5 = {"section-container":"search-content-module-ZMwlB","content":"search-content-module-KIok6","left":"search-content-module-YRLIf","right":"search-content-module-qK5sg","button-container":"search-content-module-w-ORq","show-all-button":"search-content-module-bO1Q0","product-results":"search-content-module-bcFCH","no-results-text":"search-content-module-H-FX2","query":"search-content-module-LbQnK","suggestions":"search-content-module-mhiBZ","list":"search-content-module-coPAt"};
8869
+ var styles$4 = {"section-container":"search-content-module-ZMwlB","content":"search-content-module-KIok6","left":"search-content-module-YRLIf","right":"search-content-module-qK5sg","button-container":"search-content-module-w-ORq","show-all-button":"search-content-module-bO1Q0","product-results":"search-content-module-bcFCH","no-results-text":"search-content-module-H-FX2","query":"search-content-module-LbQnK","suggestions":"search-content-module-mhiBZ","list":"search-content-module-coPAt"};
8771
8870
 
8772
8871
  function SectionContainer({ buttons, leftContent, rightContent, }) {
8773
- return (jsx("div", { className: styles$5['section-container'], children: jsxs("div", { className: styles$5['content'], children: [jsx("div", { className: styles$5['left'], children: leftContent }), jsxs("div", { className: styles$5['right'], children: [rightContent, jsx("div", { className: styles$5['button-container'], children: buttons })] })] }) }));
8872
+ return (jsx("div", { className: styles$4['section-container'], children: jsxs("div", { className: styles$4['content'], children: [jsx("div", { className: styles$4['left'], children: leftContent }), jsxs("div", { className: styles$4['right'], children: [rightContent, jsx("div", { className: styles$4['button-container'], children: buttons })] })] }) }));
8774
8873
  }
8775
8874
 
8776
8875
  function NoResults() {
@@ -8779,7 +8878,7 @@ function NoResults() {
8779
8878
  function NotFound() {
8780
8879
  const { state } = useAlgoliaSearch();
8781
8880
  const t = useFormattedMessage();
8782
- return (jsx(SearchSection, { title: t('Sorry, we could not find matches for'), children: jsx("div", { className: styles$5['no-results-text'], children: jsxs("div", { className: styles$5.section, children: [jsxs("p", { className: styles$5.query, children: ["'", state.query, "'"] }), jsxs("div", { className: styles$5.suggestions, children: [jsx("p", { children: jsx(FormattedMessage, { id: "You could try" }) }), jsxs("ul", { className: styles$5.list, children: [jsx("li", { children: jsx(FormattedMessage, { id: "Searching again using more general terms" }) }), jsx("li", { children: jsx(FormattedMessage, { id: "Double check your spelling" }) }), jsx("li", { children: jsx(FormattedMessage, { id: "Use fewer keywords" }) }), jsx("li", { children: jsx(FormattedMessage, { id: "Exploring our products by category" }) })] })] })] }) }) }));
8881
+ return (jsx(SearchSection, { title: t('Sorry, we could not find matches for'), children: jsx("div", { className: styles$4['no-results-text'], children: jsxs("div", { className: styles$4.section, children: [jsxs("p", { className: styles$4.query, children: ["'", state.query, "'"] }), jsxs("div", { className: styles$4.suggestions, children: [jsx("p", { children: jsx(FormattedMessage, { id: "You could try" }) }), jsxs("ul", { className: styles$4.list, children: [jsx("li", { children: jsx(FormattedMessage, { id: "Searching again using more general terms" }) }), jsx("li", { children: jsx(FormattedMessage, { id: "Double check your spelling" }) }), jsx("li", { children: jsx(FormattedMessage, { id: "Use fewer keywords" }) }), jsx("li", { children: jsx(FormattedMessage, { id: "Exploring our products by category" }) })] })] })] }) }) }));
8783
8882
  }
8784
8883
  function PopularCategoriesSection() {
8785
8884
  const { popularCategories: collection } = useAlgoliaSearch();
@@ -8788,7 +8887,7 @@ function PopularCategoriesSection() {
8788
8887
  if (!collection)
8789
8888
  return null;
8790
8889
  const { items } = collection;
8791
- return (jsx(SearchSection, { title: t('Explore by categories'), children: jsx("div", { className: styles$5['categories-grid-container'], children: jsx(CategoriesGrid, { categories: items, onItemClick: close }) }) }));
8890
+ return (jsx(SearchSection, { title: t('Explore by categories'), children: jsx("div", { className: styles$4['categories-grid-container'], children: jsx(CategoriesGrid, { categories: items, onItemClick: close }) }) }));
8792
8891
  }
8793
8892
 
8794
8893
  function Highlight({ attribute, hit, tagName = 'mark', }) {
@@ -8800,19 +8899,19 @@ function Highlight({ attribute, hit, tagName = 'mark', }) {
8800
8899
  }));
8801
8900
  }
8802
8901
 
8803
- var styles$4 = {"search-list":"search-list-module-vRuMO"};
8902
+ var styles$3 = {"search-list":"search-list-module-vRuMO"};
8804
8903
 
8805
8904
  function SearchList({ ariaLabelledby, children, className, id, }) {
8806
- return (jsx("ul", { "aria-labelledby": ariaLabelledby, className: clsx(styles$4['search-list'], className), id: id, children: children }));
8905
+ return (jsx("ul", { "aria-labelledby": ariaLabelledby, className: clsx(styles$3['search-list'], className), id: id, children: children }));
8807
8906
  }
8808
8907
 
8809
- var styles$3 = {"search-list-item":"search-list-item-module-WXp77","content":"search-list-item-module-CPrhz","text":"search-list-item-module--5uqN"};
8908
+ var styles$2 = {"search-list-item":"search-list-item-module-WXp77","content":"search-list-item-module-CPrhz","text":"search-list-item-module--5uqN"};
8810
8909
 
8811
8910
  function SearchListItem({ icon, isRemovable = false, onClick, onRemove, text, }) {
8812
- return (jsxs("li", { className: styles$3['search-list-item'], onClick: onClick, role: "option", children: [jsxs("div", { className: styles$3.content, children: [icon && icon, text && jsx("span", { className: styles$3.text, children: text })] }), isRemovable && (jsx(IconButton, { color: "secondary", onPress: onRemove, children: jsx(StrokeCloseboxIcon, {}) }))] }));
8911
+ 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, {}) }))] }));
8813
8912
  }
8814
8913
 
8815
- var styles$2 = {"quick-access-section":"no-search-module-87NKV","quick-access-carousel":"no-search-module-beCXI","quick-access-card":"no-search-module-dtT5J"};
8914
+ var styles$1 = {"quick-access-section":"no-search-module-87NKV","quick-access-carousel":"no-search-module-beCXI","quick-access-card":"no-search-module-dtT5J"};
8816
8915
 
8817
8916
  function NoSearch() {
8818
8917
  return (jsx(SectionContainer, { leftContent: jsxs("div", { children: [jsx(RecentSearchesSection, {}), jsx(PopularSearchesSection, {})] }), rightContent: jsx(QuickAccessSection, {}) }));
@@ -8849,13 +8948,7 @@ function QuickAccessSection() {
8849
8948
  if (!collection)
8850
8949
  return;
8851
8950
  const { items } = collection;
8852
- return (jsx(SearchSection, { title: t('Quick access'), children: jsx("div", { className: styles$2['quick-access-section'], children: jsx(Carousel, { className: styles$2['quick-access-carousel'], hasNavigation: false, hasOverflow: false, navigationButtonsPosition: "center", slides: items.map((item, index) => (jsx(RouteLink, { className: styles$2['quick-access-card'], href: item.action.url, onClick: close, children: jsx(Image, { height: 343, image: item.image, title: item.image.altText, width: 192 }) }, index))), spaceBetween: 16 }) }) }));
8853
- }
8854
-
8855
- var styles$1 = {"slide":"product-carousel-module-XVTB1"};
8856
-
8857
- function ProductCarousel({ productCards }) {
8858
- return (jsx(Carousel, { hasOverflow: false, navigationButtonsPosition: "center", slideClasses: styles$1.slide, slides: productCards, spaceBetween: 16 }));
8951
+ return (jsx(SearchSection, { title: t('Quick access'), children: jsx("div", { className: styles$1['quick-access-section'], children: jsx(Carousel, { className: styles$1['quick-access-carousel'], hasNavigation: false, hasOverflow: false, navigationButtonsPosition: "center", slides: items.map((item, index) => (jsx(RouteLink, { className: styles$1['quick-access-card'], href: item.action.url, onClick: close, children: jsx(Image, { height: 343, image: item.image, title: item.image.altText, width: 192 }) }, index))), spaceBetween: 16 }) }) }));
8859
8952
  }
8860
8953
 
8861
8954
  function StrokeRecentIcon(props) {
@@ -8865,12 +8958,12 @@ function StrokeRecentIcon(props) {
8865
8958
  function WithResults() {
8866
8959
  const { state } = useAlgoliaSearch();
8867
8960
  const { close } = useGlobalSearchDisclosure();
8868
- return (jsx("div", { children: jsx(SectionContainer, { buttons: jsxs(RouteButton, { className: clsx(styles$5['show-all-button'], buttonStyles.button, buttonStyles.secondary, buttonStyles.outline, buttonStyles.md), href: `/search?keyword=${state.query}`, onPress: close, children: [jsx(FormattedMessage, { id: "See all results" }), jsx(GlyphsArrowBoldCapsRightIcon, { className: buttonStyles['right-arrow-icon'] })] }), leftContent: jsx(SuggestionsSection, {}), rightContent: jsx(ProductResultsSection, {}) }) }));
8961
+ return (jsx("div", { children: jsx(SectionContainer, { buttons: jsxs(RouteButton, { className: clsx(styles$4['show-all-button'], buttonStyles.button, buttonStyles.secondary, buttonStyles.outline, buttonStyles.md), href: `/search?keyword=${state.query}`, onClick: close, children: [jsx(FormattedMessage, { id: "See all results" }), jsx(GlyphsArrowBoldCapsRightIcon, { className: buttonStyles['right-arrow-icon'] })] }), leftContent: jsx(SuggestionsSection, {}), rightContent: jsx(ProductResultsSection, {}) }) }));
8869
8962
  }
8870
8963
  function SuggestionsSection() {
8871
8964
  const { autocomplete, categories, querySuggestions, recentSearches } = useAlgoliaSearch();
8872
8965
  const t = useFormattedMessage();
8873
- return (jsxs(SearchSection, { className: styles$5['product-results-section'], title: t('Suggestions'), children: [recentSearches && (jsx(SearchList, { ...autocomplete.getListProps({
8966
+ return (jsxs(SearchSection, { className: styles$4['product-results-section'], title: t('Suggestions'), children: [recentSearches && (jsx(SearchList, { ...autocomplete.getListProps({
8874
8967
  source: recentSearches.source,
8875
8968
  }), children: recentSearches.items.slice(0, 3).map(item => (jsx(SearchListItem, { ...autocomplete.getItemProps({
8876
8969
  item,
@@ -8900,7 +8993,7 @@ function ProductResultsSection() {
8900
8993
  if (!collection)
8901
8994
  return null;
8902
8995
  const { items, source } = collection;
8903
- return (jsx(SearchSection, { className: styles$5['product-results-section'], title: t('Products'), children: jsx("div", { className: styles$5['product-results'], ...autocomplete.getListProps({ source }), children: jsx(ProductCarousel, { productCards: items.map((product, index) => (createElement$1(ConnectedProductCard, { ...autocomplete.getItemProps({
8996
+ 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({
8904
8997
  item: product.hit,
8905
8998
  source: source,
8906
8999
  }), key: product.storefrontId, href: product.storefrontSlug, image: {
@@ -8911,14 +9004,14 @@ function ProductResultsSection() {
8911
9004
  sendAddToCartFromSearchEvent({
8912
9005
  objectId: product.objectId,
8913
9006
  queryId: product.queryId,
8914
- }), onFavorite: () => {
9007
+ }), onClick: () => close(), onFavorite: () => {
8915
9008
  product.queryId &&
8916
9009
  sendAddToWishListFromSearchEvent({
8917
9010
  objectId: product.objectId,
8918
9011
  position: product.position || index + 1,
8919
9012
  queryId: product.queryId,
8920
9013
  });
8921
- }, onPress: () => close(), price: {
9014
+ }, price: {
8922
9015
  isVatIncluded: product.isVatIncluded,
8923
9016
  originalPrice: product.originalPrice,
8924
9017
  price: product.price,
@@ -8952,7 +9045,7 @@ function SearchRoot() {
8952
9045
  inputRef.current.blur();
8953
9046
  }
8954
9047
  }, [inputRef, isOpen]);
8955
- return (jsx("div", { className: styles$9['search-root'], children: jsx(Transition, { in: isOpen, nodeRef: inputRef, timeout: 300, children: transitionState => (jsxs("div", { className: clsx(styles$9['search-container'], styles$9[transitionState]), ...autocomplete.getRootProps({}), children: [jsx("div", { className: styles$9.input, children: jsx(ConnectedSearchInput, {}) }), jsx("div", { className: styles$9.panel, children: jsx(SearchResultPanel, {}) })] })) }) }));
9048
+ return (jsx("div", { className: styles$8['search-root'], children: jsx(Transition, { in: isOpen, nodeRef: inputRef, timeout: 300, children: transitionState => (jsxs("div", { className: clsx(styles$8['search-container'], styles$8[transitionState]), ...autocomplete.getRootProps({}), children: [jsx("div", { className: styles$8.input, children: jsx(ConnectedSearchInput, {}) }), jsx("div", { className: styles$8.panel, children: jsx(SearchResultPanel, {}) })] })) }) }));
8956
9049
  }
8957
9050
  /**
8958
9051
  * Global search using algolia autocomplete with a custom renderer
@@ -8965,7 +9058,7 @@ function SearchRoot() {
8965
9058
  function GlobalSearch() {
8966
9059
  const panelRef = useRef(null);
8967
9060
  const { isOpen } = useGlobalSearchDisclosure();
8968
- return (jsx(TransitionGroup, { children: jsx(Transition, { in: isOpen, nodeRef: panelRef, timeout: 300, children: state => (jsx("div", { ref: panelRef, className: state, children: jsx("div", { className: styles$9['search-wrapper'], children: jsx(SearchRoot, {}) }) })) }) }));
9061
+ return (jsx(TransitionGroup, { children: jsx(Transition, { in: isOpen, nodeRef: panelRef, timeout: 300, children: state => (jsx("div", { ref: panelRef, className: state, children: jsx("div", { className: styles$8['search-wrapper'], children: jsx(SearchRoot, {}) }) })) }) }));
8969
9062
  }
8970
9063
 
8971
9064
  const queryClient = new QueryClient({
@@ -8982,4 +9075,4 @@ function ReactQueryContainer({ children }) {
8982
9075
  return (jsx(QueryClientProvider, { client: queryClient, children: children }));
8983
9076
  }
8984
9077
 
8985
- 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, useFetchProductListingPageData, useFetchTranslations, useFetchWishLists, useFormattedMessage, useGlobalSearchDisclosure, useGlobalState, useIsAuthenticated, useIsBreakpoint, useNavigate, useScrollLock, useSession, useSignIn, useSignOut, useUpdateCartLineById, userToken };
9078
+ 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, useScrollLock, useSession, useSignIn, useSignOut, useUpdateCartLineById, userToken };