efficient-storefront-blocks 0.66.2 → 0.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/chunks/{EditorPreviewCheckout-HAUEGHGC.js → EditorPreviewCheckout-HFP2TRRR.js} +1 -1
  3. package/dist/chunks/{SiteEditorProvider-KOPR3UDU.js → SiteEditorProvider-A7YYACG3.js} +1 -1
  4. package/dist/chunks/chunk-CFYEYTU6.js +254 -0
  5. package/dist/chunks/{chunk-Z7PJKX2P.js → chunk-EPJ5SM3A.js} +1 -1
  6. package/dist/chunks/{chunk-VEI75RPM.js → chunk-FL3KMJAT.js} +1 -1
  7. package/dist/chunks/{chunk-S66TL4Z3.js → chunk-YACB7UXA.js} +1 -1
  8. package/dist/chunks/{chunk-IHYVLVY3.js → chunk-YTQS5GY6.js} +1 -1
  9. package/dist/chunks/{fitment-data-UQDOQP66.js → fitment-data-RXCNCZLU.js} +1 -1
  10. package/dist/contract.js +1 -1
  11. package/dist/editor/components/BlogSource.js +1 -1
  12. package/dist/editor/components/ConsentBannerLayoutTiles.d.ts +1 -1
  13. package/dist/editor/components/HeaderSection.js +1 -1
  14. package/dist/editor/components/HeaderSettingsPanel.js +1 -1
  15. package/dist/editor/components/PreviewProductPicker.js +1 -1
  16. package/dist/editor/components/SocialLinksDoor.js +1 -1
  17. package/dist/editor/components/SwitchToBoxHeader.js +1 -1
  18. package/dist/editor/lib/api/section-templates.d.ts +1 -1
  19. package/dist/editor/lib/{puck → document}/blocks/commerce/AccountBlock/fields.d.ts +1 -1
  20. package/dist/editor/lib/document/blocks/commerce/AccountBlock/fields.js +1 -0
  21. package/dist/editor/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/fields.d.ts +1 -1
  22. package/dist/editor/lib/document/blocks/commerce/AlloyWheelsListing/fields.js +1 -0
  23. package/dist/editor/lib/{puck → document}/blocks/commerce/BundleOffer/fields.d.ts +1 -1
  24. package/dist/editor/lib/document/blocks/commerce/BundleOffer/fields.js +1 -0
  25. package/dist/editor/lib/{puck → document}/blocks/commerce/CartBlock/fields.d.ts +1 -1
  26. package/dist/editor/lib/document/blocks/commerce/CartBlock/fields.js +1 -0
  27. package/dist/editor/lib/{puck → document}/blocks/commerce/CatalogFilterBar/fields.d.ts +1 -1
  28. package/dist/editor/lib/document/blocks/commerce/CatalogFilterBar/fields.js +1 -0
  29. package/dist/editor/lib/{puck → document}/blocks/commerce/CheckoutCTA/fields.d.ts +1 -1
  30. package/dist/editor/lib/document/blocks/commerce/CheckoutCTA/fields.js +1 -0
  31. package/dist/editor/lib/{puck → document}/blocks/commerce/CollectionCard/fields.d.ts +1 -1
  32. package/dist/editor/lib/document/blocks/commerce/CollectionCard/fields.js +1 -0
  33. package/dist/editor/lib/{puck → document}/blocks/commerce/Collections/fields.d.ts +1 -1
  34. package/dist/editor/lib/document/blocks/commerce/Collections/fields.js +1 -0
  35. package/dist/editor/lib/{puck → document}/blocks/commerce/CompatibleTyres/fields.d.ts +1 -1
  36. package/dist/editor/lib/document/blocks/commerce/CompatibleTyres/fields.js +1 -0
  37. package/dist/editor/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/fields.d.ts +1 -1
  38. package/dist/editor/lib/document/blocks/commerce/CountrySwitchBlock/fields.js +1 -0
  39. package/dist/editor/lib/{puck → document}/blocks/commerce/DeliveryOptions/fields.d.ts +1 -1
  40. package/dist/editor/lib/document/blocks/commerce/DeliveryOptions/fields.js +1 -0
  41. package/dist/editor/lib/{puck → document}/blocks/commerce/DetailRows/fields.d.ts +1 -1
  42. package/dist/editor/lib/document/blocks/commerce/DetailRows/fields.js +1 -0
  43. package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabel/fields.d.ts +1 -1
  44. package/dist/editor/lib/document/blocks/commerce/EuTyreLabel/fields.js +1 -0
  45. package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/fields.d.ts +1 -1
  46. package/dist/editor/lib/{puck → document}/blocks/commerce/FitmentFinder/fields.d.ts +1 -1
  47. package/dist/editor/lib/document/blocks/commerce/FitmentFinder/fields.js +1 -0
  48. package/dist/editor/lib/{puck → document}/blocks/commerce/FitmentTable/fields.d.ts +1 -1
  49. package/dist/editor/lib/document/blocks/commerce/FitmentTable/fields.js +1 -0
  50. package/dist/editor/lib/{puck → document}/blocks/commerce/Gallery/fields.d.ts +1 -1
  51. package/dist/editor/lib/document/blocks/commerce/Gallery/fields.js +1 -0
  52. package/dist/editor/lib/{puck → document}/blocks/commerce/GalleryB/fields.d.ts +1 -1
  53. package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -0
  54. package/dist/editor/lib/{puck → document}/blocks/commerce/GalleryItem/fields.d.ts +1 -1
  55. package/dist/editor/lib/document/blocks/commerce/GalleryItem/fields.js +1 -0
  56. package/dist/editor/lib/{puck → document}/blocks/commerce/Header/fields.d.ts +1 -1
  57. package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.d.ts +6 -0
  58. package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.js +1 -0
  59. package/dist/editor/lib/{puck → document}/blocks/commerce/ProductGrid/fields.d.ts +1 -1
  60. package/dist/editor/lib/document/blocks/commerce/ProductGrid/fields.js +1 -0
  61. package/dist/editor/lib/{puck → document}/blocks/commerce/ProductHero/fields.d.ts +1 -1
  62. package/dist/editor/lib/document/blocks/commerce/ProductHero/fields.js +1 -0
  63. package/dist/editor/lib/{puck → document}/blocks/commerce/ProductRef/fields.d.ts +1 -1
  64. package/dist/editor/lib/document/blocks/commerce/ProductRef/fields.js +1 -0
  65. package/dist/editor/lib/{puck → document}/blocks/commerce/RelatedProducts/fields.d.ts +1 -1
  66. package/dist/editor/lib/document/blocks/commerce/RelatedProducts/fields.js +1 -0
  67. package/dist/editor/lib/{puck → document}/blocks/commerce/SearchBlock/fields.d.ts +1 -1
  68. package/dist/editor/lib/document/blocks/commerce/SearchBlock/fields.js +1 -0
  69. package/dist/editor/lib/{puck → document}/blocks/commerce/SpecTable/fields.d.ts +1 -1
  70. package/dist/editor/lib/document/blocks/commerce/SpecTable/fields.js +1 -0
  71. package/dist/editor/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/fields.d.ts +1 -1
  72. package/dist/editor/lib/{puck → document}/blocks/commerce/TyreFitment/fields.d.ts +1 -1
  73. package/dist/editor/lib/document/blocks/commerce/TyreFitment/fields.js +1 -0
  74. package/dist/editor/lib/{puck → document}/blocks/commerce/TyreSizes/fields.d.ts +1 -1
  75. package/dist/editor/lib/document/blocks/commerce/TyreSizes/fields.js +1 -0
  76. package/dist/editor/lib/{puck → document}/blocks/commerce/controls.d.ts +1 -1
  77. package/dist/editor/lib/document/blocks/commerce/controls.js +1 -0
  78. package/dist/editor/lib/document/blocks/commerce/index.js +1 -0
  79. package/dist/editor/lib/{puck → document}/blocks/commerce/page-rules.d.ts +1 -1
  80. package/dist/editor/lib/document/blocks/commerce/page-rules.js +1 -0
  81. package/dist/editor/lib/{puck → document}/blocks/service/AppointmentBooking/fields.d.ts +1 -1
  82. package/dist/editor/lib/document/blocks/service/AppointmentBooking/fields.js +1 -0
  83. package/dist/editor/lib/{puck → document}/blocks/service/BookingBox/fields.d.ts +1 -1
  84. package/dist/editor/lib/document/blocks/service/BookingBox/fields.js +1 -0
  85. package/dist/editor/lib/{puck → document}/blocks/service/ContactRouting/fields.d.ts +1 -1
  86. package/dist/editor/lib/document/blocks/service/ContactRouting/fields.js +1 -0
  87. package/dist/editor/lib/{puck → document}/blocks/service/Events/fields.d.ts +1 -1
  88. package/dist/editor/lib/document/blocks/service/Events/fields.js +1 -0
  89. package/dist/editor/lib/{puck → document}/blocks/service/Footer/fields.d.ts +1 -1
  90. package/dist/editor/lib/document/blocks/service/Footer/fields.js +1 -0
  91. package/dist/editor/lib/{puck → document}/blocks/service/FooterDivider/fields.d.ts +1 -1
  92. package/dist/editor/lib/document/blocks/service/FooterDivider/fields.js +1 -0
  93. package/dist/editor/lib/{puck → document}/blocks/service/FooterEmailSignup/fields.d.ts +1 -1
  94. package/dist/editor/lib/document/blocks/service/FooterEmailSignup/fields.js +1 -0
  95. package/dist/editor/lib/{puck → document}/blocks/service/FooterGroup/fields.d.ts +1 -1
  96. package/dist/editor/lib/document/blocks/service/FooterGroup/fields.js +1 -0
  97. package/dist/editor/lib/{puck → document}/blocks/service/FooterLogo/fields.d.ts +1 -1
  98. package/dist/editor/lib/document/blocks/service/FooterLogo/fields.js +1 -0
  99. package/dist/editor/lib/{puck → document}/blocks/service/FooterMenu/fields.d.ts +1 -1
  100. package/dist/editor/lib/document/blocks/service/FooterMenu/fields.js +1 -0
  101. package/dist/editor/lib/{puck → document}/blocks/service/FooterSocial/fields.d.ts +1 -1
  102. package/dist/editor/lib/document/blocks/service/FooterSocial/fields.js +1 -0
  103. package/dist/editor/lib/{puck → document}/blocks/service/FooterText/fields.d.ts +1 -1
  104. package/dist/editor/lib/document/blocks/service/FooterText/fields.js +1 -0
  105. package/dist/editor/lib/{puck → document}/blocks/service/Form/fields.d.ts +1 -1
  106. package/dist/editor/lib/document/blocks/service/Form/fields.js +1 -0
  107. package/dist/editor/lib/{puck → document}/blocks/service/LegalLineBlock/fields.d.ts +1 -1
  108. package/dist/editor/lib/document/blocks/service/LegalLineBlock/fields.js +1 -0
  109. package/dist/editor/lib/document/blocks/service/RateTable/fields.d.ts +2 -0
  110. package/dist/editor/lib/document/blocks/service/RateTable/fields.js +1 -0
  111. package/dist/editor/lib/{puck → document}/blocks/service/RatingBlock/fields.d.ts +1 -1
  112. package/dist/editor/lib/document/blocks/service/RatingBlock/fields.js +1 -0
  113. package/dist/editor/lib/{puck → document}/blocks/service/ReviewForm/fields.d.ts +1 -1
  114. package/dist/editor/lib/document/blocks/service/ReviewForm/fields.js +1 -0
  115. package/dist/editor/lib/{puck → document}/blocks/service/Reviews/fields.d.ts +1 -1
  116. package/dist/editor/lib/document/blocks/service/Reviews/fields.js +1 -0
  117. package/dist/editor/lib/{puck → document}/blocks/service/SiteFooter/fields.d.ts +1 -1
  118. package/dist/editor/lib/document/blocks/service/SiteFooter/fields.js +1 -0
  119. package/dist/editor/lib/{puck → document}/blocks/service/SiteHeader/fields.d.ts +1 -1
  120. package/dist/editor/lib/document/blocks/service/SiteHeader/fields.js +1 -0
  121. package/dist/editor/lib/{puck → document}/blocks/service/SubmitBox/fields.d.ts +1 -1
  122. package/dist/editor/lib/document/blocks/service/SubmitBox/fields.js +1 -0
  123. package/dist/editor/lib/{puck → document}/blocks/service/SubmitBuild/fields.d.ts +1 -1
  124. package/dist/editor/lib/document/blocks/service/SubmitBuild/fields.js +1 -0
  125. package/dist/editor/lib/{puck → document}/blocks/service/Subscribe/fields.d.ts +1 -1
  126. package/dist/editor/lib/document/blocks/service/Subscribe/fields.js +1 -0
  127. package/dist/editor/lib/{puck → document}/blocks/service/SubscribeBlogs/fields.d.ts +1 -1
  128. package/dist/editor/lib/document/blocks/service/SubscribeBlogs/fields.js +1 -0
  129. package/dist/editor/lib/{puck → document}/blocks/service/controls.d.ts +1 -1
  130. package/dist/editor/lib/document/blocks/service/index.d.ts +1 -0
  131. package/dist/editor/lib/document/blocks/service/index.js +1 -0
  132. package/dist/editor/lib/{puck → document}/box-header-for-site.d.ts +1 -1
  133. package/dist/editor/lib/{puck → document}/box-header.d.ts +1 -1
  134. package/dist/editor/lib/document/box-header.js +1 -0
  135. package/dist/editor/lib/document/config.d.ts +69 -0
  136. package/dist/editor/lib/document/config.js +1 -0
  137. package/dist/editor/lib/efficient-backend.js +1 -1
  138. package/dist/editor/lib/efficient-block-sources.js +1 -1
  139. package/dist/editor/lib/storefront-editor-words.d.ts +13 -0
  140. package/dist/editor/lib/storefront-editor-words.js +1 -1
  141. package/dist/editor/lib/storefront-editor.js +1 -1
  142. package/dist/editor.css +1 -1
  143. package/dist/index.js +127 -425
  144. package/dist/links.js +1 -1
  145. package/dist/render/app/globals.css +23 -23
  146. package/dist/render/built-with.json +1 -1
  147. package/dist/render/components/AppointmentBooking.js +1 -1
  148. package/dist/render/components/BoxHeaderBar.js +1 -1
  149. package/dist/render/components/ChatLauncher.js +1 -1
  150. package/dist/render/components/CollectionCard.d.ts +1 -1
  151. package/dist/render/components/Collections.d.ts +1 -1
  152. package/dist/render/components/Collections.js +1 -1
  153. package/dist/render/components/ContactRouting.js +1 -1
  154. package/dist/render/components/GalleryCard.js +1 -1
  155. package/dist/render/components/Header.js +1 -1
  156. package/dist/render/components/LegalLine.d.ts +1 -1
  157. package/dist/render/components/LegalLine.js +1 -1
  158. package/dist/render/components/ProductGridSection.js +1 -1
  159. package/dist/render/components/PublishedFooter.js +1 -1
  160. package/dist/render/components/PublishedHeader.js +1 -1
  161. package/dist/render/components/RateTable.d.ts +10 -0
  162. package/dist/render/components/RateTable.js +1 -0
  163. package/dist/render/components/SpecTablePartBridge.js +1 -1
  164. package/dist/render/components/fitment/PickerField.js +1 -1
  165. package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -1
  166. package/dist/render/components/pdp-dynamic/DynamicDetailRows.d.ts +1 -1
  167. package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -1
  168. package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -1
  169. package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -1
  170. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
  171. package/dist/render/components/pdp-dynamic/DynamicProductGallery.js +1 -1
  172. package/dist/render/components/pdp-dynamic/DynamicProductHero.js +1 -1
  173. package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -1
  174. package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -1
  175. package/dist/render/components/pdp-dynamic/DynamicTyreFitment.js +1 -1
  176. package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -1
  177. package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -1
  178. package/dist/render/components/pdp-dynamic/KindGate.js +1 -1
  179. package/dist/render/components/pdp-dynamic/useSampleProduct.js +1 -1
  180. package/dist/render/components/useHeaderBar.js +1 -1
  181. package/dist/render/lib/api/index.js +1 -1
  182. package/dist/render/lib/booking/text-kinds.js +1 -1
  183. package/dist/render/lib/content/header-bar.js +1 -1
  184. package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/meta.d.ts +1 -1
  185. package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/render.d.ts +1 -1
  186. package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/meta.d.ts +1 -1
  187. package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/render.d.ts +1 -1
  188. package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/render.js +1 -0
  189. package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/meta.d.ts +1 -1
  190. package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/render.d.ts +1 -1
  191. package/dist/render/lib/document/blocks/commerce/BundleOffer/render.js +1 -0
  192. package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/meta.d.ts +1 -1
  193. package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/render.d.ts +1 -1
  194. package/dist/render/lib/document/blocks/commerce/CartBlock/render.js +1 -0
  195. package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/meta.d.ts +1 -1
  196. package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/render.d.ts +1 -1
  197. package/dist/render/lib/document/blocks/commerce/CatalogFilterBar/render.js +1 -0
  198. package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/meta.d.ts +1 -1
  199. package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/render.d.ts +1 -1
  200. package/dist/render/lib/document/blocks/commerce/CheckoutCTA/render.js +1 -0
  201. package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/meta.d.ts +1 -1
  202. package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/render.d.ts +1 -1
  203. package/dist/render/lib/document/blocks/commerce/CollectionCard/render.js +1 -0
  204. package/dist/render/lib/{puck → document}/blocks/commerce/Collections/meta.d.ts +1 -1
  205. package/dist/render/lib/{puck → document}/blocks/commerce/Collections/render.d.ts +1 -1
  206. package/dist/render/lib/document/blocks/commerce/Collections/render.js +1 -0
  207. package/dist/render/lib/{puck → document}/blocks/commerce/CompatibleTyres/meta.d.ts +1 -1
  208. package/dist/render/lib/document/blocks/commerce/CompatibleTyres/meta.js +1 -0
  209. package/dist/render/lib/{puck → document}/blocks/commerce/CompatibleTyres/render.d.ts +1 -1
  210. package/dist/render/lib/document/blocks/commerce/CompatibleTyres/render.js +1 -0
  211. package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/meta.d.ts +1 -1
  212. package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/render.d.ts +1 -1
  213. package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/render.js +1 -1
  214. package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/meta.d.ts +1 -1
  215. package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/render.d.ts +1 -1
  216. package/dist/render/lib/document/blocks/commerce/DeliveryOptions/render.js +1 -0
  217. package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/meta.d.ts +1 -1
  218. package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/render.d.ts +1 -1
  219. package/dist/render/lib/document/blocks/commerce/DetailRows/render.js +1 -0
  220. package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/meta.d.ts +1 -1
  221. package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/render.d.ts +1 -1
  222. package/dist/render/lib/document/blocks/commerce/EuTyreLabel/render.js +1 -0
  223. package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/meta.d.ts +1 -1
  224. package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/render.d.ts +1 -1
  225. package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/render.js +1 -1
  226. package/dist/render/lib/{puck → document}/blocks/commerce/FitmentFinder/meta.d.ts +1 -1
  227. package/dist/render/lib/document/blocks/commerce/FitmentFinder/meta.js +1 -0
  228. package/dist/render/lib/{puck → document}/blocks/commerce/FitmentFinder/render.d.ts +1 -1
  229. package/dist/render/lib/document/blocks/commerce/FitmentFinder/render.js +1 -0
  230. package/dist/render/lib/{puck → document}/blocks/commerce/FitmentTable/meta.d.ts +1 -1
  231. package/dist/render/lib/document/blocks/commerce/FitmentTable/meta.js +1 -0
  232. package/dist/render/lib/{puck → document}/blocks/commerce/FitmentTable/render.d.ts +1 -1
  233. package/dist/render/lib/document/blocks/commerce/FitmentTable/render.js +1 -0
  234. package/dist/render/lib/{puck → document}/blocks/commerce/Gallery/meta.d.ts +1 -1
  235. package/dist/render/lib/document/blocks/commerce/Gallery/meta.js +1 -0
  236. package/dist/render/lib/{puck → document}/blocks/commerce/Gallery/render.d.ts +1 -1
  237. package/dist/render/lib/document/blocks/commerce/Gallery/render.js +1 -0
  238. package/dist/render/lib/{puck → document}/blocks/commerce/GalleryB/meta.d.ts +1 -1
  239. package/dist/render/lib/document/blocks/commerce/GalleryB/meta.js +1 -0
  240. package/dist/render/lib/{puck → document}/blocks/commerce/GalleryB/render.d.ts +1 -1
  241. package/dist/render/lib/document/blocks/commerce/GalleryB/render.js +1 -0
  242. package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/meta.d.ts +1 -1
  243. package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/render.d.ts +1 -1
  244. package/dist/render/lib/document/blocks/commerce/GalleryItem/render.js +1 -0
  245. package/dist/render/lib/{puck → document}/blocks/commerce/Header/meta.d.ts +1 -1
  246. package/dist/render/lib/{puck → document}/blocks/commerce/Header/render.d.ts +1 -1
  247. package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/meta.d.ts +1 -1
  248. package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/render.d.ts +1 -1
  249. package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/render.js +1 -1
  250. package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/meta.d.ts +1 -1
  251. package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/render.d.ts +1 -1
  252. package/dist/render/lib/document/blocks/commerce/ProductGrid/render.js +1 -0
  253. package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/meta.d.ts +1 -1
  254. package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/render.d.ts +1 -1
  255. package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -0
  256. package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/meta.d.ts +1 -1
  257. package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/render.d.ts +1 -1
  258. package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/meta.d.ts +1 -1
  259. package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/render.d.ts +1 -1
  260. package/dist/render/lib/document/blocks/commerce/RelatedProducts/render.js +1 -0
  261. package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/meta.d.ts +1 -1
  262. package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/render.d.ts +1 -1
  263. package/dist/render/lib/document/blocks/commerce/SearchBlock/render.js +1 -0
  264. package/dist/render/lib/{puck → document}/blocks/commerce/SpecTable/meta.d.ts +1 -1
  265. package/dist/render/lib/document/blocks/commerce/SpecTable/meta.js +1 -0
  266. package/dist/render/lib/{puck → document}/blocks/commerce/SpecTable/render.d.ts +1 -1
  267. package/dist/render/lib/document/blocks/commerce/SpecTable/render.js +1 -0
  268. package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/meta.d.ts +1 -1
  269. package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/render.d.ts +1 -1
  270. package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/meta.d.ts +1 -1
  271. package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/render.d.ts +1 -1
  272. package/dist/render/lib/document/blocks/commerce/TyreFitment/render.js +1 -0
  273. package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/meta.d.ts +1 -1
  274. package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/render.d.ts +1 -1
  275. package/dist/render/lib/document/blocks/commerce/TyreSizes/render.js +1 -0
  276. package/dist/render/lib/{puck → document}/blocks/commerce/metas.d.ts +1 -1
  277. package/dist/render/lib/document/blocks/commerce/placeholders.js +1 -0
  278. package/dist/render/lib/{puck → document}/blocks/commerce/renders.d.ts +1 -1
  279. package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/meta.d.ts +1 -1
  280. package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/render.d.ts +1 -1
  281. package/dist/render/lib/document/blocks/service/AppointmentBooking/render.js +1 -0
  282. package/dist/render/lib/{puck → document}/blocks/service/BookingBox/meta.d.ts +1 -1
  283. package/dist/render/lib/{puck → document}/blocks/service/BookingBox/render.d.ts +1 -1
  284. package/dist/render/lib/document/blocks/service/BookingBox/render.js +1 -0
  285. package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/meta.d.ts +1 -1
  286. package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/render.d.ts +1 -1
  287. package/dist/render/lib/document/blocks/service/ContactRouting/render.js +1 -0
  288. package/dist/render/lib/{puck → document}/blocks/service/Events/meta.d.ts +1 -1
  289. package/dist/render/lib/document/blocks/service/Events/meta.js +1 -0
  290. package/dist/render/lib/{puck → document}/blocks/service/Events/render.d.ts +1 -1
  291. package/dist/render/lib/document/blocks/service/Events/render.js +1 -0
  292. package/dist/render/lib/{puck → document}/blocks/service/Footer/meta.d.ts +1 -1
  293. package/dist/render/lib/{puck → document}/blocks/service/Footer/render.d.ts +1 -1
  294. package/dist/render/lib/{puck → document}/blocks/service/Footer/render.js +1 -1
  295. package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/meta.d.ts +1 -1
  296. package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/render.d.ts +1 -1
  297. package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/meta.d.ts +1 -1
  298. package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/render.d.ts +1 -1
  299. package/dist/render/lib/document/blocks/service/FooterEmailSignup/render.js +1 -0
  300. package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/meta.d.ts +1 -1
  301. package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/render.d.ts +1 -1
  302. package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/meta.d.ts +1 -1
  303. package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/render.d.ts +1 -1
  304. package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/render.js +1 -1
  305. package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/meta.d.ts +1 -1
  306. package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/render.d.ts +1 -1
  307. package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/render.js +1 -1
  308. package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/meta.d.ts +1 -1
  309. package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/render.d.ts +1 -1
  310. package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/render.js +1 -1
  311. package/dist/render/lib/{puck → document}/blocks/service/FooterText/meta.d.ts +1 -1
  312. package/dist/render/lib/{puck → document}/blocks/service/FooterText/render.d.ts +1 -1
  313. package/dist/render/lib/document/blocks/service/FooterText/render.js +1 -0
  314. package/dist/render/lib/{puck → document}/blocks/service/Form/meta.d.ts +1 -1
  315. package/dist/render/lib/{puck → document}/blocks/service/Form/render.d.ts +1 -1
  316. package/dist/render/lib/document/blocks/service/Form/render.js +1 -0
  317. package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/meta.d.ts +1 -1
  318. package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/render.d.ts +1 -1
  319. package/dist/render/lib/document/blocks/service/RateTable/meta.d.ts +3 -0
  320. package/dist/render/lib/document/blocks/service/RateTable/meta.js +1 -0
  321. package/dist/render/lib/document/blocks/service/RateTable/render.d.ts +4 -0
  322. package/dist/render/lib/document/blocks/service/RateTable/render.js +1 -0
  323. package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/meta.d.ts +1 -1
  324. package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/render.d.ts +1 -1
  325. package/dist/render/lib/document/blocks/service/RatingBlock/render.js +1 -0
  326. package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/meta.d.ts +1 -1
  327. package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/render.d.ts +1 -1
  328. package/dist/render/lib/document/blocks/service/ReviewForm/render.js +1 -0
  329. package/dist/render/lib/{puck → document}/blocks/service/Reviews/meta.d.ts +1 -1
  330. package/dist/render/lib/{puck → document}/blocks/service/Reviews/render.d.ts +1 -1
  331. package/dist/render/lib/document/blocks/service/Reviews/render.js +1 -0
  332. package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/meta.d.ts +1 -1
  333. package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/render.d.ts +1 -1
  334. package/dist/render/lib/document/blocks/service/SiteFooter/render.js +1 -0
  335. package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/meta.d.ts +1 -1
  336. package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/render.d.ts +1 -1
  337. package/dist/render/lib/document/blocks/service/SiteHeader/render.js +1 -0
  338. package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/meta.d.ts +1 -1
  339. package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/render.d.ts +1 -1
  340. package/dist/render/lib/document/blocks/service/SubmitBox/render.js +1 -0
  341. package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/meta.d.ts +1 -1
  342. package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/render.d.ts +1 -1
  343. package/dist/render/lib/document/blocks/service/SubmitBuild/render.js +1 -0
  344. package/dist/render/lib/{puck → document}/blocks/service/Subscribe/meta.d.ts +1 -1
  345. package/dist/render/lib/{puck → document}/blocks/service/Subscribe/render.d.ts +1 -1
  346. package/dist/render/lib/document/blocks/service/Subscribe/render.js +1 -0
  347. package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/meta.d.ts +1 -1
  348. package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/render.d.ts +1 -1
  349. package/dist/render/lib/document/blocks/service/SubscribeBlogs/render.js +1 -0
  350. package/dist/render/lib/{puck → document}/blocks/service/metas.d.ts +2 -1
  351. package/dist/render/lib/document/blocks/service/metas.js +1 -0
  352. package/dist/render/lib/{puck → document}/blocks/service/renders.d.ts +2 -1
  353. package/dist/render/lib/document/blocks/service/renders.js +1 -0
  354. package/dist/render/lib/{puck → document}/blocks/service/subscribe.d.ts +1 -1
  355. package/dist/render/lib/document/blocks/service/subscribe.js +1 -0
  356. package/dist/render/lib/{puck → document}/blocks/text-part-shapes.json +18 -0
  357. package/dist/render/lib/document/footer-page-blocks.js +1 -0
  358. package/dist/render/lib/{puck → document}/lazy-draws.d.ts +2 -2
  359. package/dist/render/lib/document/lazy-draws.js +1 -0
  360. package/dist/render/lib/document/preview-pick.js +1 -0
  361. package/dist/render/lib/document/render-client.js +1 -0
  362. package/dist/render/lib/document/render-config.js +1 -0
  363. package/dist/render/lib/{puck → document}/slot-seeds.d.ts +2 -2
  364. package/dist/render/lib/document/slot-seeds.js +1 -0
  365. package/dist/render/lib/{puck → document}/storefront-root.d.ts +1 -1
  366. package/dist/render/lib/document/storefront-root.js +1 -0
  367. package/dist/render/lib/document/subscribe-content-type.js +1 -0
  368. package/dist/render/lib/popup/text-kind-style.js +1 -1
  369. package/dist/render/lib/sections/rate-table.d.ts +16 -0
  370. package/dist/render/lib/sections/rate-table.js +1 -0
  371. package/dist/render/lib/submit/text-kinds.js +1 -1
  372. package/dist/render/lib/wheels/catalog-default-layout.d.ts +1 -1
  373. package/dist/render/lib/wheels/catalog-default-layout.js +1 -1
  374. package/dist/words.d.ts +17 -5
  375. package/dist/words.js +4 -4
  376. package/package.json +4 -4
  377. package/dist/chunks/chunk-TAGGXC3A.js +0 -250
  378. package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.js +0 -1
  379. package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.js +0 -1
  380. package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.js +0 -1
  381. package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.js +0 -1
  382. package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.js +0 -1
  383. package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.js +0 -1
  384. package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.js +0 -1
  385. package/dist/editor/lib/puck/blocks/commerce/Collections/fields.js +0 -1
  386. package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.js +0 -1
  387. package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.js +0 -1
  388. package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.js +0 -1
  389. package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.js +0 -1
  390. package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.js +0 -1
  391. package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.js +0 -1
  392. package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.js +0 -1
  393. package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.js +0 -1
  394. package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.js +0 -1
  395. package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.js +0 -1
  396. package/dist/editor/lib/puck/blocks/commerce/ProductGallery/fields.d.ts +0 -6
  397. package/dist/editor/lib/puck/blocks/commerce/ProductGallery/fields.js +0 -1
  398. package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.js +0 -1
  399. package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.js +0 -1
  400. package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.js +0 -1
  401. package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.js +0 -1
  402. package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.js +0 -1
  403. package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.js +0 -1
  404. package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.js +0 -1
  405. package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.js +0 -1
  406. package/dist/editor/lib/puck/blocks/commerce/controls.js +0 -1
  407. package/dist/editor/lib/puck/blocks/commerce/index.js +0 -1
  408. package/dist/editor/lib/puck/blocks/commerce/page-rules.js +0 -1
  409. package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.js +0 -1
  410. package/dist/editor/lib/puck/blocks/service/BookingBox/fields.js +0 -1
  411. package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.js +0 -1
  412. package/dist/editor/lib/puck/blocks/service/Events/fields.js +0 -1
  413. package/dist/editor/lib/puck/blocks/service/Footer/fields.js +0 -1
  414. package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.js +0 -1
  415. package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.js +0 -1
  416. package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.js +0 -1
  417. package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.js +0 -1
  418. package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.js +0 -1
  419. package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.js +0 -1
  420. package/dist/editor/lib/puck/blocks/service/FooterText/fields.js +0 -1
  421. package/dist/editor/lib/puck/blocks/service/Form/fields.js +0 -1
  422. package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.js +0 -1
  423. package/dist/editor/lib/puck/blocks/service/RatingBlock/fields.js +0 -1
  424. package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.js +0 -1
  425. package/dist/editor/lib/puck/blocks/service/Reviews/fields.js +0 -1
  426. package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.js +0 -1
  427. package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.js +0 -1
  428. package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.js +0 -1
  429. package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.js +0 -1
  430. package/dist/editor/lib/puck/blocks/service/Subscribe/fields.js +0 -1
  431. package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.js +0 -1
  432. package/dist/editor/lib/puck/blocks/service/index.d.ts +0 -1
  433. package/dist/editor/lib/puck/blocks/service/index.js +0 -1
  434. package/dist/editor/lib/puck/box-header.js +0 -1
  435. package/dist/editor/lib/puck/config.d.ts +0 -69
  436. package/dist/editor/lib/puck/config.js +0 -1
  437. package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +0 -1
  438. package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +0 -1
  439. package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +0 -1
  440. package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +0 -1
  441. package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +0 -1
  442. package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +0 -1
  443. package/dist/render/lib/puck/blocks/commerce/Collections/render.js +0 -1
  444. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/meta.js +0 -1
  445. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +0 -1
  446. package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +0 -1
  447. package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +0 -1
  448. package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +0 -1
  449. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/meta.js +0 -1
  450. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +0 -1
  451. package/dist/render/lib/puck/blocks/commerce/FitmentTable/meta.js +0 -1
  452. package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +0 -1
  453. package/dist/render/lib/puck/blocks/commerce/Gallery/meta.js +0 -1
  454. package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +0 -1
  455. package/dist/render/lib/puck/blocks/commerce/GalleryB/meta.js +0 -1
  456. package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +0 -1
  457. package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +0 -1
  458. package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +0 -1
  459. package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +0 -1
  460. package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +0 -1
  461. package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +0 -1
  462. package/dist/render/lib/puck/blocks/commerce/SpecTable/meta.js +0 -1
  463. package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +0 -1
  464. package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +0 -1
  465. package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +0 -1
  466. package/dist/render/lib/puck/blocks/commerce/placeholders.js +0 -1
  467. package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +0 -1
  468. package/dist/render/lib/puck/blocks/service/BookingBox/render.js +0 -1
  469. package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +0 -1
  470. package/dist/render/lib/puck/blocks/service/Events/meta.js +0 -1
  471. package/dist/render/lib/puck/blocks/service/Events/render.js +0 -1
  472. package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +0 -1
  473. package/dist/render/lib/puck/blocks/service/FooterText/render.js +0 -1
  474. package/dist/render/lib/puck/blocks/service/Form/render.js +0 -1
  475. package/dist/render/lib/puck/blocks/service/RatingBlock/render.js +0 -1
  476. package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +0 -1
  477. package/dist/render/lib/puck/blocks/service/Reviews/render.js +0 -1
  478. package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +0 -1
  479. package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +0 -1
  480. package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +0 -1
  481. package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +0 -1
  482. package/dist/render/lib/puck/blocks/service/Subscribe/render.js +0 -1
  483. package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +0 -1
  484. package/dist/render/lib/puck/blocks/service/metas.js +0 -1
  485. package/dist/render/lib/puck/blocks/service/renders.js +0 -1
  486. package/dist/render/lib/puck/blocks/service/subscribe.js +0 -1
  487. package/dist/render/lib/puck/footer-page-blocks.js +0 -1
  488. package/dist/render/lib/puck/lazy-draws.js +0 -1
  489. package/dist/render/lib/puck/preview-pick.js +0 -1
  490. package/dist/render/lib/puck/render-client.js +0 -1
  491. package/dist/render/lib/puck/render-config.js +0 -1
  492. package/dist/render/lib/puck/slot-seeds.js +0 -1
  493. package/dist/render/lib/puck/storefront-root.js +0 -1
  494. package/dist/render/lib/puck/subscribe-content-type.js +0 -1
  495. /package/dist/chunks/{chunk-TAGGXC3A.js.LEGAL.txt → chunk-CFYEYTU6.js.LEGAL.txt} +0 -0
  496. /package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/fields.js +0 -0
  497. /package/dist/editor/lib/{puck → document}/blocks/commerce/Header/fields.js +0 -0
  498. /package/dist/editor/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/fields.js +0 -0
  499. /package/dist/editor/lib/{puck → document}/blocks/commerce/index.d.ts +0 -0
  500. /package/dist/editor/lib/{puck → document}/blocks/commerce/shared-fields.d.ts +0 -0
  501. /package/dist/editor/lib/{puck → document}/blocks/commerce/shared-fields.js +0 -0
  502. /package/dist/editor/lib/{puck → document}/blocks/service/controls.js +0 -0
  503. /package/dist/editor/lib/{puck → document}/blocks/service/placeholders.d.ts +0 -0
  504. /package/dist/editor/lib/{puck → document}/blocks/service/placeholders.js +0 -0
  505. /package/dist/editor/lib/{puck → document}/box-header-for-site.js +0 -0
  506. /package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/meta.js +0 -0
  507. /package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/render.js +0 -0
  508. /package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/meta.js +0 -0
  509. /package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/meta.js +0 -0
  510. /package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/meta.js +0 -0
  511. /package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/meta.js +0 -0
  512. /package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/meta.js +0 -0
  513. /package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/meta.js +0 -0
  514. /package/dist/render/lib/{puck → document}/blocks/commerce/Collections/meta.js +0 -0
  515. /package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/meta.js +0 -0
  516. /package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/meta.js +0 -0
  517. /package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/meta.js +0 -0
  518. /package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/meta.js +0 -0
  519. /package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/meta.js +0 -0
  520. /package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/meta.js +0 -0
  521. /package/dist/render/lib/{puck → document}/blocks/commerce/Header/meta.js +0 -0
  522. /package/dist/render/lib/{puck → document}/blocks/commerce/Header/render.js +0 -0
  523. /package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/meta.js +0 -0
  524. /package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/meta.js +0 -0
  525. /package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/meta.js +0 -0
  526. /package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/meta.js +0 -0
  527. /package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/render.js +0 -0
  528. /package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/meta.js +0 -0
  529. /package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/meta.js +0 -0
  530. /package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/meta.js +0 -0
  531. /package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/render.js +0 -0
  532. /package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/meta.js +0 -0
  533. /package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/meta.js +0 -0
  534. /package/dist/render/lib/{puck → document}/blocks/commerce/metas.js +0 -0
  535. /package/dist/render/lib/{puck → document}/blocks/commerce/placeholders.d.ts +0 -0
  536. /package/dist/render/lib/{puck → document}/blocks/commerce/renders.js +0 -0
  537. /package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/meta.js +0 -0
  538. /package/dist/render/lib/{puck → document}/blocks/service/BookingBox/meta.js +0 -0
  539. /package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/meta.js +0 -0
  540. /package/dist/render/lib/{puck → document}/blocks/service/Footer/meta.js +0 -0
  541. /package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/meta.js +0 -0
  542. /package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/render.js +0 -0
  543. /package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/meta.js +0 -0
  544. /package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/meta.js +0 -0
  545. /package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/render.js +0 -0
  546. /package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/meta.js +0 -0
  547. /package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/meta.js +0 -0
  548. /package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/meta.js +0 -0
  549. /package/dist/render/lib/{puck → document}/blocks/service/FooterText/meta.js +0 -0
  550. /package/dist/render/lib/{puck → document}/blocks/service/Form/meta.js +0 -0
  551. /package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/meta.js +0 -0
  552. /package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/render.js +0 -0
  553. /package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/meta.js +0 -0
  554. /package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/meta.js +0 -0
  555. /package/dist/render/lib/{puck → document}/blocks/service/Reviews/meta.js +0 -0
  556. /package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/meta.js +0 -0
  557. /package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/meta.js +0 -0
  558. /package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/meta.js +0 -0
  559. /package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/meta.js +0 -0
  560. /package/dist/render/lib/{puck → document}/blocks/service/Subscribe/meta.js +0 -0
  561. /package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/meta.js +0 -0
  562. /package/dist/render/lib/{puck → document}/current-product.d.ts +0 -0
  563. /package/dist/render/lib/{puck → document}/current-product.js +0 -0
  564. /package/dist/render/lib/{puck → document}/current-record.d.ts +0 -0
  565. /package/dist/render/lib/{puck → document}/current-record.js +0 -0
  566. /package/dist/render/lib/{puck → document}/fitment-table-dynamic.d.ts +0 -0
  567. /package/dist/render/lib/{puck → document}/fitment-table-dynamic.js +0 -0
  568. /package/dist/render/lib/{puck → document}/footer-page-blocks.d.ts +0 -0
  569. /package/dist/render/lib/{puck → document}/preview-pick.d.ts +0 -0
  570. /package/dist/render/lib/{puck → document}/preview-product.d.ts +0 -0
  571. /package/dist/render/lib/{puck → document}/preview-product.js +0 -0
  572. /package/dist/render/lib/{puck → document}/render-client.d.ts +0 -0
  573. /package/dist/render/lib/{puck → document}/render-config.d.ts +0 -0
  574. /package/dist/render/lib/{puck → document}/subscribe-content-type.d.ts +0 -0
  575. /package/dist/render/lib/{puck → document}/template-product-kind.d.ts +0 -0
  576. /package/dist/render/lib/{puck → document}/template-product-kind.js +0 -0
@@ -1 +1 @@
1
- import{a as V,c as C,g as z,i as $,j,l as O}from"./chunk-IHYVLVY3.js";var U="".replace(/\/+$/,"");var B="x-forwarded-for";function Z(e){let t=(e??"").split(",").map(n=>n.trim()).filter(Boolean);return t.length>0?t[t.length-1]:null}var Ee="x-forwarded-host";function Q(e,t,n){let r={};return e&&(r[Ee]=e),t&&n==="uncached"&&(r[B]=t),r}function X(e){if(e?.cache==="no-store"||e?.cache==="no-cache")return"uncached";if(e?.cache==="force-cache")return"data-cached";let t=e?.next?.revalidate;return typeof t=="number"&&t>0?"data-cached":"uncached"}var Y="x-storefront-site",ee="x-storefront-host",te="x-storefront-preview";var Fe="shop_access_token",ne="shop_refresh_token",N=null;function L(){O.removeItem(Fe),O.removeItem(ne)}var w={getAccess(){return N},takeLegacyRefresh(){let e=O.getItem(ne);return L(),e},setTokens(e){N=e,L()},clear(){N=null,L()}};import{efficientClientOpen as Ze}from"efficient-easel/screen/lib/session";function Ie(e){return!!e.src}function A(e){let t=e.finishes.filter(Ie);if(t.length===e.finishes.length)return e;let n=e.defaultFinish&&t.some(r=>r.name===e.defaultFinish)?e.defaultFinish:null;return{...e,finishes:t,defaultFinish:n}}function qe(e){return e.listable!==!1}function M(e){return e.map(A).filter(qe)}var oe=["fill","stroke","stop-color","color","flood-color","lighting-color","solid-color"],ae=new Set(["none","transparent","currentcolor","inherit","initial","unset","context-fill","context-stroke"]),v={black:[0,0,0],white:[255,255,255],gray:[128,128,128],grey:[128,128,128],darkgray:[169,169,169],darkgrey:[169,169,169],dimgray:[105,105,105],dimgrey:[105,105,105],lightgray:[211,211,211],lightgrey:[211,211,211],gainsboro:[220,220,220],silver:[192,192,192],whitesmoke:[245,245,245]},ce=12,le=/\burl\(/i,ue=new RegExp(`(?<![-\\w])(${oe.join("|")})(\\s*=\\s*)(["'])([^"']*)\\3`,"gi"),me=new RegExp(`((?:^|[;{\\s"'])(?:${oe.join("|")})\\s*:\\s*)([^;}"'<>]+)`,"gi"),$e=/<svg\b([^>]*)>/i,Ue=/\bfill\s*[=:]/i;function Be(e){let t=e.replace(ue,(n,r,a,l,d)=>{let s=re(d);return s===null?n:`${r}${a}${l}${s}${l}`}).replace(me,(n,r,a)=>{let l=re(a);return l===null?n:`${r}${l}`});return t=t.replace($e,(n,r)=>Ue.test(r)?n:`<svg fill="#ffffff"${r}>`),t}function re(e){let t=/!important/i.test(e),n=e.replace(/!important/gi,"").trim().toLowerCase();if(!n||le.test(n)||ae.has(n))return null;let r=n in v?[...v[n],1]:pe(n);if(!r)return null;let[a,l,d,s]=r;if(Math.max(a,l,d)-Math.min(a,l,d)>ce)return null;let i=Ne(255-a,255-l,255-d,s);return t?`${i} !important`:i}function Ne(e,t,n,r){if(r<1)return`rgba(${e}, ${t}, ${n}, ${r})`;let a=l=>l.toString(16).padStart(2,"0");return`#${a(e)}${a(t)}${a(n)}`}function pe(e){return e.startsWith("#")?Le(e):e.startsWith("rgb")?Me(e):e.startsWith("hsl")?He(e):null}function Le(e){let t=e.slice(1),n=1;if(t.length===3||t.length===4)t.length===4&&(n=parseInt(t[3]+t[3],16)/255),t=t.slice(0,3).split("").map(r=>r+r).join("");else if(t.length===6||t.length===8)t.length===8&&(n=parseInt(t.slice(6,8),16)/255),t=t.slice(0,6);else return null;return/^[0-9a-f]{6}$/.test(t)?[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16),n]:null}function Me(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[n,r]=t.split("/"),a=n.split(/[\s,]+/).filter(Boolean).slice(0,3);if(a.length<3)return null;let l=a.map(s=>s.endsWith("%")?Math.round(parseFloat(s)/100*255):Math.round(parseFloat(s)));if(l.some(s=>Number.isNaN(s)))return null;let d=r?E(r):De(n);return[l[0],l[1],l[2],d]}function De(e){let t=e.split(/[\s,]+/).filter(Boolean);return t.length>=4?E(t[3]):1}function E(e){let t=e.trim().endsWith("%")?parseFloat(e)/100:parseFloat(e);return Number.isNaN(t)?1:t}function He(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[n,r]=t.split("/"),a=n.split(/[\s,]+/).filter(Boolean);if(a.length<3)return null;let l=parseFloat(a[0]),d=parseFloat(a[1])/100,s=parseFloat(a[2])/100;if([l,d,s].some(P=>Number.isNaN(P)))return null;let i=r?E(r):a.length>=4?E(a[3]):1,[o,u,g]=Je(l,d,s);return[o,u,g,i]}function Je(e,t,n){let r=(1-Math.abs(2*n-1))*t,a=(e%360+360)%360/60,l=r*(1-Math.abs(a%2-1)),d=0,s=0,i=0;a<1?[d,s,i]=[r,l,0]:a<2?[d,s,i]=[l,r,0]:a<3?[d,s,i]=[0,r,l]:a<4?[d,s,i]=[0,l,r]:a<5?[d,s,i]=[l,0,r]:[d,s,i]=[r,0,l];let o=n-r/2;return[Math.round((d+o)*255),Math.round((s+o)*255),Math.round((i+o)*255)]}var se=512*1024;function D(e){return/\.svg(\?|$)/i.test(e)}function We(e){return`data:image/svg+xml,${encodeURIComponent(Be(e))}`}function Ge(e){let t=e.replace(/!important/gi,"").trim().toLowerCase();if(!t||le.test(t)||ae.has(t))return null;let n=t in v?[...v[t],1]:pe(t);if(!n)return null;let[r,a,l]=n;return Math.max(r,a,l)-Math.min(r,a,l)>ce?null:(.2126*r+.7152*a+.0722*l)/255}function Ke(e){let t=[],n=r=>{let a=Ge(r);a!==null&&t.push(a)};for(let r of e.matchAll(ue))n(r[4]);for(let r of e.matchAll(me))n(r[2]);return t.length?t.reduce((r,a)=>r+a,0)/t.length<.5:null}var ie=/^(?:\uFEFF|\s+|<\?xml[^>]*\?>|<!--[\s\S]*?-->|<!DOCTYPE\s+svg[^>[]*>)/i;function Ve(e){let t=e;for(let n=ie.exec(t);n&&n[0].length>0;n=ie.exec(t))t=t.slice(n[0].length);return/^<svg[\s>/]/i.test(t)}async function ze(e,t){if(!D(e))return null;try{let n=await fetch(e,{signal:t,redirect:"manual"});if(!n.ok)return null;let r=Number(n.headers.get("content-length"));if(Number.isFinite(r)&&r>se)return null;let a=await n.text();return a.length>se?null:Ve(a)?a:null}catch{return null}}async function de(e,t){let n=await ze(e,t);return n===null?null:{reversed:We(n),inkIsDark:Ke(n)}}import{currentEaselSession as je,setSessionBridgedSite as Mt,setSessionDocumentSite as Dt}from"efficient-easel/screen/lib/session";function ge(){return je().siteId()}var Qe="",f=class extends Error{constructor(t,n,r){super(n),this.status=t,this.data=r}},W="Unable to reach the server. This could be a problem with your internet connection, or the server may be undergoing maintenance or an upgrade. Please try again shortly.",Xe=new Set([502,503,504]),H=0,Ye="This editor runs on its host's own backend, which does not serve this request.",et=5e3,tt=15e3,nt=()=>typeof window>"u"?et:tt;function Ae(e){let t=(e.method??"GET").toUpperCase();if(!(e.body!=null||t!=="GET"&&t!=="HEAD")&&!(e.audience!=null&&e.audience!=="shop")&&typeof AbortSignal?.timeout=="function")return AbortSignal.timeout(nt())}var he=e=>e instanceof Error&&e.name==="TimeoutError",ye=(e,t)=>Xe.has(e)?W:t,rt=["admin","venue"],Re="admin";function Qt(e){Re=rt.includes(e)?e:"admin"}function st(){return Re}var it=/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$/,_e=null;function Xt(e){_e=e&&it.test(e)?e:null}function ot(){return _e}function at(e){if(typeof window>"u"||!e.startsWith("/api/v1/"))return e;let t=$();return!t||/[?&]site=/.test(e)?e:q(e,`site=${encodeURIComponent(t)}`)}async function c(e,t={}){let{token:n,baseUrl:r,headers:a,audience:l,...d}=t;if(typeof window<"u"&&!Ze())throw new f(H,Ye,null);if(typeof window>"u"&&r===void 0)throw new Error(`apiFetch(${JSON.stringify(e)}) ran on the server without an explicit baseUrl. The API_URL default it would inherit is browser-only (the prod image bakes NEXT_PUBLIC_API_URL="" for same-origin use, which a Node fetch cannot resolve). Pass a base explicitly: \`await backendOpts()\` (or baseUrl: PRODUCT_FETCH_BASE) for product reads, or the server-only PRODUCT_BACKEND_URL env for other backend surfaces.`);let s=typeof FormData<"u"&&d.body instanceof FormData,i;try{i=await fetch(`${r??Qe}${at(e)}`,{...d,headers:{...s?{}:{"Content-Type":"application/json"},...n?{Authorization:`Bearer ${n}`}:{},...l===null?{}:{"X-Portal-Audience":l??"shop"},...a},signal:d.signal??Ae({...d,audience:l})})}catch(g){throw g instanceof TypeError||he(g)?new f(H,W,null):g}let o;try{o=await i.text()}catch(g){throw he(g)?new f(H,W,null):g}let u=null;if(o)try{u=JSON.parse(o)}catch{throw new f(i.status,i.ok?"Expected JSON but received a non-JSON response":ye(i.status,i.statusText),o)}if(!i.ok){let g=(u&&typeof u=="object"&&"detail"in u&&typeof u.detail=="string"?u.detail:null)??ye(i.status,i.statusText);throw new f(i.status,g,u)}return u}var R=null;async function ke(){return R||(R=ct().finally(()=>{R=null}),R)}async function ct(){let e=w.takeLegacyRefresh(),t=await lt.refresh(e??void 0);return w.setTokens(t.access),t.access}async function xe(){return w.getAccess()??ke()}async function h(e,t={}){let n;try{n=await xe()}catch{throw w.clear(),new f(401,"Not signed in",null)}try{return await c(e,{...t,token:n})}catch(r){if(!(r instanceof f)||r.status!==401)throw r;try{let a=await ke();return await c(e,{...t,token:a})}catch{throw w.clear(),r}}}async function fe(e,t={}){if(w.getAccess())try{return{data:await h(e,t),asShopper:!0}}catch(n){if(!(n instanceof f)||n.status!==401)throw n}return{data:await c(e,t),asShopper:!1}}async function Se(){let e=await h("/api/auth/me/");if(e.portal!=="shop")throw w.clear(),new f(403,"This session is not valid for this shop.",null);return e}var lt={login:(e,t)=>c("/api/auth/login/",{method:"POST",body:JSON.stringify({email:e,password:t,portal:"shop"}),credentials:"include"}),refresh:e=>c("/api/auth/refresh/",{method:"POST",body:JSON.stringify(e?{refresh:e,portal:"shop"}:{portal:"shop"}),credentials:"include"}),logout:async()=>{w.clear();try{await c("/api/auth/logout/",{method:"POST",body:JSON.stringify({portal:"shop"}),credentials:"include"})}catch{}},restoreSession:async()=>{let e=await xe();return await Se(),e},me:Se,updateMe:e=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify(e)}),changePassword:(e,t)=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify({password:t,old_password:e})}),changeEmail:(e,t)=>h("/api/shop-portal/change-email/",{method:"POST",body:JSON.stringify({new_email:e,current_password:t})}),myProfile:()=>h("/api/shop-portal/profile/"),updateMyProfile:e=>h("/api/shop-portal/profile/",{method:"PATCH",body:JSON.stringify(e)}),myAddresses:()=>h("/api/shop-portal/delivery-locations/"),createAddress:e=>h("/api/shop-portal/delivery-locations/",{method:"POST",body:JSON.stringify(e)}),updateAddress:(e,t)=>h(`/api/shop-portal/delivery-locations/${e}/`,{method:"PATCH",body:JSON.stringify(t)}),deleteAddress:e=>h(`/api/shop-portal/delivery-locations/${e}/`,{method:"DELETE"}),passwordResetRequest:e=>c("/api/auth/password-reset/",{method:"POST",body:JSON.stringify({email:e})}),passwordResetConfirm:(e,t,n)=>c("/api/auth/password-reset/confirm/",{method:"POST",body:JSON.stringify({uid:e,token:t,new_password:n})}),brands:()=>h("/api/products/brands/"),myOrders:()=>h("/api/shop-portal/orders/").then(e=>e.results),myOrder:e=>h(`/api/shop-portal/orders/${e}/`),cancelOrder:e=>h(`/api/shop-portal/orders/${e}/cancel/`,{method:"POST"}),myReturns:e=>h(`/api/shop-portal/returns/${e?`?order=${encodeURIComponent(e)}`:""}`).then(t=>t.results),createReturn:e=>h("/api/shop-portal/returns/",{method:"POST",body:JSON.stringify(e)}),withdrawReturn:e=>h(`/api/shop-portal/returns/${e}/cancel/`,{method:"POST"}),uploadReturnPhoto:(e,t)=>{let n=new FormData;return n.append("claim_item",e),n.append("file",t),n.append("media_type",t.type.startsWith("video/")?"video":"image"),h("/api/shop-portal/return-media/",{method:"POST",body:n})}};function S(e){if(typeof e=="string")return e.startsWith("/media/")?V(e):e;if(Array.isArray(e))return e.map(S);if(e&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=n==="captions"&&r&&typeof r=="object"&&!Array.isArray(r)?Object.fromEntries(Object.entries(r).map(([a,l])=>[S(a),l])):S(r);return t}return e}var Te=typeof window>"u"&&U!=="",ut=Te?U:"",mt=j,b=()=>({baseUrl:mt(),audience:null});function m(e,t){let n=t?`?process=${encodeURIComponent(t)}`:"";return`/api/v1${e}${n}`}var pt=100,Pe=50;function Ce(e,t,n){let r=new URLSearchParams;for(let[a,l]of Object.entries(t))l!=null&&l!==""&&r.set(a,String(l));return r.set("pageSize",String(pt)),n&&r.set("cursor",n),`/api/v1${e}?${r.toString()}`}function dt(e,t){return Ce("/wheels",{process:e},t)}function gt(e,t,n){return Ce("/products",{kind:e.join(","),make:t?.make,model:t?.model,year:t?.year,modification:t?.modification},n)}function ht(e){if(!e)return null;try{return new URL(e,"http://cursor.invalid").searchParams.get("cursor")}catch{return null}}async function we(e,t,n=()=>!1){let r=[],a=null;try{for(let l=0;l<Pe;l++){let d=await c(await t(a),await p());if(r.push(...d.results),a=ht(d.next),!a)break}a&&console.warn(`[${e}] stopped at ${Pe} pages (${r.length} rows); catalog may be truncated`)}catch(l){if(n(l))throw l;console.warn(`[${e}] product API unavailable, returning []`,l)}return r}var yt=e=>e instanceof f&&e.status===400;function ft(e){return e.flatMap(t=>t.kind==="alloy-wheel"?M([t]):[t])}async function Oe(){return(await St()).host}async function St(){try{let{headers:e}=await import("./headers-UYHEZDAT.js"),t=await e(),n=l=>l?.split(",")[0]?.split(":")[0]?.trim().toLowerCase()||null,r=n(t.get(ee)??t.get("x-forwarded-host")??t.get("host")),a=n(t.get("host"));return{host:r,matchesRequestHost:r!==null&&r===a}}catch{return{host:null,matchesRequestHost:!1}}}async function Pt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return Z((await e()).get(B))}catch{return null}}async function wt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(Y)||null}catch{return null}}async function bt(){let e=await wt();if(e)return`site=${encodeURIComponent(e)}`;let t=await Oe();return t?`host=${encodeURIComponent(t)}`:""}async function y(e){if(typeof window<"u"){let t=$();return t?q(e,`site=${encodeURIComponent(t)}`):e}return q(e,await bt())}function q(e,t){return t?`${e}${e.includes("?")?"&":"?"}${t}`:e}var At="preview";async function Rt(){if(typeof window<"u")return null;try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(te)}catch{return null}}async function _t(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get("user-agent")}catch{return null}}async function J(e,t){let n=await Rt();if(n===null)return[await y(e),await p(t)];let r=q(await y(e),`${At}=${encodeURIComponent(n)}`),{next:a,cache:l,...d}=t??{},s=await p({...d,cache:"no-store"}),i=await _t();return i&&(s.headers={...s.headers,"user-agent":i}),[r,s]}async function kt(e){if(!Te)return;let[t,n]=await Promise.all([Oe(),Pt()]),r=Q(t,n,e);return Object.keys(r).length>0?r:void 0}async function p(e){let t=await kt(X(e)),n={baseUrl:ut,...e};return t&&(n.headers={...t,...e?.headers}),n}var _=typeof window>"u";function k(e,t){let n=new URLSearchParams;for(let[a,l]of Object.entries(t))l!==void 0&&l!==""&&n.set(a,String(l));let r=n.toString();return`/api/v1/fitment${e}${r?`?${r}`:""}`}var rn={listMakes:async e=>{if(_){let{fitmentData:n}=await import("./fitment-data-UQDOQP66.js");return n.makes(e)}return(await c(k("/makes",{region:e}),b())).results},listModels:async(e,t)=>{if(_){let{fitmentData:r}=await import("./fitment-data-UQDOQP66.js");return r.models(e,t)}return(await c(k("/models",{make:e,region:t}),b())).results},listYears:async(e,t,n)=>{if(_){let{fitmentData:a}=await import("./fitment-data-UQDOQP66.js");return a.years(e,t,n)}return(await c(k("/years",{make:e,model:t,region:n}),b())).results},listModifications:async(e,t,n,r)=>{if(_){let{fitmentData:l}=await import("./fitment-data-UQDOQP66.js");return l.modifications(e,t,n,r)}return(await c(k("/modifications",{make:e,model:t,year:n,region:r}),b())).results},getStockFitment:async(e,t,n,r,a)=>{if(_){let{fitmentData:l}=await import("./fitment-data-UQDOQP66.js");return l.stockFitment(e,t,n,r,a)}return c(k("/stock-fitment",{make:e,model:t,year:n,modification:r,region:a}),b())}},sn={listWheels:async e=>{let t=await we("products.listWheels",async n=>await y(dt(e,n)));return M(S(t))},listCatalog:async(e,t)=>{if(e.length===0)throw new Error("products.listCatalog() needs at least one kind. An empty list would omit `kind`, which the contract reads as `alloy-wheel` \u2014 so the call would silently return the wheel catalog instead of nothing.");let n=await we("products.listCatalog",async r=>await y(gt(e,t,r)),yt);return ft(S(n))},getWheel:async e=>A(S(await c(await y(m(`/wheels/${e}`)),await p()))),getTyre:async e=>S(await c(await y(m(`/tyres/${e}`)),await p())),listBundles:async()=>{try{return await c(await y(m("/bundles")),await p())}catch{return[]}},getBundle:async e=>c(await y(m(`/bundles/${e}`)),await p()),listGalleryBuilds:async(e={})=>{let{process:t=null,wheelSlug:n=null}=e;if(typeof window>"u"){let{listGalleryBuilds:r}=await import("./gallery-builds-data-TD3QJK7L.js");return S(r(t,n))}try{let r=new URLSearchParams;t&&r.set("process",t),n&&r.set("wheelSlug",n);let a=r.toString(),l=await c(`/api/v1/gallery-builds${a?`?${a}`:""}`,b());return S(l.results)}catch(r){return console.warn("[products.listGalleryBuilds] product API unavailable, returning []",r),[]}},getSite:async()=>c(await y(m("/site")),await p()),getSiteBySlug:async e=>c(`${m("/site")}?${new URLSearchParams({site:e})}`,typeof window>"u"?await p():void 0),listPages:async()=>S(await c(await y(m("/pages")),await p())),listPopups:async()=>c(await y(m("/popups")),await p()),listProductTemplates:async()=>{try{return await c(await y(m("/product-templates")),await p())}catch(e){return console.warn("[products.listProductTemplates] unavailable, returning []",e),[]}},listDynamicPages:async e=>{let t=e?`?recordType=${encodeURIComponent(e)}`:"";try{return await c(await y(`${m("/dynamic-pages")}${t}`),await p())}catch(n){if(n instanceof f&&n.status===404)return[];throw n}},getRecord:async(e,t)=>{try{return await c(await y(m(`/records/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)),await p())}catch(n){if(n instanceof f&&n.status===404)return null;throw n}},listRecordKeys:async e=>{try{let t=await c(await y(m(`/records/${encodeURIComponent(e)}`)),await p({cache:"no-store"}));return Array.isArray(t?.keys)?t.keys.filter(n=>typeof n=="string"&&n!==""):[]}catch(t){if(t instanceof f&&t.status===404)return[];throw t}},listProductTypeChoices:async()=>{try{return await c(await y(m("/product-type-choices")),await p())}catch(e){return console.warn("[products.listProductTypeChoices] unavailable, returning []",e),[]}},listFieldUsage:async()=>{try{return await c(await y(m("/field-usage")),await p())}catch(e){return console.warn("[products.listFieldUsage] unavailable, returning []",e),[]}},getPage:async(e,t={})=>{let n=t.record?`?record=${encodeURIComponent(t.record)}`:"",[r,a]=await J(m(`/pages/${e}`)+n,t.revalidate!==void 0?{next:{revalidate:t.revalidate}}:void 0);return S(await c(r,a))},listBlogPosts:async(e={})=>{let t=e.category?`?category=${encodeURIComponent(e.category)}`:"";try{return(await c(m("/blog-posts")+t,await p())).map(r=>({...r,coverImage:C(r.coverImage)??""}))}catch(n){return console.warn("[products.listBlogPosts] blog API unavailable, returning []",n),[]}},getBlogPost:async e=>{let t=await c(m(`/blog-posts/${e}`),await p());return{...t,coverImage:C(t.coverImage)??""}},createOrder:async e=>c(m("/orders"),await p({method:"POST",body:JSON.stringify(e)})),createOrderAuthed:async e=>h(m("/orders"),await p({method:"POST",body:JSON.stringify(e)})),lookupOrder:async e=>c(m("/orders/lookup"),await p({method:"POST",body:JSON.stringify(e)})),createPaymentIntent:async e=>c(m("/payments/intent"),await p({method:"POST",body:JSON.stringify(e)})),createPaypalOrder:async e=>c(m("/payments/paypal/order"),await p({method:"POST",body:JSON.stringify(e)})),capturePaypalOrder:async e=>c(m("/payments/paypal/capture"),await p({method:"POST",body:JSON.stringify(e)})),createAfterpayCheckout:async e=>c(m("/payments/afterpay/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureAfterpayPayment:async e=>c(m("/payments/afterpay/capture"),await p({method:"POST",body:JSON.stringify(e)})),chargeSquare:async e=>c(m("/payments/square/charge"),await p({method:"POST",body:JSON.stringify(e)})),createGocardlessBillingRequest:async e=>c(m("/payments/gocardless/billing-request"),await p({method:"POST",body:JSON.stringify(e)})),completeGocardlessPayment:async e=>c(m("/payments/gocardless/complete"),await p({method:"POST",body:JSON.stringify(e)})),createZipCheckout:async e=>c(m("/payments/zip/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureZipPayment:async e=>c(m("/payments/zip/capture"),await p({method:"POST",body:JSON.stringify(e)})),createKlarnaCheckout:async e=>c(m("/payments/klarna/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureKlarnaPayment:async e=>c(m("/payments/klarna/capture"),await p({method:"POST",body:JSON.stringify(e)})),createStockAlert:async e=>c(m("/stock-alerts"),await p({method:"POST",body:JSON.stringify(e)})),createPreOrderIntent:async e=>c(m("/pre-order-intents"),await p({method:"POST",body:JSON.stringify(e)})),createNewsletterSubscription:async e=>c(m("/newsletter-subscriptions"),await p({method:"POST",body:JSON.stringify(e)})),unsubscribeNewsletter:async e=>c(m("/newsletter-unsubscribe"),await p({method:"POST",body:JSON.stringify(e)})),captureCart:async e=>c(m("/carts"),await p({method:"POST",body:JSON.stringify(e)})),restoreCart:async e=>c(m("/carts/restore"),await p({method:"POST",body:JSON.stringify(e)})),unsubscribeCartReminders:async e=>c(m("/carts/unsubscribe"),await p({method:"POST",body:JSON.stringify(e)})),listReviews:async(e={})=>{let t=new URLSearchParams;e.limit&&t.set("limit",String(e.limit)),e.designCode&&t.set("designCode",e.designCode);let n=m("/reviews"),r=t.toString();try{return await c(await y(r?`${n}?${r}`:n),await p())}catch(a){return console.warn("[products.listReviews] product API unavailable, returning []",a),[]}},submitReview:async e=>c(m("/reviews"),await p({method:"POST",body:JSON.stringify(e)})),getForm:async e=>c(m(`/forms/${encodeURIComponent(e)}`),await p()),submitForm:async(e,t)=>c(m(`/forms/${encodeURIComponent(e)}/submissions`),await p({method:"POST",body:JSON.stringify(t)})),listShippingMethods:async()=>{try{return await c(m("/shipping-methods"),await p())}catch(e){return console.warn("[products.listShippingMethods] product API unavailable, returning []",e),[]}},listCountrySubdivisions:async e=>{try{return await c(m(`/countries/${encodeURIComponent(e)}/subdivisions`),await p())}catch(t){return console.warn("[products.listCountrySubdivisions] unavailable, returning []",t),[]}},quoteCart:async e=>{let t=m("/cart/quote"),n=await p({method:"POST",body:JSON.stringify(e)});return e.couponCode?(await fe(t,n)).data:c(t,n)},validateCoupon:async e=>{let{data:t,asShopper:n}=await fe(m("/coupons/validate"),await p({method:"POST",body:JSON.stringify(e)}));return{...t,askedAsShopper:n}},getHeaderSettings:async()=>{let e=Ae({method:"GET"}),t=await c(...await J(m("/header-settings"),{signal:e})),n=C(t.logoUrl),r=null,a=null;if(n&&D(n)){let l=await de(n,e);l&&(r=l.reversed,a=l.inkIsDark)}return{...t,logoUrl:n,logoReversed:r,logoInkIsDark:a}},getThemeSettings:async()=>c(...await J(m("/theme-settings"))),getChatSettings:async()=>c(await y(m("/chat-settings")),await p())},on={listServices:async()=>{try{return await c(m("/bookings/services"),await p())}catch(e){return console.warn("[bookings.listServices] API unavailable, returning []",e),{results:[],currency:"USD"}}},getAvailability:async(e,t)=>c(m(`/bookings/availability?service=${encodeURIComponent(e)}&date=${t}`),await p()),create:async e=>c(m("/bookings"),await p({method:"POST",body:JSON.stringify(e)})),get:async e=>c(m(`/bookings/manage/${encodeURIComponent(e)}`),await p()),cancel:async e=>c(m(`/bookings/manage/${encodeURIComponent(e)}/cancel`),await p({method:"POST"})),createPaymentIntent:async e=>c(m("/bookings/payments/intent"),await p({method:"POST",body:JSON.stringify({manageToken:e})}))},G=class extends Error{constructor(n,r){super(`Slug "${n}" exists on ${r} websites; a site is required to pick one.`);this.slug=n;this.count=r;this.name="AmbiguousPageSlugError"}},F=(e,t,n)=>{let r=new URLSearchParams({...t?{site:t}:{},...n?{draft:"1"}:{}}).toString();return`/api/storefront/${e}/${r?`?${r}`:""}`},x=e=>`/api/storefront/sites/${encodeURIComponent(e)}/`,xt=e=>`${x(e)}currencies/`,Tt="/api/storefront/media/ingest/",K=class extends Error{constructor(){super("This editor is not connected to a website, so an upload has nowhere to go. Open the page from the website the file should belong to, then try again."),this.name="MediaUploadDestinationError"}};function Ct(){let e=ge();if(!e)throw new K;return`${Tt}?${new URLSearchParams({site:e})}`}var I={"X-Puck-Media-Manifest":z.contentHash},an=ve({});function ve(e){return(t,n={})=>{let r=ot(),a=e.headers||r?{...r?{"Accept-Language":r}:{},...e.headers,...n.headers}:void 0;return c(t,{...n,...e.baseUrl!==void 0?{baseUrl:e.baseUrl}:{},...a?{headers:a}:{},audience:e.audience??st()})}}function Ot(e={}){let t=ve(e),n=e.siteDrafts===!0,r=s=>F("header-settings",s,n),a=s=>F("theme-settings",s,n),l=s=>F("chat-settings",s,n),d=s=>F("social-settings",s,n);return{findPageBySlug:async(s,i,o)=>{let u=new URLSearchParams({slug:s});o&&u.set("site",o);let g=await t(`/api/storefront/pages/?${u.toString()}`,{token:i}),P=Array.isArray(g)?g:g.results??[];if(!o&&P.length>1)throw new G(s,P.length);return P[0]??null},getPageById:(s,i)=>t(`/api/storefront/pages/${s}/`,{token:i}),saveLayout:(s,i,o,u,g)=>t(`/api/storefront/pages/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i,expected_updated_at:u,...g?{client_id:g}:{}}),token:o}),duplicatePage:(s,i,o)=>t(`/api/storefront/pages/${s}/duplicate/`,{method:"POST",body:JSON.stringify({title:i.title,slug:i.slug}),token:o}),geocode:(s,i,o)=>t(`/api/storefront/geocode/?${new URLSearchParams(o?{q:s,country:o}:{q:s})}`,{token:i}),listBlockSources:s=>t("/api/storefront/block-sources/",{token:s}),listRecordTypes:s=>t("/api/storefront/record-types/",{token:s}),createPagePreviewLink:(s,i)=>t(`/api/storefront/pages/${s}/preview-link/`,{method:"POST",token:i}),claimPageEditLock:(s,i,o,u=!1)=>t(`/api/storefront/pages/${s}/edit-lock/`,{method:"POST",body:JSON.stringify({client_id:o,takeover:u}),token:i}),releasePageEditLock:(s,i)=>t(`/api/storefront/pages/${s}/edit-lock/`,{method:"DELETE",token:i}),createTemplate:(s,i,o)=>t("/api/storefront/page-templates/",{method:"POST",body:JSON.stringify({name:s,layout:i}),headers:I,token:o}),getTemplate:(s,i)=>t(`/api/storefront/page-templates/${s}/`,{token:i}),saveTemplateLayout:(s,i,o)=>t(`/api/storefront/page-templates/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i}),headers:I,token:o}),listTemplatePages:async(s,i)=>{let o=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(s)}`,{token:i});return Array.isArray(o)?o:o.results??[]},findTemplatePageBySlug:async(s,i,o)=>{let u=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(s)}&slug=${encodeURIComponent(i)}`,{token:o});return(Array.isArray(u)?u:u.results??[])[0]??null},createTemplatePage:(s,i,o)=>t("/api/storefront/template-pages/",{method:"POST",body:JSON.stringify({template:s,...i}),headers:I,token:o}),saveTemplatePageLayout:(s,i,o)=>t(`/api/storefront/template-pages/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i}),headers:I,token:o}),deleteTemplatePage:(s,i,o)=>t(`/api/storefront/template-pages/${s}/`,{method:"DELETE",token:i,...o?.keepalive?{keepalive:!0}:{}}),listPages:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("site",i);let u=await t(`/api/storefront/pages/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]},createPage:(s,i,o,u)=>t("/api/storefront/pages/",{method:"POST",body:JSON.stringify({title:s,slug:i,layout:o}),token:u}),deletePage:(s,i)=>t(`/api/storefront/pages/${s}/`,{method:"DELETE",token:i}),getHeaderSettings:(s,i)=>t(r(i),{token:s}),listMenus:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("site",i);let u=await t(`/api/storefront/menus/?${o}`,{token:s});return Array.isArray(u)?u:u.results??[]},listBlogPosts:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.visibleOnly&&o.set("is_visible","true"),i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/blog-posts/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]},listFieldUsage:async(s,i)=>{let o=await t(`/api/storefront/field-usage/?site=${encodeURIComponent(i)}`,{token:s});return Array.isArray(o?.entries)?o.entries:[]},listCategories:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.visibleOnly&&o.set("is_visible","true"),i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/categories/?${o.toString()}`,{token:s});return[...Array.isArray(u)?u:u.results??[]].sort((P,T)=>P.sort_order-T.sort_order||P.name.localeCompare(T.name))},listForms:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/forms/?${o.toString()}`,{token:s});return[...Array.isArray(u)?u:u.results??[]].sort((P,T)=>P.title.localeCompare(T.title))},listWheelSummaries:async(s,i={})=>{let o=new URLSearchParams;i.siteId&&o.set("site",i.siteId);let u=o.toString(),g=await t(`/api/storefront/wheel-curations/summaries/${u?`?${u}`:""}`,{token:s});return S(g)},listProducts:async(s,i={})=>{let o=new URLSearchParams;i.kinds?.length&&o.set("kind",i.kinds.join(",")),i.siteId&&o.set("site",i.siteId);let u=o.toString(),g=await t(`/api/storefront/products/${u?`?${u}`:""}`,{token:s});return S(g)},getWheelDetail:async(s,i,o={})=>{let u=new URLSearchParams({slug:i});return o.siteId&&u.set("site",o.siteId),A(S(await t(`/api/storefront/wheel-curations/detail/?${u.toString()}`,{token:s})))},updateHeaderSettings:(s,i,o)=>t(r(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getSite:(s,i)=>t(x(s),{token:i}),listSites:async s=>{let i=await t("/api/storefront/sites/?no_page=true",{token:s});return Array.isArray(i)?i:i.results??[]},listSiteCurrencies:async(s,i)=>{let o=await t(xt(s),{token:i});return Array.isArray(o)?o:[]},publishSite:(s,i)=>t(`${x(s)}publish/`,{method:"POST",token:i}),getSiteLiveState:(s,i)=>t(`${x(s)}live-state/`,{token:i}),updateSite:(s,i,o)=>t(x(s),{method:"PATCH",body:JSON.stringify(i),token:o}),getThemeSettings:(s,i)=>t(a(i),{token:s}),updateThemeSettings:(s,i,o)=>t(a(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getChatSettings:(s,i)=>t(l(i),{token:s}),updateChatSettings:(s,i,o)=>t(l(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getSocialSettings:(s,i)=>t(d(i),{token:s}),updateSocialSettings:(s,i,o)=>t(d(o),{method:"PATCH",body:JSON.stringify(s),token:i}),uploadHeaderLogo:(s,i,o)=>{let u=new FormData;return u.append("logo",s),t(r(o),{method:"PATCH",body:u,token:i})},clearHeaderLogo:(s,i)=>t(r(i),{method:"PATCH",body:JSON.stringify({logo:null}),token:s}),setHeaderLogoFromAsset:(s,i,o)=>t(r(o),{method:"PATCH",body:JSON.stringify({logo_asset_id:s}),token:i}),uploadMedia:async(s,i)=>{let o=new FormData;return o.append("file",s),t(Ct(),{method:"POST",body:o,token:i})},listMedia:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("kind",i);let u=await t(`/api/storefront/media-assets/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]}}}var cn=Ot({siteDrafts:!0});export{U as a,Q as b,X as c,w as d,Ie as e,D as f,ge as g,Qe as h,f as i,W as j,H as k,Qt as l,Xt as m,c as n,lt as o,Oe as p,St as q,Pt as r,wt as s,Rt as t,rn as u,sn as v,on as w,G as x,an as y,cn as z};
1
+ import{a as V,c as C,g as z,i as $,j,l as O}from"./chunk-YTQS5GY6.js";var U="".replace(/\/+$/,"");var B="x-forwarded-for";function Z(e){let t=(e??"").split(",").map(n=>n.trim()).filter(Boolean);return t.length>0?t[t.length-1]:null}var Ie="x-forwarded-host";function Q(e,t,n){let r={};return e&&(r[Ie]=e),t&&n==="uncached"&&(r[B]=t),r}function X(e){if(e?.cache==="no-store"||e?.cache==="no-cache")return"uncached";if(e?.cache==="force-cache")return"data-cached";let t=e?.next?.revalidate;return typeof t=="number"&&t>0?"data-cached":"uncached"}var Y="x-storefront-site",ee="x-storefront-host",te="x-storefront-preview";var Fe="shop_access_token",ne="shop_refresh_token",N=null;function L(){O.removeItem(Fe),O.removeItem(ne)}var w={getAccess(){return N},takeLegacyRefresh(){let e=O.getItem(ne);return L(),e},setTokens(e){N=e,L()},clear(){N=null,L()}};import{efficientClientOpen as Qe}from"efficient-easel/screen/lib/session";function qe(e){return!!e.src}function A(e){let t=e.finishes.filter(qe);if(t.length===e.finishes.length)return e;let n=e.defaultFinish&&t.some(r=>r.name===e.defaultFinish)?e.defaultFinish:null;return{...e,finishes:t,defaultFinish:n}}function $e(e){return e.listable!==!1}function M(e){return e.map(A).filter($e)}var oe=["fill","stroke","stop-color","color","flood-color","lighting-color","solid-color"],ae=new Set(["none","transparent","currentcolor","inherit","initial","unset","context-fill","context-stroke"]),v={black:[0,0,0],white:[255,255,255],gray:[128,128,128],grey:[128,128,128],darkgray:[169,169,169],darkgrey:[169,169,169],dimgray:[105,105,105],dimgrey:[105,105,105],lightgray:[211,211,211],lightgrey:[211,211,211],gainsboro:[220,220,220],silver:[192,192,192],whitesmoke:[245,245,245]},ce=12,le=/\burl\(/i,ue=new RegExp(`(?<![-\\w])(${oe.join("|")})(\\s*=\\s*)(["'])([^"']*)\\3`,"gi"),me=new RegExp(`((?:^|[;{\\s"'])(?:${oe.join("|")})\\s*:\\s*)([^;}"'<>]+)`,"gi"),Ue=/<svg\b([^>]*)>/i,Be=/\bfill\s*[=:]/i;function Ne(e){let t=e.replace(ue,(n,r,a,l,d)=>{let s=re(d);return s===null?n:`${r}${a}${l}${s}${l}`}).replace(me,(n,r,a)=>{let l=re(a);return l===null?n:`${r}${l}`});return t=t.replace(Ue,(n,r)=>Be.test(r)?n:`<svg fill="#ffffff"${r}>`),t}function re(e){let t=/!important/i.test(e),n=e.replace(/!important/gi,"").trim().toLowerCase();if(!n||le.test(n)||ae.has(n))return null;let r=n in v?[...v[n],1]:pe(n);if(!r)return null;let[a,l,d,s]=r;if(Math.max(a,l,d)-Math.min(a,l,d)>ce)return null;let i=Le(255-a,255-l,255-d,s);return t?`${i} !important`:i}function Le(e,t,n,r){if(r<1)return`rgba(${e}, ${t}, ${n}, ${r})`;let a=l=>l.toString(16).padStart(2,"0");return`#${a(e)}${a(t)}${a(n)}`}function pe(e){return e.startsWith("#")?Me(e):e.startsWith("rgb")?De(e):e.startsWith("hsl")?Je(e):null}function Me(e){let t=e.slice(1),n=1;if(t.length===3||t.length===4)t.length===4&&(n=parseInt(t[3]+t[3],16)/255),t=t.slice(0,3).split("").map(r=>r+r).join("");else if(t.length===6||t.length===8)t.length===8&&(n=parseInt(t.slice(6,8),16)/255),t=t.slice(0,6);else return null;return/^[0-9a-f]{6}$/.test(t)?[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16),n]:null}function De(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[n,r]=t.split("/"),a=n.split(/[\s,]+/).filter(Boolean).slice(0,3);if(a.length<3)return null;let l=a.map(s=>s.endsWith("%")?Math.round(parseFloat(s)/100*255):Math.round(parseFloat(s)));if(l.some(s=>Number.isNaN(s)))return null;let d=r?E(r):He(n);return[l[0],l[1],l[2],d]}function He(e){let t=e.split(/[\s,]+/).filter(Boolean);return t.length>=4?E(t[3]):1}function E(e){let t=e.trim().endsWith("%")?parseFloat(e)/100:parseFloat(e);return Number.isNaN(t)?1:t}function Je(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[n,r]=t.split("/"),a=n.split(/[\s,]+/).filter(Boolean);if(a.length<3)return null;let l=parseFloat(a[0]),d=parseFloat(a[1])/100,s=parseFloat(a[2])/100;if([l,d,s].some(P=>Number.isNaN(P)))return null;let i=r?E(r):a.length>=4?E(a[3]):1,[o,u,g]=We(l,d,s);return[o,u,g,i]}function We(e,t,n){let r=(1-Math.abs(2*n-1))*t,a=(e%360+360)%360/60,l=r*(1-Math.abs(a%2-1)),d=0,s=0,i=0;a<1?[d,s,i]=[r,l,0]:a<2?[d,s,i]=[l,r,0]:a<3?[d,s,i]=[0,r,l]:a<4?[d,s,i]=[0,l,r]:a<5?[d,s,i]=[l,0,r]:[d,s,i]=[r,0,l];let o=n-r/2;return[Math.round((d+o)*255),Math.round((s+o)*255),Math.round((i+o)*255)]}var se=512*1024;function D(e){return/\.svg(\?|$)/i.test(e)}function Ge(e){return`data:image/svg+xml,${encodeURIComponent(Ne(e))}`}function Ke(e){let t=e.replace(/!important/gi,"").trim().toLowerCase();if(!t||le.test(t)||ae.has(t))return null;let n=t in v?[...v[t],1]:pe(t);if(!n)return null;let[r,a,l]=n;return Math.max(r,a,l)-Math.min(r,a,l)>ce?null:(.2126*r+.7152*a+.0722*l)/255}function Ve(e){let t=[],n=r=>{let a=Ke(r);a!==null&&t.push(a)};for(let r of e.matchAll(ue))n(r[4]);for(let r of e.matchAll(me))n(r[2]);return t.length?t.reduce((r,a)=>r+a,0)/t.length<.5:null}var ie=/^(?:\uFEFF|\s+|<\?xml[^>]*\?>|<!--[\s\S]*?-->|<!DOCTYPE\s+svg[^>[]*>)/i;function ze(e){let t=e;for(let n=ie.exec(t);n&&n[0].length>0;n=ie.exec(t))t=t.slice(n[0].length);return/^<svg[\s>/]/i.test(t)}async function je(e,t){if(!D(e))return null;try{let n=await fetch(e,{signal:t,redirect:"manual"});if(!n.ok)return null;let r=Number(n.headers.get("content-length"));if(Number.isFinite(r)&&r>se)return null;let a=await n.text();return a.length>se?null:ze(a)?a:null}catch{return null}}async function de(e,t){let n=await je(e,t);return n===null?null:{reversed:Ge(n),inkIsDark:Ve(n)}}import{currentEaselSession as Ze,setSessionBridgedSite as Ht,setSessionDocumentSite as Jt}from"efficient-easel/screen/lib/session";function ge(){return Ze().siteId()}var Xe="",f=class extends Error{constructor(t,n,r){super(n),this.status=t,this.data=r}},W="Unable to reach the server. This could be a problem with your internet connection, or the server may be undergoing maintenance or an upgrade. Please try again shortly.",Ye=new Set([502,503,504]),H=0,et="This editor runs on its host's own backend, which does not serve this request.",tt=5e3,nt=15e3,rt=()=>typeof window>"u"?tt:nt;function Re(e){let t=(e.method??"GET").toUpperCase();if(!(e.body!=null||t!=="GET"&&t!=="HEAD")&&!(e.audience!=null&&e.audience!=="shop")&&typeof AbortSignal?.timeout=="function")return AbortSignal.timeout(rt())}var he=e=>e instanceof Error&&e.name==="TimeoutError",ye=(e,t)=>Ye.has(e)?W:t,st=["admin","venue"],_e="admin";function Yt(e){_e=st.includes(e)?e:"admin"}function it(){return _e}var ot=/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$/,ke=null;function en(e){ke=e&&ot.test(e)?e:null}function at(){return ke}function ct(e){if(typeof window>"u"||!e.startsWith("/api/v1/"))return e;let t=$();return!t||/[?&]site=/.test(e)?e:q(e,`site=${encodeURIComponent(t)}`)}async function c(e,t={}){let{token:n,baseUrl:r,headers:a,audience:l,...d}=t;if(typeof window<"u"&&!Qe())throw new f(H,et,null);if(typeof window>"u"&&r===void 0)throw new Error(`apiFetch(${JSON.stringify(e)}) ran on the server without an explicit baseUrl. The API_URL default it would inherit is browser-only (the prod image bakes NEXT_PUBLIC_API_URL="" for same-origin use, which a Node fetch cannot resolve). Pass a base explicitly: \`await backendOpts()\` (or baseUrl: PRODUCT_FETCH_BASE) for product reads, or the server-only PRODUCT_BACKEND_URL env for other backend surfaces.`);let s=typeof FormData<"u"&&d.body instanceof FormData,i;try{i=await fetch(`${r??Xe}${ct(e)}`,{...d,headers:{...s?{}:{"Content-Type":"application/json"},...n?{Authorization:`Bearer ${n}`}:{},...l===null?{}:{"X-Portal-Audience":l??"shop"},...a},signal:d.signal??Re({...d,audience:l})})}catch(g){throw g instanceof TypeError||he(g)?new f(H,W,null):g}let o;try{o=await i.text()}catch(g){throw he(g)?new f(H,W,null):g}let u=null;if(o)try{u=JSON.parse(o)}catch{throw new f(i.status,i.ok?"Expected JSON but received a non-JSON response":ye(i.status,i.statusText),o)}if(!i.ok){let g=(u&&typeof u=="object"&&"detail"in u&&typeof u.detail=="string"?u.detail:null)??ye(i.status,i.statusText);throw new f(i.status,g,u)}return u}var R=null;async function xe(){return R||(R=lt().finally(()=>{R=null}),R)}async function lt(){let e=w.takeLegacyRefresh(),t=await ut.refresh(e??void 0);return w.setTokens(t.access),t.access}async function Te(){return w.getAccess()??xe()}async function h(e,t={}){let n;try{n=await Te()}catch{throw w.clear(),new f(401,"Not signed in",null)}try{return await c(e,{...t,token:n})}catch(r){if(!(r instanceof f)||r.status!==401)throw r;try{let a=await xe();return await c(e,{...t,token:a})}catch{throw w.clear(),r}}}async function fe(e,t={}){if(w.getAccess())try{return{data:await h(e,t),asShopper:!0}}catch(n){if(!(n instanceof f)||n.status!==401)throw n}return{data:await c(e,t),asShopper:!1}}async function Se(){let e=await h("/api/auth/me/");if(e.portal!=="shop")throw w.clear(),new f(403,"This session is not valid for this shop.",null);return e}var ut={login:(e,t)=>c("/api/auth/login/",{method:"POST",body:JSON.stringify({email:e,password:t,portal:"shop"}),credentials:"include"}),refresh:e=>c("/api/auth/refresh/",{method:"POST",body:JSON.stringify(e?{refresh:e,portal:"shop"}:{portal:"shop"}),credentials:"include"}),logout:async()=>{w.clear();try{await c("/api/auth/logout/",{method:"POST",body:JSON.stringify({portal:"shop"}),credentials:"include"})}catch{}},restoreSession:async()=>{let e=await Te();return await Se(),e},me:Se,updateMe:e=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify(e)}),changePassword:(e,t)=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify({password:t,old_password:e})}),changeEmail:(e,t)=>h("/api/shop-portal/change-email/",{method:"POST",body:JSON.stringify({new_email:e,current_password:t})}),myProfile:()=>h("/api/shop-portal/profile/"),updateMyProfile:e=>h("/api/shop-portal/profile/",{method:"PATCH",body:JSON.stringify(e)}),myAddresses:()=>h("/api/shop-portal/delivery-locations/"),createAddress:e=>h("/api/shop-portal/delivery-locations/",{method:"POST",body:JSON.stringify(e)}),updateAddress:(e,t)=>h(`/api/shop-portal/delivery-locations/${e}/`,{method:"PATCH",body:JSON.stringify(t)}),deleteAddress:e=>h(`/api/shop-portal/delivery-locations/${e}/`,{method:"DELETE"}),passwordResetRequest:e=>c("/api/auth/password-reset/",{method:"POST",body:JSON.stringify({email:e})}),passwordResetConfirm:(e,t,n)=>c("/api/auth/password-reset/confirm/",{method:"POST",body:JSON.stringify({uid:e,token:t,new_password:n})}),brands:()=>h("/api/products/brands/"),myOrders:()=>h("/api/shop-portal/orders/").then(e=>e.results),myOrder:e=>h(`/api/shop-portal/orders/${e}/`),cancelOrder:e=>h(`/api/shop-portal/orders/${e}/cancel/`,{method:"POST"}),myReturns:e=>h(`/api/shop-portal/returns/${e?`?order=${encodeURIComponent(e)}`:""}`).then(t=>t.results),createReturn:e=>h("/api/shop-portal/returns/",{method:"POST",body:JSON.stringify(e)}),withdrawReturn:e=>h(`/api/shop-portal/returns/${e}/cancel/`,{method:"POST"}),uploadReturnPhoto:(e,t)=>{let n=new FormData;return n.append("claim_item",e),n.append("file",t),n.append("media_type",t.type.startsWith("video/")?"video":"image"),h("/api/shop-portal/return-media/",{method:"POST",body:n})}};function S(e){if(typeof e=="string")return e.startsWith("/media/")?V(e):e;if(Array.isArray(e))return e.map(S);if(e&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=n==="captions"&&r&&typeof r=="object"&&!Array.isArray(r)?Object.fromEntries(Object.entries(r).map(([a,l])=>[S(a),l])):S(r);return t}return e}var Ce=typeof window>"u"&&U!=="",mt=Ce?U:"",pt=j,b=()=>({baseUrl:pt(),audience:null});function m(e,t){let n=t?`?process=${encodeURIComponent(t)}`:"";return`/api/v1${e}${n}`}var dt=100,Pe=50;function Oe(e,t,n){let r=new URLSearchParams;for(let[a,l]of Object.entries(t))l!=null&&l!==""&&r.set(a,String(l));return r.set("pageSize",String(dt)),n&&r.set("cursor",n),`/api/v1${e}?${r.toString()}`}function gt(e,t){return Oe("/wheels",{process:e},t)}function ht(e,t,n){return Oe("/products",{kind:e.join(","),make:t?.make,model:t?.model,year:t?.year,modification:t?.modification},n)}function yt(e){if(!e)return null;try{return new URL(e,"http://cursor.invalid").searchParams.get("cursor")}catch{return null}}async function we(e,t,n=()=>!1){let r=[],a=null;try{for(let l=0;l<Pe;l++){let d=await c(await t(a),await p());if(r.push(...d.results),a=yt(d.next),!a)break}a&&console.warn(`[${e}] stopped at ${Pe} pages (${r.length} rows); catalog may be truncated`)}catch(l){if(n(l))throw l;console.warn(`[${e}] product API unavailable, returning []`,l)}return r}var ft=e=>e instanceof f&&e.status===400;function St(e){return e.flatMap(t=>t.kind==="alloy-wheel"?M([t]):[t])}async function ve(){return(await Pt()).host}async function Pt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js"),t=await e(),n=l=>l?.split(",")[0]?.split(":")[0]?.trim().toLowerCase()||null,r=n(t.get(ee)??t.get("x-forwarded-host")??t.get("host")),a=n(t.get("host"));return{host:r,matchesRequestHost:r!==null&&r===a}}catch{return{host:null,matchesRequestHost:!1}}}async function wt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return Z((await e()).get(B))}catch{return null}}async function bt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(Y)||null}catch{return null}}async function At(){let e=await bt();if(e)return`site=${encodeURIComponent(e)}`;let t=await ve();return t?`host=${encodeURIComponent(t)}`:""}async function y(e){if(typeof window<"u"){let t=$();return t?q(e,`site=${encodeURIComponent(t)}`):e}return q(e,await At())}function q(e,t){return t?`${e}${e.includes("?")?"&":"?"}${t}`:e}var Rt="preview";async function _t(){if(typeof window<"u")return null;try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(te)}catch{return null}}async function kt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get("user-agent")}catch{return null}}async function J(e,t){let n=await _t();if(n===null)return[await y(e),await p(t)];let r=q(await y(e),`${Rt}=${encodeURIComponent(n)}`),{next:a,cache:l,...d}=t??{},s=await p({...d,cache:"no-store"}),i=await kt();return i&&(s.headers={...s.headers,"user-agent":i}),[r,s]}async function xt(e){if(!Ce)return;let[t,n]=await Promise.all([ve(),wt()]),r=Q(t,n,e);return Object.keys(r).length>0?r:void 0}async function p(e){let t=await xt(X(e)),n={baseUrl:mt,...e};return t&&(n.headers={...t,...e?.headers}),n}var _=typeof window>"u";function k(e,t){let n=new URLSearchParams;for(let[a,l]of Object.entries(t))l!==void 0&&l!==""&&n.set(a,String(l));let r=n.toString();return`/api/v1/fitment${e}${r?`?${r}`:""}`}var on={listMakes:async e=>{if(_){let{fitmentData:n}=await import("./fitment-data-RXCNCZLU.js");return n.makes(e)}return(await c(k("/makes",{region:e}),b())).results},listModels:async(e,t)=>{if(_){let{fitmentData:r}=await import("./fitment-data-RXCNCZLU.js");return r.models(e,t)}return(await c(k("/models",{make:e,region:t}),b())).results},listYears:async(e,t,n)=>{if(_){let{fitmentData:a}=await import("./fitment-data-RXCNCZLU.js");return a.years(e,t,n)}return(await c(k("/years",{make:e,model:t,region:n}),b())).results},listModifications:async(e,t,n,r)=>{if(_){let{fitmentData:l}=await import("./fitment-data-RXCNCZLU.js");return l.modifications(e,t,n,r)}return(await c(k("/modifications",{make:e,model:t,year:n,region:r}),b())).results},getStockFitment:async(e,t,n,r,a)=>{if(_){let{fitmentData:l}=await import("./fitment-data-RXCNCZLU.js");return l.stockFitment(e,t,n,r,a)}return c(k("/stock-fitment",{make:e,model:t,year:n,modification:r,region:a}),b())}},an={listWheels:async e=>{let t=await we("products.listWheels",async n=>await y(gt(e,n)));return M(S(t))},listCatalog:async(e,t)=>{if(e.length===0)throw new Error("products.listCatalog() needs at least one kind. An empty list would omit `kind`, which the contract reads as `alloy-wheel` \u2014 so the call would silently return the wheel catalog instead of nothing.");let n=await we("products.listCatalog",async r=>await y(ht(e,t,r)),ft);return St(S(n))},getWheel:async e=>A(S(await c(await y(m(`/wheels/${e}`)),await p()))),getTyre:async e=>S(await c(await y(m(`/tyres/${e}`)),await p())),listBundles:async()=>{try{return await c(await y(m("/bundles")),await p())}catch{return[]}},getBundle:async e=>c(await y(m(`/bundles/${e}`)),await p()),listGalleryBuilds:async(e={})=>{let{process:t=null,wheelSlug:n=null}=e;if(typeof window>"u"){let{listGalleryBuilds:r}=await import("./gallery-builds-data-TD3QJK7L.js");return S(r(t,n))}try{let r=new URLSearchParams;t&&r.set("process",t),n&&r.set("wheelSlug",n);let a=r.toString(),l=await c(`/api/v1/gallery-builds${a?`?${a}`:""}`,b());return S(l.results)}catch(r){return console.warn("[products.listGalleryBuilds] product API unavailable, returning []",r),[]}},getSite:async()=>c(await y(m("/site")),await p()),getSiteBySlug:async e=>c(`${m("/site")}?${new URLSearchParams({site:e})}`,typeof window>"u"?await p():void 0),listPages:async()=>S(await c(await y(m("/pages")),await p())),listPopups:async()=>c(await y(m("/popups")),await p()),listProductTemplates:async()=>{try{return await c(await y(m("/product-templates")),await p())}catch(e){return console.warn("[products.listProductTemplates] unavailable, returning []",e),[]}},listDynamicPages:async e=>{let t=e?`?recordType=${encodeURIComponent(e)}`:"";try{return await c(await y(`${m("/dynamic-pages")}${t}`),await p())}catch(n){if(n instanceof f&&n.status===404)return[];throw n}},getRecord:async(e,t)=>{try{return await c(await y(m(`/records/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)),await p())}catch(n){if(n instanceof f&&n.status===404)return null;throw n}},listRecordKeys:async e=>{try{let t=await c(await y(m(`/records/${encodeURIComponent(e)}`)),await p({cache:"no-store"}));return Array.isArray(t?.keys)?t.keys.filter(n=>typeof n=="string"&&n!==""):[]}catch(t){if(t instanceof f&&t.status===404)return[];throw t}},listProductTypeChoices:async()=>{try{return await c(await y(m("/product-type-choices")),await p())}catch(e){return console.warn("[products.listProductTypeChoices] unavailable, returning []",e),[]}},listFieldUsage:async()=>{try{return await c(await y(m("/field-usage")),await p())}catch(e){return console.warn("[products.listFieldUsage] unavailable, returning []",e),[]}},getPage:async(e,t={})=>{let n=t.record?`?record=${encodeURIComponent(t.record)}`:"",[r,a]=await J(m(`/pages/${e}`)+n,t.revalidate!==void 0?{next:{revalidate:t.revalidate}}:void 0);return S(await c(r,a))},listBlogPosts:async(e={})=>{let t=e.category?`?category=${encodeURIComponent(e.category)}`:"";try{return(await c(m("/blog-posts")+t,await p())).map(r=>({...r,coverImage:C(r.coverImage)??""}))}catch(n){return console.warn("[products.listBlogPosts] blog API unavailable, returning []",n),[]}},getBlogPost:async e=>{let t=await c(m(`/blog-posts/${e}`),await p());return{...t,coverImage:C(t.coverImage)??""}},createOrder:async e=>c(m("/orders"),await p({method:"POST",body:JSON.stringify(e)})),createOrderAuthed:async e=>h(m("/orders"),await p({method:"POST",body:JSON.stringify(e)})),lookupOrder:async e=>c(m("/orders/lookup"),await p({method:"POST",body:JSON.stringify(e)})),createPaymentIntent:async e=>c(m("/payments/intent"),await p({method:"POST",body:JSON.stringify(e)})),createPaypalOrder:async e=>c(m("/payments/paypal/order"),await p({method:"POST",body:JSON.stringify(e)})),capturePaypalOrder:async e=>c(m("/payments/paypal/capture"),await p({method:"POST",body:JSON.stringify(e)})),createAfterpayCheckout:async e=>c(m("/payments/afterpay/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureAfterpayPayment:async e=>c(m("/payments/afterpay/capture"),await p({method:"POST",body:JSON.stringify(e)})),chargeSquare:async e=>c(m("/payments/square/charge"),await p({method:"POST",body:JSON.stringify(e)})),createGocardlessBillingRequest:async e=>c(m("/payments/gocardless/billing-request"),await p({method:"POST",body:JSON.stringify(e)})),completeGocardlessPayment:async e=>c(m("/payments/gocardless/complete"),await p({method:"POST",body:JSON.stringify(e)})),createZipCheckout:async e=>c(m("/payments/zip/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureZipPayment:async e=>c(m("/payments/zip/capture"),await p({method:"POST",body:JSON.stringify(e)})),createKlarnaCheckout:async e=>c(m("/payments/klarna/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureKlarnaPayment:async e=>c(m("/payments/klarna/capture"),await p({method:"POST",body:JSON.stringify(e)})),createStockAlert:async e=>c(m("/stock-alerts"),await p({method:"POST",body:JSON.stringify(e)})),createPreOrderIntent:async e=>c(m("/pre-order-intents"),await p({method:"POST",body:JSON.stringify(e)})),createNewsletterSubscription:async e=>c(m("/newsletter-subscriptions"),await p({method:"POST",body:JSON.stringify(e)})),unsubscribeNewsletter:async e=>c(m("/newsletter-unsubscribe"),await p({method:"POST",body:JSON.stringify(e)})),captureCart:async e=>c(m("/carts"),await p({method:"POST",body:JSON.stringify(e)})),restoreCart:async e=>c(m("/carts/restore"),await p({method:"POST",body:JSON.stringify(e)})),unsubscribeCartReminders:async e=>c(m("/carts/unsubscribe"),await p({method:"POST",body:JSON.stringify(e)})),listReviews:async(e={})=>{let t=new URLSearchParams;e.limit&&t.set("limit",String(e.limit)),e.designCode&&t.set("designCode",e.designCode);let n=m("/reviews"),r=t.toString();try{return await c(await y(r?`${n}?${r}`:n),await p())}catch(a){return console.warn("[products.listReviews] product API unavailable, returning []",a),[]}},submitReview:async e=>c(m("/reviews"),await p({method:"POST",body:JSON.stringify(e)})),getForm:async e=>c(m(`/forms/${encodeURIComponent(e)}`),await p()),submitForm:async(e,t)=>c(m(`/forms/${encodeURIComponent(e)}/submissions`),await p({method:"POST",body:JSON.stringify(t)})),listShippingMethods:async()=>{try{return await c(m("/shipping-methods"),await p())}catch(e){return console.warn("[products.listShippingMethods] product API unavailable, returning []",e),[]}},listCountrySubdivisions:async e=>{try{return await c(m(`/countries/${encodeURIComponent(e)}/subdivisions`),await p())}catch(t){return console.warn("[products.listCountrySubdivisions] unavailable, returning []",t),[]}},quoteCart:async e=>{let t=m("/cart/quote"),n=await p({method:"POST",body:JSON.stringify(e)});return e.couponCode?(await fe(t,n)).data:c(t,n)},validateCoupon:async e=>{let{data:t,asShopper:n}=await fe(m("/coupons/validate"),await p({method:"POST",body:JSON.stringify(e)}));return{...t,askedAsShopper:n}},getHeaderSettings:async()=>{let e=Re({method:"GET"}),t=await c(...await J(m("/header-settings"),{signal:e})),n=C(t.logoUrl),r=null,a=null;if(n&&D(n)){let l=await de(n,e);l&&(r=l.reversed,a=l.inkIsDark)}return{...t,logoUrl:n,logoReversed:r,logoInkIsDark:a}},getThemeSettings:async()=>c(...await J(m("/theme-settings"))),getChatSettings:async()=>c(await y(m("/chat-settings")),await p())},cn={listServices:async()=>{try{return await c(m("/bookings/services"),await p())}catch(e){return console.warn("[bookings.listServices] API unavailable, returning []",e),{results:[],currency:"USD"}}},getAvailability:async(e,t)=>c(m(`/bookings/availability?service=${encodeURIComponent(e)}&date=${t}`),await p()),create:async e=>c(m("/bookings"),await p({method:"POST",body:JSON.stringify(e)})),get:async e=>c(m(`/bookings/manage/${encodeURIComponent(e)}`),await p()),cancel:async e=>c(m(`/bookings/manage/${encodeURIComponent(e)}/cancel`),await p({method:"POST"})),createPaymentIntent:async e=>c(m("/bookings/payments/intent"),await p({method:"POST",body:JSON.stringify({manageToken:e})}))},G=class extends Error{constructor(n,r){super(`Slug "${n}" exists on ${r} websites; a site is required to pick one.`);this.slug=n;this.count=r;this.name="AmbiguousPageSlugError"}},I=(e,t,n)=>{let r=new URLSearchParams({...t?{site:t}:{},...n?{draft:"1"}:{}}).toString();return`/api/storefront/${e}/${r?`?${r}`:""}`},x=e=>`/api/storefront/sites/${encodeURIComponent(e)}/`,Tt=e=>`${x(e)}currencies/`,Ct="/api/storefront/media/ingest/",K=class extends Error{constructor(){super("This editor is not connected to a website, so an upload has nowhere to go. Open the page from the website the file should belong to, then try again."),this.name="MediaUploadDestinationError"}};function Ot(){let e=ge();if(!e)throw new K;return`${Ct}?${new URLSearchParams({site:e})}`}var vt="X-Puck-Media-Manifest",be=z.contentHash,F={"X-Media-Manifest":be,[vt]:be},ln=Ee({});function Ee(e){return(t,n={})=>{let r=at(),a=e.headers||r?{...r?{"Accept-Language":r}:{},...e.headers,...n.headers}:void 0;return c(t,{...n,...e.baseUrl!==void 0?{baseUrl:e.baseUrl}:{},...a?{headers:a}:{},audience:e.audience??it()})}}function Et(e={}){let t=Ee(e),n=e.siteDrafts===!0,r=s=>I("header-settings",s,n),a=s=>I("theme-settings",s,n),l=s=>I("chat-settings",s,n),d=s=>I("social-settings",s,n);return{findPageBySlug:async(s,i,o)=>{let u=new URLSearchParams({slug:s});o&&u.set("site",o);let g=await t(`/api/storefront/pages/?${u.toString()}`,{token:i}),P=Array.isArray(g)?g:g.results??[];if(!o&&P.length>1)throw new G(s,P.length);return P[0]??null},getPageById:(s,i)=>t(`/api/storefront/pages/${s}/`,{token:i}),saveLayout:(s,i,o,u,g)=>t(`/api/storefront/pages/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i,expected_updated_at:u,...g?{client_id:g}:{}}),token:o}),duplicatePage:(s,i,o)=>t(`/api/storefront/pages/${s}/duplicate/`,{method:"POST",body:JSON.stringify({title:i.title,slug:i.slug}),token:o}),geocode:(s,i,o)=>t(`/api/storefront/geocode/?${new URLSearchParams(o?{q:s,country:o}:{q:s})}`,{token:i}),listBlockSources:s=>t("/api/storefront/block-sources/",{token:s}),listRecordTypes:s=>t("/api/storefront/record-types/",{token:s}),createPagePreviewLink:(s,i)=>t(`/api/storefront/pages/${s}/preview-link/`,{method:"POST",token:i}),claimPageEditLock:(s,i,o,u=!1)=>t(`/api/storefront/pages/${s}/edit-lock/`,{method:"POST",body:JSON.stringify({client_id:o,takeover:u}),token:i}),releasePageEditLock:(s,i)=>t(`/api/storefront/pages/${s}/edit-lock/`,{method:"DELETE",token:i}),createTemplate:(s,i,o)=>t("/api/storefront/page-templates/",{method:"POST",body:JSON.stringify({name:s,layout:i}),headers:F,token:o}),getTemplate:(s,i)=>t(`/api/storefront/page-templates/${s}/`,{token:i}),saveTemplateLayout:(s,i,o)=>t(`/api/storefront/page-templates/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i}),headers:F,token:o}),listTemplatePages:async(s,i)=>{let o=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(s)}`,{token:i});return Array.isArray(o)?o:o.results??[]},findTemplatePageBySlug:async(s,i,o)=>{let u=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(s)}&slug=${encodeURIComponent(i)}`,{token:o});return(Array.isArray(u)?u:u.results??[])[0]??null},createTemplatePage:(s,i,o)=>t("/api/storefront/template-pages/",{method:"POST",body:JSON.stringify({template:s,...i}),headers:F,token:o}),saveTemplatePageLayout:(s,i,o)=>t(`/api/storefront/template-pages/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i}),headers:F,token:o}),deleteTemplatePage:(s,i,o)=>t(`/api/storefront/template-pages/${s}/`,{method:"DELETE",token:i,...o?.keepalive?{keepalive:!0}:{}}),listPages:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("site",i);let u=await t(`/api/storefront/pages/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]},createPage:(s,i,o,u)=>t("/api/storefront/pages/",{method:"POST",body:JSON.stringify({title:s,slug:i,layout:o}),token:u}),deletePage:(s,i)=>t(`/api/storefront/pages/${s}/`,{method:"DELETE",token:i}),getHeaderSettings:(s,i)=>t(r(i),{token:s}),listMenus:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("site",i);let u=await t(`/api/storefront/menus/?${o}`,{token:s});return Array.isArray(u)?u:u.results??[]},listBlogPosts:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.visibleOnly&&o.set("is_visible","true"),i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/blog-posts/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]},listFieldUsage:async(s,i)=>{let o=await t(`/api/storefront/field-usage/?site=${encodeURIComponent(i)}`,{token:s});return Array.isArray(o?.entries)?o.entries:[]},listCategories:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.visibleOnly&&o.set("is_visible","true"),i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/categories/?${o.toString()}`,{token:s});return[...Array.isArray(u)?u:u.results??[]].sort((P,T)=>P.sort_order-T.sort_order||P.name.localeCompare(T.name))},listForms:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/forms/?${o.toString()}`,{token:s});return[...Array.isArray(u)?u:u.results??[]].sort((P,T)=>P.title.localeCompare(T.title))},listWheelSummaries:async(s,i={})=>{let o=new URLSearchParams;i.siteId&&o.set("site",i.siteId);let u=o.toString(),g=await t(`/api/storefront/wheel-curations/summaries/${u?`?${u}`:""}`,{token:s});return S(g)},listProducts:async(s,i={})=>{let o=new URLSearchParams;i.kinds?.length&&o.set("kind",i.kinds.join(",")),i.siteId&&o.set("site",i.siteId);let u=o.toString(),g=await t(`/api/storefront/products/${u?`?${u}`:""}`,{token:s});return S(g)},getWheelDetail:async(s,i,o={})=>{let u=new URLSearchParams({slug:i});return o.siteId&&u.set("site",o.siteId),A(S(await t(`/api/storefront/wheel-curations/detail/?${u.toString()}`,{token:s})))},updateHeaderSettings:(s,i,o)=>t(r(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getSite:(s,i)=>t(x(s),{token:i}),listSites:async s=>{let i=await t("/api/storefront/sites/?no_page=true",{token:s});return Array.isArray(i)?i:i.results??[]},listSiteCurrencies:async(s,i)=>{let o=await t(Tt(s),{token:i});return Array.isArray(o)?o:[]},publishSite:(s,i)=>t(`${x(s)}publish/`,{method:"POST",token:i}),getSiteLiveState:(s,i)=>t(`${x(s)}live-state/`,{token:i}),updateSite:(s,i,o)=>t(x(s),{method:"PATCH",body:JSON.stringify(i),token:o}),getThemeSettings:(s,i)=>t(a(i),{token:s}),updateThemeSettings:(s,i,o)=>t(a(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getChatSettings:(s,i)=>t(l(i),{token:s}),updateChatSettings:(s,i,o)=>t(l(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getSocialSettings:(s,i)=>t(d(i),{token:s}),updateSocialSettings:(s,i,o)=>t(d(o),{method:"PATCH",body:JSON.stringify(s),token:i}),uploadHeaderLogo:(s,i,o)=>{let u=new FormData;return u.append("logo",s),t(r(o),{method:"PATCH",body:u,token:i})},clearHeaderLogo:(s,i)=>t(r(i),{method:"PATCH",body:JSON.stringify({logo:null}),token:s}),setHeaderLogoFromAsset:(s,i,o)=>t(r(o),{method:"PATCH",body:JSON.stringify({logo_asset_id:s}),token:i}),uploadMedia:async(s,i)=>{let o=new FormData;return o.append("file",s),t(Ot(),{method:"POST",body:o,token:i})},listMedia:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("kind",i);let u=await t(`/api/storefront/media-assets/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]}}}var un=Et({siteDrafts:!0});export{U as a,Q as b,X as c,w as d,qe as e,D as f,ge as g,Xe as h,f as i,W as j,H as k,Yt as l,en as m,c as n,ut as o,ve as p,Pt as q,wt as r,bt as s,_t as t,on as u,an as v,cn as w,G as x,ln as y,un as z};
@@ -1 +1 @@
1
- import{f as ft,i as pe,q as pt,s as mt,t as gt,v as B}from"./chunk-Z7PJKX2P.js";import{Aa as fe,Ba as ct,Ea as $e,Fa as dt,Ia as Be,Ja as We}from"./chunk-S66TL4Z3.js";import{j as ut,l as oe}from"./chunk-IHYVLVY3.js";import{createContext as cn,useContext as xt,useEffect as dn,useMemo as ge,useState as bt}from"react";function ht(e,t){return e.map(n=>({partNumber:n.partNumber,quantity:n.wheels*t}))}function ie(e,t){if(e.length===0)return null;let n=0;for(let r of e){let o=r.prices?.[t];if(typeof o!="number"||!Number.isFinite(o)||o<=0)return null;n+=o*r.wheels}return n}var Ge=4,_r=1,Nr={unit:"set",spares:0,spareSide:"left"};function yt(e){return e.unit==="single"?1:Ge+e.spares}function Rr(e,t){return[{partNumber:e.partNumber,wheels:yt(t),prices:e.prices}]}function Lr(e,t){let n=yt(t)-Ge;if(n<=0||e.length===0)return e;let r=ln(e),o=r?r[t.spareSide]:0;return e.map((i,a)=>a===o?{...i,wheels:i.wheels+n}:i)}function ln(e){let t,n;for(let r=0;r<e.length;r+=1){let o=e[r].hand;if(o!=="left"&&o!=="right")continue;if((o==="left"?t:n)!==void 0)return null;o==="left"?t=r:n=r}return t!==void 0&&n!==void 0?{left:t,right:n}:null}function un(e,t){return t.spares>0?`${e} + spare`:e}function Ir(e){return e.unit==="single"?"Single":un(`Set of ${Ge}`,e)}var Ar="data-add-to-basket",qe=9,Ne="en";function me(e,t,n=0){return new Intl.NumberFormat(Ne,{style:"currency",currency:t,minimumFractionDigits:0,maximumFractionDigits:n}).format(e)}function kr(e,t){return new Intl.NumberFormat(Ne,{style:"currency",currency:t}).format(e)}import{jsx as gn}from"react/jsx-runtime";var fn="storefront-country",Ct=fn,Ke=cn(null);function pn(e){return St(e,"catalogue")}function mn(e){return St(e,"money")}function St(e,t){let n=new Map(e.map(o=>[o.code,o.decimalPlaces])),r=new Map;return(o,i)=>{if(!i)return"";let a=r.get(i);if(!a){let l=n.get(i)??0;a=new Intl.NumberFormat(Ne,{style:"currency",currency:i,minimumFractionDigits:t==="money"?l:0,maximumFractionDigits:l}),r.set(i,a)}return a.format(o)}}function Fr({children:e,currencies:t,countries:n,defaultCurrency:r,defaultCountry:o}){let i=ge(()=>t??[],[t]),a=ge(()=>n??[],[n]),l=ge(()=>r||i.find(b=>b.isDefault)?.code||i[0]?.code||"",[r,i]),c=ge(()=>o||a.find(b=>b.isDefault)?.code||a[0]?.code||"",[o,a]),[u,f]=bt(c),[d,S]=bt(!1);dn(()=>{let b=oe.getItem(Ct);b&&a.some(P=>P.code===b)&&f(b),S(!0)},[a]);function N(b){f(b),oe.setItem(Ct,b)}let C=ge(()=>{let b=a.find(v=>v.code===u)??null,P=b?.currency,O=P&&i.some(v=>v.code===P)?P:l,M=pn(i),I=mn(i);return{country:u,currency:O,setCountry:N,currencies:i,countries:a,activeCountry:b,formatPrice:(v,x)=>M(v,x??O),formatMoney:(v,x)=>I(v,x??O),ready:d}},[u,i,a,l,d]);return gn(Ke.Provider,{value:C,children:e})}function vt(){let e=xt(Ke);if(!e)throw new Error("useCurrency must be used within a CurrencyProvider");return e}function Ur(){return xt(Ke)?.country??""}import{createContext as In,useCallback as _,useContext as An,useEffect as Z,useMemo as Mt,useRef as Ie,useState as L}from"react";function Pt(e,t){return e.valid?!1:e.reason==="firstOrderOnly"?!0:e.reason==="notEligible"&&!t}var wt="We'll confirm this discount when you place your order.",Wr="Confirmed at checkout";function Gr(e){return e&&(e.valid||e.deferred)?e.code:void 0}var Et="coupon_code: ";function qr(e){return!(e instanceof pe)||e.status!==400||!e.message.startsWith(Et)?null:e.message.slice(Et.length)}function _t(e,t){return e.map(n=>({qty:n.qty,slug:n.slug,name:`${n.name.lead}${n.name.accent}`.trim(),finish:n.finishName,size:n.size,kind:n.kind,sku:n.sku,pack:n.pack,priceLabel:t(n)}))}var Re="Price on request",yn="Request a quote",bn="from ",Vr="From ",Yr="each",Nt="Free";function ze(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Xe(e,t){let n=e?.[t];return ze(n)?n:null}function Qr(e,t,n,r){let o=Xe(e,n),i=Xe(t,n);return o===null&&i===null?0:o===null?1:i===null?-1:r==="asc"?o-i:i-o}function jr(e,t,n,r){if(n==null&&r==null)return!0;let o=Xe(e,t);return!(o===null||n!=null&&o<n||r!=null&&o>r)}var Cn={priced:!1,unit:null,was:null,onSale:!1,setTotal:null};function xn(e,t,n){if(!ze(e))return Cn;let r=ze(t)&&t>e?t:null;return{priced:!0,unit:e,was:r,onSale:r!==null,setTotal:n!=null?e*n:null}}function Zr(e,t,n=""){return!e.priced||e.unit==null?Re:`${n}${me(e.unit,t)}`}function Jr(e,t){return e.was==null?null:me(e.was,t)}function Sn(e,t,n=1){let r=ie(e,t);if(r===null)return{priced:!1,unit:null,isFrom:!1,setTotal:null};let o=e.reduce((a,l)=>a+l.wheels,0),i=Math.min(...e.map(a=>a.prices[t]));return{priced:!0,unit:i,isFrom:i*o!==r,setTotal:r*n}}var vn={priced:!1,unit:null,isFrom:!1,was:null,onSale:!1,setTotal:null};function eo(e,t,n,r=1){let o=xn(e.prices[n],e.msrpPrices?.[n],4),i=o.setTotal==null?null:o.setTotal*r;if(!t)return{priced:o.priced,unit:o.unit,isFrom:!0,was:o.was,onSale:o.onSale,setTotal:null,fromSetTotal:i};let a=Sn(t.components,n,r);return a.priced?{priced:!0,unit:a.unit,isFrom:a.isFrom,was:null,onSale:!1,setTotal:a.setTotal,fromSetTotal:i}:{...vn,fromSetTotal:i}}function En(e,t){return!e.priced||e.unit==null?Re:`${e.isFrom?bn:""}${me(e.unit,t)}`}function to(e,t){return e.was==null?null:me(e.was,t)}function no(e,t){return!e.priced||e.unit==null?yn:En(e,t)}var Pn=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function Rt(e){return Pn.test(e.trim())}var Lt="sf:ga-purchases",wn=20;function At(){return typeof window>"u"||window.parent!==window}function he(...e){try{if(At()||typeof window.gtag!="function")return;window.gtag(...e)}catch{}}function _n(e,t){let n=e.config.find(r=>r.gold)?.label;return{item_id:`${e.slug}|${e.finishName}|${e.size}`,item_name:`${e.name.lead}${e.name.accent}`.trim(),...n?{item_variant:n}:{},price:ie(e.components,t)??0,quantity:e.qty}}function Ve(e,t){return e.filter(Le).map(n=>_n(n,t))}function lo(e){he("event","view_item",{currency:e.currency,value:e.pricePerSet,items:[{item_id:e.itemId,item_name:e.itemName,...e.variant?{item_variant:e.variant}:{},price:e.pricePerSet,quantity:1}]})}function kt(e,t){let n=Ve([e],t);n.length!==0&&he("event","add_to_cart",{currency:t,value:n[0].price*n[0].quantity,items:n})}function uo(e){let t=Ve(e.lines,e.currency);t.length!==0&&he("event","begin_checkout",{currency:e.currency,value:e.value,...e.coupon?{coupon:e.coupon}:{},items:t})}var It=new Set;function Nn(e){if(It.has(e))return!1;It.add(e);try{let t=JSON.parse(oe.getItem(Lt)??"[]");if(t.includes(e))return!1;oe.setItem(Lt,JSON.stringify([...t,e].slice(-wn)))}catch{}return!0}function co(e){let t=e.confirmation;if(At()||!Nn(t.orderNumber))return;let n=t.currency,r=Number(t.grandTotal);he("event","purchase",{transaction_id:t.orderNumber,currency:n,value:r,shipping:Number(t.freightCharge),...t.couponCode?{coupon:t.couponCode}:{},items:Ve(e.lines,n)}),e.adsSendTo&&he("event","conversion",{send_to:e.adsSendTo,transaction_id:t.orderNumber,currency:n,value:r})}var Rn="Arranged after review",Tt="Calculated at checkout",Ln=Tt,mo=Tt;function Ot({quoted:e,optionCount:t,chosenAmount:n,couponWaivesFreight:r}){return e&&t===0?"arranged":r?"free":n===void 0?"pending":n===0?"free":"charged"}function go(e){switch(e){case"arranged":return Rn;case"pending":return Ln;case"free":return Nt;case"charged":return null}}import{jsx as Mn}from"react/jsx-runtime";var kn=400,Tn=400,On=1500;function Le(e){return(e.components?.length??0)>0}function Dt(e,t){return{code:e,valid:t.valid,deferred:Pt(t,t.askedAsShopper),message:t.message||void 0,effects:t.effects??void 0}}function Ut(e,t){return ie(e.components,t)}function Ye(e,t){let n=Ut(e,t);return n===null?null:n*e.qty}function Ft(e){return e!=="tyre"}var Ht=In(null);function No({children:e,preview:t=!1}){let{currency:n,country:r,formatMoney:o}=vt(),[i,a]=L(t),[l,c]=L([]),[u,f]=L([]),[d,S]=L([]),[N,C]=L(!1),[b,P]=L(!1),[O,M]=L(!1),[I,v]=L(!1),[x,W]=L(null),[A,G]=L(void 0),[y,w]=L(null),[m,q]=L(null),[J,U]=L(!1),[D,Se]=L(null),X=Ie(void 0),K=_(()=>a(!0),[]),se=_(()=>a(!1),[]),ee=_(()=>a(s=>!s),[]);Z(()=>{t||typeof window>"u"||new URLSearchParams(window.location.search).get("cart")==="open"&&K()},[K,t]);let ve=_(s=>{w(p=>p?.country===s?.country&&p?.subdivision===s?.subdivision?p:s)},[]),H=_(s=>{v(!0),Ft(s)&&M(!0)},[]),Ee=O||l.some(s=>Ft(s.kind)),F=I||l.length>0;Z(()=>{if(t||!Ee||N)return;let s=!0;return B.listWheels().then(p=>{s&&(f(p),C(!0))}),()=>{s=!1}},[t,Ee,N]),Z(()=>{if(t||!F||b)return;let s=!0;return B.listBundles().then(p=>{s&&(S(p),P(!0))}),()=>{s=!1}},[t,F,b]);let z=x?.deliveryOptions??[];Z(()=>{x&&Se(s=>s&&z.some(p=>p.id===s)?s:z[0]?.id??null)},[x]);let V=_(()=>l.filter(Le).flatMap(s=>ht(s.components,s.qty)),[l]),le=_(async(s,p)=>{let h=s.trim().toUpperCase();if(!h)return;let g=V();if(g.length===0){q({code:h,valid:!1,message:"Add a wheel to the cart first."});return}U(!0),X.current=p;try{let R=await B.validateCoupon({code:h,items:g,currency:n,shippingMethodId:D??void 0,customerEmail:p});q(Dt(h,R))}catch{q({code:h,valid:!1,message:"Could not check that code. Please try again."})}finally{U(!1)}},[V,n,D]),ue=_(()=>{q(null),X.current=void 0},[]),ce=_(s=>{if(!m)return;let{code:p}=m;q(h=>h&&h.code===p?{code:p,valid:!1,refused:!0,message:s}:h)},[m]);Z(()=>{if(!m||m.refused)return;let s=m.code,p=g=>g!==null&&g.code===s&&!g.refused,h=setTimeout(async()=>{let g=V();if(g.length===0){q(R=>p(R)?{code:s,valid:!1,message:"Add a wheel to the cart first."}:R);return}U(!0);try{let R=await B.validateCoupon({code:s,items:g,currency:n,shippingMethodId:D??void 0,customerEmail:X.current});q(de=>p(de)?Dt(s,R):de)}catch{}finally{U(!1)}},kn);return()=>clearTimeout(h)},[l,n,D]);let te=m&&!m.refused?m.code:void 0;Z(()=>{if(t)return;let s=!0,p=setTimeout(async()=>{let h=V();if(h.length===0){W(null),G(void 0);return}try{let g=await B.quoteCart({items:h,currency:n,shippingMethodId:D??void 0,couponCode:te,customerEmail:X.current||void 0,country:y?.country||r||void 0,subdivision:y?.country&&y.subdivision||void 0});if(!s)return;W(g)}catch{if(!s)return}G(te)},Tn);return()=>{s=!1,clearTimeout(p)}},[l,n,D,te,r,y]);let Y=_(s=>{c(p=>{let h=p.findIndex(g=>g.id===s.id);return h===-1?[...p,s]:p.map((g,R)=>R===h?{...g,qty:Math.min(qe,g.qty+s.qty)}:g)}),kt(s,n)},[n]),Pe=_(s=>{c(p=>p.filter(h=>h.id!==s))},[]),we=_((s,p)=>{let h=Math.max(1,Math.min(qe,p));c(g=>g.map(R=>R.id===s?{...R,qty:h}:R))},[]),E=_(s=>{c(s)},[]),[k,ne]=L(null),nt=Ie(null);nt.current=k;let $=Ie(null),Fe=Ie(""),rt=_((s,p)=>{let h=s.trim().toLowerCase();Rt(h)&&ne(g=>g&&g.email===h&&g.firstName===(p??"")?g:{email:h,firstName:p??""})},[]);Z(()=>{if(t||!k)return;let s=_t(l.filter(Le),g=>Ye(g,n)===null?Re:o(Ye(g,n),n)),p={email:k.email,firstName:k.firstName,currency:n,items:s},h=JSON.stringify(p);if(h!==Fe.current)return $.current&&clearTimeout($.current),$.current=setTimeout(()=>{$.current=null,Fe.current=h,B.captureCart(p).catch(g=>{})},On),()=>{$.current&&(clearTimeout($.current),$.current=null)}},[l,k,n,t]);let ot=_(()=>{$.current&&(clearTimeout($.current),$.current=null);let s=nt.current;s&&(Fe.current="",B.captureCart({email:s.email,firstName:s.firstName,currency:n,items:[]}).catch(p=>{}))},[n]),it=Mt(()=>{let s=l.reduce((T,re)=>{let _e=Ye(re,n);return _e===null?T:T+_e},0),p=l.some(T=>Ut(T,n)===null),h=l.reduce((T,re)=>T+re.qty,0),g=m?.valid?m.effects:void 0,R=g?Math.min(s,Number(g.discountAmount)):0,de=x?.bundleDiscount??0,nn=x?.appliedBundles??[],Ue=!!g?.freeShipping,st=z.find(T=>T.id===D),lt=Ue?0:x?.shipping??st?.amount??0,rn=Ot({quoted:x!==null,optionCount:z.length,chosenAmount:st?.amount,couponWaivesFreight:Ue}),He={};for(let T of g?.freeUnits??[])He[T.partNumber]=(He[T.partNumber]??0)+T.quantity;let on=x?.tax??null,an=x?x.grandTotal:s-R-de+lt;return{sets:h,units:l.reduce((T,re)=>T+(re.components??[]).reduce((_e,sn)=>_e+sn.wheels*re.qty,0),0),subtotal:s,hasUnpricedLine:p,discount:R,bundleDiscount:de,appliedBundles:nn,shipping:lt,freeShipping:Ue,shippingStatus:rn,freeUnitsByPartNumber:He,tax:on,grand:an,repricing:!!m?.refused&&x!==null&&A===m?.code,currency:n}},[l,n,m,z,D,x,A]),at=_(s=>{Y(s),K()},[Y,K]),tn=Mt(()=>({isOpen:i,preview:t,open:K,close:se,toggle:ee,items:l,catalog:u,bundles:d,warmCatalog:H,add:Y,addAndOpen:at,remove:Pe,setQty:we,replaceItems:E,identify:rt,clearCapturedCart:ot,coupon:m,applyCoupon:le,removeCoupon:ue,refuseCoupon:ce,couponBusy:J,deliveryOptions:z,setQuoteDestination:ve,shippingMethodId:D,setShippingMethodId:Se,totals:it}),[i,t,K,se,ee,l,u,d,H,Y,at,Pe,we,E,rt,ot,m,le,ue,ce,J,z,ve,D,it]);return Mn(Ht.Provider,{value:tn,children:e})}function $t(){let e=An(Ht);if(!e)throw new Error("useCart() must be called inside <CartProvider>. Mount the provider in app/layout.tsx.");return e}import{cache as zn}from"react";function Bt(e,t,n,r){for(;e.size>=t;){let o,i;for(let[l,c]of e){if(c.expiresAt<=r){o=l;break}i===void 0&&n(l)&&(i=l)}let a=o??i??e.keys().next().value;if(a===void 0)return;e.delete(a)}}var Dn=6e4,Fn=5e3,Un=500,Ae=new Map;async function Hn(e){let{host:t,matchesRequestHost:n}=await pt();if(!t)return"";let r=await mt();return r?`${e}|slug:${encodeURIComponent(t)}/${encodeURIComponent(r)}`:n?`${e}|host:${t}`:`${e}|xhost:${t}`}var $n=e=>e.includes("|slug:")||e.includes("|xhost:");async function Wt(e,t){if(await gt()!==null)return t();let n=await Hn(e);if(!n)return t();let r=Date.now(),o=Ae.get(n);if(o&&o.expiresAt>r)return o.load;let i=await t(),a=i.outcome.state==="failed",l=a?Fn:Dn,c=Ae.get(n)?.lastGood,u=i.outcome.state==="ok"?i:a?c:void 0,f=a&&u?u:i;return Bt(Ae,Un,$n,r),Ae.set(n,{load:f,expiresAt:r+l,lastGood:u}),f}var Bn=404;function Wn(e){if(e instanceof pe&&e.status===Bn)return{state:"absent"};let t=e instanceof pe?e.status:-1,n=e instanceof Error?e.message:String(e);return{state:"failed",status:t,detail:n}}var Gn="[storefront:chrome-load-failed]";function qn(e,t){console.error(`${Gn} ${e} status=${t.status} \u2014 serving fallback chrome`,t.detail)}async function Gt(e,t,n,r){try{let o=await t();return r?.(o)?{value:o,outcome:{state:"absent"}}:{value:o,outcome:{state:"ok"}}}catch(o){let i=Wn(o);return i.state==="failed"&&qn(e,i),{value:n,outcome:i}}}function Kn(e){return e==="production"?"silent":"banner"}var Mo=Kn("production");function Xn(e,t){return e?.trim()||t}function Go({legalName:e,foundedYear:t,siteName:n},r=new Date().getFullYear()){let o=Xn(e,n);return`\xA9 ${t&&t<r?`${t}\u2013${r}`:`${r}`} ${o}`}var Vn={name:fe,legalName:null,foundedYear:null,faviconUrl:null,currencies:[],defaultCurrency:null,countries:[],defaultCountry:null,commerceEnabled:!0,cardPayments:!1,paymentMethods:[],paypalClientId:null,paypalEnvironment:null,squareApplicationId:null,squareLocationId:null,squareEnvironment:null,ga4MeasurementId:null,googleAdsId:null,googleAdsConversionLabel:null,metaPixelId:null,consentEnabled:!1,consentPrivacyPage:null,consentNoticeOptOut:!1,socialLinks:$e},qo=zn(async()=>Wt("site",()=>Gt("site",async()=>{let e=await B.getSite();return{name:ct(e.name),legalName:e.legalName?.trim()||null,foundedYear:e.foundedYear??null,faviconUrl:e.faviconUrl??null,currencies:e.currencies??[],defaultCurrency:e.defaultCurrency??null,countries:e.countries??[],defaultCountry:e.defaultCountry??null,commerceEnabled:e.commerceEnabled??!0,cardPayments:e.cardPayments??!1,paymentMethods:e.paymentMethods??(e.cardPayments?["card"]:[]),paypalClientId:e.paypalClientId??null,paypalEnvironment:e.paypalEnvironment??null,squareApplicationId:e.squareApplicationId??null,squareLocationId:e.squareLocationId??null,squareEnvironment:e.squareEnvironment??null,ga4MeasurementId:e.ga4MeasurementId??null,googleAdsId:e.googleAdsId??null,googleAdsConversionLabel:(e.googleAdsId?e.googleAdsConversionLabel:null)??null,metaPixelId:e.metaPixelId??null,consentEnabled:e.consentEnabled??!1,consentPrivacyPage:e.consentPrivacyPage??null,consentNoticeOptOut:e.consentNoticeOptOut??!1,socialLinks:dt(e.socialLinks)}},Vn)));var Ko={name:fe,legalName:null,foundedYear:null,faviconUrl:null,currencies:[{code:"USD",symbol:"$",decimalPlaces:2,isDefault:!0}],defaultCurrency:"USD",countries:[{code:"US",name:"United States",currency:"USD",url:"",isDefault:!0,chargeTax:!1,taxDisplay:"none",taxName:"",taxRate:null,postalLabel:"Zip Code"}],defaultCountry:"US",commerceEnabled:!0,cardPayments:!0,paymentMethods:["card"],paypalClientId:null,paypalEnvironment:null,squareApplicationId:null,squareLocationId:null,squareEnvironment:null,ga4MeasurementId:null,googleAdsId:null,googleAdsConversionLabel:null,metaPixelId:null,consentEnabled:!1,consentPrivacyPage:null,consentNoticeOptOut:!1,socialLinks:$e};import{jsx as be,jsxs as Qe}from"react/jsx-runtime";import{useEffect as ke,useId as Zn,useRef as Kt,useState as Te}from"react";import{efficientClientOpen as Yn}from"efficient-easel/screen/lib/session";var ye=new Map,Qn=64;async function jn(e){if(!Yn())return null;try{let t=await fetch(`${ut()}/logo-analysis.json?url=${encodeURIComponent(e)}`);if(!t.ok)return null;let n=await t.json();if(!n||typeof n!="object")return null;let{reversed:r,inkIsDark:o}=n;return typeof r!="string"?null:{reversed:r,inkIsDark:typeof o=="boolean"?o:null}}catch{return null}}function qt(e){let t=ye.get(e);if(t)return t;let n=jn(e);if(ye.set(e,n),ye.size>Qn){let r=ye.keys().next();r.done||ye.delete(r.value)}return n}var Jn=202/22,er=.88,ai=16,tr="invert(1)";function si({variant:e="header",scrolled:t=!0,src:n,reverse:r=!1,color:o=null,onLightSurface:i,reversedSrc:a,inkIsDark:l,size:c="medium",sizePx:u,wordmark:f,siteName:d=fe,fitToContainer:S=!1,fitWordmarkToContainer:N=!1,fitFloorPx:C}){let b=f&&f.trim()?f.trim():d,[P,O]=Te(!1),M=Kt(null),I=E=>{M.current=E};ke(()=>{let E=M.current?.ownerDocument??document,k=()=>{O(E.documentElement.getAttribute("data-theme")==="light")};k();let ne=new MutationObserver(k);return ne.observe(E.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>ne.disconnect()},[]);let v=n&&n.trim()?n.trim():null,x=!!v&&ft(v),W=i??(P&&t),A=o&&o.trim()?o.trim():null,G=r&&!A,y=`logo-color-${Zn().replace(/[^A-Za-z0-9_-]/g,"")}`,w=G&&x&&v&&a!=null?{reversed:a,inkIsDark:l??null}:null,m=w!==null,[q,J]=Te(null);ke(()=>{if(!G||!v||!x||m){J(null);return}let E=!1;return J(null),qt(v).then(k=>{E||J(k)}),()=>{E=!0}},[G,v,x,m]);let U=w??q,D=!!U&&U.inkIsDark!==null&&(W?!U.inkIsDark:U.inkIsDark),Se=G&&!!v&&!x&&!W,X=D&&U?U.reversed:v,K=X?[X]:[],[se,ee]=Te(0);ke(()=>{ee(0)},[v,D]);let ve=e==="footer"?We:Be[c],H=u&&u>0?u:ve,Ee=Math.round(H*Jn),F=se<K.length?K[se]:null,[z,V]=Te(X),le=F!==null&&F===z,ue=Kt(null);ke(()=>{let E=ue.current;if(!E||!E.complete)return;if(E.naturalWidth>0||E.naturalHeight>0){V(F);return}let k=!1;return E.decode().then(()=>!k&&V(F),()=>!k&&ee(ne=>ne+1)),()=>{k=!0}},[F]);let ce=S||N,te=`calc(100cqi / ${((b.length+1)*er).toFixed(2)})`,Y=ce&&C&&C>0?Math.min(C,H):null,Pe=ce?Y===null?`min(${H}px, ${te})`:`clamp(${Y}px, ${te}, ${H}px)`:`${H}px`,we=Qe("span",{className:`font-display font-bold tracking-[0.18em] ${Y===null?"whitespace-nowrap":"whitespace-normal"}`,style:{fontSize:Pe,lineHeight:1,...A?{color:A}:{}},"aria-label":b,children:[b,be("span",{className:"text-accent",style:A?{color:A}:void 0,children:"."})]});return Qe("span",{ref:I,className:"inline-flex items-center",children:[!le&&we,A&&F&&be("svg",{"aria-hidden":"true",focusable:"false",width:"0",height:"0",style:{position:"absolute"},children:Qe("filter",{id:y,colorInterpolationFilters:"sRGB",children:[be("feFlood",{style:{floodColor:A}}),be("feComposite",{in2:"SourceAlpha",operator:"in"})]})}),F&&be("img",{ref:ue,src:F,alt:b,width:Ee,height:H,className:"shrink-0 object-contain",style:{...le?{height:`${H}px`,width:"auto",...S?{maxWidth:"100cqi"}:{}}:{display:"none"},...Se?{filter:tr}:{},...A?{filter:`url(#${y})`}:{}},onLoad:()=>V(F),onError:()=>ee(E=>E+1)},F)]})}import{jsx as Ce,jsxs as rr}from"react/jsx-runtime";function nr({spokes:e,mesh:t=!1,className:n}){let a=c=>Math.round(c*1e3)/1e3,l=[];for(let c=0;c<e;c++){let u=c/e*Math.PI*2-Math.PI/2;if(l.push({x1:a(100+Math.cos(u)*22),y1:a(100+Math.sin(u)*22),x2:a(100+Math.cos(u)*86),y2:a(100+Math.sin(u)*86),main:!0}),t){let f=u+Math.PI/e;l.push({x1:a(100+Math.cos(f)*22*1.4),y1:a(100+Math.sin(f)*22*1.4),x2:a(100+Math.cos(f)*78),y2:a(100+Math.sin(f)*78),main:!1})}}return rr("svg",{viewBox:"0 0 200 200",fill:"none",stroke:"currentColor",className:n??"block h-[70%] w-[70%] transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",children:[Ce("circle",{cx:100,cy:100,r:92,strokeWidth:2}),Ce("circle",{cx:100,cy:100,r:84,strokeWidth:1,opacity:.4}),Ce("circle",{cx:100,cy:100,r:22,strokeWidth:2}),Ce("circle",{cx:100,cy:100,r:6,fill:"currentColor"}),l.map((c,u)=>Ce("line",{x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,stroke:"currentColor",strokeWidth:c.main?6:3,strokeLinecap:"round",opacity:c.main?1:.5},u))]})}var di="#c9a461",zt=[{f:"black",label:"Black",hex:"#171717"},{f:"silver",label:"Silver",hex:"#cccccc"},{f:"bronze",label:"Bronze",hex:"#8a6438"},{f:"graphite",label:"Graphite",hex:"#3a3c3f"},{f:"red",label:"Candy Red",hex:"#7a0f14"}],fi={name:"",color:"var(--fg)",family:"silver",src:""};function or(e,t){let n=r=>{let o=zt.findIndex(i=>i.f===r);return o===-1?zt.length:o};return n(e)-n(t)||e.localeCompare(t)}function pi(e){let t=new Set;for(let n of e)for(let r of n.finishes??[])r?.family&&t.add(r.family);return[...t].sort(or)}import{useState as ir}from"react";import{jsx as ae,jsxs as je}from"react/jsx-runtime";function ar({customerEmail:e}){let{coupon:t,applyCoupon:n,removeCoupon:r,couponBusy:o}=$t(),[i,a]=ir("");async function l(){o||!i.trim()||(await n(i,e),a(""))}return je("div",{className:"flex flex-col gap-2",children:[t===null?je("div",{className:"flex border border-line",children:[ae("input",{type:"text",value:i,onChange:c=>a(c.target.value),onKeyDown:c=>{c.key==="Enter"&&(c.preventDefault(),l())},placeholder:"Coupon code","aria-label":"Coupon code",className:"flex-1 bg-transparent px-4 py-4 font-mono text-[11px] uppercase tracking-[0.18em] text-fg outline-none placeholder:text-fg-dim"}),ae("button",{type:"button",onClick:()=>{l()},disabled:o,className:"border-l border-line px-4 font-mono text-[10px] uppercase tracking-[0.26em] text-btn transition-colors hover:bg-btn hover:text-btn-ink disabled:cursor-wait disabled:opacity-60",children:o?"\u2026":"Apply"})]}):je("div",{className:["flex items-center justify-between gap-3 border px-4 py-3",t.valid?"border-accent":"border-line"].join(" "),style:t.valid?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[ae("span",{className:["font-mono text-[11px] uppercase tracking-[0.22em]",t.valid?"text-accent":t.deferred?"text-fg":"text-fg-dim line-through"].join(" "),children:t.code}),ae("button",{type:"button",onClick:r,"aria-label":`Remove coupon ${t.code}`,className:"font-mono text-[12px] text-fg-dim transition-colors hover:text-fg",children:"\u2715"})]}),t?.deferred?ae("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-fg-dim",children:wt}):t&&!t.valid&&t.message&&ae("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-alert",children:t.message})]})}var Ze="Ads on. Shopper can opt out.",Oe="Ads and analytics off until Accept",sr={us:{region:"us",name:"United States",model:"opt-out",law:"California CCPA / CPRA, other state laws",beforeChoice:Ze,footerLink:"Do Not Sell or Share My Personal Information",panelEyebrow:"Do not sell or share",adsRowName:"Sale or sharing for ads"},ca:{region:"ca",name:"Canada",model:"opt-in",law:"PIPEDA, Quebec Law 25",beforeChoice:Oe,footerLink:"Privacy choices",panelEyebrow:"Privacy choices",adsRowName:"Advertising"},au:{region:"au",name:"Australia",model:"opt-out",law:"Privacy Act 1988 (APPs)",beforeChoice:Ze,footerLink:"Privacy choices",panelEyebrow:"Privacy choices",adsRowName:"Advertising"},nz:{region:"nz",name:"New Zealand",model:"opt-out",law:"Privacy Act 2020",beforeChoice:Ze,footerLink:"Privacy choices",panelEyebrow:"Privacy choices",adsRowName:"Advertising"},uk:{region:"uk",name:"United Kingdom",model:"opt-in",law:"PECR, UK GDPR",beforeChoice:Oe,footerLink:"Cookie settings",panelEyebrow:"Cookie settings",adsRowName:"Advertising"},eu:{region:"eu",name:"European Union",model:"opt-in",law:"ePrivacy Directive, GDPR",beforeChoice:Oe,footerLink:"Cookie settings",panelEyebrow:"Cookie settings",adsRowName:"Advertising"},other:{region:"other",name:"All other countries",model:"opt-in",law:"Safe default",beforeChoice:Oe,footerLink:"Cookie settings",panelEyebrow:"Cookie settings",adsRowName:"Advertising"}};function lr(e){let t=[...e.googleAds?["Google"]:[],...e.meta?["Facebook","Instagram"]:[]];return t.length<=1?t.join(""):`${t.slice(0,-1).join(", ")} and ${t[t.length-1]}`}function xi(e,t,n){let r=lr(n),o=r?`We use cookies to count visits and to show you ${t} ads on ${r}.`:"We use cookies to count visits.";return e.model==="opt-in"?{heading:r?"Cookies and ads":"Cookies",before:`${o} Nothing loads until you choose. You can change this at any time with `,link:e.footerLink,after:" at the bottom of every page."}:{heading:r?"Cookies and ads":"Cookies",before:`${o} You can say no at any time: choose Privacy choices, or use `,link:e.footerLink,after:" at the bottom of every page."}}var Si={accept:"Accept all",reject:"Reject all",choose:"Choose",save:"Save",ok:"OK",privacyChoices:"Privacy choices",privacyPolicy:"Privacy Policy",alwaysOn:"Always on"};var ur={asked:!1,region:"other",model:"opt-in",analytics:!0,ads:!0,chosen:!0,gpc:!1};var cr=ur;function wi(e=cr){if(e.asked)return e.ads?"granted":"denied"}function Ni(){let e=typeof crypto<"u"?crypto:void 0;if(typeof e?.randomUUID=="function")return e.randomUUID();let t=new Uint8Array(16);if(typeof e?.getRandomValues=="function")e.getRandomValues(t);else for(let r=0;r<t.length;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=Array.from(t,r=>r.toString(16).padStart(2,"0")).join("");return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}import{Children as fr,isValidElement as pr,useEffect as Vt,useId as mr,useLayoutEffect as jt,useRef as Q,useState as Yt}from"react";var Me=(e,t)=>!!e[t]&&!e[t].disabled;function Je(e,t,n){let r=e.length;for(let o=1;o<=r;o++){let i=((t+n*o)%r+r)%r;if(Me(e,i))return i}return t}function et(e,t){return Je(e,t===1?-1:e.length,t)}function tt(e,t){return Me(e,t)?t:Math.max(et(e,1),0)}function Xt(e,t,n){let{open:r,focus:o}=e,i=a=>({...e,...a});if(t.length===1&&/\S/.test(t)){let a=e.typed+t.toLowerCase(),l=n.findIndex((c,u)=>Me(n,u)&&c.label.toLowerCase().startsWith(a));return{state:i({open:!0,typed:a,focus:l>=0?l:o}),handled:!0}}if(!r)return t==="ArrowDown"||t==="ArrowUp"||t==="Enter"||t===" "?{state:i({open:!0,typed:""}),handled:!0}:{state:e,handled:!1};switch(t){case"ArrowDown":return{state:i({focus:Je(n,o,1)}),handled:!0};case"ArrowUp":return{state:i({focus:Je(n,o,-1)}),handled:!0};case"Home":return{state:i({focus:et(n,1)}),handled:!0};case"End":return{state:i({focus:et(n,-1)}),handled:!0};case"Enter":case" ":return Me(n,o)?{state:i({open:!1,typed:""}),commit:o,refocus:!0,handled:!0}:{state:e,handled:!0};case"Escape":return{state:i({open:!1,typed:""}),refocus:!0,handled:!0};case"Tab":return{state:i({open:!1,typed:""}),handled:!1};default:return{state:e,handled:!1}}}import{placeMenu as gr}from"efficient-shell/ui";import{Fragment as Sr,jsx as j,jsxs as Zt}from"react/jsx-runtime";var Qt={body:"text-[length:var(--size-body,14px)]",label:"text-[length:var(--size-label,13px)]"};function hr({items:e,value:t,onPick:n,open:r,onOpen:o,onClose:i}){let[a,l]=Yt(!1),c=r!==void 0,u=c?r:a,[f,d]=Yt(0),S=Q({text:"",timer:0}),N=Q(null),C=Q(null),b=Q(null),P=mr(),O=Q(null),M=e.findIndex(y=>y.value===t),I=y=>{y!==u&&(c||l(y),y?o?.():i?.())},v=y=>{let w=e[y];!w||w.disabled||(n(w.value),I(!1),C.current?.focus())},x=y=>{let w={open:u,focus:u?f:tt(e,M),typed:S.current.text},m=Xt(w,y,e);return!m.handled&&m.state.open===u?!1:(m.state.typed!==w.typed&&(S.current.text=m.state.typed,window.clearTimeout(S.current.timer),S.current.timer=window.setTimeout(()=>{S.current.text=""},500)),d(m.state.focus),m.commit!==void 0?v(m.commit):I(m.state.open),m.refocus&&C.current?.focus(),m.handled)},W=Q(x);W.current=x;let A=Q(()=>I(!1));A.current=()=>I(!1);let G=y=>{u||(O.current=y.nativeEvent,W.current(y.key)&&y.preventDefault())};return Vt(()=>{if(!u)return;let y=m=>{N.current?.contains(m.target)||A.current()},w=m=>{m!==O.current&&W.current(m.key)&&m.preventDefault()};return document.addEventListener("mousedown",y),document.addEventListener("keydown",w),()=>{document.removeEventListener("mousedown",y),document.removeEventListener("keydown",w)}},[u]),Vt(()=>{u&&(S.current.text||d(tt(e,M)))},[u]),jt(()=>{if(!u||!b.current)return;b.current.children.item(f)?.scrollIntoView({block:"nearest"})},[f,u]),{open:u,toggle:()=>I(!u),close:()=>I(!1),focusIdx:f,setFocusIdx:d,pick:y=>v(e.findIndex(w=>w.value===y)),wrapRef:N,triggerRef:C,listRef:b,listId:P,onTriggerKeyDown:G,activeId:u?`${P}-${f}`:void 0}}var yr={select:{list:"absolute left-0 top-full z-50 mt-1 max-h-[280px] w-max min-w-full overflow-y-auto border-2 border-accent bg-bg shadow-xl",item:(e,t,n)=>["px-3 py-3 font-mono text-[13px] font-semibold uppercase tracking-[0.1em] transition-colors whitespace-nowrap",n?"cursor-not-allowed opacity-40":"cursor-pointer",e&&!n?"bg-accent text-bg":"bg-bg text-fg"].join(" ")},cell:{list:"absolute left-0 top-full z-50 mt-1 max-h-[320px] w-max min-w-full overflow-y-auto border-2 border-accent bg-bg shadow-xl",item:e=>[`cursor-pointer whitespace-nowrap px-6 py-3 font-mono ${Qt.label} font-semibold uppercase tracking-[0.1em] transition-colors`,e?"bg-accent text-bg":"bg-bg text-fg"].join(" "),pickerMarker:!0},hairline:{list:"absolute left-0 top-full z-50 max-h-[320px] w-full overflow-y-auto border border-line bg-bg shadow-[0_6px_20px_rgba(0,0,0,0.10)]",item:(e,t)=>[`flex cursor-pointer items-center justify-between gap-4 border-b border-line px-4 py-3 text-left ${Qt.body} transition-colors last:border-b-0`,t?"border-fg font-medium text-fg":e?"border-fg text-fg":"text-fg-dim"].join(" "),pickerMarker:!0},region:{list:"absolute right-0 top-full z-[200] mt-2 flex min-w-[240px] flex-col border border-line bg-surface text-fg",item:(e,t,n,r)=>["flex w-full cursor-pointer items-center gap-3 px-4 py-3 text-left transition-colors","font-mono text-[13px] uppercase tracking-[0.18em]",e?"bg-surface-2 text-fg":"",r?"":"border-b border-line",t?"text-accent":""].join(" "),itemStyle:e=>e?void 0:{color:"color-mix(in oklab, currentColor 80%, transparent)"}}};function br(e,t){jt(()=>{let n=e.current,r=n?.ownerDocument.defaultView;if(!n||!r)return;let o=()=>{let i=n.style;i.top=i.bottom=i.marginTop=i.marginBottom=i.maxHeight=i.overflowY=i.translate="";let a=n.offsetParent??n.parentElement;if(!a)return;let l=a.getBoundingClientRect(),c=n.getBoundingClientRect(),u=Math.abs(c.right-l.right)<Math.abs(c.left-l.left)?"end":"start",f=gr({trigger:{left:l.left,right:l.right,top:l.top,bottom:l.bottom},menu:{width:c.width,height:c.height},bounds:{left:0,top:0,right:r.innerWidth,bottom:r.innerHeight},align:u,side:"bottom"});if(f.side==="top"){i.top="auto",i.bottom="100%",i.marginTop="0px";let S=f.top+Math.min(c.height,f.maxHeight);i.marginBottom=`${Math.max(0,l.top-S)}px`}f.maxHeight<c.height&&(i.maxHeight=`${f.maxHeight}px`,i.overflowY="auto");let d=f.left-c.left;d&&(i.translate=`${d}px`)};return o(),r.addEventListener("resize",o),r.addEventListener("scroll",o,!0),()=>{r.removeEventListener("resize",o),r.removeEventListener("scroll",o,!0)}},[e,t])}function Cr({id:e,tone:t,items:n,value:r,focusIdx:o,onFocus:i,onPick:a,listRef:l,ariaLabel:c}){let u=yr[t],f=Q(null);return br(f,n.length),j("ul",{ref:d=>{f.current=d,l&&(l.current=d)},id:e,role:"listbox","aria-label":c,...u.pickerMarker?{"data-picker-menu":""}:{},className:u.list,children:n.map((d,S)=>{let N=d.value===r;return j("li",{id:`${e}-${S}`,role:"option","aria-selected":N,"aria-disabled":d.disabled||void 0,onMouseEnter:()=>!d.disabled&&i(S),onMouseDown:C=>{C.preventDefault(),d.disabled||a(d.value)},className:u.item(S===o,N&&d.value!=="",!!d.disabled,S===n.length-1),style:u.itemStyle?.(N),children:d.meta===void 0?d.label:Zt(Sr,{children:[d.lead,j("span",{className:"flex-1 whitespace-nowrap",children:d.label}),j("span",{className:"ml-auto text-[12px] opacity-50",children:d.meta})]})},`${d.value}_${S}`)})})}function xr({value:e,onChange:t,disabled:n,children:r,className:o,style:i,name:a,id:l,"aria-label":c}){let u=fr.toArray(r).flatMap(C=>{if(!pr(C))return[];if(C.type!=="option")return[];let P=C.props,O=P.value!==void 0?String(P.value):"",M=P.children,I=typeof M=="string"||typeof M=="number"?String(M):O;return[{value:O,label:I,disabled:!!P.disabled}]}),f=e??"",d=hr({items:u,value:f,onPick:C=>t?.({target:{value:C}})}),N=u.find(C=>C.value===f)?.label??u[0]?.label??"";return Zt("div",{ref:d.wrapRef,className:"relative",children:[a&&j("input",{type:"hidden",name:a,value:f}),j("button",{ref:C=>{d.triggerRef.current=C},type:"button",disabled:n,"aria-haspopup":"listbox","aria-expanded":d.open,"aria-controls":d.open?d.listId:void 0,"aria-activedescendant":d.activeId,"aria-label":c,id:l,onClick:()=>!n&&d.toggle(),onKeyDown:C=>!n&&d.onTriggerKeyDown(C),className:`block w-full ${o??""}`,style:i,children:j("span",{className:"block w-full truncate text-left",children:N})}),d.open&&j(Cr,{id:d.listId,tone:"select",items:u,value:f,focusIdx:d.focusIdx,onFocus:d.setFocusIdx,onPick:d.pick,listRef:d.listRef})]})}import{jsx as xe,jsxs as De}from"react/jsx-runtime";var vr="font-mono text-[length:var(--size-label,12px)]",Er="font-semibold uppercase tracking-[0.22em] text-fg";function Jt(e){return`${e??vr} ${Er}`}function en(){return xe("span",{className:"text-accent",children:" *"})}function Pr({children:e,required:t,labelFace:n}){return De("span",{className:Jt(n),children:[e,t?xe(en,{}):null]})}function wr({label:e,required:t,hint:n,separate:r,htmlFor:o,labelFace:i,className:a,children:l}){let c=a?`flex flex-col gap-2 ${a}`:"flex flex-col gap-2",u=n?xe("span",{className:"font-mono text-[11px] uppercase tracking-[0.22em] text-fg-dim",children:n}):null;return r||n?De("div",{className:c,children:[De("label",{htmlFor:o,className:Jt(i),children:[e,t?xe(en,{}):null]}),l,u]}):De("label",{htmlFor:o,className:c,children:[xe(Pr,{required:t,labelFace:i,children:e}),l]})}export{Wr as a,Gr as b,qr as c,ht as d,Ge as e,_r as f,Nr as g,Rr as h,Lr as i,ln as j,un as k,Ir as l,Ar as m,qe as n,Ne as o,me as p,kr as q,Re as r,yn as s,bn as t,Vr as u,Yr as v,Nt as w,Xe as x,Qr as y,jr as z,xn as A,Zr as B,Jr as C,Sn as D,eo as E,En as F,to as G,no as H,Rt as I,lo as J,uo as K,co as L,mo as M,go as N,Fr as O,vt as P,Ur as Q,Le as R,Ye as S,No as T,$t as U,Go as V,Vn as W,Ko as X,ai as Y,si as Z,nr as _,di as $,zt as aa,fi as ba,or as ca,pi as da,ar as ea,sr as fa,xi as ga,Si as ha,ur as ia,wi as ja,Ni as ka,hr as la,Cr as ma,xr as na,Pr as oa,wr as pa};
1
+ import{f as ft,i as pe,q as pt,s as mt,t as gt,v as B}from"./chunk-EPJ5SM3A.js";import{Aa as fe,Ba as ct,Ea as $e,Fa as dt,Ia as Be,Ja as We}from"./chunk-YACB7UXA.js";import{j as ut,l as oe}from"./chunk-YTQS5GY6.js";import{createContext as cn,useContext as xt,useEffect as dn,useMemo as ge,useState as bt}from"react";function ht(e,t){return e.map(n=>({partNumber:n.partNumber,quantity:n.wheels*t}))}function ie(e,t){if(e.length===0)return null;let n=0;for(let r of e){let o=r.prices?.[t];if(typeof o!="number"||!Number.isFinite(o)||o<=0)return null;n+=o*r.wheels}return n}var Ge=4,_r=1,Nr={unit:"set",spares:0,spareSide:"left"};function yt(e){return e.unit==="single"?1:Ge+e.spares}function Rr(e,t){return[{partNumber:e.partNumber,wheels:yt(t),prices:e.prices}]}function Lr(e,t){let n=yt(t)-Ge;if(n<=0||e.length===0)return e;let r=ln(e),o=r?r[t.spareSide]:0;return e.map((i,a)=>a===o?{...i,wheels:i.wheels+n}:i)}function ln(e){let t,n;for(let r=0;r<e.length;r+=1){let o=e[r].hand;if(o!=="left"&&o!=="right")continue;if((o==="left"?t:n)!==void 0)return null;o==="left"?t=r:n=r}return t!==void 0&&n!==void 0?{left:t,right:n}:null}function un(e,t){return t.spares>0?`${e} + spare`:e}function Ir(e){return e.unit==="single"?"Single":un(`Set of ${Ge}`,e)}var Ar="data-add-to-basket",qe=9,Ne="en";function me(e,t,n=0){return new Intl.NumberFormat(Ne,{style:"currency",currency:t,minimumFractionDigits:0,maximumFractionDigits:n}).format(e)}function kr(e,t){return new Intl.NumberFormat(Ne,{style:"currency",currency:t}).format(e)}import{jsx as gn}from"react/jsx-runtime";var fn="storefront-country",Ct=fn,Ke=cn(null);function pn(e){return St(e,"catalogue")}function mn(e){return St(e,"money")}function St(e,t){let n=new Map(e.map(o=>[o.code,o.decimalPlaces])),r=new Map;return(o,i)=>{if(!i)return"";let a=r.get(i);if(!a){let l=n.get(i)??0;a=new Intl.NumberFormat(Ne,{style:"currency",currency:i,minimumFractionDigits:t==="money"?l:0,maximumFractionDigits:l}),r.set(i,a)}return a.format(o)}}function Fr({children:e,currencies:t,countries:n,defaultCurrency:r,defaultCountry:o}){let i=ge(()=>t??[],[t]),a=ge(()=>n??[],[n]),l=ge(()=>r||i.find(b=>b.isDefault)?.code||i[0]?.code||"",[r,i]),c=ge(()=>o||a.find(b=>b.isDefault)?.code||a[0]?.code||"",[o,a]),[u,f]=bt(c),[d,S]=bt(!1);dn(()=>{let b=oe.getItem(Ct);b&&a.some(P=>P.code===b)&&f(b),S(!0)},[a]);function N(b){f(b),oe.setItem(Ct,b)}let C=ge(()=>{let b=a.find(v=>v.code===u)??null,P=b?.currency,O=P&&i.some(v=>v.code===P)?P:l,M=pn(i),I=mn(i);return{country:u,currency:O,setCountry:N,currencies:i,countries:a,activeCountry:b,formatPrice:(v,x)=>M(v,x??O),formatMoney:(v,x)=>I(v,x??O),ready:d}},[u,i,a,l,d]);return gn(Ke.Provider,{value:C,children:e})}function vt(){let e=xt(Ke);if(!e)throw new Error("useCurrency must be used within a CurrencyProvider");return e}function Ur(){return xt(Ke)?.country??""}import{createContext as In,useCallback as _,useContext as An,useEffect as Z,useMemo as Mt,useRef as Ie,useState as L}from"react";function Pt(e,t){return e.valid?!1:e.reason==="firstOrderOnly"?!0:e.reason==="notEligible"&&!t}var wt="We'll confirm this discount when you place your order.",Wr="Confirmed at checkout";function Gr(e){return e&&(e.valid||e.deferred)?e.code:void 0}var Et="coupon_code: ";function qr(e){return!(e instanceof pe)||e.status!==400||!e.message.startsWith(Et)?null:e.message.slice(Et.length)}function _t(e,t){return e.map(n=>({qty:n.qty,slug:n.slug,name:`${n.name.lead}${n.name.accent}`.trim(),finish:n.finishName,size:n.size,kind:n.kind,sku:n.sku,pack:n.pack,priceLabel:t(n)}))}var Re="Price on request",yn="Request a quote",bn="from ",Vr="From ",Yr="each",Nt="Free";function ze(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Xe(e,t){let n=e?.[t];return ze(n)?n:null}function Qr(e,t,n,r){let o=Xe(e,n),i=Xe(t,n);return o===null&&i===null?0:o===null?1:i===null?-1:r==="asc"?o-i:i-o}function jr(e,t,n,r){if(n==null&&r==null)return!0;let o=Xe(e,t);return!(o===null||n!=null&&o<n||r!=null&&o>r)}var Cn={priced:!1,unit:null,was:null,onSale:!1,setTotal:null};function xn(e,t,n){if(!ze(e))return Cn;let r=ze(t)&&t>e?t:null;return{priced:!0,unit:e,was:r,onSale:r!==null,setTotal:n!=null?e*n:null}}function Zr(e,t,n=""){return!e.priced||e.unit==null?Re:`${n}${me(e.unit,t)}`}function Jr(e,t){return e.was==null?null:me(e.was,t)}function Sn(e,t,n=1){let r=ie(e,t);if(r===null)return{priced:!1,unit:null,isFrom:!1,setTotal:null};let o=e.reduce((a,l)=>a+l.wheels,0),i=Math.min(...e.map(a=>a.prices[t]));return{priced:!0,unit:i,isFrom:i*o!==r,setTotal:r*n}}var vn={priced:!1,unit:null,isFrom:!1,was:null,onSale:!1,setTotal:null};function eo(e,t,n,r=1){let o=xn(e.prices[n],e.msrpPrices?.[n],4),i=o.setTotal==null?null:o.setTotal*r;if(!t)return{priced:o.priced,unit:o.unit,isFrom:!0,was:o.was,onSale:o.onSale,setTotal:null,fromSetTotal:i};let a=Sn(t.components,n,r);return a.priced?{priced:!0,unit:a.unit,isFrom:a.isFrom,was:null,onSale:!1,setTotal:a.setTotal,fromSetTotal:i}:{...vn,fromSetTotal:i}}function En(e,t){return!e.priced||e.unit==null?Re:`${e.isFrom?bn:""}${me(e.unit,t)}`}function to(e,t){return e.was==null?null:me(e.was,t)}function no(e,t){return!e.priced||e.unit==null?yn:En(e,t)}var Pn=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function Rt(e){return Pn.test(e.trim())}var Lt="sf:ga-purchases",wn=20;function At(){return typeof window>"u"||window.parent!==window}function he(...e){try{if(At()||typeof window.gtag!="function")return;window.gtag(...e)}catch{}}function _n(e,t){let n=e.config.find(r=>r.gold)?.label;return{item_id:`${e.slug}|${e.finishName}|${e.size}`,item_name:`${e.name.lead}${e.name.accent}`.trim(),...n?{item_variant:n}:{},price:ie(e.components,t)??0,quantity:e.qty}}function Ve(e,t){return e.filter(Le).map(n=>_n(n,t))}function lo(e){he("event","view_item",{currency:e.currency,value:e.pricePerSet,items:[{item_id:e.itemId,item_name:e.itemName,...e.variant?{item_variant:e.variant}:{},price:e.pricePerSet,quantity:1}]})}function kt(e,t){let n=Ve([e],t);n.length!==0&&he("event","add_to_cart",{currency:t,value:n[0].price*n[0].quantity,items:n})}function uo(e){let t=Ve(e.lines,e.currency);t.length!==0&&he("event","begin_checkout",{currency:e.currency,value:e.value,...e.coupon?{coupon:e.coupon}:{},items:t})}var It=new Set;function Nn(e){if(It.has(e))return!1;It.add(e);try{let t=JSON.parse(oe.getItem(Lt)??"[]");if(t.includes(e))return!1;oe.setItem(Lt,JSON.stringify([...t,e].slice(-wn)))}catch{}return!0}function co(e){let t=e.confirmation;if(At()||!Nn(t.orderNumber))return;let n=t.currency,r=Number(t.grandTotal);he("event","purchase",{transaction_id:t.orderNumber,currency:n,value:r,shipping:Number(t.freightCharge),...t.couponCode?{coupon:t.couponCode}:{},items:Ve(e.lines,n)}),e.adsSendTo&&he("event","conversion",{send_to:e.adsSendTo,transaction_id:t.orderNumber,currency:n,value:r})}var Rn="Arranged after review",Tt="Calculated at checkout",Ln=Tt,mo=Tt;function Ot({quoted:e,optionCount:t,chosenAmount:n,couponWaivesFreight:r}){return e&&t===0?"arranged":r?"free":n===void 0?"pending":n===0?"free":"charged"}function go(e){switch(e){case"arranged":return Rn;case"pending":return Ln;case"free":return Nt;case"charged":return null}}import{jsx as Mn}from"react/jsx-runtime";var kn=400,Tn=400,On=1500;function Le(e){return(e.components?.length??0)>0}function Dt(e,t){return{code:e,valid:t.valid,deferred:Pt(t,t.askedAsShopper),message:t.message||void 0,effects:t.effects??void 0}}function Ut(e,t){return ie(e.components,t)}function Ye(e,t){let n=Ut(e,t);return n===null?null:n*e.qty}function Ft(e){return e!=="tyre"}var Ht=In(null);function No({children:e,preview:t=!1}){let{currency:n,country:r,formatMoney:o}=vt(),[i,a]=L(t),[l,c]=L([]),[u,f]=L([]),[d,S]=L([]),[N,C]=L(!1),[b,P]=L(!1),[O,M]=L(!1),[I,v]=L(!1),[x,W]=L(null),[A,G]=L(void 0),[y,w]=L(null),[m,q]=L(null),[J,U]=L(!1),[D,Se]=L(null),X=Ie(void 0),K=_(()=>a(!0),[]),se=_(()=>a(!1),[]),ee=_(()=>a(s=>!s),[]);Z(()=>{t||typeof window>"u"||new URLSearchParams(window.location.search).get("cart")==="open"&&K()},[K,t]);let ve=_(s=>{w(p=>p?.country===s?.country&&p?.subdivision===s?.subdivision?p:s)},[]),H=_(s=>{v(!0),Ft(s)&&M(!0)},[]),Ee=O||l.some(s=>Ft(s.kind)),F=I||l.length>0;Z(()=>{if(t||!Ee||N)return;let s=!0;return B.listWheels().then(p=>{s&&(f(p),C(!0))}),()=>{s=!1}},[t,Ee,N]),Z(()=>{if(t||!F||b)return;let s=!0;return B.listBundles().then(p=>{s&&(S(p),P(!0))}),()=>{s=!1}},[t,F,b]);let z=x?.deliveryOptions??[];Z(()=>{x&&Se(s=>s&&z.some(p=>p.id===s)?s:z[0]?.id??null)},[x]);let V=_(()=>l.filter(Le).flatMap(s=>ht(s.components,s.qty)),[l]),le=_(async(s,p)=>{let h=s.trim().toUpperCase();if(!h)return;let g=V();if(g.length===0){q({code:h,valid:!1,message:"Add a wheel to the cart first."});return}U(!0),X.current=p;try{let R=await B.validateCoupon({code:h,items:g,currency:n,shippingMethodId:D??void 0,customerEmail:p});q(Dt(h,R))}catch{q({code:h,valid:!1,message:"Could not check that code. Please try again."})}finally{U(!1)}},[V,n,D]),ue=_(()=>{q(null),X.current=void 0},[]),ce=_(s=>{if(!m)return;let{code:p}=m;q(h=>h&&h.code===p?{code:p,valid:!1,refused:!0,message:s}:h)},[m]);Z(()=>{if(!m||m.refused)return;let s=m.code,p=g=>g!==null&&g.code===s&&!g.refused,h=setTimeout(async()=>{let g=V();if(g.length===0){q(R=>p(R)?{code:s,valid:!1,message:"Add a wheel to the cart first."}:R);return}U(!0);try{let R=await B.validateCoupon({code:s,items:g,currency:n,shippingMethodId:D??void 0,customerEmail:X.current});q(de=>p(de)?Dt(s,R):de)}catch{}finally{U(!1)}},kn);return()=>clearTimeout(h)},[l,n,D]);let te=m&&!m.refused?m.code:void 0;Z(()=>{if(t)return;let s=!0,p=setTimeout(async()=>{let h=V();if(h.length===0){W(null),G(void 0);return}try{let g=await B.quoteCart({items:h,currency:n,shippingMethodId:D??void 0,couponCode:te,customerEmail:X.current||void 0,country:y?.country||r||void 0,subdivision:y?.country&&y.subdivision||void 0});if(!s)return;W(g)}catch{if(!s)return}G(te)},Tn);return()=>{s=!1,clearTimeout(p)}},[l,n,D,te,r,y]);let Y=_(s=>{c(p=>{let h=p.findIndex(g=>g.id===s.id);return h===-1?[...p,s]:p.map((g,R)=>R===h?{...g,qty:Math.min(qe,g.qty+s.qty)}:g)}),kt(s,n)},[n]),Pe=_(s=>{c(p=>p.filter(h=>h.id!==s))},[]),we=_((s,p)=>{let h=Math.max(1,Math.min(qe,p));c(g=>g.map(R=>R.id===s?{...R,qty:h}:R))},[]),E=_(s=>{c(s)},[]),[k,ne]=L(null),nt=Ie(null);nt.current=k;let $=Ie(null),Fe=Ie(""),rt=_((s,p)=>{let h=s.trim().toLowerCase();Rt(h)&&ne(g=>g&&g.email===h&&g.firstName===(p??"")?g:{email:h,firstName:p??""})},[]);Z(()=>{if(t||!k)return;let s=_t(l.filter(Le),g=>Ye(g,n)===null?Re:o(Ye(g,n),n)),p={email:k.email,firstName:k.firstName,currency:n,items:s},h=JSON.stringify(p);if(h!==Fe.current)return $.current&&clearTimeout($.current),$.current=setTimeout(()=>{$.current=null,Fe.current=h,B.captureCart(p).catch(g=>{})},On),()=>{$.current&&(clearTimeout($.current),$.current=null)}},[l,k,n,t]);let ot=_(()=>{$.current&&(clearTimeout($.current),$.current=null);let s=nt.current;s&&(Fe.current="",B.captureCart({email:s.email,firstName:s.firstName,currency:n,items:[]}).catch(p=>{}))},[n]),it=Mt(()=>{let s=l.reduce((T,re)=>{let _e=Ye(re,n);return _e===null?T:T+_e},0),p=l.some(T=>Ut(T,n)===null),h=l.reduce((T,re)=>T+re.qty,0),g=m?.valid?m.effects:void 0,R=g?Math.min(s,Number(g.discountAmount)):0,de=x?.bundleDiscount??0,nn=x?.appliedBundles??[],Ue=!!g?.freeShipping,st=z.find(T=>T.id===D),lt=Ue?0:x?.shipping??st?.amount??0,rn=Ot({quoted:x!==null,optionCount:z.length,chosenAmount:st?.amount,couponWaivesFreight:Ue}),He={};for(let T of g?.freeUnits??[])He[T.partNumber]=(He[T.partNumber]??0)+T.quantity;let on=x?.tax??null,an=x?x.grandTotal:s-R-de+lt;return{sets:h,units:l.reduce((T,re)=>T+(re.components??[]).reduce((_e,sn)=>_e+sn.wheels*re.qty,0),0),subtotal:s,hasUnpricedLine:p,discount:R,bundleDiscount:de,appliedBundles:nn,shipping:lt,freeShipping:Ue,shippingStatus:rn,freeUnitsByPartNumber:He,tax:on,grand:an,repricing:!!m?.refused&&x!==null&&A===m?.code,currency:n}},[l,n,m,z,D,x,A]),at=_(s=>{Y(s),K()},[Y,K]),tn=Mt(()=>({isOpen:i,preview:t,open:K,close:se,toggle:ee,items:l,catalog:u,bundles:d,warmCatalog:H,add:Y,addAndOpen:at,remove:Pe,setQty:we,replaceItems:E,identify:rt,clearCapturedCart:ot,coupon:m,applyCoupon:le,removeCoupon:ue,refuseCoupon:ce,couponBusy:J,deliveryOptions:z,setQuoteDestination:ve,shippingMethodId:D,setShippingMethodId:Se,totals:it}),[i,t,K,se,ee,l,u,d,H,Y,at,Pe,we,E,rt,ot,m,le,ue,ce,J,z,ve,D,it]);return Mn(Ht.Provider,{value:tn,children:e})}function $t(){let e=An(Ht);if(!e)throw new Error("useCart() must be called inside <CartProvider>. Mount the provider in app/layout.tsx.");return e}import{cache as zn}from"react";function Bt(e,t,n,r){for(;e.size>=t;){let o,i;for(let[l,c]of e){if(c.expiresAt<=r){o=l;break}i===void 0&&n(l)&&(i=l)}let a=o??i??e.keys().next().value;if(a===void 0)return;e.delete(a)}}var Dn=6e4,Fn=5e3,Un=500,Ae=new Map;async function Hn(e){let{host:t,matchesRequestHost:n}=await pt();if(!t)return"";let r=await mt();return r?`${e}|slug:${encodeURIComponent(t)}/${encodeURIComponent(r)}`:n?`${e}|host:${t}`:`${e}|xhost:${t}`}var $n=e=>e.includes("|slug:")||e.includes("|xhost:");async function Wt(e,t){if(await gt()!==null)return t();let n=await Hn(e);if(!n)return t();let r=Date.now(),o=Ae.get(n);if(o&&o.expiresAt>r)return o.load;let i=await t(),a=i.outcome.state==="failed",l=a?Fn:Dn,c=Ae.get(n)?.lastGood,u=i.outcome.state==="ok"?i:a?c:void 0,f=a&&u?u:i;return Bt(Ae,Un,$n,r),Ae.set(n,{load:f,expiresAt:r+l,lastGood:u}),f}var Bn=404;function Wn(e){if(e instanceof pe&&e.status===Bn)return{state:"absent"};let t=e instanceof pe?e.status:-1,n=e instanceof Error?e.message:String(e);return{state:"failed",status:t,detail:n}}var Gn="[storefront:chrome-load-failed]";function qn(e,t){console.error(`${Gn} ${e} status=${t.status} \u2014 serving fallback chrome`,t.detail)}async function Gt(e,t,n,r){try{let o=await t();return r?.(o)?{value:o,outcome:{state:"absent"}}:{value:o,outcome:{state:"ok"}}}catch(o){let i=Wn(o);return i.state==="failed"&&qn(e,i),{value:n,outcome:i}}}function Kn(e){return e==="production"?"silent":"banner"}var Mo=Kn("production");function Xn(e,t){return e?.trim()||t}function Go({legalName:e,foundedYear:t,siteName:n},r=new Date().getFullYear()){let o=Xn(e,n);return`\xA9 ${t&&t<r?`${t}\u2013${r}`:`${r}`} ${o}`}var Vn={name:fe,legalName:null,foundedYear:null,faviconUrl:null,currencies:[],defaultCurrency:null,countries:[],defaultCountry:null,commerceEnabled:!0,cardPayments:!1,paymentMethods:[],paypalClientId:null,paypalEnvironment:null,squareApplicationId:null,squareLocationId:null,squareEnvironment:null,ga4MeasurementId:null,googleAdsId:null,googleAdsConversionLabel:null,metaPixelId:null,consentEnabled:!1,consentPrivacyPage:null,consentNoticeOptOut:!1,socialLinks:$e},qo=zn(async()=>Wt("site",()=>Gt("site",async()=>{let e=await B.getSite();return{name:ct(e.name),legalName:e.legalName?.trim()||null,foundedYear:e.foundedYear??null,faviconUrl:e.faviconUrl??null,currencies:e.currencies??[],defaultCurrency:e.defaultCurrency??null,countries:e.countries??[],defaultCountry:e.defaultCountry??null,commerceEnabled:e.commerceEnabled??!0,cardPayments:e.cardPayments??!1,paymentMethods:e.paymentMethods??(e.cardPayments?["card"]:[]),paypalClientId:e.paypalClientId??null,paypalEnvironment:e.paypalEnvironment??null,squareApplicationId:e.squareApplicationId??null,squareLocationId:e.squareLocationId??null,squareEnvironment:e.squareEnvironment??null,ga4MeasurementId:e.ga4MeasurementId??null,googleAdsId:e.googleAdsId??null,googleAdsConversionLabel:(e.googleAdsId?e.googleAdsConversionLabel:null)??null,metaPixelId:e.metaPixelId??null,consentEnabled:e.consentEnabled??!1,consentPrivacyPage:e.consentPrivacyPage??null,consentNoticeOptOut:e.consentNoticeOptOut??!1,socialLinks:dt(e.socialLinks)}},Vn)));var Ko={name:fe,legalName:null,foundedYear:null,faviconUrl:null,currencies:[{code:"USD",symbol:"$",decimalPlaces:2,isDefault:!0}],defaultCurrency:"USD",countries:[{code:"US",name:"United States",currency:"USD",url:"",isDefault:!0,chargeTax:!1,taxDisplay:"none",taxName:"",taxRate:null,postalLabel:"Zip Code"}],defaultCountry:"US",commerceEnabled:!0,cardPayments:!0,paymentMethods:["card"],paypalClientId:null,paypalEnvironment:null,squareApplicationId:null,squareLocationId:null,squareEnvironment:null,ga4MeasurementId:null,googleAdsId:null,googleAdsConversionLabel:null,metaPixelId:null,consentEnabled:!1,consentPrivacyPage:null,consentNoticeOptOut:!1,socialLinks:$e};import{jsx as be,jsxs as Qe}from"react/jsx-runtime";import{useEffect as ke,useId as Zn,useRef as Kt,useState as Te}from"react";import{efficientClientOpen as Yn}from"efficient-easel/screen/lib/session";var ye=new Map,Qn=64;async function jn(e){if(!Yn())return null;try{let t=await fetch(`${ut()}/logo-analysis.json?url=${encodeURIComponent(e)}`);if(!t.ok)return null;let n=await t.json();if(!n||typeof n!="object")return null;let{reversed:r,inkIsDark:o}=n;return typeof r!="string"?null:{reversed:r,inkIsDark:typeof o=="boolean"?o:null}}catch{return null}}function qt(e){let t=ye.get(e);if(t)return t;let n=jn(e);if(ye.set(e,n),ye.size>Qn){let r=ye.keys().next();r.done||ye.delete(r.value)}return n}var Jn=202/22,er=.88,ai=16,tr="invert(1)";function si({variant:e="header",scrolled:t=!0,src:n,reverse:r=!1,color:o=null,onLightSurface:i,reversedSrc:a,inkIsDark:l,size:c="medium",sizePx:u,wordmark:f,siteName:d=fe,fitToContainer:S=!1,fitWordmarkToContainer:N=!1,fitFloorPx:C}){let b=f&&f.trim()?f.trim():d,[P,O]=Te(!1),M=Kt(null),I=E=>{M.current=E};ke(()=>{let E=M.current?.ownerDocument??document,k=()=>{O(E.documentElement.getAttribute("data-theme")==="light")};k();let ne=new MutationObserver(k);return ne.observe(E.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>ne.disconnect()},[]);let v=n&&n.trim()?n.trim():null,x=!!v&&ft(v),W=i??(P&&t),A=o&&o.trim()?o.trim():null,G=r&&!A,y=`logo-color-${Zn().replace(/[^A-Za-z0-9_-]/g,"")}`,w=G&&x&&v&&a!=null?{reversed:a,inkIsDark:l??null}:null,m=w!==null,[q,J]=Te(null);ke(()=>{if(!G||!v||!x||m){J(null);return}let E=!1;return J(null),qt(v).then(k=>{E||J(k)}),()=>{E=!0}},[G,v,x,m]);let U=w??q,D=!!U&&U.inkIsDark!==null&&(W?!U.inkIsDark:U.inkIsDark),Se=G&&!!v&&!x&&!W,X=D&&U?U.reversed:v,K=X?[X]:[],[se,ee]=Te(0);ke(()=>{ee(0)},[v,D]);let ve=e==="footer"?We:Be[c],H=u&&u>0?u:ve,Ee=Math.round(H*Jn),F=se<K.length?K[se]:null,[z,V]=Te(X),le=F!==null&&F===z,ue=Kt(null);ke(()=>{let E=ue.current;if(!E||!E.complete)return;if(E.naturalWidth>0||E.naturalHeight>0){V(F);return}let k=!1;return E.decode().then(()=>!k&&V(F),()=>!k&&ee(ne=>ne+1)),()=>{k=!0}},[F]);let ce=S||N,te=`calc(100cqi / ${((b.length+1)*er).toFixed(2)})`,Y=ce&&C&&C>0?Math.min(C,H):null,Pe=ce?Y===null?`min(${H}px, ${te})`:`clamp(${Y}px, ${te}, ${H}px)`:`${H}px`,we=Qe("span",{className:`font-display font-bold tracking-[0.18em] ${Y===null?"whitespace-nowrap":"whitespace-normal"}`,style:{fontSize:Pe,lineHeight:1,...A?{color:A}:{}},"aria-label":b,children:[b,be("span",{className:"text-accent",style:A?{color:A}:void 0,children:"."})]});return Qe("span",{ref:I,className:"inline-flex items-center",children:[!le&&we,A&&F&&be("svg",{"aria-hidden":"true",focusable:"false",width:"0",height:"0",style:{position:"absolute"},children:Qe("filter",{id:y,colorInterpolationFilters:"sRGB",children:[be("feFlood",{style:{floodColor:A}}),be("feComposite",{in2:"SourceAlpha",operator:"in"})]})}),F&&be("img",{ref:ue,src:F,alt:b,width:Ee,height:H,className:"shrink-0 object-contain",style:{...le?{height:`${H}px`,width:"auto",...S?{maxWidth:"100cqi"}:{}}:{display:"none"},...Se?{filter:tr}:{},...A?{filter:`url(#${y})`}:{}},onLoad:()=>V(F),onError:()=>ee(E=>E+1)},F)]})}import{jsx as Ce,jsxs as rr}from"react/jsx-runtime";function nr({spokes:e,mesh:t=!1,className:n}){let a=c=>Math.round(c*1e3)/1e3,l=[];for(let c=0;c<e;c++){let u=c/e*Math.PI*2-Math.PI/2;if(l.push({x1:a(100+Math.cos(u)*22),y1:a(100+Math.sin(u)*22),x2:a(100+Math.cos(u)*86),y2:a(100+Math.sin(u)*86),main:!0}),t){let f=u+Math.PI/e;l.push({x1:a(100+Math.cos(f)*22*1.4),y1:a(100+Math.sin(f)*22*1.4),x2:a(100+Math.cos(f)*78),y2:a(100+Math.sin(f)*78),main:!1})}}return rr("svg",{viewBox:"0 0 200 200",fill:"none",stroke:"currentColor",className:n??"block h-[70%] w-[70%] transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",children:[Ce("circle",{cx:100,cy:100,r:92,strokeWidth:2}),Ce("circle",{cx:100,cy:100,r:84,strokeWidth:1,opacity:.4}),Ce("circle",{cx:100,cy:100,r:22,strokeWidth:2}),Ce("circle",{cx:100,cy:100,r:6,fill:"currentColor"}),l.map((c,u)=>Ce("line",{x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,stroke:"currentColor",strokeWidth:c.main?6:3,strokeLinecap:"round",opacity:c.main?1:.5},u))]})}var di="#c9a461",zt=[{f:"black",label:"Black",hex:"#171717"},{f:"silver",label:"Silver",hex:"#cccccc"},{f:"bronze",label:"Bronze",hex:"#8a6438"},{f:"graphite",label:"Graphite",hex:"#3a3c3f"},{f:"red",label:"Candy Red",hex:"#7a0f14"}],fi={name:"",color:"var(--fg)",family:"silver",src:""};function or(e,t){let n=r=>{let o=zt.findIndex(i=>i.f===r);return o===-1?zt.length:o};return n(e)-n(t)||e.localeCompare(t)}function pi(e){let t=new Set;for(let n of e)for(let r of n.finishes??[])r?.family&&t.add(r.family);return[...t].sort(or)}import{useState as ir}from"react";import{jsx as ae,jsxs as je}from"react/jsx-runtime";function ar({customerEmail:e}){let{coupon:t,applyCoupon:n,removeCoupon:r,couponBusy:o}=$t(),[i,a]=ir("");async function l(){o||!i.trim()||(await n(i,e),a(""))}return je("div",{className:"flex flex-col gap-2",children:[t===null?je("div",{className:"flex border border-line",children:[ae("input",{type:"text",value:i,onChange:c=>a(c.target.value),onKeyDown:c=>{c.key==="Enter"&&(c.preventDefault(),l())},placeholder:"Coupon code","aria-label":"Coupon code",className:"flex-1 bg-transparent px-4 py-4 font-mono text-[11px] uppercase tracking-[0.18em] text-fg outline-none placeholder:text-fg-dim"}),ae("button",{type:"button",onClick:()=>{l()},disabled:o,className:"border-l border-line px-4 font-mono text-[10px] uppercase tracking-[0.26em] text-btn transition-colors hover:bg-btn hover:text-btn-ink disabled:cursor-wait disabled:opacity-60",children:o?"\u2026":"Apply"})]}):je("div",{className:["flex items-center justify-between gap-3 border px-4 py-3",t.valid?"border-accent":"border-line"].join(" "),style:t.valid?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[ae("span",{className:["font-mono text-[11px] uppercase tracking-[0.22em]",t.valid?"text-accent":t.deferred?"text-fg":"text-fg-dim line-through"].join(" "),children:t.code}),ae("button",{type:"button",onClick:r,"aria-label":`Remove coupon ${t.code}`,className:"font-mono text-[12px] text-fg-dim transition-colors hover:text-fg",children:"\u2715"})]}),t?.deferred?ae("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-fg-dim",children:wt}):t&&!t.valid&&t.message&&ae("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-alert",children:t.message})]})}var Ze="Ads on. Shopper can opt out.",Oe="Ads and analytics off until Accept",sr={us:{region:"us",name:"United States",model:"opt-out",law:"California CCPA / CPRA, other state laws",beforeChoice:Ze,footerLink:"Do Not Sell or Share My Personal Information",panelEyebrow:"Do not sell or share",adsRowName:"Sale or sharing for ads"},ca:{region:"ca",name:"Canada",model:"opt-in",law:"PIPEDA, Quebec Law 25",beforeChoice:Oe,footerLink:"Privacy choices",panelEyebrow:"Privacy choices",adsRowName:"Advertising"},au:{region:"au",name:"Australia",model:"opt-out",law:"Privacy Act 1988 (APPs)",beforeChoice:Ze,footerLink:"Privacy choices",panelEyebrow:"Privacy choices",adsRowName:"Advertising"},nz:{region:"nz",name:"New Zealand",model:"opt-out",law:"Privacy Act 2020",beforeChoice:Ze,footerLink:"Privacy choices",panelEyebrow:"Privacy choices",adsRowName:"Advertising"},uk:{region:"uk",name:"United Kingdom",model:"opt-in",law:"PECR, UK GDPR",beforeChoice:Oe,footerLink:"Cookie settings",panelEyebrow:"Cookie settings",adsRowName:"Advertising"},eu:{region:"eu",name:"European Union",model:"opt-in",law:"ePrivacy Directive, GDPR",beforeChoice:Oe,footerLink:"Cookie settings",panelEyebrow:"Cookie settings",adsRowName:"Advertising"},other:{region:"other",name:"All other countries",model:"opt-in",law:"Safe default",beforeChoice:Oe,footerLink:"Cookie settings",panelEyebrow:"Cookie settings",adsRowName:"Advertising"}};function lr(e){let t=[...e.googleAds?["Google"]:[],...e.meta?["Facebook","Instagram"]:[]];return t.length<=1?t.join(""):`${t.slice(0,-1).join(", ")} and ${t[t.length-1]}`}function xi(e,t,n){let r=lr(n),o=r?`We use cookies to count visits and to show you ${t} ads on ${r}.`:"We use cookies to count visits.";return e.model==="opt-in"?{heading:r?"Cookies and ads":"Cookies",before:`${o} Nothing loads until you choose. You can change this at any time with `,link:e.footerLink,after:" at the bottom of every page."}:{heading:r?"Cookies and ads":"Cookies",before:`${o} You can say no at any time: choose Privacy choices, or use `,link:e.footerLink,after:" at the bottom of every page."}}var Si={accept:"Accept all",reject:"Reject all",choose:"Choose",save:"Save",ok:"OK",privacyChoices:"Privacy choices",privacyPolicy:"Privacy Policy",alwaysOn:"Always on"};var ur={asked:!1,region:"other",model:"opt-in",analytics:!0,ads:!0,chosen:!0,gpc:!1};var cr=ur;function wi(e=cr){if(e.asked)return e.ads?"granted":"denied"}function Ni(){let e=typeof crypto<"u"?crypto:void 0;if(typeof e?.randomUUID=="function")return e.randomUUID();let t=new Uint8Array(16);if(typeof e?.getRandomValues=="function")e.getRandomValues(t);else for(let r=0;r<t.length;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=Array.from(t,r=>r.toString(16).padStart(2,"0")).join("");return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}import{Children as fr,isValidElement as pr,useEffect as Vt,useId as mr,useLayoutEffect as jt,useRef as Q,useState as Yt}from"react";var Me=(e,t)=>!!e[t]&&!e[t].disabled;function Je(e,t,n){let r=e.length;for(let o=1;o<=r;o++){let i=((t+n*o)%r+r)%r;if(Me(e,i))return i}return t}function et(e,t){return Je(e,t===1?-1:e.length,t)}function tt(e,t){return Me(e,t)?t:Math.max(et(e,1),0)}function Xt(e,t,n){let{open:r,focus:o}=e,i=a=>({...e,...a});if(t.length===1&&/\S/.test(t)){let a=e.typed+t.toLowerCase(),l=n.findIndex((c,u)=>Me(n,u)&&c.label.toLowerCase().startsWith(a));return{state:i({open:!0,typed:a,focus:l>=0?l:o}),handled:!0}}if(!r)return t==="ArrowDown"||t==="ArrowUp"||t==="Enter"||t===" "?{state:i({open:!0,typed:""}),handled:!0}:{state:e,handled:!1};switch(t){case"ArrowDown":return{state:i({focus:Je(n,o,1)}),handled:!0};case"ArrowUp":return{state:i({focus:Je(n,o,-1)}),handled:!0};case"Home":return{state:i({focus:et(n,1)}),handled:!0};case"End":return{state:i({focus:et(n,-1)}),handled:!0};case"Enter":case" ":return Me(n,o)?{state:i({open:!1,typed:""}),commit:o,refocus:!0,handled:!0}:{state:e,handled:!0};case"Escape":return{state:i({open:!1,typed:""}),refocus:!0,handled:!0};case"Tab":return{state:i({open:!1,typed:""}),handled:!1};default:return{state:e,handled:!1}}}import{placeMenu as gr}from"efficient-shell/ui";import{Fragment as Sr,jsx as j,jsxs as Zt}from"react/jsx-runtime";var Qt={body:"text-[length:var(--size-body,14px)]",label:"text-[length:var(--size-label,13px)]"};function hr({items:e,value:t,onPick:n,open:r,onOpen:o,onClose:i}){let[a,l]=Yt(!1),c=r!==void 0,u=c?r:a,[f,d]=Yt(0),S=Q({text:"",timer:0}),N=Q(null),C=Q(null),b=Q(null),P=mr(),O=Q(null),M=e.findIndex(y=>y.value===t),I=y=>{y!==u&&(c||l(y),y?o?.():i?.())},v=y=>{let w=e[y];!w||w.disabled||(n(w.value),I(!1),C.current?.focus())},x=y=>{let w={open:u,focus:u?f:tt(e,M),typed:S.current.text},m=Xt(w,y,e);return!m.handled&&m.state.open===u?!1:(m.state.typed!==w.typed&&(S.current.text=m.state.typed,window.clearTimeout(S.current.timer),S.current.timer=window.setTimeout(()=>{S.current.text=""},500)),d(m.state.focus),m.commit!==void 0?v(m.commit):I(m.state.open),m.refocus&&C.current?.focus(),m.handled)},W=Q(x);W.current=x;let A=Q(()=>I(!1));A.current=()=>I(!1);let G=y=>{u||(O.current=y.nativeEvent,W.current(y.key)&&y.preventDefault())};return Vt(()=>{if(!u)return;let y=m=>{N.current?.contains(m.target)||A.current()},w=m=>{m!==O.current&&W.current(m.key)&&m.preventDefault()};return document.addEventListener("mousedown",y),document.addEventListener("keydown",w),()=>{document.removeEventListener("mousedown",y),document.removeEventListener("keydown",w)}},[u]),Vt(()=>{u&&(S.current.text||d(tt(e,M)))},[u]),jt(()=>{if(!u||!b.current)return;b.current.children.item(f)?.scrollIntoView({block:"nearest"})},[f,u]),{open:u,toggle:()=>I(!u),close:()=>I(!1),focusIdx:f,setFocusIdx:d,pick:y=>v(e.findIndex(w=>w.value===y)),wrapRef:N,triggerRef:C,listRef:b,listId:P,onTriggerKeyDown:G,activeId:u?`${P}-${f}`:void 0}}var yr={select:{list:"absolute left-0 top-full z-50 mt-1 max-h-[280px] w-max min-w-full overflow-y-auto border-2 border-accent bg-bg shadow-xl",item:(e,t,n)=>["px-3 py-3 font-mono text-[13px] font-semibold uppercase tracking-[0.1em] transition-colors whitespace-nowrap",n?"cursor-not-allowed opacity-40":"cursor-pointer",e&&!n?"bg-accent text-bg":"bg-bg text-fg"].join(" ")},cell:{list:"absolute left-0 top-full z-50 mt-1 max-h-[320px] w-max min-w-full overflow-y-auto border-2 border-accent bg-bg shadow-xl",item:e=>[`cursor-pointer whitespace-nowrap px-6 py-3 font-mono ${Qt.label} font-semibold uppercase tracking-[0.1em] transition-colors`,e?"bg-accent text-bg":"bg-bg text-fg"].join(" "),pickerMarker:!0},hairline:{list:"absolute left-0 top-full z-50 max-h-[320px] w-full overflow-y-auto border border-line bg-bg shadow-[0_6px_20px_rgba(0,0,0,0.10)]",item:(e,t)=>[`flex cursor-pointer items-center justify-between gap-4 border-b border-line px-4 py-3 text-left ${Qt.body} transition-colors last:border-b-0`,t?"border-fg font-medium text-fg":e?"border-fg text-fg":"text-fg-dim"].join(" "),pickerMarker:!0},region:{list:"absolute right-0 top-full z-[200] mt-2 flex min-w-[240px] flex-col border border-line bg-surface text-fg",item:(e,t,n,r)=>["flex w-full cursor-pointer items-center gap-3 px-4 py-3 text-left transition-colors","font-mono text-[13px] uppercase tracking-[0.18em]",e?"bg-surface-2 text-fg":"",r?"":"border-b border-line",t?"text-accent":""].join(" "),itemStyle:e=>e?void 0:{color:"color-mix(in oklab, currentColor 80%, transparent)"}}};function br(e,t){jt(()=>{let n=e.current,r=n?.ownerDocument.defaultView;if(!n||!r)return;let o=()=>{let i=n.style;i.top=i.bottom=i.marginTop=i.marginBottom=i.maxHeight=i.overflowY=i.translate="";let a=n.offsetParent??n.parentElement;if(!a)return;let l=a.getBoundingClientRect(),c=n.getBoundingClientRect(),u=Math.abs(c.right-l.right)<Math.abs(c.left-l.left)?"end":"start",f=gr({trigger:{left:l.left,right:l.right,top:l.top,bottom:l.bottom},menu:{width:c.width,height:c.height},bounds:{left:0,top:0,right:r.innerWidth,bottom:r.innerHeight},align:u,side:"bottom"});if(f.side==="top"){i.top="auto",i.bottom="100%",i.marginTop="0px";let S=f.top+Math.min(c.height,f.maxHeight);i.marginBottom=`${Math.max(0,l.top-S)}px`}f.maxHeight<c.height&&(i.maxHeight=`${f.maxHeight}px`,i.overflowY="auto");let d=f.left-c.left;d&&(i.translate=`${d}px`)};return o(),r.addEventListener("resize",o),r.addEventListener("scroll",o,!0),()=>{r.removeEventListener("resize",o),r.removeEventListener("scroll",o,!0)}},[e,t])}function Cr({id:e,tone:t,items:n,value:r,focusIdx:o,onFocus:i,onPick:a,listRef:l,ariaLabel:c}){let u=yr[t],f=Q(null);return br(f,n.length),j("ul",{ref:d=>{f.current=d,l&&(l.current=d)},id:e,role:"listbox","aria-label":c,...u.pickerMarker?{"data-picker-menu":""}:{},className:u.list,children:n.map((d,S)=>{let N=d.value===r;return j("li",{id:`${e}-${S}`,role:"option","aria-selected":N,"aria-disabled":d.disabled||void 0,onMouseEnter:()=>!d.disabled&&i(S),onMouseDown:C=>{C.preventDefault(),d.disabled||a(d.value)},className:u.item(S===o,N&&d.value!=="",!!d.disabled,S===n.length-1),style:u.itemStyle?.(N),children:d.meta===void 0?d.label:Zt(Sr,{children:[d.lead,j("span",{className:"flex-1 whitespace-nowrap",children:d.label}),j("span",{className:"ml-auto text-[12px] opacity-50",children:d.meta})]})},`${d.value}_${S}`)})})}function xr({value:e,onChange:t,disabled:n,children:r,className:o,style:i,name:a,id:l,"aria-label":c}){let u=fr.toArray(r).flatMap(C=>{if(!pr(C))return[];if(C.type!=="option")return[];let P=C.props,O=P.value!==void 0?String(P.value):"",M=P.children,I=typeof M=="string"||typeof M=="number"?String(M):O;return[{value:O,label:I,disabled:!!P.disabled}]}),f=e??"",d=hr({items:u,value:f,onPick:C=>t?.({target:{value:C}})}),N=u.find(C=>C.value===f)?.label??u[0]?.label??"";return Zt("div",{ref:d.wrapRef,className:"relative",children:[a&&j("input",{type:"hidden",name:a,value:f}),j("button",{ref:C=>{d.triggerRef.current=C},type:"button",disabled:n,"aria-haspopup":"listbox","aria-expanded":d.open,"aria-controls":d.open?d.listId:void 0,"aria-activedescendant":d.activeId,"aria-label":c,id:l,onClick:()=>!n&&d.toggle(),onKeyDown:C=>!n&&d.onTriggerKeyDown(C),className:`block w-full ${o??""}`,style:i,children:j("span",{className:"block w-full truncate text-left",children:N})}),d.open&&j(Cr,{id:d.listId,tone:"select",items:u,value:f,focusIdx:d.focusIdx,onFocus:d.setFocusIdx,onPick:d.pick,listRef:d.listRef})]})}import{jsx as xe,jsxs as De}from"react/jsx-runtime";var vr="font-mono text-[length:var(--size-label,12px)]",Er="font-semibold uppercase tracking-[0.22em] text-fg";function Jt(e){return`${e??vr} ${Er}`}function en(){return xe("span",{className:"text-accent",children:" *"})}function Pr({children:e,required:t,labelFace:n}){return De("span",{className:Jt(n),children:[e,t?xe(en,{}):null]})}function wr({label:e,required:t,hint:n,separate:r,htmlFor:o,labelFace:i,className:a,children:l}){let c=a?`flex flex-col gap-2 ${a}`:"flex flex-col gap-2",u=n?xe("span",{className:"font-mono text-[11px] uppercase tracking-[0.22em] text-fg-dim",children:n}):null;return r||n?De("div",{className:c,children:[De("label",{htmlFor:o,className:Jt(i),children:[e,t?xe(en,{}):null]}),l,u]}):De("label",{htmlFor:o,className:c,children:[xe(Pr,{required:t,labelFace:i,children:e}),l]})}export{Wr as a,Gr as b,qr as c,ht as d,Ge as e,_r as f,Nr as g,Rr as h,Lr as i,ln as j,un as k,Ir as l,Ar as m,qe as n,Ne as o,me as p,kr as q,Re as r,yn as s,bn as t,Vr as u,Yr as v,Nt as w,Xe as x,Qr as y,jr as z,xn as A,Zr as B,Jr as C,Sn as D,eo as E,En as F,to as G,no as H,Rt as I,lo as J,uo as K,co as L,mo as M,go as N,Fr as O,vt as P,Ur as Q,Le as R,Ye as S,No as T,$t as U,Go as V,Vn as W,Ko as X,ai as Y,si as Z,nr as _,di as $,zt as aa,fi as ba,or as ca,pi as da,ar as ea,sr as fa,xi as ga,Si as ha,ur as ia,wi as ja,Ni as ka,hr as la,Cr as ma,xr as na,Pr as oa,wr as pa};
@@ -1 +1 @@
1
- import{jsx as Le}from"react/jsx-runtime";import{createContext as un,useCallback as r,useContext as hn,useMemo as gn,useState as ke}from"react";import{createContext as ue,useContext as M}from"react";import{createContext as Ct}from"react";var de=Ct(null);var wt=ue(null),P=ue({logo:null,placeholder:!1,wordmark:null});function Rn(){let e=M(de),t=M(wt),n=M(P),a=!e&&n.placeholder,o=e?e.logoUrl:n.logo?.logoUrl??t?.logoUrl??null;return{src:a?null:o,reversedSrc:e?e.logoReversed:n.logo?.logoReversed??t?.logoReversed??null,inkIsDark:e?e.logoInkIsDark:n.logo?.logoInkIsDark??t?.logoInkIsDark??null,wordmark:e?null:n.wordmark,siteName:e?.siteName??t?.siteName}}import{useSelectHandler as fn}from"efficient-easel/draw/client";var Mn="storefront-theme",Pn="sf:theme-mode",Dn="sf:theme-switch",Fn="hide",U="light";function Lt(e){return e>=7&&e<18}function Nn(e){let{mode:t,override:n,switchShown:a,hour:o}=e;return a&&(n==="light"||n==="dark")?n:t==="auto"?Lt(o)?"light":"dark":t==="light"?"light":"dark"}var h={background:"#0a0a0a",surface:"#131313",line:"#2a2a2a",muted:"#9a9388"},kt=[{text:"#2e2e2e",accent:"#2e2e2e",background:"#ffffff",surface:"#f7f7f7",line:"#e0e0e0",muted:"#5c5c5c"},{text:"#f7f7f7",accent:"#f7f7f7",background:"#0a0a0a",surface:"#1b1b1b",line:"#363636",muted:"#a3a3a3"},{text:"#ffffff",accent:"#ffffff",background:"#2e2e2e",surface:"#3d3d3d",line:"#545454",muted:"#b0b0b0"},{text:"#0a0a0a",accent:"#0a0a0a",background:"#f7f7f7",surface:"#ffffff",line:"#d9d9d9",muted:"#5c5c5c"}],I={selected:0,themes:kt};function he(e){return!e||!Array.isArray(e.themes)||e.themes.length===0?{...I}:{selected:Math.min(Math.max(0,e.selected??0),e.themes.length-1),themes:e.themes}}function D(e,t,n){let a=k(e),o=k(t);if(a===null||o===null)return e;let l=i=>Math.max(0,Math.min(255,Math.round(i))).toString(16).padStart(2,"0");return`#${a.map((i,d)=>l(i+(o[d]-i)*n)).join("")}`}var It={light:"#ffffff",dark:"#0a0a0a"},Gn=["light","dark"];function vn(e,t){let n=It[t],a=t==="light"?"#ffffff":"#000000";return{text:n,accent:n,background:e,surface:D(e,a,.1),line:D(e,a,.22),muted:D(n,e,.35),brandInk:t}}function y(e){let t=he(e);return t.themes[t.selected]}function ge(e){return{text:e.text,accent:e.accent,background:e.background||h.background,surface:e.surface||h.surface,line:e.line||h.line,muted:e.muted||h.muted}}function k(e){let t=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(e.trim());if(!t)return null;let n=t[1].length===3?[...t[1]].map(i=>i+i).join(""):t[1],[a,o,l]=[0,2,4].map(i=>parseInt(n.slice(i,i+2),16));return[a,o,l]}function v(e){let t=k(e);if(t===null)return null;let[n,a,o]=t.map(l=>{let i=l/255;return i<=.04045?i/12.92:((i+.055)/1.055)**2.4});return .2126*n+.7152*a+.0722*o}var Ot=.4,Ht=4.5,Rt=3;function xt(e,t){let n=v(e),a=v(t);if(n===null||a===null)return null;let[o,l]=n>=a?[n,a]:[a,n];return(o+.05)/(l+.05)}var Un={good:"Good","large-only":"Large text only",hard:"Hard to read"};function Bn(e){return e>=Ht?"good":e>=Rt?"large-only":"hard"}var F=["#000000","#ffffff"];function O(e){let t=F[0],n=-1;for(let a of F){let o=xt(e,a);if(o===null)return F[0];o>n&&(n=o,t=a)}return t}var Mt=[.25,.4,.55];function Wn(e){let t=k(e);return t===null?[]:Mt.map(n=>"#"+t.map(a=>Math.round(a*(1-n)).toString(16).padStart(2,"0")).join(""))}function zn(e){let t=y(e),n={"--theme-fg":t.text},a=v(t.text);return(a===null||a>=Ot)&&(n["--overlay-fg"]=t.text),n}var Pt=82;function B(e){return`color-mix(in srgb, ${e} ${Pt}%, #000)`}function $n(e){let t=y(e);return{"--theme-accent":t.accent,"--theme-accent-2":B(t.accent),"--theme-accent-ink":O(t.accent)}}function W(e){let t=e?.button;return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():null}function Vn(e){let t=y(e),n=W(t),a=fe(t);if(n===null&&a===null)return{};let o={};return n!==null&&(o["--theme-btn"]=n,o["--theme-btn-2"]=B(n)),o["--theme-btn-ink"]=a??O(n),o}function fe(e){let t=e?.buttonInk;return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():null}function Dt(e,t){return fe(e)??O(W(e)??t)}function Yn(e){let t=y(e);return{fill:W(t)??t.accent.toLowerCase(),ink:Dt(t,t.accent)}}function Xn(e){let t={};return he(e).themes.forEach((n,a)=>{let o=ge(n);t[`--theme-preset-${a}-accent`]=o.accent,t[`--theme-preset-${a}-accent-2`]=B(o.accent),t[`--theme-preset-${a}-accent-ink`]=O(o.accent),t[`--theme-preset-${a}-bg`]=o.background,t[`--theme-preset-${a}-fg`]=o.text,t[`--theme-preset-${a}-surface`]=o.surface,t[`--theme-preset-${a}-surface-2`]=`color-mix(in srgb, ${o.surface} 60%, ${o.line})`,t[`--theme-preset-${a}-line`]=o.line,t[`--theme-preset-${a}-muted`]=o.muted}),t}var jn=["--theme-bg","--theme-surface","--theme-surface-2","--theme-line","--theme-muted"];function qn(e){let t=ge(y(e)),n=`color-mix(in srgb, ${t.surface} 60%, ${t.line})`,a={"--theme-bg":t.background,"--theme-surface":t.surface,"--theme-line":t.line,"--theme-muted":t.muted};return(t.surface!==h.surface||t.line!==h.line)&&(a["--theme-surface-2"]=n),a}var Ft=["heading","body","label"];function Kn(e){if(!e)return null;for(let t of Ft)if(e.includes(`--size-${t}`))return t;return/--size-heading(Large|Medium|Small)/.test(e)?"heading":null}var me=["headingLarge","headingMedium","headingSmall","accent","body","label"];var z={headingLarge:null,headingMedium:null,headingSmall:null,accent:null,body:null,label:null},Nt=8,Gt=200;function vt(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.round(e);return t>=Nt&&t<=Gt?t:null}function Ut(e){let t={};for(let n of me)t[n]=vt(e?.[n]);return t}function Zn(e){let t=Ut(e),n={};for(let a of me){let o=t[a];o!==null&&(n[`--size-${a}`]=`${o}px`)}return n}var Bt=["square","small","large"],Wt="small";function Jn(e){return Bt.includes(e??"")?e:Wt}var Se=0,zt=40,Qn={square:0,small:null,large:16},$t={"--sf-card-radius":1,"--sf-button-radius":.5,"--site-radius":.5,"--site-radius-xs":.25,"--site-radius-sm":.5,"--site-radius-md":.75,"--site-radius-lg":1,"--site-radius-xl":1.25,"--site-radius-2xl":1.5,"--site-radius-3xl":2,"--site-radius-4xl":2.5};function pe(e){if(e==null||typeof e=="string"&&e.trim()==="")return null;let t=typeof e=="string"?Number(e):e;return Number.isFinite(t)?Math.min(zt,Math.max(Se,Math.round(t))):null}function Vt(e){let t=pe(e);return t===null?{}:Object.fromEntries(Object.entries($t).map(([n,a])=>{let o=t*a/16;return[n,o===0?"0":`${o}rem`]}))}function ea(e){return Vt(pe(e)??Se)}var Yt=["none","soft","lifted"],Xt="soft",_e="none",jt=["tight","normal","roomy"],qt="normal",H="normal",Kt=["none","lift","highlight"],Zt="lift",Jt="highlight",Ee="#141416";function ye(e){return Yt.includes(e??"")?e:Xt}function Qt(e){return jt.includes(e??"")?e:qt}function be(e){return Kt.includes(e??"")?e:Zt}function en(e){return/^#[0-9a-fA-F]{6}$/.test(e??"")?e.toLowerCase():Ee}function ta(e){let t=ye(e);return t===_e?void 0:t}function na(e){let t=Qt(e);return t===H?void 0:t}function aa(e){let t=be(e);return t===Jt?void 0:t}function oa(e,t,n){let a=en(t);return a===Ee?{}:ye(e)!==_e||be(n)==="lift"?{"--sf-shadow-color":a}:{}}var tn=["normal","tight","compressed"],b="normal";function Te(e){return tn.includes(e??"")?e:b}function sa(e){let t=Te(e);return t===b?void 0:t}function ra(e){switch(Te(e)){case"tight":return{lineHeight:.95,letterSpacing:-.01};case"compressed":return{lineHeight:.86,letterSpacing:-.01};default:return{}}}var $={case:"authored",weight:null,weightStrong:null,italicStrong:null,maxPx:null,weight2:null,weight3:null,case2:"authored",case3:"authored"},N=100,G=900,nn=24,an=200;function L(e,t,n){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,t),n))}function Ae(e){let t=L(e?.weight,N,G),n=e?.case==="sentence"?"sentence":"authored",a=l=>l==null?t:L(l,N,G),o=l=>l==="sentence"?"sentence":l==="authored"?"authored":n;return{case:n,weight:t,weightStrong:L(e?.weightStrong,N,G),italicStrong:typeof e?.italicStrong=="boolean"?e.italicStrong:null,maxPx:L(e?.maxPx,nn,an),weight2:a(e?.weight2),weight3:a(e?.weight3),case2:o(e?.case2),case3:o(e?.case3)}}function ia(e){let t=Ae(e),n={};return t.case==="sentence"&&(n["--sf-heading-case"]="none"),t.weight!==null&&(n["--sf-heading-weight"]=String(t.weight)),t.weightStrong!==null&&(n["--sf-heading-weight-strong"]=String(t.weightStrong)),t.maxPx!==null&&(n["--sf-heading-max"]=`${t.maxPx}px`),t.weight2!==null&&t.weight2!==t.weight&&(n["--sf-heading-2-weight"]=String(t.weight2)),t.weight3!==null&&t.weight3!==t.weight&&(n["--sf-heading-3-weight"]=String(t.weight3)),t.case2!==t.case&&(n["--sf-heading-2-case"]=t.case2==="sentence"?"none":"uppercase"),t.case3!==t.case&&(n["--sf-heading-3-case"]=t.case3==="sentence"?"none":"uppercase"),n}function la(e){return Ae({case:e?.heading_case??void 0,weight:e?.heading_weight,weightStrong:e?.heading_weight_strong,italicStrong:e?.accent_italic,maxPx:e?.heading_max_px,weight2:e?.heading_2_weight??void 0,weight3:e?.heading_3_weight??void 0,case2:e?.heading_2_case??void 0,case3:e?.heading_3_case??void 0})}var Ce=[{key:"space-grotesk",label:"Space Grotesk",cssVar:"--font-display",category:"sans",italic:!1,italicLoaded:!1},{key:"inter",label:"Inter",cssVar:"--font-body",category:"sans",italic:!0,italicLoaded:!0},{key:"poppins",label:"Poppins",cssVar:"--font-poppins",category:"sans",italic:!0,italicLoaded:!0},{key:"dm-sans",label:"DM Sans",cssVar:"--font-dm-sans",category:"sans",italic:!0,italicLoaded:!0},{key:"sora",label:"Sora",cssVar:"--font-sora",category:"sans",italic:!1,italicLoaded:!1},{key:"oswald",label:"Oswald",cssVar:"--font-oswald",category:"sans",italic:!1,italicLoaded:!1},{key:"archivo",label:"Archivo",cssVar:"--font-archivo",category:"sans",italic:!0,italicLoaded:!0},{key:"outfit",label:"Outfit",cssVar:"--font-outfit",category:"sans",italic:!1,italicLoaded:!1},{key:"manrope",label:"Manrope",cssVar:"--font-manrope",category:"sans",italic:!1,italicLoaded:!1},{key:"big-shoulders",label:"Big Shoulders",cssVar:"--font-big-shoulders",category:"sans",italic:!1,italicLoaded:!1},{key:"michroma",label:"Michroma",cssVar:"--font-michroma",category:"sans",italic:!1,italicLoaded:!1},{key:"assistant",label:"Assistant",cssVar:"--font-assistant",category:"sans",italic:!1,italicLoaded:!1},{key:"fraunces",label:"Fraunces",cssVar:"--font-serif",category:"serif",italic:!0,italicLoaded:!0},{key:"playfair-display",label:"Playfair Display",cssVar:"--font-playfair",category:"serif",italic:!0,italicLoaded:!0},{key:"cormorant",label:"Cormorant",cssVar:"--font-cormorant",category:"serif",italic:!0,italicLoaded:!0},{key:"jetbrains-mono",label:"JetBrains Mono",cssVar:"--font-mono-loaded",category:"mono",italic:!0,italicLoaded:!0}],f=new Map(Ce.map(e=>[e.key,e]));function da(e){return f.get(e)}var we=["heading","heading2","heading3","body","accent","label"],ua={heading:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",body:"Body",accent:"Accent",label:"Labels"},on=[["font-heading2","heading2"],["font-heading3","heading3"],["font-display","heading"],["font-serif","accent"],["font-mono","label"],["font-body","body"]],sn=/var\(--size-(headingLarge|headingMedium|headingSmall|accent|body|label)\s*,/,ha={heading:"headingLarge",heading2:"headingMedium",heading3:"headingSmall",accent:"accent",body:"body",label:"label"},rn={headingLarge:"heading",headingMedium:"heading2",headingSmall:"heading3",accent:"accent",body:"body",label:"label"};function ga(e){let t=e?sn.exec(e):null;return t?rn[t[1]]??null:ln(e)}function ln(e){if(!e)return null;let t=e.split(/\s+/).filter(n=>!n.slice(0,n.lastIndexOf(":")+1).includes("&")).map(n=>n.slice(n.lastIndexOf(":")+1));for(let[n,a]of on)if(t.includes(n))return a;return null}var u={heading:"space-grotesk",heading2:"space-grotesk",heading3:"space-grotesk",body:"inter",accent:"fraunces",label:"jetbrains-mono"};function cn(e){let t=n=>{let a=e?.[n];if(a&&f.has(a))return a;if(n==="heading2"||n==="heading3"){let o=e?.heading;return o&&f.has(o)?o:u.heading}return u[n]};return Object.fromEntries(we.map(n=>[n,t(n)]))}function dn(e,t){return f.get(e[t])??f.get(u[t])}function g(e,t){return`var(${dn(e,t).cssVar})`}var fa=[...new Set(we.map(e=>f.get(u[e]).cssVar))],ma=[...new Set(Ce.map(e=>e.cssVar))];function Sa(e){let t=cn(e);return{"--font-role-heading":g(t,"heading"),"--font-role-heading2":g(t,"heading2"),"--font-role-heading3":g(t,"heading3"),"--font-role-body":g(t,"body"),"--font-role-accent":g(t,"accent"),"--font-role-label":g(t,"label"),fontFamily:"var(--font-role-body)"}}var Oe=un({settings:null,setSettings:()=>{},primeSettings:()=>{},websiteName:null,templateChrome:!1,templateName:null,chromePlaceholder:!1,themeMode:U,setThemeMode:()=>{},themeSwitchShown:!1,setThemeSwitchShown:()=>{},theme:I,setTheme:()=>{},fonts:u,setFonts:()=>{},sizes:z,setSizes:()=>{},cornerRadiusPx:null,setCornerRadiusPx:()=>{},cardShadow:null,setCardShadow:()=>{},shadowColor:null,setShadowColor:()=>{},cardGap:H,setCardGap:()=>{},hoverEffect:null,setHoverEffect:()=>{},headingCompression:b,setHeadingCompression:()=>{},siteWidth:null,setSiteWidth:()=>{},siteGutter:null,blockGap:null,setSiteGutter:()=>{},setBlockGap:()=>{},headingTypography:$,setHeadingTypography:()=>{},textStyles:null,setTextStyles:()=>{},wordStyles:null,heroBackgroundFollowsWidth:null,setHeroBackgroundFollowsWidth:()=>{},sectionBackgroundWidth:null,setSectionBackgroundWidth:()=>{},sectionContentWidth:null,setSectionContentWidth:()=>{},photographyGrayscale:null,setPhotographyGrayscale:()=>{},shareButtonOnPosts:null,setShareButtonOnPosts:()=>{},themeFromDocument:!1,selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function Ca({children:e,websiteName:t=null,templateChrome:n=!1,templateName:a=null,chromePlaceholder:o=!1,themeMode:l=U,onThemeModeChange:i,themeSwitchShown:d=!1,onThemeSwitchShownChange:T,theme:A=I,onThemeChange:m,fonts:S=u,onFontsChange:p,sizes:_=z,onSizesChange:c,cornerRadiusPx:R=null,onCornerRadiusPxChange:C,cardShadow:x=null,onCardShadowChange:w,shadowColor:Pe=null,onShadowColorChange:V,cardGap:De=H,onCardGapChange:Y,hoverEffect:Fe=null,onHoverEffectChange:X,headingCompression:Ne=b,onHeadingCompressionChange:j,siteWidth:Ge=null,onSiteWidthChange:q,siteGutter:ve=null,blockGap:Ue=null,onSiteGutterChange:K,onBlockGapChange:Z,headingTypography:Be=$,onHeadingTypographyChange:J,textStyles:We=null,onTextStylesChange:Q,wordStyles:ze=null,heroBackgroundFollowsWidth:$e=null,onHeroBackgroundFollowsWidthChange:ee,sectionBackgroundWidth:Ve=null,onSectionBackgroundWidthChange:te,sectionContentWidth:Ye=null,onSectionContentWidthChange:ne,photographyGrayscale:Xe=null,onPhotographyGrayscaleChange:ae,shareButtonOnPosts:je=null,onShareButtonOnPostsChange:oe,themeFromDocument:qe=!1}){let[E,se]=ke(null),Ke=r(s=>se(At=>At??s),[]),[Ze,Je]=ke(!1),Qe=r(s=>i?.(s),[i]),et=r(s=>T?.(s),[T]),tt=r(s=>m?.(s),[m]),nt=r(s=>p?.(s),[p]),at=r(s=>c?.(s),[c]),ot=r(s=>q?.(s),[q]),st=r(s=>K?.(s),[K]),rt=r(s=>Z?.(s),[Z]),it=r(s=>ee?.(s),[ee]),lt=r(s=>te?.(s),[te]),ct=r(s=>ne?.(s),[ne]),dt=r(s=>ae?.(s),[ae]),ut=r(s=>oe?.(s),[oe]),ht=r(s=>C?.(s),[C]),gt=r(s=>w?.(s),[w]),ft=r(s=>V?.(s),[V]),mt=r(s=>Y?.(s),[Y]),St=r(s=>X?.(s),[X]),pt=r(s=>j?.(s),[j]),_t=r(s=>J?.(s),[J]),Et=r(s=>Q?.(s),[Q]),{select:yt,setSelectHandler:bt}=fn(),re=E?.logoUrl,ie=E?.logoReversed,le=E?.logoInkIsDark,ce=E!==null,Tt=gn(()=>({logo:ce?{logoUrl:re,logoReversed:ie,logoInkIsDark:le}:null,placeholder:n||o,wordmark:n?a:t}),[ce,re,ie,le,n,o,a,t]);return Le(P.Provider,{value:Tt,children:Le(Oe.Provider,{value:{settings:E,setSettings:se,primeSettings:Ke,websiteName:t,templateChrome:n,templateName:a,chromePlaceholder:o,themeMode:l,setThemeMode:Qe,themeSwitchShown:d,setThemeSwitchShown:et,theme:A,setTheme:tt,fonts:S,setFonts:nt,sizes:_,setSizes:at,cornerRadiusPx:R,setCornerRadiusPx:ht,cardShadow:x,setCardShadow:gt,shadowColor:Pe,setShadowColor:ft,cardGap:De,setCardGap:mt,hoverEffect:Fe,setHoverEffect:St,headingCompression:Ne,setHeadingCompression:pt,siteWidth:Ge,setSiteWidth:ot,siteGutter:ve,blockGap:Ue,setSiteGutter:st,setBlockGap:rt,headingTypography:Be,setHeadingTypography:_t,textStyles:We,setTextStyles:Et,wordStyles:ze,heroBackgroundFollowsWidth:$e,setHeroBackgroundFollowsWidth:it,sectionBackgroundWidth:Ve,setSectionBackgroundWidth:lt,sectionContentWidth:Ye,setSectionContentWidth:ct,photographyGrayscale:Xe,setPhotographyGrayscale:dt,shareButtonOnPosts:je,setShareButtonOnPosts:ut,themeFromDocument:qe,selected:Ze,setSelected:Je,select:yt,setSelectHandler:bt},children:e})})}var wa=()=>hn(Oe);import{forwardRef as mn}from"react";import{imageCopyUrl as He,imageSrcSet as Re}from"efficient-shell/image-copies";import{jsx as _n}from"react/jsx-runtime";var Sn={position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,color:"transparent"};function xe(e,t,n){if(n){let a=Re(e);return a?{src:He(e,1280),srcSet:a,sizes:n}:{src:e,sizes:n}}if(t&&t>0){let a=Re(e,{maxWidth:t*3});return a?{src:He(e,t*2),srcSet:a,sizes:`${t}px`}:{src:e}}return{src:e}}var pn=mn(function({src:t,width:n,height:a,fill:o,priority:l,loading:i,style:d,quality:T,placeholder:A,blurDataURL:m,unoptimized:S,loader:p,overrideSrc:_,sizes:c,...R},C){let x=_??(typeof t=="string"?t:t.src),w=xe(x,o?void 0:Number(n)||void 0,c??(o?"100vw":void 0));return _n("img",{ref:C,...w,width:o?void 0:n,height:o?void 0:a,loading:l?"eager":i??"lazy",fetchPriority:l?"high":void 0,decoding:"async",style:o?{...Sn,...d}:{color:"transparent",...d},...R})}),Oa=pn;function Ha(e){let t=e.overrideSrc??(typeof e.src=="string"?e.src:e.src.src),n=e.fill?void 0:Number(e.width)||void 0;return{props:xe(t,n,e.sizes??(e.fill?"100vw":void 0))}}import{forwardRef as En}from"react";import{jsx as Tn}from"react/jsx-runtime";function yn(e){if(typeof e=="string")return e;let t=e.query?`?${new URLSearchParams(e.query).toString()}`:"",n=e.hash?e.hash.startsWith("#")?e.hash:`#${e.hash}`:"";return`${e.pathname??""}${t}${n}`}var bn=En(function({href:t,prefetch:n,replace:a,scroll:o,shallow:l,legacyBehavior:i,passHref:d,locale:T,onClick:A,children:m,...S},p){let _=c=>{A?.(c),!(c.defaultPrevented||S.target==="_blank")&&c.preventDefault()};return Tn("a",{ref:p,href:yn(t),onClick:_,...S,children:m})}),Pa=bn;var An="Website";function Na(e){return e?.trim()||An}var Me=["instagram","facebook","tiktok","youtube","x","linkedin","pinterest","whatsapp","telegram","line","wechat"],Cn={instagram:"Instagram",facebook:"Facebook",tiktok:"TikTok",youtube:"YouTube",x:"X",linkedin:"LinkedIn",pinterest:"Pinterest",whatsapp:"WhatsApp",telegram:"Telegram",line:"LINE",wechat:"WeChat"},wn={};function va(e){if(!e||typeof e!="object")return wn;let t={};for(let n of Me){let a=e[n];if(typeof a!="string")continue;let o=a.trim();!o||!/^https?:\/\//i.test(o)||(t[n]=o)}return t}function Ua(e){return Me.flatMap(t=>{let n=e[t];return n?[{platform:t,href:n,label:Cn[t]}]:[]})}var Ba=e=>`${e}_url`;var za={small:54,medium:66,large:84},Ln=44,$a=16,Va=140,Ya=Ln*4;export{Oa as a,Ha as b,Pa as c,Ce as d,da as e,we as f,ua as g,ha as h,ga as i,ln as j,u as k,cn as l,Sa as m,Mn as n,Pn as o,Dn as p,Fn as q,U as r,Nn as s,h as t,kt as u,he as v,Gn as w,vn as x,y,ge as z,xt as A,Un as B,Bn as C,O as D,Wn as E,zn as F,$n as G,W as H,Vn as I,fe as J,Dt as K,Yn as L,Xn as M,jn as N,qn as O,Kn as P,z as Q,Ut as R,Zn as S,Jn as T,Se as U,zt as V,Qn as W,pe as X,Vt as Y,ea as Z,Yt as _,Xt as $,_e as aa,H as ba,Kt as ca,Zt as da,Jt as ea,Ee as fa,ye as ga,Qt as ha,be as ia,en as ja,ta as ka,na as la,aa as ma,oa as na,b as oa,Te as pa,sa as qa,ra,$ as sa,Ae as ta,ia as ua,la as va,de as wa,Rn as xa,Ca as ya,wa as za,An as Aa,Na as Ba,Me as Ca,Cn as Da,wn as Ea,va as Fa,Ua as Ga,Ba as Ha,za as Ia,Ln as Ja,$a as Ka,Va as La,Ya as Ma};
1
+ import{jsx as Le}from"react/jsx-runtime";import{createContext as un,useCallback as r,useContext as hn,useMemo as gn,useState as ke}from"react";import{createContext as ue,useContext as M}from"react";import{createContext as Ct}from"react";var de=Ct(null);var wt=ue(null),D=ue({logo:null,placeholder:!1,wordmark:null});function xn(){let e=M(de),t=M(wt),n=M(D),a=!e&&n.placeholder,o=e?e.logoUrl:n.logo?.logoUrl??t?.logoUrl??null;return{src:a?null:o,reversedSrc:e?e.logoReversed:n.logo?.logoReversed??t?.logoReversed??null,inkIsDark:e?e.logoInkIsDark:n.logo?.logoInkIsDark??t?.logoInkIsDark??null,wordmark:e?null:n.wordmark,siteName:e?.siteName??t?.siteName}}import{useSelectHandler as fn}from"efficient-easel/draw/client";var Mn="storefront-theme",Dn="sf:theme-mode",Pn="sf:theme-switch",Fn="hide",B="light";function Lt(e){return e>=7&&e<18}function Nn(e){let{mode:t,override:n,switchShown:a,hour:o}=e;return a&&(n==="light"||n==="dark")?n:t==="auto"?Lt(o)?"light":"dark":t==="light"?"light":"dark"}var h={background:"#0a0a0a",surface:"#131313",line:"#2a2a2a",muted:"#9a9388"},kt=[{text:"#2e2e2e",accent:"#2e2e2e",background:"#ffffff",surface:"#f7f7f7",line:"#e0e0e0",muted:"#5c5c5c"},{text:"#f7f7f7",accent:"#f7f7f7",background:"#0a0a0a",surface:"#1b1b1b",line:"#363636",muted:"#a3a3a3"},{text:"#ffffff",accent:"#ffffff",background:"#2e2e2e",surface:"#3d3d3d",line:"#545454",muted:"#b0b0b0"},{text:"#0a0a0a",accent:"#0a0a0a",background:"#f7f7f7",surface:"#ffffff",line:"#d9d9d9",muted:"#5c5c5c"}],I={selected:0,themes:kt};function he(e){return!e||!Array.isArray(e.themes)||e.themes.length===0?{...I}:{selected:Math.min(Math.max(0,e.selected??0),e.themes.length-1),themes:e.themes}}function P(e,t,n){let a=k(e),o=k(t);if(a===null||o===null)return e;let l=i=>Math.max(0,Math.min(255,Math.round(i))).toString(16).padStart(2,"0");return`#${a.map((i,d)=>l(i+(o[d]-i)*n)).join("")}`}var It={light:"#ffffff",dark:"#0a0a0a"},vn=["light","dark"];function Gn(e,t){let n=It[t],a=t==="light"?"#ffffff":"#000000";return{text:n,accent:n,background:e,surface:P(e,a,.1),line:P(e,a,.22),muted:P(n,e,.35),brandInk:t}}function E(e){let t=he(e);return t.themes[t.selected]}function ge(e){return{text:e.text,accent:e.accent,background:e.background||h.background,surface:e.surface||h.surface,line:e.line||h.line,muted:e.muted||h.muted}}function k(e){let t=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(e.trim());if(!t)return null;let n=t[1].length===3?[...t[1]].map(i=>i+i).join(""):t[1],[a,o,l]=[0,2,4].map(i=>parseInt(n.slice(i,i+2),16));return[a,o,l]}function G(e){let t=k(e);if(t===null)return null;let[n,a,o]=t.map(l=>{let i=l/255;return i<=.04045?i/12.92:((i+.055)/1.055)**2.4});return .2126*n+.7152*a+.0722*o}var Ot=.4,Ht=4.5,xt=3;function Rt(e,t){let n=G(e),a=G(t);if(n===null||a===null)return null;let[o,l]=n>=a?[n,a]:[a,n];return(o+.05)/(l+.05)}var Bn={good:"Good","large-only":"Large text only",hard:"Hard to read"};function Un(e){return e>=Ht?"good":e>=xt?"large-only":"hard"}var F=["#000000","#ffffff"];function O(e){let t=F[0],n=-1;for(let a of F){let o=Rt(e,a);if(o===null)return F[0];o>n&&(n=o,t=a)}return t}var Mt=[.25,.4,.55];function Wn(e){let t=k(e);return t===null?[]:Mt.map(n=>"#"+t.map(a=>Math.round(a*(1-n)).toString(16).padStart(2,"0")).join(""))}function $n(e){let t=E(e),n={"--theme-fg":t.text},a=G(t.text);return(a===null||a>=Ot)&&(n["--overlay-fg"]=t.text),n}var Dt=82;function U(e){return`color-mix(in srgb, ${e} ${Dt}%, #000)`}function zn(e){let t=E(e);return{"--theme-accent":t.accent,"--theme-accent-2":U(t.accent),"--theme-accent-ink":O(t.accent)}}function W(e){let t=e?.button;return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():null}function Vn(e){let t=E(e),n=W(t),a=fe(t);if(n===null&&a===null)return{};let o={};return n!==null&&(o["--theme-btn"]=n,o["--theme-btn-2"]=U(n)),o["--theme-btn-ink"]=a??O(n),o}function fe(e){let t=e?.buttonInk;return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():null}function Pt(e,t){return fe(e)??O(W(e)??t)}function Yn(e){let t=E(e);return{fill:W(t)??t.accent.toLowerCase(),ink:Pt(t,t.accent)}}function Xn(e){let t={};return he(e).themes.forEach((n,a)=>{let o=ge(n);t[`--theme-preset-${a}-accent`]=o.accent,t[`--theme-preset-${a}-accent-2`]=U(o.accent),t[`--theme-preset-${a}-accent-ink`]=O(o.accent),t[`--theme-preset-${a}-bg`]=o.background,t[`--theme-preset-${a}-fg`]=o.text,t[`--theme-preset-${a}-surface`]=o.surface,t[`--theme-preset-${a}-surface-2`]=`color-mix(in srgb, ${o.surface} 60%, ${o.line})`,t[`--theme-preset-${a}-line`]=o.line,t[`--theme-preset-${a}-muted`]=o.muted}),t}var jn=["--theme-bg","--theme-surface","--theme-surface-2","--theme-line","--theme-muted"];function qn(e){let t=ge(E(e)),n=`color-mix(in srgb, ${t.surface} 60%, ${t.line})`,a={"--theme-bg":t.background,"--theme-surface":t.surface,"--theme-line":t.line,"--theme-muted":t.muted};return(t.surface!==h.surface||t.line!==h.line)&&(a["--theme-surface-2"]=n),a}var Ft=["heading","body","label"];function Kn(e){if(!e)return null;for(let t of Ft)if(e.includes(`--size-${t}`))return t;return/--size-heading(Large|Medium|Small)/.test(e)?"heading":null}var me=["headingLarge","headingMedium","headingSmall","accent","body","label"];var $={headingLarge:null,headingMedium:null,headingSmall:null,accent:null,body:null,label:null},Nt=8,vt=200;function Gt(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.round(e);return t>=Nt&&t<=vt?t:null}function Bt(e){let t={};for(let n of me)t[n]=Gt(e?.[n]);return t}function Zn(e){let t=Bt(e),n={};for(let a of me){let o=t[a];o!==null&&(n[`--size-${a}`]=`${o}px`)}return n}var Ut=["square","small","large"],Wt="small";function Jn(e){return Ut.includes(e??"")?e:Wt}var Se=0,$t=40,Qn={square:0,small:null,large:16},zt={"--sf-card-radius":1,"--sf-button-radius":.5,"--site-radius":.5,"--site-radius-xs":.25,"--site-radius-sm":.5,"--site-radius-md":.75,"--site-radius-lg":1,"--site-radius-xl":1.25,"--site-radius-2xl":1.5,"--site-radius-3xl":2,"--site-radius-4xl":2.5};function pe(e){if(e==null||typeof e=="string"&&e.trim()==="")return null;let t=typeof e=="string"?Number(e):e;return Number.isFinite(t)?Math.min($t,Math.max(Se,Math.round(t))):null}function Vt(e){let t=pe(e);return t===null?{}:Object.fromEntries(Object.entries(zt).map(([n,a])=>{let o=t*a/16;return[n,o===0?"0":`${o}rem`]}))}function ea(e){return Vt(pe(e)??Se)}var Yt=["none","soft","lifted"],Xt="soft",_e="none",jt=["tight","normal","roomy"],qt="normal",H="normal",Kt=["none","lift","highlight"],Zt="lift",Jt="highlight",ye="#141416";function Ee(e){return Yt.includes(e??"")?e:Xt}function Qt(e){return jt.includes(e??"")?e:qt}function be(e){return Kt.includes(e??"")?e:Zt}function en(e){return/^#[0-9a-fA-F]{6}$/.test(e??"")?e.toLowerCase():ye}function ta(e){let t=Ee(e);return t===_e?void 0:t}function na(e){let t=Qt(e);return t===H?void 0:t}function aa(e){let t=be(e);return t===Jt?void 0:t}function oa(e,t,n){let a=en(t);return a===ye?{}:Ee(e)!==_e||be(n)==="lift"?{"--sf-shadow-color":a}:{}}var tn=["normal","tight","compressed"],b="normal";function Te(e){return tn.includes(e??"")?e:b}function sa(e){let t=Te(e);return t===b?void 0:t}function ra(e){switch(Te(e)){case"tight":return{lineHeight:.95,letterSpacing:-.01};case"compressed":return{lineHeight:.86,letterSpacing:-.01};default:return{}}}var z={case:"authored",weight:null,weightStrong:null,italicStrong:null,maxPx:null,weight2:null,weight3:null,case2:"authored",case3:"authored"},N=100,v=900,nn=24,an=200;function L(e,t,n){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,t),n))}function Ae(e){let t=L(e?.weight,N,v),n=e?.case==="sentence"?"sentence":"authored",a=l=>l==null?t:L(l,N,v),o=l=>l==="sentence"?"sentence":l==="authored"?"authored":n;return{case:n,weight:t,weightStrong:L(e?.weightStrong,N,v),italicStrong:typeof e?.italicStrong=="boolean"?e.italicStrong:null,maxPx:L(e?.maxPx,nn,an),weight2:a(e?.weight2),weight3:a(e?.weight3),case2:o(e?.case2),case3:o(e?.case3)}}function ia(e){let t=Ae(e),n={};return t.case==="sentence"&&(n["--sf-heading-case"]="none"),t.weight!==null&&(n["--sf-heading-weight"]=String(t.weight)),t.weightStrong!==null&&(n["--sf-heading-weight-strong"]=String(t.weightStrong)),t.maxPx!==null&&(n["--sf-heading-max"]=`${t.maxPx}px`),t.weight2!==null&&t.weight2!==t.weight&&(n["--sf-heading-2-weight"]=String(t.weight2)),t.weight3!==null&&t.weight3!==t.weight&&(n["--sf-heading-3-weight"]=String(t.weight3)),t.case2!==t.case&&(n["--sf-heading-2-case"]=t.case2==="sentence"?"none":"uppercase"),t.case3!==t.case&&(n["--sf-heading-3-case"]=t.case3==="sentence"?"none":"uppercase"),n}function la(e){return Ae({case:e?.heading_case??void 0,weight:e?.heading_weight,weightStrong:e?.heading_weight_strong,italicStrong:e?.accent_italic,maxPx:e?.heading_max_px,weight2:e?.heading_2_weight??void 0,weight3:e?.heading_3_weight??void 0,case2:e?.heading_2_case??void 0,case3:e?.heading_3_case??void 0})}var Ce=[{key:"space-grotesk",label:"Space Grotesk",cssVar:"--font-display",category:"sans",italic:!1,italicLoaded:!1},{key:"inter",label:"Inter",cssVar:"--font-body",category:"sans",italic:!0,italicLoaded:!0},{key:"poppins",label:"Poppins",cssVar:"--font-poppins",category:"sans",italic:!0,italicLoaded:!0},{key:"dm-sans",label:"DM Sans",cssVar:"--font-dm-sans",category:"sans",italic:!0,italicLoaded:!0},{key:"sora",label:"Sora",cssVar:"--font-sora",category:"sans",italic:!1,italicLoaded:!1},{key:"oswald",label:"Oswald",cssVar:"--font-oswald",category:"sans",italic:!1,italicLoaded:!1},{key:"archivo",label:"Archivo",cssVar:"--font-archivo",category:"sans",italic:!0,italicLoaded:!0},{key:"outfit",label:"Outfit",cssVar:"--font-outfit",category:"sans",italic:!1,italicLoaded:!1},{key:"manrope",label:"Manrope",cssVar:"--font-manrope",category:"sans",italic:!1,italicLoaded:!1},{key:"big-shoulders",label:"Big Shoulders",cssVar:"--font-big-shoulders",category:"sans",italic:!1,italicLoaded:!1},{key:"michroma",label:"Michroma",cssVar:"--font-michroma",category:"sans",italic:!1,italicLoaded:!1},{key:"assistant",label:"Assistant",cssVar:"--font-assistant",category:"sans",italic:!1,italicLoaded:!1},{key:"fraunces",label:"Fraunces",cssVar:"--font-serif",category:"serif",italic:!0,italicLoaded:!0},{key:"playfair-display",label:"Playfair Display",cssVar:"--font-playfair",category:"serif",italic:!0,italicLoaded:!0},{key:"cormorant",label:"Cormorant",cssVar:"--font-cormorant",category:"serif",italic:!0,italicLoaded:!0},{key:"jetbrains-mono",label:"JetBrains Mono",cssVar:"--font-mono-loaded",category:"mono",italic:!0,italicLoaded:!0}],f=new Map(Ce.map(e=>[e.key,e]));function da(e){return f.get(e)}var we=["heading","heading2","heading3","body","accent","label"],ua={heading:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",body:"Body",accent:"Accent",label:"Labels"},on=[["font-heading2","heading2"],["font-heading3","heading3"],["font-display","heading"],["font-serif","accent"],["font-mono","label"],["font-body","body"]],sn=/var\(--size-(headingLarge|headingMedium|headingSmall|accent|body|label)\s*,/,ha={heading:"headingLarge",heading2:"headingMedium",heading3:"headingSmall",accent:"accent",body:"body",label:"label"},rn={headingLarge:"heading",headingMedium:"heading2",headingSmall:"heading3",accent:"accent",body:"body",label:"label"};function ga(e){let t=e?sn.exec(e):null;return t?rn[t[1]]??null:ln(e)}function ln(e){if(!e)return null;let t=e.split(/\s+/).filter(n=>!n.slice(0,n.lastIndexOf(":")+1).includes("&")).map(n=>n.slice(n.lastIndexOf(":")+1));for(let[n,a]of on)if(t.includes(n))return a;return null}var u={heading:"space-grotesk",heading2:"space-grotesk",heading3:"space-grotesk",body:"inter",accent:"fraunces",label:"jetbrains-mono"};function cn(e){let t=n=>{let a=e?.[n];if(a&&f.has(a))return a;if(n==="heading2"||n==="heading3"){let o=e?.heading;return o&&f.has(o)?o:u.heading}return u[n]};return Object.fromEntries(we.map(n=>[n,t(n)]))}function dn(e,t){return f.get(e[t])??f.get(u[t])}function g(e,t){return`var(${dn(e,t).cssVar})`}var fa=[...new Set(we.map(e=>f.get(u[e]).cssVar))],ma=[...new Set(Ce.map(e=>e.cssVar))];function Sa(e){let t=cn(e);return{"--font-role-heading":g(t,"heading"),"--font-role-heading2":g(t,"heading2"),"--font-role-heading3":g(t,"heading3"),"--font-role-body":g(t,"body"),"--font-role-accent":g(t,"accent"),"--font-role-label":g(t,"label"),fontFamily:"var(--font-role-body)"}}var Oe=un({settings:null,setSettings:()=>{},primeSettings:()=>{},websiteName:null,templateChrome:!1,templateName:null,chromePlaceholder:!1,themeMode:B,setThemeMode:()=>{},themeSwitchShown:!1,setThemeSwitchShown:()=>{},theme:I,setTheme:()=>{},fonts:u,setFonts:()=>{},sizes:$,setSizes:()=>{},cornerRadiusPx:null,setCornerRadiusPx:()=>{},cardShadow:null,setCardShadow:()=>{},shadowColor:null,setShadowColor:()=>{},cardGap:H,setCardGap:()=>{},hoverEffect:null,setHoverEffect:()=>{},headingCompression:b,setHeadingCompression:()=>{},siteWidth:null,setSiteWidth:()=>{},siteGutter:null,blockGap:null,setSiteGutter:()=>{},setBlockGap:()=>{},headingTypography:z,setHeadingTypography:()=>{},textStyles:null,setTextStyles:()=>{},wordStyles:null,heroBackgroundFollowsWidth:null,setHeroBackgroundFollowsWidth:()=>{},sectionBackgroundWidth:null,setSectionBackgroundWidth:()=>{},sectionContentWidth:null,setSectionContentWidth:()=>{},photographyGrayscale:null,setPhotographyGrayscale:()=>{},shareButtonOnPosts:null,setShareButtonOnPosts:()=>{},themeFromDocument:!1,selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function Ca({children:e,websiteName:t=null,templateChrome:n=!1,templateName:a=null,chromePlaceholder:o=!1,themeMode:l=B,onThemeModeChange:i,themeSwitchShown:d=!1,onThemeSwitchShownChange:T,theme:A=I,onThemeChange:m,fonts:S=u,onFontsChange:p,sizes:_=$,onSizesChange:c,cornerRadiusPx:x=null,onCornerRadiusPxChange:C,cardShadow:R=null,onCardShadowChange:w,shadowColor:De=null,onShadowColorChange:V,cardGap:Pe=H,onCardGapChange:Y,hoverEffect:Fe=null,onHoverEffectChange:X,headingCompression:Ne=b,onHeadingCompressionChange:j,siteWidth:ve=null,onSiteWidthChange:q,siteGutter:Ge=null,blockGap:Be=null,onSiteGutterChange:K,onBlockGapChange:Z,headingTypography:Ue=z,onHeadingTypographyChange:J,textStyles:We=null,onTextStylesChange:Q,wordStyles:$e=null,heroBackgroundFollowsWidth:ze=null,onHeroBackgroundFollowsWidthChange:ee,sectionBackgroundWidth:Ve=null,onSectionBackgroundWidthChange:te,sectionContentWidth:Ye=null,onSectionContentWidthChange:ne,photographyGrayscale:Xe=null,onPhotographyGrayscaleChange:ae,shareButtonOnPosts:je=null,onShareButtonOnPostsChange:oe,themeFromDocument:qe=!1}){let[y,se]=ke(null),Ke=r(s=>se(At=>At??s),[]),[Ze,Je]=ke(!1),Qe=r(s=>i?.(s),[i]),et=r(s=>T?.(s),[T]),tt=r(s=>m?.(s),[m]),nt=r(s=>p?.(s),[p]),at=r(s=>c?.(s),[c]),ot=r(s=>q?.(s),[q]),st=r(s=>K?.(s),[K]),rt=r(s=>Z?.(s),[Z]),it=r(s=>ee?.(s),[ee]),lt=r(s=>te?.(s),[te]),ct=r(s=>ne?.(s),[ne]),dt=r(s=>ae?.(s),[ae]),ut=r(s=>oe?.(s),[oe]),ht=r(s=>C?.(s),[C]),gt=r(s=>w?.(s),[w]),ft=r(s=>V?.(s),[V]),mt=r(s=>Y?.(s),[Y]),St=r(s=>X?.(s),[X]),pt=r(s=>j?.(s),[j]),_t=r(s=>J?.(s),[J]),yt=r(s=>Q?.(s),[Q]),{select:Et,setSelectHandler:bt}=fn(),re=y?.logoUrl,ie=y?.logoReversed,le=y?.logoInkIsDark,ce=y!==null,Tt=gn(()=>({logo:ce?{logoUrl:re,logoReversed:ie,logoInkIsDark:le}:null,placeholder:n||o,wordmark:n?a:t}),[ce,re,ie,le,n,o,a,t]);return Le(D.Provider,{value:Tt,children:Le(Oe.Provider,{value:{settings:y,setSettings:se,primeSettings:Ke,websiteName:t,templateChrome:n,templateName:a,chromePlaceholder:o,themeMode:l,setThemeMode:Qe,themeSwitchShown:d,setThemeSwitchShown:et,theme:A,setTheme:tt,fonts:S,setFonts:nt,sizes:_,setSizes:at,cornerRadiusPx:x,setCornerRadiusPx:ht,cardShadow:R,setCardShadow:gt,shadowColor:De,setShadowColor:ft,cardGap:Pe,setCardGap:mt,hoverEffect:Fe,setHoverEffect:St,headingCompression:Ne,setHeadingCompression:pt,siteWidth:ve,setSiteWidth:ot,siteGutter:Ge,blockGap:Be,setSiteGutter:st,setBlockGap:rt,headingTypography:Ue,setHeadingTypography:_t,textStyles:We,setTextStyles:yt,wordStyles:$e,heroBackgroundFollowsWidth:ze,setHeroBackgroundFollowsWidth:it,sectionBackgroundWidth:Ve,setSectionBackgroundWidth:lt,sectionContentWidth:Ye,setSectionContentWidth:ct,photographyGrayscale:Xe,setPhotographyGrayscale:dt,shareButtonOnPosts:je,setShareButtonOnPosts:ut,themeFromDocument:qe,selected:Ze,setSelected:Je,select:Et,setSelectHandler:bt},children:e})})}var wa=()=>hn(Oe);import{forwardRef as mn}from"react";import{imageCopyUrl as He,imageSrcSet as xe}from"efficient-shell/image-copies";import{jsx as _n}from"react/jsx-runtime";var Sn={position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,color:"transparent"};function Re(e,t,n){if(n){let a=xe(e);return a?{src:He(e,1280),srcSet:a,sizes:n}:{src:e,sizes:n}}if(t&&t>0){let a=xe(e,{maxWidth:t*3});return a?{src:He(e,t*2),srcSet:a,sizes:`${t}px`}:{src:e}}return{src:e}}var pn=mn(function({src:t,width:n,height:a,fill:o,priority:l,loading:i,style:d,quality:T,placeholder:A,blurDataURL:m,unoptimized:S,loader:p,overrideSrc:_,sizes:c,...x},C){let R=_??(typeof t=="string"?t:t.src),w=Re(R,o?void 0:Number(n)||void 0,c??(o?"100vw":void 0));return _n("img",{ref:C,...w,width:o?void 0:n,height:o?void 0:a,loading:l?"eager":i??"lazy",fetchPriority:l?"high":void 0,decoding:"async",style:o?{...Sn,...d}:{color:"transparent",...d},...x})}),Oa=pn;function Ha(e){let t=e.overrideSrc??(typeof e.src=="string"?e.src:e.src.src),n=e.fill?void 0:Number(e.width)||void 0;return{props:Re(t,n,e.sizes??(e.fill?"100vw":void 0))}}import{forwardRef as yn}from"react";import{jsx as Tn}from"react/jsx-runtime";function En(e){if(typeof e=="string")return e;let t=e.query?`?${new URLSearchParams(e.query).toString()}`:"",n=e.hash?e.hash.startsWith("#")?e.hash:`#${e.hash}`:"";return`${e.pathname??""}${t}${n}`}var bn=yn(function({href:t,prefetch:n,replace:a,scroll:o,shallow:l,legacyBehavior:i,passHref:d,locale:T,onClick:A,children:m,...S},p){let _=c=>{A?.(c),!(c.defaultPrevented||S.target==="_blank")&&c.preventDefault()};return Tn("a",{ref:p,href:En(t),onClick:_,...S,children:m})}),Da=bn;var An="Website";function Na(e){return e?.trim()||An}var Me=["instagram","facebook","tiktok","youtube","x","linkedin","pinterest","whatsapp","telegram","line","wechat"],Cn={instagram:"Instagram",facebook:"Facebook",tiktok:"TikTok",youtube:"YouTube",x:"X",linkedin:"LinkedIn",pinterest:"Pinterest",whatsapp:"WhatsApp",telegram:"Telegram",line:"LINE",wechat:"WeChat"},wn={};function Ga(e){if(!e||typeof e!="object")return wn;let t={};for(let n of Me){let a=e[n];if(typeof a!="string")continue;let o=a.trim();!o||!/^https?:\/\//i.test(o)||(t[n]=o)}return t}function Ba(e){return Me.flatMap(t=>{let n=e[t];return n?[{platform:t,href:n,label:Cn[t]}]:[]})}var Ua=e=>`${e}_url`;var $a={small:54,medium:66,large:84},Ln=44,za=16,Va=140,Ya=Ln*4;export{Oa as a,Ha as b,Da as c,Ce as d,da as e,we as f,ua as g,ha as h,ga as i,ln as j,u as k,cn as l,Sa as m,Mn as n,Dn as o,Pn as p,Fn as q,B as r,Nn as s,h as t,kt as u,he as v,vn as w,Gn as x,E as y,ge as z,Rt as A,Bn as B,Un as C,O as D,Wn as E,$n as F,zn as G,W as H,Vn as I,fe as J,Pt as K,Yn as L,Xn as M,jn as N,qn as O,Kn as P,$ as Q,Bt as R,Zn as S,Jn as T,Se as U,$t as V,Qn as W,pe as X,Vt as Y,ea as Z,Yt as _,Xt as $,_e as aa,H as ba,Kt as ca,Zt as da,Jt as ea,ye as fa,Ee as ga,Qt as ha,be as ia,en as ja,ta as ka,na as la,aa as ma,oa as na,b as oa,Te as pa,sa as qa,ra,z as sa,Ae as ta,ia as ua,la as va,de as wa,xn as xa,Ca as ya,wa as za,An as Aa,Na as Ba,Me as Ca,Cn as Da,wn as Ea,Ga as Fa,Ba as Ga,Ua as Ha,$a as Ia,Ln as Ja,za as Ka,Va as La,Ya as Ma};
@@ -1 +1 @@
1
- var l={siteSlug:null,shopOrigin:""},r=l;function S(e){r={siteSlug:e.siteSlug?.trim()||null,shopOrigin:(e.shopOrigin??"").trim().replace(/\/+$/,"")}}function I(){return r.siteSlug}function b(){return r.shopOrigin}import{currentEaselSession as m}from"efficient-easel/screen/lib/session";var s="https://cdn.inovit.com"?.replace(/\/+$/,"");function i(e,t){let o=m().hostBackend?.media.resolve;if(!(!o||o===d))return o(e,t)??e}function u(e){return/^(?:https?:)?\/\//i.test(e)||/^(?:data|blob):/i.test(e)}function g(e){return i(e)??c(e)}function c(e){return!s||u(e)?e:s+e.replace(/^\/media/,"")}var d=e=>c(e),p="";function y(e){if(!e)return null;let t=i(e);return t!==void 0?t:e.startsWith("/")?`${p}${e}`:e}function C(e){return/^https?:\/\//i.test(e)&&!(s&&e.startsWith(s+"/"))}function _(e){if(!e)return;let t=i(e);return t!==void 0?t:e.startsWith("/media/")?g(e):e}var f="/videos/products/";function P(e){return!!e&&e.includes(f)}var L={contentHash:"81f2e3c31abcbfd9",schema:1,mediaFields:{ImageBlock:["src"],LogoBlock:["src"],Flex:["bgImage","bgImagePhone"],FeaturedCover:["image"],LongRead:["image"],Banner:["imageSrc"],Timeline:["imageSrc"],Logos:["items[].src"],ContactLocations:["locations[].photo"],HeroSingle:["imageFocal","mediaImage","mediaImage2","mediaVideo","poster"],HeroSlide:["mediaImage","mediaVideo","poster"],PostCard:["image"],Gallery:["othersCards[].image","othersCards[].photos[].src","vehicleCards[].image","vehicleCards[].photos[].src","wheelCards[].image","wheelCards[].photos[].src"],GalleryItem:["image","photos[].src"],Manifesto:["imageSrc"],SectionHeader:["logoSrc"],IntroBleed:["imageSrc","imageSrcMobile"],Split:["imageSrc","textBgSrc"],ProcessSteps:["steps[].image"],DetailRows:["rows[].image"],PaymentBadges:["badges[].src"]},mediaKeyNames:["bgImage","bgImagePhone","image","imageFocal","imageSrc","imageSrcMobile","logoSrc","mediaImage","mediaImage2","mediaVideo","photo","poster","src","textBgSrc"],snapshotObjects:{ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},hydratedLists:{Events:["posts"],SubscribeBlogs:["posts"]},technicalStateKeys:["focal","focalPhone","imageFocal","imageFocal2","imageFocal2Phone","imageFocalPhone"]};function n(e){return{getItem(t){try{return e()?.getItem(t)??null}catch{return null}},setItem(t,o){try{e()?.setItem(t,o)}catch{}},removeItem(t){try{e()?.removeItem(t)}catch{}}}}var a="__storefront_probe__";function R(e){try{e.setItem(a,a);let t=e.getItem(a)===a;return e.removeItem(a),t}catch{return!1}}var x=n(()=>typeof window>"u"?null:window.localStorage),U=n(()=>typeof window>"u"?null:window.sessionStorage);function M(e){return n(()=>e.defaultView?.localStorage??null)}export{g as a,d as b,y as c,C as d,_ as e,P as f,L as g,S as h,I as i,b as j,R as k,x as l,U as m,M as n};
1
+ var l={siteSlug:null,shopOrigin:""},r=l;function S(e){r={siteSlug:e.siteSlug?.trim()||null,shopOrigin:(e.shopOrigin??"").trim().replace(/\/+$/,"")}}function I(){return r.siteSlug}function b(){return r.shopOrigin}import{currentEaselSession as m}from"efficient-easel/screen/lib/session";var s="https://cdn.inovit.com"?.replace(/\/+$/,"");function i(e,t){let o=m().hostBackend?.media.resolve;if(!(!o||o===d))return o(e,t)??e}function u(e){return/^(?:https?:)?\/\//i.test(e)||/^(?:data|blob):/i.test(e)}function g(e){return i(e)??c(e)}function c(e){return!s||u(e)?e:s+e.replace(/^\/media/,"")}var d=e=>c(e),p="";function y(e){if(!e)return null;let t=i(e);return t!==void 0?t:e.startsWith("/")?`${p}${e}`:e}function C(e){return/^https?:\/\//i.test(e)&&!(s&&e.startsWith(s+"/"))}function P(e){if(!e)return;let t=i(e);return t!==void 0?t:e.startsWith("/media/")?g(e):e}var f="/videos/products/";function _(e){return!!e&&e.includes(f)}var F={contentHash:"81f2e3c31abcbfd9",schema:1,mediaFields:{ImageBlock:["src"],LogoBlock:["src"],Flex:["bgImage","bgImagePhone"],FeaturedCover:["image"],LongRead:["image"],Banner:["imageSrc"],Timeline:["imageSrc"],Logos:["items[].src"],ContactLocations:["locations[].photo"],HeroSingle:["imageFocal","mediaImage","mediaImage2","mediaVideo","poster"],HeroSlide:["mediaImage","mediaVideo","poster"],PostCard:["image"],Gallery:["othersCards[].image","othersCards[].photos[].src","vehicleCards[].image","vehicleCards[].photos[].src","wheelCards[].image","wheelCards[].photos[].src"],GalleryItem:["image","photos[].src"],Manifesto:["imageSrc"],SectionHeader:["logoSrc"],IntroBleed:["imageSrc","imageSrcMobile"],Split:["imageSrc","textBgSrc"],ProcessSteps:["steps[].image"],DetailRows:["rows[].image"],PaymentBadges:["badges[].src"]},mediaKeyNames:["bgImage","bgImagePhone","image","imageFocal","imageSrc","imageSrcMobile","logoSrc","mediaImage","mediaImage2","mediaVideo","photo","poster","src","textBgSrc"],snapshotObjects:{ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},hydratedLists:{Events:["posts"],SubscribeBlogs:["posts"]},technicalStateKeys:["focal","focalPhone","imageFocal","imageFocal2","imageFocal2Phone","imageFocalPhone"]};function n(e){return{getItem(t){try{return e()?.getItem(t)??null}catch{return null}},setItem(t,o){try{e()?.setItem(t,o)}catch{}},removeItem(t){try{e()?.removeItem(t)}catch{}}}}var a="__storefront_probe__";function R(e){try{e.setItem(a,a);let t=e.getItem(a)===a;return e.removeItem(a),t}catch{return!1}}var x=n(()=>typeof window>"u"?null:window.localStorage),M=n(()=>typeof window>"u"?null:window.sessionStorage);function U(e){return n(()=>e.defaultView?.localStorage??null)}export{g as a,d as b,y as c,C as d,P as e,_ as f,F as g,S as h,I as i,b as j,R as k,x as l,M as m,U as n};