@sonic-equipment/ui 0.0.38 → 0.0.40

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 (170) hide show
  1. package/dist/badges/tag/tag.stories.d.ts +1 -0
  2. package/dist/breadcrumbs/breadcrumb.stories.d.ts +1 -0
  3. package/dist/buttons/add-to-cart-button/add-to-cart-button.stories.d.ts +1 -0
  4. package/dist/buttons/button/button.stories.d.ts +1 -0
  5. package/dist/buttons/favorite/favorite-button.stories.d.ts +1 -0
  6. package/dist/buttons/icon-button/icon-button.stories.d.ts +1 -0
  7. package/dist/buttons/link-button/link-button.stories.d.ts +1 -0
  8. package/dist/cards/category-card/category-card.stories.d.ts +1 -0
  9. package/dist/cards/product-card/connected-product-cart.d.ts +2 -3
  10. package/dist/cards/product-card/product-card.stories.d.ts +1 -0
  11. package/dist/carousel/carousel.d.ts +3 -1
  12. package/dist/carousel/category-carousel/category-carousel.d.ts +3 -3
  13. package/dist/carousel/category-carousel/category-carousel.stories.d.ts +4 -0
  14. package/dist/carousel/product-carousel/product-carousel.d.ts +5 -0
  15. package/dist/collapsables/accordion/accordion.stories.d.ts +1 -0
  16. package/dist/collapsables/show-all/show-all.stories.d.ts +1 -0
  17. package/dist/display/product-price/product-price.stories.d.ts +1 -0
  18. package/dist/display/product-sku/product-sku.stories.d.ts +1 -0
  19. package/dist/filters/active-filters/active-filters.stories.d.ts +1 -0
  20. package/dist/filters/multi-select/multi-select.stories.d.ts +1 -0
  21. package/dist/filters/pagination/pagination.stories.d.ts +3 -0
  22. package/dist/forms/checkbox/checkbox.stories.d.ts +1 -0
  23. package/dist/forms/color-checkbox/color-checkbox.stories.d.ts +1 -0
  24. package/dist/forms/field-error/field-error.stories.d.ts +1 -0
  25. package/dist/forms/input/input.stories.d.ts +1 -0
  26. package/dist/forms/label/label.stories.d.ts +1 -0
  27. package/dist/forms/number-field/number-field.stories.d.ts +1 -0
  28. package/dist/forms/select/select.stories.d.ts +1 -0
  29. package/dist/forms/text-field/text-field.stories.d.ts +1 -0
  30. package/dist/forms/textarea/textarea.stories.d.ts +1 -0
  31. package/dist/global-search/global-search.stories.d.ts +1 -0
  32. package/dist/global-search/search-result-panel/panel-content.d.ts +0 -9
  33. package/dist/global-search/search-result-panel/sections/no-results.d.ts +1 -0
  34. package/dist/global-search/search-result-panel/sections/no-search.d.ts +1 -0
  35. package/dist/global-search/search-result-panel/sections/search-content-section.d.ts +3 -0
  36. package/dist/global-search/search-result-panel/sections/section-container.d.ts +7 -0
  37. package/dist/global-search/search-result-panel/sections/with-results.d.ts +1 -0
  38. package/dist/icons/glyph/glyphs-arrow-black-left-icon.d.ts +1 -0
  39. package/dist/icons/glyph/glyphs-arrow-black-right-icon.d.ts +1 -0
  40. package/dist/icons/glyph/glyphs-arrow-blackcaps-left-icon.d.ts +1 -0
  41. package/dist/icons/glyph/glyphs-arrow-blackcaps-right-icon.d.ts +1 -0
  42. package/dist/icons/glyph/glyphs-arrow-bold-left-icon.d.ts +1 -0
  43. package/dist/icons/glyph/glyphs-arrow-bold-right-icon.d.ts +1 -0
  44. package/dist/icons/glyph/glyphs-arrow-boldcaps-left-icon.d.ts +1 -0
  45. package/dist/icons/glyph/glyphs-arrow-boldcaps-right-icon.d.ts +1 -0
  46. package/dist/icons/glyph/glyphs-arrow-regular-left-icon.d.ts +1 -0
  47. package/dist/icons/glyph/glyphs-arrow-regular-right-icon.d.ts +1 -0
  48. package/dist/icons/glyph/glyphs-arrow-regularcaps-left-icon.d.ts +1 -0
  49. package/dist/icons/glyph/glyphs-arrow-regularcaps-right-icon.d.ts +1 -0
  50. package/dist/icons/glyph/glyphs-arrow-semibold-left-icon.d.ts +1 -0
  51. package/dist/icons/glyph/glyphs-arrow-semibold-right-icon.d.ts +1 -0
  52. package/dist/icons/glyph/glyphs-arrow-semiboldcaps-left-icon.d.ts +1 -0
  53. package/dist/icons/glyph/glyphs-arrow-semiboldcaps-right-icon.d.ts +1 -0
  54. package/dist/icons/glyph/glyphs-arrow-thin-left-icon.d.ts +1 -0
  55. package/dist/icons/glyph/glyphs-arrow-thin-right-icon.d.ts +1 -0
  56. package/dist/icons/glyph/glyphs-arrow-thincaps-left-icon.d.ts +1 -0
  57. package/dist/icons/glyph/glyphs-arrow-thincaps-right-icon.d.ts +1 -0
  58. package/dist/icons/glyph/glyphs-chevrons-bold-down-icon.d.ts +1 -0
  59. package/dist/icons/glyph/glyphs-chevrons-bold-left-icon.d.ts +1 -0
  60. package/dist/icons/glyph/glyphs-chevrons-bold-right-icon.d.ts +1 -0
  61. package/dist/icons/glyph/glyphs-chevrons-bold-up-icon.d.ts +1 -0
  62. package/dist/icons/glyph/glyphs-chevrons-slim-down-icon.d.ts +1 -0
  63. package/dist/icons/glyph/glyphs-chevrons-slim-left-icon.d.ts +1 -0
  64. package/dist/icons/glyph/glyphs-chevrons-slim-right-icon.d.ts +1 -0
  65. package/dist/icons/glyph/glyphs-chevrons-slim-up-icon.d.ts +1 -0
  66. package/dist/icons/other/career-innovate-icon.d.ts +1 -0
  67. package/dist/icons/other/career-proactive-icon.d.ts +1 -0
  68. package/dist/icons/other/career-teamplayer-icon.d.ts +1 -0
  69. package/dist/icons/other/fallback-icon.d.ts +1 -0
  70. package/dist/icons/other/some-facebook-icon.d.ts +1 -0
  71. package/dist/icons/other/some-instagram-icon.d.ts +1 -0
  72. package/dist/icons/other/some-linkedin-icon.d.ts +1 -0
  73. package/dist/icons/other/some-mail-icon.d.ts +1 -0
  74. package/dist/icons/other/some-youtube-icon.d.ts +1 -0
  75. package/dist/icons/other/usp-efficiency-icon.d.ts +1 -0
  76. package/dist/icons/other/usp-style-icon.d.ts +1 -0
  77. package/dist/icons/other/usp-support-icon.d.ts +1 -0
  78. package/dist/icons/other/warranty-10y-icon.d.ts +1 -0
  79. package/dist/icons/other/warranty-1y-icon.d.ts +1 -0
  80. package/dist/icons/other/warranty-3y-icon.d.ts +1 -0
  81. package/dist/icons/other/warranty-5y-icon.d.ts +1 -0
  82. package/dist/icons/other/warranty-consumable-icon.d.ts +1 -0
  83. package/dist/icons/other/warranty-lifetime-icon.d.ts +1 -0
  84. package/dist/icons/solid/solid-attention-icon.d.ts +1 -0
  85. package/dist/icons/solid/solid-business-icon.d.ts +1 -0
  86. package/dist/icons/solid/solid-cart-icon.d.ts +1 -0
  87. package/dist/icons/solid/solid-clock-icon.d.ts +1 -0
  88. package/dist/icons/solid/solid-close-icon.d.ts +1 -0
  89. package/dist/icons/solid/solid-download-icon.d.ts +1 -0
  90. package/dist/icons/solid/solid-favorite-icon.d.ts +1 -0
  91. package/dist/icons/solid/solid-home-icon.d.ts +1 -0
  92. package/dist/icons/solid/solid-information-icon.d.ts +1 -0
  93. package/dist/icons/solid/solid-login-icon.d.ts +1 -0
  94. package/dist/icons/solid/solid-notice-icon.d.ts +1 -0
  95. package/dist/icons/solid/solid-okay-icon.d.ts +1 -0
  96. package/dist/icons/solid/solid-rating-icon.d.ts +1 -0
  97. package/dist/icons/solid/solid-tag-icon.d.ts +1 -0
  98. package/dist/icons/solid/solid-trash-icon.d.ts +1 -0
  99. package/dist/icons/solid/solid-updateuser-icon.d.ts +1 -0
  100. package/dist/icons/solid/solid-vote-thumbsdown-icon.d.ts +1 -0
  101. package/dist/icons/solid/solid-vote-thumbsup-icon.d.ts +1 -0
  102. package/dist/icons/stroke/stroke-attention-icon.d.ts +1 -0
  103. package/dist/icons/stroke/stroke-business-icon.d.ts +1 -0
  104. package/dist/icons/stroke/stroke-cart-icon.d.ts +1 -0
  105. package/dist/icons/stroke/stroke-categories-icon.d.ts +1 -0
  106. package/dist/icons/stroke/stroke-checkmark-icon.d.ts +1 -0
  107. package/dist/icons/stroke/stroke-clock-icon.d.ts +1 -0
  108. package/dist/icons/stroke/stroke-close-icon.d.ts +1 -0
  109. package/dist/icons/stroke/stroke-closebox-icon.d.ts +1 -0
  110. package/dist/icons/stroke/stroke-closemenu-icon.d.ts +1 -0
  111. package/dist/icons/stroke/stroke-collapse-icon.d.ts +1 -0
  112. package/dist/icons/stroke/stroke-dehashed-icon.d.ts +1 -0
  113. package/dist/icons/stroke/stroke-download-icon.d.ts +1 -0
  114. package/dist/icons/stroke/stroke-expand-icon.d.ts +1 -0
  115. package/dist/icons/stroke/stroke-favorite-icon.d.ts +1 -0
  116. package/dist/icons/stroke/stroke-filter-icon.d.ts +1 -0
  117. package/dist/icons/stroke/stroke-hashed-icon.d.ts +1 -0
  118. package/dist/icons/stroke/stroke-home-icon.d.ts +1 -0
  119. package/dist/icons/stroke/stroke-information-icon.d.ts +1 -0
  120. package/dist/icons/stroke/stroke-login-icon.d.ts +1 -0
  121. package/dist/icons/stroke/stroke-menu-icon.d.ts +1 -0
  122. package/dist/icons/stroke/stroke-notice-icon.d.ts +1 -0
  123. package/dist/icons/stroke/stroke-okay-icon.d.ts +1 -0
  124. package/dist/icons/stroke/stroke-rating-icon.d.ts +1 -0
  125. package/dist/icons/stroke/stroke-recent-icon.d.ts +1 -0
  126. package/dist/icons/stroke/stroke-search-icon.d.ts +1 -0
  127. package/dist/icons/stroke/stroke-tag-icon.d.ts +1 -0
  128. package/dist/icons/stroke/stroke-trash-icon.d.ts +1 -0
  129. package/dist/icons/stroke/stroke-updateuser-icon.d.ts +1 -0
  130. package/dist/icons/stroke/stroke-vote-thumbsdown-icon.d.ts +1 -0
  131. package/dist/icons/stroke/stroke-vote-thumbsup-icon.d.ts +1 -0
  132. package/dist/index.d.ts +11 -26
  133. package/dist/index.js +479 -224
  134. package/dist/lists/product-overview-grid/product-overview-grid.stories.d.ts +1 -0
  135. package/dist/loading/loading-overlay.d.ts +1 -0
  136. package/dist/loading/progress-circle.d.ts +4 -0
  137. package/dist/loading/progress-circle.stories.d.ts +12 -0
  138. package/dist/media/image/image.stories.d.ts +1 -0
  139. package/dist/pages/page/page.stories.d.ts +1 -0
  140. package/dist/pages/page-container/page-container.stories.d.ts +1 -0
  141. package/dist/pages/product-listing-page/product-listing-page.d.ts +1 -1
  142. package/dist/pages/product-listing-page/product-listing-page.stories.d.ts +1 -0
  143. package/dist/shared/api/bff/hooks/use-fetch-product-listing-page-data.stories.d.ts +1 -0
  144. package/dist/shared/api/shop/hooks/cart/cart.stories.d.ts +1 -0
  145. package/dist/shared/routing/route-provider.stories.d.ts +1 -0
  146. package/dist/styles.css +283 -117
  147. package/dist/typography/heading/heading.stories.d.ts +1 -0
  148. package/package.json +4 -1
  149. package/dist/icons/arrows/chrevron-down-bold.d.ts +0 -1
  150. package/dist/icons/arrows/chrevron-down-slim.d.ts +0 -1
  151. package/dist/icons/arrows/left-arrow-filled-icon.d.ts +0 -1
  152. package/dist/icons/arrows/right-arrow-filled-icon.d.ts +0 -1
  153. package/dist/icons/arrows/text-aligned-arrow-icon.d.ts +0 -1
  154. package/dist/icons/cart/cart-filled-icon.d.ts +0 -1
  155. package/dist/icons/cart/cart-outlined-icon.d.ts +0 -1
  156. package/dist/icons/checkmark/checkmark-filled-icon.d.ts +0 -1
  157. package/dist/icons/chevrons/chevron-left-filled-icon.d.ts +0 -1
  158. package/dist/icons/chevrons/chevron-right-filled-icon.d.ts +0 -1
  159. package/dist/icons/close/close-filled-icon.d.ts +0 -1
  160. package/dist/icons/dehashed/dehashed-outlined-icon.d.ts +0 -1
  161. package/dist/icons/favorite/favorite-filled-icon.d.ts +0 -1
  162. package/dist/icons/favorite/favorite-outlined-icon.d.ts +0 -1
  163. package/dist/icons/filter/filter-outlined-icon.d.ts +0 -1
  164. package/dist/icons/hashed/hashed-outlined-icon.d.ts +0 -1
  165. package/dist/icons/home/home-filled-icon.d.ts +0 -1
  166. package/dist/icons/magnifying-glass/magnifying-glass-icon.d.ts +0 -1
  167. package/dist/icons/math/minus-filled-icon.d.ts +0 -1
  168. package/dist/icons/math/plus-filled-icon.d.ts +0 -1
  169. package/dist/icons/reset/reset-icon.d.ts +0 -1
  170. package/dist/icons/trash/trash-outlined-icon.d.ts +0 -1
package/dist/index.js CHANGED
@@ -552,30 +552,30 @@ function RouteButton({ children, ...props }) {
552
552
  }, ...props, children: children }));
553
553
  }
554
554
 
555
- function ChevronLeftFilledIcon(props) {
556
- return (jsx("svg", { height: "13", viewBox: "0 0 13 13", width: "13", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "m3.889 6 5.025-5c.19.082.378.198.562.35.184.15.359.332.524.544L5.84 5.988 10 9.996c-.17.216-.344.407-.524.573-.18.166-.367.31-.562.431L3.889 6z", fill: "currentColor", fillRule: "evenodd" }) }));
555
+ function GlyphsChevronsSlimLeftIcon(props) {
556
+ 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: "M3,6 L7.93354971,1 C8.12109594,1.08169007 8.30512588,1.19817561 8.48563954,1.34945663 C8.6661532,1.50073764 8.83760669,1.68216803 9,1.89374779 L4.91652188,5.98800959 L9,9.9960307 C8.83350762,10.2121071 8.66205413,10.4031847 8.48563954,10.5692635 C8.30922495,10.7353424 8.12519501,10.8789212 7.93354971,11 L3,6 Z", fillRule: "evenodd" }) }));
557
557
  }
558
558
 
559
- function HomeFilledIcon(props) {
560
- return (jsx("svg", { viewBox: "0 0 14 14", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M8.773 12.833a.392.392 0 0 1-.391-.391v-3.34h-2.93v3.34a.392.392 0 0 1-.392.391H2.142a.392.392 0 0 1-.392-.391V5.714c0-.113.05-.221.134-.295L6.66 1.263a.392.392 0 0 1 .515 0l4.774 4.156a.392.392 0 0 1 .135.295v6.728a.392.392 0 0 1-.392.391H8.773z", fill: "currentColor", fillRule: "evenodd" }) }));
559
+ function SolidHomeIcon(props) {
560
+ 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" }) }));
561
561
  }
562
562
 
563
- var styles$C = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
563
+ var styles$G = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
564
564
 
565
565
  function BreadcrumbShort({ links }) {
566
566
  const homeLink = links[0];
567
567
  const previousLink = links[links.length - 2];
568
- return (jsx(Breadcrumbs, { className: styles$C.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$C.breadcrumb, children: jsxs(RouteLink, { className: styles$C.link, isDisabled: false, children: [jsx(ChevronLeftFilledIcon, { className: styles$C.icon }), previousLink === undefined || previousLink === homeLink ? (jsx(HomeFilledIcon, { className: styles$C.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
568
+ return (jsx(Breadcrumbs, { className: styles$G.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$G.breadcrumb, children: jsxs(RouteLink, { className: styles$G.link, isDisabled: false, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: styles$G.icon }), previousLink === undefined || previousLink === homeLink ? (jsx(SolidHomeIcon, { className: styles$G.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
569
569
  }
570
570
  function BreadcrumbLongItem({ index, isDisabled, link, }) {
571
- return (jsx(Breadcrumb$1, { className: styles$C.breadcrumb, children: jsxs(RouteLink, { className: styles$C.link, href: link.href, isDisabled: isDisabled, children: [jsx(ChevronLeftFilledIcon, { className: clsx(styles$C['previous-icon'], styles$C.icon) }), link.label] }) }, index));
571
+ return (jsx(Breadcrumb$1, { className: styles$G.breadcrumb, children: jsxs(RouteLink, { className: styles$G.link, href: link.href, isDisabled: isDisabled, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: clsx(styles$G['previous-icon'], styles$G.icon) }), link.label] }) }, index));
572
572
  }
573
573
  function BreadcrumbLong({ links }) {
574
574
  const linksWithoutFirst = links.slice(1);
575
575
  const homeLink = links[0];
576
576
  if (!homeLink)
577
577
  return null;
578
- return (jsxs(Breadcrumbs, { className: styles$C.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$C.breadcrumb, children: jsx(RouteLink, { className: styles$C.link, href: homeLink.href, children: jsx(HomeFilledIcon, { className: clsx(styles$C['home-icon'], styles$C.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
578
+ return (jsxs(Breadcrumbs, { className: styles$G.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$G.breadcrumb, children: jsx(RouteLink, { className: styles$G.link, href: homeLink.href, children: jsx(SolidHomeIcon, { className: clsx(styles$G['home-icon'], styles$G.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
579
579
  }
580
580
  function Breadcrumb({ links }) {
581
581
  const { lg } = useBreakpoint();
@@ -584,64 +584,64 @@ function Breadcrumb({ links }) {
584
584
  return lg ? BreadcrumbLong({ links }) : BreadcrumbShort({ links });
585
585
  }
586
586
 
587
- function TextAlignedArrowIcon(props) {
588
- return (jsx("svg", { height: "11", viewBox: "0 0 6 11", width: "6", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M.267 11a.263.263 0 0 1-.226-.402l3.463-5.467a1.2 1.2 0 0 0-.103-1.43L.602.432A.262.262 0 0 1 .805 0h2.181c.078 0 .153.034.203.093l2.081 2.43a3 3 0 0 1 .259 3.575L2.5 10.877a.267.267 0 0 1-.225.123H.266z", fill: "currentColor", fillRule: "evenodd" }) }));
587
+ function GlyphsArrowBoldCapsRightIcon(props) {
588
+ 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" }) }));
589
589
  }
590
590
 
591
- var styles$B = {"button":"button-module-V4meK","icon":"button-module-XaNWz","sm":"button-module-Pbwz7","md":"button-module-GVTEW","condensed":"button-module-GKHQc","lg":"button-module-nyNY8","primary":"button-module-tmyk8","outline":"button-module-vq9GI","solid":"button-module-AjvlY","hover":"button-module-YzPAr","focus":"button-module--xzsY","active":"button-module-XMFzj","ghost":"button-module-f4UVe","right-arrow-icon":"button-module-ydQAo","secondary":"button-module--1bCH"};
591
+ var styles$F = {"button":"button-module-V4meK","icon":"button-module-XaNWz","sm":"button-module-Pbwz7","md":"button-module-GVTEW","condensed":"button-module-GKHQc","lg":"button-module-nyNY8","primary":"button-module-tmyk8","outline":"button-module-vq9GI","solid":"button-module-AjvlY","hover":"button-module-YzPAr","focus":"button-module--xzsY","active":"button-module-XMFzj","ghost":"button-module-f4UVe","right-arrow-icon":"button-module-ydQAo","secondary":"button-module--1bCH"};
592
592
 
593
593
  function Button({ _pseudo = 'none', children, className, color = 'primary', condensed, icon, iconPosition = 'left', isDisabled, onPress, size = 'lg', type = 'button', variant = 'solid', withArrow = false, }) {
594
- return (jsxs(Button$1, { className: clsx(className, styles$B.button, styles$B[variant], styles$B[size], styles$B[color], { [styles$B.condensed]: condensed }, { [styles$B.icon]: icon }, styles$B[_pseudo]), isDisabled: isDisabled,
594
+ return (jsxs(Button$1, { className: clsx(className, styles$F.button, styles$F[variant], styles$F[size], styles$F[color], { [styles$F.condensed]: condensed }, { [styles$F.icon]: icon }, styles$F[_pseudo]), isDisabled: isDisabled,
595
595
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
596
596
  // @ts-ignore
597
- onClick: e => e.preventDefault(), onPress: onPress, type: type, children: [icon && iconPosition === 'left' && (jsx("span", { className: styles$B.icon, children: icon })), children, withArrow && (jsx(TextAlignedArrowIcon, { className: styles$B['right-arrow-icon'] })), icon && iconPosition === 'right' && (jsx("span", { className: styles$B.icon, children: icon }))] }));
597
+ onClick: e => e.preventDefault(), onPress: onPress, type: type, children: [icon && iconPosition === 'left' && (jsx("span", { className: styles$F.icon, children: icon })), children, withArrow && (jsx(GlyphsArrowBoldCapsRightIcon, { className: styles$F['right-arrow-icon'] })), icon && iconPosition === 'right' && (jsx("span", { className: styles$F.icon, children: icon }))] }));
598
598
  }
599
599
 
600
- var styles$A = {"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"};
600
+ var styles$E = {"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"};
601
601
 
602
602
  function IconButton({ children, className, color = 'primary', isDisabled, onPress, size = 'md', type = 'button', }) {
603
- return (jsx(Button$1, { className: clsx(styles$A['icon-button'], styles$A[size], styles$A[color], className), isDisabled: isDisabled,
603
+ return (jsx(Button$1, { className: clsx(styles$E['icon-button'], styles$E[size], styles$E[color], className), isDisabled: isDisabled,
604
604
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
605
605
  // @ts-expect-error
606
606
  onClick: e => e.preventDefault(), onPress: onPress, type: type, children: children }));
607
607
  }
608
608
 
609
- function FavoriteFilledIcon(props) {
610
- return (jsx("svg", { height: "24", viewBox: "0 0 24 24", width: "24", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M12 22a.667.667 0 0 1-.534-.267L3.227 10.72C2.411 9.599 2 8.46 2 7.327A5.336 5.336 0 0 1 7.333 2c1.892 0 3.669.982 4.667 2.468C12.998 2.982 14.775 2 16.667 2 19.607 2 22 4.39 22 7.327c0 1.133-.411 2.272-1.222 3.387l-8.244 11.019A.667.667 0 0 1 12 22", fill: "currentColor", fillRule: "evenodd" }) }));
609
+ function SolidFavoriteIcon(props) {
610
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M11.9999248,22 L11.9999248,22 C11.7899542,22 11.5920163,21.9009968 11.4662746,21.7328866 L3.22733528,10.7206953 C2.41121748,9.59905954 2,8.45954615 2,7.32679321 C2,4.3895979 4.39255176,2 7.33334336,2 C9.22503403,2 11.0018124,2.98206975 12.0000752,4.46801926 C12.9980372,2.98206975 14.774966,2 16.6666566,2 C19.6074482,2 22,4.3895979 22,7.32679321 C22,8.45969638 21.5889329,9.59920978 20.777929,10.7136343 L12.533575,21.7328866 C12.4078333,21.9009968 12.2098954,22 11.9999248,22", fillRule: "evenodd" }) }));
611
611
  }
612
612
 
613
- function FavoriteOutlinedIcon(props) {
614
- return (jsx("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M7.333 3.33c-2.206 0-4 1.793-4 3.997 0 .857.316 1.71.967 2.604L12 20.223l7.705-10.299c.646-.888.962-1.74.962-2.597a4.003 4.003 0 0 0-4-3.996c-1.813 0-3.545 1.232-4.028 2.865a.666.666 0 0 1-1.278 0C10.878 4.563 9.146 3.33 7.333 3.33M12 22c-.21 0-.408-.1-.534-.267L3.227 10.72C2.411 9.599 2 8.46 2 7.327A5.336 5.336 0 0 1 7.333 2c1.892 0 3.669.982 4.667 2.468C12.998 2.982 14.775 2 16.667 2 19.607 2 22 4.39 22 7.327c0 1.133-.411 2.272-1.222 3.387l-8.245 11.019A.667.667 0 0 1 12 22", fill: "currentColor", fillRule: "evenodd" }) }));
613
+ function StrokeFavoriteIcon(props) {
614
+ 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" }) }));
615
615
  }
616
616
 
617
- var styles$z = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
617
+ var styles$D = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
618
618
 
619
619
  function FavoriteButton({ isFavorite, onPress }) {
620
- return (jsx(IconButton, { className: clsx(styles$z['favorite-button'], {
621
- [styles$z['is-favorite']]: isFavorite,
622
- }), color: "secondary", onPress: onPress, children: isFavorite ? jsx(FavoriteFilledIcon, {}) : jsx(FavoriteOutlinedIcon, {}) }));
620
+ return (jsx(IconButton, { className: clsx(styles$D['favorite-button'], {
621
+ [styles$D['is-favorite']]: isFavorite,
622
+ }), color: "secondary", onPress: onPress, children: isFavorite ? jsx(SolidFavoriteIcon, {}) : jsx(StrokeFavoriteIcon, {}) }));
623
623
  }
624
624
 
625
- var styles$y = {"link-button":"link-button-module-6i75g"};
625
+ var styles$C = {"link-button":"link-button-module-6i75g"};
626
626
 
627
627
  function LinkButton({ children, className, href, isDisabled, onPress, route, target, type = href ? 'link' : 'button', }) {
628
628
  if (type === 'link') {
629
- return (jsx(RouteLink, { className: clsx(styles$y['link-button'], className), href: href, isDisabled: isDisabled, onPress: onPress, route: route, target: target, children: children }));
629
+ return (jsx(RouteLink, { className: clsx(styles$C['link-button'], className), href: href, isDisabled: isDisabled, onPress: onPress, route: route, target: target, children: children }));
630
630
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
631
631
  }
632
632
  else if (type === 'button') {
633
- return (jsx(RouteButton, { className: clsx(styles$y['link-button'], className), href: href, isDisabled: isDisabled, onPress: onPress, route: route, type: "button", children: children }));
633
+ return (jsx(RouteButton, { className: clsx(styles$C['link-button'], className), href: href, isDisabled: isDisabled, onPress: onPress, route: route, type: "button", children: children }));
634
634
  }
635
635
  throw new Error('Invalid type ${type} for LinkButton component');
636
636
  }
637
637
 
638
- var styles$x = {"field-error":"field-error-module-FXnIg"};
638
+ var styles$B = {"field-error":"field-error-module-FXnIg"};
639
639
 
640
640
  function FieldError({ children }) {
641
- return (jsx(FieldError$1, { className: styles$x['field-error'], children: children }));
641
+ return (jsx(FieldError$1, { className: styles$B['field-error'], children: children }));
642
642
  }
643
643
 
644
- var styles$w = {"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"};
644
+ var styles$A = {"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"};
645
645
 
646
646
  /**
647
647
  * This component is used to create an input that grows as the user types.
@@ -656,34 +656,35 @@ const Input = forwardRef(({ _pseudo = 'none', autoGrow, size = 'lg', ...inputPro
656
656
  const handleChange = (event) => isControlled
657
657
  ? onChange?.(event)
658
658
  : setUncontrolledValue(event.target.value);
659
- return (jsx("div", { className: clsx(styles$w['input-container'], styles$w[size], styles$w[_pseudo]), children: jsxs("div", { className: clsx({ [styles$w['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ref: ref, onChange: handleChange, onClick: e => {
659
+ return (jsx("div", { className: clsx(styles$A['input-container'], styles$A[size], styles$A[_pseudo]), children: jsxs("div", { className: clsx({ [styles$A['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ref: ref, onChange: handleChange, onClick: e => {
660
660
  e.preventDefault();
661
+ e.stopPropagation();
661
662
  e.target.focus();
662
- } }), autoGrow && jsx("span", { className: styles$w['shadow-input'], children: value })] }) }));
663
+ } }), autoGrow && jsx("span", { className: styles$A['shadow-input'], children: value })] }) }));
663
664
  });
664
665
  Input.displayName = 'Input';
665
666
 
666
- var styles$v = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
667
+ var styles$z = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
667
668
 
668
669
  function Label({ children, isRequired }) {
669
670
  if (!children)
670
671
  return null;
671
- return (jsxs(Label$1, { className: styles$v.label, children: [children, isRequired && jsx("span", { className: styles$v.required, children: "*" })] }));
672
+ return (jsxs(Label$1, { className: styles$z.label, children: [children, isRequired && jsx("span", { className: styles$z.required, children: "*" })] }));
672
673
  }
673
674
 
674
- function MinusFilledIcon(props) {
675
- return (jsx("svg", { height: "2", viewBox: "0 0 8 2", width: "8", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M.12 0S0 .263 0 .668c0 .406.12.669.12.669h7.784S8 1.074 8 .668C8 .263 7.904 0 7.904 0H.12z", fill: "currentColor", fillRule: "nonzero" }) }));
675
+ function StrokeCollapseIcon(props) {
676
+ 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: "M18,12 C18,12.5522847 17.5522847,13 17,13 L7,13 C6.44771525,13 6,12.5522847 6,12 C6,11.4477153 6.44771525,11 7,11 L17,11 C17.5522847,11 18,11.4477153 18,12 Z" }) }));
676
677
  }
677
678
 
678
- function PlusFilledIcon(props) {
679
- return (jsx("svg", { height: "8", viewBox: "0 0 8 8", width: "8", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M4.68.12S4.395 0 4.013 0c-.406 0-.693.12-.693.12v3.223H.12S0 3.606 0 4.012s.12.669.12.669h3.2v3.223S3.605 8 4.011 8c.406 0 .669-.096.669-.096V4.681h3.223S8 4.418 8 4.01c0-.405-.096-.668-.096-.668H4.681V.12z", fill: "currentColor", fillRule: "nonzero" }) }));
679
+ function StrokeExpandIcon(props) {
680
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M12,6 C12.5522847,6 13,6.44771525 13,7 L13,11 L17,11 C17.5522847,11 18,11.4477153 18,12 C18,12.5522847 17.5522847,13 17,13 L13,13 L13,17 C13,17.5128358 12.6139598,17.9355072 12.1166211,17.9932723 L12,18 C11.4477153,18 11,17.5522847 11,17 L11,13 L7,13 C6.44771525,13 6,12.5522847 6,12 C6,11.4477153 6.44771525,11 7,11 L11,11 L11,7 C11,6.44771525 11.4477153,6 12,6 Z" }) }));
680
681
  }
681
682
 
682
- function TrashOutlinedIcon(props) {
683
- return (jsx("svg", { height: "16", viewBox: "0 0 16 16", width: "16", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M5.182 4.03h.866V2.744c0-.18.058-.324.174-.433a.644.644 0 0 1 .46-.163h2.202c.195 0 .35.055.464.163a.57.57 0 0 1 .17.433V4.03h.872V2.696c0-.424-.13-.757-.39-1-.259-.242-.613-.363-1.063-.363H6.629c-.45 0-.803.121-1.06.364-.258.242-.387.575-.387.999v1.333zm-2.776.433h10.765c.112 0 .208-.04.287-.122a.407.407 0 0 0 .118-.295.4.4 0 0 0-.118-.29.387.387 0 0 0-.287-.121H2.406a.39.39 0 0 0-.284.121.395.395 0 0 0-.122.29.4.4 0 0 0 .122.295c.081.081.176.122.284.122zm2.64 10.204h5.49c.411 0 .747-.126 1.009-.379.261-.252.402-.585.422-.999l.437-8.937h-.88l-.419 8.852a.658.658 0 0 1-.197.455.631.631 0 0 1-.46.18H5.123a.62.62 0 0 1-.454-.183.662.662 0 0 1-.198-.452l-.435-8.851H3.18l.43 8.942c.021.414.162.746.423.996.26.25.599.376 1.013.376zm.955-1.909c.105 0 .19-.03.254-.09a.295.295 0 0 0 .09-.237l-.19-6.519a.32.32 0 0 0-.1-.232.344.344 0 0 0-.244-.088.344.344 0 0 0-.25.091.315.315 0 0 0-.094.237l.19 6.512c.004.1.037.18.099.239a.343.343 0 0 0 .245.087zm1.79 0c.106 0 .19-.03.254-.09a.311.311 0 0 0 .096-.237V5.92a.311.311 0 0 0-.096-.237.353.353 0 0 0-.253-.09c-.105 0-.19.03-.256.09a.306.306 0 0 0-.099.237v6.51c0 .098.033.177.1.238.065.06.15.09.255.09zm1.785.001c.102 0 .183-.03.246-.088a.323.323 0 0 0 .098-.232l.19-6.518a.314.314 0 0 0-.093-.237.346.346 0 0 0-.25-.09c-.1 0-.182.029-.245.087a.326.326 0 0 0-.1.238l-.19 6.513c0 .097.031.175.093.236.062.06.146.091.25.091z", fill: "currentColor", fillRule: "nonzero" }) }));
683
+ function StrokeTrashIcon(props) {
684
+ 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" }) }));
684
685
  }
685
686
 
686
- var styles$u = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
687
+ var styles$y = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
687
688
 
688
689
  /**
689
690
  * This component is used to create a number field.
@@ -691,20 +692,20 @@ var styles$u = {"field":"number-field-module-gmnog","button-input-container":"nu
691
692
  */
692
693
  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, }) {
693
694
  const inputRef = useRef(null);
694
- return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$u.field, styles$u[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$u['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
695
+ return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$y.field, styles$y[size]), defaultValue: defaultValue, formatOptions: formatOptions, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxValue: maxValue, minValue: minValue, name: name, onChange: onChange, onInput: onInput, value: value, children: [showLabel && jsx(Label, { isRequired: isRequired, children: label }), jsxs("div", { className: styles$y['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
695
696
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
696
697
  // @ts-expect-error
697
- onClick: e => e.preventDefault(), onPressStart: e => e.target.focus(), slot: "decrement", children: (value || 0) <= 1 ? jsx(TrashOutlinedIcon, {}) : jsx(MinusFilledIcon, {}) })), 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,
698
+ 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,
698
699
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
699
700
  // @ts-expect-error
700
- onClick: e => e.preventDefault(), onPressStart: e => e.target.focus(), slot: "increment", children: jsx(PlusFilledIcon, {}) }))] }), jsx(FieldError, {})] }));
701
+ onClick: e => e.preventDefault(), onPressStart: e => e.target.focus(), slot: "increment", children: jsx(StrokeExpandIcon, {}) }))] }), jsx(FieldError, {})] }));
701
702
  }
702
703
 
703
- function CartFilledIcon(props) {
704
- return (jsx("svg", { height: "24", viewBox: "0 0 24 24", width: "24", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M7.896 16.666a2.603 2.603 0 1 1 0 5.207 2.603 2.603 0 0 1 0-5.207zm8.925 0a2.603 2.603 0 1 1 0 5.207 2.603 2.603 0 0 1 0-5.207zM7.896 18.1c-.645 0-1.17.524-1.17 1.169s.525 1.17 1.17 1.17a1.171 1.171 0 0 0 0-2.34zm8.925 0c-.645 0-1.17.524-1.17 1.169s.525 1.17 1.17 1.17a1.171 1.171 0 0 0 0-2.34zM4.589 3c.016 0 .032.004.048.005a.714.714 0 0 1 .146.025l.05.016a.7.7 0 0 1 .083.037l.04.021a.712.712 0 0 1 .076.053l.035.03a.699.699 0 0 1 .168.223.703.703 0 0 1 .061.209c.002.014.007.027.008.042l.207 2.646h15.776c.027.001.05.006.073.008.026.003.052.004.077.01.022.004.036.011.05.016.03.008.058.016.085.028.02.009.037.02.056.03.022.012.044.024.065.038.019.013.035.029.053.044.017.015.036.029.052.046.015.016.028.034.042.051.015.019.03.037.044.057.011.018.02.038.03.057.012.021.024.042.033.065.009.022.014.044.021.067.006.022.014.043.018.066.006.027.007.054.009.081.001.018.005.035.005.053-.001.031-.005.054-.008.077-.003.026-.004.052-.01.077l-1.39 6.054-.004.017a.698.698 0 0 1-.033.1l-.008.024a.716.716 0 0 1-.06.11l-.024.03a.707.707 0 0 1-.057.07l-.035.033a.695.695 0 0 1-.175.117l-.048.022a.723.723 0 0 1-.083.026c-.014.003-.027.008-.041.01a.707.707 0 0 1-.134.014H6.096l.112 1.427H19.41a.717.717 0 0 1 0 1.434H5.544a.714.714 0 0 1-.14-.015c-.015-.003-.03-.008-.044-.012-.03-.008-.06-.016-.087-.027-.018-.008-.034-.017-.05-.026-.024-.012-.048-.023-.07-.037-.016-.011-.03-.024-.046-.036-.02-.016-.04-.03-.058-.048-.015-.014-.027-.03-.04-.044-.017-.02-.033-.038-.048-.058-.012-.017-.021-.034-.032-.052a.678.678 0 0 1-.035-.065c-.009-.02-.016-.04-.023-.06a.715.715 0 0 1-.033-.136l-.008-.045-.904-11.571H2.717a.717.717 0 1 1 0-1.434z", fill: "currentColor", fillRule: "evenodd" }) }));
704
+ function SolidCartIcon(props) {
705
+ 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" }) }));
705
706
  }
706
707
 
707
- var styles$t = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
708
+ var styles$x = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
708
709
 
709
710
  function AddToCartButton({ initialState = 'initial', isDisabled = false, onChange, quantity, }) {
710
711
  const [currentState, setState] = useState(initialState);
@@ -740,10 +741,10 @@ function AddToCartButton({ initialState = 'initial', isDisabled = false, onChang
740
741
  }, quantity: quantity }));
741
742
  return (jsx(ManualInputState, { isDisabled: isDisabled, onCancel: () => setState('spinner'), onConfirm: value => {
742
743
  onChange(value);
743
- }, quantity: manualInputQuantity || 0 }));
744
+ }, quantity: manualInputQuantity || '' }));
744
745
  }
745
746
  function InitialState({ isDisabled, onAddToCart, }) {
746
- return (jsx(Button, { condensed: true, icon: jsx(CartFilledIcon, {}), isDisabled: isDisabled, onPress: onAddToCart, size: "md" }));
747
+ return (jsx(Button, { condensed: true, icon: jsx(SolidCartIcon, {}), isDisabled: isDisabled, onPress: onAddToCart, size: "md" }));
747
748
  }
748
749
  const ensureNumber = (value) => {
749
750
  if (typeof value === 'number')
@@ -783,20 +784,20 @@ function SpinnerState({ isDisabled, onChange, onManualInput, quantity, }) {
783
784
  }
784
785
  onDebouncedChange(quantity);
785
786
  }, onInput: e => {
786
- onManualInput(ensureNumber(e.target.value));
787
+ onManualInput(e.target.value);
787
788
  }, showLabel: false, size: "md", value: internalQuantity }));
788
789
  }
789
790
  function ManualInputState({ isDisabled, onCancel, onConfirm, quantity, }) {
790
791
  const [updatedQuantity, setQuantity] = useState(quantity);
791
792
  const onKeyUp = (e) => {
792
- e.key === 'Enter' && onConfirm(updatedQuantity);
793
+ e.key === 'Enter' && onConfirm(ensureNumber(updatedQuantity));
793
794
  e.key === 'Escape' && onCancel();
794
795
  };
795
- return (jsxs("div", { className: styles$t['manual-input-container'], children: [jsx("div", { className: styles$t['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity, formatOptions: {
796
+ return (jsxs("div", { className: styles$x['manual-input-container'], children: [jsx("div", { className: styles$x['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
796
797
  maximumFractionDigits: 0,
797
798
  style: 'decimal',
798
799
  useGrouping: false,
799
- }, isDisabled: isDisabled, label: "Quantity", maxLength: 4, maxValue: 9999, minValue: 0, name: "quantity", onChange: setQuantity, onKeyUp: onKeyUp, showLabel: false, size: "md" }), jsx(Button, { condensed: true, isDisabled: isDisabled, onPress: () => onConfirm(updatedQuantity), size: "md", children: "OK" })] }));
800
+ }, isDisabled: isDisabled, label: "Quantity", maxLength: 4, maxValue: 9999, minValue: 0, name: "quantity", onChange: value => setQuantity(String(value)), onKeyUp: onKeyUp, showLabel: false, size: "md" }), jsx(Button, { condensed: true, isDisabled: isDisabled, onPress: () => onConfirm(ensureNumber(updatedQuantity)), size: "md", children: "OK" })] }));
800
801
  }
801
802
 
802
803
  const ConnectedAddToCartButton = ({ productId }) => {
@@ -841,12 +842,12 @@ const ConnectedAddToCartButton = ({ productId }) => {
841
842
  return (jsx(AddToCartButton, { isDisabled: isPendingDeleteCartLine || isLoadingCartLines || isPendingAddToCart, onChange: handleChange, quantity: quantity }));
842
843
  };
843
844
 
844
- var styles$s = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
845
+ var styles$w = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
845
846
 
846
847
  function Tag({ children }) {
847
848
  if (!children)
848
849
  return null;
849
- return (jsxs("div", { className: styles$s.tag, children: [jsx("div", { className: styles$s.body, children: children }), jsx("svg", { className: styles$s.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" }) })] }));
850
+ return (jsxs("div", { className: styles$w.tag, children: [jsx("div", { className: styles$w.body, children: children }), jsx("svg", { className: styles$w.shape, height: "16", viewBox: "0 0 9 16", width: "9", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1.92461763,0 L0,0 L0,16 L1.92461763,16 L6.4117887,16 L8.87489381,7.57121588 C9.23711515,6.3325062 8.79482383,4.99454094 7.78060408,4.2560794 L1.92461763,0 Z", fill: "currentColor" }) })] }));
850
851
  }
851
852
 
852
853
  const IntlContext = createContext({
@@ -882,7 +883,7 @@ function useFormattedMessage() {
882
883
 
883
884
  const FormattedMessage = ({ fallbackValue, id, optional, replacementValues, }) => useFormattedMessage()(id, { fallbackValue, optional, replacementValues });
884
885
 
885
- var styles$r = {"product-price":"product-price-module-oIU1K","original-price":"product-price-module-til0s","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"};
886
+ var styles$v = {"product-price":"product-price-module-oIU1K","original-price":"product-price-module-til0s","is-hidden":"product-price-module-V1NCf","current-price-wrapper":"product-price-module-FfVhl","current-price":"product-price-module-pvy2w","wholes":"product-price-module-GCw07","dot":"product-price-module-N56iV","decimals":"product-price-module-eWOOF","vat":"product-price-module-96DoG"};
886
887
 
887
888
  const formatPrice = (price) => new Intl.NumberFormat('en-US', {
888
889
  maximumFractionDigits: 2,
@@ -894,16 +895,19 @@ function ProductPrice({ className, isVatIncluded, originalPrice, price, }) {
894
895
  const originalPriceWithCurrency = formatPrice(!isNaN(originalPrice) ? originalPrice : price);
895
896
  const priceWithCurrency = formatPrice(price);
896
897
  const [wholes, decimals] = priceWithCurrency.split('.');
897
- return (jsxs("div", { className: clsx(className, styles$r['product-price']), children: [priceWithCurrency !== originalPriceWithCurrency && (jsx("span", { className: styles$r['original-price'], children: originalPriceWithCurrency })), jsxs("div", { className: styles$r['current-price-wrapper'], children: [jsxs("div", { className: styles$r['current-price'], children: [jsx("span", { className: styles$r.wholes, children: wholes }), jsx("span", { className: styles$r.dot, children: "." }), jsx("span", { className: styles$r.decimals, children: decimals })] }), jsx("span", { className: styles$r.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
898
+ const showOriginalPrice = priceWithCurrency !== originalPriceWithCurrency;
899
+ return (jsxs("div", { className: clsx(className, styles$v['product-price']), children: [jsx("span", { className: clsx(styles$v['original-price'], {
900
+ [styles$v['is-hidden']]: !showOriginalPrice,
901
+ }), children: originalPriceWithCurrency }), jsxs("div", { className: styles$v['current-price-wrapper'], children: [jsxs("div", { className: styles$v['current-price'], children: [jsx("span", { className: styles$v.wholes, children: wholes }), jsx("span", { className: styles$v.dot, children: "." }), jsx("span", { className: styles$v.decimals, children: decimals })] }), jsx("span", { className: styles$v.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
898
902
  }
899
903
 
900
- var styles$q = {"product-sku":"product-sku-module-ITb8x"};
904
+ var styles$u = {"product-sku":"product-sku-module-ITb8x"};
901
905
 
902
906
  function ProductSku({ sku }) {
903
- return jsx("p", { className: styles$q['product-sku'], children: sku });
907
+ return jsx("p", { className: styles$u['product-sku'], children: sku });
904
908
  }
905
909
 
906
- var styles$p = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B"};
910
+ var styles$t = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B"};
907
911
 
908
912
  const breakpointToWidth = {
909
913
  lg: 1440,
@@ -934,22 +938,14 @@ function Image({ alt, className, fallbackSrc = 'https://res.cloudinary.com/dkz9e
934
938
  setHasError(true);
935
939
  };
936
940
  return (jsx("img", { alt: alt, className: clsx({
937
- [styles$p['has-error']]: hasError,
938
- }, styles$p.image, styles$p[fit], className), height: height, loading: loading, onError: handleError, sizes: sizesString, src: hasError ? fallbackSrc : src, srcSet: srcSet, title: title, width: width }));
941
+ [styles$t['has-error']]: hasError,
942
+ }, styles$t.image, styles$t[fit], className), height: height, loading: loading, onError: handleError, sizes: sizesString, src: hasError ? fallbackSrc : src, srcSet: srcSet, title: title, width: width }));
939
943
  }
940
944
 
941
- var styles$o = {"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"};
945
+ var styles$s = {"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"};
942
946
 
943
947
  function ProductCard({ addToCartButton: AddToCartButton, favoriteButton: FavoriteButton, href, image, price, sku, tags, title, }) {
944
- return (jsxs(RouteLink, { className: styles$o['product-card'], href: href, children: [jsx("div", { className: styles$o.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$o['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$o.content, children: [jsxs("div", { className: styles$o.top, children: [jsx("div", { className: styles$o.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$o.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$o.bottom, children: [jsx("div", { className: styles$o.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$o['add-to-cart-button'], children: AddToCartButton })] })] })] }));
945
- }
946
-
947
- var styles$n = {"category-card":"category-card-module-4NUjH","title":"category-card-module-LEhh3","is-selected":"category-card-module-vJ7vB","image-container":"category-card-module-oNTrK"};
948
-
949
- function CategoryCard({ href, image, isSelected = false, title, }) {
950
- return (jsxs(RouteLink, { className: clsx({
951
- [styles$n['is-selected']]: isSelected,
952
- }, styles$n['category-card']), href: href, children: [jsx("div", { className: styles$n['image-container'], children: jsx(Image, { ...image, fit: "contain" }) }), jsx("p", { className: styles$n.title, children: title })] }));
948
+ return (jsxs(RouteLink, { className: styles$s['product-card'], href: href, children: [jsx("div", { className: styles$s.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$s['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$s.content, children: [jsxs("div", { className: styles$s.top, children: [jsx("div", { className: styles$s.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$s.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$s.bottom, children: [jsx("div", { className: styles$s.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$s['add-to-cart-button'], children: AddToCartButton })] })] })] }));
953
949
  }
954
950
 
955
951
  /**
@@ -1345,6 +1341,16 @@ function elementParents(el, selector) {
1345
1341
  }
1346
1342
  return parents;
1347
1343
  }
1344
+ function elementTransitionEnd(el, callback) {
1345
+ function fireCallBack(e) {
1346
+ if (e.target !== el) return;
1347
+ callback.call(el, e);
1348
+ el.removeEventListener('transitionend', fireCallBack);
1349
+ }
1350
+ if (callback) {
1351
+ el.addEventListener('transitionend', fireCallBack);
1352
+ }
1353
+ }
1348
1354
  function elementOuterSize(el, size, includeMargins) {
1349
1355
  const window = getWindow();
1350
1356
  {
@@ -1352,6 +1358,240 @@ function elementOuterSize(el, size, includeMargins) {
1352
1358
  }
1353
1359
  }
1354
1360
 
1361
+ function freeMode(_ref) {
1362
+ let {
1363
+ swiper,
1364
+ extendParams,
1365
+ emit,
1366
+ once
1367
+ } = _ref;
1368
+ extendParams({
1369
+ freeMode: {
1370
+ enabled: false,
1371
+ momentum: true,
1372
+ momentumRatio: 1,
1373
+ momentumBounce: true,
1374
+ momentumBounceRatio: 1,
1375
+ momentumVelocityRatio: 1,
1376
+ sticky: false,
1377
+ minimumVelocity: 0.02
1378
+ }
1379
+ });
1380
+ function onTouchStart() {
1381
+ if (swiper.params.cssMode) return;
1382
+ const translate = swiper.getTranslate();
1383
+ swiper.setTranslate(translate);
1384
+ swiper.setTransition(0);
1385
+ swiper.touchEventsData.velocities.length = 0;
1386
+ swiper.freeMode.onTouchEnd({
1387
+ currentPos: swiper.rtl ? swiper.translate : -swiper.translate
1388
+ });
1389
+ }
1390
+ function onTouchMove() {
1391
+ if (swiper.params.cssMode) return;
1392
+ const {
1393
+ touchEventsData: data,
1394
+ touches
1395
+ } = swiper;
1396
+ // Velocity
1397
+ if (data.velocities.length === 0) {
1398
+ data.velocities.push({
1399
+ position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],
1400
+ time: data.touchStartTime
1401
+ });
1402
+ }
1403
+ data.velocities.push({
1404
+ position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],
1405
+ time: now()
1406
+ });
1407
+ }
1408
+ function onTouchEnd(_ref2) {
1409
+ let {
1410
+ currentPos
1411
+ } = _ref2;
1412
+ if (swiper.params.cssMode) return;
1413
+ const {
1414
+ params,
1415
+ wrapperEl,
1416
+ rtlTranslate: rtl,
1417
+ snapGrid,
1418
+ touchEventsData: data
1419
+ } = swiper;
1420
+ // Time diff
1421
+ const touchEndTime = now();
1422
+ const timeDiff = touchEndTime - data.touchStartTime;
1423
+ if (currentPos < -swiper.minTranslate()) {
1424
+ swiper.slideTo(swiper.activeIndex);
1425
+ return;
1426
+ }
1427
+ if (currentPos > -swiper.maxTranslate()) {
1428
+ if (swiper.slides.length < snapGrid.length) {
1429
+ swiper.slideTo(snapGrid.length - 1);
1430
+ } else {
1431
+ swiper.slideTo(swiper.slides.length - 1);
1432
+ }
1433
+ return;
1434
+ }
1435
+ if (params.freeMode.momentum) {
1436
+ if (data.velocities.length > 1) {
1437
+ const lastMoveEvent = data.velocities.pop();
1438
+ const velocityEvent = data.velocities.pop();
1439
+ const distance = lastMoveEvent.position - velocityEvent.position;
1440
+ const time = lastMoveEvent.time - velocityEvent.time;
1441
+ swiper.velocity = distance / time;
1442
+ swiper.velocity /= 2;
1443
+ if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {
1444
+ swiper.velocity = 0;
1445
+ }
1446
+ // this implies that the user stopped moving a finger then released.
1447
+ // There would be no events with distance zero, so the last event is stale.
1448
+ if (time > 150 || now() - lastMoveEvent.time > 300) {
1449
+ swiper.velocity = 0;
1450
+ }
1451
+ } else {
1452
+ swiper.velocity = 0;
1453
+ }
1454
+ swiper.velocity *= params.freeMode.momentumVelocityRatio;
1455
+ data.velocities.length = 0;
1456
+ let momentumDuration = 1000 * params.freeMode.momentumRatio;
1457
+ const momentumDistance = swiper.velocity * momentumDuration;
1458
+ let newPosition = swiper.translate + momentumDistance;
1459
+ if (rtl) newPosition = -newPosition;
1460
+ let doBounce = false;
1461
+ let afterBouncePosition;
1462
+ const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;
1463
+ let needsLoopFix;
1464
+ if (newPosition < swiper.maxTranslate()) {
1465
+ if (params.freeMode.momentumBounce) {
1466
+ if (newPosition + swiper.maxTranslate() < -bounceAmount) {
1467
+ newPosition = swiper.maxTranslate() - bounceAmount;
1468
+ }
1469
+ afterBouncePosition = swiper.maxTranslate();
1470
+ doBounce = true;
1471
+ data.allowMomentumBounce = true;
1472
+ } else {
1473
+ newPosition = swiper.maxTranslate();
1474
+ }
1475
+ if (params.loop && params.centeredSlides) needsLoopFix = true;
1476
+ } else if (newPosition > swiper.minTranslate()) {
1477
+ if (params.freeMode.momentumBounce) {
1478
+ if (newPosition - swiper.minTranslate() > bounceAmount) {
1479
+ newPosition = swiper.minTranslate() + bounceAmount;
1480
+ }
1481
+ afterBouncePosition = swiper.minTranslate();
1482
+ doBounce = true;
1483
+ data.allowMomentumBounce = true;
1484
+ } else {
1485
+ newPosition = swiper.minTranslate();
1486
+ }
1487
+ if (params.loop && params.centeredSlides) needsLoopFix = true;
1488
+ } else if (params.freeMode.sticky) {
1489
+ let nextSlide;
1490
+ for (let j = 0; j < snapGrid.length; j += 1) {
1491
+ if (snapGrid[j] > -newPosition) {
1492
+ nextSlide = j;
1493
+ break;
1494
+ }
1495
+ }
1496
+ if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {
1497
+ newPosition = snapGrid[nextSlide];
1498
+ } else {
1499
+ newPosition = snapGrid[nextSlide - 1];
1500
+ }
1501
+ newPosition = -newPosition;
1502
+ }
1503
+ if (needsLoopFix) {
1504
+ once('transitionEnd', () => {
1505
+ swiper.loopFix();
1506
+ });
1507
+ }
1508
+ // Fix duration
1509
+ if (swiper.velocity !== 0) {
1510
+ if (rtl) {
1511
+ momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);
1512
+ } else {
1513
+ momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);
1514
+ }
1515
+ if (params.freeMode.sticky) {
1516
+ // If freeMode.sticky is active and the user ends a swipe with a slow-velocity
1517
+ // event, then durations can be 20+ seconds to slide one (or zero!) slides.
1518
+ // It's easy to see this when simulating touch with mouse events. To fix this,
1519
+ // limit single-slide swipes to the default slide duration. This also has the
1520
+ // nice side effect of matching slide speed if the user stopped moving before
1521
+ // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.
1522
+ // For faster swipes, also apply limits (albeit higher ones).
1523
+ const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);
1524
+ const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];
1525
+ if (moveDistance < currentSlideSize) {
1526
+ momentumDuration = params.speed;
1527
+ } else if (moveDistance < 2 * currentSlideSize) {
1528
+ momentumDuration = params.speed * 1.5;
1529
+ } else {
1530
+ momentumDuration = params.speed * 2.5;
1531
+ }
1532
+ }
1533
+ } else if (params.freeMode.sticky) {
1534
+ swiper.slideToClosest();
1535
+ return;
1536
+ }
1537
+ if (params.freeMode.momentumBounce && doBounce) {
1538
+ swiper.updateProgress(afterBouncePosition);
1539
+ swiper.setTransition(momentumDuration);
1540
+ swiper.setTranslate(newPosition);
1541
+ swiper.transitionStart(true, swiper.swipeDirection);
1542
+ swiper.animating = true;
1543
+ elementTransitionEnd(wrapperEl, () => {
1544
+ if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;
1545
+ emit('momentumBounce');
1546
+ swiper.setTransition(params.speed);
1547
+ setTimeout(() => {
1548
+ swiper.setTranslate(afterBouncePosition);
1549
+ elementTransitionEnd(wrapperEl, () => {
1550
+ if (!swiper || swiper.destroyed) return;
1551
+ swiper.transitionEnd();
1552
+ });
1553
+ }, 0);
1554
+ });
1555
+ } else if (swiper.velocity) {
1556
+ emit('_freeModeNoMomentumRelease');
1557
+ swiper.updateProgress(newPosition);
1558
+ swiper.setTransition(momentumDuration);
1559
+ swiper.setTranslate(newPosition);
1560
+ swiper.transitionStart(true, swiper.swipeDirection);
1561
+ if (!swiper.animating) {
1562
+ swiper.animating = true;
1563
+ elementTransitionEnd(wrapperEl, () => {
1564
+ if (!swiper || swiper.destroyed) return;
1565
+ swiper.transitionEnd();
1566
+ });
1567
+ }
1568
+ } else {
1569
+ swiper.updateProgress(newPosition);
1570
+ }
1571
+ swiper.updateActiveIndex();
1572
+ swiper.updateSlidesClasses();
1573
+ } else if (params.freeMode.sticky) {
1574
+ swiper.slideToClosest();
1575
+ return;
1576
+ } else if (params.freeMode) {
1577
+ emit('_freeModeNoMomentumRelease');
1578
+ }
1579
+ if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {
1580
+ emit('_freeModeStaticRelease');
1581
+ swiper.updateProgress();
1582
+ swiper.updateActiveIndex();
1583
+ swiper.updateSlidesClasses();
1584
+ }
1585
+ }
1586
+ Object.assign(swiper, {
1587
+ freeMode: {
1588
+ onTouchStart,
1589
+ onTouchMove,
1590
+ onTouchEnd
1591
+ }
1592
+ });
1593
+ }
1594
+
1355
1595
  let support;
1356
1596
  function calcSupport() {
1357
1597
  const window = getWindow();
@@ -5996,15 +6236,11 @@ const SwiperSlide = /*#__PURE__*/forwardRef(function (_temp, externalRef) {
5996
6236
  });
5997
6237
  SwiperSlide.displayName = 'SwiperSlide';
5998
6238
 
5999
- function LeftArrowFilledIcon(props) {
6000
- return (jsx("svg", { height: "13", viewBox: "0 0 13 13", width: "13", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M9.461 11.917c.227 0 .365-.224.245-.396L5.954 6.137a1.098 1.098 0 0 1 .112-1.409l3.032-3.219c.158-.168.025-.426-.22-.426H6.514a.303.303 0 0 0-.22.092L4.04 3.57c-.94.997-1.052 2.412-.28 3.52l3.28 4.706a.297.297 0 0 0 .245.122H9.46z", fill: "currentColor", fillRule: "evenodd" }) }));
6001
- }
6002
-
6003
- function RightArrowFilledIcon(props) {
6004
- return (jsx("svg", { height: "13", viewBox: "0 0 13 13", width: "13", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M3.539 11.917c-.227 0-.365-.224-.245-.396l3.752-5.384a1.098 1.098 0 0 0-.112-1.409L3.902 1.509c-.158-.168-.025-.426.22-.426h2.363c.085 0 .165.034.22.092L8.96 3.57c.94.997 1.052 2.412.28 3.52l-3.28 4.706a.297.297 0 0 1-.245.122H3.54z", fill: "currentColor", fillRule: "evenodd" }) }));
6239
+ function GlyphsArrowBoldCapsLeftIcon(props) {
6240
+ 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)" }) }));
6005
6241
  }
6006
6242
 
6007
- var styles$m = {"carousel":"carousel-module-ealh-","swiper":"carousel-module-IftbN","slide":"carousel-module-bUMlb","navigation-button-next":"carousel-module-T7bTr","navigation-button":"carousel-module-kcqEE","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"};
6243
+ var styles$r = {"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"};
6008
6244
 
6009
6245
  function CarouselNavigationButton({ direction, isDisabled = false, }) {
6010
6246
  const swiper = useSwiper();
@@ -6016,10 +6252,12 @@ function CarouselNavigationButton({ direction, isDisabled = false, }) {
6016
6252
  swiper.slidePrev();
6017
6253
  }
6018
6254
  }
6019
- return (jsx(Button$1, { className: styles$m['navigation-button'], isDisabled: isDisabled, onPress: handleNavigation, children: direction === 'previous' ? (jsx(LeftArrowFilledIcon, {})) : (jsx(RightArrowFilledIcon, {})) }));
6255
+ return (jsx(Button$1, { className: clsx(styles$r['navigation-button'], {
6256
+ [styles$r['is-locked']]: swiper.isLocked,
6257
+ }), isDisabled: isDisabled, onPress: handleNavigation, children: direction === 'previous' ? (jsx(GlyphsArrowBoldCapsLeftIcon, {})) : (jsx(GlyphsArrowBoldCapsRightIcon, {})) }));
6020
6258
  }
6021
6259
 
6022
- function Carousel({ breakpoints, hasNavigation = true, navigationButtonsPosition = 'top', slides, slidesPerView = 'auto', spaceBetween = 8, }) {
6260
+ function Carousel({ breakpoints, className, hasNavigation = true, hasOverflow = true, navigationButtonsPosition = 'top', slideClasses, slides, slidesPerView = 'auto', spaceBetween = 8, }) {
6023
6261
  const [isEnd, setIsEnd] = useState(false);
6024
6262
  const [isBeginning, setIsBeginning] = useState(true);
6025
6263
  const [isLocked, setIsLocked] = useState(false);
@@ -6029,11 +6267,16 @@ function Carousel({ breakpoints, hasNavigation = true, navigationButtonsPosition
6029
6267
  setIsBeginning(swiper.isBeginning);
6030
6268
  }
6031
6269
  const showNavigation = hasNavigation && !isLocked;
6032
- return (jsx("div", { className: styles$m.carousel, children: jsxs(Swiper, { breakpoints: breakpoints, className: clsx(styles$m.swiper, { [styles$m['is-dragging']]: isDragging }), onSlideChange: swiper => handleSlideChange(swiper), onSwiper: swiper => setIsLocked(swiper.isLocked), onTouchEnd: () => setIsDragging(false), onTouchStart: () => setIsDragging(true), slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: [slides.map((slide, index) => (jsx(SwiperSlide, { className: styles$m.slide, children: slide }, index))), showNavigation && (jsxs("div", { className: clsx(styles$m['navigation-buttons'], styles$m[navigationButtonsPosition]), children: [jsx("div", { className: clsx(styles$m['navigation-button-wrapper'], styles$m['navigation-button-prev']), children: jsx(CarouselNavigationButton, { direction: "previous", isDisabled: isBeginning }) }), jsx("div", { className: clsx(styles$m['navigation-button-wrapper'], styles$m['navigation-button-next']), children: jsx(CarouselNavigationButton, { direction: "next", isDisabled: isEnd }) })] }))] }) }));
6270
+ return (jsx("div", { className: clsx(styles$r.carousel, className), children: jsxs(Swiper, { breakpoints: breakpoints, className: clsx(styles$r.swiper, {
6271
+ [styles$r['is-dragging']]: isDragging,
6272
+ [styles$r['has-overflow']]: hasOverflow,
6273
+ }), freeMode: {
6274
+ enabled: true,
6275
+ sticky: true,
6276
+ }, modules: [freeMode], onSlideChange: swiper => handleSlideChange(swiper), onSwiper: swiper => setIsLocked(swiper.isLocked), onTouchEnd: () => setIsDragging(false), onTouchStart: () => setIsDragging(true), slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: [slides.map((slide, index) => (jsx(SwiperSlide, { className: clsx(styles$r.slide, slideClasses), children: slide }, index))), showNavigation && (jsxs("div", { className: clsx(styles$r['navigation-buttons'], styles$r[navigationButtonsPosition]), children: [jsx("div", { className: clsx(styles$r['navigation-button-wrapper'], styles$r['navigation-button-prev']), children: jsx(CarouselNavigationButton, { direction: "previous", isDisabled: isBeginning }) }), jsx("div", { className: clsx(styles$r['navigation-button-wrapper'], styles$r['navigation-button-next']), children: jsx(CarouselNavigationButton, { direction: "next", isDisabled: isEnd }) })] }))] }) }));
6033
6277
  }
6034
6278
 
6035
- function CategoryCarousel({ categories }) {
6036
- const slides = categories.map((slide, index) => (jsx(CategoryCard, { ...slide }, index)));
6279
+ function CategoryCarousel({ categoryCards }) {
6037
6280
  return (jsx(Carousel, { breakpoints: {
6038
6281
  1024: {
6039
6282
  spaceBetween: 12,
@@ -6041,23 +6284,23 @@ function CategoryCarousel({ categories }) {
6041
6284
  1440: {
6042
6285
  spaceBetween: 16,
6043
6286
  },
6044
- }, slides: slides, spaceBetween: 8 }));
6287
+ }, slides: categoryCards, spaceBetween: 8 }));
6045
6288
  }
6046
6289
 
6047
- var styles$l = {"accordion":"accordion-module-9WvAH","white":"accordion-module-CaVdG","accordion-item":"accordion-module-lf9d-","lg":"accordion-module-0qnae","with-seperators":"accordion-module-yOLrW","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"};
6290
+ var styles$q = {"accordion":"accordion-module-9WvAH","white":"accordion-module-CaVdG","accordion-item":"accordion-module-lf9d-","lg":"accordion-module-0qnae","with-seperators":"accordion-module-yOLrW","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"};
6048
6291
 
6049
6292
  function Accordion({ children, color = 'black', hasLineSeparator = true, indented, size = 'md', }) {
6050
- return (jsx("div", { className: clsx({ [styles$l.indented]: indented }, styles$l.accordion, styles$l[color], styles$l[size], hasLineSeparator && styles$l['with-seperators']), children: children &&
6293
+ return (jsx("div", { className: clsx({ [styles$q.indented]: indented }, styles$q.accordion, styles$q[color], styles$q[size], hasLineSeparator && styles$q['with-seperators']), children: children &&
6051
6294
  Children.map(children, child => {
6052
6295
  return cloneElement(child, { size });
6053
6296
  }) }));
6054
6297
  }
6055
6298
 
6056
- function ChevronDownSlim(props) {
6057
- return (jsx("svg", { viewBox: "0 0 16 17", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "m8 12.648-6.667-6.7a3.11 3.11 0 0 1 .466-.75c.202-.245.444-.477.726-.698l5.459 5.546L13.328 4.5c.288.226.543.459.764.699.222.24.413.489.575.75L8 12.648z", fill: "currentColor", fillRule: "evenodd" }) }));
6299
+ function GlyphsChevronsSlimDownIcon(props) {
6300
+ 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" }) }));
6058
6301
  }
6059
6302
 
6060
- var styles$k = {"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"};
6303
+ var styles$p = {"show-all":"show-all-module-BDp21","panel":"show-all-module-bEdda","content":"show-all-module-RF--F","has-transparency":"show-all-module-30y7l","button":"show-all-module-58e7Q","icon":"show-all-module-fqncI","is-open":"show-all-module-hQeGI"};
6061
6304
 
6062
6305
  const ShowAll = ({ children, hasTransparency = true, initialHeight = 0, isOpen, onToggle, }) => {
6063
6306
  const showAllRef = useRef(null);
@@ -6066,14 +6309,14 @@ const ShowAll = ({ children, hasTransparency = true, initialHeight = 0, isOpen,
6066
6309
  return;
6067
6310
  showAllRef.current.style.setProperty('--initital-height', `${initialHeight}px`);
6068
6311
  }, [initialHeight]);
6069
- return (jsxs("div", { ref: showAllRef, className: clsx(styles$k['show-all'], {
6070
- [styles$k['is-open']]: isOpen,
6071
- }), children: [jsx("div", { className: styles$k.panel, children: jsx("div", { className: clsx(styles$k.content, {
6072
- [styles$k['has-transparency']]: hasTransparency,
6073
- }), children: children }) }), jsxs(LinkButton, { className: styles$k.button, onPress: () => onToggle(!isOpen), children: [jsx(ChevronDownSlim, { className: styles$k.icon }), isOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] })] }));
6312
+ return (jsxs("div", { ref: showAllRef, className: clsx(styles$p['show-all'], {
6313
+ [styles$p['is-open']]: isOpen,
6314
+ }), children: [jsx("div", { className: styles$p.panel, children: jsx("div", { className: clsx(styles$p.content, {
6315
+ [styles$p['has-transparency']]: hasTransparency,
6316
+ }), children: children }) }), jsxs(LinkButton, { className: styles$p.button, onPress: () => onToggle(!isOpen), children: [jsx(GlyphsChevronsSlimDownIcon, { className: styles$p.icon }), isOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] })] }));
6074
6317
  };
6075
6318
 
6076
- var styles$j = {"multi-select":"multi-select-module-DC7Ix","filter-items":"multi-select-module-cwVFb","hidden":"multi-select-module-o7yHU","filter-item":"multi-select-module-OW-NK"};
6319
+ var styles$o = {"multi-select":"multi-select-module-DC7Ix","filter-items":"multi-select-module-cwVFb","hidden":"multi-select-module-o7yHU","filter-item":"multi-select-module-OW-NK"};
6077
6320
 
6078
6321
  function MultiSelect({ amountShown = 3, onChange, options, render, }) {
6079
6322
  const shownOptions = options.slice(0, amountShown);
@@ -6084,28 +6327,28 @@ function MultiSelect({ amountShown = 3, onChange, options, render, }) {
6084
6327
  options.filter(option => option.isSelected).length === 0) {
6085
6328
  return null;
6086
6329
  }
6087
- return (jsxs("div", { className: styles$j['multi-select'], children: [jsx("div", { className: styles$j['filter-items'], children: shownOptions
6330
+ return (jsxs("div", { className: styles$o['multi-select'], children: [jsx("div", { className: styles$o['filter-items'], children: shownOptions
6088
6331
  .concat(isOpen ? [] : hiddenSelectedOptions)
6089
- .map(option => (jsxs("div", { className: styles$j['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$j['filter-items'], styles$j['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$j['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
6332
+ .map(option => (jsxs("div", { className: styles$o['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$o['filter-items'], styles$o['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$o['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
6090
6333
  }
6091
6334
 
6092
- var styles$i = {"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"};
6335
+ var styles$n = {"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"};
6093
6336
 
6094
6337
  function Checkbox({ _pseudo = 'none', children, className, isDisabled, isSelected, onChange, value, }) {
6095
- return (jsxs(Checkbox$1, { className: clsx(className, styles$i.checkbox, styles$i[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$i.box, children: jsx("svg", { "aria-hidden": "true", className: styles$i.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
6338
+ return (jsxs(Checkbox$1, { className: clsx(className, styles$n.checkbox, styles$n[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$n.box, children: jsx("svg", { "aria-hidden": "true", className: styles$n.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
6096
6339
  }
6097
6340
 
6098
6341
  function ColorCheckbox({ _pseudo = 'none', children, className, color, isDisabled, isSelected, onChange, value, }) {
6099
- return (jsxs(Checkbox$1, { className: clsx(className, styles$i.checkbox, styles$i['color-checkbox'], styles$i[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
6342
+ return (jsxs(Checkbox$1, { className: clsx(className, styles$n.checkbox, styles$n['color-checkbox'], styles$n[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
6100
6343
  '--selected-color': color,
6101
- }, value: value, children: [jsx("div", { className: styles$i.box }), children] }));
6344
+ }, value: value, children: [jsx("div", { className: styles$n.box }), children] }));
6102
6345
  }
6103
6346
 
6104
- function CheckmarkFilledIcon(props) {
6105
- return (jsx("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M10.864 17c-.2 0-.378-.045-.534-.135a1.588 1.588 0 0 1-.446-.407L6.278 12.22c-.185-.233-.278-.474-.278-.722 0-.264.087-.488.262-.672a.86.86 0 0 1 .651-.276c.156 0 .299.033.429.101s.258.188.384.361l3.094 3.71 5.42-8.19c.216-.354.483-.531.802-.531.245 0 .466.08.663.243A.785.785 0 0 1 18 6.88c0 .12-.028.243-.084.367a2.53 2.53 0 0 1-.194.356l-5.934 8.844c-.23.369-.538.553-.924.553z", fill: "currentColor", fillRule: "evenodd" }) }));
6347
+ function StrokeCheckmarkIcon(props) {
6348
+ 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" }) }));
6106
6349
  }
6107
6350
 
6108
- var styles$h = {"select":"select-module-ui-Wc","sm":"select-module-44a1l","md":"select-module-QUm-8","button":"select-module-aMQIQ","chevron":"select-module-00uRU","focus":"select-module-XMc0P","popover":"select-module-z8cWq","listbox":"select-module-S21ba","header":"select-module-4Bm2j","item":"select-module-LgEJO","check":"select-module-lQFw3"};
6351
+ var styles$m = {"select":"select-module-ui-Wc","sm":"select-module-44a1l","md":"select-module-QUm-8","button":"select-module-aMQIQ","chevron":"select-module-00uRU","focus":"select-module-XMc0P","popover":"select-module-z8cWq","listbox":"select-module-S21ba","header":"select-module-4Bm2j","item":"select-module-LgEJO","check":"select-module-lQFw3"};
6109
6352
 
6110
6353
  function Select({ isDisabled = false, label, onChange, options, selectedOption, showLabel = true, size = 'md', }) {
6111
6354
  const selectRef = useRef(null);
@@ -6122,10 +6365,10 @@ function Select({ isDisabled = false, label, onChange, options, selectedOption,
6122
6365
  window.addEventListener('resize', updateWidth);
6123
6366
  return () => window.removeEventListener('resize', updateWidth);
6124
6367
  }, []);
6125
- return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$h.select, styles$h[size]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$h.button, children: [jsx(SelectValue, {}), jsx(ChevronDownSlim, { "aria-hidden": "true", className: styles$h.chevron })] }), jsx(Popover, { className: styles$h.popover, placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$h.listbox, children: jsxs(Section, { children: [jsx(Header, { className: styles$h.header, children: label }), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$h.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(CheckmarkFilledIcon, { className: styles$h.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
6368
+ return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$m.select, styles$m[size]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$m.button, children: [jsx(SelectValue, {}), jsx(GlyphsChevronsSlimDownIcon, { "aria-hidden": "true", className: styles$m.chevron })] }), jsx(Popover, { className: styles$m.popover, placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$m.listbox, children: jsxs(Section, { children: [jsx(Header, { className: styles$m.header, children: label }), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$m.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(StrokeCheckmarkIcon, { className: styles$m.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
6126
6369
  }
6127
6370
 
6128
- var styles$g = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
6371
+ var styles$l = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
6129
6372
 
6130
6373
  /**
6131
6374
  * This component is used to create a textarea that can grow as the user types.
@@ -6160,7 +6403,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
6160
6403
  }
6161
6404
  updateHeight();
6162
6405
  }, [ref, autoGrow, updateHeight, size]);
6163
- return (jsx("div", { className: styles$g['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
6406
+ return (jsx("div", { className: styles$l['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
6164
6407
  ref.current =
6165
6408
  node;
6166
6409
  textAreaRef.current = node;
@@ -6171,7 +6414,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
6171
6414
  });
6172
6415
  TextArea.displayName = 'TextArea';
6173
6416
 
6174
- var styles$f = {"field":"text-field-module-JeaK0"};
6417
+ var styles$k = {"field":"text-field-module-JeaK0"};
6175
6418
 
6176
6419
  /**
6177
6420
  * This component is used to create a text field.
@@ -6179,41 +6422,41 @@ var styles$f = {"field":"text-field-module-JeaK0"};
6179
6422
  * This field can also grow when a user types in text.
6180
6423
  */
6181
6424
  function TextField({ autoFocus, autoGrow, defaultValue, isDisabled, isInvalid, isMultiline, isReadOnly, isRequired, label, maxLength, onChange, onInput, onKeyUp, placeholder, rows, showLabel = false, size = 'lg', value, }) {
6182
- return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$f.field, styles$f[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, onChange: value => {
6425
+ return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$k.field, styles$k[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, onChange: value => {
6183
6426
  onChange?.(value);
6184
6427
  }, 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, {})] }));
6185
6428
  }
6186
6429
 
6187
- function CartOutlinedIcon(props) {
6188
- return (jsx("svg", { height: "24", viewBox: "0 0 24 24", width: "24", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M7.896 16.666a2.603 2.603 0 1 1 0 5.207 2.603 2.603 0 0 1 0-5.207zm8.925 0a2.603 2.603 0 1 1 0 5.207 2.603 2.603 0 0 1 0-5.207zM7.896 18.1c-.645 0-1.17.524-1.17 1.169s.525 1.17 1.17 1.17a1.171 1.171 0 0 0 0-2.34zm8.925 0c-.645 0-1.17.524-1.17 1.169s.525 1.17 1.17 1.17a1.171 1.171 0 0 0 0-2.34zM4.589 3c.016 0 .032.004.048.005a.714.714 0 0 1 .146.025l.05.016a.7.7 0 0 1 .083.037l.04.021a.712.712 0 0 1 .076.053l.035.03a.699.699 0 0 1 .168.223.703.703 0 0 1 .061.209c.002.014.007.027.008.042l.207 2.646h15.776c.027.001.05.006.073.008.026.003.052.004.077.01.022.004.036.011.05.016.03.008.058.016.085.028.02.009.037.02.056.03.022.012.044.024.065.038.019.013.035.029.053.044.017.015.036.029.052.046.015.016.028.034.042.051.015.019.03.037.044.057.011.018.02.038.03.057.012.021.024.042.033.065.009.022.014.044.021.067.006.022.014.043.018.066.006.027.007.054.009.081.001.018.005.035.005.053-.001.031-.005.054-.008.077-.003.026-.004.052-.01.077l-1.39 6.054-.004.017a.698.698 0 0 1-.033.1l-.008.024a.716.716 0 0 1-.06.11l-.024.03a.707.707 0 0 1-.057.07l-.035.033a.695.695 0 0 1-.175.117l-.048.022a.723.723 0 0 1-.083.026c-.014.003-.027.008-.041.01a.707.707 0 0 1-.134.014H6.096l.112 1.427H19.41a.717.717 0 0 1 0 1.434H5.544a.714.714 0 0 1-.14-.015c-.015-.003-.03-.008-.044-.012-.03-.008-.06-.016-.087-.027-.018-.008-.034-.017-.05-.026-.024-.012-.048-.023-.07-.037-.016-.011-.03-.024-.046-.036-.02-.016-.04-.03-.058-.048-.015-.014-.027-.03-.04-.044-.017-.02-.033-.038-.048-.058-.012-.017-.021-.034-.032-.052a.678.678 0 0 1-.035-.065c-.009-.02-.016-.04-.023-.06a.715.715 0 0 1-.033-.136l-.008-.045-.904-11.571H2.717a.717.717 0 1 1 0-1.434zm15.794 4.741H5.623l.361 4.63h13.334l1.065-4.63z", fill: "currentColor", fillRule: "evenodd" }) }));
6430
+ function IntlProvider({ children, formatMessage, languageCode: _languageCode, }) {
6431
+ const [languageCode, updateLanguageCode] = useState(_languageCode);
6432
+ return (jsx(IntlContext.Provider, { value: { formatMessage, languageCode, updateLanguageCode }, children: children }));
6189
6433
  }
6190
6434
 
6191
- function DehashedOutlinedIcon(props) {
6192
- return (jsx("svg", { height: "24", viewBox: "0 0 24 24", width: "24", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "m4.934 4.19 15.069 14.705c.259.253.259.663 0 .915a.67.67 0 0 1-.47.19.67.67 0 0 1-.468-.19L3.995 5.105a.636.636 0 0 1 0-.915.675.675 0 0 1 .939 0zm.012 3.604a.637.637 0 0 1-.022.916C3.88 9.682 3.327 10.82 3.327 12c0 3.152 3.88 5.717 8.65 5.717.834 0 1.664-.081 2.469-.242.36-.071.71.155.783.505a.648.648 0 0 1-.517.764c-.892.177-1.812.268-2.735.268C6.476 19.012 2 15.866 2 11.999c0-1.541.695-3.003 2.008-4.226a.675.675 0 0 1 .938.021zm7.077-2.807c5.501 0 9.977 3.146 9.977 7.012 0 1.542-.695 3.003-2.008 4.227a.67.67 0 0 1-.458.179.67.67 0 0 1-.48-.2.636.636 0 0 1 .022-.916c1.045-.973 1.597-2.11 1.597-3.29 0-3.153-3.88-5.717-8.65-5.717-.834 0-1.665.08-2.469.241a.662.662 0 0 1-.783-.504.648.648 0 0 1 .517-.764 14.019 14.019 0 0 1 2.735-.268zm-4.382 6.14c.047-.225.337-.305.504-.142l4.894 4.776a.29.29 0 0 1-.146.492 4.56 4.56 0 0 1-1.522.046c-1.946-.266-3.503-1.785-3.777-3.685a4.243 4.243 0 0 1 .047-1.486zm3.462-3.381a4.564 4.564 0 0 1 1.524-.047c1.949.266 3.507 1.787 3.78 3.688a4.244 4.244 0 0 1-.048 1.488c-.048.225-.338.305-.505.142l-4.897-4.78a.29.29 0 0 1 .146-.491z", fill: "currentColor", fillRule: "evenodd" }) }));
6193
- }
6435
+ var styles$j = {"product-grid":"product-overview-grid-module-bzys-","grid-item":"product-overview-grid-module-MlUVA"};
6194
6436
 
6195
- function HashedOutlinedIcon(props) {
6196
- return (jsx("svg", { height: "24", viewBox: "0 0 24 24", width: "24", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M12 7.666C9.54 7.666 7.538 9.61 7.538 12c0 2.39 2.001 4.334 4.462 4.334 2.46 0 4.462-1.944 4.462-4.334 0-2.39-2.001-4.334-4.462-4.334M12 5c5.514 0 10 3.14 10 7s-4.486 7-10 7-10-3.14-10-7 4.486-7 10-7zm0 1.292c-2.39 0-4.624.642-6.29 1.809C4.175 9.175 3.33 10.56 3.33 12s.845 2.825 2.38 3.9c1.666 1.166 3.9 1.808 6.29 1.808s4.624-.642 6.29-1.809c1.535-1.074 2.38-2.459 2.38-3.9 0-1.44-.845-2.824-2.38-3.898-1.666-1.167-3.9-1.81-6.29-1.81zm0 3.958c.994 0 1.802.785 1.802 1.75s-.808 1.75-1.802 1.75-1.802-.785-1.802-1.75.808-1.75 1.802-1.75z", fill: "currentColor", fillRule: "evenodd" }) }));
6437
+ function ProductOverviewGrid({ children }) {
6438
+ return (jsx("div", { className: styles$j['product-grid'], children: Children.map(children, (child, index) => (jsx("div", { className: styles$j['grid-item'], children: child }, index))) }));
6197
6439
  }
6198
6440
 
6199
- function IntlProvider({ children, formatMessage, languageCode: _languageCode, }) {
6200
- const [languageCode, updateLanguageCode] = useState(_languageCode);
6201
- return (jsx(IntlContext.Provider, { value: { formatMessage, languageCode, updateLanguageCode }, children: children }));
6441
+ var styles$i = {"progress-circle":"progress-circle-module-4nweP","load-spin":"progress-circle-module-jPY-W"};
6442
+
6443
+ function ProgressCircle({ className }) {
6444
+ return jsx("div", { className: clsx(styles$i['progress-circle'], className) });
6202
6445
  }
6203
6446
 
6204
- var styles$e = {"product-grid":"product-overview-grid-module-bzys-","grid-item":"product-overview-grid-module-MlUVA"};
6447
+ var styles$h = {"loading-overlay":"loading-overlay-module-L67Gy"};
6205
6448
 
6206
- function ProductOverviewGrid({ children }) {
6207
- return (jsx("div", { className: styles$e['product-grid'], children: Children.map(children, (child, index) => (jsx("div", { className: styles$e['grid-item'], children: child }, index))) }));
6449
+ function LoadingOverlay() {
6450
+ return (jsx("div", { className: styles$h['loading-overlay'], children: jsx(ProgressCircle, {}) }));
6208
6451
  }
6209
6452
 
6210
- var styles$d = {"page-container":"page-container-module-PYmbC","inner-page-container":"page-container-module-uD8GF"};
6453
+ var styles$g = {"page-container":"page-container-module-PYmbC","inner-page-container":"page-container-module-uD8GF"};
6211
6454
 
6212
6455
  function PageContainer({ children, className, }) {
6213
- return (jsx("div", { className: styles$d['page-container'], children: jsx("div", { className: clsx(styles$d['inner-page-container'], className), children: children }) }));
6456
+ return (jsx("div", { className: styles$g['page-container'], children: jsx("div", { className: clsx(styles$g['inner-page-container'], className), children: children }) }));
6214
6457
  }
6215
6458
 
6216
- var styles$c = {"heading":"heading-module-pMC65","uppercase":"heading-module-6spgX","italic":"heading-module-XXMDM","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"};
6459
+ var styles$f = {"heading":"heading-module-pMC65","uppercase":"heading-module-6spgX","italic":"heading-module-XXMDM","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"};
6217
6460
 
6218
6461
  const sizeToTag = {
6219
6462
  l: 'h3',
@@ -6226,30 +6469,30 @@ const sizeToTag = {
6226
6469
  };
6227
6470
  function Heading({ children, className, italic, size = 'xxl', tag, uppercase, }) {
6228
6471
  return createElement$1(tag || sizeToTag[size], {
6229
- className: clsx(className, styles$c.heading, styles$c[size], {
6230
- [styles$c.uppercase]: uppercase,
6231
- [styles$c.italic]: italic,
6472
+ className: clsx(className, styles$f.heading, styles$f[size], {
6473
+ [styles$f.uppercase]: uppercase,
6474
+ [styles$f.italic]: italic,
6232
6475
  }),
6233
6476
  }, children);
6234
6477
  }
6235
6478
 
6236
- var styles$b = {"page":"page-module-XtZ9Y","breadcrumb":"page-module-ohh9z","title":"page-module-TEmve"};
6479
+ var styles$e = {"page":"page-module-XtZ9Y","breadcrumb":"page-module-ohh9z","title":"page-module-TEmve"};
6237
6480
 
6238
6481
  function Page({ breadCrumb, children, className, title }) {
6239
6482
  const { lg, xxl } = useBreakpoint();
6240
- return (jsxs(PageContainer, { className: clsx(styles$b.page, className), children: [jsx("div", { className: styles$b.breadcrumb, children: jsx(Breadcrumb, { links: breadCrumb }) }), title && (jsx(Heading, { italic: true, uppercase: true, className: styles$b.title, size: xxl ? 'xl' : lg ? 'm' : 's', tag: "h1", children: title })), children] }));
6483
+ return (jsxs(PageContainer, { className: clsx(styles$e.page, className), children: [jsx("div", { className: styles$e.breadcrumb, children: jsx(Breadcrumb, { links: breadCrumb }) }), title && (jsx(Heading, { italic: true, uppercase: true, className: styles$e.title, size: xxl ? 'xl' : lg ? 'm' : 's', tag: "h1", children: title })), children] }));
6241
6484
  }
6242
6485
 
6243
- function CloseFilledIcon(props) {
6244
- return (jsx("svg", { viewBox: "0 0 32 33", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "m10.667 11.14 10.666 10.58m0-10.58L10.667 21.72", fill: "none", fillRule: "evenodd", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.867" }) }));
6486
+ function StrokeCloseboxIcon(props) {
6487
+ 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" }) }));
6245
6488
  }
6246
6489
 
6247
- var styles$a = {"active-filters":"active-filters-module-1qLjB","header":"active-filters-module-UKKDu","title":"active-filters-module-h29rI","active-filter-item":"active-filters-module-Rrmhy","category":"active-filters-module-u9TTE","active-filter-value":"active-filters-module-CIuPU"};
6490
+ var styles$d = {"active-filters":"active-filters-module-1qLjB","header":"active-filters-module-UKKDu","title":"active-filters-module-h29rI","active-filter-item":"active-filters-module-Rrmhy","category":"active-filters-module-u9TTE","active-filter-value":"active-filters-module-CIuPU"};
6248
6491
 
6249
6492
  const ActiveFilters = ({ onClearAllFilters, onClearFilter, selectedFilterCategories, }) => {
6250
6493
  if (selectedFilterCategories.length === 0)
6251
6494
  return null;
6252
- return (jsxs("div", { className: styles$a['active-filters'], children: [jsxs("div", { className: styles$a.header, children: [jsx(Heading, { className: styles$a.title, size: "xxs", children: jsx(FormattedMessage, { id: "Chosen filters" }) }), jsx(LinkButton, { onPress: onClearAllFilters, children: jsx(FormattedMessage, { id: "Clear filters" }) })] }), selectedFilterCategories.map((category, index) => (jsx("section", { className: styles$a.category, children: category.filters.map(filter => (jsxs("div", { className: styles$a['active-filter-item'], children: [jsxs("span", { children: [jsxs("span", { children: [category.label, ": "] }), jsx("span", { className: styles$a['active-filter-value'], children: filter.label })] }), jsx(IconButton, { color: "secondary", onPress: () => onClearFilter(category.label, filter), children: jsx(CloseFilledIcon, {}) })] }, `${category.label}-${filter.value}`))) }, `${category.label}-${index}`)))] }));
6495
+ return (jsxs("div", { className: styles$d['active-filters'], children: [jsxs("div", { className: styles$d.header, children: [jsx(Heading, { className: styles$d.title, size: "xxs", children: jsx(FormattedMessage, { id: "Chosen filters" }) }), jsx(LinkButton, { onPress: onClearAllFilters, children: jsx(FormattedMessage, { id: "Clear filters" }) })] }), selectedFilterCategories.map((category, index) => (jsx("section", { className: styles$d.category, children: category.filters.map(filter => (jsxs("div", { className: styles$d['active-filter-item'], children: [jsxs("span", { children: [jsxs("span", { children: [category.label, ": "] }), jsx("span", { className: styles$d['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}`)))] }));
6253
6496
  };
6254
6497
 
6255
6498
  function AlgoliaActiveFilters() {
@@ -6273,19 +6516,19 @@ function AlgoliaActiveFilters() {
6273
6516
  return (jsx(ActiveFilters, { onClearAllFilters: clearAllFilters, onClearFilter: onClearFilter, selectedFilterCategories: selectedFilterCategories }));
6274
6517
  }
6275
6518
 
6276
- function ChevronDownBold(props) {
6277
- return (jsx("svg", { viewBox: "0 0 14 15", width: "14", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M6.986 11.837 1.166 5.98c.206-.376.542-.798 1.008-1.268.205-.206.41-.394.615-.563a2.91 2.91 0 0 1 .476-.338l.168-.112 3.553 3.576 3.581-3.605c.392.226.811.564 1.26 1.014.204.207.39.413.559.62l.251.32c.045.06.083.113.112.158l.084.17-5.847 5.885z", fill: "currentColor", fillRule: "evenodd" }) }));
6519
+ function GlyphsChevronsBoldDownIcon(props) {
6520
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "12", viewBox: "0 0 12 12", width: "12", children: jsx("path", { d: "M5.98800959,10 L1,4.97931034 C1.17585931,4.65747126 1.4636291,4.2954023 1.86330935,3.89310345 C2.03916867,3.71609195 2.21502798,3.55517241 2.39088729,3.41034483 C2.5667466,3.26551724 2.70263789,3.16896552 2.79856115,3.12068966 L2.94244604,3.02413793 L5.98800959,6.08965517 L9.05755396,3 C9.39328537,3.19310345 9.7529976,3.48275862 10.1366906,3.86896552 C10.31255,4.04597701 10.4724221,4.22298851 10.616307,4.4 L10.8321343,4.67517241 C10.8705036,4.72666667 10.902478,4.77172414 10.9280576,4.81034483 L11,4.95517241 L5.98800959,10 Z", fillRule: "evenodd" }) }));
6278
6521
  }
6279
6522
 
6280
6523
  function AccordionItem({ _pseudo = 'none', children, className, id, initialIsOpen = false, isDisabled = false, size, title, }) {
6281
6524
  const { isOpen, toggle } = useDisclosure(initialIsOpen);
6282
6525
  const panelId = `panel-${id}`;
6283
- return (jsxs("div", { className: clsx(className, styles$l['accordion-item'], {
6284
- [styles$l['is-open']]: isOpen,
6285
- }), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$l.button, styles$l[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$l.icon, children: size === 'lg' ? jsx(ChevronDownBold, {}) : jsx(ChevronDownSlim, {}) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$l.panel, id: panelId, role: "region", children: jsx("div", { className: styles$l.content, children: children }) })] }));
6526
+ return (jsxs("div", { className: clsx(className, styles$q['accordion-item'], {
6527
+ [styles$q['is-open']]: isOpen,
6528
+ }), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$q.button, styles$q[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$q.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$q.panel, id: panelId, role: "region", children: jsx("div", { className: styles$q.content, children: children }) })] }));
6286
6529
  }
6287
6530
 
6288
- var styles$9 = {"filter-panel":"filter-panel-module-8oxI1","scroll-container":"filter-panel-module-w0hhZ","categories-section":"filter-panel-module-AHlq3","category":"filter-panel-module-TMp3J","count":"filter-panel-module-ykW1a","categories":"filter-panel-module-xvhRz","categories-header":"filter-panel-module-hJVR0","button":"filter-panel-module-hMmIb"};
6531
+ var styles$c = {"filter-panel":"filter-panel-module-8oxI1","scroll-container":"filter-panel-module-w0hhZ","categories-section":"filter-panel-module-AHlq3","category":"filter-panel-module-TMp3J","count":"filter-panel-module-ykW1a","categories":"filter-panel-module-xvhRz","categories-header":"filter-panel-module-hJVR0","button":"filter-panel-module-hMmIb"};
6289
6532
 
6290
6533
  function AlgoliaFilterSection({ attribute, children, initialIsOpen = true, }) {
6291
6534
  const { items, refine } = useRefinementList({
@@ -6297,7 +6540,7 @@ function AlgoliaFilterSection({ attribute, children, initialIsOpen = true, }) {
6297
6540
  if (items.length < 2 && items.filter(item => item.isRefined).length === 0) {
6298
6541
  return null;
6299
6542
  }
6300
- return (jsx(Accordion, { children: jsx(AccordionItem, { id: attribute, initialIsOpen: initialIsOpen, title: jsx("span", { className: styles$9['accordion-title'], children: jsx(FormattedMessage, { optional: true, fallbackValue: attribute, id: `facet.${attribute.toLowerCase()}` }) }), children: children({ items, refine }) }) }));
6543
+ return (jsx(Accordion, { children: jsx(AccordionItem, { id: attribute, initialIsOpen: initialIsOpen, title: jsx("span", { className: styles$c['accordion-title'], children: jsx(FormattedMessage, { optional: true, fallbackValue: attribute, id: `facet.${attribute.toLowerCase()}` }) }), children: children({ items, refine }) }) }));
6301
6544
  }
6302
6545
 
6303
6546
  function AlgoliaMultiSelectFilterSection({ attribute, }) {
@@ -6322,17 +6565,17 @@ function AlgoliaFilterPanel({ onShowProducts, }) {
6322
6565
  const { attributesToRender } = useDynamicWidgets({
6323
6566
  maxValuesPerFacet: 100,
6324
6567
  });
6325
- return (jsx("div", { className: styles$9['filter-panel'], children: jsxs("div", { className: styles$9['scroll-container'], children: [jsx(AlgoliaActiveFilters, {}), attributesToRender.length > 0 && (jsx("section", { children: attributesToRender.map((attribute, index) => (jsx(AlgoliaMultiSelectFilterSection, { attribute: attribute }, `attribute-${index}`))) })), jsx("div", { className: styles$9.button, children: jsxs(Button, { withArrow: true, onPress: onShowProducts, size: "md", children: [jsx(FormattedMessage, { id: "Show" }), " ", jsx(AlgoliaResultsCount, {})] }) })] }) }));
6568
+ return (jsx("div", { className: styles$c['filter-panel'], children: jsxs("div", { className: styles$c['scroll-container'], children: [jsx(AlgoliaActiveFilters, {}), attributesToRender.length > 0 && (jsx("section", { children: attributesToRender.map((attribute, index) => (jsx(AlgoliaMultiSelectFilterSection, { attribute: attribute }, `attribute-${index}`))) })), jsx("div", { className: styles$c.button, children: jsxs(Button, { withArrow: true, onPress: onShowProducts, size: "md", children: [jsx(FormattedMessage, { id: "Show" }), " ", jsx(AlgoliaResultsCount, {})] }) })] }) }));
6326
6569
  }
6327
6570
 
6328
- function ChevronRightFilledIcon(props) {
6329
- return (jsx("svg", { height: "13", viewBox: "0 0 13 13", width: "13", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "m9.111 6-5.025 5a2.332 2.332 0 0 1-.562-.35A3.459 3.459 0 0 1 3 10.107l4.16-4.094L3 2.004c.17-.216.344-.407.524-.573.18-.166.367-.31.562-.431l5.025 5z", fill: "currentColor", fillRule: "evenodd" }) }));
6571
+ function GlyphsChevronsSlimRightIcon(props) {
6572
+ 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" }) }));
6330
6573
  }
6331
6574
 
6332
- var styles$8 = {"pagination":"pagination-module-k4OgY","page-number-container":"pagination-module-oq89A"};
6575
+ var styles$b = {"pagination":"pagination-module-k4OgY","page-number-container":"pagination-module-oq89A"};
6333
6576
 
6334
6577
  function Pagination({ currentPage, onChange, totalPages, }) {
6335
- return (jsxs("div", { className: styles$8.pagination, children: [jsx(IconButton, { isDisabled: currentPage === 1, onPress: () => onChange(currentPage - 1), children: jsx(ChevronLeftFilledIcon, {}) }), jsxs("div", { className: styles$8['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(ChevronRightFilledIcon, {}) })] }));
6578
+ return (jsxs("div", { className: styles$b.pagination, children: [jsx(IconButton, { isDisabled: currentPage === 1, onPress: () => onChange(currentPage - 1), children: jsx(GlyphsChevronsSlimLeftIcon, {}) }), jsxs("div", { className: styles$b['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, {}) })] }));
6336
6579
  }
6337
6580
 
6338
6581
  function AlgoliaPagination({ onChange }) {
@@ -6552,10 +6795,18 @@ function AlgoliaSortBy() {
6552
6795
  return (jsx(Select, { label: t('Sort by'), onChange: value => refine(String(value)), options: options, selectedOption: currentRefinement, showLabel: false, size: "sm" }));
6553
6796
  }
6554
6797
 
6555
- function ConnectedProductCart({ productId, ...props }) {
6798
+ function ConnectedProductCard({ productId, ...props }) {
6556
6799
  return (jsx(ProductCard, { ...props, addToCartButton: jsx(ConnectedAddToCartButton, { productId: productId }) }));
6557
6800
  }
6558
6801
 
6802
+ var styles$a = {"category-card":"category-card-module-4NUjH","title":"category-card-module-LEhh3","is-selected":"category-card-module-vJ7vB","image-container":"category-card-module-oNTrK"};
6803
+
6804
+ function CategoryCard({ href, image, isSelected = false, title, }) {
6805
+ return (jsxs(RouteLink, { className: clsx({
6806
+ [styles$a['is-selected']]: isSelected,
6807
+ }, styles$a['category-card']), href: href, children: [jsx("div", { className: styles$a['image-container'], children: jsx(Image, { ...image, fit: "contain" }) }), jsx("p", { className: styles$a.title, children: title })] }));
6808
+ }
6809
+
6559
6810
  const ProductListingPageContext = createContext({
6560
6811
  data: undefined,
6561
6812
  });
@@ -6576,7 +6827,7 @@ function ConnectedCategoryCarousel() {
6576
6827
  const { isLoading, subcategories } = useSubcatagories();
6577
6828
  if (isLoading || !subcategories)
6578
6829
  return null;
6579
- return jsx(CategoryCarousel, { categories: subcategories });
6830
+ return (jsx(CategoryCarousel, { categoryCards: subcategories.map((slide, index) => (jsx(CategoryCard, { ...slide }, index))) }));
6580
6831
  }
6581
6832
 
6582
6833
  const scrollToTop = (scrollOptions) => {
@@ -6603,26 +6854,26 @@ const useSidebar = () => {
6603
6854
  return context;
6604
6855
  };
6605
6856
 
6606
- var styles$7 = {"sidebar":"sidebar-module-fSa9Q","is-closed":"sidebar-module-dGDrr","close":"sidebar-module-2puGC","is-open":"sidebar-module-lV7wp"};
6857
+ var styles$9 = {"sidebar":"sidebar-module-fSa9Q","is-closed":"sidebar-module-dGDrr","close":"sidebar-module-2puGC","is-open":"sidebar-module-lV7wp"};
6607
6858
 
6608
6859
  function Sidebar({ children }) {
6609
6860
  const { isOpen, toggle } = useSidebar();
6610
- return (jsxs("aside", { className: clsx(styles$7.sidebar, {
6611
- [styles$7['is-open']]: isOpen,
6612
- [styles$7['is-closed']]: !isOpen,
6613
- }), children: [jsx("div", { className: styles$7.close, children: jsx(IconButton, { onPress: toggle, children: jsx(CloseFilledIcon, {}) }) }), children] }));
6861
+ return (jsxs("aside", { className: clsx(styles$9.sidebar, {
6862
+ [styles$9['is-open']]: isOpen,
6863
+ [styles$9['is-closed']]: !isOpen,
6864
+ }), children: [jsx("div", { className: styles$9.close, children: jsx(IconButton, { color: "secondary", onPress: toggle, children: jsx(StrokeCloseboxIcon, {}) }) }), children] }));
6614
6865
  }
6615
6866
 
6616
- function FilterOutlinedIcon(props) {
6617
- return (jsx("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M9.323 12.59c1.427 0 2.623 1.01 2.976 2.388h6.888c.46 0 .813.368.813.833 0 .465-.353.85-.813.85h-6.903C11.916 18.005 10.734 19 9.324 19c-1.412 0-2.593-.994-2.962-2.34h-1.58c-.43 0-.782-.384-.782-.85 0-.464.353-.832.782-.832h1.565c.353-1.379 1.55-2.388 2.976-2.388zm0 1.41c-.951 0-1.703.77-1.703 1.779 0 1.01.752 1.795 1.703 1.795.951 0 1.703-.786 1.703-1.795 0-1.01-.752-1.779-1.703-1.779zm5.37-8c1.41 0 2.607 1.026 2.96 2.404h1.58c.414 0 .767.368.767.833 0 .465-.353.834-.767.834h-1.595c-.353 1.362-1.55 2.355-2.946 2.355-1.411 0-2.592-.993-2.96-2.355H4.813A.814.814 0 0 1 4 9.237c0-.465.353-.833.813-.833h6.903C12.07 7.026 13.266 6 14.692 6zm0 1.426c-.967 0-1.704.77-1.704 1.78 0 1.009.737 1.794 1.703 1.794.951 0 1.703-.785 1.703-1.795 0-1.01-.752-1.779-1.703-1.779z", fill: "currentColor", fillRule: "evenodd" }) }));
6867
+ function StrokeFilterIcon(props) {
6868
+ 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: "M9.32310642,12.5897436 C10.7497603,12.5897436 11.9463087,13.599359 12.2991371,14.9775641 L19.1869607,14.9775641 C19.6471716,14.9775641 20,15.3461538 20,15.8108974 C20,16.275641 19.6471716,16.6602564 19.1869607,16.6602564 L12.2837967,16.6602564 C11.915628,18.0064103 10.7344199,19 9.32310642,19 C7.91179291,19 6.73058485,18.0064103 6.36241611,16.6602564 L4.78235858,16.6602564 C4.35282838,16.6602564 4,16.275641 4,15.8108974 C4,15.3461538 4.35282838,14.9775641 4.78235858,14.9775641 L6.34707574,14.9775641 C6.69990412,13.599359 7.89645254,12.5897436 9.32310642,12.5897436 Z M9.32310642,14 C8.37200384,14 7.62032598,14.7692308 7.62032598,15.7788462 C7.62032598,16.7884615 8.37200384,17.5737179 9.32310642,17.5737179 C10.274209,17.5737179 11.0258869,16.7884615 11.0258869,15.7788462 C11.0258869,14.7692308 10.274209,14 9.32310642,14 Z M14.6922339,6 C16.1035475,6 17.3000959,7.02564103 17.6529243,8.40384615 L19.2329818,8.40384615 C19.6471716,8.40384615 20,8.7724359 20,9.23717949 C20,9.70192308 19.6471716,10.0705128 19.2329818,10.0705128 L17.6375839,10.0705128 C17.2847555,11.4326923 16.0882071,12.4262821 14.6922339,12.4262821 C13.2809204,12.4262821 12.0997124,11.4326923 11.7315436,10.0705128 L4.81303931,10.0705128 C4.35282838,10.0705128 4,9.70192308 4,9.23717949 C4,8.7724359 4.35282838,8.40384615 4.81303931,8.40384615 L11.7162033,8.40384615 C12.0690316,7.02564103 13.2655801,6 14.6922339,6 Z M14.6922339,7.42628205 C13.725791,7.42628205 12.9894535,8.19551282 12.9894535,9.20512821 C12.9894535,10.2147436 13.725791,11 14.6922339,11 C15.6433365,11 16.3950144,10.2147436 16.3950144,9.20512821 C16.3950144,8.19551282 15.6433365,7.42628205 14.6922339,7.42628205 Z", fillRule: "evenodd" }) }));
6618
6869
  }
6619
6870
 
6620
6871
  const ToggleSidebarButton = () => {
6621
6872
  const { isOpen, toggle } = useSidebar();
6622
- return (jsx(Button, { color: "secondary", icon: jsx(FilterOutlinedIcon, {}), onPress: toggle, size: "sm", variant: "outline", children: isOpen ? (jsx(FormattedMessage, { id: "Hide filters" })) : (jsx(FormattedMessage, { id: "Show filters" })) }));
6873
+ 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" })) }));
6623
6874
  };
6624
6875
 
6625
- var styles$6 = {"product-listing":"product-listing-page-module-dmIHF","header":"product-listing-page-module-Oz76Z","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"};
6876
+ var styles$8 = {"product-listing":"product-listing-page-module-dmIHF","header":"product-listing-page-module-Oz76Z","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"};
6626
6877
 
6627
6878
  function ProductListingPage({ bffUrl, pageUrl, searchClient, }) {
6628
6879
  const languageCode = useLanguageCode();
@@ -6634,20 +6885,19 @@ function ProductListingPage({ bffUrl, pageUrl, searchClient, }) {
6634
6885
  return (jsxs("h1", { children: [error.status, " - ", error.statusText] }));
6635
6886
  }
6636
6887
  if (!data || isFetching) {
6637
- // TODO: Implement loading page
6638
- return null;
6888
+ return jsx(LoadingOverlay, {});
6639
6889
  }
6640
6890
  const category = data.breadCrumb.slice(1).map(breadCrumb => breadCrumb.label);
6641
6891
  return (jsx(ProductListingPageProvider, { data: data, error: error, isError: isError, isLoading: isFetching, children: jsx(AlgoliaProvider, { categoryPages: data.categoryPages, languageCode: languageCode, offlineSearchClient: offlineSearchClient, searchClient: searchClient ||
6642
- createSonicSearchClient(`${bffUrl}${bffUrl.endsWith('/') ? '' : '/'}search`), children: jsx(Page, { breadCrumb: data.breadCrumb, className: styles$6['product-listing'], title: category.slice().pop(), children: jsx(ProductListingPageContent, {}) }) }) }));
6892
+ createSonicSearchClient(`${bffUrl}${bffUrl.endsWith('/') ? '' : '/'}search`), children: jsx(Page, { breadCrumb: data.breadCrumb, className: styles$8['product-listing'], title: category.slice().pop(), children: jsx(ProductListingPageContent, {}) }) }) }));
6643
6893
  }
6644
6894
  function ProductListingPageContent() {
6645
6895
  const { toggle } = useSidebar();
6646
- return (jsxs(Fragment, { children: [jsx("section", { className: styles$6.categories, children: jsx(ConnectedCategoryCarousel, {}) }), jsxs("section", { className: styles$6['action-bar'], children: [jsx("div", { className: styles$6['sidebar-toggle'], children: jsx(ToggleSidebarButton, {}) }), jsx("span", { className: styles$6.count, children: jsx(AlgoliaResultsCount, {}) }), jsx("div", { className: styles$6.sort, children: jsx(AlgoliaSortBy, {}) })] }), jsx("section", { children: jsxs("div", { className: styles$6['product-grid-container'], children: [jsx(Sidebar, { children: jsx(AlgoliaFilterPanel, { onShowProducts: toggle }) }), jsxs("div", { className: styles$6['product-grid'], children: [jsx(ProductOverview, {}), jsx("div", { className: styles$6.pagination, children: jsx(AlgoliaPagination, { onChange: () => scrollToTop() }) })] })] }) })] }));
6896
+ return (jsxs(Fragment, { children: [jsx("section", { className: styles$8.categories, children: jsx(ConnectedCategoryCarousel, {}) }), jsxs("section", { className: styles$8['action-bar'], children: [jsx("div", { className: styles$8['sidebar-toggle'], children: jsx(ToggleSidebarButton, {}) }), jsx("span", { className: styles$8.count, children: jsx(AlgoliaResultsCount, {}) }), jsx("div", { className: styles$8.sort, children: jsx(AlgoliaSortBy, {}) })] }), jsx("section", { children: jsxs("div", { className: styles$8['product-grid-container'], children: [jsx(Sidebar, { children: jsx(AlgoliaFilterPanel, { onShowProducts: toggle }) }), jsxs("div", { className: styles$8['product-grid'], children: [jsx(ProductOverview, {}), jsx("div", { className: styles$8.pagination, children: jsx(AlgoliaPagination, { onChange: () => scrollToTop() }) })] })] }) })] }));
6647
6897
  }
6648
6898
  function ProductOverview() {
6649
6899
  const { hits: productHits } = useHits();
6650
- return (jsx(ProductOverviewGrid, { children: productHits.map(productHit => (jsx(ConnectedProductCart, { href: productHit.storefrontSlug, image: {
6900
+ return (jsx(ProductOverviewGrid, { children: productHits.map(productHit => (jsx(ConnectedProductCard, { href: productHit.storefrontSlug, image: {
6651
6901
  alt: productHit.name,
6652
6902
  fit: 'contain',
6653
6903
  src: productHit.images?.find(image => image.quality === 'medium')
@@ -6660,7 +6910,7 @@ function ProductOverview() {
6660
6910
  }, productId: productHit.storefrontId, sku: productHit.id, tags: productHit.labels, title: productHit.name }, productHit.storefrontId))) }));
6661
6911
  }
6662
6912
 
6663
- var styles$5 = {"overlay-background":"overlay-background-module-j7R7T","open":"overlay-background-module-DZWsP","close":"overlay-background-module-8pcWN"};
6913
+ var styles$7 = {"overlay-background":"overlay-background-module-j7R7T","open":"overlay-background-module-DZWsP","close":"overlay-background-module-8pcWN"};
6664
6914
 
6665
6915
  function OverlayBackground({ className, isOpen, onClick, }) {
6666
6916
  const [, setRender] = useState(isOpen);
@@ -6681,9 +6931,9 @@ function OverlayBackground({ className, isOpen, onClick, }) {
6681
6931
  }, [isOpen]);
6682
6932
  if (typeof window === 'undefined')
6683
6933
  return null;
6684
- return ReactDOM.createPortal(jsx("div", { ref: nodeRef, className: clsx(styles$5['overlay-background'], {
6685
- [styles$5['open']]: isOpen,
6686
- [styles$5['close']]: !isOpen,
6934
+ return ReactDOM.createPortal(jsx("div", { ref: nodeRef, className: clsx(styles$7['overlay-background'], {
6935
+ [styles$7['open']]: isOpen,
6936
+ [styles$7['close']]: !isOpen,
6687
6937
  }, className), onClick: onClick }), document.body);
6688
6938
  }
6689
6939
 
@@ -6701,7 +6951,7 @@ function useIsBreakpoint(breakpoint) {
6701
6951
  return isMatch;
6702
6952
  }
6703
6953
 
6704
- var styles$4 = {"sidebar-container":"sidebar-provider-module-rjeCL","transition":"sidebar-provider-module-C0cKR","sidebar-background":"sidebar-provider-module-VRgS9","is-open":"sidebar-provider-module-lxq2-"};
6954
+ var styles$6 = {"sidebar-container":"sidebar-provider-module-rjeCL","transition":"sidebar-provider-module-C0cKR","sidebar-background":"sidebar-provider-module-VRgS9","is-open":"sidebar-provider-module-lxq2-"};
6705
6955
 
6706
6956
  function SidebarDetectBreakpoint() {
6707
6957
  const xxl = useIsBreakpoint('xxl');
@@ -6740,14 +6990,14 @@ function SidebarProvider({ children }) {
6740
6990
  setTransition(true);
6741
6991
  toggle();
6742
6992
  };
6743
- return (jsx(SidebarContext.Provider, { value: { close, isOpen, open, toggle: toggleTransition, transition }, children: jsxs("div", { className: clsx(styles$4['sidebar-container'], {
6744
- [styles$4['transition']]: transition,
6993
+ return (jsx(SidebarContext.Provider, { value: { close, isOpen, open, toggle: toggleTransition, transition }, children: jsxs("div", { className: clsx(styles$6['sidebar-container'], {
6994
+ [styles$6['transition']]: transition,
6745
6995
  }), children: [jsx(SidebarDetectBreakpoint, {}), children] }) }));
6746
6996
  }
6747
6997
 
6748
6998
  function AlgoliaCategories() {
6749
6999
  const categories = [{ count: 123, href: '#', id: '123', name: 'Hand tools' }];
6750
- return (jsx("div", { children: categories.length > 0 && (jsxs("section", { className: styles$9['categories-section'], children: [jsx("h4", { className: styles$9['categories-header'], children: "Categories" }), jsx("div", { className: styles$9.categories, children: categories.map(({ count, href, id, name }) => (jsxs("a", { className: styles$9['category'], href: href, children: [jsx("span", { children: name }), ' ', jsxs("span", { className: styles$9.count, children: ["(", count, ")"] })] }, id))) })] })) }));
7000
+ return (jsx("div", { children: categories.length > 0 && (jsxs("section", { className: styles$c['categories-section'], children: [jsx("h4", { className: styles$c['categories-header'], children: "Categories" }), jsx("div", { className: styles$c.categories, children: categories.map(({ count, href, id, name }) => (jsxs("a", { className: styles$c['category'], href: href, children: [jsx("span", { children: name }), ' ', jsxs("span", { className: styles$c.count, children: ["(", count, ")"] })] }, id))) })] })) }));
6751
7001
  }
6752
7002
 
6753
7003
  const categoriesPlugin = ({ productsIndexName, searchClient, }) => {
@@ -7044,12 +7294,12 @@ function useAlgoliaSearch() {
7044
7294
  };
7045
7295
  }
7046
7296
 
7047
- var styles$3 = {"global-search-overlay-background-position":"global-search-module-mmXv1","search-wrapper":"global-search-module-d2g2F","search-root":"global-search-module-Sx8Lx"};
7297
+ var styles$5 = {"global-search-overlay-background-position":"global-search-module-mmXv1","search-wrapper":"global-search-module-d2g2F","search-root":"global-search-module-Sx8Lx"};
7048
7298
 
7049
7299
  const GlobalSearchDisclosureContext = createContext(null);
7050
7300
  function GlobalSearchContainer({ children, }) {
7051
7301
  const { close, isOpen, open, toggle } = useDisclosure(false);
7052
- return (jsx(TransitionGroup, { children: jsxs(GlobalSearchDisclosureContext.Provider, { value: { close, isOpen, open, toggle }, children: [jsx(Transition, { in: isOpen, timeout: 300, children: state => jsx("div", { className: state, children: children }) }), jsx(OverlayBackground, { className: styles$3['global-search-overlay-background-position'], isOpen: isOpen, onClick: toggle })] }) }));
7302
+ return (jsx(TransitionGroup, { children: jsxs(GlobalSearchDisclosureContext.Provider, { value: { close, isOpen, open, toggle }, children: [jsx(Transition, { in: isOpen, timeout: 300, children: state => jsx("div", { className: state, children: children }) }), jsx(OverlayBackground, { className: styles$5['global-search-overlay-background-position'], isOpen: isOpen, onClick: toggle })] }) }));
7053
7303
  }
7054
7304
 
7055
7305
  const useGlobalSearchDisclosure = () => {
@@ -7060,15 +7310,15 @@ const useGlobalSearchDisclosure = () => {
7060
7310
  return context;
7061
7311
  };
7062
7312
 
7063
- function MagnifyingGlassIcon(props) {
7064
- return (jsx("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M10.104 16.574a6.477 6.477 0 0 1-6.469-6.47 6.477 6.477 0 0 1 6.47-6.469 6.477 6.477 0 0 1 6.469 6.47 6.477 6.477 0 0 1-6.47 6.469m11.654 4.028-5.392-5.351a8.105 8.105 0 1 0-1.161 1.151l5.402 5.36a.816.816 0 0 0 1.156-.004.818.818 0 0 0-.005-1.156", fill: "currentColor", fillRule: "evenodd" }) }));
7313
+ function SolidCloseIcon(props) {
7314
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M11.9997748,2 C17.5138784,2 22,6.48597148 22,11.9997748 C22,17.5138784 17.5138784,22 11.9997748,22 C6.48597148,22 2,17.5138784 2,11.9997748 C2,6.48597148 6.48597148,2 11.9997748,2 Z M16.4949747,7.50502525 C16.2216077,7.23165825 15.7783923,7.23165825 15.5050253,7.50502525 L12,11.011 L8.49497475,7.50502525 C8.22160774,7.23165825 7.77839226,7.23165825 7.50502525,7.50502525 L7.43121616,7.59179111 C7.23439192,7.86533687 7.25899495,8.24894444 7.50502525,8.49497475 L11.011,12 L7.50502525,15.5050253 C7.23165825,15.7783923 7.23165825,16.2216077 7.50502525,16.4949747 L7.59179111,16.5687838 C7.86533687,16.7656081 8.24894444,16.7410051 8.49497475,16.4949747 L12,12.988 L15.5050253,16.4949747 C15.7783923,16.7683418 16.2216077,16.7683418 16.4949747,16.4949747 L16.5687838,16.4082089 C16.7656081,16.1346631 16.7410051,15.7510556 16.4949747,15.5050253 L12.988,12 L16.4949747,8.49497475 C16.7683418,8.22160774 16.7683418,7.77839226 16.4949747,7.50502525 Z", fillRule: "evenodd" }) }));
7065
7315
  }
7066
7316
 
7067
- function ResetIcon(props) {
7068
- return (jsx("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", ...props, children: jsx("path", { d: "M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10S2 17.514 2 12 6.486 2 12 2zm4.495 5.505a.7.7 0 0 0-.99 0L12 11.011 8.495 7.505a.7.7 0 0 0-.99 0l-.074.087a.7.7 0 0 0 .074.903L11.011 12l-3.506 3.505a.7.7 0 0 0 0 .99l.087.074a.7.7 0 0 0 .903-.074L12 12.988l3.505 3.507a.7.7 0 0 0 .99 0l.074-.087a.7.7 0 0 0-.074-.903L12.988 12l3.507-3.505a.7.7 0 0 0 0-.99z", fill: "currentColor", fillRule: "evenodd" }) }));
7317
+ function StrokeSearchIcon(props) {
7318
+ 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" }) }));
7069
7319
  }
7070
7320
 
7071
- var styles$2 = {"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"};
7321
+ var styles$4 = {"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"};
7072
7322
 
7073
7323
  function SearchInput({ autocomplete, formRef, inputRef, }) {
7074
7324
  const formProps = autocomplete?.getFormProps({
@@ -7078,7 +7328,7 @@ function SearchInput({ autocomplete, formRef, inputRef, }) {
7078
7328
  inputElement: inputRef.current,
7079
7329
  });
7080
7330
  const labelProps = autocomplete?.getLabelProps({});
7081
- return (jsx("form", { ref: formRef, className: styles$2.form, ...formProps, children: jsxs("div", { className: styles$2['input-container'], children: [jsx("label", { className: styles$2.label, ...labelProps, children: jsx(MagnifyingGlassIcon, { className: clsx(styles$2['icon-search'], styles$2.icon) }) }), jsx("input", { ref: inputRef, ...inputProps, className: styles$2.input }), inputProps?.value && (jsx(IconButton, { className: styles$2['reset-btn'], color: "secondary", onPress: () => formRef.current?.reset(), type: "reset", children: jsx(ResetIcon, {}) }))] }) }));
7331
+ return (jsx("form", { ref: formRef, className: styles$4.form, ...formProps, children: jsxs("div", { className: styles$4['input-container'], children: [jsx("label", { className: styles$4.label, ...labelProps, children: jsx(StrokeSearchIcon, { className: clsx(styles$4['icon-search'], styles$4.icon) }) }), jsx("input", { ref: inputRef, ...inputProps, className: styles$4.input }), inputProps?.value && (jsx(IconButton, { className: styles$4['reset-btn'], color: "secondary", onPress: () => formRef.current?.reset(), type: "reset", children: jsx(SolidCloseIcon, {}) }))] }) }));
7082
7332
  }
7083
7333
 
7084
7334
  function ConnectedSearchInput() {
@@ -7086,6 +7336,27 @@ function ConnectedSearchInput() {
7086
7336
  return (jsx(SearchInput, { autocomplete: autocomplete, formRef: formRef, inputRef: inputRef }));
7087
7337
  }
7088
7338
 
7339
+ var styles$3 = {"content":"search-content-module-KIok6","left":"search-content-module-YRLIf","right":"search-content-module-qK5sg","section":"search-content-module-HLQ4O","title":"search-content-module-ywvOI","product-results-section":"search-content-module--V5hi","product-results":"search-content-module-bcFCH"};
7340
+
7341
+ function SectionContainer({ leftContent, rightContent, }) {
7342
+ return (jsxs("div", { className: styles$3['content'], children: [jsx("div", { className: styles$3['left'], children: leftContent }), jsx("div", { className: styles$3['right'], children: rightContent })] }));
7343
+ }
7344
+
7345
+ function NoResults() {
7346
+ const { state } = useAlgoliaSearch();
7347
+ return (jsx(Fragment, { children: jsx(SectionContainer, { leftContent: jsx("div", { className: styles$3['no-results-text'], children: jsxs("div", { className: styles$3.section, children: [jsxs("h3", { className: styles$3.title, children: ["No results for \"", state.query, "\"."] }), jsxs("div", { children: ["You could try:", jsxs("ul", { children: [jsx("li", { children: "Searching again using more general terms" }), jsx("li", { children: "Double check your spelling" }), jsx("li", { children: "Use fewer keywords" }), jsx("li", { children: "Exploring our products by category" })] })] })] }) }), rightContent: jsx(PopularCategoriesSection, {}) }) }));
7348
+ }
7349
+ function PopularCategoriesSection() {
7350
+ const { autocomplete, popularCategories: collection } = useAlgoliaSearch();
7351
+ if (!collection)
7352
+ return null;
7353
+ const { items, source } = collection;
7354
+ return (jsxs("div", { className: styles$3.section, children: [jsx("h3", { className: styles$3.title, children: "Explore by categories" }), jsx("div", { ...autocomplete.getListProps({ source }), children: items.map(item => (jsx("div", { ...autocomplete.getItemProps({
7355
+ item,
7356
+ source: source,
7357
+ }), children: item.label }, item.label))) })] }));
7358
+ }
7359
+
7089
7360
  function Highlight({ attribute, hit, tagName = 'mark', }) {
7090
7361
  return createElement$1(Fragment$1, {}, parseAlgoliaHitHighlight({ attribute, hit }).map(({ isHighlighted, value }, index) => {
7091
7362
  if (isHighlighted) {
@@ -7095,25 +7366,15 @@ function Highlight({ attribute, hit, tagName = 'mark', }) {
7095
7366
  }));
7096
7367
  }
7097
7368
 
7098
- function PanelContent() {
7099
- const { hasResults, state } = useAlgoliaSearch();
7100
- if (!state.query.length) {
7101
- return jsx(NoSearch, {});
7102
- }
7103
- if (!hasResults) {
7104
- return jsx(NoResults, {});
7105
- }
7106
- return jsx(WithResults, {});
7107
- }
7108
7369
  function NoSearch() {
7109
- return (jsxs("div", { style: { display: 'flex', gap: '24px' }, children: [jsx(RecentSearchesSection, {}), jsx(PopularSearchesSection, {}), jsx(QuickAccessSection, {})] }));
7370
+ return (jsx(SectionContainer, { leftContent: jsxs("div", { children: [jsx(RecentSearchesSection, {}), jsx(PopularSearchesSection, {})] }), rightContent: jsx(QuickAccessSection, {}) }));
7110
7371
  }
7111
7372
  function PopularSearchesSection() {
7112
7373
  const { autocomplete, popularSearches: collection } = useAlgoliaSearch();
7113
7374
  if (!collection)
7114
7375
  return null;
7115
7376
  const { items, source } = collection;
7116
- return (jsxs("div", { children: [jsx("h3", { children: "Popular searches" }), jsx("div", { ...autocomplete.getListProps({
7377
+ return (jsxs("div", { className: styles$3.section, children: [jsx("h3", { className: styles$3.title, children: "Popular searches" }), jsx("div", { ...autocomplete.getListProps({
7117
7378
  source,
7118
7379
  }), children: items.slice(0, 4).map(item => (jsx("div", { ...autocomplete.getItemProps({
7119
7380
  item,
@@ -7126,7 +7387,7 @@ function RecentSearchesSection() {
7126
7387
  return null;
7127
7388
  }
7128
7389
  const { items, source } = collection;
7129
- return (jsxs("div", { children: [jsx("h3", { children: "Recent searches" }), jsx("div", { ...autocomplete.getListProps({ source }), children: items.map(item => (jsxs("div", { ...autocomplete.getItemProps({
7390
+ return (jsxs("div", { className: styles$3.section, children: [jsx("h3", { className: styles$3.title, children: "Recent searches" }), jsx("div", { ...autocomplete.getListProps({ source }), children: items.map(item => (jsxs("div", { ...autocomplete.getItemProps({
7130
7391
  item,
7131
7392
  source: source,
7132
7393
  }), children: [jsx(Highlight, { attribute: "label", hit: item }), jsx("button", { onClick: e => {
@@ -7141,31 +7402,24 @@ function QuickAccessSection() {
7141
7402
  if (!collection)
7142
7403
  return;
7143
7404
  const { items, source } = collection;
7144
- return (jsxs("div", { children: [jsx("h3", { children: "Quick access" }), jsx("div", { ...autocomplete.getListProps({ source }), children: items.map(item => (jsx("div", { ...autocomplete.getItemProps({
7405
+ return (jsxs("div", { className: styles$3.section, children: [jsx("h3", { className: styles$3.title, children: "Quick access" }), jsx("div", { ...autocomplete.getListProps({ source }), children: items.map(item => (jsx("div", { ...autocomplete.getItemProps({
7145
7406
  item,
7146
7407
  source: source,
7147
7408
  }), children: item.title }, item.id))) })] }));
7148
7409
  }
7149
- function NoResults() {
7150
- const { state } = useAlgoliaSearch();
7151
- return (jsxs("div", { style: { display: 'flex', gap: '24px' }, children: [jsxs("div", { children: [jsxs("h3", { children: ["No results for \"", state.query, "\"."] }), jsxs("div", { children: ["You could try:", jsxs("ul", { children: [jsx("li", { children: "Searching again using more general terms" }), jsx("li", { children: "Double check your spelling" }), jsx("li", { children: "Use fewer keywords" }), jsx("li", { children: "Exploring our products by category" })] })] })] }), jsx("div", { children: jsx(PopularCategoriesSection, {}) })] }));
7152
- }
7153
- function PopularCategoriesSection() {
7154
- const { autocomplete, popularCategories: collection } = useAlgoliaSearch();
7155
- if (!collection)
7156
- return null;
7157
- const { items, source } = collection;
7158
- return (jsxs("div", { children: [jsx("h3", { children: "Explore by categories" }), jsx("div", { ...autocomplete.getListProps({ source }), children: items.map(item => (jsx("div", { ...autocomplete.getItemProps({
7159
- item,
7160
- source: source,
7161
- }), children: item.label }, item.label))) })] }));
7410
+
7411
+ var styles$2 = {"slide":"product-carousel-module-XVTB1"};
7412
+
7413
+ function ProductCarousel({ productCards }) {
7414
+ return (jsx(Carousel, { hasOverflow: false, navigationButtonsPosition: "center", slideClasses: styles$2.slide, slides: productCards, spaceBetween: 16 }));
7162
7415
  }
7416
+
7163
7417
  function WithResults() {
7164
- return (jsxs("div", { style: { display: 'flex', gap: '24px' }, children: [jsx("div", { children: jsx(SuggestionsSection, {}) }), jsx("div", { children: jsx(ProductResultsSection, {}) })] }));
7418
+ return (jsx(SectionContainer, { leftContent: jsx(SuggestionsSection, {}), rightContent: jsx(ProductResultsSection, {}) }));
7165
7419
  }
7166
7420
  function SuggestionsSection() {
7167
7421
  const { autocomplete, categories, querySuggestions, recentSearches } = useAlgoliaSearch();
7168
- return (jsxs("div", { children: [jsx("h3", { children: "Suggestions" }), jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '16px' }, children: [recentSearches && (jsx("div", { ...autocomplete.getListProps({
7422
+ return (jsxs("div", { className: styles$3['section'], children: [jsx("h3", { className: styles$3.title, children: "Suggestions" }), jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '16px' }, children: [recentSearches && (jsx("div", { ...autocomplete.getListProps({
7169
7423
  source: recentSearches.source,
7170
7424
  }), children: recentSearches.items.slice(0, 1).map(item => (jsx("div", { ...autocomplete.getItemProps({
7171
7425
  item,
@@ -7184,24 +7438,25 @@ function SuggestionsSection() {
7184
7438
  }
7185
7439
  function ProductResultsSection() {
7186
7440
  const { autocomplete, products: collection } = useAlgoliaSearch();
7187
- const [quantity, setQuantity] = useState(0);
7188
7441
  if (!collection)
7189
7442
  return null;
7190
7443
  const { items, source } = collection;
7191
- return (jsxs("div", { children: [jsx("h3", { children: "Products" }), jsx("div", { style: { display: 'flex' }, ...autocomplete.getListProps({ source }), children: items.map(item => (jsx(ProductCard, { href: "#", ...autocomplete.getItemProps({
7192
- item,
7193
- source: source,
7194
- }), addToCartButton: jsx(AddToCartButton, { onChange: setQuantity, quantity: quantity }), image: {
7195
- alt: item.name,
7196
- fit: 'contain',
7197
- src: item.images?.find(image => image.quality === 'medium')?.url ||
7198
- '',
7199
- title: item.name,
7200
- }, price: {
7201
- isVatIncluded: item.isVatIncluded,
7202
- originalPrice: item.originalPrice,
7203
- price: item.price,
7204
- }, sku: item.ean, title: item.name }, item.id))) })] }));
7444
+ return (jsxs("div", { className: clsx(styles$3['section'], styles$3['product-results-section']), children: [jsx("h3", { className: styles$3['title'], children: "Products" }), jsx("div", { className: styles$3['product-results'], ...autocomplete.getListProps({ source }), children: jsx(ProductCarousel, { productCards: items.map(product => (jsx(ConnectedProductCard, { href: product.storefrontSlug, image: {
7445
+ alt: product.name,
7446
+ fit: 'contain',
7447
+ src: product.images?.find(image => image.quality === 'medium')
7448
+ ?.url || '',
7449
+ title: product.name,
7450
+ }, price: {
7451
+ isVatIncluded: product.isVatIncluded,
7452
+ originalPrice: product.originalPrice,
7453
+ price: product.price,
7454
+ }, productId: "", sku: product.id, tags: product.labels, title: product.name }, product.id))) }) })] }));
7455
+ }
7456
+
7457
+ function PanelContent() {
7458
+ const { hasResults, state } = useAlgoliaSearch();
7459
+ return (jsx(Fragment, { children: !state.query.length ? (jsx(NoSearch, {})) : hasResults ? (jsx(WithResults, {})) : (jsx(NoResults, {})) }));
7205
7460
  }
7206
7461
 
7207
7462
  var styles$1 = {"search-result-panel":"search-result-panel-module-KBrc9","entering":"search-result-panel-module-Us8rb","entered":"search-result-panel-module-7UxfH","exiting":"search-result-panel-module-3xEiy","exited":"search-result-panel-module-xSeC-"};
@@ -7240,7 +7495,7 @@ function SearchRoot() {
7240
7495
  * https://codesandbox.io/p/sandbox/github/algolia/autocomplete/tree/next/examples/two-column-layout
7241
7496
  */
7242
7497
  function GlobalSearch({ children, searchClient }) {
7243
- return (jsx(GlobalSearchContainer, { children: jsx(AlgoliaSearchProvider, { searchClient: searchClient, children: jsxs("div", { className: styles$3['search-wrapper'], children: [children, jsx("div", { className: styles$3['search-root'], children: jsx(SearchRoot, {}) })] }) }) }));
7498
+ return (jsx(GlobalSearchContainer, { children: jsx(AlgoliaSearchProvider, { searchClient: searchClient, children: jsxs("div", { className: styles$5['search-wrapper'], children: [children, jsx("div", { className: styles$5['search-root'], children: jsx(SearchRoot, {}) })] }) }) }));
7244
7499
  }
7245
7500
 
7246
- export { Accordion, AddProductToCurrentCartError, AddToCartButton, AlgoliaCategories, AlgoliaFilterPanel, AlgoliaFilterSection, AlgoliaMultiSelectFilterSection, AlgoliaPagination, AlgoliaProvider, AlgoliaResultsCount, AlgoliaSortBy, AvailabilityMessageType, BadgeImagePlacementValues, BadgeStyleValues, BadgeTypeValues, Breadcrumb, Button, CartFilledIcon, CartOutlinedIcon, CartProvider, CategoryCarousel, Checkbox, ColorCheckbox, ConnectedAddToCartButton, CurrencyPositioningType, DehashedOutlinedIcon, DeleteCartLineByIdError, FavoriteButton, FavoriteFilledIcon, FavoriteOutlinedIcon, FavoriteProvider, FetchCurrentCartLinesError, FetchProductListingPageDataError, FormattedMessage, GlobalSearch, GlobalSearchContainer, GlobalSearchDisclosureContext, GlobalStateProvider, GlobalStateProviderContext, HashedOutlinedIcon, IconButton, Image, IntlProvider, LeftArrowFilledIcon, LinkButton, MultiSelect, NumberField, Page, PageContainer, ProductCard, ProductListingPage, ProductOverviewGrid, ProductPrice, ProductSku, RightArrowFilledIcon, RouteButton, RouteLink, RouteProvider, Select, ShowAll, Sidebar, SidebarDetectBreakpoint, SidebarProvider, TextAlignedArrowIcon, TextField, UpdateCartLineByIdError, VariantDisplayTypeValues, breakpoints$1 as breakpoints, createSonicSearchClient, useAddProductToCurrentCart, useAlgolia, useAlgoliaSearch, useBreakpoint, useCartEvents, useDebouncedCallback, useDeleteCartLineById, useDisclosure, useFavorite, useFetchCurrentCartLines, useFetchProductListingPageData, useFormattedMessage, useGlobalSearchDisclosure, useGlobalState, useNavigate, useScrollLock, useUpdateCartLineById };
7501
+ export { Accordion, AddProductToCurrentCartError, AddToCartButton, AlgoliaCategories, AlgoliaFilterPanel, AlgoliaFilterSection, AlgoliaMultiSelectFilterSection, AlgoliaPagination, AlgoliaProvider, AlgoliaResultsCount, AlgoliaSortBy, AvailabilityMessageType, BadgeImagePlacementValues, BadgeStyleValues, BadgeTypeValues, Breadcrumb, Button, CartProvider, CategoryCarousel, Checkbox, ColorCheckbox, ConnectedAddToCartButton, CurrencyPositioningType, DeleteCartLineByIdError, FavoriteButton, FavoriteProvider, FetchCurrentCartLinesError, FetchProductListingPageDataError, FormattedMessage, GlobalSearch, GlobalSearchContainer, GlobalSearchDisclosureContext, GlobalStateProvider, GlobalStateProviderContext, IconButton, Image, IntlProvider, LinkButton, LoadingOverlay, MultiSelect, NumberField, Page, PageContainer, ProductCard, ProductListingPage, ProductOverviewGrid, ProductPrice, ProductSku, ProgressCircle, RouteButton, RouteLink, RouteProvider, Select, ShowAll, Sidebar, SidebarDetectBreakpoint, SidebarProvider, TextField, UpdateCartLineByIdError, VariantDisplayTypeValues, breakpoints$1 as breakpoints, createSonicSearchClient, useAddProductToCurrentCart, useAlgolia, useAlgoliaSearch, useBreakpoint, useCartEvents, useDebouncedCallback, useDeleteCartLineById, useDisclosure, useFavorite, useFetchCurrentCartLines, useFetchProductListingPageData, useFormattedMessage, useGlobalSearchDisclosure, useGlobalState, useNavigate, useScrollLock, useUpdateCartLineById };