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
File without changes
@@ -0,0 +1,10 @@
1
+ import { UPLOAD_LIMITS, type UploadOperation } from "./generated-upload-limits.js";
2
+ export interface UploadLimits {
3
+ maxSizeBytes: number;
4
+ maxFiles?: number;
5
+ accept?: string;
6
+ acceptHint?: string;
7
+ }
8
+ type PartsOf<Operation extends UploadOperation> = keyof (typeof UPLOAD_LIMITS)[Operation] & string;
9
+ export declare function uploadLimits<Operation extends UploadOperation>(operation: Operation, part: PartsOf<Operation>): UploadLimits;
10
+ export {};
@@ -0,0 +1 @@
1
+ import{UPLOAD_LIMITS as i}from"./generated-upload-limits.js";function p(t,c){const e=i[t][c];return{maxSizeBytes:e.max_bytes,maxFiles:e.max_files,accept:e.accept==="*"||e.accept==="*/*"?void 0:e.accept,acceptHint:e.hint}}export{p as uploadLimits};
@@ -0,0 +1,35 @@
1
+ import type { AssistantChatLabels, ToolLabels } from "efficient-shell/ai";
2
+ import type { StorageLike } from "efficient-web-builder/format/lib/safe-storage";
3
+ export declare function assistantStorageKey(siteKey: string): string;
4
+ export declare function assistantSiteKey(host: string): string;
5
+ export interface StoredAssistantChat {
6
+ id: string;
7
+ guestToken?: string;
8
+ }
9
+ export declare function readStoredAssistantChat(storage: StorageLike, key: string): StoredAssistantChat | null;
10
+ export declare function writeStoredAssistantChat(storage: StorageLike, key: string, conversation: StoredAssistantChat | null): void;
11
+ export declare function assistantHeaders(access: string | null, guestToken: string | undefined): Record<string, string>;
12
+ export declare function withSiteQuery(url: string, siteSlug: string | null): string;
13
+ export interface AssistantFetchOptions {
14
+ fetchImpl: typeof fetch;
15
+ siteSlug: () => string | null;
16
+ access: () => string | null;
17
+ refresh: () => Promise<string>;
18
+ signOut: () => void;
19
+ onUnavailable: () => void;
20
+ }
21
+ export declare function createAssistantFetch(options: AssistantFetchOptions): typeof fetch;
22
+ export interface AssistantWording {
23
+ title: string;
24
+ emptyState: string;
25
+ }
26
+ export declare function assistantWording(settings: {
27
+ title?: string;
28
+ greeting?: string;
29
+ }, defaults: {
30
+ title: string;
31
+ greeting: string;
32
+ }): AssistantWording;
33
+ export declare const ASSISTANT_PLACEHOLDER = "Ask about a wheel, stock or an order\u2026";
34
+ export declare const STOREFRONT_TOOL_LABELS: ToolLabels;
35
+ export declare const ASSISTANT_LABELS: Partial<AssistantChatLabels>;
@@ -0,0 +1 @@
1
+ import{webRuntimeSiteSlug as c}from"efficient-web-builder/format/lib/web-runtime";const u="sf:chat:assistant:";function p(e){return`${u}${e}`}function l(e){return c()??e}function g(e,t){const r=e.getItem(t);if(!r)return null;try{const n=JSON.parse(r);return!n||typeof n.id!="string"||!n.id?null:typeof n.guestToken=="string"&&n.guestToken?{id:n.id,guestToken:n.guestToken}:{id:n.id}}catch{return null}}function f(e,t,r){r?e.setItem(t,JSON.stringify(r)):e.removeItem(t)}function S(e,t){return e?{Authorization:`Bearer ${e}`,"X-Portal-Audience":"shop"}:t?{"X-Chat-Token":t}:{}}function d(e,t){return!t||/[?&]site=/.test(e)?e:`${e}${e.includes("?")?"&":"?"}site=${encodeURIComponent(t)}`}function k(e){return async(t,r)=>{if(typeof t!="string")return e.fetchImpl(t,r);const n=d(t,e.siteSlug()),a=/^Bearer /i.test(new Headers(r?.headers).get("Authorization")??"");let o=await e.fetchImpl(n,r);if(o.status===401&&a)try{const i=await e.refresh(),s=new Headers(r?.headers);s.set("Authorization",`Bearer ${i}`),o=await e.fetchImpl(n,{...r,headers:s})}catch{e.signOut()}return o.status===403&&r?.method==="POST"&&e.onUnavailable(),o}}function m(e,t){const r=e.title?.trim(),n=e.greeting?.trim();return{title:r&&r!==t.title?r:"Shop assistant",emptyState:n&&n!==t.greeting?n:"Hi! I’m the shop’s automated assistant. Ask about a wheel, stock, fitment, an order or delivery, and ask for a person at any time."}}const y="Ask about a wheel, stock or an order…",A={search_products:{label:"Search products",running:"Searching products",done:"Searched products"},check_stock:{label:"Check stock",running:"Checking stock",done:"Checked stock",describe:e=>typeof e.part_number=="string"?`for ${e.part_number}`:void 0},track_order:{label:"Track order",running:"Looking up your order",done:"Looked up your order"},list_my_orders:{label:"List orders",running:"Looking up your orders",done:"Looked up your orders"},get_shipping_options:{label:"Shipping options",running:"Checking delivery options",done:"Checked delivery options"},search_knowledge:{label:"Search help",running:"Searching our help pages",done:"Searched our help pages"},request_human:{label:"Ask for a person",running:"Asking for a person",done:"Asked for a person"}},_={open:"Open chat",close:"Close chat",inputLabel:"Message to the shop assistant"};export{_ as ASSISTANT_LABELS,y as ASSISTANT_PLACEHOLDER,A as STOREFRONT_TOOL_LABELS,S as assistantHeaders,l as assistantSiteKey,p as assistantStorageKey,m as assistantWording,k as createAssistantFetch,g as readStoredAssistantChat,d as withSiteQuery,f as writeStoredAssistantChat};
@@ -0,0 +1,6 @@
1
+ export declare const auth: {
2
+ getAccess(): string | null;
3
+ takeLegacyRefresh(): string | null;
4
+ setTokens(access: string): void;
5
+ clear(): void;
6
+ };
@@ -0,0 +1 @@
1
+ import{safeLocalStorage as t}from"efficient-web-builder/format/lib/safe-storage";const c="shop_access_token",r="shop_refresh_token";let s=null;function o(){t.removeItem(c),t.removeItem(r)}const a={getAccess(){return s},takeLegacyRefresh(){const e=t.getItem(r);return o(),e},setTokens(e){s=e,o()},clear(){s=null,o()}};export{a as auth};
@@ -0,0 +1,11 @@
1
+ import { type FontRole } from "efficient-web-builder/format/lib/fonts";
2
+ export declare const BOOKING_TEXT_KINDS: readonly ["step", "name", "value", "note"];
3
+ export type BookingTextKind = (typeof BOOKING_TEXT_KINDS)[number];
4
+ export declare const BOOKING_TEXT_KIND_LABELS: Record<BookingTextKind, string>;
5
+ export declare const BOOKING_KIND_PROP: Record<BookingTextKind, string>;
6
+ export declare const BOOKING_KIND_VARS: Record<BookingTextKind, {
7
+ font: string;
8
+ size: string;
9
+ }>;
10
+ export declare function bookingKindRole(value: unknown): FontRole | null;
11
+ export declare function bookingKindStyle(props: Record<string, unknown>): Record<string, string>;
@@ -0,0 +1 @@
1
+ import{FONT_ROLES as f}from"efficient-web-builder/format/lib/fonts";import{partStyleDeclarations as l}from"efficient-web-builder/render/lib/puck/part-styles";const a=["step","name","value","note"],u={step:"Step",name:"Name",value:"Value",note:"Note"},r={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},s={step:{font:"--bk-step-font",size:"--bk-step-size"},name:{font:"--bk-name-font",size:"--bk-name-size"},value:{font:"--bk-value-font",size:"--bk-value-size"},note:{font:"--bk-note-font",size:"--bk-note-size"}};function p(e){return typeof e=="string"&&f.includes(e)?e:null}const c={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function K(e){const n={};for(const o of a){const i=p(e[r[o]]);if(!i)continue;const t=l({role:i},c);t.fontFamily&&(n[s[o].font]=t.fontFamily),t.fontSize&&(n[s[o].size]=t.fontSize)}return n}export{r as BOOKING_KIND_PROP,s as BOOKING_KIND_VARS,a as BOOKING_TEXT_KINDS,u as BOOKING_TEXT_KIND_LABELS,p as bookingKindRole,K as bookingKindStyle};
@@ -0,0 +1,23 @@
1
+ import { type BookingAvailability } from "./api/index.js";
2
+ export declare const FIRST_BOOKABLE_SCAN_DAYS = 14;
3
+ export declare const MAX_CONSECUTIVE_READ_FAILURES = 3;
4
+ export declare function isoDate(date: Date): string;
5
+ export declare function addDays(iso: string, days: number): string;
6
+ export type AvailabilityReader = (serviceId: string, date: string) => Promise<BookingAvailability>;
7
+ export type FirstBookableResult = {
8
+ outcome: "found";
9
+ date: string;
10
+ availability: BookingAvailability;
11
+ } | {
12
+ outcome: "noneInWindow";
13
+ days: number;
14
+ } | {
15
+ outcome: "unreadable";
16
+ };
17
+ export declare function findFirstBookableDay(serviceId: string, from: string, options?: {
18
+ days?: number;
19
+ signal?: {
20
+ aborted: boolean;
21
+ };
22
+ read?: AvailabilityReader;
23
+ }): Promise<FirstBookableResult>;
@@ -0,0 +1 @@
1
+ import{bookings as d}from"./api/index.js";const l=14,f=3;function g(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function y(t,a){const e=new Date(`${t}T00:00:00`);return e.setDate(e.getDate()+a),g(e)}async function S(t,a,e={}){const o=e.days??l,c=e.read??d.getAvailability;let n=0,i=0;for(let r=0;r<o;r++){if(e.signal?.aborted)return{outcome:"unreadable"};const u=y(a,r);try{const s=await c(t,u);if(n=0,i++,s.slots.length>0)return{outcome:"found",date:u,availability:s}}catch{if(n++,n>=f)return{outcome:"unreadable"}}}return i===o?{outcome:"noneInWindow",days:o}:{outcome:"unreadable"}}export{l as FIRST_BOOKABLE_SCAN_DAYS,f as MAX_CONSECUTIVE_READ_FAILURES,y as addDays,S as findFirstBookableDay,g as isoDate};
@@ -0,0 +1,4 @@
1
+ export interface Expiring {
2
+ expiresAt: number;
3
+ }
4
+ export declare function evictForInsert<V extends Expiring>(cache: Map<string, V>, max: number, isVolatileKey: (key: string) => boolean, now: number): void;
@@ -0,0 +1 @@
1
+ function s(e,f,l,o){for(;e.size>=f;){let n,i;for(const[t,d]of e){if(d.expiresAt<=o){n=t;break}i===void 0&&l(t)&&(i=t)}const r=n??i??e.keys().next().value;if(r===void 0)return;e.delete(r)}}export{s as evictForInsert};
@@ -0,0 +1,12 @@
1
+ export declare function couponDeferredToCheckout(preview: {
2
+ valid: boolean;
3
+ reason: string;
4
+ }, askedAsShopper: boolean): boolean;
5
+ export declare const COUPON_DEFERRED_MESSAGE = "We'll confirm this discount when you place your order.";
6
+ export declare const COUPON_DEFERRED_TOTAL = "Confirmed at checkout";
7
+ export declare function couponCodeForOrder(coupon: {
8
+ code: string;
9
+ valid: boolean;
10
+ deferred?: boolean;
11
+ } | null): string | undefined;
12
+ export declare function couponRefusedByOrder(err: unknown): string | null;
@@ -0,0 +1 @@
1
+ import{ApiError as o}from"../api/index.js";function u(e,t){return e.valid?!1:e.reason==="firstOrderOnly"?!0:e.reason==="notEligible"&&!t}const i="We'll confirm this discount when you place your order.",s="Confirmed at checkout";function c(e){return e&&(e.valid||e.deferred)?e.code:void 0}const r="coupon_code: ";function d(e){return!(e instanceof o)||e.status!==400||!e.message.startsWith(r)?null:e.message.slice(r.length)}export{i as COUPON_DEFERRED_MESSAGE,s as COUPON_DEFERRED_TOTAL,c as couponCodeForOrder,u as couponDeferredToCheckout,d as couponRefusedByOrder};
@@ -0,0 +1,12 @@
1
+ export type ShippingStatus = "free" | "charged" | "arranged" | "pending";
2
+ export declare const SHIPPING_ARRANGED = "Arranged after review";
3
+ export declare const CALCULATED_AT_CHECKOUT = "Calculated at checkout";
4
+ export declare const SHIPPING_PENDING = "Calculated at checkout";
5
+ export declare const TAX_PENDING = "Calculated at checkout";
6
+ export declare function shippingStatus({ quoted, optionCount, chosenAmount, couponWaivesFreight, }: {
7
+ quoted: boolean;
8
+ optionCount: number;
9
+ chosenAmount: number | undefined;
10
+ couponWaivesFreight: boolean;
11
+ }): ShippingStatus;
12
+ export declare function shippingWords(status: ShippingStatus): string | null;
@@ -0,0 +1 @@
1
+ import{FREE_PRICE as c}from"../wheels/price-display.js";const i="Arranged after review",t="Calculated at checkout",o=t,p=t;function s({quoted:r,optionCount:n,chosenAmount:e,couponWaivesFreight:a}){return r&&n===0?"arranged":a?"free":e===void 0?"pending":e===0?"free":"charged"}function d(r){switch(r){case"arranged":return i;case"pending":return o;case"free":return c;case"charged":return null}}export{t as CALCULATED_AT_CHECKOUT,i as SHIPPING_ARRANGED,o as SHIPPING_PENDING,p as TAX_PENDING,s as shippingStatus,d as shippingWords};
@@ -0,0 +1,3 @@
1
+ import type { CartLine } from "../../components/CartContext.js";
2
+ import type { CartLineSnapshot } from "../api/index.js";
3
+ export declare function snapshotCartLines(lines: CartLine[], priceLabelFor: (line: CartLine) => string): CartLineSnapshot[];
@@ -0,0 +1 @@
1
+ function c(s,t){return s.map(a=>({qty:a.qty,slug:a.slug,name:`${a.name.lead}${a.name.accent}`.trim(),finish:a.finishName,size:a.size,kind:a.kind,sku:a.sku,pack:a.pack,priceLabel:t(a)}))}export{c as snapshotCartLines};
@@ -0,0 +1,3 @@
1
+ import type { StoreProduct } from "./store-product.js";
2
+ import type { Tyre } from "../api/index.js";
3
+ export declare function fromTyre(tyre: Tyre): StoreProduct;
@@ -0,0 +1 @@
1
+ const r=[{key:"loadIndex",label:"Load index",prompt:"Select a load index",spec:"loadIndex"},{key:"speedRating",label:"Speed rating",prompt:"Select a speed rating",spec:"speedRating"},{key:"tyreType",label:"Type",prompt:"Select a type",spec:"tireType"}];function b(s){const n=s.variants??[],i=[];for(const e of n)i.some(o=>o.value===e.size)||i.push({value:e.size,label:e.size});const l={size:i};for(const e of r){const o=[];for(const a of n){const p=a.specs[e.spec];!p||o.some(u=>u.value===p)||o.push({value:p,label:p})}l[e.key]=o}const c=n.map(e=>({id:e.sku,options:{size:e.size,...Object.fromEntries(r.map(o=>[o.key,e.specs[o.spec]]).filter(([,o])=>!!o))},inStock:e.inStock,image:e.image??null,components:[{partNumber:e.sku,wheels:1,prices:e.prices}]})),t=[{key:"size",label:"Size",prompt:"Select a size",role:"resolves",display:"pill"},...r.map(e=>({key:e.key,label:e.label,prompt:e.prompt,role:"describes",display:"pill"}))];return{kind:"tyre",source:s,slug:s.slug,name:s.name,eyebrow:s.brand,badge:"",href:`/tyres/${s.slug}`,crumbs:[{label:"Home",href:"/"},{label:s.name}],cover:s.coverImage??null,inStock:s.inStock,mediaGroups:s.mediaGroups,optionFields:t,optionValues:l,parts:c,anchorPrices:m(n),anchorMsrpPrices:{}}}function m(s){const n={};for(const i of s)for(const[l,c]of Object.entries(i.prices??{})){if(typeof c!="number"||!Number.isFinite(c)||c<=0)continue;const t=n[l];(t==null||c<t)&&(n[l]=c)}return n}export{b as fromTyre};
@@ -0,0 +1,7 @@
1
+ import type { StorePart, StoreProduct } from "./store-product.js";
2
+ import type { Wheel, WheelVariant } from "../api/index.js";
3
+ import { type VehicleFitment } from "../wheels/plp-fitment-match.js";
4
+ export declare function fromWheel(wheel: Wheel): StoreProduct;
5
+ export declare function wheelForVehicle(product: StoreProduct, fit: VehicleFitment | null): StoreProduct;
6
+ export declare function partVariant(wheel: Wheel, part: StorePart | null): WheelVariant | null;
7
+ export declare function wheelFinish(wheel: Wheel, name: string | undefined): Wheel["finishes"][number];
@@ -0,0 +1 @@
1
+ import{variantsFittingVehicle as z}from"../wheels/plp-fitment-match.js";import{FALLBACK_FINISH as P}from"../wheels/finish-defaults.js";import{variantEtKey as d,variantSizeGroupKey as S,variantSizeGroupLabel as B,variantSizeGroupNote as F}from"../wheels/variant-spec.js";import{trimDecimal as h}from"../wheels/spec-format.js";import{findVariant as N,isVariantOutOfStock as D}from"../wheels/variants.js";import{HAND_WORDS as O,NOT_HANDED_WORDS as x,variantIsHanded as y}from"../wheels/set-mode.js";const V="handed",g="plain";function R(t){const n=t.variants??[],o=t.finishes.map(e=>({value:e.name,label:e.name,swatch:e.color}));function s(e){const a=[];for(const k of n){const b=e(k);!b||a.some(v=>v.value===b.value)||a.push(b)}return a}const u=s(e=>({value:S(e),label:B(e),note:F(e)})),c=s(e=>e.boltPattern?{value:e.boltPattern,label:e.boltPattern}:null),f=s(e=>{const a=d(e);return a===null?null:{value:a,label:`ET ${a}`}}),l=s(e=>e.centreBore==null?null:{value:h(e.centreBore),label:`${h(e.centreBore)} mm`}),i=s(e=>({value:y(e)?V:g,label:y(e)?O:x})),r=n.map(e=>({id:`${e.finishName}|${e.size}`,options:{finish:e.finishName,size:S(e),variantSize:e.size,...e.boltPattern?{boltPattern:e.boltPattern}:{},...d(e)!==null?{et:d(e)}:{},...e.centreBore==null?{}:{centreBore:h(e.centreBore)},pairing:y(e)?V:g},inStock:!D(e),image:null,components:e.components})),m=((t.defaultFinish?o.find(e=>e.value===t.defaultFinish):void 0)??o[0])?.value;return{kind:"alloy-wheel",source:t,slug:t.slug,name:t.name,eyebrow:t.process,badge:t.badge==="new"?"New 2026":t.badge?"Bestseller":"",href:`/wheels/${t.slug}`,crumbs:[{label:"Home",href:"/"},{label:"Wheels",href:"/wheels"},{label:t.process,href:"/wheels"},{label:t.name}],cover:t.coverImage??null,inStock:t.inStock===!0,mediaGroups:t.mediaGroups,optionFields:[{key:"finish",label:"Finish",prompt:"Select a finish",role:"resolves",display:"swatch",defaultValue:m},{key:"size",label:"Size",prompt:"Select a size",role:"resolves",display:"pill",empty:{text:"This wheel isn't available to order online in this finish.",linkText:"Contact us about it →",href:"/contact"}},{key:"boltPattern",label:"Bolt pattern",prompt:"Select a bolt pattern",role:"describes",display:"pill"},{key:"et",label:"Offset",prompt:"Select an offset",role:"describes",display:"pill"},{key:"centreBore",label:"Centre bore",prompt:"Select a centre bore",role:"describes",display:"pill"},{key:"pairing",label:"Wheels",prompt:"Select a pairing",role:"describes",display:"pill"}],optionValues:{finish:o,size:u,boltPattern:c,et:f,centreBore:l,pairing:i},parts:r,anchorPrices:t.prices,anchorMsrpPrices:t.msrpPrices??{}}}function T(t,n){if(t.kind!=="alloy-wheel"||n===null)return t;const o=new Set(z(t.source.variants??[],n));if(o.size===0)return t;const s=t.parts.filter(l=>{const i=A(t.source,l);return i!==null&&o.has(i)});if(s.length===0||s.length===t.parts.length)return t;const u=(l,i)=>new Set(l.map(r=>r.options[i]).filter(r=>r!==void 0)),c={},f=[];for(const l of t.optionFields){const i=u(t.parts,l.key),r=u(s,l.key),p=(t.optionValues[l.key]??[]).filter(e=>r.has(e.value)||!i.has(e.value));c[l.key]=p;const m=l.defaultValue!==void 0&&!p.some(e=>e.value===l.defaultValue)?p[0]?.value:l.defaultValue;f.push(m===l.defaultValue?l:{...l,defaultValue:m})}return{...t,optionFields:f,optionValues:c,parts:s}}function A(t,n){return n?N(t.variants??[],n.options.finish,n.options.variantSize)??null:null}function _(t,n){return t.finishes.find(o=>o.name===n)??t.finishes[0]??P}export{R as fromWheel,A as partVariant,_ as wheelFinish,T as wheelForVehicle};
@@ -0,0 +1,11 @@
1
+ import type { ProductKind } from "../api/index.js";
2
+ export interface SiteMenuLink {
3
+ url: string;
4
+ }
5
+ export declare function productListingLink(kind: ProductKind, menuLinks?: readonly SiteMenuLink[]): string;
6
+ export interface MenuItemLike {
7
+ url?: string | null;
8
+ dropdownItems?: readonly MenuItemLike[] | null;
9
+ [key: string]: unknown;
10
+ }
11
+ export declare function flattenMenuLinks(items: readonly MenuItemLike[] | null | undefined): SiteMenuLink[];
@@ -0,0 +1 @@
1
+ import{BUILT_IN_LISTING_PATH as l,linkPagePath as s,readListingFilter as a,withListingFilter as c}from"../links/link-rules.js";import{PLP_TYPE_PARAM as e}from"../wheels/plp-filters.js";function L(n,t=[]){const r=c(l,{param:e,value:n}),i=t.find(f=>{const o=(f?.url??"").trim();if(!o||o==="#")return!1;const u=a(o);return u?.param!==e||u.value!==n?!1:s(o).startsWith("/")});return i?i.url:r}function h(n){const t=[];for(const r of n??[]){typeof r?.url=="string"&&t.push({url:r.url});for(const i of r?.dropdownItems??[])typeof i?.url=="string"&&t.push({url:i.url})}return t}export{h as flattenMenuLinks,L as productListingLink};
@@ -0,0 +1,39 @@
1
+ import type { FinishFamily, ProductKind, ProductSummary, WheelSummary } from "../api/index.js";
2
+ import { type TyreSize } from "../tyres/tyre-size.js";
3
+ export type PlpItem = ProductSummary | WheelSummary;
4
+ export declare const PLP_KINDS: readonly ProductKind[];
5
+ export declare const PLP_DEFAULT_KINDS: readonly ProductKind[];
6
+ export declare const PLP_KIND_LABELS: Record<ProductKind, string>;
7
+ export declare const PLP_ANY_TYPE_LABEL = "All products";
8
+ export declare const PLP_ALL_TYPES_LABEL = "All product types";
9
+ export declare function plpKindNoun(kinds: readonly ProductKind[]): {
10
+ one: string;
11
+ many: string;
12
+ };
13
+ export declare const PRODUCT_KIND_OPTIONS: readonly {
14
+ value: string;
15
+ label: string;
16
+ }[];
17
+ export declare function resolvePlpKinds(stored: readonly string[] | null | undefined): ProductKind[];
18
+ export declare function itemKind(item: PlpItem): ProductKind;
19
+ export declare function plpItemsOfKinds<T extends PlpItem>(items: readonly T[], kinds: readonly ProductKind[]): T[];
20
+ export declare function itemSlug(item: PlpItem): string;
21
+ export declare function itemName(item: PlpItem): string;
22
+ export declare function itemBrand(item: PlpItem): string;
23
+ export declare function plpBrandVaries(items: readonly PlpItem[]): boolean;
24
+ export declare function itemProcess(item: PlpItem): string;
25
+ export declare function plpProcessVaries(items: readonly PlpItem[]): boolean;
26
+ export declare function itemPrices(item: PlpItem): Record<string, number | null> | undefined;
27
+ export declare function itemInStock(item: PlpItem): boolean;
28
+ export declare function itemDiameters(item: PlpItem): number[];
29
+ export declare function itemIsNew(item: PlpItem): boolean;
30
+ export declare function itemFinishes(item: PlpItem): {
31
+ family: string;
32
+ color: string | null;
33
+ }[];
34
+ export declare function itemFinishFamilies(item: PlpItem): FinishFamily[];
35
+ export declare function itemCollections(item: PlpItem): string[];
36
+ export declare function itemPcds(item: PlpItem): string[];
37
+ export declare function itemTyreTypes(item: PlpItem): string[];
38
+ export declare function itemSpeedRatings(item: PlpItem): string[];
39
+ export declare function itemTyreSizes(item: PlpItem): TyreSize[];
@@ -0,0 +1 @@
1
+ import{parseTyreSize as l}from"../tyres/tyre-size.js";const s=["alloy-wheel","tyre"],u=["alloy-wheel"],c={"alloy-wheel":"Alloy wheels",tyre:"Tyres"},m="All products",x="All product types";function P(e){return e.length===1&&e[0]==="alloy-wheel"?{one:"wheel",many:"wheels"}:e.length===1&&e[0]==="tyre"?{one:"tyre",many:"tyres"}:{one:"product",many:"products"}}const d=s.map(e=>({value:e,label:c[e]}));function w(e){return e==null?[...u]:Array.isArray(e)?s.filter(r=>e.includes(r)):[...u]}const n=e=>e;function o(e){return n(e).kind==="tyre"?"tyre":"alloy-wheel"}function A(e,r){return e.filter(t=>r.includes(o(t)))}function h(e){return n(e).slug??""}function L(e){return n(e).name??""}function p(e){return n(e).brand??""}function S(e){const r=new Set;for(const t of e)if(r.add(p(t)),r.size>1)return!0;return!1}function f(e){return n(e).process??""}function _(e){const r=new Set;for(const t of e)if(r.add(f(t)),r.size>1)return!0;return!1}function g(e){return n(e).prices??void 0}function T(e){return n(e).inStock!==!1}function N(e){const r=n(e),t=o(e)==="tyre"?r.rimDiameters:r.sizes;return Array.isArray(t)?t.filter(i=>typeof i=="number"&&Number.isFinite(i)):[]}function D(e){return o(e)!=="tyre"&&n(e).badge==="new"}function a(e){return o(e)==="tyre"?[]:(n(e).finishes??[]).filter(r=>typeof r?.family=="string").map(r=>({family:r.family,color:r.color??null}))}function I(e){return a(e).map(r=>r.family)}function K(e){if(o(e)==="tyre")return[];const r=n(e),t=r.categories;return t&&t.length>0?t:r.process?[r.process]:[]}function z(e){return o(e)==="tyre"?[]:n(e).spec?.pcds??[]}function E(e){return o(e)!=="tyre"?[]:n(e).tyreTypes??[]}function B(e){return o(e)!=="tyre"?[]:n(e).speedRatings??[]}function F(e){if(o(e)!=="tyre")return[];const r=n(e).sizes;return Array.isArray(r)?r.map(t=>l(typeof t=="string"?t:null)).filter(t=>t!==null):[]}export{x as PLP_ALL_TYPES_LABEL,m as PLP_ANY_TYPE_LABEL,u as PLP_DEFAULT_KINDS,s as PLP_KINDS,c as PLP_KIND_LABELS,d as PRODUCT_KIND_OPTIONS,p as itemBrand,K as itemCollections,N as itemDiameters,I as itemFinishFamilies,a as itemFinishes,T as itemInStock,D as itemIsNew,o as itemKind,L as itemName,z as itemPcds,g as itemPrices,f as itemProcess,h as itemSlug,B as itemSpeedRatings,F as itemTyreSizes,E as itemTyreTypes,S as plpBrandVaries,A as plpItemsOfKinds,P as plpKindNoun,_ as plpProcessVaries,w as resolvePlpKinds};
@@ -0,0 +1,20 @@
1
+ import type { ProductKind } from "../api/index.js";
2
+ export declare function plpKindTitle(kinds: readonly ProductKind[]): string;
3
+ export interface PlpVehicleCopy {
4
+ promise: string;
5
+ showAll: string;
6
+ browseInstead: string;
7
+ showingEvery: string;
8
+ eyebrow: string;
9
+ gateHeading: string;
10
+ gateIntro: string;
11
+ nothingFits: string;
12
+ noData: string;
13
+ cascadeDown: string;
14
+ countFits: (n: number) => string;
15
+ }
16
+ export declare function plpVehicleCopy(kinds: readonly ProductKind[]): PlpVehicleCopy;
17
+ export declare function plpGateWords(authoredHeading: string, authoredIntro: string, shownKinds: readonly ProductKind[], tickedKinds: readonly ProductKind[]): {
18
+ heading: string;
19
+ intro: string;
20
+ };
@@ -0,0 +1 @@
1
+ import{plpKindNoun as s,PLP_KIND_LABELS as l}from"./plp-item.js";function c(e){return e.length===1?l[e[0]]:"Products"}function a(e){return e.length===1?e[0]:null}function h(e){switch(a(e)){case"alloy-wheel":return"Only wheels that bolt on";case"tyre":return"Only sizes your car takes";default:return"Only what fits your car"}}function y(e){switch(a(e)){case"alloy-wheel":return{heading:"Let's find wheels that fit your car.",intro:"Tell us what you drive and we'll show you every set that bolts straight on — bolt pattern, offset and hub bore checked for you."};case"tyre":return{heading:"Let's find tyres that fit your car.",intro:"Tell us what you drive and we'll show you every tyre made in your car's factory sizes — front and rear checked for you."};default:return{heading:"Let's find products that fit your car.",intro:"Tell us what you drive and we'll show you what fits. Wheels are checked on bolt pattern, offset and hub bore. Tyres are checked on the sizes your car takes."}}}function u(e){switch(a(e)){case"alloy-wheel":return"We only list a wheel here once its bolt pattern and hub bore are confirmed against your car. Nothing in this range is confirmed for it yet — browse everything, or ask us and we'll check by hand.";case"tyre":return"We only list a tyre here once one of its sizes is confirmed for your car. Nothing in this range is confirmed for it yet — browse everything, or ask us and we'll check by hand.";default:return"We only list a product here once it is confirmed against your car: a wheel on its bolt pattern and hub bore, a tyre on the sizes your car takes. Nothing in this range is confirmed for it yet — browse everything, or ask us and we'll check by hand."}}const d="We don't have factory tyre data for this exact car, so we can't promise a fit. Here are all tyres instead — the size is printed on your current tyre's sidewall.";function f(e){const t=s(e),o=y(e),n=`showing every ${t.one}`;return{promise:h(e),showAll:`Show all ${t.many}`,browseInstead:`Browse all ${t.many} instead`,showingEvery:n,eyebrow:`${c(e)} · checked fitment`,gateHeading:o.heading,gateIntro:o.intro,nothingFits:u(e),noData:a(e)==="tyre"?d:`No fitment data for this car — ${n}`,cascadeDown:`Vehicle data is unavailable right now — browse all ${t.many} and we'll help you check fitment at checkout.`,countFits:r=>`${r} ${r===1?t.one:t.many} fit${r===1?"s":""}`}}function g(e,t,o,n){const r=f(o),i=o.length!==n.length;return{heading:!i&&e||r.gateHeading,intro:!i&&t||r.gateIntro}}export{g as plpGateWords,c as plpKindTitle,f as plpVehicleCopy};
@@ -0,0 +1,13 @@
1
+ import type { ProductKind } from "../api/index.js";
2
+ import { type PlpItem } from "./plp-item.js";
3
+ import type { TyreFitVehicleQuery } from "../tyres/tyre-vehicle-fitment.js";
4
+ import type { VehicleSelection } from "../wheels/fitment-options.js";
5
+ export declare const SERVER_NARROWED_KINDS: readonly ProductKind[];
6
+ export declare function serverNarrowedKinds(shown: readonly ProductKind[]): ProductKind[];
7
+ export declare function catalogVehicleQuery(vehicle: VehicleSelection | null | undefined): TyreFitVehicleQuery | null;
8
+ export interface CatalogSliceRequest {
9
+ kinds: ProductKind[];
10
+ vehicle: TyreFitVehicleQuery | null;
11
+ }
12
+ export declare function catalogSliceRequest(narrowedKinds: readonly ProductKind[], vehicle: TyreFitVehicleQuery | null, answered: boolean): CatalogSliceRequest | null;
13
+ export declare function mergeNarrowedSlice(catalog: readonly PlpItem[], narrowedKinds: readonly ProductKind[], slugs: readonly string[] | null): PlpItem[];
@@ -0,0 +1 @@
1
+ import{itemKind as i,itemSlug as u}from"./plp-item.js";import{isCompleteVehicle as l}from"../wheels/plp-vehicle-params.js";const f=["tyre"];function c(r){return f.filter(t=>r.includes(t))}function p(r){return!r||!l(r)||r.year===null?null:{make:r.make,model:r.model,year:r.year,modification:r.modification}}function d(r,t,e){return r.length===0||!t&&!e?null:{kinds:[...r],vehicle:t}}function s(r,t,e){if(e===null||t.length===0)return[...r];const o=new Set(e);return r.filter(n=>!t.includes(i(n))||o.has(u(n)))}export{f as SERVER_NARROWED_KINDS,d as catalogSliceRequest,p as catalogVehicleQuery,s as mergeNarrowedSlice,c as serverNarrowedKinds};
@@ -0,0 +1,27 @@
1
+ import type { OptionField, OptionValue, StorePart, StoreProduct } from "./store-product.js";
2
+ export interface OptionRow {
3
+ key: string;
4
+ label: string;
5
+ prompt: string;
6
+ role: OptionField["role"];
7
+ display: "swatch" | "pill";
8
+ values: readonly OptionValue[];
9
+ chosen: string | null;
10
+ empty?: {
11
+ text: string;
12
+ linkText: string;
13
+ href: string;
14
+ };
15
+ }
16
+ export declare function shownOptions(product: StoreProduct, picked: Record<string, string>): Record<string, string>;
17
+ export interface OptionFact {
18
+ key: string;
19
+ label: string;
20
+ value: OptionValue;
21
+ }
22
+ export declare function askableOptions(product: StoreProduct, picked: Record<string, string>): OptionRow[];
23
+ export declare function statedOptions(product: StoreProduct, picked: Record<string, string>): OptionFact[];
24
+ export declare function askedKeys(product: StoreProduct, picked: Record<string, string>): string[];
25
+ export declare function resolvePart(product: StoreProduct, picked: Record<string, string>): StorePart | null;
26
+ export declare function staleOptions(product: StoreProduct, picked: Record<string, string>): string[];
27
+ export declare function resolvingRowsAnswered(rows: readonly OptionRow[], preOrder: boolean): boolean;
@@ -0,0 +1 @@
1
+ function w(e,n,t){const s=new Map;for(const l of e){const i=JSON.stringify(n.map(u=>l.options[u]??null));let a=s.get(i);a||s.set(i,a=new Set);const o=l.options[t];o!==void 0&&a.add(o)}return[...s.values()]}function c(e,n,t){return t.every(s=>n[s]===void 0||e.options[s]===n[s])}function k(e,n){const t={};for(const s of e.optionFields){const l=n[s.key]??s.defaultValue;l!==void 0&&(t[s.key]=l)}return t}function y(e,n){return d(e,n).rows}function x(e,n){return d(e,n).facts}function d(e,n){const t=k(e,n),s=e.optionFields.filter(o=>o.role==="resolves").map(o=>o.key),l=[],i=[],a=[];for(const o of e.optionFields){const u=e.optionValues[o.key]??[],p=e.parts.filter(r=>c(r,t,a)),f=new Set(p.map(r=>r.options[o.key]).filter(r=>r!==void 0)),v=new Set(e.parts.map(r=>r.options[o.key]).filter(r=>r!==void 0)),h=u.filter(r=>f.has(r.value)||!v.has(r.value));if(o.role==="resolves"?!0:w(p,s,o.key).some(r=>r.size>1))l.push({key:o.key,label:o.label,prompt:o.prompt,role:o.role,display:o.display,values:h,chosen:n[o.key]??null,empty:o.empty}),a.push(o.key);else if(f.size===1){const[r]=[...f];i.push({key:o.key,label:o.label,value:u.find(m=>m.value===r)??{value:r,label:r}})}}return{rows:l,facts:i}}function g(e,n){return y(e,n).map(t=>t.key)}function O(e,n){const t=g(e,n);if(t.length===0||t.some(l=>n[l]===void 0))return null;const s=e.parts.filter(l=>c(l,n,t));return s.length===1?s[0]:null}function S(e,n){const t=y(e,n);return Object.keys(n).filter(s=>{const l=t.find(i=>i.key===s);return l?!l.values.some(i=>i.value===n[s]):!1})}function F(e,n){return e.filter(t=>!n||t.values.length>0).filter(t=>t.role==="resolves").every(t=>t.chosen!==null)}export{y as askableOptions,g as askedKeys,O as resolvePart,F as resolvingRowsAnswered,k as shownOptions,S as staleOptions,x as statedOptions};
@@ -0,0 +1,46 @@
1
+ import { type PurchaseChoice, type PurchaseUnit, type SetComponent, type SpareSide } from "../commerce.js";
2
+ import type { CartLine } from "../../components/CartContext.js";
3
+ import type { StorePart, StoreProduct } from "./store-product.js";
4
+ export declare function vehicleGate(product: StoreProduct): "required" | "advisory";
5
+ export interface PackOption {
6
+ value: PurchaseUnit;
7
+ label: string;
8
+ }
9
+ export interface PurchaseOffer {
10
+ packs: readonly PackOption[];
11
+ extra: {
12
+ label: string;
13
+ } | null;
14
+ spareCounts: readonly {
15
+ value: number;
16
+ label: string;
17
+ }[];
18
+ spareSide: {
19
+ label: string;
20
+ options: readonly {
21
+ value: SpareSide;
22
+ label: string;
23
+ }[];
24
+ } | null;
25
+ components: SetComponent[];
26
+ quantityLabel: string;
27
+ }
28
+ export interface PurchaseState {
29
+ choice: PurchaseChoice;
30
+ qty: number;
31
+ }
32
+ export declare const DEFAULT_PURCHASE_STATE: PurchaseState;
33
+ export declare const SPARE_WORDS: {
34
+ readonly howMany: "How many wheels";
35
+ readonly oneSet: "One set";
36
+ readonly oneSetPlusSpare: "One set + 1 spare";
37
+ readonly whichSide: "Which side is the spare?";
38
+ readonly left: "Left";
39
+ readonly right: "Right";
40
+ };
41
+ export declare function purchaseOffer(product: StoreProduct, part: StorePart | null, state: PurchaseState): PurchaseOffer;
42
+ export interface PurchaseContext {
43
+ fitmentLabel: string;
44
+ fitmentKey: string;
45
+ }
46
+ export declare function productCartLine(product: StoreProduct, part: StorePart | null, picked: Record<string, string>, state: PurchaseState, context: PurchaseContext): CartLine | null;
@@ -0,0 +1 @@
1
+ import{DEFAULT_PURCHASE_CHOICE as E,MAX_SPARES as k,UNITS_PER_SET as r,WHEELS_PER_SET as h,packLabel as L,setPackComposition as m,spareTargetsByHand as v,withSpare as $}from"../commerce.js";import{tyreCartLine as g,tyrePackComposition as C}from"../tyres/tyre-purchase.js";import{setLabel as A}from"../wheels/variants.js";import{partVariant as S}from"./from-wheel.js";import{splitWheelName as P}from"../wheels/wheel-name.js";function U(n){return n.kind==="tyre"?"advisory":"required"}const N={choice:E,qty:1};function _(n,e){if(n.kind!=="alloy-wheel")return`Set of ${h}`;const i=S(n.source,e);return i?A(i):`Set of ${h}`}const b=(n,e)=>n===1?e:`${n} × ${e}`;function y(n){return n.unit==="set"?{label:`Add a spare — ${r+1} instead of ${r}`}:null}const s={howMany:"How many wheels",oneSet:"One set",oneSetPlusSpare:"One set + 1 spare",whichSide:"Which side is the spare?",left:"Left",right:"Right"};function q(n,e){return e.unit!=="set"||v(n)===null?null:{counts:[{value:r,label:s.oneSet},{value:r+k,label:s.oneSetPlusSpare}],side:e.spares>0?{label:s.whichSide,options:[{value:"left",label:s.left},{value:"right",label:s.right}]}:null}}function w(n,e,i){if(n.kind==="tyre")return{packs:[{value:"set",label:`A set of ${r}`},{value:"single",label:"Just one"}],extra:y(i.choice),spareCounts:[],spareSide:null,components:e?C({sku:e.id,prices:e.components[0].prices},i.choice):[],quantityLabel:b(i.qty,L(i.choice))};const o=e?q(e.components,i.choice):null;return{packs:[],extra:o?null:y(i.choice),spareCounts:o?.counts??[],spareSide:o?.side??null,components:e?m(e.components,i.choice):[],quantityLabel:b(i.qty,$(_(n,e),i.choice))}}function W(n,e,i,o,a){if(!e)return null;if(n.kind==="tyre"){const f=(n.source.variants??[]).find(d=>d.sku===e.id);return f?g(n.source,f,o.choice,o.qty):null}const l=n.source,u=S(l,e);if(!u)return null;const t=e.options.finish??"",c=u.size,p=o.choice.spares>0;return{id:`${l.slug}|${t}|${c}|${a.fitmentKey}${p?"|spare":""}`,slug:l.slug,name:P(l.name),process:l.process,positionNo:"01",config:[{label:c},{label:t,gold:!0},{label:a.fitmentLabel},{label:w(n,e,o).quantityLabel}],finishName:t,size:c,components:m(e.components,o.choice),qty:o.qty,...p?{pack:o.choice}:{}}}export{N as DEFAULT_PURCHASE_STATE,s as SPARE_WORDS,W as productCartLine,w as purchaseOffer,U as vehicleGate};
@@ -0,0 +1,12 @@
1
+ import { type SiteMenuLink } from "./listing-links.js";
2
+ import type { Relationship } from "./relationships.js";
3
+ export declare const RELATED_CARDS_MIN = 2;
4
+ export declare const RELATED_CARDS_DEFAULT = 6;
5
+ export declare const RELATED_CARDS_MAX = 12;
6
+ export declare function relatedCardCount(value: unknown): number;
7
+ export declare const PAIR_WITH_CARDS = 3;
8
+ export interface RelatedViewMore {
9
+ href: string;
10
+ label: string;
11
+ }
12
+ export declare function relatedViewMore(relationship: Relationship, menuLinks?: readonly SiteMenuLink[]): RelatedViewMore;
@@ -0,0 +1 @@
1
+ import{plpKindNoun as o}from"./plp-item.js";import{productListingLink as e}from"./listing-links.js";const n=2,i=6,p=12;function u(t){return typeof t!="number"||!Number.isFinite(t)?i:Math.min(p,Math.max(n,Math.round(t)))}const D=3;function R(t,r=[]){return{href:e(t.to,r),label:`View more ${o([t.to]).many}`}}export{D as PAIR_WITH_CARDS,i as RELATED_CARDS_DEFAULT,p as RELATED_CARDS_MAX,n as RELATED_CARDS_MIN,u as relatedCardCount,R as relatedViewMore};
@@ -0,0 +1,28 @@
1
+ import type { CompatibleTyre, ProductKind, WheelSummary } from "../api/index.js";
2
+ import type { StoreProduct } from "./store-product.js";
3
+ export type RelatedCards = {
4
+ kind: "tyre";
5
+ tyres: readonly CompatibleTyre[];
6
+ } | {
7
+ kind: "alloy-wheel";
8
+ wheels: readonly WheelSummary[];
9
+ };
10
+ export interface Relationship {
11
+ key: string;
12
+ label: string;
13
+ from: readonly ProductKind[];
14
+ to: ProductKind;
15
+ heading: string;
16
+ resolve(product: StoreProduct, relatedWheels: readonly WheelSummary[]): RelatedCards;
17
+ }
18
+ export declare const RELATIONSHIPS: readonly Relationship[];
19
+ export declare const DEFAULT_RELATIONSHIP = "more-like-this";
20
+ export declare const RELATIONSHIP_OPTIONS: readonly {
21
+ value: string;
22
+ label: string;
23
+ }[];
24
+ export declare function relationshipByKey(key: string | null | undefined): Relationship | undefined;
25
+ export declare function relationshipsFor(kind: ProductKind): Relationship[];
26
+ export declare function relationshipApplies(relationship: Relationship, kind: ProductKind): boolean;
27
+ export declare const CARD_ROWS_NOT_ON_A_TYRE: readonly string[];
28
+ export declare function answersWithTyres(key: string | null | undefined): boolean;
@@ -0,0 +1 @@
1
+ const o={kind:"tyre",tyres:[]},r={kind:"alloy-wheel",wheels:[]},l=[{key:"tyres-that-fit",label:"Tyres that fit this product",from:["alloy-wheel"],to:"tyre",heading:"Compatible *tyres.*",resolve:e=>e.kind==="alloy-wheel"?{kind:"tyre",tyres:e.source.compatibleTyres??[]}:o},{key:"wheels-that-fit",label:"Wheels this product fits",from:["tyre"],to:"alloy-wheel",heading:"Wheels that *fit.*",resolve:(e,t)=>e.kind==="tyre"?{kind:"alloy-wheel",wheels:t}:r},{key:"more-like-this",label:"More like this",from:["alloy-wheel"],to:"alloy-wheel",heading:"Others you might *like.*",resolve:(e,t)=>({kind:"alloy-wheel",wheels:t})}],s="more-like-this",n=l.map(e=>({value:e.key,label:e.label}));function i(e){return l.find(t=>t.key===e)}function h(e){return l.filter(t=>t.from.includes(e))}function a(e,t){return e.from.includes(t)}const y=["coverIndex","imageBackground","spinOnHover","showBadge"];function c(e){return i(e)?.to==="tyre"}export{y as CARD_ROWS_NOT_ON_A_TYRE,s as DEFAULT_RELATIONSHIP,l as RELATIONSHIPS,n as RELATIONSHIP_OPTIONS,c as answersWithTyres,a as relationshipApplies,i as relationshipByKey,h as relationshipsFor};
@@ -0,0 +1,56 @@
1
+ import type { MediaGroups, ProductKind, Tyre, Wheel } from "../api/index.js";
2
+ import type { SetComponent } from "../commerce.js";
3
+ export interface OptionValue {
4
+ value: string;
5
+ label: string;
6
+ note?: string;
7
+ swatch?: string;
8
+ }
9
+ export interface OptionField {
10
+ key: string;
11
+ label: string;
12
+ prompt: string;
13
+ role: "resolves" | "describes";
14
+ display: "swatch" | "pill";
15
+ defaultValue?: string;
16
+ empty?: {
17
+ text: string;
18
+ linkText: string;
19
+ href: string;
20
+ };
21
+ }
22
+ export interface StorePart {
23
+ id: string;
24
+ options: Record<string, string>;
25
+ inStock: boolean;
26
+ image: string | null;
27
+ components: SetComponent[];
28
+ }
29
+ interface StoreProductCommon {
30
+ slug: string;
31
+ name: string;
32
+ eyebrow: string;
33
+ badge: string;
34
+ href: string;
35
+ crumbs: readonly {
36
+ label: string;
37
+ href?: string;
38
+ }[];
39
+ cover: string | null;
40
+ inStock: boolean;
41
+ mediaGroups: MediaGroups | undefined;
42
+ optionFields: readonly OptionField[];
43
+ optionValues: Record<string, readonly OptionValue[]>;
44
+ parts: readonly StorePart[];
45
+ anchorPrices: Record<string, number | null>;
46
+ anchorMsrpPrices: Record<string, number | null>;
47
+ }
48
+ export type StoreProduct = (StoreProductCommon & {
49
+ kind: "alloy-wheel";
50
+ source: Wheel;
51
+ }) | (StoreProductCommon & {
52
+ kind: "tyre";
53
+ source: Tyre;
54
+ });
55
+ export declare const OPTION_ROW_ATTR = "data-option-row";
56
+ export type { ProductKind };
@@ -0,0 +1 @@
1
+ const o="data-option-row";export{o as OPTION_ROW_ATTR};
@@ -0,0 +1,8 @@
1
+ export declare function chatSocketUrl(id: string, token: string): string;
2
+ export declare function isOffStreamMessage(raw: unknown): boolean;
3
+ export interface ChatSocketOptions {
4
+ conversationId: string;
5
+ token: () => string;
6
+ onFrame: (raw: unknown) => void;
7
+ }
8
+ export declare function openChatSocket({ conversationId, token, onFrame }: ChatSocketOptions): () => void;
@@ -0,0 +1 @@
1
+ import{API_URL as i}from"./api/index.js";function f(o,e){return`${(i||(typeof window<"u"?window.location.origin:"")).replace(/^http/,"ws")}/ws/chat/?conversation=${o}&token=${encodeURIComponent(e)}`}const p=new Set(["employee","system"]);function m(o){if(typeof o!="string")return!1;try{const e=JSON.parse(o);return e.type==="chat_event"&&e.event==="message"&&typeof e.payload?.sender_role=="string"&&p.has(e.payload.sender_role)}catch{return!1}}function d({conversationId:o,token:e,onFrame:a}){let r=!1,t=null,s,n=3e3;const c=()=>{r||(t=new WebSocket(f(o,e())),t.onopen=()=>{n=3e3},t.onmessage=l=>a(l.data),t.onclose=()=>{r||(s=setTimeout(c,n),n=Math.min(n*2,3e4))},t.onerror=()=>t?.close())};return c(),()=>{r=!0,s&&clearTimeout(s),t?.close()}}export{f as chatSocketUrl,m as isOffStreamMessage,d as openChatSocket};
@@ -0,0 +1,52 @@
1
+ import type { AfterpayCaptureRequest, OrderConfirmation, PaymentOutcome, ZipCaptureRequest } from "../api/index.js";
2
+ import type { StorageLike } from "efficient-web-builder/format/lib/safe-storage";
3
+ export declare const AFTERPAY_CONTEXT_KEY = "checkout-afterpay-context";
4
+ export declare const GOCARDLESS_CONTEXT_KEY = "checkout-gocardless-context";
5
+ export declare const ZIP_CONTEXT_KEY = "checkout-zip-context";
6
+ export declare const KLARNA_CONTEXT_KEY = "checkout-klarna-context";
7
+ export interface WalletContext {
8
+ idempotencyKey: string;
9
+ confirmation: OrderConfirmation;
10
+ }
11
+ export type LandingOrder = Pick<OrderConfirmation, "orderNumber">;
12
+ export type WalletReturn<C> = {
13
+ action: "ignore";
14
+ } | {
15
+ action: "settle";
16
+ parked: C;
17
+ } | {
18
+ action: "capture";
19
+ evidence: string;
20
+ parked: C | null;
21
+ };
22
+ export declare function resolveWalletReturn<C>({ evidence, parked, }: {
23
+ evidence: string | null;
24
+ parked: C | null;
25
+ }): WalletReturn<C>;
26
+ export declare function readParked(storage: StorageLike, key: string): WalletContext | null;
27
+ export interface RedirectWallet<Request> {
28
+ name: string;
29
+ legParam: string;
30
+ legValues: readonly string[];
31
+ storageKey: string;
32
+ evidenceFrom(params: URLSearchParams, leg: string): string | null;
33
+ requestFrom(evidence: string): Request;
34
+ }
35
+ export declare const AFTERPAY_RETURN: RedirectWallet<AfterpayCaptureRequest>;
36
+ export declare const ZIP_RETURN: RedirectWallet<ZipCaptureRequest>;
37
+ export interface WalletReturnPage {
38
+ setConfirming(on: boolean): void;
39
+ land(order: LandingOrder): void;
40
+ markPaid(): void;
41
+ note(message: string): void;
42
+ fail(message: string): void;
43
+ clearCart(): void;
44
+ }
45
+ export interface WalletReturnDeps<Request> {
46
+ search: string;
47
+ storage: StorageLike;
48
+ scrubQuery(): void;
49
+ capture(request: Request): Promise<PaymentOutcome>;
50
+ page: WalletReturnPage;
51
+ }
52
+ export declare function runWalletReturn<Request>(wallet: RedirectWallet<Request>, deps: WalletReturnDeps<Request>): Promise<void>;
@@ -0,0 +1 @@
1
+ const i="checkout-afterpay-context",g="checkout-gocardless-context",l="checkout-zip-context",p="checkout-klarna-context";function m({evidence:t,parked:e}){return t?{action:"capture",evidence:t,parked:e}:e?{action:"settle",parked:e}:{action:"ignore"}}function s(t,e){const r=t.getItem(e);if(t.removeItem(e),!r)return null;try{return JSON.parse(r)}catch{return null}}const f={name:"Afterpay",legParam:"afterpay",legValues:["confirm","cancel"],storageKey:i,evidenceFrom(t,e){return e==="cancel"||(t.get("status")??"").toUpperCase()==="CANCELLED"?null:t.get("orderToken")},requestFrom:t=>({token:t})},y={name:"Zip",legParam:"zip",legValues:["return"],storageKey:l,evidenceFrom(t){const e=(t.get("result")??"").toLowerCase();return e==="cancelled"||e==="declined"?null:t.get("checkoutId")},requestFrom:t=>({checkoutId:t})};async function E(t,e){const r=new URLSearchParams(e.search),o=r.get(t.legParam);if(!o||!t.legValues.includes(o))return;const c=s(e.storage,t.storageKey),u=t.evidenceFrom(r,o);e.scrubQuery();const n=m({evidence:u,parked:c});if(n.action!=="ignore"){if(e.page.clearCart(),n.action==="settle"){e.page.note(`The ${t.name} payment was not completed — our team will follow up on payment.`),e.page.land(n.parked.confirmation);return}e.page.setConfirming(!0);try{const a=await e.capture(t.requestFrom(n.evidence));a.status==="paid"?e.page.markPaid():e.page.note(`${t.name} declined the payment — our team will follow up on payment.`),e.page.land(n.parked?.confirmation??a)}catch{n.parked?(e.page.note(`We could not confirm the ${t.name} payment — our team will follow up on payment.`),e.page.land(n.parked.confirmation)):e.page.fail(`We could not confirm your ${t.name} payment. Please contact us before trying again — your payment may already have been taken.`)}finally{e.page.setConfirming(!1)}}}export{i as AFTERPAY_CONTEXT_KEY,f as AFTERPAY_RETURN,g as GOCARDLESS_CONTEXT_KEY,p as KLARNA_CONTEXT_KEY,l as ZIP_CONTEXT_KEY,y as ZIP_RETURN,s as readParked,m as resolveWalletReturn,E as runWalletReturn};
@@ -0,0 +1,6 @@
1
+ import type { ChromeLoad, ChromeLoadName } from "./chrome-load.js";
2
+ export declare const CHROME_CACHE_TTL_MS = 60000;
3
+ export declare const CHROME_CACHE_FAILURE_TTL_MS = 5000;
4
+ export declare const CHROME_CACHE_MAX = 500;
5
+ export declare function cachedChrome<T>(name: ChromeLoadName, load: () => Promise<ChromeLoad<T>>): Promise<ChromeLoad<T>>;
6
+ export declare function clearChromeCache(): void;
@@ -0,0 +1 @@
1
+ import{resolvePreviewToken as d,resolveSiteHostSource as h,resolveSiteSlug as f}from"./api/index.js";import{evictForInsert as p}from"./cache-evict.js";const m=6e4,_=5e3,w=500,s=new Map;async function x(e){const{host:t,matchesRequestHost:o}=await h();if(!t)return"";const n=await f();return n?`${e}|slug:${encodeURIComponent(t)}/${encodeURIComponent(n)}`:o?`${e}|host:${t}`:`${e}|xhost:${t}`}const H=e=>e.includes("|slug:")||e.includes("|xhost:");async function E(e,t){if(await d()!==null)return t();const o=await x(e);if(!o)return t();const n=Date.now(),r=s.get(o);if(r&&r.expiresAt>n)return r.load;const c=await t(),a=c.outcome.state==="failed",l=a?_:m,C=s.get(o)?.lastGood,i=c.outcome.state==="ok"?c:a?C:void 0,u=a&&i?i:c;return p(s,w,H,n),s.set(o,{load:u,expiresAt:n+l,lastGood:i}),u}function M(){s.clear()}export{_ as CHROME_CACHE_FAILURE_TTL_MS,w as CHROME_CACHE_MAX,m as CHROME_CACHE_TTL_MS,E as cachedChrome,M as clearChromeCache};