efficient-storefront-blocks 0.57.0 → 0.58.1

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 (1111) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/chunks/{EditorPreviewCheckout-7Y7WL5BM.js → EditorPreviewCheckout-4NGRJA3T.js} +1 -1
  3. package/dist/chunks/{SiteEditorProvider-5MWJMLLI.js → SiteEditorProvider-V5FE5UD6.js} +1 -1
  4. package/dist/chunks/{chunk-BPVXTVPM.js → chunk-4AKN63X5.js} +1 -1
  5. package/dist/chunks/chunk-K4AZ5SUU.js +1 -0
  6. package/dist/chunks/chunk-PHH7L5FJ.js +255 -0
  7. package/dist/chunks/{chunk-FSSCNRRE.js → chunk-SJQTKWV3.js} +1 -1
  8. package/dist/chunks/{fitment-data-UVMEA7WW.js → fitment-data-OIWU6HGJ.js} +1 -1
  9. package/dist/editor/components/BlogSource.d.ts +11 -0
  10. package/dist/editor/components/BlogSource.js +1 -0
  11. package/dist/editor/components/CategorySource.d.ts +7 -0
  12. package/dist/editor/components/CategorySource.js +1 -0
  13. package/dist/editor/components/CollectionPicker.d.ts +7 -0
  14. package/dist/editor/components/CollectionPicker.js +1 -0
  15. package/dist/editor/components/ConsentBannerLayoutTiles.d.ts +3 -0
  16. package/dist/editor/components/ConsentBannerLayoutTiles.js +1 -0
  17. package/dist/editor/components/CountryShowAsTiles.d.ts +5 -0
  18. package/dist/editor/components/CountryShowAsTiles.js +1 -0
  19. package/dist/editor/components/EditProductLink.d.ts +1 -0
  20. package/dist/editor/components/EditProductLink.js +1 -0
  21. package/dist/editor/components/EditorCurrencyProvider.d.ts +7 -0
  22. package/dist/editor/components/EditorCurrencyProvider.js +1 -0
  23. package/dist/editor/components/EditorPreviewChat.d.ts +1 -0
  24. package/dist/editor/components/EditorPreviewChat.js +11 -0
  25. package/dist/editor/components/EditorPreviewCheckout.d.ts +1 -0
  26. package/dist/editor/components/EditorPreviewCheckout.js +1 -0
  27. package/dist/editor/components/EditorPreviewSurface.d.ts +5 -0
  28. package/dist/editor/components/EditorPreviewSurface.js +1 -0
  29. package/dist/editor/components/FinishPicker.d.ts +6 -0
  30. package/dist/editor/components/FinishPicker.js +1 -0
  31. package/dist/editor/components/FooterColumnsField.d.ts +6 -0
  32. package/dist/editor/components/FooterColumnsField.js +1 -0
  33. package/dist/editor/components/FooterLogoFillField.d.ts +6 -0
  34. package/dist/editor/components/FooterLogoFillField.js +1 -0
  35. package/dist/editor/components/FooterLogoRowFillField.d.ts +6 -0
  36. package/dist/editor/components/FooterLogoRowFillField.js +1 -0
  37. package/dist/editor/components/FormPicker.d.ts +33 -0
  38. package/dist/editor/components/FormPicker.js +1 -0
  39. package/dist/editor/components/GalleryProductBinding.d.ts +7 -0
  40. package/dist/editor/components/GalleryProductBinding.js +1 -0
  41. package/dist/editor/components/GalleryShowcaseSource.d.ts +7 -0
  42. package/dist/editor/components/GalleryShowcaseSource.js +1 -0
  43. package/dist/editor/components/HeaderSection.d.ts +3 -0
  44. package/dist/editor/components/HeaderSection.js +1 -0
  45. package/dist/editor/components/HeaderSettingsPanel.d.ts +132 -0
  46. package/dist/editor/components/HeaderSettingsPanel.js +1 -0
  47. package/dist/editor/components/MenuLinkRangeField.d.ts +5 -0
  48. package/dist/editor/components/MenuLinkRangeField.js +1 -0
  49. package/dist/editor/components/MenuPicker.d.ts +7 -0
  50. package/dist/editor/components/MenuPicker.js +1 -0
  51. package/dist/editor/components/PerViewStepperField.d.ts +13 -0
  52. package/dist/editor/components/PerViewStepperField.js +1 -0
  53. package/dist/editor/components/PreviewHeader.d.ts +2 -0
  54. package/dist/editor/components/PreviewHeader.js +11 -0
  55. package/dist/editor/components/PreviewHeaderPrimer.d.ts +4 -0
  56. package/dist/editor/components/PreviewHeaderPrimer.js +1 -0
  57. package/dist/editor/components/PreviewMenusPrimer.d.ts +3 -0
  58. package/dist/editor/components/PreviewMenusPrimer.js +1 -0
  59. package/dist/editor/components/PreviewProductPicker.d.ts +20 -0
  60. package/dist/editor/components/PreviewProductPicker.js +1 -0
  61. package/dist/editor/components/ProductHeroSource.d.ts +19 -0
  62. package/dist/editor/components/ProductHeroSource.js +1 -0
  63. package/dist/editor/components/ProductPicker.d.ts +6 -0
  64. package/dist/editor/components/ProductPicker.js +1 -0
  65. package/dist/editor/components/SocialLinksDoor.d.ts +1 -0
  66. package/dist/editor/components/SocialLinksDoor.js +1 -0
  67. package/dist/editor/components/SpecTableSource.d.ts +7 -0
  68. package/dist/editor/components/SpecTableSource.js +1 -0
  69. package/dist/editor/components/StorefrontEditorFurniture.d.ts +6 -0
  70. package/dist/editor/components/StorefrontEditorFurniture.js +1 -0
  71. package/dist/editor/components/StorefrontHeaderPanel.d.ts +2 -0
  72. package/dist/editor/components/StorefrontHeaderPanel.js +1 -0
  73. package/dist/editor/components/StorefrontLinkRows.d.ts +5 -0
  74. package/dist/editor/components/StorefrontLinkRows.js +1 -0
  75. package/dist/editor/components/StorefrontShopRows.d.ts +2 -0
  76. package/dist/editor/components/StorefrontShopRows.js +1 -0
  77. package/dist/editor/components/SwitchToBoxHeader.d.ts +1 -0
  78. package/dist/editor/components/SwitchToBoxHeader.js +1 -0
  79. package/dist/editor/components/WheelsPerRowField.d.ts +6 -0
  80. package/dist/editor/components/WheelsPerRowField.js +1 -0
  81. package/dist/editor/components/useCategoryFilter.d.ts +11 -0
  82. package/dist/editor/components/useCategoryFilter.js +1 -0
  83. package/dist/editor/components/useGridSourceLock.d.ts +1 -0
  84. package/dist/editor/components/useGridSourceLock.js +1 -0
  85. package/dist/editor/components/useStorefrontCategories.d.ts +2 -0
  86. package/dist/editor/components/useStorefrontCategories.js +1 -0
  87. package/dist/editor/components/useStorefrontForms.d.ts +2 -0
  88. package/dist/editor/components/useStorefrontForms.js +1 -0
  89. package/dist/editor/components/useWheelMediaGroups.d.ts +2 -0
  90. package/dist/editor/components/useWheelMediaGroups.js +1 -0
  91. package/dist/editor/lib/api/section-templates.d.ts +43 -0
  92. package/dist/editor/lib/api/section-templates.js +1 -0
  93. package/dist/editor/lib/editor-currency-source.d.ts +11 -0
  94. package/dist/editor/lib/editor-currency-source.js +1 -0
  95. package/dist/editor/lib/efficient-backend.d.ts +21 -0
  96. package/dist/editor/lib/efficient-backend.js +1 -0
  97. package/dist/editor/lib/header-settings-source.d.ts +7 -0
  98. package/dist/editor/lib/header-settings-source.js +1 -0
  99. package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.d.ts +2 -0
  100. package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.js +1 -0
  101. package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.d.ts +2 -0
  102. package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.js +1 -0
  103. package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.d.ts +2 -0
  104. package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.js +1 -0
  105. package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.d.ts +2 -0
  106. package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.js +1 -0
  107. package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.d.ts +2 -0
  108. package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.js +1 -0
  109. package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.d.ts +2 -0
  110. package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.js +1 -0
  111. package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.d.ts +2 -0
  112. package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.js +1 -0
  113. package/dist/editor/lib/puck/blocks/commerce/Collections/fields.d.ts +2 -0
  114. package/dist/editor/lib/puck/blocks/commerce/Collections/fields.js +1 -0
  115. package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.d.ts +2 -0
  116. package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.js +1 -0
  117. package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.d.ts +2 -0
  118. package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.js +1 -0
  119. package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.d.ts +2 -0
  120. package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.js +1 -0
  121. package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.d.ts +2 -0
  122. package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.js +1 -0
  123. package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.d.ts +2 -0
  124. package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.js +1 -0
  125. package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.d.ts +2 -0
  126. package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.js +1 -0
  127. package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.d.ts +2 -0
  128. package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.js +1 -0
  129. package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.d.ts +2 -0
  130. package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.js +1 -0
  131. package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.d.ts +2 -0
  132. package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.js +1 -0
  133. package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.d.ts +2 -0
  134. package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.js +1 -0
  135. package/dist/editor/lib/puck/blocks/commerce/Header/fields.d.ts +2 -0
  136. package/dist/editor/lib/puck/blocks/commerce/Header/fields.js +1 -0
  137. package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.d.ts +2 -0
  138. package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.js +1 -0
  139. package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.d.ts +2 -0
  140. package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.js +1 -0
  141. package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.d.ts +2 -0
  142. package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.js +1 -0
  143. package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.d.ts +2 -0
  144. package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.js +1 -0
  145. package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.d.ts +2 -0
  146. package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.js +1 -0
  147. package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.d.ts +2 -0
  148. package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.js +1 -0
  149. package/dist/editor/lib/puck/blocks/commerce/ThemeSwitchBlock/fields.d.ts +2 -0
  150. package/dist/editor/lib/puck/blocks/commerce/ThemeSwitchBlock/fields.js +1 -0
  151. package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.d.ts +2 -0
  152. package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.js +1 -0
  153. package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.d.ts +2 -0
  154. package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.js +1 -0
  155. package/dist/editor/lib/puck/blocks/commerce/controls.d.ts +15 -0
  156. package/dist/editor/lib/puck/blocks/commerce/controls.js +1 -0
  157. package/dist/editor/lib/puck/blocks/commerce/index.d.ts +1 -0
  158. package/dist/editor/lib/puck/blocks/commerce/index.js +1 -0
  159. package/dist/editor/lib/puck/blocks/commerce/page-rules.d.ts +8 -0
  160. package/dist/editor/lib/puck/blocks/commerce/page-rules.js +1 -0
  161. package/dist/editor/lib/puck/blocks/commerce/shared-fields.d.ts +5 -0
  162. package/dist/editor/lib/puck/blocks/commerce/shared-fields.js +1 -0
  163. package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.d.ts +2 -0
  164. package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.js +1 -0
  165. package/dist/editor/lib/puck/blocks/service/BookingBox/fields.d.ts +2 -0
  166. package/dist/editor/lib/puck/blocks/service/BookingBox/fields.js +1 -0
  167. package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.d.ts +2 -0
  168. package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.js +1 -0
  169. package/dist/editor/lib/puck/blocks/service/Events/fields.d.ts +2 -0
  170. package/dist/editor/lib/puck/blocks/service/Events/fields.js +1 -0
  171. package/dist/editor/lib/puck/blocks/service/Footer/fields.d.ts +2 -0
  172. package/dist/editor/lib/puck/blocks/service/Footer/fields.js +1 -0
  173. package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.d.ts +2 -0
  174. package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.js +1 -0
  175. package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.d.ts +2 -0
  176. package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.js +1 -0
  177. package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.d.ts +2 -0
  178. package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.js +1 -0
  179. package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.d.ts +2 -0
  180. package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.js +1 -0
  181. package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.d.ts +2 -0
  182. package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.js +1 -0
  183. package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.d.ts +2 -0
  184. package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.js +1 -0
  185. package/dist/editor/lib/puck/blocks/service/FooterText/fields.d.ts +2 -0
  186. package/dist/editor/lib/puck/blocks/service/FooterText/fields.js +1 -0
  187. package/dist/editor/lib/puck/blocks/service/Form/fields.d.ts +2 -0
  188. package/dist/editor/lib/puck/blocks/service/Form/fields.js +1 -0
  189. package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.d.ts +2 -0
  190. package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.js +1 -0
  191. package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.d.ts +2 -0
  192. package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.js +1 -0
  193. package/dist/editor/lib/puck/blocks/service/Reviews/fields.d.ts +2 -0
  194. package/dist/editor/lib/puck/blocks/service/Reviews/fields.js +1 -0
  195. package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.d.ts +2 -0
  196. package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.js +1 -0
  197. package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.d.ts +2 -0
  198. package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.js +1 -0
  199. package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.d.ts +2 -0
  200. package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.js +1 -0
  201. package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.d.ts +2 -0
  202. package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.js +1 -0
  203. package/dist/editor/lib/puck/blocks/service/Subscribe/fields.d.ts +2 -0
  204. package/dist/editor/lib/puck/blocks/service/Subscribe/fields.js +1 -0
  205. package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.d.ts +2 -0
  206. package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.js +1 -0
  207. package/dist/editor/lib/puck/blocks/service/controls.d.ts +2 -0
  208. package/dist/editor/lib/puck/blocks/service/controls.js +1 -0
  209. package/dist/editor/lib/puck/blocks/service/index.d.ts +1 -0
  210. package/dist/editor/lib/puck/blocks/service/index.js +1 -0
  211. package/dist/editor/lib/puck/blocks/service/placeholders.d.ts +1 -0
  212. package/dist/editor/lib/puck/blocks/service/placeholders.js +1 -0
  213. package/dist/editor/lib/puck/box-header-for-site.d.ts +9 -0
  214. package/dist/editor/lib/puck/box-header-for-site.js +1 -0
  215. package/dist/editor/lib/puck/box-header.d.ts +52 -0
  216. package/dist/editor/lib/puck/box-header.js +1 -0
  217. package/dist/editor/lib/puck/config.d.ts +73 -0
  218. package/dist/editor/lib/puck/config.js +1 -0
  219. package/dist/editor/lib/say-with.d.ts +2 -0
  220. package/dist/editor/lib/say-with.js +1 -0
  221. package/dist/editor/lib/storefront-document.d.ts +2 -0
  222. package/dist/editor/lib/storefront-document.js +1 -0
  223. package/dist/editor/lib/storefront-editor-words.d.ts +693 -0
  224. package/dist/editor/lib/storefront-editor-words.js +1 -0
  225. package/dist/editor/lib/storefront-editor.d.ts +9 -0
  226. package/dist/editor/lib/storefront-editor.js +1 -0
  227. package/dist/editor/lib/storefront-shop-surfaces.d.ts +8 -0
  228. package/dist/editor/lib/storefront-shop-surfaces.js +1 -0
  229. package/dist/editor/lib/use-prime-and-refresh.d.ts +16 -0
  230. package/dist/editor/lib/use-prime-and-refresh.js +1 -0
  231. package/dist/editor.css +1 -1
  232. package/dist/index.d.ts +14 -0
  233. package/dist/index.js +69 -52
  234. package/dist/render/app/fonts/archivo/OFL.txt +93 -0
  235. package/dist/render/app/fonts/archivo/latin-ext-italic.woff2 +0 -0
  236. package/dist/render/app/fonts/archivo/latin-ext.woff2 +0 -0
  237. package/dist/render/app/fonts/archivo/latin-italic.woff2 +0 -0
  238. package/dist/render/app/fonts/archivo/latin.woff2 +0 -0
  239. package/dist/render/app/fonts/archivo/vietnamese-italic.woff2 +0 -0
  240. package/dist/render/app/fonts/archivo/vietnamese.woff2 +0 -0
  241. package/dist/render/app/fonts/assistant/OFL.txt +95 -0
  242. package/dist/render/app/fonts/assistant/hebrew.woff2 +0 -0
  243. package/dist/render/app/fonts/assistant/latin-ext.woff2 +0 -0
  244. package/dist/render/app/fonts/assistant/latin.woff2 +0 -0
  245. package/dist/render/app/fonts/big-shoulders/OFL.txt +93 -0
  246. package/dist/render/app/fonts/big-shoulders/latin-ext.woff2 +0 -0
  247. package/dist/render/app/fonts/big-shoulders/latin.woff2 +0 -0
  248. package/dist/render/app/fonts/big-shoulders/vietnamese.woff2 +0 -0
  249. package/dist/render/app/fonts/cormorant/OFL.txt +93 -0
  250. package/dist/render/app/fonts/cormorant/cyrillic-ext-italic.woff2 +0 -0
  251. package/dist/render/app/fonts/cormorant/cyrillic-ext.woff2 +0 -0
  252. package/dist/render/app/fonts/cormorant/cyrillic-italic.woff2 +0 -0
  253. package/dist/render/app/fonts/cormorant/cyrillic.woff2 +0 -0
  254. package/dist/render/app/fonts/cormorant/latin-ext-italic.woff2 +0 -0
  255. package/dist/render/app/fonts/cormorant/latin-ext.woff2 +0 -0
  256. package/dist/render/app/fonts/cormorant/latin-italic.woff2 +0 -0
  257. package/dist/render/app/fonts/cormorant/latin.woff2 +0 -0
  258. package/dist/render/app/fonts/cormorant/vietnamese-italic.woff2 +0 -0
  259. package/dist/render/app/fonts/cormorant/vietnamese.woff2 +0 -0
  260. package/dist/render/app/fonts/dm-sans/OFL.txt +93 -0
  261. package/dist/render/app/fonts/dm-sans/latin-ext-italic.woff2 +0 -0
  262. package/dist/render/app/fonts/dm-sans/latin-ext.woff2 +0 -0
  263. package/dist/render/app/fonts/dm-sans/latin-italic.woff2 +0 -0
  264. package/dist/render/app/fonts/dm-sans/latin.woff2 +0 -0
  265. package/dist/render/app/fonts/fallbacks.css +133 -0
  266. package/dist/render/app/fonts/fraunces/OFL.txt +93 -0
  267. package/dist/render/app/fonts/fraunces/latin-ext-italic.woff2 +0 -0
  268. package/dist/render/app/fonts/fraunces/latin-ext.woff2 +0 -0
  269. package/dist/render/app/fonts/fraunces/latin-italic.woff2 +0 -0
  270. package/dist/render/app/fonts/fraunces/latin.woff2 +0 -0
  271. package/dist/render/app/fonts/fraunces/vietnamese-italic.woff2 +0 -0
  272. package/dist/render/app/fonts/fraunces/vietnamese.woff2 +0 -0
  273. package/dist/render/app/fonts/inter/OFL.txt +93 -0
  274. package/dist/render/app/fonts/inter/cyrillic-ext-italic.woff2 +0 -0
  275. package/dist/render/app/fonts/inter/cyrillic-ext.woff2 +0 -0
  276. package/dist/render/app/fonts/inter/cyrillic-italic.woff2 +0 -0
  277. package/dist/render/app/fonts/inter/cyrillic.woff2 +0 -0
  278. package/dist/render/app/fonts/inter/greek-ext-italic.woff2 +0 -0
  279. package/dist/render/app/fonts/inter/greek-ext.woff2 +0 -0
  280. package/dist/render/app/fonts/inter/greek-italic.woff2 +0 -0
  281. package/dist/render/app/fonts/inter/greek.woff2 +0 -0
  282. package/dist/render/app/fonts/inter/latin-ext-italic.woff2 +0 -0
  283. package/dist/render/app/fonts/inter/latin-ext.woff2 +0 -0
  284. package/dist/render/app/fonts/inter/latin-italic.woff2 +0 -0
  285. package/dist/render/app/fonts/inter/latin.woff2 +0 -0
  286. package/dist/render/app/fonts/inter/vietnamese-italic.woff2 +0 -0
  287. package/dist/render/app/fonts/inter/vietnamese.woff2 +0 -0
  288. package/dist/render/app/fonts/jetbrains-mono/OFL.txt +93 -0
  289. package/dist/render/app/fonts/jetbrains-mono/cyrillic-ext-italic.woff2 +0 -0
  290. package/dist/render/app/fonts/jetbrains-mono/cyrillic-ext.woff2 +0 -0
  291. package/dist/render/app/fonts/jetbrains-mono/cyrillic-italic.woff2 +0 -0
  292. package/dist/render/app/fonts/jetbrains-mono/cyrillic.woff2 +0 -0
  293. package/dist/render/app/fonts/jetbrains-mono/greek-italic.woff2 +0 -0
  294. package/dist/render/app/fonts/jetbrains-mono/greek.woff2 +0 -0
  295. package/dist/render/app/fonts/jetbrains-mono/latin-ext-italic.woff2 +0 -0
  296. package/dist/render/app/fonts/jetbrains-mono/latin-ext.woff2 +0 -0
  297. package/dist/render/app/fonts/jetbrains-mono/latin-italic.woff2 +0 -0
  298. package/dist/render/app/fonts/jetbrains-mono/latin.woff2 +0 -0
  299. package/dist/render/app/fonts/jetbrains-mono/vietnamese-italic.woff2 +0 -0
  300. package/dist/render/app/fonts/jetbrains-mono/vietnamese.woff2 +0 -0
  301. package/dist/render/app/fonts/manrope/OFL.txt +93 -0
  302. package/dist/render/app/fonts/manrope/cyrillic-ext.woff2 +0 -0
  303. package/dist/render/app/fonts/manrope/cyrillic.woff2 +0 -0
  304. package/dist/render/app/fonts/manrope/greek.woff2 +0 -0
  305. package/dist/render/app/fonts/manrope/latin-ext.woff2 +0 -0
  306. package/dist/render/app/fonts/manrope/latin.woff2 +0 -0
  307. package/dist/render/app/fonts/manrope/vietnamese.woff2 +0 -0
  308. package/dist/render/app/fonts/michroma/OFL.txt +93 -0
  309. package/dist/render/app/fonts/michroma/latin-ext.woff2 +0 -0
  310. package/dist/render/app/fonts/michroma/latin.woff2 +0 -0
  311. package/dist/render/app/fonts/oswald/OFL.txt +93 -0
  312. package/dist/render/app/fonts/oswald/cyrillic-ext.woff2 +0 -0
  313. package/dist/render/app/fonts/oswald/cyrillic.woff2 +0 -0
  314. package/dist/render/app/fonts/oswald/latin-ext.woff2 +0 -0
  315. package/dist/render/app/fonts/oswald/latin.woff2 +0 -0
  316. package/dist/render/app/fonts/oswald/vietnamese.woff2 +0 -0
  317. package/dist/render/app/fonts/outfit/OFL.txt +93 -0
  318. package/dist/render/app/fonts/outfit/latin-ext.woff2 +0 -0
  319. package/dist/render/app/fonts/outfit/latin.woff2 +0 -0
  320. package/dist/render/app/fonts/playfair-display/OFL.txt +93 -0
  321. package/dist/render/app/fonts/playfair-display/cyrillic-italic.woff2 +0 -0
  322. package/dist/render/app/fonts/playfair-display/cyrillic.woff2 +0 -0
  323. package/dist/render/app/fonts/playfair-display/latin-ext-italic.woff2 +0 -0
  324. package/dist/render/app/fonts/playfair-display/latin-ext.woff2 +0 -0
  325. package/dist/render/app/fonts/playfair-display/latin-italic.woff2 +0 -0
  326. package/dist/render/app/fonts/playfair-display/latin.woff2 +0 -0
  327. package/dist/render/app/fonts/playfair-display/vietnamese-italic.woff2 +0 -0
  328. package/dist/render/app/fonts/playfair-display/vietnamese.woff2 +0 -0
  329. package/dist/render/app/fonts/poppins/OFL.txt +93 -0
  330. package/dist/render/app/fonts/poppins/devanagari-400.woff2 +0 -0
  331. package/dist/render/app/fonts/poppins/devanagari-500.woff2 +0 -0
  332. package/dist/render/app/fonts/poppins/devanagari-600.woff2 +0 -0
  333. package/dist/render/app/fonts/poppins/devanagari-italic-400.woff2 +0 -0
  334. package/dist/render/app/fonts/poppins/devanagari-italic-500.woff2 +0 -0
  335. package/dist/render/app/fonts/poppins/devanagari-italic-600.woff2 +0 -0
  336. package/dist/render/app/fonts/poppins/latin-400.woff2 +0 -0
  337. package/dist/render/app/fonts/poppins/latin-500.woff2 +0 -0
  338. package/dist/render/app/fonts/poppins/latin-600.woff2 +0 -0
  339. package/dist/render/app/fonts/poppins/latin-ext-400.woff2 +0 -0
  340. package/dist/render/app/fonts/poppins/latin-ext-500.woff2 +0 -0
  341. package/dist/render/app/fonts/poppins/latin-ext-600.woff2 +0 -0
  342. package/dist/render/app/fonts/poppins/latin-ext-italic-400.woff2 +0 -0
  343. package/dist/render/app/fonts/poppins/latin-ext-italic-500.woff2 +0 -0
  344. package/dist/render/app/fonts/poppins/latin-ext-italic-600.woff2 +0 -0
  345. package/dist/render/app/fonts/poppins/latin-italic-400.woff2 +0 -0
  346. package/dist/render/app/fonts/poppins/latin-italic-500.woff2 +0 -0
  347. package/dist/render/app/fonts/poppins/latin-italic-600.woff2 +0 -0
  348. package/dist/render/app/fonts/sora/OFL.txt +93 -0
  349. package/dist/render/app/fonts/sora/latin-ext.woff2 +0 -0
  350. package/dist/render/app/fonts/sora/latin.woff2 +0 -0
  351. package/dist/render/app/fonts/space-grotesk/OFL.txt +93 -0
  352. package/dist/render/app/fonts/space-grotesk/latin-ext.woff2 +0 -0
  353. package/dist/render/app/fonts/space-grotesk/latin.woff2 +0 -0
  354. package/dist/render/app/fonts/space-grotesk/vietnamese.woff2 +0 -0
  355. package/dist/render/app/globals.css +3264 -0
  356. package/dist/render/built-with.json +3 -0
  357. package/dist/render/components/AppointmentBooking.d.ts +14 -0
  358. package/dist/render/components/AppointmentBooking.js +1 -0
  359. package/dist/render/components/AssistantChatMount.d.ts +8 -0
  360. package/dist/render/components/AssistantChatMount.js +1 -0
  361. package/dist/render/components/AssistantChatPanel.d.ts +7 -0
  362. package/dist/render/components/AssistantChatPanel.js +1 -0
  363. package/dist/render/components/BoxHeaderBar.d.ts +10 -0
  364. package/dist/render/components/BoxHeaderBar.js +1 -0
  365. package/dist/render/components/BrandPlate.d.ts +4 -0
  366. package/dist/render/components/BrandPlate.js +1 -0
  367. package/dist/render/components/BundleCard.d.ts +6 -0
  368. package/dist/render/components/BundleCard.js +1 -0
  369. package/dist/render/components/CartContext.d.ts +91 -0
  370. package/dist/render/components/CartContext.js +1 -0
  371. package/dist/render/components/CartDrawer.d.ts +12 -0
  372. package/dist/render/components/CartDrawer.js +4 -0
  373. package/dist/render/components/CartLineThumbnail.d.ts +8 -0
  374. package/dist/render/components/CartLineThumbnail.js +1 -0
  375. package/dist/render/components/CatalogFilterBarSection.d.ts +12 -0
  376. package/dist/render/components/CatalogFilterBarSection.js +1 -0
  377. package/dist/render/components/ChatContext.d.ts +23 -0
  378. package/dist/render/components/ChatContext.js +1 -0
  379. package/dist/render/components/ChatLauncher.d.ts +18 -0
  380. package/dist/render/components/ChatLauncher.js +1 -0
  381. package/dist/render/components/ChatWidget.d.ts +12 -0
  382. package/dist/render/components/ChatWidget.js +1 -0
  383. package/dist/render/components/CheckoutCTA.d.ts +12 -0
  384. package/dist/render/components/CheckoutCTA.js +1 -0
  385. package/dist/render/components/CollectionCard.d.ts +27 -0
  386. package/dist/render/components/CollectionCard.js +1 -0
  387. package/dist/render/components/Collections.d.ts +17 -0
  388. package/dist/render/components/Collections.js +1 -0
  389. package/dist/render/components/CompatibleTyres.d.ts +23 -0
  390. package/dist/render/components/CompatibleTyres.js +1 -0
  391. package/dist/render/components/ConsentBanner.d.ts +20 -0
  392. package/dist/render/components/ConsentBanner.js +1 -0
  393. package/dist/render/components/ConsentContext.d.ts +22 -0
  394. package/dist/render/components/ConsentContext.js +1 -0
  395. package/dist/render/components/ConsentPanel.d.ts +15 -0
  396. package/dist/render/components/ConsentPanel.js +1 -0
  397. package/dist/render/components/ConsentProvider.d.ts +7 -0
  398. package/dist/render/components/ConsentProvider.js +1 -0
  399. package/dist/render/components/ContactRouting.d.ts +33 -0
  400. package/dist/render/components/ContactRouting.js +1 -0
  401. package/dist/render/components/CountrySelect.d.ts +7 -0
  402. package/dist/render/components/CountrySelect.js +1 -0
  403. package/dist/render/components/CouponField.d.ts +3 -0
  404. package/dist/render/components/CouponField.js +1 -0
  405. package/dist/render/components/CurrencyContext.d.ts +27 -0
  406. package/dist/render/components/CurrencyContext.js +1 -0
  407. package/dist/render/components/DeliveryOptions.d.ts +18 -0
  408. package/dist/render/components/DeliveryOptions.js +1 -0
  409. package/dist/render/components/DeliveryOptionsSource.d.ts +8 -0
  410. package/dist/render/components/DeliveryOptionsSource.js +1 -0
  411. package/dist/render/components/DetailRows.d.ts +22 -0
  412. package/dist/render/components/DetailRows.js +1 -0
  413. package/dist/render/components/DimensionArrowMarkers.d.ts +3 -0
  414. package/dist/render/components/DimensionArrowMarkers.js +1 -0
  415. package/dist/render/components/EditorCurrencyNoticeContext.d.ts +7 -0
  416. package/dist/render/components/EditorCurrencyNoticeContext.js +1 -0
  417. package/dist/render/components/EmailCaptureForm.d.ts +15 -0
  418. package/dist/render/components/EmailCaptureForm.js +1 -0
  419. package/dist/render/components/EnglishVariant.d.ts +7 -0
  420. package/dist/render/components/EnglishVariant.js +1 -0
  421. package/dist/render/components/EuTyreLabelCard.d.ts +4 -0
  422. package/dist/render/components/EuTyreLabelCard.js +1 -0
  423. package/dist/render/components/EuTyreLabels.d.ts +7 -0
  424. package/dist/render/components/EuTyreLabels.js +1 -0
  425. package/dist/render/components/Events.d.ts +62 -0
  426. package/dist/render/components/Events.js +1 -0
  427. package/dist/render/components/FinishSwatches.d.ts +14 -0
  428. package/dist/render/components/FinishSwatches.js +1 -0
  429. package/dist/render/components/FitmentTable.d.ts +17 -0
  430. package/dist/render/components/FitmentTable.js +1 -0
  431. package/dist/render/components/FooterDivider.d.ts +6 -0
  432. package/dist/render/components/FooterDivider.js +1 -0
  433. package/dist/render/components/FooterEmailSignup.d.ts +6 -0
  434. package/dist/render/components/FooterEmailSignup.js +1 -0
  435. package/dist/render/components/FooterGroup.d.ts +8 -0
  436. package/dist/render/components/FooterGroup.js +1 -0
  437. package/dist/render/components/FooterLogo.d.ts +13 -0
  438. package/dist/render/components/FooterLogo.js +1 -0
  439. package/dist/render/components/FooterMenu.d.ts +25 -0
  440. package/dist/render/components/FooterMenu.js +1 -0
  441. package/dist/render/components/FooterSection.d.ts +11 -0
  442. package/dist/render/components/FooterSection.js +1 -0
  443. package/dist/render/components/FooterSocial.d.ts +16 -0
  444. package/dist/render/components/FooterSocial.js +1 -0
  445. package/dist/render/components/FooterText.d.ts +7 -0
  446. package/dist/render/components/FooterText.js +1 -0
  447. package/dist/render/components/FormBlock.d.ts +19 -0
  448. package/dist/render/components/FormBlock.js +1 -0
  449. package/dist/render/components/GalleryCard.d.ts +28 -0
  450. package/dist/render/components/GalleryCard.js +1 -0
  451. package/dist/render/components/GalleryGrid.d.ts +20 -0
  452. package/dist/render/components/GalleryGrid.js +1 -0
  453. package/dist/render/components/GalleryItem.d.ts +41 -0
  454. package/dist/render/components/GalleryItem.js +1 -0
  455. package/dist/render/components/GalleryShowcase.d.ts +51 -0
  456. package/dist/render/components/GalleryShowcase.js +1 -0
  457. package/dist/render/components/Header.d.ts +13 -0
  458. package/dist/render/components/Header.js +1 -0
  459. package/dist/render/components/HeaderNavItem.d.ts +17 -0
  460. package/dist/render/components/HeaderNavItem.js +1 -0
  461. package/dist/render/components/HeaderToolBlocks.d.ts +18 -0
  462. package/dist/render/components/HeaderToolBlocks.js +1 -0
  463. package/dist/render/components/HeaderTools.d.ts +21 -0
  464. package/dist/render/components/HeaderTools.js +1 -0
  465. package/dist/render/components/LegalLine.d.ts +4 -0
  466. package/dist/render/components/LegalLine.js +1 -0
  467. package/dist/render/components/Lightbox.d.ts +19 -0
  468. package/dist/render/components/Lightbox.js +1 -0
  469. package/dist/render/components/LinkedProductHero.d.ts +34 -0
  470. package/dist/render/components/LinkedProductHero.js +1 -0
  471. package/dist/render/components/LiveSiteMapsProvider.d.ts +6 -0
  472. package/dist/render/components/LiveSiteMapsProvider.js +1 -0
  473. package/dist/render/components/MenuPlaceholderLabel.d.ts +1 -0
  474. package/dist/render/components/MenuPlaceholderLabel.js +1 -0
  475. package/dist/render/components/NoCurrencyNote.d.ts +4 -0
  476. package/dist/render/components/NoCurrencyNote.js +1 -0
  477. package/dist/render/components/PreOrderPanel.d.ts +5 -0
  478. package/dist/render/components/PreOrderPanel.js +1 -0
  479. package/dist/render/components/PreviewMenusContext.d.ts +13 -0
  480. package/dist/render/components/PreviewMenusContext.js +1 -0
  481. package/dist/render/components/ProductCard.d.ts +6 -0
  482. package/dist/render/components/ProductCard.js +1 -0
  483. package/dist/render/components/ProductCardChrome.d.ts +37 -0
  484. package/dist/render/components/ProductCardChrome.js +1 -0
  485. package/dist/render/components/ProductCardEyebrow.d.ts +14 -0
  486. package/dist/render/components/ProductCardEyebrow.js +1 -0
  487. package/dist/render/components/ProductGridSection.d.ts +65 -0
  488. package/dist/render/components/ProductGridSection.js +1 -0
  489. package/dist/render/components/ProductHeroPanel.d.ts +22 -0
  490. package/dist/render/components/ProductHeroPanel.js +1 -0
  491. package/dist/render/components/ProductLightbox.d.ts +5 -0
  492. package/dist/render/components/ProductLightbox.js +1 -0
  493. package/dist/render/components/ProductRef.d.ts +16 -0
  494. package/dist/render/components/ProductRef.js +1 -0
  495. package/dist/render/components/PublishedFooter.d.ts +16 -0
  496. package/dist/render/components/PublishedFooter.js +1 -0
  497. package/dist/render/components/PublishedHeader.d.ts +4 -0
  498. package/dist/render/components/PublishedHeader.js +1 -0
  499. package/dist/render/components/QuantityStepper.d.ts +7 -0
  500. package/dist/render/components/QuantityStepper.js +1 -0
  501. package/dist/render/components/QuoteLink.d.ts +4 -0
  502. package/dist/render/components/QuoteLink.js +1 -0
  503. package/dist/render/components/ReviewForm.d.ts +8 -0
  504. package/dist/render/components/ReviewForm.js +1 -0
  505. package/dist/render/components/Reviews.d.ts +12 -0
  506. package/dist/render/components/Reviews.js +1 -0
  507. package/dist/render/components/SearchContext.d.ts +13 -0
  508. package/dist/render/components/SearchContext.js +1 -0
  509. package/dist/render/components/SectionBand.d.ts +9 -0
  510. package/dist/render/components/SectionBand.js +1 -0
  511. package/dist/render/components/SectionFootnote.d.ts +5 -0
  512. package/dist/render/components/SectionFootnote.js +1 -0
  513. package/dist/render/components/SectionGroupBody.d.ts +9 -0
  514. package/dist/render/components/SectionGroupBody.js +1 -0
  515. package/dist/render/components/SectionNotice.d.ts +7 -0
  516. package/dist/render/components/SectionNotice.js +1 -0
  517. package/dist/render/components/SiteRecordContext.d.ts +17 -0
  518. package/dist/render/components/SiteRecordContext.js +1 -0
  519. package/dist/render/components/SiteSwitch.d.ts +10 -0
  520. package/dist/render/components/SiteSwitch.js +1 -0
  521. package/dist/render/components/SpecTable.d.ts +18 -0
  522. package/dist/render/components/SpecTable.js +1 -0
  523. package/dist/render/components/SpecTablePartBridge.d.ts +5 -0
  524. package/dist/render/components/SpecTablePartBridge.js +1 -0
  525. package/dist/render/components/StorefrontProviders.d.ts +15 -0
  526. package/dist/render/components/StorefrontProviders.js +1 -0
  527. package/dist/render/components/SubmitBuild.d.ts +23 -0
  528. package/dist/render/components/SubmitBuild.js +1 -0
  529. package/dist/render/components/Subscribe.d.ts +27 -0
  530. package/dist/render/components/Subscribe.js +1 -0
  531. package/dist/render/components/SubscribePopup.d.ts +19 -0
  532. package/dist/render/components/SubscribePopup.js +7 -0
  533. package/dist/render/components/SubscribePopupContext.d.ts +33 -0
  534. package/dist/render/components/SubscribePopupContext.js +1 -0
  535. package/dist/render/components/ThemeToggle.d.ts +1 -0
  536. package/dist/render/components/ThemeToggle.js +1 -0
  537. package/dist/render/components/ThemedSelect.d.ts +59 -0
  538. package/dist/render/components/ThemedSelect.js +1 -0
  539. package/dist/render/components/TyreCard.d.ts +19 -0
  540. package/dist/render/components/TyreCard.js +1 -0
  541. package/dist/render/components/TyreFitVerdicts.d.ts +7 -0
  542. package/dist/render/components/TyreFitVerdicts.js +1 -0
  543. package/dist/render/components/TyreImage.d.ts +10 -0
  544. package/dist/render/components/TyreImage.js +1 -0
  545. package/dist/render/components/TyrePlpCard.d.ts +19 -0
  546. package/dist/render/components/TyrePlpCard.js +1 -0
  547. package/dist/render/components/TyreRenderSvg.d.ts +7 -0
  548. package/dist/render/components/TyreRenderSvg.js +1 -0
  549. package/dist/render/components/TyreSummaryCard.d.ts +11 -0
  550. package/dist/render/components/TyreSummaryCard.js +1 -0
  551. package/dist/render/components/TyreVehicleFitment.d.ts +18 -0
  552. package/dist/render/components/TyreVehicleFitment.js +1 -0
  553. package/dist/render/components/ViewMoreLink.d.ts +4 -0
  554. package/dist/render/components/ViewMoreLink.js +1 -0
  555. package/dist/render/components/WebFormField.d.ts +17 -0
  556. package/dist/render/components/WebFormField.js +1 -0
  557. package/dist/render/components/WheelCardFrame.d.ts +67 -0
  558. package/dist/render/components/WheelCardFrame.js +1 -0
  559. package/dist/render/components/WheelImage.d.ts +20 -0
  560. package/dist/render/components/WheelImage.js +1 -0
  561. package/dist/render/components/WheelPlaceholder.d.ts +7 -0
  562. package/dist/render/components/WheelPlaceholder.js +1 -0
  563. package/dist/render/components/WheelSvg.d.ts +7 -0
  564. package/dist/render/components/WheelSvg.js +1 -0
  565. package/dist/render/components/WishlistContext.d.ts +13 -0
  566. package/dist/render/components/WishlistContext.js +1 -0
  567. package/dist/render/components/booking/BookingBox.d.ts +16 -0
  568. package/dist/render/components/booking/BookingBox.js +1 -0
  569. package/dist/render/components/booking/BookingFormState.d.ts +46 -0
  570. package/dist/render/components/booking/BookingFormState.js +1 -0
  571. package/dist/render/components/booking/BookingRegions.d.ts +16 -0
  572. package/dist/render/components/booking/BookingRegions.js +1 -0
  573. package/dist/render/components/buy-row.d.ts +1 -0
  574. package/dist/render/components/buy-row.js +1 -0
  575. package/dist/render/components/catalog/CatalogFilterBar.d.ts +55 -0
  576. package/dist/render/components/catalog/CatalogFilterBar.js +1 -0
  577. package/dist/render/components/catalog/CatalogFilterContext.d.ts +39 -0
  578. package/dist/render/components/catalog/CatalogFilterContext.js +1 -0
  579. package/dist/render/components/catalog/CatalogFilterLabels.d.ts +6 -0
  580. package/dist/render/components/catalog/CatalogFilterLabels.js +1 -0
  581. package/dist/render/components/catalog/CatalogVehiclePicker.d.ts +22 -0
  582. package/dist/render/components/catalog/CatalogVehiclePicker.js +1 -0
  583. package/dist/render/components/catalog/FilterPill.d.ts +25 -0
  584. package/dist/render/components/catalog/FilterPill.js +1 -0
  585. package/dist/render/components/catalog/SiteMenuLinks.d.ts +6 -0
  586. package/dist/render/components/catalog/SiteMenuLinks.js +1 -0
  587. package/dist/render/components/checkout/CheckoutPageClient.d.ts +25 -0
  588. package/dist/render/components/checkout/CheckoutPageClient.js +3 -0
  589. package/dist/render/components/fitment/FitmentFinder.d.ts +15 -0
  590. package/dist/render/components/fitment/FitmentFinder.js +1 -0
  591. package/dist/render/components/fitment/FitmentPickerGrid.d.ts +6 -0
  592. package/dist/render/components/fitment/FitmentPickerGrid.js +1 -0
  593. package/dist/render/components/fitment/FitmentRowFit.d.ts +4 -0
  594. package/dist/render/components/fitment/FitmentRowFit.js +1 -0
  595. package/dist/render/components/fitment/PickerField.d.ts +16 -0
  596. package/dist/render/components/fitment/PickerField.js +1 -0
  597. package/dist/render/components/fitment/StockFitmentCard.d.ts +8 -0
  598. package/dist/render/components/fitment/StockFitmentCard.js +1 -0
  599. package/dist/render/components/fitment/useFitmentCascade.d.ts +31 -0
  600. package/dist/render/components/fitment/useFitmentCascade.js +1 -0
  601. package/dist/render/components/fitment/useVehicleFit.d.ts +29 -0
  602. package/dist/render/components/fitment/useVehicleFit.js +1 -0
  603. package/dist/render/components/fitment/vehicle-control.d.ts +10 -0
  604. package/dist/render/components/fitment/vehicle-control.js +0 -0
  605. package/dist/render/components/fitment/vehicle-level-state.d.ts +14 -0
  606. package/dist/render/components/fitment/vehicle-level-state.js +1 -0
  607. package/dist/render/components/formSubmission.d.ts +32 -0
  608. package/dist/render/components/formSubmission.js +1 -0
  609. package/dist/render/components/pdp-dynamic/DynamicBundleOffer.d.ts +13 -0
  610. package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -0
  611. package/dist/render/components/pdp-dynamic/DynamicDetailRows.d.ts +14 -0
  612. package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -0
  613. package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.d.ts +8 -0
  614. package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -0
  615. package/dist/render/components/pdp-dynamic/DynamicFitmentTable.d.ts +16 -0
  616. package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -0
  617. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.d.ts +18 -0
  618. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -0
  619. package/dist/render/components/pdp-dynamic/DynamicProductHero.d.ts +25 -0
  620. package/dist/render/components/pdp-dynamic/DynamicProductHero.js +1 -0
  621. package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.d.ts +31 -0
  622. package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -0
  623. package/dist/render/components/pdp-dynamic/DynamicSpecTable.d.ts +13 -0
  624. package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -0
  625. package/dist/render/components/pdp-dynamic/DynamicTyreFitment.d.ts +13 -0
  626. package/dist/render/components/pdp-dynamic/DynamicTyreFitment.js +1 -0
  627. package/dist/render/components/pdp-dynamic/DynamicTyreSizes.d.ts +11 -0
  628. package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -0
  629. package/dist/render/components/pdp-dynamic/FitmentTableBlock.d.ts +7 -0
  630. package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -0
  631. package/dist/render/components/pdp-dynamic/KindGate.d.ts +8 -0
  632. package/dist/render/components/pdp-dynamic/KindGate.js +1 -0
  633. package/dist/render/components/pdp-dynamic/useSampleProduct.d.ts +5 -0
  634. package/dist/render/components/pdp-dynamic/useSampleProduct.js +1 -0
  635. package/dist/render/components/product-hero/TyreHeroFitment.d.ts +17 -0
  636. package/dist/render/components/product-hero/TyreHeroFitment.js +1 -0
  637. package/dist/render/components/product-hero/VehicleQuestion.d.ts +18 -0
  638. package/dist/render/components/product-hero/VehicleQuestion.js +1 -0
  639. package/dist/render/components/product-hero/WheelHeroFitment.d.ts +9 -0
  640. package/dist/render/components/product-hero/WheelHeroFitment.js +1 -0
  641. package/dist/render/components/product-hero/hero-content.d.ts +7 -0
  642. package/dist/render/components/product-hero/hero-content.js +1 -0
  643. package/dist/render/components/product-hero/hero-view.d.ts +37 -0
  644. package/dist/render/components/product-hero/hero-view.js +1 -0
  645. package/dist/render/components/product-hero/stage-photo.d.ts +10 -0
  646. package/dist/render/components/product-hero/stage-photo.js +3 -0
  647. package/dist/render/components/submit/SubmitBox.d.ts +19 -0
  648. package/dist/render/components/submit/SubmitBox.js +1 -0
  649. package/dist/render/components/submit/SubmitRegions.d.ts +17 -0
  650. package/dist/render/components/submit/SubmitRegions.js +1 -0
  651. package/dist/render/components/useEuTyreLabels.d.ts +3 -0
  652. package/dist/render/components/useEuTyreLabels.js +1 -0
  653. package/dist/render/components/useFinishSelection.d.ts +17 -0
  654. package/dist/render/components/useFinishSelection.js +1 -0
  655. package/dist/render/components/useHeaderBar.d.ts +9 -0
  656. package/dist/render/components/useHeaderBar.js +1 -0
  657. package/dist/render/components/useLightbox.d.ts +10 -0
  658. package/dist/render/components/useLightbox.js +1 -0
  659. package/dist/render/components/useModalDismiss.d.ts +8 -0
  660. package/dist/render/components/useModalDismiss.js +1 -0
  661. package/dist/render/components/useNewsletterSignup.d.ts +12 -0
  662. package/dist/render/components/useNewsletterSignup.js +1 -0
  663. package/dist/render/components/usePreOrderIntent.d.ts +14 -0
  664. package/dist/render/components/usePreOrderIntent.js +1 -0
  665. package/dist/render/components/useProductCatalog.d.ts +54 -0
  666. package/dist/render/components/useProductCatalog.js +1 -0
  667. package/dist/render/components/useProductSelection.d.ts +39 -0
  668. package/dist/render/components/useProductSelection.js +1 -0
  669. package/dist/render/components/useStockAlertSignup.d.ts +14 -0
  670. package/dist/render/components/useStockAlertSignup.js +1 -0
  671. package/dist/render/components/useStorefrontReviews.d.ts +2 -0
  672. package/dist/render/components/useStorefrontReviews.js +1 -0
  673. package/dist/render/components/useTyreCatalog.d.ts +2 -0
  674. package/dist/render/components/useTyreCatalog.js +1 -0
  675. package/dist/render/components/useTyreDetail.d.ts +6 -0
  676. package/dist/render/components/useTyreDetail.js +1 -0
  677. package/dist/render/components/useTyreFitAnswer.d.ts +5 -0
  678. package/dist/render/components/useTyreFitAnswer.js +1 -0
  679. package/dist/render/components/useWheelDetail.d.ts +6 -0
  680. package/dist/render/components/useWheelDetail.js +1 -0
  681. package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +42 -0
  682. package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -0
  683. package/dist/render/components/wheels-plp/PlpActiveChips.d.ts +9 -0
  684. package/dist/render/components/wheels-plp/PlpActiveChips.js +1 -0
  685. package/dist/render/components/wheels-plp/PlpCard.d.ts +27 -0
  686. package/dist/render/components/wheels-plp/PlpCard.js +1 -0
  687. package/dist/render/components/wheels-plp/PlpInStockToggle.d.ts +6 -0
  688. package/dist/render/components/wheels-plp/PlpInStockToggle.js +1 -0
  689. package/dist/render/components/wheels-plp/PlpNotifyMeDialog.d.ts +10 -0
  690. package/dist/render/components/wheels-plp/PlpNotifyMeDialog.js +1 -0
  691. package/dist/render/components/wheels-plp/PlpPagination.d.ts +5 -0
  692. package/dist/render/components/wheels-plp/PlpPagination.js +1 -0
  693. package/dist/render/components/wheels-plp/PlpSidebar.d.ts +25 -0
  694. package/dist/render/components/wheels-plp/PlpSidebar.js +1 -0
  695. package/dist/render/components/wheels-plp/PlpTypePicker.d.ts +7 -0
  696. package/dist/render/components/wheels-plp/PlpTypePicker.js +1 -0
  697. package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.d.ts +9 -0
  698. package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.js +1 -0
  699. package/dist/render/components/wheels-plp/PlpVehicleBar.d.ts +15 -0
  700. package/dist/render/components/wheels-plp/PlpVehicleBar.js +1 -0
  701. package/dist/render/components/wheels-plp/PlpVehicleGate.d.ts +10 -0
  702. package/dist/render/components/wheels-plp/PlpVehicleGate.js +1 -0
  703. package/dist/render/components/wheels-plp/usePlpCardSelection.d.ts +18 -0
  704. package/dist/render/components/wheels-plp/usePlpCardSelection.js +1 -0
  705. package/dist/render/components/wheels-plp/usePlpFiltersInUrl.d.ts +10 -0
  706. package/dist/render/components/wheels-plp/usePlpFiltersInUrl.js +1 -0
  707. package/dist/render/components/wheels-plp/useVehicleCatalog.d.ts +10 -0
  708. package/dist/render/components/wheels-plp/useVehicleCatalog.js +1 -0
  709. package/dist/render/components/wheels-plp/useWheelCardBottom.d.ts +20 -0
  710. package/dist/render/components/wheels-plp/useWheelCardBottom.js +1 -0
  711. package/dist/render/lib/api/chat.d.ts +31 -0
  712. package/dist/render/lib/api/chat.js +1 -0
  713. package/dist/render/lib/api/fitment-data.d.ts +18 -0
  714. package/dist/render/lib/api/fitment-data.js +1 -0
  715. package/dist/render/lib/api/gallery-builds-data.d.ts +4 -0
  716. package/dist/render/lib/api/gallery-builds-data.js +1 -0
  717. package/dist/render/lib/api/generated-upload-limits.d.ts +1292 -0
  718. package/dist/render/lib/api/generated-upload-limits.js +1 -0
  719. package/dist/render/lib/api/index.d.ts +806 -0
  720. package/dist/render/lib/api/index.js +1 -0
  721. package/dist/render/lib/api/origins.d.ts +2 -0
  722. package/dist/render/lib/api/origins.js +1 -0
  723. package/dist/render/lib/api/types.d.ts +3928 -0
  724. package/dist/render/lib/api/types.js +0 -0
  725. package/dist/render/lib/api/upload-limits.d.ts +10 -0
  726. package/dist/render/lib/api/upload-limits.js +1 -0
  727. package/dist/render/lib/assistant-chat.d.ts +35 -0
  728. package/dist/render/lib/assistant-chat.js +1 -0
  729. package/dist/render/lib/auth.d.ts +6 -0
  730. package/dist/render/lib/auth.js +1 -0
  731. package/dist/render/lib/booking/text-kinds.d.ts +11 -0
  732. package/dist/render/lib/booking/text-kinds.js +1 -0
  733. package/dist/render/lib/booking-dates.d.ts +23 -0
  734. package/dist/render/lib/booking-dates.js +1 -0
  735. package/dist/render/lib/cache-evict.d.ts +4 -0
  736. package/dist/render/lib/cache-evict.js +1 -0
  737. package/dist/render/lib/cart/coupon-preview.d.ts +12 -0
  738. package/dist/render/lib/cart/coupon-preview.js +1 -0
  739. package/dist/render/lib/cart/shipping-status.d.ts +12 -0
  740. package/dist/render/lib/cart/shipping-status.js +1 -0
  741. package/dist/render/lib/cart/snapshot-lines.d.ts +3 -0
  742. package/dist/render/lib/cart/snapshot-lines.js +1 -0
  743. package/dist/render/lib/catalog/from-tyre.d.ts +3 -0
  744. package/dist/render/lib/catalog/from-tyre.js +1 -0
  745. package/dist/render/lib/catalog/from-wheel.d.ts +7 -0
  746. package/dist/render/lib/catalog/from-wheel.js +1 -0
  747. package/dist/render/lib/catalog/listing-links.d.ts +11 -0
  748. package/dist/render/lib/catalog/listing-links.js +1 -0
  749. package/dist/render/lib/catalog/plp-item.d.ts +39 -0
  750. package/dist/render/lib/catalog/plp-item.js +1 -0
  751. package/dist/render/lib/catalog/plp-vehicle-copy.d.ts +20 -0
  752. package/dist/render/lib/catalog/plp-vehicle-copy.js +1 -0
  753. package/dist/render/lib/catalog/plp-vehicle-slice.d.ts +13 -0
  754. package/dist/render/lib/catalog/plp-vehicle-slice.js +1 -0
  755. package/dist/render/lib/catalog/product-options.d.ts +27 -0
  756. package/dist/render/lib/catalog/product-options.js +1 -0
  757. package/dist/render/lib/catalog/purchase.d.ts +46 -0
  758. package/dist/render/lib/catalog/purchase.js +1 -0
  759. package/dist/render/lib/catalog/related-cards.d.ts +12 -0
  760. package/dist/render/lib/catalog/related-cards.js +1 -0
  761. package/dist/render/lib/catalog/relationships.d.ts +28 -0
  762. package/dist/render/lib/catalog/relationships.js +1 -0
  763. package/dist/render/lib/catalog/store-product.d.ts +56 -0
  764. package/dist/render/lib/catalog/store-product.js +1 -0
  765. package/dist/render/lib/chat-socket.d.ts +8 -0
  766. package/dist/render/lib/chat-socket.js +1 -0
  767. package/dist/render/lib/checkout/wallet-return.d.ts +52 -0
  768. package/dist/render/lib/checkout/wallet-return.js +1 -0
  769. package/dist/render/lib/chrome-cache.d.ts +6 -0
  770. package/dist/render/lib/chrome-cache.js +1 -0
  771. package/dist/render/lib/chrome-load.d.ts +28 -0
  772. package/dist/render/lib/chrome-load.js +1 -0
  773. package/dist/render/lib/click-ids.d.ts +8 -0
  774. package/dist/render/lib/click-ids.js +1 -0
  775. package/dist/render/lib/commerce.d.ts +42 -0
  776. package/dist/render/lib/commerce.js +1 -0
  777. package/dist/render/lib/consent/choice.d.ts +35 -0
  778. package/dist/render/lib/consent/choice.js +1 -0
  779. package/dist/render/lib/consent/rules.d.ts +60 -0
  780. package/dist/render/lib/consent/rules.js +1 -0
  781. package/dist/render/lib/content/catalog-filter-labels.d.ts +6 -0
  782. package/dist/render/lib/content/catalog-filter-labels.js +1 -0
  783. package/dist/render/lib/content/country-show-as.d.ts +9 -0
  784. package/dist/render/lib/content/country-show-as.js +1 -0
  785. package/dist/render/lib/content/english-variant.d.ts +4 -0
  786. package/dist/render/lib/content/english-variant.js +1 -0
  787. package/dist/render/lib/content/field-usage.d.ts +35 -0
  788. package/dist/render/lib/content/field-usage.js +1 -0
  789. package/dist/render/lib/content/header-bar.d.ts +8 -0
  790. package/dist/render/lib/content/header-bar.js +1 -0
  791. package/dist/render/lib/content/header-theme.d.ts +7 -0
  792. package/dist/render/lib/content/header-theme.js +1 -0
  793. package/dist/render/lib/content/menu-placeholder.d.ts +8 -0
  794. package/dist/render/lib/content/menu-placeholder.js +1 -0
  795. package/dist/render/lib/content/menu-row.d.ts +9 -0
  796. package/dist/render/lib/content/menu-row.js +1 -0
  797. package/dist/render/lib/content/product-hero.d.ts +13 -0
  798. package/dist/render/lib/content/product-hero.js +1 -0
  799. package/dist/render/lib/content/site.d.ts +62 -0
  800. package/dist/render/lib/content/site.js +1 -0
  801. package/dist/render/lib/content/source-values.d.ts +43 -0
  802. package/dist/render/lib/content/source-values.js +0 -0
  803. package/dist/render/lib/content/stock-words.d.ts +10 -0
  804. package/dist/render/lib/content/stock-words.js +1 -0
  805. package/dist/render/lib/countries.d.ts +5 -0
  806. package/dist/render/lib/countries.js +1 -0
  807. package/dist/render/lib/editor-route.d.ts +3 -0
  808. package/dist/render/lib/editor-route.js +1 -0
  809. package/dist/render/lib/email-shape.d.ts +1 -0
  810. package/dist/render/lib/email-shape.js +1 -0
  811. package/dist/render/lib/font-table.json +2588 -0
  812. package/dist/render/lib/forwarded-for.d.ts +6 -0
  813. package/dist/render/lib/forwarded-for.js +1 -0
  814. package/dist/render/lib/google-tag.d.ts +37 -0
  815. package/dist/render/lib/google-tag.js +1 -0
  816. package/dist/render/lib/header-settings-fetch.d.ts +5 -0
  817. package/dist/render/lib/header-settings-fetch.js +1 -0
  818. package/dist/render/lib/links/link-rules.d.ts +80 -0
  819. package/dist/render/lib/links/link-rules.js +1 -0
  820. package/dist/render/lib/logo/surface-is-light.d.ts +1 -0
  821. package/dist/render/lib/logo/surface-is-light.js +1 -0
  822. package/dist/render/lib/menu-link.d.ts +1 -0
  823. package/dist/render/lib/menu-link.js +1 -0
  824. package/dist/render/lib/menu-source.d.ts +23 -0
  825. package/dist/render/lib/menu-source.js +1 -0
  826. package/dist/render/lib/meta-pixel.d.ts +19 -0
  827. package/dist/render/lib/meta-pixel.js +1 -0
  828. package/dist/render/lib/newsletter-signup.d.ts +16 -0
  829. package/dist/render/lib/newsletter-signup.js +1 -0
  830. package/dist/render/lib/next-fonts.d.ts +3 -0
  831. package/dist/render/lib/next-fonts.js +1 -0
  832. package/dist/render/lib/popup/popup-rules.d.ts +25 -0
  833. package/dist/render/lib/popup/popup-rules.js +1 -0
  834. package/dist/render/lib/popup/text-kind-style.d.ts +3 -0
  835. package/dist/render/lib/popup/text-kind-style.js +1 -0
  836. package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.d.ts +2 -0
  837. package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.js +1 -0
  838. package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.d.ts +6 -0
  839. package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +1 -0
  840. package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.d.ts +2 -0
  841. package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +1 -0
  842. package/dist/render/lib/puck/blocks/commerce/CartBlock/render.d.ts +2 -0
  843. package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +1 -0
  844. package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.d.ts +2 -0
  845. package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +1 -0
  846. package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.d.ts +6 -0
  847. package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +1 -0
  848. package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.d.ts +2 -0
  849. package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +1 -0
  850. package/dist/render/lib/puck/blocks/commerce/Collections/render.d.ts +7 -0
  851. package/dist/render/lib/puck/blocks/commerce/Collections/render.js +1 -0
  852. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.d.ts +9 -0
  853. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +1 -0
  854. package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.d.ts +2 -0
  855. package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.js +1 -0
  856. package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.d.ts +6 -0
  857. package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +1 -0
  858. package/dist/render/lib/puck/blocks/commerce/DetailRows/render.d.ts +9 -0
  859. package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +1 -0
  860. package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.d.ts +2 -0
  861. package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +1 -0
  862. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.d.ts +8 -0
  863. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +1 -0
  864. package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.d.ts +9 -0
  865. package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +1 -0
  866. package/dist/render/lib/puck/blocks/commerce/Gallery/render.d.ts +14 -0
  867. package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +1 -0
  868. package/dist/render/lib/puck/blocks/commerce/GalleryB/render.d.ts +13 -0
  869. package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +1 -0
  870. package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.d.ts +2 -0
  871. package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +1 -0
  872. package/dist/render/lib/puck/blocks/commerce/Header/render.d.ts +2 -0
  873. package/dist/render/lib/puck/blocks/commerce/Header/render.js +1 -0
  874. package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.d.ts +7 -0
  875. package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +1 -0
  876. package/dist/render/lib/puck/blocks/commerce/ProductHero/render.d.ts +2 -0
  877. package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +1 -0
  878. package/dist/render/lib/puck/blocks/commerce/ProductRef/render.d.ts +2 -0
  879. package/dist/render/lib/puck/blocks/commerce/ProductRef/render.js +1 -0
  880. package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.d.ts +6 -0
  881. package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +1 -0
  882. package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.d.ts +2 -0
  883. package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +1 -0
  884. package/dist/render/lib/puck/blocks/commerce/SpecTable/render.d.ts +7 -0
  885. package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +1 -0
  886. package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.d.ts +2 -0
  887. package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.js +1 -0
  888. package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.d.ts +2 -0
  889. package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +1 -0
  890. package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.d.ts +2 -0
  891. package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +1 -0
  892. package/dist/render/lib/puck/blocks/commerce/placeholders.d.ts +4 -0
  893. package/dist/render/lib/puck/blocks/commerce/placeholders.js +1 -0
  894. package/dist/render/lib/puck/blocks/commerce/renders.d.ts +32 -0
  895. package/dist/render/lib/puck/blocks/commerce/renders.js +1 -0
  896. package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.d.ts +8 -0
  897. package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +1 -0
  898. package/dist/render/lib/puck/blocks/service/BookingBox/render.d.ts +2 -0
  899. package/dist/render/lib/puck/blocks/service/BookingBox/render.js +1 -0
  900. package/dist/render/lib/puck/blocks/service/ContactRouting/render.d.ts +2 -0
  901. package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +1 -0
  902. package/dist/render/lib/puck/blocks/service/Events/render.d.ts +7 -0
  903. package/dist/render/lib/puck/blocks/service/Events/render.js +1 -0
  904. package/dist/render/lib/puck/blocks/service/Footer/render.d.ts +8 -0
  905. package/dist/render/lib/puck/blocks/service/Footer/render.js +1 -0
  906. package/dist/render/lib/puck/blocks/service/FooterDivider/render.d.ts +2 -0
  907. package/dist/render/lib/puck/blocks/service/FooterDivider/render.js +1 -0
  908. package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.d.ts +2 -0
  909. package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +1 -0
  910. package/dist/render/lib/puck/blocks/service/FooterGroup/render.d.ts +8 -0
  911. package/dist/render/lib/puck/blocks/service/FooterGroup/render.js +1 -0
  912. package/dist/render/lib/puck/blocks/service/FooterLogo/render.d.ts +2 -0
  913. package/dist/render/lib/puck/blocks/service/FooterLogo/render.js +1 -0
  914. package/dist/render/lib/puck/blocks/service/FooterMenu/render.d.ts +2 -0
  915. package/dist/render/lib/puck/blocks/service/FooterMenu/render.js +1 -0
  916. package/dist/render/lib/puck/blocks/service/FooterSocial/render.d.ts +2 -0
  917. package/dist/render/lib/puck/blocks/service/FooterSocial/render.js +1 -0
  918. package/dist/render/lib/puck/blocks/service/FooterText/render.d.ts +2 -0
  919. package/dist/render/lib/puck/blocks/service/FooterText/render.js +1 -0
  920. package/dist/render/lib/puck/blocks/service/Form/render.d.ts +2 -0
  921. package/dist/render/lib/puck/blocks/service/Form/render.js +1 -0
  922. package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.d.ts +2 -0
  923. package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.js +1 -0
  924. package/dist/render/lib/puck/blocks/service/ReviewForm/render.d.ts +6 -0
  925. package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +1 -0
  926. package/dist/render/lib/puck/blocks/service/Reviews/render.d.ts +6 -0
  927. package/dist/render/lib/puck/blocks/service/Reviews/render.js +1 -0
  928. package/dist/render/lib/puck/blocks/service/SiteFooter/render.d.ts +7 -0
  929. package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +1 -0
  930. package/dist/render/lib/puck/blocks/service/SiteHeader/render.d.ts +7 -0
  931. package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +1 -0
  932. package/dist/render/lib/puck/blocks/service/SubmitBox/render.d.ts +2 -0
  933. package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +1 -0
  934. package/dist/render/lib/puck/blocks/service/SubmitBuild/render.d.ts +8 -0
  935. package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +1 -0
  936. package/dist/render/lib/puck/blocks/service/Subscribe/render.d.ts +2 -0
  937. package/dist/render/lib/puck/blocks/service/Subscribe/render.js +1 -0
  938. package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.d.ts +17 -0
  939. package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +1 -0
  940. package/dist/render/lib/puck/blocks/service/renders.d.ts +26 -0
  941. package/dist/render/lib/puck/blocks/service/renders.js +1 -0
  942. package/dist/render/lib/puck/blocks/service/subscribe.d.ts +33 -0
  943. package/dist/render/lib/puck/blocks/service/subscribe.js +1 -0
  944. package/dist/render/lib/puck/blocks/text-part-shapes.json +1649 -0
  945. package/dist/render/lib/puck/current-product.d.ts +19 -0
  946. package/dist/render/lib/puck/current-product.js +1 -0
  947. package/dist/render/lib/puck/current-record.d.ts +44 -0
  948. package/dist/render/lib/puck/current-record.js +1 -0
  949. package/dist/render/lib/puck/fitment-table-dynamic.d.ts +4 -0
  950. package/dist/render/lib/puck/fitment-table-dynamic.js +1 -0
  951. package/dist/render/lib/puck/footer-page-blocks.d.ts +7 -0
  952. package/dist/render/lib/puck/footer-page-blocks.js +1 -0
  953. package/dist/render/lib/puck/preview-pick.d.ts +7 -0
  954. package/dist/render/lib/puck/preview-pick.js +1 -0
  955. package/dist/render/lib/puck/preview-product.d.ts +6 -0
  956. package/dist/render/lib/puck/preview-product.js +1 -0
  957. package/dist/render/lib/puck/render-client.d.ts +5 -0
  958. package/dist/render/lib/puck/render-client.js +1 -0
  959. package/dist/render/lib/puck/render-config.d.ts +4 -0
  960. package/dist/render/lib/puck/render-config.js +1 -0
  961. package/dist/render/lib/puck/slot-seeds.d.ts +3 -0
  962. package/dist/render/lib/puck/slot-seeds.js +1 -0
  963. package/dist/render/lib/puck/storefront-root.d.ts +18 -0
  964. package/dist/render/lib/puck/storefront-root.js +1 -0
  965. package/dist/render/lib/puck/subscribe-content-type.d.ts +10 -0
  966. package/dist/render/lib/puck/subscribe-content-type.js +1 -0
  967. package/dist/render/lib/puck/template-product-kind.d.ts +7 -0
  968. package/dist/render/lib/puck/template-product-kind.js +1 -0
  969. package/dist/render/lib/sections/card-image-sizes.d.ts +12 -0
  970. package/dist/render/lib/sections/card-image-sizes.js +1 -0
  971. package/dist/render/lib/sections/card-show-defaults.d.ts +10 -0
  972. package/dist/render/lib/sections/card-show-defaults.js +1 -0
  973. package/dist/render/lib/sections/catalog-filter-layout.d.ts +7 -0
  974. package/dist/render/lib/sections/catalog-filter-layout.js +1 -0
  975. package/dist/render/lib/sections/fill-row.d.ts +16 -0
  976. package/dist/render/lib/sections/fill-row.js +1 -0
  977. package/dist/render/lib/sections/hero-arrangement.d.ts +11 -0
  978. package/dist/render/lib/sections/hero-arrangement.js +1 -0
  979. package/dist/render/lib/sections/hero-gallery.d.ts +14 -0
  980. package/dist/render/lib/sections/hero-gallery.js +1 -0
  981. package/dist/render/lib/sections/hero-price-placement.d.ts +7 -0
  982. package/dist/render/lib/sections/hero-price-placement.js +1 -0
  983. package/dist/render/lib/select-keys.d.ts +18 -0
  984. package/dist/render/lib/select-keys.js +1 -0
  985. package/dist/render/lib/site-headers.d.ts +3 -0
  986. package/dist/render/lib/site-headers.js +1 -0
  987. package/dist/render/lib/storefront-page-groups.d.ts +16 -0
  988. package/dist/render/lib/storefront-page-groups.js +1 -0
  989. package/dist/render/lib/storefront-page-order.d.ts +3 -0
  990. package/dist/render/lib/storefront-page-order.js +1 -0
  991. package/dist/render/lib/submit/text-kinds.d.ts +11 -0
  992. package/dist/render/lib/submit/text-kinds.js +1 -0
  993. package/dist/render/lib/tyres/eu-tyre-label.d.ts +29 -0
  994. package/dist/render/lib/tyres/eu-tyre-label.js +1 -0
  995. package/dist/render/lib/tyres/placeholder-tyre.d.ts +2 -0
  996. package/dist/render/lib/tyres/placeholder-tyre.js +1 -0
  997. package/dist/render/lib/tyres/spec-sheet.d.ts +12 -0
  998. package/dist/render/lib/tyres/spec-sheet.js +1 -0
  999. package/dist/render/lib/tyres/tyre-brand-name.d.ts +2 -0
  1000. package/dist/render/lib/tyres/tyre-brand-name.js +1 -0
  1001. package/dist/render/lib/tyres/tyre-fit-copy.d.ts +3 -0
  1002. package/dist/render/lib/tyres/tyre-fit-copy.js +1 -0
  1003. package/dist/render/lib/tyres/tyre-page-path.d.ts +2 -0
  1004. package/dist/render/lib/tyres/tyre-page-path.js +1 -0
  1005. package/dist/render/lib/tyres/tyre-purchase.d.ts +12 -0
  1006. package/dist/render/lib/tyres/tyre-purchase.js +1 -0
  1007. package/dist/render/lib/tyres/tyre-size-fit.d.ts +12 -0
  1008. package/dist/render/lib/tyres/tyre-size-fit.js +1 -0
  1009. package/dist/render/lib/tyres/tyre-size.d.ts +11 -0
  1010. package/dist/render/lib/tyres/tyre-size.js +1 -0
  1011. package/dist/render/lib/tyres/tyre-vehicle-fitment.d.ts +17 -0
  1012. package/dist/render/lib/tyres/tyre-vehicle-fitment.js +1 -0
  1013. package/dist/render/lib/uuid.d.ts +1 -0
  1014. package/dist/render/lib/uuid.js +1 -0
  1015. package/dist/render/lib/wheels/applied-vehicle.d.ts +1 -0
  1016. package/dist/render/lib/wheels/applied-vehicle.js +1 -0
  1017. package/dist/render/lib/wheels/catalog-default-layout.d.ts +14 -0
  1018. package/dist/render/lib/wheels/catalog-default-layout.js +1 -0
  1019. package/dist/render/lib/wheels/catalog-filters-to-listing.d.ts +9 -0
  1020. package/dist/render/lib/wheels/catalog-filters-to-listing.js +1 -0
  1021. package/dist/render/lib/wheels/catalog-filters.d.ts +19 -0
  1022. package/dist/render/lib/wheels/catalog-filters.js +1 -0
  1023. package/dist/render/lib/wheels/collections.d.ts +22 -0
  1024. package/dist/render/lib/wheels/collections.js +1 -0
  1025. package/dist/render/lib/wheels/cover-rendering.d.ts +23 -0
  1026. package/dist/render/lib/wheels/cover-rendering.js +1 -0
  1027. package/dist/render/lib/wheels/detail-shots.d.ts +10 -0
  1028. package/dist/render/lib/wheels/detail-shots.js +1 -0
  1029. package/dist/render/lib/wheels/finish-colour-match.d.ts +4 -0
  1030. package/dist/render/lib/wheels/finish-colour-match.js +1 -0
  1031. package/dist/render/lib/wheels/finish-defaults.d.ts +16 -0
  1032. package/dist/render/lib/wheels/finish-defaults.js +1 -0
  1033. package/dist/render/lib/wheels/finish-photos.d.ts +2 -0
  1034. package/dist/render/lib/wheels/finish-photos.js +1 -0
  1035. package/dist/render/lib/wheels/fitment-columns.d.ts +9 -0
  1036. package/dist/render/lib/wheels/fitment-columns.js +1 -0
  1037. package/dist/render/lib/wheels/fitment-options.d.ts +18 -0
  1038. package/dist/render/lib/wheels/fitment-options.js +1 -0
  1039. package/dist/render/lib/wheels/fitment-row-fit.d.ts +17 -0
  1040. package/dist/render/lib/wheels/fitment-row-fit.js +1 -0
  1041. package/dist/render/lib/wheels/fitments.d.ts +13 -0
  1042. package/dist/render/lib/wheels/fitments.js +1 -0
  1043. package/dist/render/lib/wheels/grid-source.d.ts +12 -0
  1044. package/dist/render/lib/wheels/grid-source.js +1 -0
  1045. package/dist/render/lib/wheels/listable-wheels.d.ts +3 -0
  1046. package/dist/render/lib/wheels/listable-wheels.js +1 -0
  1047. package/dist/render/lib/wheels/lug-count.d.ts +10 -0
  1048. package/dist/render/lib/wheels/lug-count.js +1 -0
  1049. package/dist/render/lib/wheels/pdp-fit-verdict.d.ts +27 -0
  1050. package/dist/render/lib/wheels/pdp-fit-verdict.js +1 -0
  1051. package/dist/render/lib/wheels/picker-goes-to-the-shop.d.ts +10 -0
  1052. package/dist/render/lib/wheels/picker-goes-to-the-shop.js +1 -0
  1053. package/dist/render/lib/wheels/placeholder-wheel.d.ts +3 -0
  1054. package/dist/render/lib/wheels/placeholder-wheel.js +1 -0
  1055. package/dist/render/lib/wheels/plp-filters.d.ts +100 -0
  1056. package/dist/render/lib/wheels/plp-filters.js +1 -0
  1057. package/dist/render/lib/wheels/plp-fitment-match.d.ts +61 -0
  1058. package/dist/render/lib/wheels/plp-fitment-match.js +1 -0
  1059. package/dist/render/lib/wheels/plp-grid.d.ts +18 -0
  1060. package/dist/render/lib/wheels/plp-grid.js +1 -0
  1061. package/dist/render/lib/wheels/plp-hydrate.d.ts +21 -0
  1062. package/dist/render/lib/wheels/plp-hydrate.js +1 -0
  1063. package/dist/render/lib/wheels/plp-vehicle-params.d.ts +10 -0
  1064. package/dist/render/lib/wheels/plp-vehicle-params.js +1 -0
  1065. package/dist/render/lib/wheels/pre-order-intent.d.ts +3 -0
  1066. package/dist/render/lib/wheels/pre-order-intent.js +1 -0
  1067. package/dist/render/lib/wheels/pre-order.d.ts +7 -0
  1068. package/dist/render/lib/wheels/pre-order.js +1 -0
  1069. package/dist/render/lib/wheels/price-display.d.ts +47 -0
  1070. package/dist/render/lib/wheels/price-display.js +1 -0
  1071. package/dist/render/lib/wheels/render-fit.d.ts +3 -0
  1072. package/dist/render/lib/wheels/render-fit.js +1 -0
  1073. package/dist/render/lib/wheels/renderable-finishes.d.ts +6 -0
  1074. package/dist/render/lib/wheels/renderable-finishes.js +1 -0
  1075. package/dist/render/lib/wheels/selected-studs.d.ts +9 -0
  1076. package/dist/render/lib/wheels/selected-studs.js +1 -0
  1077. package/dist/render/lib/wheels/set-mode.d.ts +34 -0
  1078. package/dist/render/lib/wheels/set-mode.js +1 -0
  1079. package/dist/render/lib/wheels/size-range.d.ts +10 -0
  1080. package/dist/render/lib/wheels/size-range.js +1 -0
  1081. package/dist/render/lib/wheels/spec-format.d.ts +7 -0
  1082. package/dist/render/lib/wheels/spec-format.js +1 -0
  1083. package/dist/render/lib/wheels/spec-sheet.d.ts +58 -0
  1084. package/dist/render/lib/wheels/spec-sheet.js +1 -0
  1085. package/dist/render/lib/wheels/tyre-render.d.ts +34 -0
  1086. package/dist/render/lib/wheels/tyre-render.js +1 -0
  1087. package/dist/render/lib/wheels/variant-spec.d.ts +9 -0
  1088. package/dist/render/lib/wheels/variant-spec.js +1 -0
  1089. package/dist/render/lib/wheels/variants.d.ts +8 -0
  1090. package/dist/render/lib/wheels/variants.js +1 -0
  1091. package/dist/render/lib/wheels/vehicle-field-focus.d.ts +7 -0
  1092. package/dist/render/lib/wheels/vehicle-field-focus.js +1 -0
  1093. package/dist/render/lib/wheels/vehicle-memory.d.ts +25 -0
  1094. package/dist/render/lib/wheels/vehicle-memory.js +1 -0
  1095. package/dist/render/lib/wheels/wheel-name.d.ts +4 -0
  1096. package/dist/render/lib/wheels/wheel-name.js +1 -0
  1097. package/dist/render/lib/wheels/wheel-specs.d.ts +14 -0
  1098. package/dist/render/lib/wheels/wheel-specs.js +1 -0
  1099. package/dist/render/lib/wheels/wheel-summary-casing.d.ts +4 -0
  1100. package/dist/render/lib/wheels/wheel-summary-casing.js +1 -0
  1101. package/dist/render/lib/wheels/wheels.d.ts +38 -0
  1102. package/dist/render/lib/wheels/wheels.js +1 -0
  1103. package/dist/render/mocks/fitment-snapshot.json +3911 -0
  1104. package/dist/render/mocks/gallery-builds.json +213 -0
  1105. package/dist/words.d.ts +68 -7
  1106. package/dist/words.js +5 -5
  1107. package/package.json +37 -5
  1108. package/dist/chunks/chunk-BDITPYS5.js +0 -1
  1109. package/dist/chunks/chunk-EHKAKDFN.js +0 -255
  1110. /package/dist/chunks/{chunk-4NM2MDGN.js → chunk-76HTJBKU.js} +0 -0
  1111. /package/dist/chunks/{chunk-EHKAKDFN.js.LEGAL.txt → chunk-PHH7L5FJ.js.LEGAL.txt} +0 -0
@@ -0,0 +1,37 @@
1
+ import { type ReactNode } from "react";
2
+ import { type CardIndexFormat, type CardOutline } from "efficient-web-builder/format/lib/sections/product-card-style";
3
+ import type { FieldUsageAnswer } from "../lib/content/field-usage.js";
4
+ export interface ProductCardChrome {
5
+ imageBackgroundFill: string;
6
+ spinOnHover: boolean;
7
+ coverIndex: number;
8
+ indexBadge: CardIndexFormat;
9
+ outline: CardOutline;
10
+ showBadge: boolean;
11
+ fieldUsage: readonly FieldUsageAnswer[];
12
+ reserveEyebrow: boolean;
13
+ showCardPrice: boolean;
14
+ showCardFinishes: boolean;
15
+ showCardSizes: boolean;
16
+ showCardBuy: boolean;
17
+ showCardPage: boolean;
18
+ imageSizes: string;
19
+ }
20
+ export declare function ProductCardChromeProvider({ imageBackgroundFill, spinOnHover, coverIndex, indexBadge, outline, showBadge, fieldUsage, reserveEyebrow, showCardPrice, showCardFinishes, showCardSizes, showCardBuy, showCardPage, imageSizes, children, }: {
21
+ imageBackgroundFill: string;
22
+ spinOnHover: boolean;
23
+ coverIndex?: number;
24
+ indexBadge?: CardIndexFormat;
25
+ outline?: CardOutline;
26
+ showBadge?: boolean;
27
+ fieldUsage?: readonly FieldUsageAnswer[];
28
+ reserveEyebrow?: boolean;
29
+ showCardPrice?: boolean;
30
+ showCardFinishes?: boolean;
31
+ showCardSizes?: boolean;
32
+ showCardBuy?: boolean;
33
+ showCardPage?: boolean;
34
+ imageSizes?: string;
35
+ children: ReactNode;
36
+ }): import("react").JSX.Element;
37
+ export declare function useProductCardChrome(): ProductCardChrome;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as l}from"react/jsx-runtime";import{GRID_CARD_SHOW as r}from"../lib/sections/card-show-defaults.js";import{createContext as M,useContext as O,useMemo as F}from"react";import{DEFAULT_CARD_INDEX_FORMAT as f,DEFAULT_CARD_OUTLINE as R}from"efficient-web-builder/format/lib/sections/product-card-style";import{THEME_CARD_IMAGE_BG as L}from"efficient-web-builder/format/lib/content/card-image-background";import{DEFAULT_COVER_INDEX as a}from"../lib/wheels/cover-rendering.js";import{CARD_IMAGE_SIZES as d}from"../lib/sections/card-image-sizes.js";const p=[],N={imageBackgroundFill:L,spinOnHover:!0,coverIndex:a,indexBadge:f,outline:R,showBadge:!0,fieldUsage:p,reserveEyebrow:!1,showCardPrice:!0,showCardFinishes:!0,...r,imageSizes:d},x=M(N);function j({imageBackgroundFill:t,spinOnHover:o,coverIndex:e=a,indexBadge:u=f,outline:m=R,showBadge:_=!0,fieldUsage:C=p,reserveEyebrow:n=!1,showCardPrice:E=!0,showCardFinishes:i=!0,showCardSizes:s=r.showCardSizes,showCardBuy:A=r.showCardBuy,showCardPage:c=r.showCardPage,imageSizes:D=d,children:I}){const T=F(()=>({imageBackgroundFill:t,spinOnHover:o,coverIndex:e,indexBadge:u,outline:m,showBadge:_,fieldUsage:C,reserveEyebrow:n,showCardPrice:E,showCardFinishes:i,showCardSizes:s,showCardBuy:A,showCardPage:c,imageSizes:D}),[t,o,e,u,m,_,C,n,E,i,s,A,c,D]);return l(x.Provider,{value:T,children:I})}function W(){return O(x)}export{j as ProductCardChromeProvider,W as useProductCardChrome};
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from "react";
2
+ import { type FieldUsageAnswer } from "../lib/content/field-usage.js";
3
+ export declare function productCardEyebrow(kind: string | null, brand: ReactNode | null): ReactNode | null;
4
+ export declare function wheelCardEyebrowShows(available: {
5
+ kind: boolean;
6
+ brand: boolean;
7
+ process: boolean;
8
+ }, answers: readonly FieldUsageAnswer[]): boolean;
9
+ export declare function wheelCardEyebrow({ kindLabel, brand, process, }: {
10
+ kindLabel: string | null;
11
+ brand: ReactNode | null;
12
+ process: ReactNode | null;
13
+ }, answers: readonly FieldUsageAnswer[]): ReactNode | null;
14
+ export declare function withSetChip(eyebrow: ReactNode | null): ReactNode;
@@ -0,0 +1 @@
1
+ import{jsx as t,Fragment as s,jsxs as u}from"react/jsx-runtime";import{COLLECTION_FIELD_KEY as c,keepForCard as p}from"../lib/content/field-usage.js";function i(e,r){return!e&&!r?null:u(s,{children:[e&&t("span",{className:"text-fg",children:e}),e&&r?t("span",{className:"mx-2 text-fg-dim",children:"·"}):null,r]})}function a(e,r){const n=p(r);return e.kind||e.brand&&n("brand")?!0:e.process&&n(c)}function f({kindLabel:e,brand:r,process:n},o){if(!a({kind:!!e,brand:!!r,process:!!n},o))return null;const l=p(o);return i(e,l("brand")?r:null)??(l(c)?n:null)}function d(e){return u(s,{children:[e,t("span",{className:`${e?"ml-2":""} inline-block bg-accent px-2 py-[2px] align-middle font-mono text-[11px] font-bold uppercase tracking-[0.18em] text-bg`,children:"Set"})]})}export{i as productCardEyebrow,f as wheelCardEyebrow,a as wheelCardEyebrowShows,d as withSetChip};
@@ -0,0 +1,65 @@
1
+ import { type CardImageBackground } from "efficient-web-builder/format/lib/content/card-image-background";
2
+ import type { SlotComponent } from "efficient-easel/blocks";
3
+ import { type FieldUsageAnswer } from "../lib/content/field-usage.js";
4
+ import { type CardIndexFormat, type CardOutline } from "efficient-web-builder/format/lib/sections/product-card-style";
5
+ import type { CategorySourceValue } from "../lib/content/source-values.js";
6
+ import type { ProductSummary, WheelSummary } from "../lib/api/index.js";
7
+ export declare const TITLE_SIZES: readonly [{
8
+ readonly value: "para";
9
+ readonly label: "Paragraph size — 13px";
10
+ readonly cls: "font-mono font-normal uppercase tracking-[0.22em] text-[length:var(--size-label,13px)]";
11
+ }, {
12
+ readonly value: "sm";
13
+ readonly label: "Small — 40px";
14
+ readonly cls: "font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,40px)] max-[800px]:text-[length:var(--size-headingMedium,28px)]";
15
+ }, {
16
+ readonly value: "md";
17
+ readonly label: "Medium — 48px";
18
+ readonly cls: "font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,48px)] max-[800px]:text-[length:var(--size-headingMedium,32px)]";
19
+ }, {
20
+ readonly value: "lg";
21
+ readonly label: "Large — 56px";
22
+ readonly cls: "font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,56px)] max-[800px]:text-[length:var(--size-headingMedium,36px)]";
23
+ }, {
24
+ readonly value: "xl";
25
+ readonly label: "Extra large — 64px";
26
+ readonly cls: "font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,64px)] max-[800px]:text-[length:var(--size-headingMedium,40px)]";
27
+ }];
28
+ export type TitleSize = (typeof TITLE_SIZES)[number]["value"];
29
+ export declare const DEFAULT_TITLE_SIZE: TitleSize;
30
+ interface Props {
31
+ gap?: number | string;
32
+ num?: string;
33
+ title?: string;
34
+ titleSize?: TitleSize;
35
+ padTop?: number;
36
+ description?: string;
37
+ link?: {
38
+ text: string;
39
+ href: string;
40
+ };
41
+ products: SlotComponent;
42
+ wheels?: WheelSummary[];
43
+ source?: CategorySourceValue;
44
+ catalog?: ProductSummary[];
45
+ kinds?: string[];
46
+ columns?: number;
47
+ limit?: number;
48
+ editing?: boolean;
49
+ contentCapped?: boolean;
50
+ imageBackground?: CardImageBackground;
51
+ cardImage?: number | null;
52
+ spinOnHover?: boolean;
53
+ coverIndex?: number;
54
+ indexBadge?: CardIndexFormat;
55
+ outline?: CardOutline;
56
+ showBadge?: boolean;
57
+ fieldUsage?: readonly FieldUsageAnswer[];
58
+ showCardPrice?: boolean;
59
+ showCardFinishes?: boolean;
60
+ showCardSizes?: boolean;
61
+ showCardBuy?: boolean;
62
+ showCardPage?: boolean;
63
+ }
64
+ export default function ProductGridSection({ num, catalog, kinds, title, titleSize, padTop, description, link, products: Products, wheels, source, columns, limit, editing, contentCapped, imageBackground, spinOnHover, coverIndex, indexBadge, outline, showBadge, fieldUsage, showCardPrice, showCardFinishes, showCardSizes, showCardBuy, showCardPage, cardImage, gap: gapProp, }: Props): import("react").JSX.Element | null;
65
+ export {};
@@ -0,0 +1 @@
1
+ "use client";import{jsx as e,jsxs as d,Fragment as Ne}from"react/jsx-runtime";import{GRID_CARD_SHOW as R}from"../lib/sections/card-show-defaults.js";import{useEffect as V,useId as Te,useMemo as p}from"react";import{CARD_IMAGE_BG_OFF as ze,resolveCardImageBackground as Ie}from"efficient-web-builder/format/lib/content/card-image-background";import{cardImageShapeTokens as Le}from"efficient-web-builder/format/lib/content/card-image-shape";import{containerGapProps as Pe,GAP_LENGTH_VAR as Ae,GAP_ZONE_CLASS as Fe}from"efficient-web-builder/format/lib/content/container-gap";import Re from"next/link";import Oe from"./ProductCard.js";import{CARD_ROWS_GRID_CLASS as De,cardRowsGridStyle as Ge}from"./WheelCardFrame.js";import{ProductCardChromeProvider as ke}from"./ProductCardChrome.js";import{gridClassImageSizes as Be}from"../lib/sections/card-image-sizes.js";import{fillRowCss as Ue}from"../lib/sections/fill-row.js";import{answersForKind as Y}from"../lib/content/field-usage.js";import{wheelCardEyebrowShows as He}from"./ProductCardEyebrow.js";import je from"./NoCurrencyNote.js";import{DEFAULT_CARD_OUTLINE as Ke,cardIndexCss as We,parseCardIndexFormat as Xe}from"efficient-web-builder/format/lib/sections/product-card-style";import{DEFAULT_COVER_INDEX as Ze}from"../lib/wheels/cover-rendering.js";import{SITE_WIDTH_CAP as Ve,centredCap as Ye}from"efficient-web-builder/format/lib/content/page-width";import{ProductCatalogProvider as qe,SectionWheelsProvider as Je}from"./ProductRef.js";import{useCurrency as Qe}from"./CurrencyContext.js";import{COLLECTION_ATTR as er,useCatalogFilter as rr}from"./catalog/CatalogFilterContext.js";import{renderGold as O,renderHeadline as tr}from"efficient-web-builder/render/components/goldPhrases";import{applyCatalogFilters as ar}from"../lib/wheels/catalog-filters.js";import{normalizeCatalogRows as sr}from"../lib/wheels/wheel-summary-casing.js";import nr from"./TyreSummaryCard.js";import{itemKind as q,plpItemsOfKinds as or,plpKindNoun as ir,resolvePlpKinds as J}from"../lib/catalog/plp-item.js";import{rowsForGridSource as lr}from"../lib/wheels/grid-source.js";import{useUnifiedProductCatalog as mr}from"./useProductCatalog.js";import{STICKY_UNDERHEADER_CLASS as dr}from"efficient-web-builder/render/lib/puck/header-clearance";import{finishFamiliesOf as pr}from"../lib/wheels/finish-defaults.js";import{lugCountsOf as cr}from"../lib/wheels/lug-count.js";import{diametersOf as gr}from"../lib/wheels/size-range.js";import{say as xr}from"efficient-web-builder/format/lib/editor-words";const t={headingMediumUpTo800Xs:"max-[800px]:text-[length:var(--size-headingMedium,28px)]",headingMediumUpTo800Small:"max-[800px]:text-[length:var(--size-headingMedium,32px)]",headingMediumUpTo800Large:"max-[800px]:text-[length:var(--size-headingMedium,36px)]",headingMediumUpTo800Xl:"max-[800px]:text-[length:var(--size-headingMedium,40px)]",body:"text-[length:var(--size-body,13px)]",headingMedium1:"text-[length:var(--size-headingMedium,40px)]",headingMedium2:"text-[length:var(--size-headingMedium,48px)]",headingMedium3:"text-[length:var(--size-headingMedium,56px)]",headingMedium4:"text-[length:var(--size-headingMedium,64px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"},Q={1:"grid-cols-1",2:"grid-cols-2 max-[800px]:grid-cols-1",3:"grid-cols-3 max-[800px]:grid-cols-1",4:"grid-cols-4 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1",5:"grid-cols-5 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1",6:"grid-cols-6 max-[1100px]:grid-cols-3 max-[800px]:grid-cols-1"},ee=[{value:"para",label:"Paragraph size — 13px",cls:`font-mono font-normal uppercase tracking-[0.22em] ${t.labelLarge}`},{value:"sm",label:"Small — 40px",cls:`font-heading2 font-medium tracking-[-0.03em] ${t.headingMedium1} ${t.headingMediumUpTo800Xs}`},{value:"md",label:"Medium — 48px",cls:`font-heading2 font-medium tracking-[-0.03em] ${t.headingMedium2} ${t.headingMediumUpTo800Small}`},{value:"lg",label:"Large — 56px",cls:`font-heading2 font-medium tracking-[-0.03em] ${t.headingMedium3} ${t.headingMediumUpTo800Large}`},{value:"xl",label:"Extra large — 64px",cls:`font-heading2 font-medium tracking-[-0.03em] ${t.headingMedium4} ${t.headingMediumUpTo800Xl}`}],ur="lg";function hr(c){return(ee.find(o=>o.value===c)??ee.find(o=>o.value===ur)).cls}function fr({num:c,catalog:o,kinds:S,title:$,titleSize:re,padTop:D,description:y,link:g,products:te,wheels:ae,source:i,columns:se,limit:x,editing:u,contentCapped:ne=!1,imageBackground:oe,spinOnHover:ie,coverIndex:le,indexBadge:me,outline:de,showBadge:pe,fieldUsage:l,showCardPrice:ce,showCardFinishes:ge,showCardSizes:xe,showCardBuy:ue,showCardPage:he,cardImage:fe,gap:ye}){const M=p(()=>l?Y(l,"alloy-wheel"):void 0,[l]),Ce=p(()=>l?Y(l,"tyre"):void 0,[l]),r=`pg-${Te().replace(/:/g,"")}`,_=Q[Math.min(6,Math.max(1,se??4))]??Q[4],G=typeof x=="number"&&x>0,k=ne,B=mr(u===!0&&!!i),n=p(()=>i?sr(lr(i,or(B??o??[],J(S)))):null,[o,B,i,S]),E=i?.process,m=!!E,{filters:C,reportCount:N,reportLugs:T,reportSizes:z,reportFinishes:I,vehicle:U}=rr(),{currency:L}=Qe(),P=m&&!!C.process&&C.process!==E,a=p(()=>n?m?ar(n,C,L,U.fit):n:null,[n,m,C,L,U.fit]);V(()=>{if(m)return N(r,P?0:a?.length??0),()=>N(r,0)},[m,P,a,N,r]);const ve=p(()=>{const s=(a??[]).filter(f=>q(f)!=="tyre");if(s.length===0)return!1;const w=s.some(f=>!!f.process);return s.some(f=>!!f.setWords)||He({kind:!1,brand:!1,process:w},M??[])},[a,M]),v=p(()=>({lugs:cr(n??[]),sizes:gr(n??[]),finishes:pr(n??[])}),[n]);V(()=>(T(r,v.lugs),z(r,v.sizes),I(r,v.finishes),()=>{T(r,[]),z(r,[]),I(r,[])}),[v,T,z,I,r]);const h=Pe("ProductGrid",ye,"both"),H=h.className.includes(Fe),A=`${r} grid${h.className} bg-[var(--catalog-grid-bg)] ${_}`,be=H?`${A} ${De}`:A,we=H?{...h.style,...Ge(`var(${Ae})`)}:h.style,Se=a?a.length>0?e("div",{className:be,style:we,children:a.map((s,w)=>q(s)==="tyre"?e(nr,{item:s,currency:L,editing:u,fieldUsage:Ce},`tyre:${s.slug}-${w}`):e(Oe,{wheel:s,variant:"catalog"},`${s.slug}-${w}`))}):u?e("div",{className:"flex min-h-[320px] items-center justify-center rounded bg-surface-2 p-4 text-center",children:e("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:xr("No products in “{name}” yet",{name:i?.name??""})})}):null:e(te,{className:A,style:h.style,minEmptyHeight:320}),b=a?a.length:null,j=ir(J(S)),$e=c||$||y||g?d("div",{className:`${dr} sticky top-[var(--sf-header-h,88px)] z-30 mb-5 flex items-center justify-between gap-4 max-[800px]:flex-wrap max-[800px]:gap-y-2 border-b border-line bg-bg/95 py-3 backdrop-blur-md ${k?"":"-mx-[var(--sf-site-gutter,40px)] px-[var(--sf-site-gutter,40px)] max-[800px]:-mx-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]"}`,children:[d("div",{className:"flex min-w-0 items-end gap-6 max-[800px]:flex-col max-[800px]:items-stretch max-[800px]:gap-3",children:[c&&e("span",{className:`font-mono ${t.labelLarge} leading-none uppercase tracking-[0.22em] text-fg-dim`,children:O(c)}),$&&e("h2",{className:`${hr(re)} leading-none text-fg max-[800px]:leading-[1] [&>span]:block`,children:tr($,!1)})]}),(y||g||b!==null)&&d("div",{className:"flex items-center gap-5 max-[800px]:gap-3 min-[800px]:grow min-[800px]:justify-end",children:[y&&e("span",{className:`max-w-[340px] truncate font-display ${t.body} leading-[1.4] text-fg-dim max-[800px]:hidden min-[800px]:w-0 min-[800px]:grow min-[800px]:text-right`,children:O(y)}),g&&d(Re,{href:g.href,className:`inline-flex items-center gap-2 whitespace-nowrap font-mono ${t.labelLarge} uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg`,children:[O(g.text),e("span",{"aria-hidden":!0,children:"→"})]}),b!==null&&d("span",{className:`whitespace-nowrap font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:[b," ",b===1?j.one:j.many]})]})]}):null,Me=typeof D=="number"?D:120,K=Xe(me),_e=a?G?Math.min(a.length,x):a.length:void 0,W=Ue(r,_,{limit:x,cards:a?.length}),X=We(r,K),Z=d(Ne,{children:[G&&e("style",{children:`.${r} > *:nth-child(n+${x+1}){display:none}`}),W&&e("style",{children:W}),X&&e("style",{children:X}),$e,Se,e(je,{editing:u})]});if(P)return null;const F=e("section",{...m?{[er]:E}:{},className:"relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] pt-[var(--pg-pt)] pb-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-[70px] max-[800px]:pb-[70px]",style:{"--pg-pt":`${Me}px`,...Le(fe)},children:k?e("div",{style:Ye(Ve),children:Z}):Z}),Ee=n?F:u?e(qe,{children:F}):e(Je,{wheels:ae,children:F});return e(ke,{imageSizes:Be(_,_e),imageBackgroundFill:Ie(oe,ze),spinOnHover:ie??!0,coverIndex:le??Ze,indexBadge:K,outline:de??Ke,showBadge:pe??!0,fieldUsage:M,reserveEyebrow:ve,showCardPrice:ce??!0,showCardFinishes:ge??!0,showCardSizes:xe??R.showCardSizes,showCardBuy:ue??R.showCardBuy,showCardPage:he??R.showCardPage,children:Ee})}export{ur as DEFAULT_TITLE_SIZE,ee as TITLE_SIZES,fr as default};
@@ -0,0 +1,22 @@
1
+ import type { ProductSelection } from "./useProductSelection.js";
2
+ import { type StoreProduct } from "../lib/catalog/store-product.js";
3
+ import type { HeroPricePlacement } from "../lib/sections/hero-price-placement.js";
4
+ import { type HeroLayout, type HeroTextAlign } from "../lib/sections/hero-arrangement.js";
5
+ import { type HeroGalleryMode, type HeroImageFit } from "../lib/sections/hero-gallery.js";
6
+ interface Props {
7
+ product: StoreProduct;
8
+ selection: ProductSelection;
9
+ onLightbox: (src: string, alt: string) => void;
10
+ editing?: boolean;
11
+ pricePlacement?: HeroPricePlacement;
12
+ showVehicleFitment?: boolean;
13
+ heroLayout?: HeroLayout;
14
+ imageRatio?: number;
15
+ textAlign?: HeroTextAlign;
16
+ showSpecTable?: boolean;
17
+ showPriceQuote?: boolean;
18
+ galleryMode?: HeroGalleryMode;
19
+ imageFit?: HeroImageFit;
20
+ }
21
+ export default function ProductHeroPanel({ product, selection, onLightbox, editing, pricePlacement, showVehicleFitment, heroLayout, imageRatio, textAlign, showSpecTable, showPriceQuote, galleryMode, imageFit, }: Props): import("react").JSX.Element;
22
+ export {};
@@ -0,0 +1 @@
1
+ "use client";import{jsx as e,jsxs as n,Fragment as u}from"react/jsx-runtime";import ce from"next/link";import{BUY_ROW_CLASS as Ce}from"./buy-row.js";import{useEffect as V,useRef as Te,useState as de}from"react";import{useCart as ze}from"./CartContext.js";import Re from"./QuoteLink.js";import{useSiteTakesOrders as we}from"./SiteRecordContext.js";import Ee from"./EmailCaptureForm.js";import{useEnglish as U}from"./EnglishVariant.js";import Le from"./QuantityStepper.js";import{MarkedLabel as W,heroView as Ae,photoLabel as q}from"./product-hero/hero-view.js";import{useProductHeroContent as Oe}from"./product-hero/hero-content.js";import{stageControls as $e,useHeldStagePhoto as je}from"./product-hero/stage-photo.js";import{useWishlist as Ie}from"./WishlistContext.js";import{useStockAlertSignup as Me}from"./useStockAlertSignup.js";import{SPARE_WORDS as He,productCartLine as Be}from"../lib/catalog/purchase.js";import{OPTION_ROW_ATTR as Fe}from"../lib/catalog/store-product.js";import{resolvingRowsAnswered as De}from"../lib/catalog/product-options.js";import{HERO_BULLET_SEPARATOR as Pe}from"../lib/content/product-hero.js";import{STOCK_WORDS as Ve}from"../lib/content/stock-words.js";import{trackViewItem as Ue}from"../lib/google-tag.js";import{DEFAULT_HERO_LAYOUT as We,DEFAULT_HERO_RATIO as qe,DEFAULT_HERO_TEXT_ALIGN as Ge,parseHeroLayout as Ke,parseHeroRatio as Xe,parseHeroTextAlign as Ye}from"../lib/sections/hero-arrangement.js";import{DEFAULT_HERO_GALLERY_MODE as Qe,DEFAULT_HERO_IMAGE_FIT as Ze,parseHeroGalleryMode as Je,parseHeroImageFit as et,resolveHeroImageFit as tt}from"../lib/sections/hero-gallery.js";import{ADD_TO_BASKET_ATTR as at,MAX_SPARES as nt,UNITS_PER_SET as rt,formatPrice as me}from"../lib/commerce.js";import{UNPRICED_LABEL as lt,formatSelectionPrice as ot,setPriceLabel as st}from"../lib/wheels/price-display.js";import{productHasComposedRender as it,productIsDually as ct,productIsTwoObjects as dt,setSuppressesRow as mt}from"../lib/wheels/set-mode.js";const pt=4e3;function ft(t){return t?[t.year,t.make,t.model,t.modification].join("-"):""}const gt=.72;function ht(t){const r=t.trim().split(/\s+/).filter(Boolean);if(r.length===0)return;const s=r.map((c,d)=>c.length+(r.length>1&&d===r.length-1?1:0));return`calc(100cqi / ${(Math.max(...s)*gt).toFixed(2)})`}function xt({product:t,selection:r,onLightbox:s,editing:c=!1,pricePlacement:d="top",showVehicleFitment:l=!0,heroLayout:m=We,imageRatio:_=qe,textAlign:g=Ge,showSpecTable:y=!0,showPriceQuote:N=!0,galleryMode:O=Qe,imageFit:w=Ze}){const $=U(),b=Ke(m),C=Ye(g),T=Xe(_),z=Je(O),p=tt(et(w),it(t)),j=b==="imageRight"?`${100-T}fr ${T}fr`:`${T}fr ${100-T}fr`,{picked:ge,pick:G,qty:K,setQty:he,choice:v,setChoice:E,angleIdx:X,setAngleIdx:Y,showValidation:xe,setShowValidation:I,manualMode:Q,vehicle:M,rows:Z,facts:ue,part:S,outOfStock:J,offer:f,preOrder:H,canAddToCart:L,currency:R,price:x,set:ee,msrpLabel:te}=r,i=Ae(t,r,c),{bullets:ae}=Oe(),B=ct(t),be=dt(t),F=l?i.vehicle:null,ve=l?i.vehicleMemory:null,[A,ke]=de(!1);V(()=>{const a=()=>{ke(document.documentElement.getAttribute("data-theme")==="light")};a();const o=new MutationObserver(a);return o.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>o.disconnect()},[]);const{add:ye,open:Ne,warmCatalog:ne}=ze(),k=we();V(()=>{!c&&k&&ne(t.kind)},[c,k,t.kind,ne]);const re=Z.filter(a=>!H||a.values.length>0),le=re.filter(a=>a.role==="resolves"),D=re.filter(a=>a.role==="describes"&&!mt(be,a.key)),oe=D.findIndex(a=>a.chosen===null),se=(!F||!i.vehicleAnswersSpecs||r.fitmentSet)&&De(Z,H)?oe===-1?D:D.slice(0,oe+1):[],Se=[...le,...se],P=n("div",{className:"flex items-baseline gap-5 border-t border-line pt-[18px]",children:[te&&e("div",{className:"font-mono text-[length:var(--size-label,15px)] text-fg-dim line-through",children:te}),e("div",{className:"font-heading2 text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))] font-bold leading-none tracking-[-0.01em] text-fg",children:B?st(x,R):ot(x,R)}),x.priced&&e("div",{className:"font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:i.unitLabel}),x.setTotal!=null&&n("div",{className:"ml-auto border border-accent px-3 py-2 font-mono text-[length:var(--size-label,13px)] font-bold uppercase tracking-[0.18em] text-accent",style:{background:"color-mix(in oklab, var(--accent) 14%, transparent)"},children:[f.quantityLabel,": ",me(ee,R)]})]}),ie=Te(null);return V(()=>{c||ie.current===t.slug||(ie.current=t.slug,Ue({itemId:S?`${t.slug}|${S.id}`:t.slug,itemName:t.name,variant:i.metaValue,pricePerSet:x.setTotal??x.fromSetTotal??0,currency:R}))},[c,t.slug,t.name,i.metaValue,S,x,R]),n(u,{children:[e("nav",{className:"border-b border-line px-[max(var(--sf-site-gutter,40px),calc((100%_-_var(--sf-content-cap,100%))/2_+_var(--sf-site-gutter,40px)))] pt-4 pb-4 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))]",style:A?void 0:{background:"var(--section-bg)"},children:t.crumbs.map((a,o)=>n("span",{children:[o>0&&n(u,{children:[e("span",{className:"mx-3 text-accent",children:"/"}),e("wbr",{})]}),a.href?e(ce,{href:a.href,className:"hover:text-fg",children:e(W,{text:a.label})}):e("span",{className:"text-fg",children:e(W,{text:a.label})})]},`${a.label}-${o}`))}),n("section",{"data-hero-layout":b,"data-hero-align":C,className:["grid gap-10 px-[max(var(--sf-site-gutter,40px),calc((100%_-_var(--sf-content-cap,100%))/2_+_var(--sf-site-gutter,40px)))] py-14 max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[720px]:py-8",b==="stacked"?"grid-cols-1":"[grid-template-columns:var(--hero-cols)] max-[1100px]:[grid-template-columns:minmax(0,1fr)]"].join(" "),style:{...A?{}:{background:"var(--section-bg)"},...b==="stacked"?{}:{"--hero-cols":j}},children:[n("div",{"data-hero-gallery":z,"data-hero-fit":p,className:z==="tiled"?"flex items-start gap-3 max-[720px]:gap-2":void 0,style:b==="imageRight"?{order:2}:void 0,children:[n("div",{className:z==="tiled"?"min-w-0 flex-1":void 0,children:[e(vt,{name:t.name,view:i,angleIdx:X,onSelect:Y,isLight:A,onLightbox:s,fit:p}),i.referenceNote&&e("p",{"data-hero-reference-note":!0,className:"mt-2 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.18em] text-fg-dim",children:i.referenceNote}),i.galleryHint&&e("p",{"data-hero-gallery-hint":!0,className:"mt-2 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.18em] text-fg-dim",children:i.galleryHint})]}),z!=="main"&&e(kt,{name:t.name,view:i,angleIdx:X,onSelect:Y,isLight:A,tiled:z==="tiled"})]}),n("div",{className:["flex flex-col gap-7",C==="center"?"items-center text-center":""].filter(Boolean).join(" "),style:b==="imageRight"?{order:1}:void 0,children:[n("div",{className:"w-full [container-type:inline-size]",children:[n("div",{className:"mb-2.5 flex items-center gap-2.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.2em] text-accent",children:[e("span",{children:e(W,{text:t.eyebrow})}),t.badge&&n(u,{children:[e("span",{children:"·"}),e("span",{children:t.badge})]})]}),e("h1",{className:"font-heading2 text-[length:min(min(var(--size-headingMedium,clamp(48px,5.5vw,84px)),var(--hero-name-fit,9999px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] leading-[0.92] tracking-[-0.035em]",style:{"--hero-name-fit":ht(i.heading)},children:(()=>{const a=i.heading.lastIndexOf(" ");if(a===-1)return i.heading;const o=i.heading.slice(0,a),h=i.heading.slice(a+1);return n(u,{children:[o," ",n("em",{className:"font-normal italic text-accent",children:[h,"."]})]})})()})]}),d!=="belowSpecs"&&N&&P,ve,le.map(a=>e(pe,{row:a,onPick:G},a.key)),H&&i.preOrder?n(u,{children:[d==="belowSpecs"&&N&&P,i.preOrder]}):n(u,{children:[F,se.map(a=>e(pe,{row:a,onPick:G},a.key)),y&&e(ut,{facts:ue}),(f.packs.length>0||k&&(f.extra||f.spareCounts.length>0))&&n("div",{className:"border-b border-line pb-[26px]",children:[f.packs.length>0&&n(u,{children:[e("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:"How many"}),e("div",{className:"flex flex-wrap gap-1.5",children:f.packs.map(a=>n("button",{type:"button",onClick:()=>E(o=>({...o,unit:a.value})),"aria-pressed":v.unit===a.value,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",v.unit===a.value?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:v.unit===a.value?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[v.unit===a.value&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:a.label})]},a.value))})]}),k&&f.extra&&n("label",{className:`${f.packs.length>0?"mt-3.5 ":""}flex cursor-pointer items-center gap-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.16em] text-fg`,children:[e("input",{type:"checkbox",checked:v.spares>0,onChange:a=>E(o=>({...o,spares:a.target.checked?nt:0})),className:"h-4 w-4 cursor-pointer accent-[var(--accent)]"}),f.extra.label]}),k&&f.spareCounts.length>0&&n(u,{children:[e("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:He.howMany}),e("div",{className:"flex flex-col gap-1.5 sm:flex-row sm:flex-wrap",children:f.spareCounts.map(a=>{const o=a.value-rt,h=v.spares===o;return n("button",{type:"button",onClick:()=>E(_e=>({..._e,spares:o})),"aria-pressed":h,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",h?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:h?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[h&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),n("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:[a.value," · ",a.label]})]},a.value)})})]}),k&&f.spareSide&&n(u,{children:[e("div",{className:"mb-3.5 mt-[26px] font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:f.spareSide.label}),e("div",{className:"flex flex-wrap gap-1.5",children:f.spareSide.options.map(a=>{const o=v.spareSide===a.value;return n("button",{type:"button",onClick:()=>E(h=>({...h,spareSide:a.value})),"aria-pressed":o,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",o?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:o?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[o&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:a.label})]},a.value)})})]})]}),d==="belowSpecs"&&N&&P,n("div",{className:Ce,children:[k&&!(B&&!x.priced)&&e(Le,{value:K,onChange:he,size:"large"}),!k||B&&!x.priced?e(Re,{className:"flex-1 cursor-pointer bg-btn px-6 py-4 text-center font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg"}):x.priced?J?e("button",{type:"button",disabled:!0,"aria-disabled":!0,className:"flex-1 cursor-not-allowed border-2 border-dashed border-fg-dim/20 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-fg-dim/40",children:Ve.outOfStock}):n("button",{type:"button",[at]:"",onClick:()=>{if(!L){I(!0),window.setTimeout(()=>I(!1),pt);return}if(I(!1),c)return;const a=Be(t,S,ge,{choice:v,qty:K},{fitmentLabel:Q?i.specCaption:M.appliedName?`For ${M.appliedName}`:"",fitmentKey:Q?`manual|${i.specCaption}`:`vehicle|${ft(M.applied?.vehicle)}`});a&&(ye(a),Ne())},"aria-disabled":!L,className:["flex-1 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] transition-colors",L?"cursor-pointer bg-btn text-btn-ink hover:bg-fg hover:text-bg":"cursor-pointer border-2 border-dashed border-accent/50 text-accent/80 hover:border-accent hover:text-accent"].join(" "),style:L?void 0:{background:"color-mix(in oklab, var(--accent) 6%, transparent)"},children:["Add to Cart",x.setTotal!=null?` · ${me(ee,R)}`:""]}):e("button",{type:"button",disabled:!0,"aria-disabled":!0,className:"flex-1 cursor-not-allowed border-2 border-dashed border-fg-dim/20 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-fg-dim/40",children:lt}),e(yt,{slug:t.slug,name:t.name})]}),J&&S&&e(Nt,{partNumbers:S.components.map(a=>a.partNumber),productSlug:t.slug},S.id),xe&&(()=>{const a=Se.filter(h=>h.chosen===null).map(h=>$(h.prompt).replace(/^Select\s+/i,""));if(F&&i.vehicleAnswersSpecs&&!r.fitmentSet&&a.push("vehicle fitment"),a.length===0)return null;const o=a.length===1?a[0]:a.length===2?`${a[0]} and ${a[1]}`:`${a.slice(0,-1).join(", ")}, and ${a.at(-1)}`;return n("p",{role:"alert",className:"-mt-1 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em]",style:{color:"var(--alert)"},children:["Please select ",o," first."]})})()]}),ae.length>0&&e("ul",{className:"flex flex-wrap items-center gap-x-6 gap-y-2 border-t border-line pt-5 font-mono text-[length:var(--size-label,13px)] tracking-[0.05em] text-fg",children:ae.map((a,o)=>n("li",{children:[e("strong",{className:"font-bold text-accent",children:a.label}),a.detail?` ${Pe} ${a.detail}`:""]},`${a.label}-${o}`))})]})]})]})}function ut({facts:t}){const r=U();return t.length===0?null:n("div",{className:"border-b border-line pb-[26px]",children:[e("dl",{className:"flex flex-col gap-2",children:t.map(s=>n("div",{className:"flex flex-wrap items-baseline gap-x-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.22em]",children:[n("dt",{className:"text-fg-dim",children:[r(s.label)," ·"]}),e("dd",{className:"font-semibold text-fg",children:s.value.label})]},s.key))}),e("p",{className:"mt-3 font-mono text-[length:var(--size-body,12px)] leading-relaxed tracking-[0.1em] text-fg-dim",children:"Only one of each is left, so there is nothing to choose here."})]})}function pe({row:t,onPick:r}){const s=U();if(t.values.length===0&&!t.empty)return null;const c=t.values.find(l=>l.value===t.chosen),d=c&&[c.label,c.note].filter(Boolean).join(" · ");return n("div",{className:"border-b border-line pb-[26px]",[Fe]:t.key,children:[n("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:[s(t.label)," · ",e("span",{className:"text-accent",children:d??s(t.prompt)})]}),t.values.length===0?n("p",{className:"font-mono text-[length:var(--size-body,12px)] leading-relaxed tracking-[0.1em] text-fg-dim",children:[t.empty.text," ",e(ce,{href:t.empty.href,className:"text-accent hover:underline",children:t.empty.linkText})]}):t.display==="swatch"?e("div",{className:"flex flex-wrap gap-2",children:t.values.map(l=>{const m=l.value===t.chosen;return n("button",{type:"button",onClick:()=>r(t.key,l.value),className:["relative flex max-w-full items-center gap-3 border-2 px-3 py-3 text-left transition-colors",m?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"].join(" "),style:m?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[m&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e("span",{className:"block h-5 w-5 shrink-0 rounded-full border border-fg-dim",style:{background:l.swatch}}),e("span",{className:"block min-w-0 break-words font-mono text-[length:var(--size-label,12px)] font-bold uppercase tracking-[0.18em] text-fg",children:l.label})]},l.value)})}):e("div",{className:"flex flex-wrap gap-1.5",children:t.values.map(l=>{const m=l.value===t.chosen;return n("button",{type:"button",onClick:()=>r(t.key,l.value),className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",m?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:m?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[m&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:l.label}),l.note&&e("span",{className:"mt-1 block text-[length:var(--size-label,11px)] tracking-[0.12em] text-fg-dim",children:l.note})]},l.value)})})]})}function fe(t){return t.photos.length>0?t.photos.length:t.thumbFallbackCells}const bt=6;function vt({name:t,view:r,angleIdx:s,onSelect:c,isLight:d,onLightbox:l,fit:m}){const _=r.photos[Math.min(s,r.photos.length-1)],g=je(r.photos,_),y=fe(r),N=y>=2,O=String(y).padStart(2,"0"),w=Math.min(s,Math.max(r.photos.length-1,0)),$=N||r.captions[w]?q(r,w):"",b=[t,r.metaValue,$].filter(Boolean).join(" — "),C="max-[720px]:static",T=["relative flex aspect-square items-center justify-center overflow-hidden max-[720px]:col-span-2",d?"bg-bg":""].join(" ");return n("div",{className:"relative max-[720px]:grid max-[720px]:grid-cols-[minmax(0,1fr)_auto] max-[720px]:items-start max-[720px]:gap-x-3 max-[720px]:gap-y-2",style:{color:r.tint},children:[n("div",{className:`absolute left-0 top-0 z-10 flex items-center gap-3 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.2em] text-fg ${C} max-[720px]:min-w-0 max-[720px]:flex-wrap max-[720px]:gap-x-2 max-[720px]:gap-y-1`,children:[N&&n(u,{children:[n("span",{className:"text-accent",children:[String(s+1).padStart(2,"0")," / ",O]}),e("span",{className:"text-fg-dim",children:"·"})]}),e("span",{children:t}),r.metaValue&&n(u,{children:[e("span",{className:"text-fg-dim",children:"·"}),e("span",{className:"text-accent",children:r.metaValue})]})]}),N&&e("div",{className:`absolute right-5 top-5 z-10 flex gap-1 ${C}`,children:$e(s,y,c).map(p=>e("button",{type:"button","aria-label":p.label,title:p.label,onClick:p.onClick,className:"flex h-7 w-7 items-center justify-center border border-fg-dim/60 text-fg transition-colors hover:border-accent hover:text-accent",children:p.glyph},p.label))}),n("div",{className:T,children:[["top-3 left-3","top-3 right-3","bottom-3 left-3","bottom-3 right-3"].map((p,j)=>e("span",{className:`absolute ${p} h-3 w-3 border border-fg-dim/40`,style:{borderTop:p.includes("top")?"1px solid var(--site-line)":"none",borderBottom:p.includes("bottom")?"1px solid var(--site-line)":"none",borderLeft:p.includes("left")?"1px solid var(--site-line)":"none",borderRight:p.includes("right")?"1px solid var(--site-line)":"none"}},j)),r.stageImage({photo:g,alt:b,label:`Open ${[t,r.metaValue].filter(Boolean).join(" ")} at full resolution`,onZoom:()=>l(g,b),fit:m})]}),n("div",{className:`absolute bottom-5 left-5 right-5 z-10 flex items-center justify-between gap-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim ${C} max-[720px]:col-span-2 max-[720px]:flex-wrap`,children:[e("span",{children:r.specCaption}),e("span",{children:r.originCaption})]})]})}function kt({name:t,view:r,angleIdx:s,onSelect:c,isLight:d,tiled:l=!1}){const m=fe(r);return m<2?null:e("div",{className:l?"order-[-1] flex w-16 flex-col gap-2 max-[720px]:w-12 max-[720px]:gap-1":"mt-2 grid grid-cols-4 gap-2 max-[720px]:gap-1",style:!l&&m>4?{gridTemplateColumns:`repeat(${Math.min(m,bt)}, minmax(0, 1fr))`}:void 0,children:Array.from({length:m}).map((_,g)=>{const y=r.photos[g];return n("button",{type:"button",onClick:()=>c(g),"aria-label":`View ${q(r,g)}`,className:["relative flex aspect-square items-center justify-center overflow-hidden transition-colors",d?"bg-bg":"",g===s?"border border-accent":"border border-transparent hover:border-fg-dim"].join(" "),style:{color:r.tint},children:[e("span",{className:"absolute top-1.5 left-2 z-10 font-mono text-[length:var(--size-label,8px)] uppercase tracking-[0.18em] text-fg-dim",children:String(g+1).padStart(2,"0")}),r.thumbImage({photo:y,alt:`${t} — ${q(r,g)}`})]},g)})})}function yt({slug:t,name:r}){const{has:s,toggle:c}=Ie(),d=s(t);return e("button",{type:"button",title:d?"Saved":"Save","aria-label":d?`Remove ${r} from wishlist`:`Save ${r} to wishlist`,"aria-pressed":d,onClick:()=>c(t),className:["h-12 w-12 cursor-pointer border-2 bg-transparent transition-colors",d?"border-accent text-accent":"border-fg-dim/50 text-fg hover:border-accent hover:text-accent"].join(" "),children:d?"♥":"♡"})}function Nt({partNumbers:t,productSlug:r}){const[s,c]=de(""),{status:d,submit:l,reset:m}=Me();function _(){l({partNumbers:t,email:s,productSlug:r})}return d==="sent"?e("p",{className:"-mt-1 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-accent",children:"We'll email you when it's back."}):e(Ee,{className:"-mt-1",email:s,onEmailChange:c,status:d,onResetVerdict:m,onSubmit:_,inputAriaLabel:"Email for the back-in-stock alert",submitLabel:"Notify me when back",buttonClassName:"cursor-pointer whitespace-nowrap border-2 border-btn px-4 font-mono text-[length:var(--size-label,11px)] font-bold uppercase tracking-[0.22em] text-btn transition-colors hover:bg-btn hover:text-btn-ink disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-btn",errorMessage:"Couldn't save that — please try again."})}export{xt as default};
@@ -0,0 +1,5 @@
1
+ import type { LightboxItem } from "./useLightbox.js";
2
+ export default function ProductLightbox({ item, onClose, }: {
3
+ item: LightboxItem | null;
4
+ onClose: () => void;
5
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as t,Fragment as a,jsxs as e}from"react/jsx-runtime";import r,{LightboxClose as l}from"./Lightbox.js";import{sizedImage as c}from"efficient-web-builder/format/lib/sized-image";const m="92vw";function n({item:o,onClose:s}){return t(r,{open:!!o,onClose:s,label:o?.alt??"",className:"flex cursor-zoom-out items-center justify-center bg-overlay-scrim/90 p-6 backdrop-blur-sm max-[720px]:p-3",children:o&&e(a,{children:[t("img",{...c(o.src,{fallbackWidth:1920}),sizes:m,alt:o.alt,className:"block max-h-[92vh] max-w-[92vw] cursor-zoom-out object-contain"}),t(l,{}),t("span",{className:"absolute bottom-5 left-5 font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:o.alt})]})})}export{n as default};
@@ -0,0 +1,16 @@
1
+ import type { WheelSummary } from "../lib/api/index.js";
2
+ export declare function wheelForCode(pool: readonly WheelSummary[], code: string): WheelSummary | undefined;
3
+ export declare function SectionWheelsProvider({ wheels, children, }: {
4
+ wheels: WheelSummary[] | undefined;
5
+ children: React.ReactNode;
6
+ }): import("react").JSX.Element;
7
+ export declare function ProductCatalogProvider({ children }: {
8
+ children: React.ReactNode;
9
+ }): import("react").JSX.Element;
10
+ interface Props {
11
+ code?: string;
12
+ finish?: string;
13
+ wheel?: WheelSummary;
14
+ }
15
+ export default function ProductRef({ code, finish, wheel }: Props): import("react").JSX.Element | null;
16
+ export {};
@@ -0,0 +1 @@
1
+ "use client";import{jsx as l}from"react/jsx-runtime";import{createContext as c,useContext as d,useEffect as g,useState as f}from"react";import m from"./ProductCard.js";import{loadProductCatalog as h}from"./useProductCatalog.js";import{say as u}from"efficient-web-builder/format/lib/editor-words";const s=c({wheels:[],loading:!1,live:!1});function p(e,t){return e.find(r=>r.designCode===t)??e.find(r=>r.slug===t)}function S({wheels:e,children:t}){return l(s.Provider,{value:{wheels:e??[],loading:!1,live:!0},children:t})}function b({children:e}){const[t,r]=f([]),[i,a]=f(!0);return g(()=>{let n=!1;return h().then(o=>{n||(r(o),a(!1))}).catch(()=>{n||a(!1)}),()=>{n=!0}},[]),l(s.Provider,{value:{wheels:t,loading:i,live:!1},children:e})}function v({code:e,finish:t,wheel:r}){const{wheels:i,loading:a,live:n}=d(s),o=r??(e?p(i,e):void 0);return o?l(m,{wheel:o,variant:"catalog",defaultFinish:t},t??""):n?null:l("div",{className:"sf-card flex aspect-square w-full items-center justify-center bg-surface-2 p-4 text-center",children:l("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:a?u("Loading…"):e||u("Set a design code")})})}export{b as ProductCatalogProvider,S as SectionWheelsProvider,v as default,p as wheelForCode};
@@ -0,0 +1,16 @@
1
+ import { type FooterBlock } from "efficient-web-builder/format/lib/content/footer";
2
+ import { type SocialLinks } from "efficient-web-builder/format/lib/content/social-links";
3
+ export type FooterLogoSource = {
4
+ logoUrl: string | null;
5
+ logoReversed?: string | null;
6
+ logoInkIsDark?: boolean | null;
7
+ };
8
+ export default function PublishedFooter({ footerBlock, rootProps, headerSettings, siteName, legalName, foundedYear, socialLinks, }: {
9
+ footerBlock: FooterBlock;
10
+ rootProps?: Record<string, unknown> | null;
11
+ headerSettings?: FooterLogoSource | null;
12
+ siteName: string;
13
+ legalName?: string | null;
14
+ foundedYear?: number | null;
15
+ socialLinks?: SocialLinks;
16
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as r}from"react/jsx-runtime";import{Render as a}from"efficient-easel/render";import{renderConfig as d}from"../lib/puck/render-config.js";import{migrateRenamedProps as u}from"efficient-web-builder/format/lib/puck/renamed-props";import{SITE_FOOTER_KIND as f}from"efficient-web-builder/format/lib/content/footer";import{PublishedFooterContext as p}from"efficient-web-builder/render/components/PublishedFooterContext";import{EMPTY_SOCIAL_LINKS as g}from"efficient-web-builder/format/lib/content/social-links";function I({footerBlock:l,rootProps:e,headerSettings:o,siteName:n,legalName:t,foundedYear:i,socialLinks:m}){const s=u({root:{props:{...e??{},kind:f}},content:[l],zones:{}});return r(p.Provider,{value:{logoUrl:o?.logoUrl??null,logoReversed:o?.logoReversed??null,logoInkIsDark:o?.logoInkIsDark??null,siteName:n,legalName:t??null,foundedYear:i??null,socialLinks:m??g},children:r(a,{config:d(),data:s})})}export{I as default};
@@ -0,0 +1,4 @@
1
+ import type { FooterBlock } from "efficient-web-builder/format/lib/content/footer";
2
+ export default function PublishedHeader({ group }: {
3
+ group: FooterBlock;
4
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as t}from"react/jsx-runtime";import{Render as i}from"efficient-easel/render";import n from"./BoxHeaderBar.js";import{headerRenderConfig as s}from"../lib/puck/render-config.js";import{migrateRenamedProps as p}from"efficient-web-builder/format/lib/puck/renamed-props";function m({group:e}){const r=p({root:{props:{}},content:[e],zones:{}}),o=e.props??{};return t(n,{sticky:o.sticky,topTextColor:o.topTextColor,heightPx:o.heightPx,theme:o.sectionAccent,children:t(i,{config:s(),data:r})})}export{m as default};
@@ -0,0 +1,7 @@
1
+ export type QuantityStepperSize = "large" | "small";
2
+ export declare function stepQuantity(value: number, by: 1 | -1): number;
3
+ export default function QuantityStepper({ value, onChange, size, }: {
4
+ value: number;
5
+ onChange: (next: number) => void;
6
+ size: QuantityStepperSize;
7
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as a,jsxs as c}from"react/jsx-runtime";import{MAX_QTY_PER_LINE as o}from"../lib/commerce.js";const r={labelSmall:"text-[length:var(--size-label,15px)]",labelLarge:"text-[length:var(--size-label,16px)]"};function l(t,e){return Math.min(o,Math.max(1,t+e))}const s="disabled:cursor-not-allowed disabled:opacity-40",b={large:{frame:"flex items-center border-2 border-fg-dim/50",button:`h-12 w-12 cursor-pointer bg-transparent font-mono ${r.labelLarge} font-bold text-fg transition-colors enabled:hover:bg-surface enabled:hover:text-accent ${s}`,value:`w-11 text-center font-mono ${r.labelSmall} font-bold tracking-[0.1em] text-fg`},small:{frame:"flex items-center border border-line",button:`h-[30px] w-[30px] cursor-pointer font-mono text-fg-dim transition-colors enabled:hover:text-accent ${s}`,value:"min-w-[36px] px-3 text-center font-mono text-[12px] tracking-[0.18em] text-fg"}};function m({value:t,onChange:e,size:i}){const n=b[i];return c("div",{className:n.frame,children:[a("button",{type:"button",onClick:()=>e(l(t,-1)),disabled:t<=1,"aria-label":"Decrease quantity",className:n.button,children:"−"}),a("span",{className:n.value,children:t}),a("button",{type:"button",onClick:()=>e(l(t,1)),disabled:t>=o,"aria-label":"Increase quantity",className:n.button,children:"+"})]})}export{m as default,l as stepQuantity};
@@ -0,0 +1,4 @@
1
+ export declare const QUOTE_HREF = "/contact";
2
+ export default function QuoteLink({ className }: {
3
+ className: string;
4
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import t from"next/link";import{SET_QUOTE_LABEL as e}from"../lib/wheels/price-display.js";const n="/contact";function i({className:o}){return r(t,{href:n,className:o,children:e})}export{n as QUOTE_HREF,i as default};
@@ -0,0 +1,8 @@
1
+ export interface ReviewFormProps {
2
+ eyebrow?: string;
3
+ title?: string;
4
+ designCode?: string;
5
+ omitHead?: boolean;
6
+ editing?: boolean;
7
+ }
8
+ export default function ReviewForm({ eyebrow, title, designCode, omitHead, editing, }?: ReviewFormProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as e,Fragment as E,jsxs as r}from"react/jsx-runtime";import{useState as a}from"react";import{products as _}from"../lib/api/index.js";import j from"efficient-web-builder/render/components/SectionEyebrow";import l,{FieldCaption as q}from"./WebFormField.js";import{renderHeadline as z}from"efficient-web-builder/render/components/goldPhrases";const s="w-full border-2 border-line bg-bg px-4 py-4 font-display text-[17px] tracking-[-0.005em] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent",A="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",M="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function T({eyebrow:p,title:u,designCode:x,omitHead:d=!1,editing:g=!1}={}){const[f,w]=a(""),[o,N]=a(""),[i,y]=a(0),[m,S]=a(""),[h,R]=a(""),[c,b]=a(!1),[k,C]=a(!1),[v,n]=a(null);async function F(t){if(t.preventDefault(),!(g||c)){if(i<1){n("Choose a star rating.");return}b(!0),n(null);try{await _.submitReview({authorName:f.trim(),...o.trim()?{email:o.trim()}:{},rating:i,...m.trim()?{title:m.trim()}:{},body:h.trim(),...x?.trim()?{designCode:x.trim()}:{}}),C(!0)}catch{n("Something went wrong — your review wasn't sent. Please try again.")}finally{b(!1)}}}return e("section",{className:"relative z-[2] border-t border-line bg-surface",children:r("div",{className:d?M:A,children:[d?null:r(E,{children:[(p??"").trim()&&e(j,{text:p??"",scaled:!1,className:"mb-4 block"}),(u??"").trim()&&e("h2",{className:"mb-12 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-8 max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:z(u??"",!1)})]}),k?e("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:"Thanks — your review will appear once approved."}):r("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:F,children:[r("div",{className:"grid grid-cols-2 gap-3 max-[640px]:grid-cols-1",children:[e(l,{label:"Name",required:!0,children:e("input",{type:"text",required:!0,value:f,onChange:t=>w(t.target.value),className:s})}),e(l,{label:"Email — never shown publicly",children:e("input",{type:"email",value:o,onChange:t=>N(t.target.value),className:s})})]}),r("div",{className:"flex flex-col gap-2",children:[e(q,{required:!0,children:"Rating"}),e("div",{role:"group","aria-label":"Rating",className:"flex gap-1",children:[1,2,3,4,5].map(t=>e("button",{type:"button","aria-pressed":i>=t,"aria-label":`${t} star${t===1?"":"s"}`,onClick:()=>{y(t),n(null)},className:["cursor-pointer text-[30px] leading-none transition-colors",i>=t?"text-accent":"text-fg-dim/30 hover:text-fg-dim"].join(" "),children:"★"},t))})]}),e(l,{label:"Review title (optional)",children:e("input",{type:"text",value:m,onChange:t=>S(t.target.value),className:s})}),e(l,{label:"Your review",required:!0,children:e("textarea",{required:!0,rows:5,value:h,onChange:t=>R(t.target.value),className:s+" resize-y"})}),v&&e("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:v}),e("button",{type:g?"button":"submit",disabled:c,className:"cursor-pointer self-start bg-btn px-8 py-4 font-mono text-[14px] uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg hover:text-bg disabled:cursor-wait disabled:opacity-60",children:c?"Sending…":"Submit review →"})]})]})})}export{T as default};
@@ -0,0 +1,12 @@
1
+ import type { SectionEyebrowLook } from "efficient-web-builder/format/lib/sections/section-eyebrow-look";
2
+ export interface ReviewsProps {
3
+ eyebrow?: string;
4
+ look?: SectionEyebrowLook;
5
+ title?: string;
6
+ columns?: 1 | 2 | 3;
7
+ limit?: number;
8
+ designCode?: string;
9
+ omitHead?: boolean;
10
+ editing?: boolean;
11
+ }
12
+ export default function Reviews({ look, eyebrow, title, columns, limit, designCode, omitHead, editing, }?: ReviewsProps): import("react").JSX.Element | null;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as e,Fragment as b,jsxs as l}from"react/jsx-runtime";import w from"efficient-web-builder/render/components/SectionEyebrow";import{renderHeadline as y,splitParagraphs as N}from"efficient-web-builder/render/components/goldPhrases";import{useStorefrontReviews as M}from"./useStorefrontReviews.js";import{say as a}from"efficient-web-builder/format/lib/editor-words";const i={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",bodySmall:"text-[length:var(--size-body,15px)]",body:"text-[length:var(--size-body,17px)]",bodyLarge:"text-[length:var(--size-body,19px)]",label:"text-[length:var(--size-label,12px)]"},S=()=>[{id:"sample-review-1",authorName:a("Sample reviewer"),rating:5,title:a("Sample review title"),body:a("Approved customer reviews appear here automatically — this card is only a preview of the section's shape."),designCode:"",createdAt:""},{id:"sample-review-2",authorName:a("Sample reviewer"),rating:4,title:"",body:a("Reviews are collected by the Review Form section and wait for your approval before they show."),designCode:"",createdAt:""},{id:"sample-review-3",authorName:a("Sample reviewer"),rating:5,title:a("Another sample"),body:a("Set a product design code on this section to show one product's reviews; leave it blank for the whole store."),designCode:"",createdAt:""}];function A(n){const t=new Date(n);return Number.isNaN(t.getTime())?"":t.toLocaleDateString("en-US",{month:"long",year:"numeric"})}function R({rating:n}){const t=Math.min(5,Math.max(0,Math.round(n)));return e("div",{role:"img","aria-label":`${t} out of 5 stars`,className:`flex gap-1 ${i.body} leading-none`,children:Array.from({length:5}).map((m,o)=>e("span",{"aria-hidden":!0,className:o<t?"text-accent":"text-fg-dim/30",children:"★"},o))})}const _="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",$="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function k({look:n,eyebrow:t,title:m,columns:o,limit:h,designCode:f,omitHead:d=!1,editing:p=!1}={}){const s=M(h??6,f),u=Math.min(3,Math.max(1,o??3)),c=!(s&&s.length>0)&&p,x=s&&s.length>0?s:c?S():[];return!p&&x.length===0?null:e("section",{className:"relative z-[2] border-t border-line bg-surface",children:l("div",{className:d?$:_,children:[d?null:l(b,{children:[(t??"").trim()&&e(w,{text:t??"",look:n,className:"mb-4 block"}),(m??"").trim()&&e("h2",{className:`mb-12 font-heading2 ${i.headingMedium} font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-8 ${i.headingMediumUpTo800}`,children:y(m??"",!1)})]}),e("div",{className:"sf-card grid grid-cols-1 gap-px border border-line bg-line min-[700px]:[grid-template-columns:repeat(var(--rv-cols),minmax(0,1fr))]",style:{"--rv-cols":String(u)},children:x.map(r=>l("article",{className:["flex flex-col gap-4 bg-bg p-10 max-[800px]:p-8",c?"opacity-60":""].join(" "),children:[e(R,{rating:r.rating}),r.title.trim()&&e("h3",{className:`font-display ${i.bodyLarge} font-medium uppercase leading-[1.2] tracking-[-0.01em] text-fg`,children:r.title}),e("div",{className:`flex-1 font-serif ${i.bodySmall} leading-[1.65] text-fg-dim`,children:N(r.body).map((v,g)=>e("p",{className:g?"mt-3":"",children:v},g))}),l("footer",{className:"flex items-baseline justify-between gap-4 border-t border-line pt-5",children:[e("span",{className:`font-mono ${i.label} uppercase tracking-[0.22em] text-fg`,children:r.authorName}),e("span",{className:`font-mono ${i.label} uppercase tracking-[0.18em] text-fg-dim`,children:A(r.createdAt)})]})]},r.id))})]})})}export{k as default};
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from "react";
2
+ interface SearchCtx {
3
+ isOpen: boolean;
4
+ open: () => void;
5
+ close: () => void;
6
+ toggle: () => void;
7
+ }
8
+ export declare function SearchProvider({ children, shortcut, }: {
9
+ children: ReactNode;
10
+ shortcut?: boolean;
11
+ }): import("react").JSX.Element;
12
+ export declare function useSearch(): SearchCtx;
13
+ export {};
@@ -0,0 +1 @@
1
+ "use client";import{jsx as d}from"react/jsx-runtime";import{createContext as v,useCallback as o,useContext as m,useEffect as x,useMemo as y,useState as k}from"react";const w={isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}},a=v(w);function C({children:l,shortcut:r=!0}){const[s,t]=k(!1),c=o(()=>t(!0),[]),u=o(()=>t(!1),[]),i=o(()=>t(n=>!n),[]);x(()=>{if(!r)return;const n=e=>{(e.metaKey||e.ctrlKey)&&(e.key==="k"||e.key==="K")&&(e.preventDefault(),t(p=>!p))};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[r]);const f=y(()=>({isOpen:s,open:c,close:u,toggle:i}),[s,c,u,i]);return d(a.Provider,{value:f,children:l})}function K(){return m(a)}export{C as SearchProvider,K as useSearch};
@@ -0,0 +1,9 @@
1
+ import type { CSSProperties, ReactNode } from "react";
2
+ export declare const BAND_CAP = "mx-auto max-w-[var(--sf-site-width,1600px)]";
3
+ export default function SectionBand({ className, capped, style, id, children, }: {
4
+ className: string;
5
+ capped?: boolean;
6
+ style?: CSSProperties;
7
+ id?: string;
8
+ children?: ReactNode;
9
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{EDITORIAL_COLUMN as a}from"efficient-web-builder/format/lib/content/page-width";const n="mx-auto max-w-[var(--sf-site-width,1600px)]";function c({className:t,capped:i=!1,style:o,id:r,children:s}){return e("section",{className:i?`${n} ${t}`:t,style:o,id:r,children:e("div",{className:a,children:s})})}export{n as BAND_CAP,c as default};
@@ -0,0 +1,5 @@
1
+ export default function SectionFootnote({ text, linkText, linkHref, }: {
2
+ text?: string;
3
+ linkText?: string;
4
+ linkHref?: string;
5
+ }): import("react").JSX.Element | null;
@@ -0,0 +1 @@
1
+ import{jsxs as e}from"react/jsx-runtime";import m from"next/link";import{renderGold as l}from"efficient-web-builder/render/components/goldPhrases";function a({text:t,linkText:i,linkHref:s}){const r=(i??"").trim(),o=(s??"").trim(),n=!!r&&!!o;return!t&&!n?null:e("p",{className:"mt-5 font-mono text-[length:var(--size-label,13px)] tracking-[0.06em] text-fg-dim",children:[t?l(t):null,t&&n?" ":null,n&&e(m,{href:o,className:"text-accent transition-colors hover:text-fg",children:[l(r)," →"]})]})}export{a as default};
@@ -0,0 +1,9 @@
1
+ import type { SlotComponent } from "efficient-easel/blocks";
2
+ export default function SectionGroupBody({ place, sections: Sections, editing, fullWidth, navTextCase, menuRow, }: {
3
+ place: "header" | "footer";
4
+ sections: SlotComponent;
5
+ editing?: boolean;
6
+ fullWidth?: unknown;
7
+ navTextCase?: unknown;
8
+ menuRow?: unknown;
9
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as o,jsxs as f}from"react/jsx-runtime";import{PhoneMenuToolsProvider as m}from"efficient-web-builder/render/components/PhoneMenuTools";import{resolveMenuRow as u,resolveNavTextCase as h}from"../lib/content/header-bar.js";import{say as s}from"efficient-web-builder/format/lib/editor-words";function l({place:e,sections:a,editing:t=!1,fullWidth:n=!1,navTextCase:d,menuRow:i}){const r=f(e==="footer"?"footer":"div",{"data-section-group":e,...e==="header"?{"data-header-nav-case":h(d),"data-header-menu-row":u(i)??"top"}:null,className:t&&e==="footer"?"sf-theme-surfaces bg-bg text-fg":void 0,style:n===!0?{"--sf-site-width":"100vw"}:void 0,children:[t?o("p",{className:"px-5 pt-3 font-mono text-[11px] uppercase tracking-[0.15em] text-fg-dim",children:e==="header"?s("Site header — above every page"):s("Site footer — below every page")}):null,o(a,{minEmptyHeight:120})]});return e==="header"?o(m,{children:r}):r}export{l as default};
@@ -0,0 +1,7 @@
1
+ import type { ReactNode } from "react";
2
+ export type SectionNoticeSize = "tall" | "short";
3
+ export declare const SECTION_NOTICE_TEXT_CLASS = "font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim";
4
+ export default function SectionNotice({ size, children, }: {
5
+ size: SectionNoticeSize;
6
+ children: ReactNode;
7
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";const r="font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim";function a({size:s,children:t}){return s==="tall"?e("section",{className:"grid min-h-[70vh] place-items-center border-b border-line px-[var(--sf-site-gutter,40px)] pt-[104px] pb-14 text-center",style:{background:"var(--section-bg)"},children:e("p",{className:r,children:t})}):e("section",{className:"relative z-[2] border-t border-line bg-surface",children:e("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:e("p",{className:r,children:t})})})}export{r as SECTION_NOTICE_TEXT_CLASS,a as default};
@@ -0,0 +1,17 @@
1
+ import { type SocialLinks } from "efficient-web-builder/format/lib/content/social-links";
2
+ export interface SiteRecordValue {
3
+ socialLinks: SocialLinks;
4
+ legalName: string | null;
5
+ foundedYear: number | null;
6
+ siteName: string;
7
+ commerceEnabled?: boolean;
8
+ cartEnabled?: boolean;
9
+ showThemeSwitch?: boolean;
10
+ }
11
+ export declare const SiteRecordContext: import("react").Context<SiteRecordValue | null>;
12
+ export declare function useSiteSocialLinks(): SocialLinks;
13
+ export declare function useSiteSells(): boolean;
14
+ export declare function siteTakesOrders(record: Pick<SiteRecordValue, "commerceEnabled" | "cartEnabled"> | null | undefined): boolean;
15
+ export declare function useSiteTakesOrders(): boolean;
16
+ export declare function useSiteThemeSwitchShown(): boolean;
17
+ export declare function useSiteCopyright(): string;
@@ -0,0 +1 @@
1
+ "use client";import{createContext as m,useContext as r}from"react";import{usePreviewHeader as s}from"efficient-web-builder/render/components/PreviewHeaderContext";import{PublishedFooterContext as u}from"efficient-web-builder/render/components/PublishedFooterContext";import{usePreviewSocial as c}from"efficient-web-builder/render/components/PreviewSocialContext";import{NEUTRAL_SITE_NAME as l,resolveCopyright as n}from"../lib/content/site.js";import{EMPTY_SOCIAL_LINKS as p}from"efficient-web-builder/format/lib/content/social-links";import{DEFAULT_SWITCH_SHOWN as a}from"efficient-web-builder/format/lib/theme";const o=m(null);function T(){const e=r(u),t=r(o),i=c();return e?e.socialLinks??p:t?t.socialLinks:i.links}function C(){return r(o)?.commerceEnabled??!0}function f(e){return(e?.commerceEnabled??!0)&&(e?.cartEnabled??!0)}function E(){return f(r(o))}function b(){const e=r(o),t=s();return e?e.showThemeSwitch??a:t.themeSwitchShown??a}function L(){const e=r(u),t=r(o),i=s();return e?n({legalName:e.legalName,foundedYear:e.foundedYear,siteName:e.siteName}):t?n({legalName:t.legalName,foundedYear:t.foundedYear,siteName:t.siteName}):n({siteName:i.websiteName?.trim()||l})}export{o as SiteRecordContext,f as siteTakesOrders,L as useSiteCopyright,C as useSiteSells,T as useSiteSocialLinks,E as useSiteTakesOrders,b as useSiteThemeSwitchShown};
@@ -0,0 +1,10 @@
1
+ import { type ReactNode } from "react";
2
+ export default function SiteSwitch({ checked, onChange, ariaLabel, tone, disabled, className, children, }: {
3
+ checked: boolean;
4
+ onChange: (value: boolean) => void;
5
+ ariaLabel: string;
6
+ tone?: "green" | "accent";
7
+ disabled?: boolean;
8
+ className?: string;
9
+ children?: ReactNode;
10
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as s,jsxs as p}from"react/jsx-runtime";import{useState as x}from"react";function b({checked:e,onChange:l,ariaLabel:o,tone:c="accent",disabled:n=!1,className:r,children:i}){const[u,a]=x(!1),f=c==="green"?"bg-green":"bg-accent";return p("label",{className:r,children:[s("input",{type:"checkbox",role:"switch",checked:e,disabled:n,onChange:t=>l(t.target.checked),onFocus:t=>a(t.target.matches(":focus-visible")),onBlur:()=>a(!1),className:"sr-only","aria-label":o}),s("span",{"aria-hidden":"true",className:`relative inline-block h-[17px] w-[30px] flex-none rounded-full transition-colors ${e?f:"bg-line"} ${u?"outline outline-2 outline-offset-2 outline-accent":""}${n?" opacity-60":""}`,children:s("span",{className:`absolute left-[2px] top-[2px] h-[13px] w-[13px] rounded-full bg-bg transition-transform ${e?"translate-x-[13px]":""}`})}),i]})}export{b as default};
@@ -0,0 +1,18 @@
1
+ import type { SpecDiagram } from "../lib/wheels/spec-sheet.js";
2
+ export interface SpecRow {
3
+ label?: string;
4
+ value?: string;
5
+ accent?: boolean;
6
+ }
7
+ export interface SpecTableProps {
8
+ num?: string;
9
+ title?: string;
10
+ description?: string;
11
+ rows?: SpecRow[];
12
+ diagram?: SpecDiagram | null;
13
+ editing?: boolean;
14
+ nodeId?: string;
15
+ omitHead?: boolean;
16
+ capped?: boolean;
17
+ }
18
+ export default function SpecTable({ num, title, description, rows, diagram, editing, omitHead, nodeId, capped, }: SpecTableProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{Fragment as y,jsx as e,jsxs as r}from"react/jsx-runtime";import L from"./SectionBand.js";import{useId as $,useState as z}from"react";import E from"efficient-web-builder/render/components/SectionHeader";import I from"./WheelSvg.js";import{renderGold as b,renderHeadline as T}from"efficient-web-builder/render/components/goldPhrases";import{inchLabel as v}from"../lib/wheels/spec-format.js";import D from"./DimensionArrowMarkers.js";import _ from"./SpecTablePartBridge.js";import{SPEC_REGION_ATTR as j}from"efficient-web-builder/format/lib/sections/spec-table-regions";import{say as N}from"efficient-web-builder/format/lib/editor-words";import{sizedImage as V}from"efficient-web-builder/format/lib/sized-image";const W="(max-width: 1100px) 80vw, 290px",d={labelSmall:"text-[length:var(--size-label,11px)]",label:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,14px)]"};function t(l,a){return l?{[j]:a}:{}}function B({editing:l,nodeId:a,children:i}){return!l||!a?e(y,{children:i}):e(_,{nodeId:a,children:i})}function S({row:l,topBorder:a,editing:i}){return r("div",{className:`flex items-baseline justify-between gap-6 py-4 font-mono ${d.labelLarge} tracking-[0.05em] ${a?"border-t border-line":""}`,children:[e("span",{...t(i,"rowLabel"),className:"uppercase text-fg-dim",children:l.label}),e("span",{...t(i,"rowValue"),className:`text-right ${l.accent?"text-accent":"text-fg"}`,children:l.value})]})}function R({diagram:l,editing:a}){const[i,x]=z(!1),n=`spec-${$().replace(/:/g,"")}`,{wheelName:m,imageSrc:o,diameter:g,width:h,offset:p,holes:f,pcd:s,spokes:c,mesh:u,bore:k}=l,w=!!o&&!i;return r("div",{className:"sf-card bg-surface p-6 max-[1100px]:mt-8",children:[e("div",{...t(a,"diagramTitle"),className:`mb-3 font-mono ${d.label} uppercase tracking-[0.25em] text-fg-dim`,children:"Wheel Dimension Diagram"}),r("div",{className:"relative flex aspect-square items-center justify-center",children:[r("svg",{viewBox:"0 0 320 320",className:"absolute inset-0 h-full w-full text-fg-dim",fill:"none",stroke:"currentColor",children:[e("line",{x1:40,y1:20,x2:280,y2:20,strokeWidth:1,markerStart:`url(#${n}-L)`,markerEnd:`url(#${n}-R)`}),e("line",{x1:40,y1:15,x2:40,y2:25,strokeWidth:1}),e("line",{x1:280,y1:15,x2:280,y2:25,strokeWidth:1}),e(D,{id:n})]}),w?e("img",{...V(o,{fallbackWidth:960}),sizes:W,alt:`${m} — face`,onError:()=>x(!0),loading:"lazy",className:"relative z-[1] block h-[80%] w-[80%] object-contain"}):e(I,{spokes:c,mesh:u,className:"relative z-[1] block h-[72%] w-[72%] text-accent"}),r("span",{...t(a,"diagramCallout"),className:`absolute top-1.5 left-1/2 z-20 -translate-x-1/2 bg-surface px-2 font-mono ${d.label} tracking-[0.2em] text-accent`,children:["⌀ ",v(g)]}),r("span",{...t(a,"diagramCallout"),className:`absolute bottom-1.5 left-1/2 z-20 -translate-x-1/2 bg-surface px-2 font-mono ${d.label} tracking-[0.2em] text-fg`,children:["WIDTH ",v(h)]})]}),r("div",{className:`mt-4 grid grid-cols-5 gap-3 font-mono ${d.labelSmall} uppercase tracking-[0.2em] text-fg-dim max-[480px]:grid-cols-3`,children:[r("div",{children:[e("div",{...t(a,"diagramStatLabel"),className:"text-fg-dim/60",children:"Holes"}),e("div",{...t(a,"diagramStatValue"),className:"mt-1 text-fg",children:f})]}),r("div",{children:[e("div",{...t(a,"diagramStatLabel"),className:"text-fg-dim/60",children:"PCD"}),e("div",{...t(a,"diagramStatValue"),className:"mt-1 text-fg",children:s})]}),r("div",{children:[e("div",{...t(a,"diagramStatLabel"),className:"text-fg-dim/60",children:"Spokes"}),r("div",{...t(a,"diagramStatValue"),className:"mt-1 text-fg",children:[c,u?" + Mesh":""]})]}),r("div",{children:[e("div",{...t(a,"diagramStatLabel"),className:"text-fg-dim/60",children:"Bore"}),e("div",{...t(a,"diagramStatValue"),className:"mt-1 text-fg",children:k})]}),r("div",{children:[e("div",{...t(a,"diagramStatLabel"),className:"text-fg-dim/60",children:"ET"}),e("div",{...t(a,"diagramStatValue"),className:"mt-1 text-accent",children:p})]})]})]})}function C({num:l,title:a,description:i,rows:x,diagram:n,editing:m=!1,omitHead:o=!1,nodeId:g,capped:h=!0}){const p=(x??[]).filter(s=>(s?.label??"").trim()||(s?.value??"").trim()),f=p.length>0?p:m?[{label:N("Label"),value:N("Value")}]:[];return e(L,{className:o?"border-b border-line pt-0 pb-[120px] max-[1100px]:pt-0 max-[1100px]:pb-20":"border-b border-line py-[120px] max-[1100px]:py-20",capped:h,children:r(B,{editing:m,nodeId:g,children:[o?null:e(E,{num:l?b(l):void 0,title:a?T(a,!1):void 0,description:i?b(i):void 0,accent:!0}),n?r("div",{className:"grid grid-cols-[1fr_400px] gap-12 max-[1100px]:grid-cols-1",children:[e("div",{children:f.map((s,c)=>e(S,{row:s,topBorder:c>0,editing:m},c))}),e(R,{diagram:n,editing:m})]}):e("div",{className:"grid grid-cols-2 gap-x-16 max-[900px]:grid-cols-1",children:f.map((s,c)=>e(S,{row:s,topBorder:!0,editing:m},c))})]})})}export{C as default};
@@ -0,0 +1,5 @@
1
+ import type { ReactNode } from "react";
2
+ export default function SpecTablePartBridge({ nodeId, children, }: {
3
+ nodeId: string;
4
+ children: ReactNode;
5
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as r}from"react/jsx-runtime";import{SectionTextParts as o}from"efficient-web-builder/render/lib/puck/editing-bridges";function i({nodeId:e,children:t}){return r(o,{nodeId:e,sectionType:"SpecTable",children:t})}export{i as default};
@@ -0,0 +1,15 @@
1
+ import type { ComponentProps, ReactNode } from "react";
2
+ import { CatalogFilterLabelsProvider } from "./catalog/CatalogFilterLabels.js";
3
+ import { SiteMenuLinksProvider } from "./catalog/SiteMenuLinks.js";
4
+ import { CurrencyProvider } from "./CurrencyContext.js";
5
+ import { SubscribePopupProvider } from "./SubscribePopupContext.js";
6
+ export interface StorefrontProvidersProps {
7
+ catalogFilterLabels?: ComponentProps<typeof CatalogFilterLabelsProvider>["labels"];
8
+ englishVariant?: string | null;
9
+ menuItems?: ComponentProps<typeof SiteMenuLinksProvider>["items"];
10
+ currency: Omit<ComponentProps<typeof CurrencyProvider>, "children">;
11
+ subscribe: Omit<ComponentProps<typeof SubscribePopupProvider>, "children">;
12
+ searchShortcut?: boolean;
13
+ children: ReactNode;
14
+ }
15
+ export default function StorefrontProviders({ catalogFilterLabels, englishVariant, menuItems, currency, subscribe, searchShortcut, children, }: StorefrontProvidersProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as r}from"react/jsx-runtime";import{CartProvider as d}from"./CartContext.js";import{CatalogFilterLabelsProvider as a}from"./catalog/CatalogFilterLabels.js";import{SiteMenuLinksProvider as s}from"./catalog/SiteMenuLinks.js";import{CurrencyProvider as c}from"./CurrencyContext.js";import{EnglishVariantProvider as f}from"./EnglishVariant.js";import{SearchProvider as h}from"./SearchContext.js";import{SubscribePopupProvider as p}from"./SubscribePopupContext.js";import{WishlistProvider as u}from"./WishlistContext.js";import{normalizeEnglishVariant as v}from"../lib/content/english-variant.js";function P({catalogFilterLabels:i,englishVariant:o,menuItems:e,currency:t,subscribe:m,searchShortcut:n=!0,children:l}){return r(f,{variant:v(o),children:r(a,{labels:i,children:r(s,{items:e,children:r(c,{...t,children:r(p,{...m,children:r(u,{children:r(d,{children:r(h,{shortcut:n,children:l})})})})})})})})}export{P as default};
@@ -0,0 +1,23 @@
1
+ import type { Form } from "../lib/api/index.js";
2
+ import type { SlotComponent } from "efficient-easel/blocks";
3
+ export declare const SUBMIT_DEFAULTS: {
4
+ eyebrow: string;
5
+ title: string;
6
+ body: string;
7
+ buttonText: string;
8
+ consent: string;
9
+ };
10
+ interface Props {
11
+ eyebrow?: string;
12
+ title?: string;
13
+ body?: string;
14
+ buttonText?: string;
15
+ consent?: string;
16
+ formSlug?: string;
17
+ form?: Form | null;
18
+ editing?: boolean;
19
+ boxes?: SlotComponent;
20
+ inBoxes?: boolean;
21
+ }
22
+ export default function SubmitBuild({ eyebrow, title, body, buttonText, consent, formSlug, form: injectedForm, editing, boxes: Boxes, inBoxes, }: Props): import("react").JSX.Element | null;
23
+ export {};
@@ -0,0 +1 @@
1
+ "use client";import{jsx as t,jsxs as T}from"react/jsx-runtime";import v from"./SectionBand.js";import{useBoundForm as F,useFormSubmission as j}from"./formSubmission.js";import{SubmitFormColumn as B,SubmitHead as N}from"./submit/SubmitRegions.js";const e={eyebrow:"Section number",title:"Show *us yours.*",body:"Tell people what they get for submitting, and what you do with what they send.",buttonText:"Submit →",consent:"By submitting, you agree to our privacy policy. We never share contact details with third parties."};function o(s,i){return s===void 0?i:s}function L({eyebrow:s,title:i,body:d,buttonText:l,consent:b,formSlug:a,form:y,editing:n=!1,boxes:m,inBoxes:f=!1}){const x=o(s,e.eyebrow),p=o(i,e.title),u=o(d,e.body),h=o(l,e.buttonText),g=o(b,e.consent),r=F(a,y),w=j({form:r,formSlug:a,editing:n}),S=r===void 0,c=!!r||n;return!c&&!x&&!p&&!u?null:f&&m?t(v,{className:"border-y border-line py-[120px] max-[1100px]:py-[60px]",children:t(m,{className:"grid grid-cols-2 items-start gap-[60px] max-[1100px]:grid-cols-1 max-[1100px]:gap-10"})}):t("section",{className:"border-y border-line py-[120px] max-[1100px]:py-[60px]",children:T("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-2 items-end gap-[60px] px-[var(--sf-site-gutter,40px)] max-[1100px]:grid-cols-1 max-[1100px]:gap-10 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[t(N,{eyebrow:x,title:p}),t(B,{body:u,buttonLabel:h,consent:g,form:r,submission:w,showForm:c,resolving:S,editing:n})]})})}export{e as SUBMIT_DEFAULTS,L as default};