efficient-storefront-blocks 0.66.3 → 0.70.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 (593) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +5 -5
  3. package/dist/chunks/{EditorPreviewCheckout-B43B3UMG.js → EditorPreviewCheckout-XI4VULPL.js} +1 -1
  4. package/dist/chunks/{SiteEditorProvider-KOPR3UDU.js → SiteEditorProvider-3GKJZDL5.js} +1 -1
  5. package/dist/chunks/{chunk-2YMPFJUY.js → chunk-QWHNN7GF.js} +1 -1
  6. package/dist/chunks/chunk-RPLNV3WM.js +1 -0
  7. package/dist/chunks/{chunk-IHYVLVY3.js → chunk-SQH6XBRG.js} +1 -1
  8. package/dist/chunks/{chunk-6TBRERLY.js → chunk-TXTTPEQA.js} +1 -1
  9. package/dist/chunks/chunk-XF2ZAVNU.js +262 -0
  10. package/dist/chunks/{fitment-data-SK4TTJRK.js → fitment-data-6GK7QQQI.js} +1 -1
  11. package/dist/contract.js +10 -2
  12. package/dist/editor/components/BlogSource.js +1 -1
  13. package/dist/editor/components/ConsentBannerLayoutTiles.d.ts +1 -1
  14. package/dist/editor/components/HeaderSection.js +1 -1
  15. package/dist/editor/components/HeaderSettingsPanel.d.ts +4 -7
  16. package/dist/editor/components/HeaderSettingsPanel.js +1 -1
  17. package/dist/editor/components/PreviewProductPicker.js +1 -1
  18. package/dist/editor/components/SocialLinksDoor.js +1 -1
  19. package/dist/editor/components/SwitchToBoxHeader.js +1 -1
  20. package/dist/editor/lib/api/section-templates.d.ts +1 -1
  21. package/dist/editor/lib/{puck → document}/blocks/commerce/AccountBlock/fields.d.ts +1 -1
  22. package/dist/editor/lib/document/blocks/commerce/AccountBlock/fields.js +1 -0
  23. package/dist/editor/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/fields.d.ts +1 -1
  24. package/dist/editor/lib/document/blocks/commerce/AlloyWheelsListing/fields.js +1 -0
  25. package/dist/editor/lib/{puck → document}/blocks/commerce/BundleOffer/fields.d.ts +1 -1
  26. package/dist/editor/lib/document/blocks/commerce/BundleOffer/fields.js +1 -0
  27. package/dist/editor/lib/{puck → document}/blocks/commerce/CartBlock/fields.d.ts +1 -1
  28. package/dist/editor/lib/document/blocks/commerce/CartBlock/fields.js +1 -0
  29. package/dist/editor/lib/{puck → document}/blocks/commerce/CatalogFilterBar/fields.d.ts +1 -1
  30. package/dist/editor/lib/document/blocks/commerce/CatalogFilterBar/fields.js +1 -0
  31. package/dist/editor/lib/{puck → document}/blocks/commerce/CheckoutCTA/fields.d.ts +1 -1
  32. package/dist/editor/lib/document/blocks/commerce/CheckoutCTA/fields.js +1 -0
  33. package/dist/editor/lib/{puck → document}/blocks/commerce/CollectionCard/fields.d.ts +1 -1
  34. package/dist/editor/lib/document/blocks/commerce/CollectionCard/fields.js +1 -0
  35. package/dist/editor/lib/{puck → document}/blocks/commerce/Collections/fields.d.ts +1 -1
  36. package/dist/editor/lib/document/blocks/commerce/Collections/fields.js +1 -0
  37. package/dist/editor/lib/{puck → document}/blocks/commerce/CompatibleTyres/fields.d.ts +1 -1
  38. package/dist/editor/lib/document/blocks/commerce/CompatibleTyres/fields.js +1 -0
  39. package/dist/editor/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/fields.d.ts +1 -1
  40. package/dist/editor/lib/document/blocks/commerce/CountrySwitchBlock/fields.js +1 -0
  41. package/dist/editor/lib/{puck → document}/blocks/commerce/DeliveryOptions/fields.d.ts +1 -1
  42. package/dist/editor/lib/document/blocks/commerce/DeliveryOptions/fields.js +1 -0
  43. package/dist/editor/lib/{puck → document}/blocks/commerce/DetailRows/fields.d.ts +1 -1
  44. package/dist/editor/lib/document/blocks/commerce/DetailRows/fields.js +1 -0
  45. package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabel/fields.d.ts +1 -1
  46. package/dist/editor/lib/document/blocks/commerce/EuTyreLabel/fields.js +1 -0
  47. package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/fields.d.ts +1 -1
  48. package/dist/editor/lib/{puck → document}/blocks/commerce/FitmentFinder/fields.d.ts +1 -1
  49. package/dist/editor/lib/document/blocks/commerce/FitmentFinder/fields.js +1 -0
  50. package/dist/editor/lib/{puck → document}/blocks/commerce/FitmentTable/fields.d.ts +1 -1
  51. package/dist/editor/lib/document/blocks/commerce/FitmentTable/fields.js +1 -0
  52. package/dist/editor/lib/{puck → document}/blocks/commerce/Gallery/fields.d.ts +1 -1
  53. package/dist/editor/lib/document/blocks/commerce/Gallery/fields.js +1 -0
  54. package/dist/editor/lib/{puck → document}/blocks/commerce/GalleryB/fields.d.ts +1 -1
  55. package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -0
  56. package/dist/editor/lib/{puck → document}/blocks/commerce/GalleryItem/fields.d.ts +1 -1
  57. package/dist/editor/lib/document/blocks/commerce/GalleryItem/fields.js +1 -0
  58. package/dist/editor/lib/{puck → document}/blocks/commerce/Header/fields.d.ts +1 -1
  59. package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.d.ts +6 -0
  60. package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.js +1 -0
  61. package/dist/editor/lib/{puck → document}/blocks/commerce/ProductGrid/fields.d.ts +1 -1
  62. package/dist/editor/lib/document/blocks/commerce/ProductGrid/fields.js +1 -0
  63. package/dist/editor/lib/{puck → document}/blocks/commerce/ProductHero/fields.d.ts +1 -1
  64. package/dist/editor/lib/document/blocks/commerce/ProductHero/fields.js +1 -0
  65. package/dist/editor/lib/{puck → document}/blocks/commerce/ProductRef/fields.d.ts +1 -1
  66. package/dist/editor/lib/document/blocks/commerce/ProductRef/fields.js +1 -0
  67. package/dist/editor/lib/{puck → document}/blocks/commerce/RelatedProducts/fields.d.ts +1 -1
  68. package/dist/editor/lib/document/blocks/commerce/RelatedProducts/fields.js +1 -0
  69. package/dist/editor/lib/{puck → document}/blocks/commerce/SearchBlock/fields.d.ts +1 -1
  70. package/dist/editor/lib/document/blocks/commerce/SearchBlock/fields.js +1 -0
  71. package/dist/editor/lib/{puck → document}/blocks/commerce/SpecTable/fields.d.ts +1 -1
  72. package/dist/editor/lib/document/blocks/commerce/SpecTable/fields.js +1 -0
  73. package/dist/editor/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/fields.d.ts +1 -1
  74. package/dist/editor/lib/{puck → document}/blocks/commerce/TyreFitment/fields.d.ts +1 -1
  75. package/dist/editor/lib/document/blocks/commerce/TyreFitment/fields.js +1 -0
  76. package/dist/editor/lib/{puck → document}/blocks/commerce/TyreSizes/fields.d.ts +1 -1
  77. package/dist/editor/lib/document/blocks/commerce/TyreSizes/fields.js +1 -0
  78. package/dist/editor/lib/{puck → document}/blocks/commerce/controls.d.ts +1 -1
  79. package/dist/editor/lib/document/blocks/commerce/controls.js +1 -0
  80. package/dist/editor/lib/document/blocks/commerce/index.js +1 -0
  81. package/dist/editor/lib/{puck → document}/blocks/commerce/page-rules.d.ts +1 -1
  82. package/dist/editor/lib/document/blocks/commerce/page-rules.js +1 -0
  83. package/dist/editor/lib/{puck → document}/blocks/service/AppointmentBooking/fields.d.ts +1 -1
  84. package/dist/editor/lib/document/blocks/service/AppointmentBooking/fields.js +1 -0
  85. package/dist/editor/lib/{puck → document}/blocks/service/BookingBox/fields.d.ts +1 -1
  86. package/dist/editor/lib/document/blocks/service/BookingBox/fields.js +1 -0
  87. package/dist/editor/lib/{puck → document}/blocks/service/ContactRouting/fields.d.ts +1 -1
  88. package/dist/editor/lib/document/blocks/service/ContactRouting/fields.js +1 -0
  89. package/dist/editor/lib/{puck → document}/blocks/service/Events/fields.d.ts +1 -1
  90. package/dist/editor/lib/document/blocks/service/Events/fields.js +1 -0
  91. package/dist/editor/lib/{puck → document}/blocks/service/Footer/fields.d.ts +1 -1
  92. package/dist/editor/lib/document/blocks/service/Footer/fields.js +1 -0
  93. package/dist/editor/lib/{puck → document}/blocks/service/FooterDivider/fields.d.ts +1 -1
  94. package/dist/editor/lib/document/blocks/service/FooterDivider/fields.js +1 -0
  95. package/dist/editor/lib/{puck → document}/blocks/service/FooterEmailSignup/fields.d.ts +1 -1
  96. package/dist/editor/lib/document/blocks/service/FooterEmailSignup/fields.js +1 -0
  97. package/dist/editor/lib/{puck → document}/blocks/service/FooterGroup/fields.d.ts +1 -1
  98. package/dist/editor/lib/document/blocks/service/FooterGroup/fields.js +1 -0
  99. package/dist/editor/lib/{puck → document}/blocks/service/FooterLogo/fields.d.ts +1 -1
  100. package/dist/editor/lib/document/blocks/service/FooterLogo/fields.js +1 -0
  101. package/dist/editor/lib/{puck → document}/blocks/service/FooterMenu/fields.d.ts +1 -1
  102. package/dist/editor/lib/document/blocks/service/FooterMenu/fields.js +1 -0
  103. package/dist/editor/lib/{puck → document}/blocks/service/FooterSocial/fields.d.ts +1 -1
  104. package/dist/editor/lib/document/blocks/service/FooterSocial/fields.js +1 -0
  105. package/dist/editor/lib/{puck → document}/blocks/service/FooterText/fields.d.ts +1 -1
  106. package/dist/editor/lib/document/blocks/service/FooterText/fields.js +1 -0
  107. package/dist/editor/lib/{puck → document}/blocks/service/Form/fields.d.ts +1 -1
  108. package/dist/editor/lib/document/blocks/service/Form/fields.js +1 -0
  109. package/dist/editor/lib/{puck → document}/blocks/service/LegalLineBlock/fields.d.ts +1 -1
  110. package/dist/editor/lib/document/blocks/service/LegalLineBlock/fields.js +1 -0
  111. package/dist/editor/lib/document/blocks/service/OpeningHours/fields.d.ts +2 -0
  112. package/dist/editor/lib/document/blocks/service/OpeningHours/fields.js +1 -0
  113. package/dist/editor/lib/document/blocks/service/RateTable/fields.d.ts +2 -0
  114. package/dist/editor/lib/document/blocks/service/RateTable/fields.js +1 -0
  115. package/dist/editor/lib/{puck → document}/blocks/service/RatingBlock/fields.d.ts +1 -1
  116. package/dist/editor/lib/document/blocks/service/RatingBlock/fields.js +1 -0
  117. package/dist/editor/lib/{puck → document}/blocks/service/ReviewForm/fields.d.ts +1 -1
  118. package/dist/editor/lib/document/blocks/service/ReviewForm/fields.js +1 -0
  119. package/dist/editor/lib/{puck → document}/blocks/service/Reviews/fields.d.ts +1 -1
  120. package/dist/editor/lib/document/blocks/service/Reviews/fields.js +1 -0
  121. package/dist/editor/lib/{puck → document}/blocks/service/SiteFooter/fields.d.ts +1 -1
  122. package/dist/editor/lib/document/blocks/service/SiteFooter/fields.js +1 -0
  123. package/dist/editor/lib/{puck → document}/blocks/service/SiteHeader/fields.d.ts +1 -1
  124. package/dist/editor/lib/document/blocks/service/SiteHeader/fields.js +1 -0
  125. package/dist/editor/lib/{puck → document}/blocks/service/SubmitBox/fields.d.ts +1 -1
  126. package/dist/editor/lib/document/blocks/service/SubmitBox/fields.js +1 -0
  127. package/dist/editor/lib/{puck → document}/blocks/service/SubmitBuild/fields.d.ts +1 -1
  128. package/dist/editor/lib/document/blocks/service/SubmitBuild/fields.js +1 -0
  129. package/dist/editor/lib/{puck → document}/blocks/service/Subscribe/fields.d.ts +1 -1
  130. package/dist/editor/lib/document/blocks/service/Subscribe/fields.js +1 -0
  131. package/dist/editor/lib/{puck → document}/blocks/service/SubscribeBlogs/fields.d.ts +1 -1
  132. package/dist/editor/lib/document/blocks/service/SubscribeBlogs/fields.js +1 -0
  133. package/dist/editor/lib/{puck → document}/blocks/service/controls.d.ts +1 -1
  134. package/dist/editor/lib/document/blocks/service/index.d.ts +1 -0
  135. package/dist/editor/lib/document/blocks/service/index.js +1 -0
  136. package/dist/editor/lib/{puck → document}/box-header-for-site.d.ts +1 -1
  137. package/dist/editor/lib/{puck → document}/box-header.d.ts +1 -1
  138. package/dist/editor/lib/document/box-header.js +1 -0
  139. package/dist/editor/lib/document/config.d.ts +69 -0
  140. package/dist/editor/lib/document/config.js +1 -0
  141. package/dist/editor/lib/efficient-backend.js +1 -1
  142. package/dist/editor/lib/efficient-block-sources.js +1 -1
  143. package/dist/editor/lib/storefront-editor-words.d.ts +21 -5
  144. package/dist/editor/lib/storefront-editor-words.js +1 -1
  145. package/dist/editor/lib/storefront-editor.js +1 -1
  146. package/dist/editor.css +1 -1
  147. package/dist/index.d.ts +5 -3
  148. package/dist/index.js +223 -543
  149. package/dist/links.js +1 -1
  150. package/dist/render/app/globals.css +64 -36
  151. package/dist/render/built-with.json +1 -1
  152. package/dist/render/components/AppointmentBooking.js +1 -1
  153. package/dist/render/components/BoxHeaderBar.js +1 -1
  154. package/dist/render/components/ChatLauncher.js +1 -1
  155. package/dist/render/components/CollectionCard.d.ts +1 -1
  156. package/dist/render/components/Collections.d.ts +1 -1
  157. package/dist/render/components/Collections.js +1 -1
  158. package/dist/render/components/ContactRouting.js +1 -1
  159. package/dist/render/components/GalleryCard.js +1 -1
  160. package/dist/render/components/Header.js +1 -1
  161. package/dist/render/components/LegalLine.d.ts +1 -1
  162. package/dist/render/components/LegalLine.js +1 -1
  163. package/dist/render/components/OpeningHours.d.ts +12 -0
  164. package/dist/render/components/OpeningHours.js +1 -0
  165. package/dist/render/components/ProductGridSection.js +1 -1
  166. package/dist/render/components/PublishedFooter.js +1 -1
  167. package/dist/render/components/PublishedHeader.js +1 -1
  168. package/dist/render/components/RateTable.d.ts +10 -0
  169. package/dist/render/components/RateTable.js +1 -0
  170. package/dist/render/components/SpecTablePartBridge.js +1 -1
  171. package/dist/render/components/fitment/PickerField.js +1 -1
  172. package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -1
  173. package/dist/render/components/pdp-dynamic/DynamicDetailRows.d.ts +1 -1
  174. package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -1
  175. package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -1
  176. package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -1
  177. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.d.ts +6 -0
  178. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
  179. package/dist/render/components/pdp-dynamic/DynamicProductGallery.js +1 -1
  180. package/dist/render/components/pdp-dynamic/DynamicProductHero.js +1 -1
  181. package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -1
  182. package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -1
  183. package/dist/render/components/pdp-dynamic/DynamicTyreFitment.js +1 -1
  184. package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -1
  185. package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -1
  186. package/dist/render/components/pdp-dynamic/KindGate.js +1 -1
  187. package/dist/render/components/pdp-dynamic/RecordPhotoGallery.d.ts +3 -2
  188. package/dist/render/components/pdp-dynamic/RecordPhotoGallery.js +1 -1
  189. package/dist/render/components/pdp-dynamic/useSampleProduct.js +1 -1
  190. package/dist/render/components/useHeaderBar.js +1 -1
  191. package/dist/render/lib/api/index.js +1 -1
  192. package/dist/render/lib/booking/text-kinds.js +1 -1
  193. package/dist/render/lib/content/header-bar.js +1 -1
  194. package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/meta.d.ts +1 -1
  195. package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/render.d.ts +1 -1
  196. package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/meta.d.ts +1 -1
  197. package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/render.d.ts +1 -1
  198. package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/render.js +1 -0
  199. package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/meta.d.ts +1 -1
  200. package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/render.d.ts +1 -1
  201. package/dist/render/lib/document/blocks/commerce/BundleOffer/render.js +1 -0
  202. package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/meta.d.ts +1 -1
  203. package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/render.d.ts +1 -1
  204. package/dist/render/lib/document/blocks/commerce/CartBlock/render.js +1 -0
  205. package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/meta.d.ts +1 -1
  206. package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/render.d.ts +1 -1
  207. package/dist/render/lib/document/blocks/commerce/CatalogFilterBar/render.js +1 -0
  208. package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/meta.d.ts +1 -1
  209. package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/render.d.ts +1 -1
  210. package/dist/render/lib/document/blocks/commerce/CheckoutCTA/render.js +1 -0
  211. package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/meta.d.ts +1 -1
  212. package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/render.d.ts +1 -1
  213. package/dist/render/lib/document/blocks/commerce/CollectionCard/render.js +1 -0
  214. package/dist/render/lib/{puck → document}/blocks/commerce/Collections/meta.d.ts +1 -1
  215. package/dist/render/lib/{puck → document}/blocks/commerce/Collections/render.d.ts +1 -1
  216. package/dist/render/lib/document/blocks/commerce/Collections/render.js +1 -0
  217. package/dist/render/lib/{puck → document}/blocks/commerce/CompatibleTyres/meta.d.ts +1 -1
  218. package/dist/render/lib/document/blocks/commerce/CompatibleTyres/meta.js +1 -0
  219. package/dist/render/lib/{puck → document}/blocks/commerce/CompatibleTyres/render.d.ts +1 -1
  220. package/dist/render/lib/document/blocks/commerce/CompatibleTyres/render.js +1 -0
  221. package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/meta.d.ts +1 -1
  222. package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/render.d.ts +1 -1
  223. package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/render.js +1 -1
  224. package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/meta.d.ts +1 -1
  225. package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/render.d.ts +1 -1
  226. package/dist/render/lib/document/blocks/commerce/DeliveryOptions/render.js +1 -0
  227. package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/meta.d.ts +1 -1
  228. package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/render.d.ts +1 -1
  229. package/dist/render/lib/document/blocks/commerce/DetailRows/render.js +1 -0
  230. package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/meta.d.ts +1 -1
  231. package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/render.d.ts +1 -1
  232. package/dist/render/lib/document/blocks/commerce/EuTyreLabel/render.js +1 -0
  233. package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/meta.d.ts +1 -1
  234. package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/render.d.ts +1 -1
  235. package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/render.js +1 -1
  236. package/dist/render/lib/{puck → document}/blocks/commerce/FitmentFinder/meta.d.ts +1 -1
  237. package/dist/render/lib/document/blocks/commerce/FitmentFinder/meta.js +1 -0
  238. package/dist/render/lib/{puck → document}/blocks/commerce/FitmentFinder/render.d.ts +1 -1
  239. package/dist/render/lib/document/blocks/commerce/FitmentFinder/render.js +1 -0
  240. package/dist/render/lib/{puck → document}/blocks/commerce/FitmentTable/meta.d.ts +1 -1
  241. package/dist/render/lib/document/blocks/commerce/FitmentTable/meta.js +1 -0
  242. package/dist/render/lib/{puck → document}/blocks/commerce/FitmentTable/render.d.ts +1 -1
  243. package/dist/render/lib/document/blocks/commerce/FitmentTable/render.js +1 -0
  244. package/dist/render/lib/{puck → document}/blocks/commerce/Gallery/meta.d.ts +1 -1
  245. package/dist/render/lib/document/blocks/commerce/Gallery/meta.js +1 -0
  246. package/dist/render/lib/{puck → document}/blocks/commerce/Gallery/render.d.ts +1 -1
  247. package/dist/render/lib/document/blocks/commerce/Gallery/render.js +1 -0
  248. package/dist/render/lib/{puck → document}/blocks/commerce/GalleryB/meta.d.ts +1 -1
  249. package/dist/render/lib/document/blocks/commerce/GalleryB/meta.js +1 -0
  250. package/dist/render/lib/{puck → document}/blocks/commerce/GalleryB/render.d.ts +1 -1
  251. package/dist/render/lib/document/blocks/commerce/GalleryB/render.js +1 -0
  252. package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/meta.d.ts +1 -1
  253. package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/render.d.ts +1 -1
  254. package/dist/render/lib/document/blocks/commerce/GalleryItem/render.js +1 -0
  255. package/dist/render/lib/{puck → document}/blocks/commerce/Header/meta.d.ts +1 -1
  256. package/dist/render/lib/{puck → document}/blocks/commerce/Header/render.d.ts +1 -1
  257. package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/meta.d.ts +1 -1
  258. package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/render.d.ts +1 -1
  259. package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/render.js +1 -1
  260. package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/meta.d.ts +1 -1
  261. package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/render.d.ts +1 -1
  262. package/dist/render/lib/document/blocks/commerce/ProductGrid/render.js +1 -0
  263. package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/meta.d.ts +1 -1
  264. package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/render.d.ts +1 -1
  265. package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -0
  266. package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/meta.d.ts +1 -1
  267. package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/render.d.ts +1 -1
  268. package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/meta.d.ts +1 -1
  269. package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/render.d.ts +1 -1
  270. package/dist/render/lib/document/blocks/commerce/RelatedProducts/render.js +1 -0
  271. package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/meta.d.ts +1 -1
  272. package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/render.d.ts +1 -1
  273. package/dist/render/lib/document/blocks/commerce/SearchBlock/render.js +1 -0
  274. package/dist/render/lib/{puck → document}/blocks/commerce/SpecTable/meta.d.ts +1 -1
  275. package/dist/render/lib/document/blocks/commerce/SpecTable/meta.js +1 -0
  276. package/dist/render/lib/{puck → document}/blocks/commerce/SpecTable/render.d.ts +1 -1
  277. package/dist/render/lib/document/blocks/commerce/SpecTable/render.js +1 -0
  278. package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/meta.d.ts +1 -1
  279. package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/render.d.ts +1 -1
  280. package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/meta.d.ts +1 -1
  281. package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/render.d.ts +1 -1
  282. package/dist/render/lib/document/blocks/commerce/TyreFitment/render.js +1 -0
  283. package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/meta.d.ts +1 -1
  284. package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/render.d.ts +1 -1
  285. package/dist/render/lib/document/blocks/commerce/TyreSizes/render.js +1 -0
  286. package/dist/render/lib/{puck → document}/blocks/commerce/metas.d.ts +1 -1
  287. package/dist/render/lib/document/blocks/commerce/placeholders.js +1 -0
  288. package/dist/render/lib/{puck → document}/blocks/commerce/renders.d.ts +1 -1
  289. package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/meta.d.ts +1 -1
  290. package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/render.d.ts +1 -1
  291. package/dist/render/lib/document/blocks/service/AppointmentBooking/render.js +1 -0
  292. package/dist/render/lib/{puck → document}/blocks/service/BookingBox/meta.d.ts +1 -1
  293. package/dist/render/lib/{puck → document}/blocks/service/BookingBox/render.d.ts +1 -1
  294. package/dist/render/lib/document/blocks/service/BookingBox/render.js +1 -0
  295. package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/meta.d.ts +1 -1
  296. package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/render.d.ts +1 -1
  297. package/dist/render/lib/document/blocks/service/ContactRouting/render.js +1 -0
  298. package/dist/render/lib/{puck → document}/blocks/service/Events/meta.d.ts +1 -1
  299. package/dist/render/lib/document/blocks/service/Events/meta.js +1 -0
  300. package/dist/render/lib/{puck → document}/blocks/service/Events/render.d.ts +1 -1
  301. package/dist/render/lib/document/blocks/service/Events/render.js +1 -0
  302. package/dist/render/lib/{puck → document}/blocks/service/Footer/meta.d.ts +1 -1
  303. package/dist/render/lib/{puck → document}/blocks/service/Footer/render.d.ts +1 -1
  304. package/dist/render/lib/{puck → document}/blocks/service/Footer/render.js +1 -1
  305. package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/meta.d.ts +1 -1
  306. package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/render.d.ts +1 -1
  307. package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/meta.d.ts +1 -1
  308. package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/render.d.ts +1 -1
  309. package/dist/render/lib/document/blocks/service/FooterEmailSignup/render.js +1 -0
  310. package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/meta.d.ts +1 -1
  311. package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/render.d.ts +1 -1
  312. package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/meta.d.ts +1 -1
  313. package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/render.d.ts +1 -1
  314. package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/render.js +1 -1
  315. package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/meta.d.ts +1 -1
  316. package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/render.d.ts +1 -1
  317. package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/render.js +1 -1
  318. package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/meta.d.ts +1 -1
  319. package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/render.d.ts +1 -1
  320. package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/render.js +1 -1
  321. package/dist/render/lib/{puck → document}/blocks/service/FooterText/meta.d.ts +1 -1
  322. package/dist/render/lib/{puck → document}/blocks/service/FooterText/render.d.ts +1 -1
  323. package/dist/render/lib/document/blocks/service/FooterText/render.js +1 -0
  324. package/dist/render/lib/{puck → document}/blocks/service/Form/meta.d.ts +1 -1
  325. package/dist/render/lib/{puck → document}/blocks/service/Form/render.d.ts +1 -1
  326. package/dist/render/lib/document/blocks/service/Form/render.js +1 -0
  327. package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/meta.d.ts +1 -1
  328. package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/render.d.ts +1 -1
  329. package/dist/render/lib/document/blocks/service/OpeningHours/meta.d.ts +11 -0
  330. package/dist/render/lib/document/blocks/service/OpeningHours/meta.js +1 -0
  331. package/dist/render/lib/document/blocks/service/OpeningHours/render.d.ts +4 -0
  332. package/dist/render/lib/document/blocks/service/OpeningHours/render.js +1 -0
  333. package/dist/render/lib/document/blocks/service/RateTable/meta.d.ts +3 -0
  334. package/dist/render/lib/document/blocks/service/RateTable/meta.js +1 -0
  335. package/dist/render/lib/document/blocks/service/RateTable/render.d.ts +4 -0
  336. package/dist/render/lib/document/blocks/service/RateTable/render.js +1 -0
  337. package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/meta.d.ts +1 -1
  338. package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/render.d.ts +1 -1
  339. package/dist/render/lib/document/blocks/service/RatingBlock/render.js +1 -0
  340. package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/meta.d.ts +1 -1
  341. package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/render.d.ts +1 -1
  342. package/dist/render/lib/document/blocks/service/ReviewForm/render.js +1 -0
  343. package/dist/render/lib/{puck → document}/blocks/service/Reviews/meta.d.ts +1 -1
  344. package/dist/render/lib/{puck → document}/blocks/service/Reviews/render.d.ts +1 -1
  345. package/dist/render/lib/document/blocks/service/Reviews/render.js +1 -0
  346. package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/meta.d.ts +1 -1
  347. package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/render.d.ts +1 -1
  348. package/dist/render/lib/document/blocks/service/SiteFooter/render.js +1 -0
  349. package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/meta.d.ts +1 -1
  350. package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/render.d.ts +1 -1
  351. package/dist/render/lib/document/blocks/service/SiteHeader/render.js +1 -0
  352. package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/meta.d.ts +1 -1
  353. package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/render.d.ts +1 -1
  354. package/dist/render/lib/document/blocks/service/SubmitBox/render.js +1 -0
  355. package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/meta.d.ts +1 -1
  356. package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/render.d.ts +1 -1
  357. package/dist/render/lib/document/blocks/service/SubmitBuild/render.js +1 -0
  358. package/dist/render/lib/{puck → document}/blocks/service/Subscribe/meta.d.ts +1 -1
  359. package/dist/render/lib/{puck → document}/blocks/service/Subscribe/render.d.ts +1 -1
  360. package/dist/render/lib/document/blocks/service/Subscribe/render.js +1 -0
  361. package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/meta.d.ts +1 -1
  362. package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/render.d.ts +1 -1
  363. package/dist/render/lib/document/blocks/service/SubscribeBlogs/render.js +1 -0
  364. package/dist/render/lib/{puck → document}/blocks/service/metas.d.ts +3 -1
  365. package/dist/render/lib/document/blocks/service/metas.js +1 -0
  366. package/dist/render/lib/{puck → document}/blocks/service/renders.d.ts +3 -1
  367. package/dist/render/lib/document/blocks/service/renders.js +1 -0
  368. package/dist/render/lib/{puck → document}/blocks/service/subscribe.d.ts +1 -1
  369. package/dist/render/lib/document/blocks/service/subscribe.js +1 -0
  370. package/dist/render/lib/{puck → document}/blocks/text-part-shapes.json +28 -0
  371. package/dist/render/lib/document/footer-page-blocks.js +1 -0
  372. package/dist/render/lib/{puck → document}/lazy-draws.d.ts +2 -2
  373. package/dist/render/lib/document/lazy-draws.js +1 -0
  374. package/dist/render/lib/document/preview-pick.js +1 -0
  375. package/dist/render/lib/document/render-client.js +1 -0
  376. package/dist/render/lib/document/render-config.js +1 -0
  377. package/dist/render/lib/{puck → document}/slot-seeds.d.ts +2 -2
  378. package/dist/render/lib/document/slot-seeds.js +1 -0
  379. package/dist/render/lib/{puck → document}/storefront-root.d.ts +1 -1
  380. package/dist/render/lib/document/storefront-root.js +1 -0
  381. package/dist/render/lib/document/subscribe-content-type.js +1 -0
  382. package/dist/render/lib/popup/text-kind-style.js +1 -1
  383. package/dist/render/lib/sections/opening-hours.d.ts +53 -0
  384. package/dist/render/lib/sections/opening-hours.js +1 -0
  385. package/dist/render/lib/sections/rate-table.d.ts +16 -0
  386. package/dist/render/lib/sections/rate-table.js +1 -0
  387. package/dist/render/lib/submit/text-kinds.js +1 -1
  388. package/dist/render/lib/wheels/catalog-default-layout.d.ts +1 -1
  389. package/dist/render/lib/wheels/catalog-default-layout.js +1 -1
  390. package/dist/words.d.ts +28 -10
  391. package/dist/words.js +5 -5
  392. package/package.json +4 -4
  393. package/dist/chunks/chunk-S66TL4Z3.js +0 -1
  394. package/dist/chunks/chunk-TAGGXC3A.js +0 -250
  395. package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.js +0 -1
  396. package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.js +0 -1
  397. package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.js +0 -1
  398. package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.js +0 -1
  399. package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.js +0 -1
  400. package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.js +0 -1
  401. package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.js +0 -1
  402. package/dist/editor/lib/puck/blocks/commerce/Collections/fields.js +0 -1
  403. package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.js +0 -1
  404. package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.js +0 -1
  405. package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.js +0 -1
  406. package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.js +0 -1
  407. package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.js +0 -1
  408. package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.js +0 -1
  409. package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.js +0 -1
  410. package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.js +0 -1
  411. package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.js +0 -1
  412. package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.js +0 -1
  413. package/dist/editor/lib/puck/blocks/commerce/ProductGallery/fields.d.ts +0 -6
  414. package/dist/editor/lib/puck/blocks/commerce/ProductGallery/fields.js +0 -1
  415. package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.js +0 -1
  416. package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.js +0 -1
  417. package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.js +0 -1
  418. package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.js +0 -1
  419. package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.js +0 -1
  420. package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.js +0 -1
  421. package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.js +0 -1
  422. package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.js +0 -1
  423. package/dist/editor/lib/puck/blocks/commerce/controls.js +0 -1
  424. package/dist/editor/lib/puck/blocks/commerce/index.js +0 -1
  425. package/dist/editor/lib/puck/blocks/commerce/page-rules.js +0 -1
  426. package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.js +0 -1
  427. package/dist/editor/lib/puck/blocks/service/BookingBox/fields.js +0 -1
  428. package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.js +0 -1
  429. package/dist/editor/lib/puck/blocks/service/Events/fields.js +0 -1
  430. package/dist/editor/lib/puck/blocks/service/Footer/fields.js +0 -1
  431. package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.js +0 -1
  432. package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.js +0 -1
  433. package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.js +0 -1
  434. package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.js +0 -1
  435. package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.js +0 -1
  436. package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.js +0 -1
  437. package/dist/editor/lib/puck/blocks/service/FooterText/fields.js +0 -1
  438. package/dist/editor/lib/puck/blocks/service/Form/fields.js +0 -1
  439. package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.js +0 -1
  440. package/dist/editor/lib/puck/blocks/service/RatingBlock/fields.js +0 -1
  441. package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.js +0 -1
  442. package/dist/editor/lib/puck/blocks/service/Reviews/fields.js +0 -1
  443. package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.js +0 -1
  444. package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.js +0 -1
  445. package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.js +0 -1
  446. package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.js +0 -1
  447. package/dist/editor/lib/puck/blocks/service/Subscribe/fields.js +0 -1
  448. package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.js +0 -1
  449. package/dist/editor/lib/puck/blocks/service/index.d.ts +0 -1
  450. package/dist/editor/lib/puck/blocks/service/index.js +0 -1
  451. package/dist/editor/lib/puck/box-header.js +0 -1
  452. package/dist/editor/lib/puck/config.d.ts +0 -69
  453. package/dist/editor/lib/puck/config.js +0 -1
  454. package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +0 -1
  455. package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +0 -1
  456. package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +0 -1
  457. package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +0 -1
  458. package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +0 -1
  459. package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +0 -1
  460. package/dist/render/lib/puck/blocks/commerce/Collections/render.js +0 -1
  461. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/meta.js +0 -1
  462. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +0 -1
  463. package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +0 -1
  464. package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +0 -1
  465. package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +0 -1
  466. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/meta.js +0 -1
  467. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +0 -1
  468. package/dist/render/lib/puck/blocks/commerce/FitmentTable/meta.js +0 -1
  469. package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +0 -1
  470. package/dist/render/lib/puck/blocks/commerce/Gallery/meta.js +0 -1
  471. package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +0 -1
  472. package/dist/render/lib/puck/blocks/commerce/GalleryB/meta.js +0 -1
  473. package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +0 -1
  474. package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +0 -1
  475. package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +0 -1
  476. package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +0 -1
  477. package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +0 -1
  478. package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +0 -1
  479. package/dist/render/lib/puck/blocks/commerce/SpecTable/meta.js +0 -1
  480. package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +0 -1
  481. package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +0 -1
  482. package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +0 -1
  483. package/dist/render/lib/puck/blocks/commerce/placeholders.js +0 -1
  484. package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +0 -1
  485. package/dist/render/lib/puck/blocks/service/BookingBox/render.js +0 -1
  486. package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +0 -1
  487. package/dist/render/lib/puck/blocks/service/Events/meta.js +0 -1
  488. package/dist/render/lib/puck/blocks/service/Events/render.js +0 -1
  489. package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +0 -1
  490. package/dist/render/lib/puck/blocks/service/FooterText/render.js +0 -1
  491. package/dist/render/lib/puck/blocks/service/Form/render.js +0 -1
  492. package/dist/render/lib/puck/blocks/service/RatingBlock/render.js +0 -1
  493. package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +0 -1
  494. package/dist/render/lib/puck/blocks/service/Reviews/render.js +0 -1
  495. package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +0 -1
  496. package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +0 -1
  497. package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +0 -1
  498. package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +0 -1
  499. package/dist/render/lib/puck/blocks/service/Subscribe/render.js +0 -1
  500. package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +0 -1
  501. package/dist/render/lib/puck/blocks/service/metas.js +0 -1
  502. package/dist/render/lib/puck/blocks/service/renders.js +0 -1
  503. package/dist/render/lib/puck/blocks/service/subscribe.js +0 -1
  504. package/dist/render/lib/puck/footer-page-blocks.js +0 -1
  505. package/dist/render/lib/puck/lazy-draws.js +0 -1
  506. package/dist/render/lib/puck/preview-pick.js +0 -1
  507. package/dist/render/lib/puck/render-client.js +0 -1
  508. package/dist/render/lib/puck/render-config.js +0 -1
  509. package/dist/render/lib/puck/slot-seeds.js +0 -1
  510. package/dist/render/lib/puck/storefront-root.js +0 -1
  511. package/dist/render/lib/puck/subscribe-content-type.js +0 -1
  512. /package/dist/chunks/{chunk-TAGGXC3A.js.LEGAL.txt → chunk-XF2ZAVNU.js.LEGAL.txt} +0 -0
  513. /package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/fields.js +0 -0
  514. /package/dist/editor/lib/{puck → document}/blocks/commerce/Header/fields.js +0 -0
  515. /package/dist/editor/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/fields.js +0 -0
  516. /package/dist/editor/lib/{puck → document}/blocks/commerce/index.d.ts +0 -0
  517. /package/dist/editor/lib/{puck → document}/blocks/commerce/shared-fields.d.ts +0 -0
  518. /package/dist/editor/lib/{puck → document}/blocks/commerce/shared-fields.js +0 -0
  519. /package/dist/editor/lib/{puck → document}/blocks/service/controls.js +0 -0
  520. /package/dist/editor/lib/{puck → document}/blocks/service/placeholders.d.ts +0 -0
  521. /package/dist/editor/lib/{puck → document}/blocks/service/placeholders.js +0 -0
  522. /package/dist/editor/lib/{puck → document}/box-header-for-site.js +0 -0
  523. /package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/meta.js +0 -0
  524. /package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/render.js +0 -0
  525. /package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/meta.js +0 -0
  526. /package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/meta.js +0 -0
  527. /package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/meta.js +0 -0
  528. /package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/meta.js +0 -0
  529. /package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/meta.js +0 -0
  530. /package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/meta.js +0 -0
  531. /package/dist/render/lib/{puck → document}/blocks/commerce/Collections/meta.js +0 -0
  532. /package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/meta.js +0 -0
  533. /package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/meta.js +0 -0
  534. /package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/meta.js +0 -0
  535. /package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/meta.js +0 -0
  536. /package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/meta.js +0 -0
  537. /package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/meta.js +0 -0
  538. /package/dist/render/lib/{puck → document}/blocks/commerce/Header/meta.js +0 -0
  539. /package/dist/render/lib/{puck → document}/blocks/commerce/Header/render.js +0 -0
  540. /package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/meta.js +0 -0
  541. /package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/meta.js +0 -0
  542. /package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/meta.js +0 -0
  543. /package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/meta.js +0 -0
  544. /package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/render.js +0 -0
  545. /package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/meta.js +0 -0
  546. /package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/meta.js +0 -0
  547. /package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/meta.js +0 -0
  548. /package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/render.js +0 -0
  549. /package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/meta.js +0 -0
  550. /package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/meta.js +0 -0
  551. /package/dist/render/lib/{puck → document}/blocks/commerce/metas.js +0 -0
  552. /package/dist/render/lib/{puck → document}/blocks/commerce/placeholders.d.ts +0 -0
  553. /package/dist/render/lib/{puck → document}/blocks/commerce/renders.js +0 -0
  554. /package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/meta.js +0 -0
  555. /package/dist/render/lib/{puck → document}/blocks/service/BookingBox/meta.js +0 -0
  556. /package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/meta.js +0 -0
  557. /package/dist/render/lib/{puck → document}/blocks/service/Footer/meta.js +0 -0
  558. /package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/meta.js +0 -0
  559. /package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/render.js +0 -0
  560. /package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/meta.js +0 -0
  561. /package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/meta.js +0 -0
  562. /package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/render.js +0 -0
  563. /package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/meta.js +0 -0
  564. /package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/meta.js +0 -0
  565. /package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/meta.js +0 -0
  566. /package/dist/render/lib/{puck → document}/blocks/service/FooterText/meta.js +0 -0
  567. /package/dist/render/lib/{puck → document}/blocks/service/Form/meta.js +0 -0
  568. /package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/meta.js +0 -0
  569. /package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/render.js +0 -0
  570. /package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/meta.js +0 -0
  571. /package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/meta.js +0 -0
  572. /package/dist/render/lib/{puck → document}/blocks/service/Reviews/meta.js +0 -0
  573. /package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/meta.js +0 -0
  574. /package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/meta.js +0 -0
  575. /package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/meta.js +0 -0
  576. /package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/meta.js +0 -0
  577. /package/dist/render/lib/{puck → document}/blocks/service/Subscribe/meta.js +0 -0
  578. /package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/meta.js +0 -0
  579. /package/dist/render/lib/{puck → document}/current-product.d.ts +0 -0
  580. /package/dist/render/lib/{puck → document}/current-product.js +0 -0
  581. /package/dist/render/lib/{puck → document}/current-record.d.ts +0 -0
  582. /package/dist/render/lib/{puck → document}/current-record.js +0 -0
  583. /package/dist/render/lib/{puck → document}/fitment-table-dynamic.d.ts +0 -0
  584. /package/dist/render/lib/{puck → document}/fitment-table-dynamic.js +0 -0
  585. /package/dist/render/lib/{puck → document}/footer-page-blocks.d.ts +0 -0
  586. /package/dist/render/lib/{puck → document}/preview-pick.d.ts +0 -0
  587. /package/dist/render/lib/{puck → document}/preview-product.d.ts +0 -0
  588. /package/dist/render/lib/{puck → document}/preview-product.js +0 -0
  589. /package/dist/render/lib/{puck → document}/render-client.d.ts +0 -0
  590. /package/dist/render/lib/{puck → document}/render-config.d.ts +0 -0
  591. /package/dist/render/lib/{puck → document}/subscribe-content-type.d.ts +0 -0
  592. /package/dist/render/lib/{puck → document}/template-product-kind.d.ts +0 -0
  593. /package/dist/render/lib/{puck → document}/template-product-kind.js +0 -0
@@ -1 +1 @@
1
- import{PREVIEW_TOKEN_HEADER as tt,SITE_HOST_HEADER as et,SITE_SLUG_HEADER as rt}from"../site-headers.js";import{PRODUCT_API_BASE as at,PRODUCT_BACKEND_URL as k}from"./origins.js";import{backendHopHeaders as st,clientIpFromForwardedFor as nt,FORWARDED_FOR_HEADER as ot,hopCachingOf as it}from"../forwarded-for.js";import ct from"efficient-web-builder/format/lib/puck/media-manifest.json";import{auth as P}from"../auth.js";import{efficientClientOpen as dt}from"efficient-easel/screen/lib/session";import{listableWheelSummaries as J}from"../wheels/listable-wheels.js";import{dropRenderlessFinishes as L}from"../wheels/renderable-finishes.js";const ut=process.env.NEXT_PUBLIC_API_URL??"http://localhost:8000";class m extends Error{status;data;constructor(e,s,o){super(s),this.status=e,this.data=o}}const U="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.",lt=new Set([502,503,504]),I=0,pt="This editor runs on its host's own backend, which does not serve this request.",yt=5e3,ht=15e3,ft=()=>typeof window>"u"?yt:ht;function D(t){const e=(t.method??"GET").toUpperCase();if(!(t.body!=null||e!=="GET"&&e!=="HEAD")&&!(t.audience!=null&&t.audience!=="shop")&&typeof AbortSignal?.timeout=="function")return AbortSignal.timeout(ft())}const x=t=>t instanceof Error&&t.name==="TimeoutError",H=(t,e)=>lt.has(t)?U:e,gt=["admin","venue"];let M="admin";function ne(t){M=gt.includes(t)?t:"admin"}function mt(){return M}const wt=/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$/;let F=null;function oe(t){F=t&&wt.test(t)?t:null}function St(){return F}function Pt(t){if(typeof window>"u"||!t.startsWith("/api/v1/"))return t;const e=j();return!e||/[?&]site=/.test(t)?t:C(t,`site=${encodeURIComponent(e)}`)}async function i(t,e={}){const{token:s,baseUrl:o,headers:l,audience:p,...w}=e;if(typeof window<"u"&&!dt())throw new m(I,pt,null);if(typeof window>"u"&&o===void 0)throw new Error(`apiFetch(${JSON.stringify(t)}) 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.`);const a=typeof FormData<"u"&&w.body instanceof FormData;let r;try{r=await fetch(`${o??ut}${Pt(t)}`,{...w,headers:{...a?{}:{"Content-Type":"application/json"},...s?{Authorization:`Bearer ${s}`}:{},...p===null?{}:{"X-Portal-Audience":p??"shop"},...l},signal:w.signal??D({...w,audience:p})})}catch(y){throw y instanceof TypeError||x(y)?new m(I,U,null):y}let n;try{n=await r.text()}catch(y){throw x(y)?new m(I,U,null):y}let c=null;if(n)try{c=JSON.parse(n)}catch{throw new m(r.status,r.ok?"Expected JSON but received a non-JSON response":H(r.status,r.statusText),n)}if(!r.ok){const y=(c&&typeof c=="object"&&"detail"in c&&typeof c.detail=="string"?c.detail:null)??H(r.status,r.statusText);throw new m(r.status,y,c)}return c}let O=null;async function B(){return O||(O=bt().finally(()=>{O=null}),O)}async function bt(){const t=P.takeLegacyRefresh(),e=await Ot.refresh(t??void 0);return P.setTokens(e.access),e.access}async function q(){return P.getAccess()??B()}async function h(t,e={}){let s;try{s=await q()}catch{throw P.clear(),new m(401,"Not signed in",null)}try{return await i(t,{...e,token:s})}catch(o){if(!(o instanceof m)||o.status!==401)throw o;try{const l=await B();return await i(t,{...e,token:l})}catch{throw P.clear(),o}}}async function G(t,e={}){if(P.getAccess())try{return{data:await h(t,e),asShopper:!0}}catch(s){if(!(s instanceof m)||s.status!==401)throw s}return{data:await i(t,e),asShopper:!1}}async function W(){const t=await h("/api/auth/me/");if(t.portal!=="shop")throw P.clear(),new m(403,"This session is not valid for this shop.",null);return t}const Ot={login:(t,e)=>i("/api/auth/login/",{method:"POST",body:JSON.stringify({email:t,password:e,portal:"shop"}),credentials:"include"}),refresh:t=>i("/api/auth/refresh/",{method:"POST",body:JSON.stringify(t?{refresh:t,portal:"shop"}:{portal:"shop"}),credentials:"include"}),logout:async()=>{P.clear();try{await i("/api/auth/logout/",{method:"POST",body:JSON.stringify({portal:"shop"}),credentials:"include"})}catch{}},restoreSession:async()=>{const t=await q();return await W(),t},me:W,updateMe:t=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify(t)}),changePassword:(t,e)=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify({password:e,old_password:t})}),changeEmail:(t,e)=>h("/api/shop-portal/change-email/",{method:"POST",body:JSON.stringify({new_email:t,current_password:e})}),myProfile:()=>h("/api/shop-portal/profile/"),updateMyProfile:t=>h("/api/shop-portal/profile/",{method:"PATCH",body:JSON.stringify(t)}),myAddresses:()=>h("/api/shop-portal/delivery-locations/"),createAddress:t=>h("/api/shop-portal/delivery-locations/",{method:"POST",body:JSON.stringify(t)}),updateAddress:(t,e)=>h(`/api/shop-portal/delivery-locations/${t}/`,{method:"PATCH",body:JSON.stringify(e)}),deleteAddress:t=>h(`/api/shop-portal/delivery-locations/${t}/`,{method:"DELETE"}),passwordResetRequest:t=>i("/api/auth/password-reset/",{method:"POST",body:JSON.stringify({email:t})}),passwordResetConfirm:(t,e,s)=>i("/api/auth/password-reset/confirm/",{method:"POST",body:JSON.stringify({uid:t,token:e,new_password:s})}),brands:()=>h("/api/products/brands/"),myOrders:()=>h("/api/shop-portal/orders/").then(t=>t.results),myOrder:t=>h(`/api/shop-portal/orders/${t}/`),cancelOrder:t=>h(`/api/shop-portal/orders/${t}/cancel/`,{method:"POST"}),myReturns:t=>h(`/api/shop-portal/returns/${t?`?order=${encodeURIComponent(t)}`:""}`).then(e=>e.results),createReturn:t=>h("/api/shop-portal/returns/",{method:"POST",body:JSON.stringify(t)}),withdrawReturn:t=>h(`/api/shop-portal/returns/${t}/cancel/`,{method:"POST"}),uploadReturnPhoto:(t,e)=>{const s=new FormData;return s.append("claim_item",t),s.append("file",e),s.append("media_type",e.type.startsWith("video/")?"video":"image"),h("/api/shop-portal/return-media/",{method:"POST",body:s})}};import{media as At,absolutizeApiUrl as N}from"efficient-web-builder/render/lib/media";import{analyzeLogoSvg as Tt,isSvgUrl as Rt}from"efficient-web-builder/format/lib/logo/reverse-svg";import{getEditorSiteId as Et}from"efficient-web-builder/render/lib/editor-site";import{shopRouteBase as Ct,webRuntimeSiteSlug as j}from"efficient-web-builder/format/lib/web-runtime";function g(t){if(typeof t=="string")return t.startsWith("/media/")?At(t):t;if(Array.isArray(t))return t.map(g);if(t&&typeof t=="object"){const e={};for(const[s,o]of Object.entries(t))e[s]=s==="captions"&&o&&typeof o=="object"&&!Array.isArray(o)?Object.fromEntries(Object.entries(o).map(([l,p])=>[g(l),p])):g(o);return e}return t}import{PRODUCT_API_BASE as we}from"./origins.js";const z=typeof window>"u"&&k!=="",$t=z?k:at,_t=Ct,b=()=>({baseUrl:_t(),audience:null});function d(t,e){const s=e?`?process=${encodeURIComponent(e)}`:"";return`/api/v1${t}${s}`}const Ut=100,K=50;function V(t,e,s){const o=new URLSearchParams;for(const[l,p]of Object.entries(e))p!=null&&p!==""&&o.set(l,String(p));return o.set("pageSize",String(Ut)),s&&o.set("cursor",s),`/api/v1${t}?${o.toString()}`}function It(t,e){return V("/wheels",{process:t},e)}function Nt(t,e,s){return V("/products",{kind:t.join(","),make:e?.make,model:e?.model,year:e?.year,modification:e?.modification},s)}function vt(t){if(!t)return null;try{return new URL(t,"http://cursor.invalid").searchParams.get("cursor")}catch{return null}}async function X(t,e,s=()=>!1){const o=[];let l=null;try{for(let p=0;p<K;p++){const w=await i(await e(l),await u());if(o.push(...w.results),l=vt(w.next),!l)break}l&&console.warn(`[${t}] stopped at ${K} pages (${o.length} rows); catalog may be truncated`)}catch(p){if(s(p))throw p;console.warn(`[${t}] product API unavailable, returning []`,p)}return o}const kt=t=>t instanceof m&&t.status===400;function Jt(t){return t.flatMap(e=>e.kind==="alloy-wheel"?J([e]):[e])}async function Z(){return(await Lt()).host}async function Lt(){try{const{headers:t}=await import("next/headers"),e=await t(),s=p=>p?.split(",")[0]?.split(":")[0]?.trim().toLowerCase()||null,o=s(e.get(et)??e.get("x-forwarded-host")??e.get("host")),l=s(e.get("host"));return{host:o,matchesRequestHost:o!==null&&o===l}}catch{return{host:null,matchesRequestHost:!1}}}async function Dt(){try{const{headers:t}=await import("next/headers");return nt((await t()).get(ot))}catch{return null}}async function xt(){try{const{headers:t}=await import("next/headers");return(await t()).get(rt)||null}catch{return null}}async function Ht(){const t=await xt();if(t)return`site=${encodeURIComponent(t)}`;const e=await Z();return e?`host=${encodeURIComponent(e)}`:""}async function f(t){if(typeof window<"u"){const e=j();return e?C(t,`site=${encodeURIComponent(e)}`):t}return C(t,await Ht())}function C(t,e){return e?`${t}${t.includes("?")?"&":"?"}${e}`:t}const Mt="preview";async function Ft(){if(typeof window<"u")return null;try{const{headers:t}=await import("next/headers");return(await t()).get(tt)}catch{return null}}async function Bt(){try{const{headers:t}=await import("next/headers");return(await t()).get("user-agent")}catch{return null}}async function v(t,e){const s=await Ft();if(s===null)return[await f(t),await u(e)];const o=C(await f(t),`${Mt}=${encodeURIComponent(s)}`),{next:l,cache:p,...w}=e??{},a=await u({...w,cache:"no-store"}),r=await Bt();return r&&(a.headers={...a.headers,"user-agent":r}),[o,a]}async function qt(t){if(!z)return;const[e,s]=await Promise.all([Z(),Dt()]),o=st(e,s,t);return Object.keys(o).length>0?o:void 0}async function u(t){const e=await qt(it(t)),s={baseUrl:$t,...t};return e&&(s.headers={...e,...t?.headers}),s}const A=typeof window>"u";function T(t,e){const s=new URLSearchParams;for(const[l,p]of Object.entries(e))p!==void 0&&p!==""&&s.set(l,String(p));const o=s.toString();return`/api/v1/fitment${t}${o?`?${o}`:""}`}const le={listMakes:async t=>{if(A){const{fitmentData:s}=await import("./fitment-data.js");return s.makes(t)}return(await i(T("/makes",{region:t}),b())).results},listModels:async(t,e)=>{if(A){const{fitmentData:o}=await import("./fitment-data.js");return o.models(t,e)}return(await i(T("/models",{make:t,region:e}),b())).results},listYears:async(t,e,s)=>{if(A){const{fitmentData:l}=await import("./fitment-data.js");return l.years(t,e,s)}return(await i(T("/years",{make:t,model:e,region:s}),b())).results},listModifications:async(t,e,s,o)=>{if(A){const{fitmentData:p}=await import("./fitment-data.js");return p.modifications(t,e,s,o)}return(await i(T("/modifications",{make:t,model:e,year:s,region:o}),b())).results},getStockFitment:async(t,e,s,o,l)=>{if(A){const{fitmentData:p}=await import("./fitment-data.js");return p.stockFitment(t,e,s,o,l)}return i(T("/stock-fitment",{make:t,model:e,year:s,modification:o,region:l}),b())}},pe={listWheels:async t=>{const e=await X("products.listWheels",async s=>await f(It(t,s)));return J(g(e))},listCatalog:async(t,e)=>{if(t.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` — so the call would silently return the wheel catalog instead of nothing.");const s=await X("products.listCatalog",async o=>await f(Nt(t,e,o)),kt);return Jt(g(s))},getWheel:async t=>L(g(await i(await f(d(`/wheels/${t}`)),await u()))),getTyre:async t=>g(await i(await f(d(`/tyres/${t}`)),await u())),listBundles:async()=>{try{return await i(await f(d("/bundles")),await u())}catch{return[]}},getBundle:async t=>i(await f(d(`/bundles/${t}`)),await u()),listGalleryBuilds:async(t={})=>{const{process:e=null,wheelSlug:s=null}=t;if(typeof window>"u"){const{listGalleryBuilds:o}=await import("./gallery-builds-data.js");return g(o(e,s))}try{const o=new URLSearchParams;e&&o.set("process",e),s&&o.set("wheelSlug",s);const l=o.toString(),p=await i(`/api/v1/gallery-builds${l?`?${l}`:""}`,b());return g(p.results)}catch(o){return console.warn("[products.listGalleryBuilds] product API unavailable, returning []",o),[]}},getSite:async()=>i(await f(d("/site")),await u()),getSiteBySlug:async t=>i(`${d("/site")}?${new URLSearchParams({site:t})}`,typeof window>"u"?await u():void 0),listPages:async()=>g(await i(await f(d("/pages")),await u())),listPopups:async()=>i(await f(d("/popups")),await u()),listProductTemplates:async()=>{try{return await i(await f(d("/product-templates")),await u())}catch(t){return console.warn("[products.listProductTemplates] unavailable, returning []",t),[]}},listDynamicPages:async t=>{const e=t?`?recordType=${encodeURIComponent(t)}`:"";try{return await i(await f(`${d("/dynamic-pages")}${e}`),await u())}catch(s){if(s instanceof m&&s.status===404)return[];throw s}},getRecord:async(t,e)=>{try{return await i(await f(d(`/records/${encodeURIComponent(t)}/${encodeURIComponent(e)}`)),await u())}catch(s){if(s instanceof m&&s.status===404)return null;throw s}},listRecordKeys:async t=>{try{const e=await i(await f(d(`/records/${encodeURIComponent(t)}`)),await u({cache:"no-store"}));return Array.isArray(e?.keys)?e.keys.filter(s=>typeof s=="string"&&s!==""):[]}catch(e){if(e instanceof m&&e.status===404)return[];throw e}},listProductTypeChoices:async()=>{try{return await i(await f(d("/product-type-choices")),await u())}catch(t){return console.warn("[products.listProductTypeChoices] unavailable, returning []",t),[]}},listFieldUsage:async()=>{try{return await i(await f(d("/field-usage")),await u())}catch(t){return console.warn("[products.listFieldUsage] unavailable, returning []",t),[]}},getPage:async(t,e={})=>{const s=e.record?`?record=${encodeURIComponent(e.record)}`:"",[o,l]=await v(d(`/pages/${t}`)+s,e.revalidate!==void 0?{next:{revalidate:e.revalidate}}:void 0);return g(await i(o,l))},listBlogPosts:async(t={})=>{const e=t.category?`?category=${encodeURIComponent(t.category)}`:"";try{return(await i(d("/blog-posts")+e,await u())).map(o=>({...o,coverImage:N(o.coverImage)??""}))}catch(s){return console.warn("[products.listBlogPosts] blog API unavailable, returning []",s),[]}},getBlogPost:async t=>{const e=await i(d(`/blog-posts/${t}`),await u());return{...e,coverImage:N(e.coverImage)??""}},createOrder:async t=>i(d("/orders"),await u({method:"POST",body:JSON.stringify(t)})),createOrderAuthed:async t=>h(d("/orders"),await u({method:"POST",body:JSON.stringify(t)})),lookupOrder:async t=>i(d("/orders/lookup"),await u({method:"POST",body:JSON.stringify(t)})),createPaymentIntent:async t=>i(d("/payments/intent"),await u({method:"POST",body:JSON.stringify(t)})),createPaypalOrder:async t=>i(d("/payments/paypal/order"),await u({method:"POST",body:JSON.stringify(t)})),capturePaypalOrder:async t=>i(d("/payments/paypal/capture"),await u({method:"POST",body:JSON.stringify(t)})),createAfterpayCheckout:async t=>i(d("/payments/afterpay/checkout"),await u({method:"POST",body:JSON.stringify(t)})),captureAfterpayPayment:async t=>i(d("/payments/afterpay/capture"),await u({method:"POST",body:JSON.stringify(t)})),chargeSquare:async t=>i(d("/payments/square/charge"),await u({method:"POST",body:JSON.stringify(t)})),createGocardlessBillingRequest:async t=>i(d("/payments/gocardless/billing-request"),await u({method:"POST",body:JSON.stringify(t)})),completeGocardlessPayment:async t=>i(d("/payments/gocardless/complete"),await u({method:"POST",body:JSON.stringify(t)})),createZipCheckout:async t=>i(d("/payments/zip/checkout"),await u({method:"POST",body:JSON.stringify(t)})),captureZipPayment:async t=>i(d("/payments/zip/capture"),await u({method:"POST",body:JSON.stringify(t)})),createKlarnaCheckout:async t=>i(d("/payments/klarna/checkout"),await u({method:"POST",body:JSON.stringify(t)})),captureKlarnaPayment:async t=>i(d("/payments/klarna/capture"),await u({method:"POST",body:JSON.stringify(t)})),createStockAlert:async t=>i(d("/stock-alerts"),await u({method:"POST",body:JSON.stringify(t)})),createPreOrderIntent:async t=>i(d("/pre-order-intents"),await u({method:"POST",body:JSON.stringify(t)})),createNewsletterSubscription:async t=>i(d("/newsletter-subscriptions"),await u({method:"POST",body:JSON.stringify(t)})),unsubscribeNewsletter:async t=>i(d("/newsletter-unsubscribe"),await u({method:"POST",body:JSON.stringify(t)})),captureCart:async t=>i(d("/carts"),await u({method:"POST",body:JSON.stringify(t)})),restoreCart:async t=>i(d("/carts/restore"),await u({method:"POST",body:JSON.stringify(t)})),unsubscribeCartReminders:async t=>i(d("/carts/unsubscribe"),await u({method:"POST",body:JSON.stringify(t)})),listReviews:async(t={})=>{const e=new URLSearchParams;t.limit&&e.set("limit",String(t.limit)),t.designCode&&e.set("designCode",t.designCode);const s=d("/reviews"),o=e.toString();try{return await i(await f(o?`${s}?${o}`:s),await u())}catch(l){return console.warn("[products.listReviews] product API unavailable, returning []",l),[]}},submitReview:async t=>i(d("/reviews"),await u({method:"POST",body:JSON.stringify(t)})),getForm:async t=>i(d(`/forms/${encodeURIComponent(t)}`),await u()),submitForm:async(t,e)=>i(d(`/forms/${encodeURIComponent(t)}/submissions`),await u({method:"POST",body:JSON.stringify(e)})),listShippingMethods:async()=>{try{return await i(d("/shipping-methods"),await u())}catch(t){return console.warn("[products.listShippingMethods] product API unavailable, returning []",t),[]}},listCountrySubdivisions:async t=>{try{return await i(d(`/countries/${encodeURIComponent(t)}/subdivisions`),await u())}catch(e){return console.warn("[products.listCountrySubdivisions] unavailable, returning []",e),[]}},quoteCart:async t=>{const e=d("/cart/quote"),s=await u({method:"POST",body:JSON.stringify(t)});return t.couponCode?(await G(e,s)).data:i(e,s)},validateCoupon:async t=>{const{data:e,asShopper:s}=await G(d("/coupons/validate"),await u({method:"POST",body:JSON.stringify(t)}));return{...e,askedAsShopper:s}},getHeaderSettings:async()=>{const t=D({method:"GET"}),e=await i(...await v(d("/header-settings"),{signal:t})),s=N(e.logoUrl);let o=null,l=null;if(s&&Rt(s)){const p=await Tt(s,t);p&&(o=p.reversed,l=p.inkIsDark)}return{...e,logoUrl:s,logoReversed:o,logoInkIsDark:l}},getThemeSettings:async()=>i(...await v(d("/theme-settings"))),getChatSettings:async()=>i(await f(d("/chat-settings")),await u())},ye={listServices:async()=>{try{return await i(d("/bookings/services"),await u())}catch(t){return console.warn("[bookings.listServices] API unavailable, returning []",t),{results:[],currency:"USD"}}},getAvailability:async(t,e)=>i(d(`/bookings/availability?service=${encodeURIComponent(t)}&date=${e}`),await u()),create:async t=>i(d("/bookings"),await u({method:"POST",body:JSON.stringify(t)})),get:async t=>i(d(`/bookings/manage/${encodeURIComponent(t)}`),await u()),cancel:async t=>i(d(`/bookings/manage/${encodeURIComponent(t)}/cancel`),await u({method:"POST"})),createPaymentIntent:async t=>i(d("/bookings/payments/intent"),await u({method:"POST",body:JSON.stringify({manageToken:t})}))};class Gt extends Error{slug;count;constructor(e,s){super(`Slug "${e}" exists on ${s} websites; a site is required to pick one.`),this.slug=e,this.count=s,this.name="AmbiguousPageSlugError"}}const $=(t,e,s)=>{const o=new URLSearchParams({...e?{site:e}:{},...s?{draft:"1"}:{}}).toString();return`/api/storefront/${t}/${o?`?${o}`:""}`},R=t=>`/api/storefront/sites/${encodeURIComponent(t)}/`,Wt=t=>`${R(t)}currencies/`,jt="/api/storefront/media/ingest/";class zt 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 Kt(){const t=Et();if(!t)throw new zt;return`${jt}?${new URLSearchParams({site:t})}`}const Vt="X-Puck-Media-Manifest",Y=ct.contentHash,_={"X-Media-Manifest":Y,[Vt]:Y},he=Q({});function Q(t){return(e,s={})=>{const o=St(),l=t.headers||o?{...o?{"Accept-Language":o}:{},...t.headers,...s.headers}:void 0;return i(e,{...s,...t.baseUrl!==void 0?{baseUrl:t.baseUrl}:{},...l?{headers:l}:{},audience:t.audience??mt()})}}function Xt(t={}){const e=Q(t),s=t.siteDrafts===!0,o=a=>$("header-settings",a,s),l=a=>$("theme-settings",a,s),p=a=>$("chat-settings",a,s),w=a=>$("social-settings",a,s);return{findPageBySlug:async(a,r,n)=>{const c=new URLSearchParams({slug:a});n&&c.set("site",n);const y=await e(`/api/storefront/pages/?${c.toString()}`,{token:r}),S=Array.isArray(y)?y:y.results??[];if(!n&&S.length>1)throw new Gt(a,S.length);return S[0]??null},getPageById:(a,r)=>e(`/api/storefront/pages/${a}/`,{token:r}),saveLayout:(a,r,n,c,y)=>e(`/api/storefront/pages/${a}/`,{method:"PATCH",body:JSON.stringify({layout:r,expected_updated_at:c,...y?{client_id:y}:{}}),token:n}),duplicatePage:(a,r,n)=>e(`/api/storefront/pages/${a}/duplicate/`,{method:"POST",body:JSON.stringify({title:r.title,slug:r.slug}),token:n}),geocode:(a,r,n)=>e(`/api/storefront/geocode/?${new URLSearchParams(n?{q:a,country:n}:{q:a})}`,{token:r}),listBlockSources:a=>e("/api/storefront/block-sources/",{token:a}),listRecordTypes:a=>e("/api/storefront/record-types/",{token:a}),createPagePreviewLink:(a,r)=>e(`/api/storefront/pages/${a}/preview-link/`,{method:"POST",token:r}),claimPageEditLock:(a,r,n,c=!1)=>e(`/api/storefront/pages/${a}/edit-lock/`,{method:"POST",body:JSON.stringify({client_id:n,takeover:c}),token:r}),releasePageEditLock:(a,r)=>e(`/api/storefront/pages/${a}/edit-lock/`,{method:"DELETE",token:r}),createTemplate:(a,r,n)=>e("/api/storefront/page-templates/",{method:"POST",body:JSON.stringify({name:a,layout:r}),headers:_,token:n}),getTemplate:(a,r)=>e(`/api/storefront/page-templates/${a}/`,{token:r}),saveTemplateLayout:(a,r,n)=>e(`/api/storefront/page-templates/${a}/`,{method:"PATCH",body:JSON.stringify({layout:r}),headers:_,token:n}),listTemplatePages:async(a,r)=>{const n=await e(`/api/storefront/template-pages/?template=${encodeURIComponent(a)}`,{token:r});return Array.isArray(n)?n:n.results??[]},findTemplatePageBySlug:async(a,r,n)=>{const c=await e(`/api/storefront/template-pages/?template=${encodeURIComponent(a)}&slug=${encodeURIComponent(r)}`,{token:n});return(Array.isArray(c)?c:c.results??[])[0]??null},createTemplatePage:(a,r,n)=>e("/api/storefront/template-pages/",{method:"POST",body:JSON.stringify({template:a,...r}),headers:_,token:n}),saveTemplatePageLayout:(a,r,n)=>e(`/api/storefront/template-pages/${a}/`,{method:"PATCH",body:JSON.stringify({layout:r}),headers:_,token:n}),deleteTemplatePage:(a,r,n)=>e(`/api/storefront/template-pages/${a}/`,{method:"DELETE",token:r,...n?.keepalive?{keepalive:!0}:{}}),listPages:async(a,r)=>{const n=new URLSearchParams({no_page:"true"});r&&n.set("site",r);const c=await e(`/api/storefront/pages/?${n.toString()}`,{token:a});return Array.isArray(c)?c:c.results??[]},createPage:(a,r,n,c)=>e("/api/storefront/pages/",{method:"POST",body:JSON.stringify({title:a,slug:r,layout:n}),token:c}),deletePage:(a,r)=>e(`/api/storefront/pages/${a}/`,{method:"DELETE",token:r}),getHeaderSettings:(a,r)=>e(o(r),{token:a}),listMenus:async(a,r)=>{const n=new URLSearchParams({no_page:"true"});r&&n.set("site",r);const c=await e(`/api/storefront/menus/?${n}`,{token:a});return Array.isArray(c)?c:c.results??[]},listBlogPosts:async(a,r={})=>{const n=new URLSearchParams({no_page:"true"});r.visibleOnly&&n.set("is_visible","true"),r.siteId&&n.set("site",r.siteId);const c=await e(`/api/storefront/blog-posts/?${n.toString()}`,{token:a});return Array.isArray(c)?c:c.results??[]},listFieldUsage:async(a,r)=>{const n=await e(`/api/storefront/field-usage/?site=${encodeURIComponent(r)}`,{token:a});return Array.isArray(n?.entries)?n.entries:[]},listCategories:async(a,r={})=>{const n=new URLSearchParams({no_page:"true"});r.visibleOnly&&n.set("is_visible","true"),r.siteId&&n.set("site",r.siteId);const c=await e(`/api/storefront/categories/?${n.toString()}`,{token:a});return[...Array.isArray(c)?c:c.results??[]].sort((S,E)=>S.sort_order-E.sort_order||S.name.localeCompare(E.name))},listForms:async(a,r={})=>{const n=new URLSearchParams({no_page:"true"});r.siteId&&n.set("site",r.siteId);const c=await e(`/api/storefront/forms/?${n.toString()}`,{token:a});return[...Array.isArray(c)?c:c.results??[]].sort((S,E)=>S.title.localeCompare(E.title))},listWheelSummaries:async(a,r={})=>{const n=new URLSearchParams;r.siteId&&n.set("site",r.siteId);const c=n.toString(),y=await e(`/api/storefront/wheel-curations/summaries/${c?`?${c}`:""}`,{token:a});return g(y)},listProducts:async(a,r={})=>{const n=new URLSearchParams;r.kinds?.length&&n.set("kind",r.kinds.join(",")),r.siteId&&n.set("site",r.siteId);const c=n.toString(),y=await e(`/api/storefront/products/${c?`?${c}`:""}`,{token:a});return g(y)},getWheelDetail:async(a,r,n={})=>{const c=new URLSearchParams({slug:r});return n.siteId&&c.set("site",n.siteId),L(g(await e(`/api/storefront/wheel-curations/detail/?${c.toString()}`,{token:a})))},updateHeaderSettings:(a,r,n)=>e(o(n),{method:"PATCH",body:JSON.stringify(a),token:r}),getSite:(a,r)=>e(R(a),{token:r}),listSites:async a=>{const r=await e("/api/storefront/sites/?no_page=true",{token:a});return Array.isArray(r)?r:r.results??[]},listSiteCurrencies:async(a,r)=>{const n=await e(Wt(a),{token:r});return Array.isArray(n)?n:[]},publishSite:(a,r)=>e(`${R(a)}publish/`,{method:"POST",token:r}),getSiteLiveState:(a,r)=>e(`${R(a)}live-state/`,{token:r}),updateSite:(a,r,n)=>e(R(a),{method:"PATCH",body:JSON.stringify(r),token:n}),getThemeSettings:(a,r)=>e(l(r),{token:a}),updateThemeSettings:(a,r,n)=>e(l(n),{method:"PATCH",body:JSON.stringify(a),token:r}),getChatSettings:(a,r)=>e(p(r),{token:a}),updateChatSettings:(a,r,n)=>e(p(n),{method:"PATCH",body:JSON.stringify(a),token:r}),getSocialSettings:(a,r)=>e(w(r),{token:a}),updateSocialSettings:(a,r,n)=>e(w(n),{method:"PATCH",body:JSON.stringify(a),token:r}),uploadHeaderLogo:(a,r,n)=>{const c=new FormData;return c.append("logo",a),e(o(n),{method:"PATCH",body:c,token:r})},clearHeaderLogo:(a,r)=>e(o(r),{method:"PATCH",body:JSON.stringify({logo:null}),token:a}),setHeaderLogoFromAsset:(a,r,n)=>e(o(n),{method:"PATCH",body:JSON.stringify({logo_asset_id:a}),token:r}),uploadMedia:async(a,r)=>{const n=new FormData;return n.append("file",a),e(Kt(),{method:"POST",body:n,token:r})},listMedia:async(a,r)=>{const n=new URLSearchParams({no_page:"true"});r&&n.set("kind",r);const c=await e(`/api/storefront/media-assets/?${n.toString()}`,{token:a});return Array.isArray(c)?c:c.results??[]}}}const fe=Xt({siteDrafts:!0});export{ut as API_URL,Gt as AmbiguousPageSlugError,m as ApiError,ht as BROWSER_READ_TIMEOUT_MS,pt as EFFICIENT_CLIENT_CLOSED_MESSAGE,zt as MediaUploadDestinationError,Mt as PREVIEW_PARAM,we as PRODUCT_API_BASE,yt as SERVER_READ_TIMEOUT_MS,U as SERVER_UNREACHABLE_MESSAGE,I as STATUS_NETWORK_ERROR,he as adminFetch,Ot as api,i as apiFetch,C as appendSiteQuery,ye as bookings,Xt as createStorefrontAdmin,D as defaultRequestDeadline,Kt as editorMediaUploadPath,mt as editorPortalAudience,St as editorRequestLanguage,le as fitment,pe as products,ft as readDeadlineMs,Dt as resolveClientIp,g as resolveMediaUrls,Ft as resolvePreviewToken,Z as resolveSiteHost,Lt as resolveSiteHostSource,xt as resolveSiteSlug,oe as setEditorLanguage,ne as setEditorPortalAudience,fe as storefrontAdmin};
1
+ import{PREVIEW_TOKEN_HEADER as tt,SITE_HOST_HEADER as et,SITE_SLUG_HEADER as rt}from"../site-headers.js";import{PRODUCT_API_BASE as at,PRODUCT_BACKEND_URL as k}from"./origins.js";import{backendHopHeaders as st,clientIpFromForwardedFor as nt,FORWARDED_FOR_HEADER as ot,hopCachingOf as it}from"../forwarded-for.js";import ct from"efficient-web-builder/format/lib/document/media-manifest.json";import{auth as P}from"../auth.js";import{efficientClientOpen as dt}from"efficient-easel/screen/lib/session";import{listableWheelSummaries as J}from"../wheels/listable-wheels.js";import{dropRenderlessFinishes as L}from"../wheels/renderable-finishes.js";const ut=process.env.NEXT_PUBLIC_API_URL??"http://localhost:8000";class m extends Error{status;data;constructor(e,s,o){super(s),this.status=e,this.data=o}}const U="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.",lt=new Set([502,503,504]),I=0,pt="This editor runs on its host's own backend, which does not serve this request.",yt=5e3,ht=15e3,ft=()=>typeof window>"u"?yt:ht;function D(t){const e=(t.method??"GET").toUpperCase();if(!(t.body!=null||e!=="GET"&&e!=="HEAD")&&!(t.audience!=null&&t.audience!=="shop")&&typeof AbortSignal?.timeout=="function")return AbortSignal.timeout(ft())}const x=t=>t instanceof Error&&t.name==="TimeoutError",H=(t,e)=>lt.has(t)?U:e,gt=["admin","venue"];let M="admin";function ne(t){M=gt.includes(t)?t:"admin"}function mt(){return M}const wt=/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$/;let F=null;function oe(t){F=t&&wt.test(t)?t:null}function St(){return F}function Pt(t){if(typeof window>"u"||!t.startsWith("/api/v1/"))return t;const e=j();return!e||/[?&]site=/.test(t)?t:C(t,`site=${encodeURIComponent(e)}`)}async function i(t,e={}){const{token:s,baseUrl:o,headers:l,audience:p,...w}=e;if(typeof window<"u"&&!dt())throw new m(I,pt,null);if(typeof window>"u"&&o===void 0)throw new Error(`apiFetch(${JSON.stringify(t)}) 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.`);const a=typeof FormData<"u"&&w.body instanceof FormData;let r;try{r=await fetch(`${o??ut}${Pt(t)}`,{...w,headers:{...a?{}:{"Content-Type":"application/json"},...s?{Authorization:`Bearer ${s}`}:{},...p===null?{}:{"X-Portal-Audience":p??"shop"},...l},signal:w.signal??D({...w,audience:p})})}catch(y){throw y instanceof TypeError||x(y)?new m(I,U,null):y}let n;try{n=await r.text()}catch(y){throw x(y)?new m(I,U,null):y}let c=null;if(n)try{c=JSON.parse(n)}catch{throw new m(r.status,r.ok?"Expected JSON but received a non-JSON response":H(r.status,r.statusText),n)}if(!r.ok){const y=(c&&typeof c=="object"&&"detail"in c&&typeof c.detail=="string"?c.detail:null)??H(r.status,r.statusText);throw new m(r.status,y,c)}return c}let O=null;async function B(){return O||(O=bt().finally(()=>{O=null}),O)}async function bt(){const t=P.takeLegacyRefresh(),e=await Ot.refresh(t??void 0);return P.setTokens(e.access),e.access}async function q(){return P.getAccess()??B()}async function h(t,e={}){let s;try{s=await q()}catch{throw P.clear(),new m(401,"Not signed in",null)}try{return await i(t,{...e,token:s})}catch(o){if(!(o instanceof m)||o.status!==401)throw o;try{const l=await B();return await i(t,{...e,token:l})}catch{throw P.clear(),o}}}async function G(t,e={}){if(P.getAccess())try{return{data:await h(t,e),asShopper:!0}}catch(s){if(!(s instanceof m)||s.status!==401)throw s}return{data:await i(t,e),asShopper:!1}}async function W(){const t=await h("/api/auth/me/");if(t.portal!=="shop")throw P.clear(),new m(403,"This session is not valid for this shop.",null);return t}const Ot={login:(t,e)=>i("/api/auth/login/",{method:"POST",body:JSON.stringify({email:t,password:e,portal:"shop"}),credentials:"include"}),refresh:t=>i("/api/auth/refresh/",{method:"POST",body:JSON.stringify(t?{refresh:t,portal:"shop"}:{portal:"shop"}),credentials:"include"}),logout:async()=>{P.clear();try{await i("/api/auth/logout/",{method:"POST",body:JSON.stringify({portal:"shop"}),credentials:"include"})}catch{}},restoreSession:async()=>{const t=await q();return await W(),t},me:W,updateMe:t=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify(t)}),changePassword:(t,e)=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify({password:e,old_password:t})}),changeEmail:(t,e)=>h("/api/shop-portal/change-email/",{method:"POST",body:JSON.stringify({new_email:t,current_password:e})}),myProfile:()=>h("/api/shop-portal/profile/"),updateMyProfile:t=>h("/api/shop-portal/profile/",{method:"PATCH",body:JSON.stringify(t)}),myAddresses:()=>h("/api/shop-portal/delivery-locations/"),createAddress:t=>h("/api/shop-portal/delivery-locations/",{method:"POST",body:JSON.stringify(t)}),updateAddress:(t,e)=>h(`/api/shop-portal/delivery-locations/${t}/`,{method:"PATCH",body:JSON.stringify(e)}),deleteAddress:t=>h(`/api/shop-portal/delivery-locations/${t}/`,{method:"DELETE"}),passwordResetRequest:t=>i("/api/auth/password-reset/",{method:"POST",body:JSON.stringify({email:t})}),passwordResetConfirm:(t,e,s)=>i("/api/auth/password-reset/confirm/",{method:"POST",body:JSON.stringify({uid:t,token:e,new_password:s})}),brands:()=>h("/api/products/brands/"),myOrders:()=>h("/api/shop-portal/orders/").then(t=>t.results),myOrder:t=>h(`/api/shop-portal/orders/${t}/`),cancelOrder:t=>h(`/api/shop-portal/orders/${t}/cancel/`,{method:"POST"}),myReturns:t=>h(`/api/shop-portal/returns/${t?`?order=${encodeURIComponent(t)}`:""}`).then(e=>e.results),createReturn:t=>h("/api/shop-portal/returns/",{method:"POST",body:JSON.stringify(t)}),withdrawReturn:t=>h(`/api/shop-portal/returns/${t}/cancel/`,{method:"POST"}),uploadReturnPhoto:(t,e)=>{const s=new FormData;return s.append("claim_item",t),s.append("file",e),s.append("media_type",e.type.startsWith("video/")?"video":"image"),h("/api/shop-portal/return-media/",{method:"POST",body:s})}};import{media as At,absolutizeApiUrl as N}from"efficient-web-builder/render/lib/media";import{analyzeLogoSvg as Tt,isSvgUrl as Rt}from"efficient-web-builder/format/lib/logo/reverse-svg";import{getEditorSiteId as Et}from"efficient-web-builder/render/lib/editor-site";import{shopRouteBase as Ct,webRuntimeSiteSlug as j}from"efficient-web-builder/format/lib/web-runtime";function g(t){if(typeof t=="string")return t.startsWith("/media/")?At(t):t;if(Array.isArray(t))return t.map(g);if(t&&typeof t=="object"){const e={};for(const[s,o]of Object.entries(t))e[s]=s==="captions"&&o&&typeof o=="object"&&!Array.isArray(o)?Object.fromEntries(Object.entries(o).map(([l,p])=>[g(l),p])):g(o);return e}return t}import{PRODUCT_API_BASE as we}from"./origins.js";const z=typeof window>"u"&&k!=="",$t=z?k:at,_t=Ct,b=()=>({baseUrl:_t(),audience:null});function d(t,e){const s=e?`?process=${encodeURIComponent(e)}`:"";return`/api/v1${t}${s}`}const Ut=100,K=50;function V(t,e,s){const o=new URLSearchParams;for(const[l,p]of Object.entries(e))p!=null&&p!==""&&o.set(l,String(p));return o.set("pageSize",String(Ut)),s&&o.set("cursor",s),`/api/v1${t}?${o.toString()}`}function It(t,e){return V("/wheels",{process:t},e)}function Nt(t,e,s){return V("/products",{kind:t.join(","),make:e?.make,model:e?.model,year:e?.year,modification:e?.modification},s)}function vt(t){if(!t)return null;try{return new URL(t,"http://cursor.invalid").searchParams.get("cursor")}catch{return null}}async function X(t,e,s=()=>!1){const o=[];let l=null;try{for(let p=0;p<K;p++){const w=await i(await e(l),await u());if(o.push(...w.results),l=vt(w.next),!l)break}l&&console.warn(`[${t}] stopped at ${K} pages (${o.length} rows); catalog may be truncated`)}catch(p){if(s(p))throw p;console.warn(`[${t}] product API unavailable, returning []`,p)}return o}const kt=t=>t instanceof m&&t.status===400;function Jt(t){return t.flatMap(e=>e.kind==="alloy-wheel"?J([e]):[e])}async function Z(){return(await Lt()).host}async function Lt(){try{const{headers:t}=await import("next/headers"),e=await t(),s=p=>p?.split(",")[0]?.split(":")[0]?.trim().toLowerCase()||null,o=s(e.get(et)??e.get("x-forwarded-host")??e.get("host")),l=s(e.get("host"));return{host:o,matchesRequestHost:o!==null&&o===l}}catch{return{host:null,matchesRequestHost:!1}}}async function Dt(){try{const{headers:t}=await import("next/headers");return nt((await t()).get(ot))}catch{return null}}async function xt(){try{const{headers:t}=await import("next/headers");return(await t()).get(rt)||null}catch{return null}}async function Ht(){const t=await xt();if(t)return`site=${encodeURIComponent(t)}`;const e=await Z();return e?`host=${encodeURIComponent(e)}`:""}async function f(t){if(typeof window<"u"){const e=j();return e?C(t,`site=${encodeURIComponent(e)}`):t}return C(t,await Ht())}function C(t,e){return e?`${t}${t.includes("?")?"&":"?"}${e}`:t}const Mt="preview";async function Ft(){if(typeof window<"u")return null;try{const{headers:t}=await import("next/headers");return(await t()).get(tt)}catch{return null}}async function Bt(){try{const{headers:t}=await import("next/headers");return(await t()).get("user-agent")}catch{return null}}async function v(t,e){const s=await Ft();if(s===null)return[await f(t),await u(e)];const o=C(await f(t),`${Mt}=${encodeURIComponent(s)}`),{next:l,cache:p,...w}=e??{},a=await u({...w,cache:"no-store"}),r=await Bt();return r&&(a.headers={...a.headers,"user-agent":r}),[o,a]}async function qt(t){if(!z)return;const[e,s]=await Promise.all([Z(),Dt()]),o=st(e,s,t);return Object.keys(o).length>0?o:void 0}async function u(t){const e=await qt(it(t)),s={baseUrl:$t,...t};return e&&(s.headers={...e,...t?.headers}),s}const A=typeof window>"u";function T(t,e){const s=new URLSearchParams;for(const[l,p]of Object.entries(e))p!==void 0&&p!==""&&s.set(l,String(p));const o=s.toString();return`/api/v1/fitment${t}${o?`?${o}`:""}`}const le={listMakes:async t=>{if(A){const{fitmentData:s}=await import("./fitment-data.js");return s.makes(t)}return(await i(T("/makes",{region:t}),b())).results},listModels:async(t,e)=>{if(A){const{fitmentData:o}=await import("./fitment-data.js");return o.models(t,e)}return(await i(T("/models",{make:t,region:e}),b())).results},listYears:async(t,e,s)=>{if(A){const{fitmentData:l}=await import("./fitment-data.js");return l.years(t,e,s)}return(await i(T("/years",{make:t,model:e,region:s}),b())).results},listModifications:async(t,e,s,o)=>{if(A){const{fitmentData:p}=await import("./fitment-data.js");return p.modifications(t,e,s,o)}return(await i(T("/modifications",{make:t,model:e,year:s,region:o}),b())).results},getStockFitment:async(t,e,s,o,l)=>{if(A){const{fitmentData:p}=await import("./fitment-data.js");return p.stockFitment(t,e,s,o,l)}return i(T("/stock-fitment",{make:t,model:e,year:s,modification:o,region:l}),b())}},pe={listWheels:async t=>{const e=await X("products.listWheels",async s=>await f(It(t,s)));return J(g(e))},listCatalog:async(t,e)=>{if(t.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` — so the call would silently return the wheel catalog instead of nothing.");const s=await X("products.listCatalog",async o=>await f(Nt(t,e,o)),kt);return Jt(g(s))},getWheel:async t=>L(g(await i(await f(d(`/wheels/${t}`)),await u()))),getTyre:async t=>g(await i(await f(d(`/tyres/${t}`)),await u())),listBundles:async()=>{try{return await i(await f(d("/bundles")),await u())}catch{return[]}},getBundle:async t=>i(await f(d(`/bundles/${t}`)),await u()),listGalleryBuilds:async(t={})=>{const{process:e=null,wheelSlug:s=null}=t;if(typeof window>"u"){const{listGalleryBuilds:o}=await import("./gallery-builds-data.js");return g(o(e,s))}try{const o=new URLSearchParams;e&&o.set("process",e),s&&o.set("wheelSlug",s);const l=o.toString(),p=await i(`/api/v1/gallery-builds${l?`?${l}`:""}`,b());return g(p.results)}catch(o){return console.warn("[products.listGalleryBuilds] product API unavailable, returning []",o),[]}},getSite:async()=>i(await f(d("/site")),await u()),getSiteBySlug:async t=>i(`${d("/site")}?${new URLSearchParams({site:t})}`,typeof window>"u"?await u():void 0),listPages:async()=>g(await i(await f(d("/pages")),await u())),listPopups:async()=>i(await f(d("/popups")),await u()),listProductTemplates:async()=>{try{return await i(await f(d("/product-templates")),await u())}catch(t){return console.warn("[products.listProductTemplates] unavailable, returning []",t),[]}},listDynamicPages:async t=>{const e=t?`?recordType=${encodeURIComponent(t)}`:"";try{return await i(await f(`${d("/dynamic-pages")}${e}`),await u())}catch(s){if(s instanceof m&&s.status===404)return[];throw s}},getRecord:async(t,e)=>{try{return await i(await f(d(`/records/${encodeURIComponent(t)}/${encodeURIComponent(e)}`)),await u())}catch(s){if(s instanceof m&&s.status===404)return null;throw s}},listRecordKeys:async t=>{try{const e=await i(await f(d(`/records/${encodeURIComponent(t)}`)),await u({cache:"no-store"}));return Array.isArray(e?.keys)?e.keys.filter(s=>typeof s=="string"&&s!==""):[]}catch(e){if(e instanceof m&&e.status===404)return[];throw e}},listProductTypeChoices:async()=>{try{return await i(await f(d("/product-type-choices")),await u())}catch(t){return console.warn("[products.listProductTypeChoices] unavailable, returning []",t),[]}},listFieldUsage:async()=>{try{return await i(await f(d("/field-usage")),await u())}catch(t){return console.warn("[products.listFieldUsage] unavailable, returning []",t),[]}},getPage:async(t,e={})=>{const s=e.record?`?record=${encodeURIComponent(e.record)}`:"",[o,l]=await v(d(`/pages/${t}`)+s,e.revalidate!==void 0?{next:{revalidate:e.revalidate}}:void 0);return g(await i(o,l))},listBlogPosts:async(t={})=>{const e=t.category?`?category=${encodeURIComponent(t.category)}`:"";try{return(await i(d("/blog-posts")+e,await u())).map(o=>({...o,coverImage:N(o.coverImage)??""}))}catch(s){return console.warn("[products.listBlogPosts] blog API unavailable, returning []",s),[]}},getBlogPost:async t=>{const e=await i(d(`/blog-posts/${t}`),await u());return{...e,coverImage:N(e.coverImage)??""}},createOrder:async t=>i(d("/orders"),await u({method:"POST",body:JSON.stringify(t)})),createOrderAuthed:async t=>h(d("/orders"),await u({method:"POST",body:JSON.stringify(t)})),lookupOrder:async t=>i(d("/orders/lookup"),await u({method:"POST",body:JSON.stringify(t)})),createPaymentIntent:async t=>i(d("/payments/intent"),await u({method:"POST",body:JSON.stringify(t)})),createPaypalOrder:async t=>i(d("/payments/paypal/order"),await u({method:"POST",body:JSON.stringify(t)})),capturePaypalOrder:async t=>i(d("/payments/paypal/capture"),await u({method:"POST",body:JSON.stringify(t)})),createAfterpayCheckout:async t=>i(d("/payments/afterpay/checkout"),await u({method:"POST",body:JSON.stringify(t)})),captureAfterpayPayment:async t=>i(d("/payments/afterpay/capture"),await u({method:"POST",body:JSON.stringify(t)})),chargeSquare:async t=>i(d("/payments/square/charge"),await u({method:"POST",body:JSON.stringify(t)})),createGocardlessBillingRequest:async t=>i(d("/payments/gocardless/billing-request"),await u({method:"POST",body:JSON.stringify(t)})),completeGocardlessPayment:async t=>i(d("/payments/gocardless/complete"),await u({method:"POST",body:JSON.stringify(t)})),createZipCheckout:async t=>i(d("/payments/zip/checkout"),await u({method:"POST",body:JSON.stringify(t)})),captureZipPayment:async t=>i(d("/payments/zip/capture"),await u({method:"POST",body:JSON.stringify(t)})),createKlarnaCheckout:async t=>i(d("/payments/klarna/checkout"),await u({method:"POST",body:JSON.stringify(t)})),captureKlarnaPayment:async t=>i(d("/payments/klarna/capture"),await u({method:"POST",body:JSON.stringify(t)})),createStockAlert:async t=>i(d("/stock-alerts"),await u({method:"POST",body:JSON.stringify(t)})),createPreOrderIntent:async t=>i(d("/pre-order-intents"),await u({method:"POST",body:JSON.stringify(t)})),createNewsletterSubscription:async t=>i(d("/newsletter-subscriptions"),await u({method:"POST",body:JSON.stringify(t)})),unsubscribeNewsletter:async t=>i(d("/newsletter-unsubscribe"),await u({method:"POST",body:JSON.stringify(t)})),captureCart:async t=>i(d("/carts"),await u({method:"POST",body:JSON.stringify(t)})),restoreCart:async t=>i(d("/carts/restore"),await u({method:"POST",body:JSON.stringify(t)})),unsubscribeCartReminders:async t=>i(d("/carts/unsubscribe"),await u({method:"POST",body:JSON.stringify(t)})),listReviews:async(t={})=>{const e=new URLSearchParams;t.limit&&e.set("limit",String(t.limit)),t.designCode&&e.set("designCode",t.designCode);const s=d("/reviews"),o=e.toString();try{return await i(await f(o?`${s}?${o}`:s),await u())}catch(l){return console.warn("[products.listReviews] product API unavailable, returning []",l),[]}},submitReview:async t=>i(d("/reviews"),await u({method:"POST",body:JSON.stringify(t)})),getForm:async t=>i(d(`/forms/${encodeURIComponent(t)}`),await u()),submitForm:async(t,e)=>i(d(`/forms/${encodeURIComponent(t)}/submissions`),await u({method:"POST",body:JSON.stringify(e)})),listShippingMethods:async()=>{try{return await i(d("/shipping-methods"),await u())}catch(t){return console.warn("[products.listShippingMethods] product API unavailable, returning []",t),[]}},listCountrySubdivisions:async t=>{try{return await i(d(`/countries/${encodeURIComponent(t)}/subdivisions`),await u())}catch(e){return console.warn("[products.listCountrySubdivisions] unavailable, returning []",e),[]}},quoteCart:async t=>{const e=d("/cart/quote"),s=await u({method:"POST",body:JSON.stringify(t)});return t.couponCode?(await G(e,s)).data:i(e,s)},validateCoupon:async t=>{const{data:e,asShopper:s}=await G(d("/coupons/validate"),await u({method:"POST",body:JSON.stringify(t)}));return{...e,askedAsShopper:s}},getHeaderSettings:async()=>{const t=D({method:"GET"}),e=await i(...await v(d("/header-settings"),{signal:t})),s=N(e.logoUrl);let o=null,l=null;if(s&&Rt(s)){const p=await Tt(s,t);p&&(o=p.reversed,l=p.inkIsDark)}return{...e,logoUrl:s,logoReversed:o,logoInkIsDark:l}},getThemeSettings:async()=>i(...await v(d("/theme-settings"))),getChatSettings:async()=>i(await f(d("/chat-settings")),await u())},ye={listServices:async()=>{try{return await i(d("/bookings/services"),await u())}catch(t){return console.warn("[bookings.listServices] API unavailable, returning []",t),{results:[],currency:"USD"}}},getAvailability:async(t,e)=>i(d(`/bookings/availability?service=${encodeURIComponent(t)}&date=${e}`),await u()),create:async t=>i(d("/bookings"),await u({method:"POST",body:JSON.stringify(t)})),get:async t=>i(d(`/bookings/manage/${encodeURIComponent(t)}`),await u()),cancel:async t=>i(d(`/bookings/manage/${encodeURIComponent(t)}/cancel`),await u({method:"POST"})),createPaymentIntent:async t=>i(d("/bookings/payments/intent"),await u({method:"POST",body:JSON.stringify({manageToken:t})}))};class Gt extends Error{slug;count;constructor(e,s){super(`Slug "${e}" exists on ${s} websites; a site is required to pick one.`),this.slug=e,this.count=s,this.name="AmbiguousPageSlugError"}}const $=(t,e,s)=>{const o=new URLSearchParams({...e?{site:e}:{},...s?{draft:"1"}:{}}).toString();return`/api/storefront/${t}/${o?`?${o}`:""}`},R=t=>`/api/storefront/sites/${encodeURIComponent(t)}/`,Wt=t=>`${R(t)}currencies/`,jt="/api/storefront/media/ingest/";class zt 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 Kt(){const t=Et();if(!t)throw new zt;return`${jt}?${new URLSearchParams({site:t})}`}const Vt="X-Puck-Media-Manifest",Y=ct.contentHash,_={"X-Media-Manifest":Y,[Vt]:Y},he=Q({});function Q(t){return(e,s={})=>{const o=St(),l=t.headers||o?{...o?{"Accept-Language":o}:{},...t.headers,...s.headers}:void 0;return i(e,{...s,...t.baseUrl!==void 0?{baseUrl:t.baseUrl}:{},...l?{headers:l}:{},audience:t.audience??mt()})}}function Xt(t={}){const e=Q(t),s=t.siteDrafts===!0,o=a=>$("header-settings",a,s),l=a=>$("theme-settings",a,s),p=a=>$("chat-settings",a,s),w=a=>$("social-settings",a,s);return{findPageBySlug:async(a,r,n)=>{const c=new URLSearchParams({slug:a});n&&c.set("site",n);const y=await e(`/api/storefront/pages/?${c.toString()}`,{token:r}),S=Array.isArray(y)?y:y.results??[];if(!n&&S.length>1)throw new Gt(a,S.length);return S[0]??null},getPageById:(a,r)=>e(`/api/storefront/pages/${a}/`,{token:r}),saveLayout:(a,r,n,c,y)=>e(`/api/storefront/pages/${a}/`,{method:"PATCH",body:JSON.stringify({layout:r,expected_updated_at:c,...y?{client_id:y}:{}}),token:n}),duplicatePage:(a,r,n)=>e(`/api/storefront/pages/${a}/duplicate/`,{method:"POST",body:JSON.stringify({title:r.title,slug:r.slug}),token:n}),geocode:(a,r,n)=>e(`/api/storefront/geocode/?${new URLSearchParams(n?{q:a,country:n}:{q:a})}`,{token:r}),listBlockSources:a=>e("/api/storefront/block-sources/",{token:a}),listRecordTypes:a=>e("/api/storefront/record-types/",{token:a}),createPagePreviewLink:(a,r)=>e(`/api/storefront/pages/${a}/preview-link/`,{method:"POST",token:r}),claimPageEditLock:(a,r,n,c=!1)=>e(`/api/storefront/pages/${a}/edit-lock/`,{method:"POST",body:JSON.stringify({client_id:n,takeover:c}),token:r}),releasePageEditLock:(a,r)=>e(`/api/storefront/pages/${a}/edit-lock/`,{method:"DELETE",token:r}),createTemplate:(a,r,n)=>e("/api/storefront/page-templates/",{method:"POST",body:JSON.stringify({name:a,layout:r}),headers:_,token:n}),getTemplate:(a,r)=>e(`/api/storefront/page-templates/${a}/`,{token:r}),saveTemplateLayout:(a,r,n)=>e(`/api/storefront/page-templates/${a}/`,{method:"PATCH",body:JSON.stringify({layout:r}),headers:_,token:n}),listTemplatePages:async(a,r)=>{const n=await e(`/api/storefront/template-pages/?template=${encodeURIComponent(a)}`,{token:r});return Array.isArray(n)?n:n.results??[]},findTemplatePageBySlug:async(a,r,n)=>{const c=await e(`/api/storefront/template-pages/?template=${encodeURIComponent(a)}&slug=${encodeURIComponent(r)}`,{token:n});return(Array.isArray(c)?c:c.results??[])[0]??null},createTemplatePage:(a,r,n)=>e("/api/storefront/template-pages/",{method:"POST",body:JSON.stringify({template:a,...r}),headers:_,token:n}),saveTemplatePageLayout:(a,r,n)=>e(`/api/storefront/template-pages/${a}/`,{method:"PATCH",body:JSON.stringify({layout:r}),headers:_,token:n}),deleteTemplatePage:(a,r,n)=>e(`/api/storefront/template-pages/${a}/`,{method:"DELETE",token:r,...n?.keepalive?{keepalive:!0}:{}}),listPages:async(a,r)=>{const n=new URLSearchParams({no_page:"true"});r&&n.set("site",r);const c=await e(`/api/storefront/pages/?${n.toString()}`,{token:a});return Array.isArray(c)?c:c.results??[]},createPage:(a,r,n,c)=>e("/api/storefront/pages/",{method:"POST",body:JSON.stringify({title:a,slug:r,layout:n}),token:c}),deletePage:(a,r)=>e(`/api/storefront/pages/${a}/`,{method:"DELETE",token:r}),getHeaderSettings:(a,r)=>e(o(r),{token:a}),listMenus:async(a,r)=>{const n=new URLSearchParams({no_page:"true"});r&&n.set("site",r);const c=await e(`/api/storefront/menus/?${n}`,{token:a});return Array.isArray(c)?c:c.results??[]},listBlogPosts:async(a,r={})=>{const n=new URLSearchParams({no_page:"true"});r.visibleOnly&&n.set("is_visible","true"),r.siteId&&n.set("site",r.siteId);const c=await e(`/api/storefront/blog-posts/?${n.toString()}`,{token:a});return Array.isArray(c)?c:c.results??[]},listFieldUsage:async(a,r)=>{const n=await e(`/api/storefront/field-usage/?site=${encodeURIComponent(r)}`,{token:a});return Array.isArray(n?.entries)?n.entries:[]},listCategories:async(a,r={})=>{const n=new URLSearchParams({no_page:"true"});r.visibleOnly&&n.set("is_visible","true"),r.siteId&&n.set("site",r.siteId);const c=await e(`/api/storefront/categories/?${n.toString()}`,{token:a});return[...Array.isArray(c)?c:c.results??[]].sort((S,E)=>S.sort_order-E.sort_order||S.name.localeCompare(E.name))},listForms:async(a,r={})=>{const n=new URLSearchParams({no_page:"true"});r.siteId&&n.set("site",r.siteId);const c=await e(`/api/storefront/forms/?${n.toString()}`,{token:a});return[...Array.isArray(c)?c:c.results??[]].sort((S,E)=>S.title.localeCompare(E.title))},listWheelSummaries:async(a,r={})=>{const n=new URLSearchParams;r.siteId&&n.set("site",r.siteId);const c=n.toString(),y=await e(`/api/storefront/wheel-curations/summaries/${c?`?${c}`:""}`,{token:a});return g(y)},listProducts:async(a,r={})=>{const n=new URLSearchParams;r.kinds?.length&&n.set("kind",r.kinds.join(",")),r.siteId&&n.set("site",r.siteId);const c=n.toString(),y=await e(`/api/storefront/products/${c?`?${c}`:""}`,{token:a});return g(y)},getWheelDetail:async(a,r,n={})=>{const c=new URLSearchParams({slug:r});return n.siteId&&c.set("site",n.siteId),L(g(await e(`/api/storefront/wheel-curations/detail/?${c.toString()}`,{token:a})))},updateHeaderSettings:(a,r,n)=>e(o(n),{method:"PATCH",body:JSON.stringify(a),token:r}),getSite:(a,r)=>e(R(a),{token:r}),listSites:async a=>{const r=await e("/api/storefront/sites/?no_page=true",{token:a});return Array.isArray(r)?r:r.results??[]},listSiteCurrencies:async(a,r)=>{const n=await e(Wt(a),{token:r});return Array.isArray(n)?n:[]},publishSite:(a,r)=>e(`${R(a)}publish/`,{method:"POST",token:r}),getSiteLiveState:(a,r)=>e(`${R(a)}live-state/`,{token:r}),updateSite:(a,r,n)=>e(R(a),{method:"PATCH",body:JSON.stringify(r),token:n}),getThemeSettings:(a,r)=>e(l(r),{token:a}),updateThemeSettings:(a,r,n)=>e(l(n),{method:"PATCH",body:JSON.stringify(a),token:r}),getChatSettings:(a,r)=>e(p(r),{token:a}),updateChatSettings:(a,r,n)=>e(p(n),{method:"PATCH",body:JSON.stringify(a),token:r}),getSocialSettings:(a,r)=>e(w(r),{token:a}),updateSocialSettings:(a,r,n)=>e(w(n),{method:"PATCH",body:JSON.stringify(a),token:r}),uploadHeaderLogo:(a,r,n)=>{const c=new FormData;return c.append("logo",a),e(o(n),{method:"PATCH",body:c,token:r})},clearHeaderLogo:(a,r)=>e(o(r),{method:"PATCH",body:JSON.stringify({logo:null}),token:a}),setHeaderLogoFromAsset:(a,r,n)=>e(o(n),{method:"PATCH",body:JSON.stringify({logo_asset_id:a}),token:r}),uploadMedia:async(a,r)=>{const n=new FormData;return n.append("file",a),e(Kt(),{method:"POST",body:n,token:r})},listMedia:async(a,r)=>{const n=new URLSearchParams({no_page:"true"});r&&n.set("kind",r);const c=await e(`/api/storefront/media-assets/?${n.toString()}`,{token:a});return Array.isArray(c)?c:c.results??[]}}}const fe=Xt({siteDrafts:!0});export{ut as API_URL,Gt as AmbiguousPageSlugError,m as ApiError,ht as BROWSER_READ_TIMEOUT_MS,pt as EFFICIENT_CLIENT_CLOSED_MESSAGE,zt as MediaUploadDestinationError,Mt as PREVIEW_PARAM,we as PRODUCT_API_BASE,yt as SERVER_READ_TIMEOUT_MS,U as SERVER_UNREACHABLE_MESSAGE,I as STATUS_NETWORK_ERROR,he as adminFetch,Ot as api,i as apiFetch,C as appendSiteQuery,ye as bookings,Xt as createStorefrontAdmin,D as defaultRequestDeadline,Kt as editorMediaUploadPath,mt as editorPortalAudience,St as editorRequestLanguage,le as fitment,pe as products,ft as readDeadlineMs,Dt as resolveClientIp,g as resolveMediaUrls,Ft as resolvePreviewToken,Z as resolveSiteHost,Lt as resolveSiteHostSource,xt as resolveSiteSlug,oe as setEditorLanguage,ne as setEditorPortalAudience,fe as storefrontAdmin};
@@ -1 +1 @@
1
- import{FONT_ROLES as f}from"efficient-web-builder/format/lib/fonts";import{partStyleDeclarations as l}from"efficient-web-builder/render/lib/puck/part-styles";const a=["step","name","value","note"],u={step:"Step",name:"Name",value:"Value",note:"Note"},r={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},s={step:{font:"--bk-step-font",size:"--bk-step-size"},name:{font:"--bk-name-font",size:"--bk-name-size"},value:{font:"--bk-value-font",size:"--bk-value-size"},note:{font:"--bk-note-font",size:"--bk-note-size"}};function p(e){return typeof e=="string"&&f.includes(e)?e:null}const c={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function K(e){const n={};for(const o of a){const i=p(e[r[o]]);if(!i)continue;const t=l({role:i},c);t.fontFamily&&(n[s[o].font]=t.fontFamily),t.fontSize&&(n[s[o].size]=t.fontSize)}return n}export{r as BOOKING_KIND_PROP,s as BOOKING_KIND_VARS,a as BOOKING_TEXT_KINDS,u as BOOKING_TEXT_KIND_LABELS,p as bookingKindRole,K as bookingKindStyle};
1
+ import{FONT_ROLES as f}from"efficient-web-builder/format/lib/fonts";import{partStyleDeclarations as l}from"efficient-web-builder/render/lib/document/part-styles";const a=["step","name","value","note"],u={step:"Step",name:"Name",value:"Value",note:"Note"},r={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},s={step:{font:"--bk-step-font",size:"--bk-step-size"},name:{font:"--bk-name-font",size:"--bk-name-size"},value:{font:"--bk-value-font",size:"--bk-value-size"},note:{font:"--bk-note-font",size:"--bk-note-size"}};function p(e){return typeof e=="string"&&f.includes(e)?e:null}const c={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function K(e){const n={};for(const o of a){const i=p(e[r[o]]);if(!i)continue;const t=l({role:i},c);t.fontFamily&&(n[s[o].font]=t.fontFamily),t.fontSize&&(n[s[o].size]=t.fontSize)}return n}export{r as BOOKING_KIND_PROP,s as BOOKING_KIND_VARS,a as BOOKING_TEXT_KINDS,u as BOOKING_TEXT_KIND_LABELS,p as bookingKindRole,K as bookingKindStyle};
@@ -1 +1 @@
1
- import{HEADER_HEIGHT_PX as t}from"efficient-web-builder/render/lib/puck/header-clearance";function s(e){return typeof e=="number"&&Number.isInteger(e)&&e>=t.min&&e<=t.max?e:t.default}const i="fixed inset-x-0 bottom-0 top-[var(--sf-header-h,88px)]",n=e=>!!e&&e.startsWith("/wheels/")&&e!=="/wheels",a=(e,o)=>!e&&o?"var(--section-bg)":"var(--bg)",p=e=>e==="capitalised"?"capitalised":"uppercase",l=e=>e==="inline"?"inline":e==="top"||e==="bottom"?"top":null;export{i as UNDER_HEADER_SHEET_CLASS,a as headerSolidBackground,n as isProductPage,s as resolveHeaderHeightPx,l as resolveMenuRow,p as resolveNavTextCase};
1
+ import{HEADER_HEIGHT_PX as t}from"efficient-web-builder/render/lib/document/header-clearance";function s(e){return typeof e=="number"&&Number.isInteger(e)&&e>=t.min&&e<=t.max?e:t.default}const i="fixed inset-x-0 bottom-0 top-[var(--sf-header-h,88px)]",n=e=>!!e&&e.startsWith("/wheels/")&&e!=="/wheels",a=(e,o)=>!e&&o?"var(--section-bg)":"var(--bg)",p=e=>e==="capitalised"?"capitalised":"uppercase",l=e=>e==="inline"?"inline":e==="top"||e==="bottom"?"top":null;export{i as UNDER_HEADER_SHEET_CLASS,a as headerSolidBackground,n as isProductPage,s as resolveHeaderHeightPx,l as resolveMenuRow,p as resolveNavTextCase};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const AccountBlockMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const AccountBlockRender: BlockRender;
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const ALLOYWHEELSLISTING_PH: {
3
3
  heading: string;
4
4
  intro: string;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const AlloyWheelsListingRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import n from"../../../../../components/wheels-plp/AlloyWheelsListing.js";import{hidableText as i}from"efficient-easel/screen/lib/document/hidable";import{asPlpSortKey as r,listingHiddenFacets as o}from"../../../../wheels/plp-filters.js";import{parseCoverIndex as g}from"../../../../wheels/cover-rendering.js";import{parseCardOutline as l,parseCardIndexFormat as h}from"efficient-web-builder/format/lib/sections/product-card-style";import{phHide as a}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{AlloyWheelsListingMeta as s,ALLOYWHEELSLISTING_PH as d}from"./meta.js";const P={...s,render:e=>t(n,{titleLevel:e.titleLevel,heading:a(e.heading,d.heading,e.editor),intro:a(e.intro,d.intro,e.editor),askForCar:e.askForCar!==!1,gateHeading:i(e.gateHeading),gateIntro:i(e.gateIntro),perPage:e.perPage,columns:e.columns,defaultSort:r(e.defaultSort),coverIndex:g(e.coverIndex),cardImage:e.cardImage,spinOnHover:e.spinOnHover===!0,imageBackground:e.imageBackground,showBadge:e.showBadge!==!1,showCardPrice:e.showCardPrice,showCardFinishes:e.showCardFinishes,showCardSizes:e.showCardSizes,showCardBuy:e.showCardBuy,showCardPage:e.showCardPage,outline:l(e.outline),indexBadge:h(e.indexBadge),hiddenFacets:o(e),showPrice:e.showPrice,showInStock:e.showInStock!==!1,kinds:e.kinds,products:e.products,wheels:e.wheels,fieldUsage:e.fieldUsage,editing:e.editor?.isEditing})};export{P as AlloyWheelsListingRender};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const BundleOfferMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const BundleOfferRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as d}from"react/jsx-runtime";import r from"../../../../../components/pdp-dynamic/DynamicBundleOffer.js";import{parseSectionHeadPlacement as a}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as m}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{phHide as n}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{PRODUCTGRID_PH as c}from"../placeholders.js";import{BundleOfferMeta as f}from"./meta.js";const B={...f,render:e=>{const i=a(e.headPlacement)==="own-box",t=o=>i?void 0:o;return d(r,{num:t(n(e.num,c.num,e.editor)),title:t(n(e.title,m.sectionHeading,e.editor)),description:t(n(e.description,m.body,e.editor)),omitHead:i,columns:typeof e.columns=="number"?e.columns:3,cardImage:e.cardImage,editing:e.editor?.isEditing})}};export{B as BundleOfferRender};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CartBlockMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CartBlockRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{CartTool as e}from"../../../../../components/HeaderToolBlocks.js";import{CartBlockMeta as i}from"./meta.js";const n={...i,render:({style:r,editor:o})=>t(e,{style:r,editing:o?.isEditing})};export{n as CartBlockRender};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CatalogFilterBarMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CatalogFilterBarRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as i}from"react/jsx-runtime";import r from"../../../../../components/CatalogFilterBarSection.js";import{hidableText as t}from"efficient-easel/screen/lib/document/hidable";import{parseFilterBarLayout as s}from"../../../../sections/catalog-filter-layout.js";import{CatalogFilterBarMeta as o}from"./meta.js";const f={...o,render:e=>i(r,{show:{process:e.showProcess,size:!0,lugs:e.showLugs,finish:!0,price:e.showPrice,vehicle:e.showVehicle,count:e.showCount,sort:e.showSort},layout:s(e.layout),processOptions:e.processOptions,fieldUsage:e.fieldUsage,resultsHref:t(e.resultsHref)||void 0,resultsLabel:t(e.resultsLabel)||void 0,editing:e.editor?.isEditing})};export{f as CatalogFilterBarRender};
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CHECKOUT_CTA_PH: {
3
3
  title: string;
4
4
  secondary: string;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CheckoutCTARender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as T}from"react/jsx-runtime";import d from"../../../../../components/CheckoutCTA.js";import{hidableText as h}from"efficient-easel/screen/lib/document/hidable";import{PH as r}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{ctaHide as x,phHide as t}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{CheckoutCTAMeta as y,CHECKOUT_CTA_PH as c}from"./meta.js";const _={...y,render:({eyebrow:m,title:a,body:n,ctaText:f,ctaHref:C,secondaryText:i,secondaryHref:p,contained:s,editor:e})=>{const o=x(f,C,e);return T(d,{eyebrow:t(m,r.eyebrow,e),title:t(a,c.title,e),body:t(n,r.body,e),ctaText:o.text,ctaHref:o.href||"/checkout",secondaryText:t(i,c.secondary,e),secondaryHref:h(p)||"#",contained:s})}};export{_ as CheckoutCTARender};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CollectionCardMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CollectionCardRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as c}from"react/jsx-runtime";import u from"../../../../../components/CollectionCard.js";import{slotChildName as C}from"efficient-easel/screen/lib/document/slot-child-name";import{readHidable as g,hidableText as o}from"efficient-easel/screen/lib/document/hidable";import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{say as n}from"efficient-web-builder/format/lib/editor-words";import{CollectionCardMeta as b}from"./meta.js";const w={...b,render:({collection:i,altName:a,tag:m,href:f,editor:r})=>{const e=i&&typeof i=="object"?i:null,s=(d,p)=>g(d).hidden?"":o(d)||(r?.isEditing?n(p):void 0),l=C({type:"CollectionCard",props:{altName:a,collection:e}});return c(u,{tag:s(m,t.eyebrow),name:l||(r?.isEditing?n("Card title"):void 0),desc:e?.description||(r?.isEditing?n(t.body):void 0),href:o(f)||void 0,imageSrc:e?.image||void 0,imageLabel:e?.name||void 0})}};export{w as CollectionCardRender};
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CollectionsSlots: {
3
3
  cards: {
4
4
  type: "slot";
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CollectionsRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as m}from"react/jsx-runtime";import r from"../../../../../components/Collections.js";import{readPartStyles as a}from"efficient-web-builder/render/lib/document/part-styles";import{parseSectionHeadPlacement as c}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as o}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{phHideDefault as n}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{CollectionsMeta as l}from"./meta.js";const H={...l,render:e=>{const t=c(e.headPlacement)==="own-box",i=d=>t?void 0:d;return m(r,{eyebrow:i(n(e.eyebrow,o.sectionNumber,e.editor)),heading:i(n(e.heading,o.sectionHeading,e.editor)),omitHead:t,nodeId:typeof e.id=="string"?e.id:void 0,partStyles:a(e),editing:e.editor?.isEditing,columns:e.columns,limit:e.limit,cards:e.cards})}};export{H as CollectionsRender};
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const COMPATIBLETYRES_PH: {
3
3
  num: string;
4
4
  title: string;
@@ -0,0 +1 @@
1
+ import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";const e={num:t.sectionNumber,title:"Compatible *tyres.*",description:t.body,footnote:"Tyres shown are fitment-matched companions.",footnoteLinkText:"Enquire about tyres"},n={label:"Compatible Tyres",widthRows:"two",defaultProps:{num:"",title:"",description:"",footnote:"",footnoteLinkText:"",footnoteLinkHref:""}};export{e as COMPATIBLETYRES_PH,n as CompatibleTyresMeta};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CompatibleTyresRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import m from"../../../../../components/pdp-dynamic/DynamicRelatedProducts.js";import{hidableText as a}from"efficient-easel/screen/lib/document/hidable";import{parseSectionHeadPlacement as f}from"efficient-web-builder/format/lib/sections/section-head-placement";import{phHide as e}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{CompatibleTyresMeta as c,COMPATIBLETYRES_PH as o}from"./meta.js";const L={...c,render:t=>{const n=f(t.headPlacement)==="own-box",i=d=>n?void 0:d;return r(m,{num:i(e(t.num,o.num,t.editor)),title:i(e(t.title,o.title,t.editor)),description:i(e(t.description,o.description,t.editor)),omitHead:n,footnote:e(t.footnote,o.footnote,t.editor),footnoteLinkText:e(t.footnoteLinkText,o.footnoteLinkText,t.editor),footnoteLinkHref:a(t.footnoteLinkHref),relationship:"tyres-that-fit",cardImage:t.cardImage,editing:t.editor?.isEditing})}};export{L as CompatibleTyresRender};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CountrySwitchBlockMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const CountrySwitchBlockRender: BlockRender;
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{CountrySwitchTool as i}from"../../../../../components/HeaderToolBlocks.js";import{resolveCountryShowAs as e}from"../../../../content/country-show-as.js";import{CountrySwitchBlockMeta as n}from"./meta.js";const p={...n,render:({puck:o,showAs:r})=>t(i,{editing:o?.isEditing,showAs:e(r)})};export{p as CountrySwitchBlockRender};
1
+ import{jsx as t}from"react/jsx-runtime";import{CountrySwitchTool as i}from"../../../../../components/HeaderToolBlocks.js";import{resolveCountryShowAs as e}from"../../../../content/country-show-as.js";import{CountrySwitchBlockMeta as n}from"./meta.js";const p={...n,render:({editor:o,showAs:r})=>t(i,{editing:o?.isEditing,showAs:e(r)})};export{p as CountrySwitchBlockRender};
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const DELIVERY_PH: {
3
3
  title: string;
4
4
  badge: string;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const DeliveryOptionsRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as y}from"react/jsx-runtime";import f from"../../../../../components/DeliveryOptions.js";import u from"../../../../../components/DeliveryOptionsSource.js";import{parseSectionHeadPlacement as w}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as r}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{phHide as t,phRows as v}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{say as e}from"efficient-web-builder/format/lib/editor-words";import{DeliveryOptionsMeta as x,DELIVERY_PH as n}from"./meta.js";const H=()=>[{name:e("Standard"),eta:e("5–7 business days"),price:e("Free"),blurb:e("Tracked to your door.")},{name:e("Express"),eta:e("2–3 business days"),price:"$00",blurb:e("Priority handling."),highlighted:!0},{name:e("Pickup"),eta:e("Same day"),price:e("Free"),blurb:e("Collect from the warehouse.")}],k={...x,render:d=>{const a=w(d.headPlacement)==="own-box",i=g=>a?void 0:g,{eyebrow:s,title:m,body:l,options:c,live:h,highlightBadge:p,contained:b,editor:o}=d;return h?y(u,{eyebrow:i(t(s,r.eyebrow,o)),title:i(t(m,n.title,o)),body:i(t(l,r.body,o)),omitHead:a,highlightBadge:t(p,n.badge,o),contained:b}):y(f,{eyebrow:i(t(s,r.eyebrow,o)),title:i(t(m,n.title,o)),body:i(t(l,r.body,o)),omitHead:a,options:v(c,H(),o),highlightBadge:t(p,n.badge,o),contained:b})}};export{k as DeliveryOptionsRender};
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const DETAILROWS_SCAFFOLD_ROWS: {
3
3
  image: string;
4
4
  eyebrow: string;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const DetailRowsRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import e from"../../../../../components/pdp-dynamic/DynamicDetailRows.js";import a from"../../../../../components/DetailRows.js";import{phRows as i}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{DetailRowsMeta as d,DETAILROWS_SCAFFOLD_ROWS as m}from"./meta.js";const l={...d,render:t=>t.dynamic?o(e,{rowsFrom:t.rowsFrom==="details"?"details":"story",startLeft:t.startLeft,padTop:typeof t.padTop=="number"?t.padTop:100,padBottom:typeof t.padBottom=="number"?t.padBottom:100,editing:t.editor?.isEditing}):o(a,{rows:i(t.rows,m,t.editor),startLeft:t.startLeft,layout:t.layout,padTop:typeof t.padTop=="number"?t.padTop:100,padBottom:typeof t.padBottom=="number"?t.padBottom:100,editing:t.editor?.isEditing})};export{l as DetailRowsRender};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const EuTyreLabelMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const EuTyreLabelRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import i from"../../../../../components/pdp-dynamic/DynamicEuTyreLabel.js";import{phHide as m}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{PRODUCTGRID_PH as o}from"../placeholders.js";import{EuTyreLabelMeta as t}from"./meta.js";const y={...t,render:r=>e(i,{num:m(r.num,o.num,r.editor),editing:r.editor?.isEditing})};export{y as EuTyreLabelRender};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const EuTyreLabelBlockMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const EuTyreLabelBlockRender: BlockRender;
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{DynamicEuTyreLabelBlock as o}from"../../../../../components/pdp-dynamic/DynamicEuTyreLabel.js";import{EuTyreLabelBlockMeta as i}from"./meta.js";const c={...i,render:e=>r(o,{editing:e.puck?.isEditing})};export{c as EuTyreLabelBlockRender};
1
+ import{jsx as r}from"react/jsx-runtime";import{DynamicEuTyreLabelBlock as o}from"../../../../../components/pdp-dynamic/DynamicEuTyreLabel.js";import{EuTyreLabelBlockMeta as i}from"./meta.js";const l={...i,render:e=>r(o,{editing:e.editor?.isEditing})};export{l as EuTyreLabelBlockRender};
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const FITMENTFINDER_PH: {
3
3
  num: string;
4
4
  title: string;
@@ -0,0 +1 @@
1
+ import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";const e={num:t.sectionNumber,title:"Find your *match.*",description:"A few quick picks and we show the right option for you.",ctaText:"Browse all products"},i={label:"Fitment Form",widthRows:"two",defaultProps:{num:"",title:"",description:"",ctaText:"",ctaHref:"",layout:"full"}};export{e as FITMENTFINDER_PH,i as FitmentFinderMeta};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const FitmentFinderRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import r from"../../../../../components/fitment/FitmentFinder.js";import{hidableText as a}from"efficient-easel/screen/lib/document/hidable";import{parseSectionHeadPlacement as c}from"efficient-web-builder/format/lib/sections/section-head-placement";import{phHide as e}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{FitmentFinderMeta as f,FITMENTFINDER_PH as i}from"./meta.js";const h={...f,render:t=>{const d=c(t.headPlacement)==="own-box",n=m=>d?void 0:m;return o(r,{num:n(e(t.num,i.num,t.editor)),title:n(e(t.title,i.title,t.editor)),description:n(e(t.description,i.description,t.editor)),omitHead:d,ctaText:e(t.ctaText,i.ctaText,t.editor),ctaHref:a(t.ctaHref)||"#",layout:t.layout,editing:t.editor?.isEditing})}};export{h as FitmentFinderRender};
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const FITMENTTABLE_PH: {
3
3
  num: string;
4
4
  title: string;
@@ -0,0 +1 @@
1
+ import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";const e={num:t.sectionNumber,title:"Specifications *table.*",description:t.body,footnote:"Add a short footnote here.",footnoteLinkText:"Contact us"},n={label:"Fitment Table",widthRows:"two",defaultProps:{dynamic:!1,num:"",title:"",description:"",wheel:"",showFilter:!0,tooltipDefaultOn:!0,footnote:"",footnoteLinkText:"",footnoteLinkHref:""}};export{e as FITMENTTABLE_PH,n as FitmentTableMeta};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const FitmentTableRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as m}from"react/jsx-runtime";import f from"../../../../../components/pdp-dynamic/FitmentTableBlock.js";import{hidableText as l}from"efficient-easel/screen/lib/document/hidable";import{parseSectionHeadPlacement as a}from"efficient-web-builder/format/lib/sections/section-head-placement";import{phHide as e}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{FitmentTableMeta as r,FITMENTTABLE_PH as o}from"./meta.js";const w={...r,render:t=>{const n=a(t.headPlacement)==="own-box",i=d=>n?void 0:d;return m(f,{dynamic:t.dynamic,wheel:t.wheel,num:i(e(t.num,o.num,t.editor)),title:i(e(t.title,o.title,t.editor)),description:i(e(t.description,o.description,t.editor)),omitHead:n,showFilter:t.showFilter,tooltipDefaultOn:t.tooltipDefaultOn,footnote:e(t.footnote,o.footnote,t.editor),footnoteLinkText:e(t.footnoteLinkText,o.footnoteLinkText,t.editor),footnoteLinkHref:l(t.footnoteLinkHref),editing:t.editor?.isEditing})}};export{w as FitmentTableRender};
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const GALLERY_PH: {
3
3
  kicker: string;
4
4
  vehicleTitle: string;
@@ -0,0 +1 @@
1
+ import{PH as e}from"efficient-web-builder/format/lib/document/blocks/placeholders";const l={kicker:e.eyebrow,vehicleTitle:e.headingAccent,wheelTitle:e.headingAccent,vehicleBody1:e.body,vehicleBody2:"Add a second, shorter line if you need one.",wheelBody1:e.body,wheelBody2:"Add a second, shorter line if you need one.",othersTitle:e.headingAccent,othersBody1:e.body,othersBody2:"Add a second, shorter line if you need one."},r={label:"Tabbed Gallery",defaultProps:{mode:"both",source:null,kicker:"",breadcrumbLabel:"Gallery",vehicleTabLabel:"Gallery A",vehicleTitle:"",vehicleBody1:"",vehicleBody2:"",vehicleStats:[],vehicleCards:[],wheelTabLabel:"Gallery B",wheelTitle:"",wheelBody1:"",wheelBody2:"",wheelStats:[],wheelCards:[],othersTitle:"",othersBody1:"",othersBody2:"",othersStats:[],othersCards:[],showBreadcrumb:!0,showStats:!0,showIntro:!0,showTabs:!0,showFilters:!0,showCount:!0,showSort:!0,previewTab:"vehicles",previewHover:!1}};export{l as GALLERY_PH,r as GalleryMeta};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const GalleryRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as y}from"react/jsx-runtime";import b from"../../../../../components/GalleryShowcase.js";import{hidableText as r}from"efficient-easel/screen/lib/document/hidable";import{PH as h}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{phHide as t,phRows as i}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{say as a}from"efficient-web-builder/format/lib/editor-words";import{GalleryMeta as m,GALLERY_PH as l}from"./meta.js";const w=()=>[{value:"00",label:a(h.label)},{value:"00",label:a(h.label)},{value:"00",label:a(h.label)}],d=()=>({image:"",href:"#",process:a(h.category),eyebrow:a("Subtitle"),name:a("Item name"),meta:a("Detail")}),c=()=>[d(),d(),d(),d()],C={...m,render:e=>{const o=e.source;return y(b,{mode:e.mode,kicker:t(e.kicker,l.kicker,e.editor),breadcrumbLabel:r(e.breadcrumbLabel)||"Gallery",vehicleTabLabel:r(e.vehicleTabLabel)||"Gallery A",vehicleTitle:t(e.vehicleTitle,l.vehicleTitle,e.editor),vehicleBody1:t(e.vehicleBody1,l.vehicleBody1,e.editor),vehicleBody2:t(e.vehicleBody2,l.vehicleBody2,e.editor),vehicleStats:i(e.vehicleStats,w(),e.editor),vehicleCards:i(o?.vehicleCards??e.vehicleCards,c(),e.editor),wheelTabLabel:r(e.wheelTabLabel)||"Gallery B",wheelTitle:t(e.wheelTitle,l.wheelTitle,e.editor),wheelBody1:t(e.wheelBody1,l.wheelBody1,e.editor),wheelBody2:t(e.wheelBody2,l.wheelBody2,e.editor),wheelStats:i(e.wheelStats,w(),e.editor),wheelCards:i(o?.wheelCards??e.wheelCards,c(),e.editor),othersTitle:t(e.othersTitle,l.othersTitle,e.editor),othersBody1:t(e.othersBody1,l.othersBody1,e.editor),othersBody2:t(e.othersBody2,l.othersBody2,e.editor),othersStats:i(e.othersStats,w(),e.editor),othersCards:i(o?.othersCards??e.othersCards,c(),e.editor),showBreadcrumb:e.showBreadcrumb,showStats:e.showStats,showIntro:e.showIntro,showTabs:e.showTabs,showFilters:e.showFilters,showCount:e.showCount,showSort:e.showSort,previewTab:e.previewTab,previewHover:e.previewHover,editing:e.editor?.isEditing})}};export{C as GalleryRender};
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const GALLERY_B_PH: {
3
3
  num: string;
4
4
  title: string;
@@ -0,0 +1 @@
1
+ import{PH as e}from"efficient-web-builder/format/lib/document/blocks/placeholders";const o={num:e.sectionNumber,title:e.headingAccent,link:e.viewAll},l={items:{type:"slot",allow:["GalleryItem"]}},r={label:"Customer Photo Grid",fields:l,defaultProps:{dynamic:!1,mediaZone:"all",photoDisplay:"covers",num:"",title:"",linkText:"",linkHref:"/contact",galleryHref:"/gallery",previewHover:!1}};export{o as GALLERY_B_PH,r as GalleryBMeta,l as GalleryBSlots};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const GalleryBRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as m}from"react/jsx-runtime";import y,{SourcedGalleryGrid as f}from"../../../../../components/pdp-dynamic/DynamicGalleryGrid.js";import{declaredBlockSource as r,sourcedRows as c}from"efficient-web-builder/format/lib/content/block-sources";import H from"../../../../../components/GalleryGrid.js";import{hidableText as d}from"efficient-easel/screen/lib/document/hidable";import{parseSectionHeadPlacement as k}from"efficient-web-builder/format/lib/sections/section-head-placement";import{phHide as i}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{GalleryBMeta as T,GALLERY_B_PH as n}from"./meta.js";const P={...T,render:e=>{const l=k(e.headPlacement)==="own-box",t=a=>l?void 0:a;if(r(e)!==""){const a=!!e.editor?.isEditing,{rows:o,sample:u}=c(e,a);return m(f,{num:t(i(e.num,n.num,e.editor)),title:t(i(e.title,n.title,e.editor)),linkText:t(i(e.linkText,n.link,e.editor)),linkHref:t(d(e.linkHref)||"/contact"),omitHead:l,rows:u?[]:o,limit:e.limit,layout:e.layout,editing:a,padTop:typeof e.padTop=="number"?e.padTop:void 0,padBottom:typeof e.padBottom=="number"?e.padBottom:void 0})}return e.dynamic?m(y,{num:t(i(e.num,n.num,e.editor)),title:t(i(e.title,n.title,e.editor)),linkText:t(i(e.linkText,n.link,e.editor)),linkHref:t(d(e.linkHref)||"/contact"),omitHead:l,galleryHref:d(e.galleryHref)||"/gallery",zone:e.mediaZone||"all",photoDisplay:e.photoDisplay||"covers",previewHover:e.previewHover,display:e.display,displayPhone:e.displayPhone,styleOwner:e.id,editing:e.editor?.isEditing,padTop:typeof e.padTop=="number"?e.padTop:void 0,padBottom:typeof e.padBottom=="number"?e.padBottom:void 0}):m(H,{num:t(i(e.num,n.num,e.editor)),title:t(i(e.title,n.title,e.editor)),omitHead:l,linkText:t(i(e.linkText,n.link,e.editor)),linkHref:t(d(e.linkHref)||"/contact"),galleryHref:d(e.galleryHref)||"/gallery",previewHover:e.previewHover,display:e.display,displayPhone:e.displayPhone,styleOwner:e.id,layout:e.layout,columns:e.columns,columnsMobile:e.columnsMobile,gap:e.gap,items:e.items,padTop:typeof e.padTop=="number"?e.padTop:void 0,padBottom:typeof e.padBottom=="number"?e.padBottom:void 0,editing:e.editor?.isEditing})}};export{P as GalleryBRender};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const GalleryItemMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const GalleryItemRender: BlockRender;
@@ -0,0 +1 @@
1
+ import{jsx as m}from"react/jsx-runtime";import c,{GALLERY_ITEM_HINTS as r}from"../../../../../components/GalleryItem.js";import{phHide as n}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{GalleryItemMeta as f}from"./meta.js";function o(e,t){if(typeof e=="string")return e.trim()===t?"":e;if(e&&typeof e=="object"){const i=e;if(typeof i.text=="string"&&i.text.trim()===t)return{...i,text:""}}return e}const u={...f,render:e=>{const t=e.product??{},i=e.fromProduct===!0&&!!t.code;return m(c,{image:i?t.cover:e.image,photos:i?(t.photos??[]).map(d=>({src:d})):e.photos,href:i?t.href:e.href,process:i?t.hideProcess?void 0:t.category:n(o(e.process,r.process),r.process,e.editor),eyebrow:i?t.hideEyebrow?void 0:t.vehicle||void 0:n(o(e.eyebrow,r.eyebrow),r.eyebrow,e.editor),name:i?t.hideName?void 0:t.name:n(o(e.name,r.name),r.name,e.editor),meta:i?t.hideFinish?void 0:t.finish:n(o(e.meta,r.meta),r.meta,e.editor),previewHover:e.previewHover,ratio:e.ratio,captionPlace:e.captionPlace,editing:e.editor?.isEditing})}};export{u as GalleryItemRender};
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const HeaderMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const HeaderRender: BlockRender;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const ProductGalleryMeta: Omit<BlockRender, "render">;
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const ProductGalleryRender: BlockRender;
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import o from"../../../../../components/pdp-dynamic/DynamicProductGallery.js";import{parseHeroGalleryMode as i,parseHeroImageFit as t}from"../../../../sections/hero-gallery.js";import{ProductGalleryMeta as a}from"./meta.js";const y={...a,render:e=>r(o,{editing:e.puck?.isEditing,galleryMode:i(e.galleryMode),imageFit:t(e.imageFit)})};export{y as ProductGalleryRender};
1
+ import{jsx as r}from"react/jsx-runtime";import o from"../../../../../components/pdp-dynamic/DynamicProductGallery.js";import{parseHeroGalleryMode as i,parseHeroImageFit as t}from"../../../../sections/hero-gallery.js";import{ProductGalleryMeta as a}from"./meta.js";const y={...a,render:e=>r(o,{editing:e.editor?.isEditing,galleryMode:i(e.galleryMode),imageFit:t(e.imageFit)})};export{y as ProductGalleryRender};
@@ -1,4 +1,4 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const ProductGridSlots: {
3
3
  products: {
4
4
  type: "slot";
@@ -1,2 +1,2 @@
1
- import type { BlockRender } from "efficient-web-builder/format/lib/puck/blocks/block-types";
1
+ import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
2
  export declare const ProductGridRender: BlockRender;