efficient-storefront-blocks 0.56.0 → 0.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1111) hide show
  1. package/CHANGELOG.md +48 -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 +35 -0
  454. package/dist/render/components/GalleryItem.js +1 -0
  455. package/dist/render/components/GalleryShowcase.d.ts +51 -0
  456. package/dist/render/components/GalleryShowcase.js +1 -0
  457. package/dist/render/components/Header.d.ts +13 -0
  458. package/dist/render/components/Header.js +1 -0
  459. package/dist/render/components/HeaderNavItem.d.ts +17 -0
  460. package/dist/render/components/HeaderNavItem.js +1 -0
  461. package/dist/render/components/HeaderToolBlocks.d.ts +18 -0
  462. package/dist/render/components/HeaderToolBlocks.js +1 -0
  463. package/dist/render/components/HeaderTools.d.ts +21 -0
  464. package/dist/render/components/HeaderTools.js +1 -0
  465. package/dist/render/components/LegalLine.d.ts +4 -0
  466. package/dist/render/components/LegalLine.js +1 -0
  467. package/dist/render/components/Lightbox.d.ts +19 -0
  468. package/dist/render/components/Lightbox.js +1 -0
  469. package/dist/render/components/LinkedProductHero.d.ts +34 -0
  470. package/dist/render/components/LinkedProductHero.js +1 -0
  471. package/dist/render/components/LiveSiteMapsProvider.d.ts +6 -0
  472. package/dist/render/components/LiveSiteMapsProvider.js +1 -0
  473. package/dist/render/components/MenuPlaceholderLabel.d.ts +1 -0
  474. package/dist/render/components/MenuPlaceholderLabel.js +1 -0
  475. package/dist/render/components/NoCurrencyNote.d.ts +4 -0
  476. package/dist/render/components/NoCurrencyNote.js +1 -0
  477. package/dist/render/components/PreOrderPanel.d.ts +5 -0
  478. package/dist/render/components/PreOrderPanel.js +1 -0
  479. package/dist/render/components/PreviewMenusContext.d.ts +13 -0
  480. package/dist/render/components/PreviewMenusContext.js +1 -0
  481. package/dist/render/components/ProductCard.d.ts +6 -0
  482. package/dist/render/components/ProductCard.js +1 -0
  483. package/dist/render/components/ProductCardChrome.d.ts +37 -0
  484. package/dist/render/components/ProductCardChrome.js +1 -0
  485. package/dist/render/components/ProductCardEyebrow.d.ts +14 -0
  486. package/dist/render/components/ProductCardEyebrow.js +1 -0
  487. package/dist/render/components/ProductGridSection.d.ts +65 -0
  488. package/dist/render/components/ProductGridSection.js +1 -0
  489. package/dist/render/components/ProductHeroPanel.d.ts +22 -0
  490. package/dist/render/components/ProductHeroPanel.js +1 -0
  491. package/dist/render/components/ProductLightbox.d.ts +5 -0
  492. package/dist/render/components/ProductLightbox.js +1 -0
  493. package/dist/render/components/ProductRef.d.ts +16 -0
  494. package/dist/render/components/ProductRef.js +1 -0
  495. package/dist/render/components/PublishedFooter.d.ts +16 -0
  496. package/dist/render/components/PublishedFooter.js +1 -0
  497. package/dist/render/components/PublishedHeader.d.ts +4 -0
  498. package/dist/render/components/PublishedHeader.js +1 -0
  499. package/dist/render/components/QuantityStepper.d.ts +7 -0
  500. package/dist/render/components/QuantityStepper.js +1 -0
  501. package/dist/render/components/QuoteLink.d.ts +4 -0
  502. package/dist/render/components/QuoteLink.js +1 -0
  503. package/dist/render/components/ReviewForm.d.ts +8 -0
  504. package/dist/render/components/ReviewForm.js +1 -0
  505. package/dist/render/components/Reviews.d.ts +12 -0
  506. package/dist/render/components/Reviews.js +1 -0
  507. package/dist/render/components/SearchContext.d.ts +13 -0
  508. package/dist/render/components/SearchContext.js +1 -0
  509. package/dist/render/components/SectionBand.d.ts +9 -0
  510. package/dist/render/components/SectionBand.js +1 -0
  511. package/dist/render/components/SectionFootnote.d.ts +5 -0
  512. package/dist/render/components/SectionFootnote.js +1 -0
  513. package/dist/render/components/SectionGroupBody.d.ts +9 -0
  514. package/dist/render/components/SectionGroupBody.js +1 -0
  515. package/dist/render/components/SectionNotice.d.ts +7 -0
  516. package/dist/render/components/SectionNotice.js +1 -0
  517. package/dist/render/components/SiteRecordContext.d.ts +17 -0
  518. package/dist/render/components/SiteRecordContext.js +1 -0
  519. package/dist/render/components/SiteSwitch.d.ts +10 -0
  520. package/dist/render/components/SiteSwitch.js +1 -0
  521. package/dist/render/components/SpecTable.d.ts +18 -0
  522. package/dist/render/components/SpecTable.js +1 -0
  523. package/dist/render/components/SpecTablePartBridge.d.ts +5 -0
  524. package/dist/render/components/SpecTablePartBridge.js +1 -0
  525. package/dist/render/components/StorefrontProviders.d.ts +15 -0
  526. package/dist/render/components/StorefrontProviders.js +1 -0
  527. package/dist/render/components/SubmitBuild.d.ts +23 -0
  528. package/dist/render/components/SubmitBuild.js +1 -0
  529. package/dist/render/components/Subscribe.d.ts +27 -0
  530. package/dist/render/components/Subscribe.js +1 -0
  531. package/dist/render/components/SubscribePopup.d.ts +19 -0
  532. package/dist/render/components/SubscribePopup.js +7 -0
  533. package/dist/render/components/SubscribePopupContext.d.ts +33 -0
  534. package/dist/render/components/SubscribePopupContext.js +1 -0
  535. package/dist/render/components/ThemeToggle.d.ts +1 -0
  536. package/dist/render/components/ThemeToggle.js +1 -0
  537. package/dist/render/components/ThemedSelect.d.ts +59 -0
  538. package/dist/render/components/ThemedSelect.js +1 -0
  539. package/dist/render/components/TyreCard.d.ts +19 -0
  540. package/dist/render/components/TyreCard.js +1 -0
  541. package/dist/render/components/TyreFitVerdicts.d.ts +7 -0
  542. package/dist/render/components/TyreFitVerdicts.js +1 -0
  543. package/dist/render/components/TyreImage.d.ts +10 -0
  544. package/dist/render/components/TyreImage.js +1 -0
  545. package/dist/render/components/TyrePlpCard.d.ts +19 -0
  546. package/dist/render/components/TyrePlpCard.js +1 -0
  547. package/dist/render/components/TyreRenderSvg.d.ts +7 -0
  548. package/dist/render/components/TyreRenderSvg.js +1 -0
  549. package/dist/render/components/TyreSummaryCard.d.ts +11 -0
  550. package/dist/render/components/TyreSummaryCard.js +1 -0
  551. package/dist/render/components/TyreVehicleFitment.d.ts +18 -0
  552. package/dist/render/components/TyreVehicleFitment.js +1 -0
  553. package/dist/render/components/ViewMoreLink.d.ts +4 -0
  554. package/dist/render/components/ViewMoreLink.js +1 -0
  555. package/dist/render/components/WebFormField.d.ts +17 -0
  556. package/dist/render/components/WebFormField.js +1 -0
  557. package/dist/render/components/WheelCardFrame.d.ts +67 -0
  558. package/dist/render/components/WheelCardFrame.js +1 -0
  559. package/dist/render/components/WheelImage.d.ts +20 -0
  560. package/dist/render/components/WheelImage.js +1 -0
  561. package/dist/render/components/WheelPlaceholder.d.ts +7 -0
  562. package/dist/render/components/WheelPlaceholder.js +1 -0
  563. package/dist/render/components/WheelSvg.d.ts +7 -0
  564. package/dist/render/components/WheelSvg.js +1 -0
  565. package/dist/render/components/WishlistContext.d.ts +13 -0
  566. package/dist/render/components/WishlistContext.js +1 -0
  567. package/dist/render/components/booking/BookingBox.d.ts +16 -0
  568. package/dist/render/components/booking/BookingBox.js +1 -0
  569. package/dist/render/components/booking/BookingFormState.d.ts +46 -0
  570. package/dist/render/components/booking/BookingFormState.js +1 -0
  571. package/dist/render/components/booking/BookingRegions.d.ts +16 -0
  572. package/dist/render/components/booking/BookingRegions.js +1 -0
  573. package/dist/render/components/buy-row.d.ts +1 -0
  574. package/dist/render/components/buy-row.js +1 -0
  575. package/dist/render/components/catalog/CatalogFilterBar.d.ts +55 -0
  576. package/dist/render/components/catalog/CatalogFilterBar.js +1 -0
  577. package/dist/render/components/catalog/CatalogFilterContext.d.ts +39 -0
  578. package/dist/render/components/catalog/CatalogFilterContext.js +1 -0
  579. package/dist/render/components/catalog/CatalogFilterLabels.d.ts +6 -0
  580. package/dist/render/components/catalog/CatalogFilterLabels.js +1 -0
  581. package/dist/render/components/catalog/CatalogVehiclePicker.d.ts +22 -0
  582. package/dist/render/components/catalog/CatalogVehiclePicker.js +1 -0
  583. package/dist/render/components/catalog/FilterPill.d.ts +25 -0
  584. package/dist/render/components/catalog/FilterPill.js +1 -0
  585. package/dist/render/components/catalog/SiteMenuLinks.d.ts +6 -0
  586. package/dist/render/components/catalog/SiteMenuLinks.js +1 -0
  587. package/dist/render/components/checkout/CheckoutPageClient.d.ts +25 -0
  588. package/dist/render/components/checkout/CheckoutPageClient.js +3 -0
  589. package/dist/render/components/fitment/FitmentFinder.d.ts +15 -0
  590. package/dist/render/components/fitment/FitmentFinder.js +1 -0
  591. package/dist/render/components/fitment/FitmentPickerGrid.d.ts +6 -0
  592. package/dist/render/components/fitment/FitmentPickerGrid.js +1 -0
  593. package/dist/render/components/fitment/FitmentRowFit.d.ts +4 -0
  594. package/dist/render/components/fitment/FitmentRowFit.js +1 -0
  595. package/dist/render/components/fitment/PickerField.d.ts +16 -0
  596. package/dist/render/components/fitment/PickerField.js +1 -0
  597. package/dist/render/components/fitment/StockFitmentCard.d.ts +8 -0
  598. package/dist/render/components/fitment/StockFitmentCard.js +1 -0
  599. package/dist/render/components/fitment/useFitmentCascade.d.ts +31 -0
  600. package/dist/render/components/fitment/useFitmentCascade.js +1 -0
  601. package/dist/render/components/fitment/useVehicleFit.d.ts +29 -0
  602. package/dist/render/components/fitment/useVehicleFit.js +1 -0
  603. package/dist/render/components/fitment/vehicle-control.d.ts +10 -0
  604. package/dist/render/components/fitment/vehicle-control.js +0 -0
  605. package/dist/render/components/fitment/vehicle-level-state.d.ts +14 -0
  606. package/dist/render/components/fitment/vehicle-level-state.js +1 -0
  607. package/dist/render/components/formSubmission.d.ts +32 -0
  608. package/dist/render/components/formSubmission.js +1 -0
  609. package/dist/render/components/pdp-dynamic/DynamicBundleOffer.d.ts +13 -0
  610. package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -0
  611. package/dist/render/components/pdp-dynamic/DynamicDetailRows.d.ts +14 -0
  612. package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -0
  613. package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.d.ts +8 -0
  614. package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -0
  615. package/dist/render/components/pdp-dynamic/DynamicFitmentTable.d.ts +16 -0
  616. package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -0
  617. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.d.ts +18 -0
  618. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -0
  619. package/dist/render/components/pdp-dynamic/DynamicProductHero.d.ts +25 -0
  620. package/dist/render/components/pdp-dynamic/DynamicProductHero.js +1 -0
  621. package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.d.ts +31 -0
  622. package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -0
  623. package/dist/render/components/pdp-dynamic/DynamicSpecTable.d.ts +13 -0
  624. package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -0
  625. package/dist/render/components/pdp-dynamic/DynamicTyreFitment.d.ts +13 -0
  626. package/dist/render/components/pdp-dynamic/DynamicTyreFitment.js +1 -0
  627. package/dist/render/components/pdp-dynamic/DynamicTyreSizes.d.ts +11 -0
  628. package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -0
  629. package/dist/render/components/pdp-dynamic/FitmentTableBlock.d.ts +7 -0
  630. package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -0
  631. package/dist/render/components/pdp-dynamic/KindGate.d.ts +8 -0
  632. package/dist/render/components/pdp-dynamic/KindGate.js +1 -0
  633. package/dist/render/components/pdp-dynamic/useSampleProduct.d.ts +5 -0
  634. package/dist/render/components/pdp-dynamic/useSampleProduct.js +1 -0
  635. package/dist/render/components/product-hero/TyreHeroFitment.d.ts +17 -0
  636. package/dist/render/components/product-hero/TyreHeroFitment.js +1 -0
  637. package/dist/render/components/product-hero/VehicleQuestion.d.ts +18 -0
  638. package/dist/render/components/product-hero/VehicleQuestion.js +1 -0
  639. package/dist/render/components/product-hero/WheelHeroFitment.d.ts +9 -0
  640. package/dist/render/components/product-hero/WheelHeroFitment.js +1 -0
  641. package/dist/render/components/product-hero/hero-content.d.ts +7 -0
  642. package/dist/render/components/product-hero/hero-content.js +1 -0
  643. package/dist/render/components/product-hero/hero-view.d.ts +37 -0
  644. package/dist/render/components/product-hero/hero-view.js +1 -0
  645. package/dist/render/components/product-hero/stage-photo.d.ts +10 -0
  646. package/dist/render/components/product-hero/stage-photo.js +3 -0
  647. package/dist/render/components/submit/SubmitBox.d.ts +19 -0
  648. package/dist/render/components/submit/SubmitBox.js +1 -0
  649. package/dist/render/components/submit/SubmitRegions.d.ts +17 -0
  650. package/dist/render/components/submit/SubmitRegions.js +1 -0
  651. package/dist/render/components/useEuTyreLabels.d.ts +3 -0
  652. package/dist/render/components/useEuTyreLabels.js +1 -0
  653. package/dist/render/components/useFinishSelection.d.ts +17 -0
  654. package/dist/render/components/useFinishSelection.js +1 -0
  655. package/dist/render/components/useHeaderBar.d.ts +9 -0
  656. package/dist/render/components/useHeaderBar.js +1 -0
  657. package/dist/render/components/useLightbox.d.ts +10 -0
  658. package/dist/render/components/useLightbox.js +1 -0
  659. package/dist/render/components/useModalDismiss.d.ts +8 -0
  660. package/dist/render/components/useModalDismiss.js +1 -0
  661. package/dist/render/components/useNewsletterSignup.d.ts +12 -0
  662. package/dist/render/components/useNewsletterSignup.js +1 -0
  663. package/dist/render/components/usePreOrderIntent.d.ts +14 -0
  664. package/dist/render/components/usePreOrderIntent.js +1 -0
  665. package/dist/render/components/useProductCatalog.d.ts +54 -0
  666. package/dist/render/components/useProductCatalog.js +1 -0
  667. package/dist/render/components/useProductSelection.d.ts +39 -0
  668. package/dist/render/components/useProductSelection.js +1 -0
  669. package/dist/render/components/useStockAlertSignup.d.ts +14 -0
  670. package/dist/render/components/useStockAlertSignup.js +1 -0
  671. package/dist/render/components/useStorefrontReviews.d.ts +2 -0
  672. package/dist/render/components/useStorefrontReviews.js +1 -0
  673. package/dist/render/components/useTyreCatalog.d.ts +2 -0
  674. package/dist/render/components/useTyreCatalog.js +1 -0
  675. package/dist/render/components/useTyreDetail.d.ts +6 -0
  676. package/dist/render/components/useTyreDetail.js +1 -0
  677. package/dist/render/components/useTyreFitAnswer.d.ts +5 -0
  678. package/dist/render/components/useTyreFitAnswer.js +1 -0
  679. package/dist/render/components/useWheelDetail.d.ts +6 -0
  680. package/dist/render/components/useWheelDetail.js +1 -0
  681. package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +42 -0
  682. package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -0
  683. package/dist/render/components/wheels-plp/PlpActiveChips.d.ts +9 -0
  684. package/dist/render/components/wheels-plp/PlpActiveChips.js +1 -0
  685. package/dist/render/components/wheels-plp/PlpCard.d.ts +27 -0
  686. package/dist/render/components/wheels-plp/PlpCard.js +1 -0
  687. package/dist/render/components/wheels-plp/PlpInStockToggle.d.ts +6 -0
  688. package/dist/render/components/wheels-plp/PlpInStockToggle.js +1 -0
  689. package/dist/render/components/wheels-plp/PlpNotifyMeDialog.d.ts +10 -0
  690. package/dist/render/components/wheels-plp/PlpNotifyMeDialog.js +1 -0
  691. package/dist/render/components/wheels-plp/PlpPagination.d.ts +5 -0
  692. package/dist/render/components/wheels-plp/PlpPagination.js +1 -0
  693. package/dist/render/components/wheels-plp/PlpSidebar.d.ts +25 -0
  694. package/dist/render/components/wheels-plp/PlpSidebar.js +1 -0
  695. package/dist/render/components/wheels-plp/PlpTypePicker.d.ts +7 -0
  696. package/dist/render/components/wheels-plp/PlpTypePicker.js +1 -0
  697. package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.d.ts +9 -0
  698. package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.js +1 -0
  699. package/dist/render/components/wheels-plp/PlpVehicleBar.d.ts +15 -0
  700. package/dist/render/components/wheels-plp/PlpVehicleBar.js +1 -0
  701. package/dist/render/components/wheels-plp/PlpVehicleGate.d.ts +10 -0
  702. package/dist/render/components/wheels-plp/PlpVehicleGate.js +1 -0
  703. package/dist/render/components/wheels-plp/usePlpCardSelection.d.ts +18 -0
  704. package/dist/render/components/wheels-plp/usePlpCardSelection.js +1 -0
  705. package/dist/render/components/wheels-plp/usePlpFiltersInUrl.d.ts +10 -0
  706. package/dist/render/components/wheels-plp/usePlpFiltersInUrl.js +1 -0
  707. package/dist/render/components/wheels-plp/useVehicleCatalog.d.ts +10 -0
  708. package/dist/render/components/wheels-plp/useVehicleCatalog.js +1 -0
  709. package/dist/render/components/wheels-plp/useWheelCardBottom.d.ts +20 -0
  710. package/dist/render/components/wheels-plp/useWheelCardBottom.js +1 -0
  711. package/dist/render/lib/api/chat.d.ts +31 -0
  712. package/dist/render/lib/api/chat.js +1 -0
  713. package/dist/render/lib/api/fitment-data.d.ts +18 -0
  714. package/dist/render/lib/api/fitment-data.js +1 -0
  715. package/dist/render/lib/api/gallery-builds-data.d.ts +4 -0
  716. package/dist/render/lib/api/gallery-builds-data.js +1 -0
  717. package/dist/render/lib/api/generated-upload-limits.d.ts +1292 -0
  718. package/dist/render/lib/api/generated-upload-limits.js +1 -0
  719. package/dist/render/lib/api/index.d.ts +806 -0
  720. package/dist/render/lib/api/index.js +1 -0
  721. package/dist/render/lib/api/origins.d.ts +2 -0
  722. package/dist/render/lib/api/origins.js +1 -0
  723. package/dist/render/lib/api/types.d.ts +3928 -0
  724. package/dist/render/lib/api/types.js +0 -0
  725. package/dist/render/lib/api/upload-limits.d.ts +10 -0
  726. package/dist/render/lib/api/upload-limits.js +1 -0
  727. package/dist/render/lib/assistant-chat.d.ts +35 -0
  728. package/dist/render/lib/assistant-chat.js +1 -0
  729. package/dist/render/lib/auth.d.ts +6 -0
  730. package/dist/render/lib/auth.js +1 -0
  731. package/dist/render/lib/booking/text-kinds.d.ts +11 -0
  732. package/dist/render/lib/booking/text-kinds.js +1 -0
  733. package/dist/render/lib/booking-dates.d.ts +23 -0
  734. package/dist/render/lib/booking-dates.js +1 -0
  735. package/dist/render/lib/cache-evict.d.ts +4 -0
  736. package/dist/render/lib/cache-evict.js +1 -0
  737. package/dist/render/lib/cart/coupon-preview.d.ts +12 -0
  738. package/dist/render/lib/cart/coupon-preview.js +1 -0
  739. package/dist/render/lib/cart/shipping-status.d.ts +12 -0
  740. package/dist/render/lib/cart/shipping-status.js +1 -0
  741. package/dist/render/lib/cart/snapshot-lines.d.ts +3 -0
  742. package/dist/render/lib/cart/snapshot-lines.js +1 -0
  743. package/dist/render/lib/catalog/from-tyre.d.ts +3 -0
  744. package/dist/render/lib/catalog/from-tyre.js +1 -0
  745. package/dist/render/lib/catalog/from-wheel.d.ts +7 -0
  746. package/dist/render/lib/catalog/from-wheel.js +1 -0
  747. package/dist/render/lib/catalog/listing-links.d.ts +11 -0
  748. package/dist/render/lib/catalog/listing-links.js +1 -0
  749. package/dist/render/lib/catalog/plp-item.d.ts +39 -0
  750. package/dist/render/lib/catalog/plp-item.js +1 -0
  751. package/dist/render/lib/catalog/plp-vehicle-copy.d.ts +20 -0
  752. package/dist/render/lib/catalog/plp-vehicle-copy.js +1 -0
  753. package/dist/render/lib/catalog/plp-vehicle-slice.d.ts +13 -0
  754. package/dist/render/lib/catalog/plp-vehicle-slice.js +1 -0
  755. package/dist/render/lib/catalog/product-options.d.ts +27 -0
  756. package/dist/render/lib/catalog/product-options.js +1 -0
  757. package/dist/render/lib/catalog/purchase.d.ts +46 -0
  758. package/dist/render/lib/catalog/purchase.js +1 -0
  759. package/dist/render/lib/catalog/related-cards.d.ts +12 -0
  760. package/dist/render/lib/catalog/related-cards.js +1 -0
  761. package/dist/render/lib/catalog/relationships.d.ts +28 -0
  762. package/dist/render/lib/catalog/relationships.js +1 -0
  763. package/dist/render/lib/catalog/store-product.d.ts +56 -0
  764. package/dist/render/lib/catalog/store-product.js +1 -0
  765. package/dist/render/lib/chat-socket.d.ts +8 -0
  766. package/dist/render/lib/chat-socket.js +1 -0
  767. package/dist/render/lib/checkout/wallet-return.d.ts +52 -0
  768. package/dist/render/lib/checkout/wallet-return.js +1 -0
  769. package/dist/render/lib/chrome-cache.d.ts +6 -0
  770. package/dist/render/lib/chrome-cache.js +1 -0
  771. package/dist/render/lib/chrome-load.d.ts +28 -0
  772. package/dist/render/lib/chrome-load.js +1 -0
  773. package/dist/render/lib/click-ids.d.ts +8 -0
  774. package/dist/render/lib/click-ids.js +1 -0
  775. package/dist/render/lib/commerce.d.ts +42 -0
  776. package/dist/render/lib/commerce.js +1 -0
  777. package/dist/render/lib/consent/choice.d.ts +35 -0
  778. package/dist/render/lib/consent/choice.js +1 -0
  779. package/dist/render/lib/consent/rules.d.ts +60 -0
  780. package/dist/render/lib/consent/rules.js +1 -0
  781. package/dist/render/lib/content/catalog-filter-labels.d.ts +6 -0
  782. package/dist/render/lib/content/catalog-filter-labels.js +1 -0
  783. package/dist/render/lib/content/country-show-as.d.ts +9 -0
  784. package/dist/render/lib/content/country-show-as.js +1 -0
  785. package/dist/render/lib/content/english-variant.d.ts +4 -0
  786. package/dist/render/lib/content/english-variant.js +1 -0
  787. package/dist/render/lib/content/field-usage.d.ts +35 -0
  788. package/dist/render/lib/content/field-usage.js +1 -0
  789. package/dist/render/lib/content/header-bar.d.ts +8 -0
  790. package/dist/render/lib/content/header-bar.js +1 -0
  791. package/dist/render/lib/content/header-theme.d.ts +7 -0
  792. package/dist/render/lib/content/header-theme.js +1 -0
  793. package/dist/render/lib/content/menu-placeholder.d.ts +8 -0
  794. package/dist/render/lib/content/menu-placeholder.js +1 -0
  795. package/dist/render/lib/content/menu-row.d.ts +9 -0
  796. package/dist/render/lib/content/menu-row.js +1 -0
  797. package/dist/render/lib/content/product-hero.d.ts +13 -0
  798. package/dist/render/lib/content/product-hero.js +1 -0
  799. package/dist/render/lib/content/site.d.ts +62 -0
  800. package/dist/render/lib/content/site.js +1 -0
  801. package/dist/render/lib/content/source-values.d.ts +43 -0
  802. package/dist/render/lib/content/source-values.js +0 -0
  803. package/dist/render/lib/content/stock-words.d.ts +10 -0
  804. package/dist/render/lib/content/stock-words.js +1 -0
  805. package/dist/render/lib/countries.d.ts +5 -0
  806. package/dist/render/lib/countries.js +1 -0
  807. package/dist/render/lib/editor-route.d.ts +3 -0
  808. package/dist/render/lib/editor-route.js +1 -0
  809. package/dist/render/lib/email-shape.d.ts +1 -0
  810. package/dist/render/lib/email-shape.js +1 -0
  811. package/dist/render/lib/font-table.json +2588 -0
  812. package/dist/render/lib/forwarded-for.d.ts +6 -0
  813. package/dist/render/lib/forwarded-for.js +1 -0
  814. package/dist/render/lib/google-tag.d.ts +37 -0
  815. package/dist/render/lib/google-tag.js +1 -0
  816. package/dist/render/lib/header-settings-fetch.d.ts +5 -0
  817. package/dist/render/lib/header-settings-fetch.js +1 -0
  818. package/dist/render/lib/links/link-rules.d.ts +80 -0
  819. package/dist/render/lib/links/link-rules.js +1 -0
  820. package/dist/render/lib/logo/surface-is-light.d.ts +1 -0
  821. package/dist/render/lib/logo/surface-is-light.js +1 -0
  822. package/dist/render/lib/menu-link.d.ts +1 -0
  823. package/dist/render/lib/menu-link.js +1 -0
  824. package/dist/render/lib/menu-source.d.ts +23 -0
  825. package/dist/render/lib/menu-source.js +1 -0
  826. package/dist/render/lib/meta-pixel.d.ts +19 -0
  827. package/dist/render/lib/meta-pixel.js +1 -0
  828. package/dist/render/lib/newsletter-signup.d.ts +16 -0
  829. package/dist/render/lib/newsletter-signup.js +1 -0
  830. package/dist/render/lib/next-fonts.d.ts +3 -0
  831. package/dist/render/lib/next-fonts.js +1 -0
  832. package/dist/render/lib/popup/popup-rules.d.ts +25 -0
  833. package/dist/render/lib/popup/popup-rules.js +1 -0
  834. package/dist/render/lib/popup/text-kind-style.d.ts +3 -0
  835. package/dist/render/lib/popup/text-kind-style.js +1 -0
  836. package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.d.ts +2 -0
  837. package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.js +1 -0
  838. package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.d.ts +6 -0
  839. package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +1 -0
  840. package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.d.ts +2 -0
  841. package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +1 -0
  842. package/dist/render/lib/puck/blocks/commerce/CartBlock/render.d.ts +2 -0
  843. package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +1 -0
  844. package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.d.ts +2 -0
  845. package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +1 -0
  846. package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.d.ts +6 -0
  847. package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +1 -0
  848. package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.d.ts +2 -0
  849. package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +1 -0
  850. package/dist/render/lib/puck/blocks/commerce/Collections/render.d.ts +7 -0
  851. package/dist/render/lib/puck/blocks/commerce/Collections/render.js +1 -0
  852. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.d.ts +9 -0
  853. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +1 -0
  854. package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.d.ts +2 -0
  855. package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.js +1 -0
  856. package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.d.ts +6 -0
  857. package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +1 -0
  858. package/dist/render/lib/puck/blocks/commerce/DetailRows/render.d.ts +9 -0
  859. package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +1 -0
  860. package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.d.ts +2 -0
  861. package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +1 -0
  862. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.d.ts +8 -0
  863. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +1 -0
  864. package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.d.ts +9 -0
  865. package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +1 -0
  866. package/dist/render/lib/puck/blocks/commerce/Gallery/render.d.ts +14 -0
  867. package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +1 -0
  868. package/dist/render/lib/puck/blocks/commerce/GalleryB/render.d.ts +13 -0
  869. package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +1 -0
  870. package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.d.ts +2 -0
  871. package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +1 -0
  872. package/dist/render/lib/puck/blocks/commerce/Header/render.d.ts +2 -0
  873. package/dist/render/lib/puck/blocks/commerce/Header/render.js +1 -0
  874. package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.d.ts +7 -0
  875. package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +1 -0
  876. package/dist/render/lib/puck/blocks/commerce/ProductHero/render.d.ts +2 -0
  877. package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +1 -0
  878. package/dist/render/lib/puck/blocks/commerce/ProductRef/render.d.ts +2 -0
  879. package/dist/render/lib/puck/blocks/commerce/ProductRef/render.js +1 -0
  880. package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.d.ts +6 -0
  881. package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +1 -0
  882. package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.d.ts +2 -0
  883. package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +1 -0
  884. package/dist/render/lib/puck/blocks/commerce/SpecTable/render.d.ts +7 -0
  885. package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +1 -0
  886. package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.d.ts +2 -0
  887. package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.js +1 -0
  888. package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.d.ts +2 -0
  889. package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +1 -0
  890. package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.d.ts +2 -0
  891. package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +1 -0
  892. package/dist/render/lib/puck/blocks/commerce/placeholders.d.ts +4 -0
  893. package/dist/render/lib/puck/blocks/commerce/placeholders.js +1 -0
  894. package/dist/render/lib/puck/blocks/commerce/renders.d.ts +32 -0
  895. package/dist/render/lib/puck/blocks/commerce/renders.js +1 -0
  896. package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.d.ts +8 -0
  897. package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +1 -0
  898. package/dist/render/lib/puck/blocks/service/BookingBox/render.d.ts +2 -0
  899. package/dist/render/lib/puck/blocks/service/BookingBox/render.js +1 -0
  900. package/dist/render/lib/puck/blocks/service/ContactRouting/render.d.ts +2 -0
  901. package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +1 -0
  902. package/dist/render/lib/puck/blocks/service/Events/render.d.ts +7 -0
  903. package/dist/render/lib/puck/blocks/service/Events/render.js +1 -0
  904. package/dist/render/lib/puck/blocks/service/Footer/render.d.ts +8 -0
  905. package/dist/render/lib/puck/blocks/service/Footer/render.js +1 -0
  906. package/dist/render/lib/puck/blocks/service/FooterDivider/render.d.ts +2 -0
  907. package/dist/render/lib/puck/blocks/service/FooterDivider/render.js +1 -0
  908. package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.d.ts +2 -0
  909. package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +1 -0
  910. package/dist/render/lib/puck/blocks/service/FooterGroup/render.d.ts +8 -0
  911. package/dist/render/lib/puck/blocks/service/FooterGroup/render.js +1 -0
  912. package/dist/render/lib/puck/blocks/service/FooterLogo/render.d.ts +2 -0
  913. package/dist/render/lib/puck/blocks/service/FooterLogo/render.js +1 -0
  914. package/dist/render/lib/puck/blocks/service/FooterMenu/render.d.ts +2 -0
  915. package/dist/render/lib/puck/blocks/service/FooterMenu/render.js +1 -0
  916. package/dist/render/lib/puck/blocks/service/FooterSocial/render.d.ts +2 -0
  917. package/dist/render/lib/puck/blocks/service/FooterSocial/render.js +1 -0
  918. package/dist/render/lib/puck/blocks/service/FooterText/render.d.ts +2 -0
  919. package/dist/render/lib/puck/blocks/service/FooterText/render.js +1 -0
  920. package/dist/render/lib/puck/blocks/service/Form/render.d.ts +2 -0
  921. package/dist/render/lib/puck/blocks/service/Form/render.js +1 -0
  922. package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.d.ts +2 -0
  923. package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.js +1 -0
  924. package/dist/render/lib/puck/blocks/service/ReviewForm/render.d.ts +6 -0
  925. package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +1 -0
  926. package/dist/render/lib/puck/blocks/service/Reviews/render.d.ts +6 -0
  927. package/dist/render/lib/puck/blocks/service/Reviews/render.js +1 -0
  928. package/dist/render/lib/puck/blocks/service/SiteFooter/render.d.ts +7 -0
  929. package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +1 -0
  930. package/dist/render/lib/puck/blocks/service/SiteHeader/render.d.ts +7 -0
  931. package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +1 -0
  932. package/dist/render/lib/puck/blocks/service/SubmitBox/render.d.ts +2 -0
  933. package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +1 -0
  934. package/dist/render/lib/puck/blocks/service/SubmitBuild/render.d.ts +8 -0
  935. package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +1 -0
  936. package/dist/render/lib/puck/blocks/service/Subscribe/render.d.ts +2 -0
  937. package/dist/render/lib/puck/blocks/service/Subscribe/render.js +1 -0
  938. package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.d.ts +17 -0
  939. package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +1 -0
  940. package/dist/render/lib/puck/blocks/service/renders.d.ts +26 -0
  941. package/dist/render/lib/puck/blocks/service/renders.js +1 -0
  942. package/dist/render/lib/puck/blocks/service/subscribe.d.ts +33 -0
  943. package/dist/render/lib/puck/blocks/service/subscribe.js +1 -0
  944. package/dist/render/lib/puck/blocks/text-part-shapes.json +1649 -0
  945. package/dist/render/lib/puck/current-product.d.ts +19 -0
  946. package/dist/render/lib/puck/current-product.js +1 -0
  947. package/dist/render/lib/puck/current-record.d.ts +44 -0
  948. package/dist/render/lib/puck/current-record.js +1 -0
  949. package/dist/render/lib/puck/fitment-table-dynamic.d.ts +4 -0
  950. package/dist/render/lib/puck/fitment-table-dynamic.js +1 -0
  951. package/dist/render/lib/puck/footer-page-blocks.d.ts +7 -0
  952. package/dist/render/lib/puck/footer-page-blocks.js +1 -0
  953. package/dist/render/lib/puck/preview-pick.d.ts +7 -0
  954. package/dist/render/lib/puck/preview-pick.js +1 -0
  955. package/dist/render/lib/puck/preview-product.d.ts +6 -0
  956. package/dist/render/lib/puck/preview-product.js +1 -0
  957. package/dist/render/lib/puck/render-client.d.ts +5 -0
  958. package/dist/render/lib/puck/render-client.js +1 -0
  959. package/dist/render/lib/puck/render-config.d.ts +4 -0
  960. package/dist/render/lib/puck/render-config.js +1 -0
  961. package/dist/render/lib/puck/slot-seeds.d.ts +3 -0
  962. package/dist/render/lib/puck/slot-seeds.js +1 -0
  963. package/dist/render/lib/puck/storefront-root.d.ts +18 -0
  964. package/dist/render/lib/puck/storefront-root.js +1 -0
  965. package/dist/render/lib/puck/subscribe-content-type.d.ts +10 -0
  966. package/dist/render/lib/puck/subscribe-content-type.js +1 -0
  967. package/dist/render/lib/puck/template-product-kind.d.ts +7 -0
  968. package/dist/render/lib/puck/template-product-kind.js +1 -0
  969. package/dist/render/lib/sections/card-image-sizes.d.ts +12 -0
  970. package/dist/render/lib/sections/card-image-sizes.js +1 -0
  971. package/dist/render/lib/sections/card-show-defaults.d.ts +10 -0
  972. package/dist/render/lib/sections/card-show-defaults.js +1 -0
  973. package/dist/render/lib/sections/catalog-filter-layout.d.ts +7 -0
  974. package/dist/render/lib/sections/catalog-filter-layout.js +1 -0
  975. package/dist/render/lib/sections/fill-row.d.ts +16 -0
  976. package/dist/render/lib/sections/fill-row.js +1 -0
  977. package/dist/render/lib/sections/hero-arrangement.d.ts +11 -0
  978. package/dist/render/lib/sections/hero-arrangement.js +1 -0
  979. package/dist/render/lib/sections/hero-gallery.d.ts +14 -0
  980. package/dist/render/lib/sections/hero-gallery.js +1 -0
  981. package/dist/render/lib/sections/hero-price-placement.d.ts +7 -0
  982. package/dist/render/lib/sections/hero-price-placement.js +1 -0
  983. package/dist/render/lib/select-keys.d.ts +18 -0
  984. package/dist/render/lib/select-keys.js +1 -0
  985. package/dist/render/lib/site-headers.d.ts +3 -0
  986. package/dist/render/lib/site-headers.js +1 -0
  987. package/dist/render/lib/storefront-page-groups.d.ts +16 -0
  988. package/dist/render/lib/storefront-page-groups.js +1 -0
  989. package/dist/render/lib/storefront-page-order.d.ts +3 -0
  990. package/dist/render/lib/storefront-page-order.js +1 -0
  991. package/dist/render/lib/submit/text-kinds.d.ts +11 -0
  992. package/dist/render/lib/submit/text-kinds.js +1 -0
  993. package/dist/render/lib/tyres/eu-tyre-label.d.ts +29 -0
  994. package/dist/render/lib/tyres/eu-tyre-label.js +1 -0
  995. package/dist/render/lib/tyres/placeholder-tyre.d.ts +2 -0
  996. package/dist/render/lib/tyres/placeholder-tyre.js +1 -0
  997. package/dist/render/lib/tyres/spec-sheet.d.ts +12 -0
  998. package/dist/render/lib/tyres/spec-sheet.js +1 -0
  999. package/dist/render/lib/tyres/tyre-brand-name.d.ts +2 -0
  1000. package/dist/render/lib/tyres/tyre-brand-name.js +1 -0
  1001. package/dist/render/lib/tyres/tyre-fit-copy.d.ts +3 -0
  1002. package/dist/render/lib/tyres/tyre-fit-copy.js +1 -0
  1003. package/dist/render/lib/tyres/tyre-page-path.d.ts +2 -0
  1004. package/dist/render/lib/tyres/tyre-page-path.js +1 -0
  1005. package/dist/render/lib/tyres/tyre-purchase.d.ts +12 -0
  1006. package/dist/render/lib/tyres/tyre-purchase.js +1 -0
  1007. package/dist/render/lib/tyres/tyre-size-fit.d.ts +12 -0
  1008. package/dist/render/lib/tyres/tyre-size-fit.js +1 -0
  1009. package/dist/render/lib/tyres/tyre-size.d.ts +11 -0
  1010. package/dist/render/lib/tyres/tyre-size.js +1 -0
  1011. package/dist/render/lib/tyres/tyre-vehicle-fitment.d.ts +17 -0
  1012. package/dist/render/lib/tyres/tyre-vehicle-fitment.js +1 -0
  1013. package/dist/render/lib/uuid.d.ts +1 -0
  1014. package/dist/render/lib/uuid.js +1 -0
  1015. package/dist/render/lib/wheels/applied-vehicle.d.ts +1 -0
  1016. package/dist/render/lib/wheels/applied-vehicle.js +1 -0
  1017. package/dist/render/lib/wheels/catalog-default-layout.d.ts +14 -0
  1018. package/dist/render/lib/wheels/catalog-default-layout.js +1 -0
  1019. package/dist/render/lib/wheels/catalog-filters-to-listing.d.ts +9 -0
  1020. package/dist/render/lib/wheels/catalog-filters-to-listing.js +1 -0
  1021. package/dist/render/lib/wheels/catalog-filters.d.ts +19 -0
  1022. package/dist/render/lib/wheels/catalog-filters.js +1 -0
  1023. package/dist/render/lib/wheels/collections.d.ts +22 -0
  1024. package/dist/render/lib/wheels/collections.js +1 -0
  1025. package/dist/render/lib/wheels/cover-rendering.d.ts +23 -0
  1026. package/dist/render/lib/wheels/cover-rendering.js +1 -0
  1027. package/dist/render/lib/wheels/detail-shots.d.ts +10 -0
  1028. package/dist/render/lib/wheels/detail-shots.js +1 -0
  1029. package/dist/render/lib/wheels/finish-colour-match.d.ts +4 -0
  1030. package/dist/render/lib/wheels/finish-colour-match.js +1 -0
  1031. package/dist/render/lib/wheels/finish-defaults.d.ts +16 -0
  1032. package/dist/render/lib/wheels/finish-defaults.js +1 -0
  1033. package/dist/render/lib/wheels/finish-photos.d.ts +2 -0
  1034. package/dist/render/lib/wheels/finish-photos.js +1 -0
  1035. package/dist/render/lib/wheels/fitment-columns.d.ts +9 -0
  1036. package/dist/render/lib/wheels/fitment-columns.js +1 -0
  1037. package/dist/render/lib/wheels/fitment-options.d.ts +18 -0
  1038. package/dist/render/lib/wheels/fitment-options.js +1 -0
  1039. package/dist/render/lib/wheels/fitment-row-fit.d.ts +17 -0
  1040. package/dist/render/lib/wheels/fitment-row-fit.js +1 -0
  1041. package/dist/render/lib/wheels/fitments.d.ts +13 -0
  1042. package/dist/render/lib/wheels/fitments.js +1 -0
  1043. package/dist/render/lib/wheels/grid-source.d.ts +12 -0
  1044. package/dist/render/lib/wheels/grid-source.js +1 -0
  1045. package/dist/render/lib/wheels/listable-wheels.d.ts +3 -0
  1046. package/dist/render/lib/wheels/listable-wheels.js +1 -0
  1047. package/dist/render/lib/wheels/lug-count.d.ts +10 -0
  1048. package/dist/render/lib/wheels/lug-count.js +1 -0
  1049. package/dist/render/lib/wheels/pdp-fit-verdict.d.ts +27 -0
  1050. package/dist/render/lib/wheels/pdp-fit-verdict.js +1 -0
  1051. package/dist/render/lib/wheels/picker-goes-to-the-shop.d.ts +10 -0
  1052. package/dist/render/lib/wheels/picker-goes-to-the-shop.js +1 -0
  1053. package/dist/render/lib/wheels/placeholder-wheel.d.ts +3 -0
  1054. package/dist/render/lib/wheels/placeholder-wheel.js +1 -0
  1055. package/dist/render/lib/wheels/plp-filters.d.ts +100 -0
  1056. package/dist/render/lib/wheels/plp-filters.js +1 -0
  1057. package/dist/render/lib/wheels/plp-fitment-match.d.ts +61 -0
  1058. package/dist/render/lib/wheels/plp-fitment-match.js +1 -0
  1059. package/dist/render/lib/wheels/plp-grid.d.ts +18 -0
  1060. package/dist/render/lib/wheels/plp-grid.js +1 -0
  1061. package/dist/render/lib/wheels/plp-hydrate.d.ts +21 -0
  1062. package/dist/render/lib/wheels/plp-hydrate.js +1 -0
  1063. package/dist/render/lib/wheels/plp-vehicle-params.d.ts +10 -0
  1064. package/dist/render/lib/wheels/plp-vehicle-params.js +1 -0
  1065. package/dist/render/lib/wheels/pre-order-intent.d.ts +3 -0
  1066. package/dist/render/lib/wheels/pre-order-intent.js +1 -0
  1067. package/dist/render/lib/wheels/pre-order.d.ts +7 -0
  1068. package/dist/render/lib/wheels/pre-order.js +1 -0
  1069. package/dist/render/lib/wheels/price-display.d.ts +47 -0
  1070. package/dist/render/lib/wheels/price-display.js +1 -0
  1071. package/dist/render/lib/wheels/render-fit.d.ts +3 -0
  1072. package/dist/render/lib/wheels/render-fit.js +1 -0
  1073. package/dist/render/lib/wheels/renderable-finishes.d.ts +6 -0
  1074. package/dist/render/lib/wheels/renderable-finishes.js +1 -0
  1075. package/dist/render/lib/wheels/selected-studs.d.ts +9 -0
  1076. package/dist/render/lib/wheels/selected-studs.js +1 -0
  1077. package/dist/render/lib/wheels/set-mode.d.ts +34 -0
  1078. package/dist/render/lib/wheels/set-mode.js +1 -0
  1079. package/dist/render/lib/wheels/size-range.d.ts +10 -0
  1080. package/dist/render/lib/wheels/size-range.js +1 -0
  1081. package/dist/render/lib/wheels/spec-format.d.ts +7 -0
  1082. package/dist/render/lib/wheels/spec-format.js +1 -0
  1083. package/dist/render/lib/wheels/spec-sheet.d.ts +58 -0
  1084. package/dist/render/lib/wheels/spec-sheet.js +1 -0
  1085. package/dist/render/lib/wheels/tyre-render.d.ts +34 -0
  1086. package/dist/render/lib/wheels/tyre-render.js +1 -0
  1087. package/dist/render/lib/wheels/variant-spec.d.ts +9 -0
  1088. package/dist/render/lib/wheels/variant-spec.js +1 -0
  1089. package/dist/render/lib/wheels/variants.d.ts +8 -0
  1090. package/dist/render/lib/wheels/variants.js +1 -0
  1091. package/dist/render/lib/wheels/vehicle-field-focus.d.ts +7 -0
  1092. package/dist/render/lib/wheels/vehicle-field-focus.js +1 -0
  1093. package/dist/render/lib/wheels/vehicle-memory.d.ts +25 -0
  1094. package/dist/render/lib/wheels/vehicle-memory.js +1 -0
  1095. package/dist/render/lib/wheels/wheel-name.d.ts +4 -0
  1096. package/dist/render/lib/wheels/wheel-name.js +1 -0
  1097. package/dist/render/lib/wheels/wheel-specs.d.ts +14 -0
  1098. package/dist/render/lib/wheels/wheel-specs.js +1 -0
  1099. package/dist/render/lib/wheels/wheel-summary-casing.d.ts +4 -0
  1100. package/dist/render/lib/wheels/wheel-summary-casing.js +1 -0
  1101. package/dist/render/lib/wheels/wheels.d.ts +38 -0
  1102. package/dist/render/lib/wheels/wheels.js +1 -0
  1103. package/dist/render/mocks/fitment-snapshot.json +3911 -0
  1104. package/dist/render/mocks/gallery-builds.json +213 -0
  1105. package/dist/words.d.ts +68 -7
  1106. package/dist/words.js +5 -5
  1107. package/package.json +37 -5
  1108. package/dist/chunks/chunk-BDITPYS5.js +0 -1
  1109. package/dist/chunks/chunk-EHKAKDFN.js +0 -255
  1110. /package/dist/chunks/{chunk-4NM2MDGN.js → chunk-76HTJBKU.js} +0 -0
  1111. /package/dist/chunks/{chunk-EHKAKDFN.js.LEGAL.txt → chunk-PHH7L5FJ.js.LEGAL.txt} +0 -0
@@ -0,0 +1 @@
1
+ "use client";import{jsx as l,jsxs as g}from"react/jsx-runtime";import{useCallback as m,useEffect as u,useMemo as h,useState as c}from"react";import{safeLocalStorage as O}from"efficient-web-builder/format/lib/safe-storage";import{bannerWords as w,CONSENT_RULES as x,visitorRegion as E}from"../lib/consent/rules.js";import{browserSendsGpc as N,NOT_ASKED as P,readStoredChoice as R,resolveConsent as T,setConsent as _,writeStoredChoice as j}from"../lib/consent/choice.js";import{COUNTRY_STORAGE_KEY as A,useActiveCountry as H}from"./CurrencyContext.js";import{ConsentBannerView as k}from"./ConsentBanner.js";import{ConsentPanelView as D}from"./ConsentPanel.js";import{ConsentControlsContext as G,ConsentStateContext as I,PENDING as K}from"./ConsentContext.js";function L(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone??""}catch{return""}}function z({consent:o,children:f}){const[e,d]=c(o.enabled?K:P),[t,C]=c(!o.enabled),[p,r]=c(!1),v=H(),a=m(()=>{const i=E(L(),O.getItem(A));return T({asked:o.enabled,region:i,stored:R(),gpc:N()})},[o.enabled]);u(()=>{d(a()),C(!0)},[a,v]),u(()=>{_(e)},[e]);const n=m(i=>{j(i),d(a()),r(!1)},[a]),s=x[e.region],y=h(()=>({state:e,rule:s,ready:t,openPanel:()=>r(!0)}),[e,s,t]),b=o.enabled&&t&&e.model==="opt-in"&&!e.chosen,S=o.enabled&&t&&e.model==="opt-out"&&!e.chosen&&!e.gpc&&o.noticeOptOut;return l(I.Provider,{value:e,children:g(G.Provider,{value:y,children:[f,(b||S)&&!p&&l(k,{model:e.model,words:w(s,o.brand,o.tags),layout:o.layout,privacyHref:o.privacyHref,onAccept:()=>n({analytics:!0,ads:!0}),onReject:()=>n({analytics:!1,ads:!1}),onChoose:()=>r(!0)}),o.enabled&&t&&l(D,{open:p,rule:s,analytics:e.analytics,ads:e.ads,gpc:e.gpc,privacyHref:o.privacyHref,onSave:n,onClose:()=>r(!1)})]})})}export{z as ConsentProvider};
@@ -0,0 +1,33 @@
1
+ import { type ReactNode } from "react";
2
+ import type { Form } from "../lib/api/index.js";
3
+ import { type ContactChannel, type RoutingGroup } from "efficient-web-builder/format/lib/content/contact";
4
+ export declare function channelHref(c: ContactChannel): string | undefined;
5
+ export declare function mergeChannelsForPhone(channels: ContactChannel[]): ContactChannel[];
6
+ export declare function topicFieldOf(form: Pick<Form, "fields"> | null | undefined, groups: Pick<RoutingGroup, "id" | "title">[], otherLabel?: string): {
7
+ key: string;
8
+ optionFor: (id: string) => string | undefined;
9
+ idFor: (option: string) => string | undefined;
10
+ } | null;
11
+ export interface ContactRoutingProps {
12
+ routingNumber?: string;
13
+ routingTagline?: string;
14
+ groups: RoutingGroup[];
15
+ formNumber?: string;
16
+ formHeading?: string;
17
+ metaLines?: string[];
18
+ showOther?: boolean;
19
+ otherLabel?: string;
20
+ otherNoteTitle?: string;
21
+ otherNoteBody?: string;
22
+ buttonText?: string;
23
+ consent?: string;
24
+ channels?: ContactChannel[];
25
+ formSlug?: string;
26
+ form?: Form | null;
27
+ editing?: boolean;
28
+ initialActiveId?: string;
29
+ onActiveChange?: (id: string) => void;
30
+ reasonExtras?: (activeId: string) => ReactNode;
31
+ }
32
+ export declare const fieldClass: string;
33
+ export default function ContactRouting({ routingNumber, routingTagline, groups, formNumber, formHeading, metaLines, showOther, otherLabel, otherNoteTitle, otherNoteBody, buttonText, consent, channels, formSlug, form: injectedForm, editing, initialActiveId, onActiveChange, reasonExtras, }: ContactRoutingProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as n,jsxs as l,Fragment as Y}from"react/jsx-runtime";import A from"./SectionBand.js";import{useEffect as F,useState as M}from"react";import{OTHER_REASON_ID as h}from"efficient-web-builder/format/lib/content/contact";import{FormFieldInput as T,FormHoneypot as ee,successMessageFor as ne,useBoundForm as te,useFormSubmission as ae}from"./formSubmission.js";import re from"efficient-web-builder/render/components/SectionEyebrow";import le,{FieldCaption as oe}from"./WebFormField.js";import{scrollBehavior as ie}from"efficient-web-builder/render/components/useReducedMotion";import{renderChrome as L,renderGold as $,renderHeadline as se,splitParagraphs as ce}from"efficient-web-builder/render/components/goldPhrases";import{say as q}from"efficient-web-builder/format/lib/editor-words";import{phoneHref as de}from"efficient-web-builder/format/lib/links/phone-href";const t={bodySmall:"text-[length:var(--size-body,14px)]",body:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,18px)]",headingSmall1:"text-[length:var(--size-headingSmall,24px)]",headingSmall2:"text-[length:var(--size-headingSmall,26px)]",labelXs:"text-[length:var(--size-label,10px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"};function P(p){if(p.href)return p.href;const o=(p.value??"").trim();if(o.includes("@"))return`mailto:${o}`;if(/^\+?[\d\s().-]{6,}$/.test(o))return de(o)}function me(p){const o=[],f=new Map;for(const r of p){if(!r.groupId){o.push(r);continue}const d=r.value.trim().toLowerCase(),u=f.get(d);if(u)u.label=`${u.label} · ${r.label}`;else{const b={...r};f.set(d,b),o.push(b)}}return o}function pe(p,o,f){const r=d=>String(d??"").trim().toLowerCase();for(const d of p?.fields??[]){if(d.type!=="select"||!Array.isArray(d.options))continue;const u=d.options.map(String);if(!o.some(s=>u.some(m=>r(m)===r(s.title))))continue;const b=s=>r(s===h?f:o.find(m=>m.id===s)?.title);return{key:d.key,optionFor:s=>u.find(m=>r(m)===b(s)&&b(s)!==""),idFor:s=>{const m=o.find(S=>r(S.title)===r(s));return m?m.id:f&&r(s)===r(f)?h:void 0}}}return null}const B=`border-b border-line bg-transparent py-4 font-display ${t.bodyLarge} tracking-[0.01em] text-fg outline-none transition-colors focus:border-accent`;function fe({routingNumber:p,routingTagline:o,groups:f,formNumber:r,formHeading:d,metaLines:u,showOther:b=!0,otherLabel:s="Other",otherNoteTitle:m,otherNoteBody:S,buttonText:O,consent:_,channels:V,formSlug:R,form:D,editing:C,initialActiveId:y,onActiveChange:H,reasonExtras:G}){const k=[...f.map(e=>e.id),...b?[h]:[]],W=y&&k.includes(y)?y:k[0]??h,[g,w]=M(W);F(()=>{k.includes(g)||w(k[0]??h)},[k.join("|")]),F(()=>{y&&k.includes(y)&&w(y)},[y]);const v=te(R,D),c=ae({form:v,formSlug:R,editing:C}),x=pe(v,f,b?s:void 0),z=e=>{w(e),I(null);const a=x?.optionFor(e);x&&a!==void 0&&c.set(x.key,a),H?.(e)};F(()=>{if(!x||c.valueOf(x.key))return;const e=x.optionFor(g);e!==void 0&&c.set(x.key,e)},[x?.key]);const[X,I]=M(null),N=(V??[]).filter(e=>!e.hidden),Z=e=>X!==null?!e.groupId&&e.value===X:e.groupId===g,J=v===void 0,E=!!v||!!C,[K,Q]=M(!1);return F(()=>{const e=()=>Q(document.documentElement.getAttribute("data-theme")==="light");e();const a=new MutationObserver(e);return a.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>a.disconnect()},[]),l(Y,{children:[l(A,{className:"border-b border-line py-[60px]",style:K?void 0:{background:"var(--section-bg)"},children:[(p||o)&&l("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[p&&n(re,{text:p}),o&&n("span",{className:`font-display ${t.bodySmall} uppercase tracking-[0.04em] text-fg-dim`,children:$(o)})]}),n("div",{className:"sf-card grid grid-cols-4 gap-[2px] border border-line bg-line max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1",children:f.map(e=>{const a=g===e.id;return l("button",{type:"button",onClick:()=>{z(e.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:ie(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-4 px-8 py-10 text-left transition-colors",a?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[e.eyebrow&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:e.eyebrow}),n("h3",{className:`whitespace-pre-line font-heading3 ${t.headingSmall2} font-medium uppercase leading-[1.05] tracking-[-0.02em]`,children:e.title}),e.copy&&n("p",{className:`mt-auto font-display ${t.bodySmall} leading-[1.5] text-fg-dim`,children:e.copy}),e.response&&l("div",{className:`mt-2 flex justify-between border-t border-line pt-4 font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:[n("span",{children:"Response"}),n("strong",{className:"font-normal text-fg",children:e.response})]})]},e.id)})})]}),(E||N.length>0)&&n("section",{id:"contact-form",className:"scroll-mt-[80px] border-b border-line py-20 max-[1100px]:py-[60px]",children:l("div",{className:["mx-auto grid max-w-[var(--sf-site-width,1600px)] gap-20 px-[var(--sf-site-gutter,40px)] max-[1100px]:grid-cols-1 max-[1100px]:gap-[60px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",E&&N.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[E&&l("div",{children:[l("div",{className:"mb-8 flex items-end justify-between gap-6 border-b border-line pb-6",children:[l("div",{children:[r&&n("div",{className:`pb-2 font-mono ${t.labelLarge} uppercase tracking-[0.3em] text-accent`,children:$(r)}),d&&n("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4vw,56px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:se(d,!0)})]}),!!(u&&u.length)&&n("div",{className:`text-right font-mono ${t.labelSmall} uppercase leading-[1.8] tracking-[0.22em] text-fg-dim max-[700px]:text-left`,children:u.map((e,a)=>n("div",{children:e},a))})]}),v?c.done?n("div",{className:`border border-accent bg-accent/[0.08] p-8 font-display ${t.body} leading-[1.6] text-fg-dim`,children:ne(v,"Thanks — we've received your message.")}):l("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:c.handleSubmit,children:[v.fields.map(e=>n(le,{label:e.label,required:e.required,className:e.type==="textarea"||e.type==="checkbox"?"col-span-2 max-[700px]:col-span-1":void 0,children:n(T,{field:e,value:c.valueOf(e.key),onChange:a=>{c.set(e.key,a);const i=x&&e.key===x.key?x.idFor(a):void 0;i!==void 0&&(w(i),I(null),H?.(i))},className:e.type==="textarea"?`${B} min-h-[140px] resize-y leading-[1.5]`:e.type==="checkbox"?"size-4 self-start accent-accent":B})},e.key)),l("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[n(oe,{required:!0,children:"Reason"}),l("div",{className:"mt-1 flex flex-wrap gap-2",children:[f.map(e=>{const a=g===e.id;return n("button",{type:"button",onClick:()=>z(e.id),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,a?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:e.title},e.id)}),b&&n("button",{type:"button",onClick:()=>z(h),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,g===h?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:L(s)})]})]}),G?.(g),g===h&&(m||S)&&l("div",{className:"sf-card col-span-2 flex flex-col gap-2 border border-line bg-bg/40 p-5 max-[700px]:col-span-1",children:[m&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:$(m)}),S&&ce(S).map((e,a)=>n("p",{className:`font-display ${t.body} leading-[1.55] text-fg-dim`,children:$(e)},a))]}),n(ee,{value:c.honeypot,onChange:c.setHoneypot}),c.error&&n("p",{role:"alert",className:`col-span-2 font-mono ${t.labelSmall} uppercase tracking-[0.18em] text-alert max-[700px]:col-span-1`,children:c.error}),l("div",{className:"col-span-2 mt-5 flex flex-wrap items-center justify-between gap-6 border-t border-line pt-6 max-[700px]:col-span-1 max-[700px]:flex-col max-[700px]:items-stretch",children:[_&&n("span",{className:`max-w-[380px] font-mono ${t.labelSmall} uppercase leading-[1.6] tracking-[0.18em] text-fg-dim`,children:$(_)}),n("button",{type:C?"button":"submit",disabled:c.submitting,className:`cursor-pointer bg-btn px-8 py-5 font-mono ${t.labelXl} uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-wait disabled:opacity-60 max-[700px]:w-full`,children:c.submitting?"Sending…":O?L(O):"Send Message →"})]})]}):n("p",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:J?q("Loading form…"):q("Choose a form in the inspector, under Message form — until then this column is hidden on the live page and no message can be sent.")})]}),N.length>0&&n("aside",{className:"flex flex-col gap-0 max-[1100px]:hidden",children:N.map((e,a)=>{const i=Z(e),j=!!!e.groupId;return l("div",{onClick:j?()=>I(e.value):void 0,className:["relative flex flex-col gap-3 border-b border-line border-l-2 px-5 py-8 transition-all",j?"cursor-pointer border-t-2 border-t-accent":"",i?"border-l-accent pl-6":j?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:i?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[i&&l("span",{className:"absolute right-[18px] top-6 flex flex-col items-end gap-0.5 text-right",children:[n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:"→ Message routes here"}),n("span",{className:`font-mono ${t.labelXs} uppercase tracking-[0.18em] text-fg-dim`,children:"Other inboxes filter as spam"})]}),n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em] transition-colors`,i?"text-fg":"text-accent"].join(" "),children:e.label}),j?n("a",{href:e.href,onClick:U=>U.stopPropagation(),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent`,i?"text-accent":"text-fg"].join(" "),children:e.value}):n("a",{href:P(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em]`,i?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${a}`)})}),N.length>0&&n("div",{"data-contact-phone-list":!0,className:"hidden flex-col gap-0 max-[1100px]:flex",children:me(N).map((e,a)=>{const i=!!e.groupId;return l("div",{className:["flex flex-col gap-3 border-b border-line px-5 py-5",i?"":"border-t-2 border-t-accent"].join(" "),children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em]`,i?"text-fg":"text-accent"].join(" "),children:e.label}),n("a",{href:P(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] [overflow-wrap:anywhere]`,i?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${a}`)})})]})})]})}export{P as channelHref,fe as default,B as fieldClass,me as mergeChannelsForPhone,pe as topicFieldOf};
@@ -0,0 +1,7 @@
1
+ import { type CountryShowAs } from "../lib/content/country-show-as.js";
2
+ export declare function useCountrySelectShows(countries?: string[]): boolean;
3
+ export default function CountrySelect({ urls, countries, showAs, }?: {
4
+ urls?: Record<string, string>;
5
+ countries?: string[];
6
+ showAs?: CountryShowAs;
7
+ }): import("react").JSX.Element | null;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as n,Fragment as g,jsxs as l}from"react/jsx-runtime";import{ThemedSelectList as I,useThemedSelect as k}from"./ThemedSelect.js";import{useCurrency as y}from"./CurrencyContext.js";import{countryName as v}from"../lib/countries.js";import{FlagAuIcon as N,FlagCaIcon as S,FlagEuIcon as _,FlagGbIcon as R,FlagNzIcon as A,FlagUsIcon as U,GlobeIcon as T}from"efficient-shell/icons/efficient";import{COUNTRY_SHOW_AS_DEFAULT as j,countryShowAsHasFlag as E}from"../lib/content/country-show-as.js";const x={US:U,CA:S,AU:N,NZ:A,GB:R,EU:_};function b({code:c,width:e}){const a=x[c];return a?n("span",{"aria-hidden":!0,className:"inline-flex shrink-0 border border-line",children:n(a,{size:e})}):null}function G(c,e){const a=n(b,{code:e.code,width:18});switch(c){case"code_currency":return e.currency?l(g,{children:[n("span",{children:e.code}),n("span",{"aria-hidden":!0,className:"opacity-50",children:"·"}),n("span",{children:e.currency})]}):n("span",{children:e.code});case"globe_code":return l(g,{children:[n(T,{size:14,className:"shrink-0"}),n("span",{children:e.code})]});case"currency":return n("span",{children:e.currency??e.code});case"flag_code":return l(g,{children:[a,n("span",{children:e.code})]});case"flag":return x[e.code]?a:n("span",{children:e.code});default:return n("span",{children:e.name})}}function F(c,e,a){const s=new Map(c.map(t=>[t.code,t]));return(e?.length?e:c.map(t=>t.code)).map(t=>{const i=s.get(t);return{code:t,name:i?.name||v(t),currency:i?.currency,url:i?.url||a?.[t]||""}})}function P(c){const{countries:e}=y();return F(e,c).length>0}function L({urls:c,countries:e,showAs:a=j}={}){const{country:s,setCountry:t,countries:i}=y(),d=F(i,e,c),p=d.find(o=>o.code===s)??d[0];function w(o){const h=(c?d.find(m=>m.code===o)?.url:"")?.trim();if(h){window.location.href=h;return}i.some(m=>m.code===o)&&t(o)}const C=E(a),f=d.map(o=>({value:o.code,label:o.name,meta:o.currency,...C?{lead:n(b,{code:o.code,width:21})}:{}})),r=k({items:f,value:s,onPick:w});if(!p)return null;const u=r.open;return l("div",{ref:r.wrapRef,className:"relative",children:[l("button",{ref:o=>{r.triggerRef.current=o},type:"button","aria-haspopup":"listbox","aria-expanded":u,"aria-controls":u?r.listId:void 0,"aria-activedescendant":r.activeId,"aria-label":`Region: ${p.name}. Click to change.`,onClick:r.toggle,onKeyDown:r.onTriggerKeyDown,suppressHydrationWarning:!0,className:"inline-flex items-center gap-2 whitespace-nowrap border border-fg-dim px-3 py-2 font-mono text-[13px] uppercase tracking-[0.18em] transition-colors hover:border-fg",style:{color:"color-mix(in oklab, currentColor 80%, transparent)"},children:[G(a,p),n("span",{"aria-hidden":!0,className:`text-[11px] opacity-70 transition-transform ${u?"rotate-180":""}`,children:"▾"})]}),u&&n(I,{id:r.listId,tone:"region",ariaLabel:"Choose region",items:f,value:s,focusIdx:r.focusIdx,onFocus:r.setFocusIdx,onPick:r.pick,listRef:r.listRef})]})}export{L as default,P as useCountrySelectShows};
@@ -0,0 +1,3 @@
1
+ export default function CouponField({ customerEmail }: {
2
+ customerEmail?: string;
3
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as t,jsxs as a}from"react/jsx-runtime";import{useState as d}from"react";import{COUPON_DEFERRED_MESSAGE as m}from"../lib/cart/coupon-preview.js";import{useCart as u}from"./CartContext.js";function x({customerEmail:c}){const{coupon:e,applyCoupon:s,removeCoupon:p,couponBusy:n}=u(),[r,i]=d("");async function l(){n||!r.trim()||(await s(r,c),i(""))}return a("div",{className:"flex flex-col gap-2",children:[e===null?a("div",{className:"flex border border-line",children:[t("input",{type:"text",value:r,onChange:o=>i(o.target.value),onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),l())},placeholder:"Coupon code","aria-label":"Coupon code",className:"flex-1 bg-transparent px-4 py-4 font-mono text-[11px] uppercase tracking-[0.18em] text-fg outline-none placeholder:text-fg-dim"}),t("button",{type:"button",onClick:()=>{l()},disabled:n,className:"border-l border-line px-4 font-mono text-[10px] uppercase tracking-[0.26em] text-btn transition-colors hover:bg-btn hover:text-btn-ink disabled:cursor-wait disabled:opacity-60",children:n?"…":"Apply"})]}):a("div",{className:["flex items-center justify-between gap-3 border px-4 py-3",e.valid?"border-accent":"border-line"].join(" "),style:e.valid?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[t("span",{className:["font-mono text-[11px] uppercase tracking-[0.22em]",e.valid?"text-accent":e.deferred?"text-fg":"text-fg-dim line-through"].join(" "),children:e.code}),t("button",{type:"button",onClick:p,"aria-label":`Remove coupon ${e.code}`,className:"font-mono text-[12px] text-fg-dim transition-colors hover:text-fg",children:"✕"})]}),e?.deferred?t("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-fg-dim",children:m}):e&&!e.valid&&e.message&&t("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-alert",children:e.message})]})}export{x as default};
@@ -0,0 +1,27 @@
1
+ import { type ReactNode } from "react";
2
+ import type { SiteCountry, SiteCurrency } from "../lib/content/site.js";
3
+ export declare const COUNTRY_STORAGE_KEY = "storefront-country";
4
+ export interface CurrencyProviderProps {
5
+ children: ReactNode;
6
+ currencies?: SiteCurrency[];
7
+ countries?: SiteCountry[];
8
+ defaultCurrency?: string | null;
9
+ defaultCountry?: string | null;
10
+ }
11
+ interface CurrencyValue {
12
+ country: string;
13
+ currency: string;
14
+ setCountry: (code: string) => void;
15
+ currencies: SiteCurrency[];
16
+ countries: SiteCountry[];
17
+ activeCountry: SiteCountry | null;
18
+ formatPrice: (amount: number, currency?: string) => string;
19
+ formatMoney: (amount: number, currency?: string) => string;
20
+ ready: boolean;
21
+ }
22
+ export declare function createPriceFormatter(currencies: SiteCurrency[]): (amount: number, currency: string) => string;
23
+ export declare function createMoneyFormatter(currencies: SiteCurrency[]): (amount: number, currency: string) => string;
24
+ export declare function CurrencyProvider({ children, currencies, countries, defaultCurrency, defaultCountry, }: CurrencyProviderProps): import("react").JSX.Element;
25
+ export declare function useCurrency(): CurrencyValue;
26
+ export declare function useActiveCountry(): string;
27
+ export {};
@@ -0,0 +1 @@
1
+ "use client";import{jsx as h}from"react/jsx-runtime";import{createContext as A,useContext as g,useEffect as D,useMemo as a,useState as v}from"react";import{PRICE_LOCALE as I}from"../lib/commerce.js";import{safeLocalStorage as E}from"efficient-web-builder/format/lib/safe-storage";const O="storefront-country",P=O,C=A(null);function L(o){return w(o,"catalogue")}function T(o){return w(o,"money")}function w(o,m){const f=new Map(o.map(n=>[n.code,n.decimalPlaces])),s=new Map;return(n,t)=>{if(!t)return"";let e=s.get(t);if(!e){const u=f.get(t)??0;e=new Intl.NumberFormat(I,{style:"currency",currency:t,minimumFractionDigits:m==="money"?u:0,maximumFractionDigits:u}),s.set(t,e)}return e.format(n)}}function N({children:o,currencies:m,countries:f,defaultCurrency:s,defaultCountry:n}){const t=a(()=>m??[],[m]),e=a(()=>f??[],[f]),u=a(()=>s||t.find(r=>r.isDefault)?.code||t[0]?.code||"",[s,t]),F=a(()=>n||e.find(r=>r.isDefault)?.code||e[0]?.code||"",[n,e]),[d,p]=v(F),[x,M]=v(!1);D(()=>{const r=E.getItem(P);r&&e.some(i=>i.code===r)&&p(r),M(!0)},[e]);function R(r){p(r),E.setItem(P,r)}const S=a(()=>{const r=e.find(c=>c.code===d)??null,i=r?.currency,l=i&&t.some(c=>c.code===i)?i:u,_=L(t),b=T(t);return{country:d,currency:l,setCountry:R,currencies:t,countries:e,activeCountry:r,formatPrice:(c,y)=>_(c,y??l),formatMoney:(c,y)=>b(c,y??l),ready:x}},[d,t,e,u,x]);return h(C.Provider,{value:S,children:o})}function k(){const o=g(C);if(!o)throw new Error("useCurrency must be used within a CurrencyProvider");return o}function U(){return g(C)?.country??""}export{O as COUNTRY_STORAGE_KEY,N as CurrencyProvider,T as createMoneyFormatter,L as createPriceFormatter,U as useActiveCountry,k as useCurrency};
@@ -0,0 +1,18 @@
1
+ export interface DeliveryOptionCard {
2
+ name?: string;
3
+ eta?: string;
4
+ price?: string;
5
+ blurb?: string;
6
+ highlighted?: boolean;
7
+ }
8
+ interface DeliveryOptionsProps {
9
+ eyebrow?: string;
10
+ title?: string;
11
+ body?: string;
12
+ options: DeliveryOptionCard[];
13
+ highlightBadge?: string;
14
+ contained: boolean;
15
+ omitHead?: boolean;
16
+ }
17
+ export default function DeliveryOptions({ eyebrow, title, body, options, highlightBadge, contained, omitHead, }: DeliveryOptionsProps): import("react").JSX.Element;
18
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as a,jsxs as r}from"react/jsx-runtime";import d from"efficient-web-builder/render/components/BlockFrame";import f from"efficient-web-builder/render/components/SectionEyebrow";import{renderGold as l,renderHeadline as o,splitParagraphs as g}from"efficient-web-builder/render/components/goldPhrases";const h="py-6",u="pt-0 pb-6";function N({eyebrow:n,title:t,body:s,options:c=[],highlightBadge:p,contained:x,omitHead:m=!1}){return a(d,{contained:x,className:m?u:h,children:r("div",{className:"flex flex-col gap-6",children:[m?null:n||t||s?r("div",{className:"flex max-w-[680px] flex-col gap-3",children:[n&&a(f,{text:n,scaled:!1}),t&&a("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium leading-[1.05] tracking-[-0.03em] max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:o(t,!1)}),s&&g(s).map((e,i)=>a("p",{className:"text-[15px] leading-[1.6] opacity-85",children:l(e)},i))]}):null,c.length>0&&a("ul",{className:"grid grid-cols-3 gap-4 max-[800px]:grid-cols-1",children:c.map((e,i)=>r("li",{className:`sf-card relative flex flex-col gap-2 border bg-surface px-6 py-6 ${e.highlighted?"border-accent":"border-line"}`,children:[e.highlighted&&p&&a("span",{className:"absolute -top-2.5 left-5 bg-bg px-2 font-mono text-[10px] uppercase tracking-[0.25em] text-accent",children:l(p)}),e.name&&a("span",{className:"text-[17px] font-medium",children:l(e.name)}),e.eta&&a("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] opacity-60",children:l(e.eta)}),e.blurb&&a("p",{className:"text-[13.5px] leading-[1.6] opacity-75",children:l(e.blurb)}),e.price&&a("span",{className:"mt-auto pt-2 font-display text-[20px] font-medium text-accent",children:l(e.price)})]},i))})]})})}export{N as default};
@@ -0,0 +1,8 @@
1
+ export default function DeliveryOptionsSource({ eyebrow, title, body, highlightBadge, contained, omitHead, }: {
2
+ eyebrow?: string;
3
+ title?: string;
4
+ body?: string;
5
+ highlightBadge?: string;
6
+ contained: boolean;
7
+ omitHead?: boolean;
8
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as h}from"react/jsx-runtime";import{useEffect as y,useState as g}from"react";import{products as E}from"../lib/api/index.js";import{FREE_PRICE as R,FROM_PREFIX_START as b}from"../lib/wheels/price-display.js";import M from"./DeliveryOptions.js";import{useCurrency as S}from"./CurrencyContext.js";function _({eyebrow:s,title:c,body:u,highlightBadge:a,contained:d,omitHead:p=!1}){const{currency:n,formatMoney:f}=S(),[l,r]=g(null);y(()=>{let e=!1;return E.listShippingMethods().then(o=>{e||r(o)}).catch(()=>{e||r([])}),()=>{e=!0}},[]);const m=(l??[]).filter(e=>e.prices[n]!=null).map(e=>{const o=e.prices[n],i=o===0?R:f(o,n),t=e.pickupLocation;return{name:t?`${e.name} — ${t.name}`:e.name,eta:t?t.openingHours||void 0:e.description||void 0,price:e.requiresQuote&&o!==0?`${b}${i}`:i,blurb:t&&[t.address,t.city,t.state].filter(Boolean).join(", ")||void 0}});return h(M,{eyebrow:s,title:c,body:u,options:m,highlightBadge:a,contained:d,omitHead:p})}export{_ as default};
@@ -0,0 +1,22 @@
1
+ export interface DetailSpec {
2
+ label?: string;
3
+ value?: string;
4
+ }
5
+ export interface DetailRow {
6
+ image?: string;
7
+ eyebrow?: string;
8
+ title?: string;
9
+ copy?: string;
10
+ tag?: string;
11
+ specs?: DetailSpec[];
12
+ imageShape?: "square" | "wide";
13
+ }
14
+ export interface DetailRowsProps {
15
+ rows?: DetailRow[];
16
+ startLeft?: boolean;
17
+ layout?: "even" | "narrow";
18
+ padTop?: number;
19
+ padBottom?: number;
20
+ editing?: boolean;
21
+ }
22
+ export default function DetailRows({ rows, startLeft, layout, padTop, padBottom, editing, }: DetailRowsProps): import("react").JSX.Element | null;
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as r}from"react/jsx-runtime";import j from"./SectionBand.js";import z from"efficient-web-builder/render/components/Placeholder";import{withRMark as s}from"efficient-web-builder/render/components/RMark";import{renderGold as f}from"efficient-web-builder/render/components/goldPhrases";import{say as o}from"efficient-web-builder/format/lib/editor-words";const m={body:"text-[length:var(--size-body,15px)]",labelSmall:"text-[length:var(--size-label,11px)]",label:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"};function k({rows:h,startLeft:b=!1,layout:u="even",padTop:c,padBottom:d,editing:v=!1}){const a=u==="narrow",w=typeof c=="number"?c:100,y=typeof d=="number"?d:100,g=(h??[]).filter(e=>(e?.eyebrow??"").trim()||(e?.title??"").trim()||(e?.copy??"").trim()||(e?.tag??"").trim()||(e?.image??"").trim()),p=g.length>0?g:v?[{tag:o("Row {n}",{n:1})},{tag:o("Row {n}",{n:2})},{tag:o("Row {n}",{n:3})}]:[];return p.length===0?null:t(j,{className:"relative z-[2] border-b border-line bg-bg",style:{paddingTop:w,paddingBottom:y},children:p.map((e,l)=>{const n=l%2===1!==b;return r("div",{className:["grid items-center py-[60px]",a?"grid-cols-[1fr_460px] gap-[72px]":"grid-cols-2 gap-12","max-[1100px]:grid-cols-1",n?"[direction:rtl] max-[1100px]:[direction:ltr]":"",l>0?"border-t border-line":""].join(" "),children:[r("div",{className:["[direction:ltr] flex flex-col gap-4",a?"max-w-[560px]":"",a&&!n?"ml-auto max-[1100px]:ml-0":""].join(" "),children:[e.eyebrow?.trim()&&t("div",{className:`font-mono ${m.labelLarge} uppercase tracking-[0.2em] text-accent`,children:s(e.eyebrow)}),e.title?.trim()&&t("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(28px,3vw,42px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-[1.1] tracking-[-0.02em]",children:f(e.title,!0)}),e.copy?.trim()&&t("p",{className:`${m.body} leading-[1.6] text-fg-dim`,children:f(e.copy,!1)}),(()=>{const x=(e.specs??[]).filter(i=>(i?.label??"").trim()||(i?.value??"").trim());return x.length===0?null:t("dl",{className:`mt-2 border-t border-line pt-3 font-mono ${m.label} uppercase tracking-[0.1em] leading-[2.1]`,children:x.map((i,N)=>r("div",{className:"flex items-baseline justify-between gap-6",children:[t("dt",{className:"text-fg-dim",children:s(i.label??"")}),t("dd",{className:"text-fg",children:s(i.value??"")})]},N))})})()]}),r("div",{className:["[direction:ltr] flex flex-col gap-3",a?n?"items-end":"items-start":"",a?"max-[1100px]:items-start":""].join(" "),children:[t("div",{className:["relative overflow-hidden max-w-full",a?e.imageShape==="wide"?"w-[460px] aspect-[16/9]":"w-[360px] aspect-square":"aspect-square"].join(" "),children:t(z,{label:e.tag?.trim()||e.title?.trim()||`row-${l+1}`,src:e.image||void 0,showBackground:!e.image,objectFit:"contain",sizes:a?"(max-width: 1100px) 100vw, 460px":"(max-width: 1100px) 100vw, 50vw"})}),e.tag?.trim()&&t("span",{className:`font-mono ${m.labelSmall} uppercase tracking-[0.2em] text-fg-dim ${n?"text-left":"text-right"}`,children:s(e.tag)})]})]},l)})})}export{k as default};
@@ -0,0 +1,3 @@
1
+ export default function DimensionArrowMarkers({ id }: {
2
+ id: string;
3
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as r,jsxs as i}from"react/jsx-runtime";function t({id:e}){return i("defs",{children:[r("marker",{id:`${e}-L`,viewBox:"0 0 10 10",refX:2,refY:5,markerWidth:6,markerHeight:6,orient:"auto",children:r("path",{d:"M10,0 L0,5 L10,10 z",fill:"currentColor"})}),r("marker",{id:`${e}-R`,viewBox:"0 0 10 10",refX:8,refY:5,markerWidth:6,markerHeight:6,orient:"auto",children:r("path",{d:"M0,0 L10,5 L0,10 z",fill:"currentColor"})})]})}export{t as default};
@@ -0,0 +1,7 @@
1
+ import { type ReactNode } from "react";
2
+ export type EditorCurrencyReason = "none-configured" | "unknown";
3
+ export declare function EditorCurrencyNoticeProvider({ reason, children, }: {
4
+ reason?: EditorCurrencyReason;
5
+ children: ReactNode;
6
+ }): import("react").JSX.Element;
7
+ export declare function useNoCurrencyNoteOwner(editing: boolean | undefined): boolean;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as C}from"react/jsx-runtime";import{createContext as x,useCallback as f,useContext as g,useEffect as j,useId as m,useMemo as y,useRef as R,useState as p}from"react";const d=x(null);function E({reason:i,children:e}){const[n,r]=p([]),o=R(null),t=f(u=>{r(c=>c.includes(u)?c:[...c,u])},[]),s=f(u=>{r(c=>c.filter(v=>v!==u))},[]),l=i==="none-configured",a=y(()=>({noCurrencyConfigured:l,live:n,firstRendered:o,join:t,leave:s}),[l,n,t,s]);return C(d.Provider,{value:a,children:e})}function b(i){const e=g(d),n=m(),r=!!i&&!!e?.noCurrencyConfigured;r&&e&&e.firstRendered.current===null&&(e.firstRendered.current=n);const o=e?.join,t=e?.leave;return j(()=>{if(!(!r||!o||!t))return o(n),()=>t(n)},[r,o,t,n]),!r||!e?!1:(e.live.length>0?e.live[0]:e.firstRendered.current)===n}export{E as EditorCurrencyNoticeProvider,b as useNoCurrencyNoteOwner};
@@ -0,0 +1,15 @@
1
+ export type EmailCaptureStatus = "idle" | "sending" | "sent" | "error" | "invalid";
2
+ export interface EmailCaptureFormProps {
3
+ email: string;
4
+ onEmailChange: (value: string) => void;
5
+ status: EmailCaptureStatus;
6
+ onResetVerdict: () => void;
7
+ onSubmit: () => void;
8
+ submitLabel: string;
9
+ errorMessage: string;
10
+ inputAriaLabel: string;
11
+ buttonClassName: string;
12
+ className?: string;
13
+ placeholder?: string;
14
+ }
15
+ export default function EmailCaptureForm({ email, onEmailChange, status, onResetVerdict, onSubmit, submitLabel, errorMessage, inputAriaLabel, buttonClassName, className, placeholder, }: EmailCaptureFormProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as r,jsxs as a}from"react/jsx-runtime";const x="Please enter a valid email address.";function g({email:i,onEmailChange:n,status:e,onResetVerdict:o,onSubmit:d,submitLabel:t,errorMessage:c,inputAriaLabel:s,buttonClassName:m,className:p,placeholder:f="you@example.com"}){return a("form",{className:[p,"flex flex-col gap-2"].filter(Boolean).join(" "),noValidate:!0,onSubmit:l=>{l.preventDefault(),d()},children:[a("div",{className:"flex items-stretch gap-2",children:[r("input",{type:"email",value:i,onChange:l=>{n(l.target.value),(e==="invalid"||e==="error")&&o()},placeholder:f,"aria-label":s,disabled:e==="sending",className:"w-0 min-w-0 flex-1 border-2 border-line bg-bg px-4 py-3 font-display text-[15px] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent disabled:opacity-60"}),r("button",{type:"submit",disabled:e==="sending",className:m,children:e==="sending"?"Sending…":t})]}),(e==="error"||e==="invalid")&&r("p",{role:"alert",className:"font-mono text-[11px] uppercase tracking-[0.18em]",style:{color:"var(--alert)"},children:e==="invalid"?x:c})]})}export{g as default};
@@ -0,0 +1,7 @@
1
+ import { type ReactNode } from "react";
2
+ import { type EnglishVariant } from "../lib/content/english-variant.js";
3
+ export declare function EnglishVariantProvider({ variant, children, }: {
4
+ variant: EnglishVariant;
5
+ children: ReactNode;
6
+ }): import("react").JSX.Element;
7
+ export declare function useEnglish(): (text: string) => string;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as e}from"react/jsx-runtime";import{createContext as i,useCallback as o,useContext as a}from"react";import{inEnglish as s}from"../lib/content/english-variant.js";const r=i("international");function x({variant:n,children:t}){return e(r.Provider,{value:n,children:t})}function m(){const n=a(r);return o(t=>s(t,n),[n])}export{x as EnglishVariantProvider,m as useEnglish};
@@ -0,0 +1,4 @@
1
+ import { type EuTyreLabel } from "../lib/tyres/eu-tyre-label.js";
2
+ export default function EuTyreLabelCard({ label }: {
3
+ label: EuTyreLabel;
4
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as a,jsxs as l}from"react/jsx-runtime";import{noiseLabel as i}from"../lib/tyres/eu-tyre-label.js";const n={headingSmall:"text-[length:var(--size-headingSmall,22px)]",labelSmall:"text-[length:var(--size-label,11px)]",labelLarge:"text-[length:var(--size-label,12px)]"};function o(e){const r=[];e.fuelClass&&r.push({key:"Fuel efficiency",value:e.fuelClass}),e.wetGripClass&&r.push({key:"Wet grip",value:e.wetGripClass});const t=i(e);return t&&r.push({key:"Rolling noise",value:t}),r}function c(e){const r=[];return e.severeSnow&&r.push("3PMSF severe snow"),e.iceGrip&&r.push("Ice grip"),r}function m({label:e}){const r=o(e),t=c(e);return l("div",{className:"flex flex-col bg-[var(--card-bg)] p-5",children:[a("h3",{className:`font-heading3 ${n.headingSmall} font-medium leading-tight`,children:e.size}),a("dl",{className:`mt-3 flex flex-col gap-2 font-mono ${n.labelLarge}`,children:r.map(s=>l("div",{className:"flex items-baseline justify-between gap-3",children:[a("dt",{className:"uppercase tracking-[0.14em] text-fg-dim",children:s.key}),a("dd",{className:"text-right text-fg",children:s.value})]},s.key))}),t.length>0?a("ul",{className:"mt-3 flex flex-wrap gap-2",children:t.map(s=>a("li",{className:`border border-line px-2 py-1 font-mono ${n.labelSmall} uppercase tracking-[0.14em] text-fg-dim`,children:s},s))}):null,l("a",{href:e.eprelUrl,target:"_blank",rel:"noopener noreferrer",className:`group mt-4 inline-flex items-center gap-2 border-t border-line pt-3 font-mono ${n.labelLarge} uppercase tracking-[0.2em] text-accent transition-colors hover:text-fg`,children:[`EPREL ${e.registrationNumber}`,a("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-1",children:"→"})]})]})}export{m as default};
@@ -0,0 +1,7 @@
1
+ import type { EuTyreLabel } from "../lib/tyres/eu-tyre-label.js";
2
+ export declare const EU_LABEL_BAND = "border-b border-line py-[120px] max-[1100px]:py-20";
3
+ export default function EuTyreLabels({ labels, num, capped, }: {
4
+ labels: EuTyreLabel[];
5
+ num: string;
6
+ capped?: boolean;
7
+ }): import("react").JSX.Element | null;
@@ -0,0 +1 @@
1
+ import{jsx as r,jsxs as s}from"react/jsx-runtime";import a from"./EuTyreLabelCard.js";import n from"./SectionBand.js";import d from"efficient-web-builder/render/components/SectionHeader";import p from"./SectionFootnote.js";const c="border-b border-line py-[120px] max-[1100px]:py-20";function m({labels:e,num:o,capped:i=!0}){return e.length===0?null:s(n,{className:c,capped:i,children:[r(d,{num:o,title:"EU tyre *label.*",description:"The registered grades for this tyre, read live from the EU product registry.",accent:!0}),r("div",{className:"grid grid-cols-3 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",children:e.map(t=>r(a,{label:t},t.registrationNumber))}),r(p,{text:"Source: *EPREL*, the European Product Registry for Energy Labelling. Grades are shown as registered; the registry is the authority."})]})}export{c as EU_LABEL_BAND,m as default};
@@ -0,0 +1,62 @@
1
+ import { type EventPost } from "efficient-web-builder/render/components/PostCard";
2
+ export type { EventPost };
3
+ export type EventCard = EventPost & {
4
+ href?: string;
5
+ };
6
+ export declare const EVENTS_LAYOUT_FEATURED = "featured";
7
+ export declare const EVENTS_LAYOUT_TABS = "tabs";
8
+ export declare const EVENTS_LAYOUT_PORTRAIT = "portrait";
9
+ export declare const EVENTS_LAYOUT_SPREAD = "spread";
10
+ export declare const EVENTS_LAYOUT_COUNT = "count";
11
+ export declare const EVENTS_LAYOUTS: readonly [{
12
+ readonly label: "Even grid";
13
+ readonly value: "even";
14
+ }, {
15
+ readonly label: "Featured first";
16
+ readonly value: "featured";
17
+ }, {
18
+ readonly label: "Tabs";
19
+ readonly value: "tabs";
20
+ }, {
21
+ readonly label: "Photo cards";
22
+ readonly value: "portrait";
23
+ }, {
24
+ readonly label: "Staggered spread";
25
+ readonly value: "spread";
26
+ }, {
27
+ readonly label: "Count";
28
+ readonly value: "count";
29
+ }];
30
+ export declare const EVENTS_PHOTO_LAYOUTS: readonly string[];
31
+ export declare const EVENTS_LAYOUT_FALLBACK = "even";
32
+ export declare const EVENTS_FEATURED_WIDTH: {
33
+ readonly min: 2;
34
+ readonly max: 11;
35
+ readonly step: 1;
36
+ readonly fallback: 7;
37
+ readonly unit: "of 12";
38
+ };
39
+ export interface EventsProps {
40
+ num?: string;
41
+ title?: string;
42
+ link?: {
43
+ text: string;
44
+ href: string;
45
+ };
46
+ posts?: EventCard[];
47
+ sample?: EventCard[];
48
+ columns?: number;
49
+ limit?: number;
50
+ showAll?: boolean;
51
+ gap?: number | string;
52
+ layout?: string;
53
+ featuredWidth?: number;
54
+ listCover?: boolean;
55
+ featuredDarken?: number;
56
+ editing?: boolean;
57
+ cardImage?: number | null;
58
+ omitHead?: boolean;
59
+ nameFilter?: boolean;
60
+ }
61
+ export declare function matchesName(title: string, typed: string): boolean;
62
+ export default function Events({ num, title, link, posts, columns, limit, showAll, editing, cardImage, gap: gapProp, layout, featuredWidth, listCover, featuredDarken, omitHead, sample, nameFilter, }: EventsProps): import("react").JSX.Element | null;
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as d}from"react/jsx-runtime";import{useId as ae,useState as ne}from"react";import{containerGapProps as se}from"efficient-web-builder/format/lib/content/container-gap";import re from"efficient-web-builder/render/components/SectionHeader";import A from"efficient-web-builder/render/components/PostCard";import le from"efficient-web-builder/render/components/Placeholder";import{SiteLink as S}from"efficient-web-builder/render/lib/site-runtime";import{renderGold as m,renderHeadline as h}from"efficient-web-builder/render/components/goldPhrases";import{say as b}from"efficient-web-builder/format/lib/editor-words";import{cardImageShapeTokens as oe}from"efficient-web-builder/format/lib/content/card-image-shape";import{SITE_COLUMN as P}from"efficient-web-builder/format/lib/content/page-width";import{fillRowCss as ce}from"../lib/sections/fill-row.js";const V=3,Y="featured",B="tabs",j="portrait",x="spread",K="count",Me=[{label:"Even grid",value:"even"},{label:"Featured first",value:Y},{label:"Tabs",value:B},{label:"Photo cards",value:j},{label:"Staggered spread",value:x},{label:"Count",value:K}],ie=[j,x],Ie="even",$={min:2,max:11,step:1,fallback:7,unit:"of 12"},de="bottom-left",pe=55,fe="bottom";function me(t){const n=typeof t=="number"?t:Number.parseFloat(String(t??"")),a=Number.isFinite(n)?Math.min($.max,Math.max($.min,Math.round(n))):$.fallback;return`${a}fr ${12-a}fr`}const G={1:"grid-cols-1",2:"grid-cols-2 max-[800px]:grid-cols-1",3:"grid-cols-3 max-[800px]:grid-cols-1",4:"grid-cols-4 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1"},H={2:"grid-cols-2",3:"grid-cols-3 max-[800px]:grid-cols-2",4:"grid-cols-4 max-[1100px]:grid-cols-3 max-[800px]:grid-cols-2"},xe="Find by name",ge="Nobody by that name.";function ue(t,n){const a=o=>o.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase().trim(),r=a(n);return r===""||a(t).includes(r)}function he({card:t,scaffold:n,lower:a=!1}){return d(S,{href:t.href||"#",className:`sf-card group relative isolate flex aspect-[3/4] overflow-hidden bg-surface${a?" min-[801px]:mt-16":""}`,"aria-disabled":n||void 0,tabIndex:n?-1:void 0,children:[e("div",{className:"absolute inset-0 transition-transform duration-700 group-hover:scale-[1.03] motion-reduce:transition-none motion-reduce:group-hover:scale-100",children:e(le,{label:`card-${t.slug}`,src:t.cover||void 0,sizes:"(max-width: 800px) 50vw, 25vw"})}),e("div",{"aria-hidden":!0,className:"absolute inset-0 z-0",style:{background:"linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--bg) 88%, transparent) 100%)"}}),t.meta&&e("span",{className:"absolute left-3 top-3 z-[1] rounded-[var(--sf-button-radius,999px)] bg-bg/85 px-2.5 py-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-accent",children:m(t.meta)}),d("div",{className:"relative z-[1] mt-auto flex w-full flex-col gap-1 p-4 max-[800px]:p-3",children:[e("h3",{className:"font-heading3 text-[length:var(--size-headingSmall,24px)] leading-[1.1] tracking-[-0.01em] text-fg",children:h(t.title,!1)}),t.dateLabel&&e("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.16em] text-accent",children:m(t.dateLabel)}),t.excerpt&&e("p",{className:"line-clamp-2 text-[length:var(--size-body,14px)] leading-[1.45] text-fg-dim",children:m(t.excerpt)})]})]})}function be({cards:t,scaffold:n}){return e("nav",{"aria-label":"Days",className:"-mx-1 overflow-x-auto",children:e("ul",{className:"flex min-w-max gap-2 px-1 pb-1",children:t.map((a,r)=>{const o=!!a.meta;return e("li",{children:d(S,{href:a.href||"#","aria-current":o?"page":void 0,"aria-disabled":n||void 0,tabIndex:n?-1:void 0,className:`flex flex-col gap-0.5 rounded-[var(--sf-button-radius,999px)] border px-5 py-2.5 transition-colors ${o?"border-accent bg-accent text-accent-ink":"border-line text-fg hover:border-accent hover:text-accent"}`,children:[e("span",{className:"font-heading3 text-[length:var(--size-body,15px)] leading-[1.2]",children:h(a.title,!1)}),a.excerpt&&e("span",{className:`font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] ${o?"opacity-80":"text-fg-dim"}`,children:m(a.excerpt)})]})},`${a.slug}-${r}`)})})})}function ve({count:t,words:n,href:a}){const r=d("span",{className:"inline-flex items-baseline gap-3",children:[e("span",{className:"font-heading text-[length:var(--size-headingLarge,64px)] leading-none text-accent",children:t}),n!==void 0&&e("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg",children:n})]});return a?e(S,{href:a,className:"inline-flex hover:opacity-85",children:r}):r}const Ne="relative z-[2] bg-bg py-[120px] max-[800px]:py-[70px]",Ee="relative z-[2] bg-bg pt-0 pb-[120px] max-[800px]:pt-0 max-[800px]:pb-[70px]",Te="relative z-[2] bg-bg py-[32px] max-[800px]:py-[24px]";function _e({num:t,title:n,link:a,posts:r,columns:o,limit:v,showAll:N=!1,editing:C=!1,cardImage:W,gap:J,layout:p,featuredWidth:X,listCover:q=!0,featuredDarken:Q,omitHead:g=!1,sample:E,nameFilter:Z=!1}){const[O,ee]=ne(""),T=`ev-${ae().replace(/:/g,"")}`,z=r??[],F=N?z.length:typeof v=="number"&&v>0?v:V,_=z.slice(0,F),f=C&&_.length===0;if(_.length===0&&!C)return null;const U=N?V:F,l=f?E?.length?E.slice(0,N?E.length:U):Array.from({length:U},(s,i)=>({slug:`placeholder-${i}`,title:b("Blog post title"),excerpt:b("A short summary of the post appears here."),cover:"",meta:b("Journal"),dateLabel:b("Date")})):_,c=se("Events",J,"both"),y=p===Y&&l.length>1,te=me(X),L=p===B,k=p===K,R=ie.includes(p??""),M=Z&&!L&&!k&&!y,u=M?l.filter(s=>ue(s.title,O)):l,I=p===x?"grid-cols-3 max-[800px]:grid-cols-2":H[Math.min(4,Math.max(2,o??3))]??H[3],D=G[Math.min(4,Math.max(1,o??3))]??G[3],w=L||y||p===x?"":ce(T,R?I:D,{cards:u.length});return k?e("section",{className:Te,children:e("div",{className:P,children:e(ve,{count:l.length,words:g||n===void 0?void 0:h(n,!1),href:g?void 0:a?.href})})}):e("section",{className:g?Ee:Ne,style:oe(W),children:d("div",{className:P,children:[g?null:e(re,{num:t!==void 0?m(t):void 0,title:n!==void 0?h(n,!1):void 0,link:a?{text:m(a.text),href:a.href}:void 0}),M&&d("div",{className:"mb-6 flex flex-col gap-2",children:[d("label",{className:"flex max-w-[360px] flex-col gap-1.5",children:[e("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:xe}),e("input",{type:"search",value:O,onChange:s=>ee(s.target.value),autoComplete:"off",className:"rounded-[var(--sf-button-radius,6px)] border border-line bg-bg px-4 py-2.5 text-[length:var(--size-body,15px)] text-fg outline-none focus:border-accent"})]}),u.length===0&&e("p",{role:"status",className:"text-[length:var(--size-body,14px)] text-fg-dim",children:ge})]}),w&&e("style",{children:w}),L?e(be,{cards:l,scaffold:f}):R?e("div",{className:`${T} sf-card-grid grid${c.className} ${I}`,style:c.style,children:u.map((s,i)=>e(he,{card:s,scaffold:f,lower:p===x&&i%3===1},`${s.slug}-${i}`))}):y?d("div",{className:`sf-card-grid grid grid-cols-[var(--sf-events-split)] max-[800px]:grid-cols-1${c.className}`,style:{...c.style,"--sf-events-split":te},children:[e(A,{post:l[0],href:l[0].href,scaffold:f,layout:"cover",darken:Q??pe,darkenStyle:fe,placement:de},`${l[0].slug}-0`),e("div",{className:`grid auto-rows-min${c.className}`,style:c.style,children:l.slice(1).map((s,i)=>e(A,{post:s,href:s.href,scaffold:f,showCover:q},`${s.slug}-${i+1}`))})]}):e("div",{className:`${T} sf-card-grid grid${c.className} ${D}`,style:c.style,children:u.map((s,i)=>e(A,{post:s,href:s.href,scaffold:f},`${s.slug}-${i}`))})]})})}export{$ as EVENTS_FEATURED_WIDTH,Me as EVENTS_LAYOUTS,K as EVENTS_LAYOUT_COUNT,Ie as EVENTS_LAYOUT_FALLBACK,Y as EVENTS_LAYOUT_FEATURED,j as EVENTS_LAYOUT_PORTRAIT,x as EVENTS_LAYOUT_SPREAD,B as EVENTS_LAYOUT_TABS,ie as EVENTS_PHOTO_LAYOUTS,_e as default,ue as matchesName};
@@ -0,0 +1,14 @@
1
+ import type { FinishSwatch } from "./useFinishSelection.js";
2
+ interface Props {
3
+ finishes: FinishSwatch[];
4
+ availability: boolean[];
5
+ selectedIdx: number;
6
+ hoverIdx: number | null;
7
+ activeFinish: FinishSwatch | undefined;
8
+ onSelect: (i: number) => void;
9
+ onHover: (i: number | null) => void;
10
+ showLabel?: boolean;
11
+ className?: string;
12
+ }
13
+ export default function FinishSwatches({ finishes, availability, selectedIdx, hoverIdx, activeFinish, onSelect, onHover, showLabel, className, }: Props): import("react").JSX.Element;
14
+ export {};
@@ -0,0 +1 @@
1
+ "use client";import{jsx as t,jsxs as d}from"react/jsx-runtime";function x({finishes:c,availability:f,selectedIdx:a,hoverIdx:s,activeFinish:i,onSelect:u,onHover:r,showLabel:g=!0,className:m}){return d("div",{className:["mt-4",m].filter(Boolean).join(" "),children:[t("div",{className:"flex flex-wrap items-center gap-2",onMouseLeave:()=>r(null),onClick:e=>e.preventDefault(),children:c.map((e,n)=>{if(!f[n])return null;const l=n===a,p=s===n&&s!==a;return t("button",{type:"button",title:e.name,"aria-label":e.name,"aria-pressed":l,onMouseEnter:()=>r(n),onFocus:()=>r(n),onBlur:()=>r(null),onClick:o=>{o.preventDefault(),o.stopPropagation(),u(n)},className:["h-4 w-4 shrink-0 rounded-full transition-all",l?"ring-2 ring-accent ring-offset-2 ring-offset-surface":p?"ring-1 ring-fg ring-offset-2 ring-offset-surface":"ring-1 ring-fg/30 ring-offset-1 ring-offset-surface"].join(" "),style:{background:e.color,border:"1px solid var(--swatch-border)"}},e.name)})}),g&&i&&t("div",{className:"mt-2 truncate font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:i.name})]})}export{x as default};
@@ -0,0 +1,17 @@
1
+ import type { FitmentRow } from "../lib/wheels/fitments.js";
2
+ import type { FieldUsageAnswer } from "../lib/content/field-usage.js";
3
+ export interface FitmentTableProps {
4
+ num?: string;
5
+ title?: string;
6
+ description?: string;
7
+ rows?: FitmentRow[];
8
+ showFilter?: boolean;
9
+ tooltipDefaultOn?: boolean;
10
+ footnote?: string;
11
+ footnoteLinkText?: string;
12
+ footnoteLinkHref?: string;
13
+ editing?: boolean;
14
+ omitHead?: boolean;
15
+ fieldUsage?: readonly FieldUsageAnswer[];
16
+ }
17
+ export default function FitmentTable({ num, title, description, rows, showFilter, tooltipDefaultOn, footnote, footnoteLinkText, footnoteLinkHref, editing, omitHead, fieldUsage, }: FitmentTableProps): import("react").JSX.Element | null;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as t,jsxs as l,Fragment as q}from"react/jsx-runtime";import z from"./SectionBand.js";import{useEffect as D,useState as C}from"react";import F from"efficient-web-builder/render/components/SectionHeader";import J from"./SectionFootnote.js";import{renderGold as u,renderHeadline as _}from"efficient-web-builder/render/components/goldPhrases";import M from"./fitment/FitmentRowFit.js";import{useVehicleFit as Q}from"./fitment/useVehicleFit.js";import{fitmentRowAnswer as U}from"../lib/wheels/fitment-row-fit.js";import{fitmentColumns as Y}from"../lib/wheels/fitment-columns.js";import{say as A}from"efficient-web-builder/format/lib/editor-words";const a={body:"text-[length:var(--size-body,12px)]",labelXs:"text-[length:var(--size-label,11px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"},ee=[],te="whitespace-nowrap border-b border-line px-4 py-4",E=`relative cursor-pointer border-2 px-4 py-2 font-mono ${a.labelSmall} font-semibold uppercase tracking-[0.18em] text-fg transition-colors`,T="border-b border-line py-[120px] max-[1100px]:py-20",X="border-b border-line pt-0 pb-[120px] max-[1100px]:pt-0 max-[1100px]:pb-20",j={background:"color-mix(in oklab, var(--accent) 14%, transparent)"},L=(o,i)=>i.map(s=>s.cell(o)).join("|");function ne({num:o,title:i,description:s,rows:R,showFilter:B=!0,tooltipDefaultOn:f=!0,footnote:I,footnoteLinkText:H,footnoteLinkHref:O,editing:w=!1,omitHead:p=!1,fieldUsage:W=ee}){const v=R??[],c=Y(W),[b,y]=C(null),[r,N]=C(f);D(()=>N(f),[f]);const G=Q({editing:w}),k=c.length===0;if(v.length===0||k)return w?l(z,{className:p?X:T,children:[p?null:t(F,{num:o!=null?u(o):void 0,title:i!=null?_(i,!1):void 0,description:s!=null?u(s):void 0,accent:!0}),t("p",{className:`border-t border-line py-6 font-mono ${a.labelLarge} uppercase tracking-[0.18em] text-fg-dim`,children:k?A("Every fitment column is hidden in Product Types — show one to draw this table."):A("No fitment data for this wheel — pick a wheel with fitment specs.")})]}):null;const S=new Set,h=v.filter(e=>{const n=L(e,c);return S.has(n)?!1:(S.add(n),!0)}),x=Array.from(new Set(h.map(e=>e.diameter))).sort((e,n)=>e-n),d=b!==null&&x.includes(b)?b:null,g=d===null?h:h.filter(e=>e.diameter===d),K=B&&x.length>1,P=e=>{if(e===0)return!1;const n=g[e-1],m=g[e];return n.diameter!==m.diameter||n.width!==m.width};return l(z,{className:p?X:T,children:[p?null:t(F,{num:o!=null?u(o):void 0,title:i!=null?_(i,!1):void 0,description:s!=null?u(s):void 0,accent:!0}),l("div",{className:"mb-6 flex flex-wrap items-center gap-x-2 gap-y-3",children:[K&&l(q,{children:[t("span",{className:`mr-2 font-mono ${a.labelSmall} uppercase tracking-[0.24em] text-fg-dim max-[720px]:mr-0 max-[720px]:mb-1 max-[720px]:w-full`,children:"Filter by size:"}),l("button",{type:"button",onClick:()=>y(null),className:`${E} ${d===null?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"}`,style:d===null?j:void 0,children:[d===null&&t("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),"All"]}),x.map(e=>{const n=e===d;return l("button",{type:"button",onClick:()=>y(n?null:e),className:`${E} ${n?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"}`,style:n?j:void 0,children:[n&&t("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e,'"']},e)})]}),l("button",{type:"button",onClick:()=>N(e=>!e),"aria-pressed":r,"aria-label":r?"Hide vehicle tooltip":"Show vehicle tooltip",className:`ml-auto inline-flex items-center gap-3 font-mono ${a.labelSmall} uppercase tracking-[0.24em] text-fg-dim transition-colors hover:text-fg max-[720px]:hidden`,children:[t("span",{children:"Vehicle tooltip"}),t("span",{className:`relative inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 transition-colors ${r?"border-accent":"border-fg-dim/50"}`,style:r?{background:"color-mix(in oklab, var(--accent) 30%, transparent)"}:void 0,"aria-hidden":!0,children:t("span",{className:`block h-3 w-3 rounded-full transition-transform ${r?"translate-x-[18px] bg-accent":"translate-x-[2px] bg-fg-dim"}`})}),t("span",{className:r?"text-accent":"text-fg-dim",children:r?"On":"Off"})]})]}),t("div",{className:"-mx-1 overflow-x-auto",children:l("table",{className:`w-full border-collapse font-mono ${a.labelXl} tracking-[0.06em] text-fg`,children:[t("thead",{children:t("tr",{children:c.map(({header:e},n)=>t("th",{className:`whitespace-nowrap border-b border-line bg-surface px-4 py-4 text-left ${a.body} font-normal uppercase tracking-[0.22em] text-fg-dim`,children:e},n))})}),t("tbody",{children:g.map((e,n)=>t("tr",{className:`group transition-colors hover:[&>td]:bg-surface ${P(n)?"[&>td]:border-t [&>td]:border-line":""}`,children:c.map((m,V)=>{const $=V===c.length-1,Z=m.fieldKey==="diameter";return l("td",{className:`${$?"relative ":""}${te}${Z?" text-accent":""}`,children:[m.cell(e),$&&r&&t("span",{role:"tooltip",className:`pointer-events-none absolute top-1/2 right-0 z-20 hidden w-[520px] -translate-y-1/2 whitespace-normal bg-[var(--tooltip-bg)] px-3 py-2 text-right font-mono ${a.labelXs} normal-case tracking-[0.12em] text-fg shadow-lg group-hover:block max-[720px]:!hidden`,children:t(M,{answer:U(e,G)})})]},m.fieldKey)})},L(e,c)))})]})}),t(J,{text:I,linkText:H,linkHref:O})]})}export{ne as default};
@@ -0,0 +1,6 @@
1
+ export interface FooterDividerProps {
2
+ thickness?: number;
3
+ lengthPct?: number;
4
+ hideOnMobile?: boolean;
5
+ }
6
+ export default function FooterDivider({ thickness, lengthPct, hideOnMobile, }: FooterDividerProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";function s({thickness:i=1,lengthPct:l=100,hideOnMobile:a=!1}){return e("div",{className:`col-span-full w-full basis-full ${a?"max-[800px]:hidden":""}`,"aria-hidden":"true",children:e("div",{className:"bg-line",style:{height:`${i}px`,width:`${l}%`}})})}export{s as default};
@@ -0,0 +1,6 @@
1
+ export interface FooterEmailSignupProps {
2
+ heading?: string;
3
+ placeholder?: string;
4
+ buttonLabel?: string;
5
+ }
6
+ export default function FooterEmailSignup({ heading, placeholder, buttonLabel, }: FooterEmailSignupProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as r,jsxs as a}from"react/jsx-runtime";import{useState as l}from"react";import{stripMarkup as p}from"efficient-web-builder/format/lib/markup";import{NEWSLETTER_SOURCE as c}from"../lib/newsletter-signup.js";import{useSubscribePopup as u}from"./SubscribePopupContext.js";import{renderChrome as f,renderHeadline as x}from"efficient-web-builder/render/components/goldPhrases";function d({heading:e,placeholder:i="Email address",buttonLabel:s="Subscribe"}){const{open:m}=u(),[o,n]=l("");return a("div",{className:"w-full min-w-0",children:[e?r("h4",{className:"mb-3 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",children:x(e,!1)}):null,a("form",{className:"flex max-w-[320px] flex-wrap items-stretch gap-2",onSubmit:t=>{t.preventDefault(),m({email:o.trim(),source:c.footerSignup})},children:[r("input",{type:"email",placeholder:i,value:o,onChange:t=>n(t.target.value),className:"w-0 min-w-[7rem] flex-1 border border-line bg-transparent px-3 py-2 text-[13px] text-fg placeholder:text-fg-dim/70 focus:border-accent focus:outline-none","aria-label":p(e??"")||"Email address"}),r("button",{type:"submit",className:"shrink-0 border border-btn bg-btn px-4 py-2 text-[13px] font-medium text-btn-ink transition-opacity hover:opacity-90",children:f(s)})]})]})}export{d as default};
@@ -0,0 +1,8 @@
1
+ import type { SlotComponent } from "efficient-easel/blocks";
2
+ export interface FooterGroupProps {
3
+ direction?: "vertical" | "horizontal";
4
+ gap?: number | string;
5
+ align?: "start" | "center" | "end";
6
+ content: SlotComponent;
7
+ }
8
+ export default function FooterGroup({ direction, gap, align, content: Content, }: FooterGroupProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{containerGapProps as a}from"efficient-web-builder/format/lib/content/container-gap";const l={start:"items-start",center:"items-center",end:"items-end"};function i({direction:t="vertical",gap:r,align:s="start",content:n}){const e=a("FooterGroup",r,t==="horizontal"?"inline":"block");return o("div",{className:"min-w-0",children:o(n,{className:`flex ${t==="horizontal"?"flex-row flex-wrap":"flex-col"} ${l[s]}${e.className}`,style:e.style,minEmptyHeight:80})})}export{i as default};
@@ -0,0 +1,13 @@
1
+ export interface FooterLogoProps {
2
+ tagline?: string;
3
+ widthPct?: number;
4
+ align?: "left" | "center" | "right";
5
+ reverse?: boolean;
6
+ color?: string | null;
7
+ padTop?: number;
8
+ padRight?: number;
9
+ padBottom?: number;
10
+ padLeft?: number;
11
+ editing?: boolean;
12
+ }
13
+ export default function FooterLogo({ tagline, widthPct, align, reverse, color, padTop, padRight, padBottom, padLeft, editing, }: FooterLogoProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as e,jsxs as k}from"react/jsx-runtime";import w from"next/link";import L,{FOOTER_LOGO_PX as N,WORDMARK_FIT_FLOOR_PX as O}from"efficient-web-builder/render/components/Logo";import{useSiteLogo as _}from"efficient-web-builder/render/components/SiteLogoContext";import{renderGold as v}from"efficient-web-builder/render/components/goldPhrases";import{say as F}from"efficient-web-builder/format/lib/editor-words";const P={left:"items-start text-left",center:"items-center text-center",right:"items-end text-right"};function j({tagline:r,widthPct:a=100,align:l="left",reverse:m=!0,color:d=null,padTop:i=0,padRight:o=0,padBottom:s=0,padLeft:n=0,editing:c=!1}){const{src:x,reversedSrc:f,inkIsDark:p,wordmark:g,siteName:t}=_(),u=Math.round(N*(a/100)),h={...i?{paddingTop:i}:{},...o?{paddingRight:o}:{},...s?{paddingBottom:s}:{},...n?{paddingLeft:n}:{}};return k("div",{className:`flex min-w-0 flex-col ${P[l]} [container-type:inline-size]`,style:h,children:[e(w,{href:"/","aria-label":t?`${t} home`:"Home",className:"inline-flex max-w-full overflow-x-clip",children:e(L,{variant:"footer",sizePx:u,src:x,reverse:m,color:d,reversedSrc:f,inkIsDark:p,wordmark:g,siteName:t,fitWordmarkToContainer:!0,fitFloorPx:O})}),r?e("p",{className:"mt-4 max-w-[280px] text-[13px] leading-[1.5] text-fg-dim",children:v(r)}):c?e("p",{className:"mt-4 max-w-[280px] text-[13px] italic leading-[1.5] text-fg-dim/60",children:F("Add a short brand tagline →")}):null]})}export{j as default};
@@ -0,0 +1,25 @@
1
+ export interface FooterMenuItem {
2
+ label: string;
3
+ url: string;
4
+ dropdown_items?: {
5
+ label: string;
6
+ url: string;
7
+ }[];
8
+ }
9
+ export interface FooterMenuValue {
10
+ id?: string;
11
+ handle?: string;
12
+ name?: string;
13
+ items?: FooterMenuItem[];
14
+ }
15
+ export interface FooterMenuProps {
16
+ menu?: FooterMenuValue | null;
17
+ heading?: string;
18
+ accordionMobile?: boolean;
19
+ showDividers?: boolean;
20
+ editing?: boolean;
21
+ layout?: "column" | "row";
22
+ linkAlign?: unknown;
23
+ linkRange?: unknown;
24
+ }
25
+ export default function FooterMenu({ menu, heading, accordionMobile, showDividers, editing, layout, linkAlign, linkRange, }: FooterMenuProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import{useCallback as P,useEffect as F,useRef as W,useState as O}from"react";import S from"next/link";import G from"./CountrySelect.js";import z from"./HeaderNavItem.js";import B from"./ThemeToggle.js";import{renderChrome as _,renderGold as v}from"efficient-web-builder/render/components/goldPhrases";import{UTIL_WORDS as q}from"./HeaderTools.js";import A from"./MenuPlaceholderLabel.js";import{usePhoneMenuTools as K}from"efficient-web-builder/render/components/PhoneMenuTools";import{useSearch as Y}from"./SearchContext.js";import{useModalDismiss as J}from"./useModalDismiss.js";import Q from"efficient-easel/screen/components/UiIcon";import{usePreviewMenus as V}from"./PreviewMenusContext.js";import{FOOTER_MENU_PLACEHOLDER_COUNT as T,FOOTER_MENU_PLACEHOLDER_HEADING as X,FOOTER_MENU_PLACEHOLDER_HINT as Z}from"../lib/content/menu-placeholder.js";import{say as M}from"efficient-web-builder/format/lib/editor-words";import{UNDER_HEADER_SHEET_CLASS as ee}from"../lib/content/header-bar.js";import{isLabelOnlyMenuUrl as ne}from"../lib/menu-link.js";import{isMenuOrphaned as le}from"../lib/menu-source.js";import{menuLinkInRange as re,resolveMenuLinkAlign as te,resolveMenuLinkRange as ae}from"../lib/content/menu-row.js";const oe=n=>/^https?:\/\//i.test(n),I="flex list-none flex-col gap-3 text-[13px]",R="mb-4 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",D="text-[12px] italic text-fg-dim/70",H=(n,t)=>n&&t>0?"border-t border-line pt-3":"";function ie({showDividers:n}){return e("ul",{className:I,children:Array.from({length:T},(t,r)=>e("li",{className:`text-fg ${H(n,r)}`,children:e(A,{})},r))})}function k({item:n,label:t,link:r,onNavigate:o}){return ne(n.url)?e("span",{className:t,children:v(n.label)}):oe(n.url)?e("a",{href:n.url,target:"_blank",rel:"noopener noreferrer",className:r,onClick:o,children:v(n.label)}):e(S,{href:n.url,className:r,onClick:o,children:v(n.label)})}function j({items:n,showDividers:t}){return e("ul",{className:I,children:n.map((r,o)=>e("li",{className:H(t,o),children:e(k,{item:r,label:"text-fg",link:"text-fg transition-colors hover:text-accent"})},`${r.label}-${o}`))})}const $="opacity-80 transition-opacity hover:opacity-100";function se({items:n,label:t,editing:r,linkAlign:o,linkRange:N}){const y=te(o),u=ae(N),C=!!u&&n!==null&&u.to!==void 0&&u.to<n.length,[h,L]=O(!1),f=W(null),i=K(),{open:c}=Y(),E=t||"Menu",m=P(()=>L(!1),[]);J({active:h,onDismiss:m,scopeRef:f});const b=(l,s,x)=>n===null?Array.from({length:T},(d,p)=>e("li",{className:s,children:e(A,{})},p)):n.map((d,p)=>e("li",{className:s,children:e(k,{item:d,label:l,link:`${l} ${$}`,onNavigate:x})},`${d.label}-${p}`)),g=n===null?b("",""):n.map((l,s)=>{const x=l.dropdown_items??[],d=u&&!re(u,s+1)?{"data-menu-out":""}:null;return x.length?e("li",{className:"",...d,children:e(z,{item:{href:l.url,label:v(l.label),plainLabel:l.label,dropdownItems:x.map(p=>({href:p.url,label:v(p.label),plainLabel:p.label}))}})},`${l.label}-${s}`):e("li",{className:"",...d,children:e(k,{item:l,label:"",link:` ${$}`})},`${l.label}-${s}`)}),U=n===null?b("","flex min-h-14 items-center border-b border-line",m):n.flatMap((l,s)=>[e("li",{className:"flex min-h-14 items-center border-b border-line",children:e(k,{item:l,label:"",link:` ${$}`,onNavigate:m})},`${l.label}-${s}`),...(l.dropdown_items??[]).map((x,d)=>e("li",{className:"flex min-h-12 items-center border-b border-line pl-5 text-[14px]",children:e(k,{item:x,label:"",link:` ${$}`,onNavigate:m})},`${l.label}-${s}-${d}`))]),w=i&&(i.search||i.region||i.account||i.theme)?i:null;return a("nav",{ref:f,"aria-label":E,"data-menu-row":"",...y?{"data-menu-align":y}:null,...C?{"data-menu-part":"lead"}:null,className:"min-w-0",children:[e("ul",{className:"m-0 hidden list-none flex-wrap items-center gap-x-8 gap-y-2 p-0 font-mono text-[13px] uppercase tracking-[0.18em] min-[801px]:flex",children:g}),e("button",{type:"button",className:"flex h-11 w-11 items-center justify-center min-[801px]:hidden","aria-expanded":h,"aria-label":h?"Close the menu":"Open the menu",onClick:()=>L(l=>!l),children:e("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round","aria-hidden":"true",children:h?e("path",{d:"M6 6l12 12M18 6L6 18"}):e("path",{d:"M4 7h16M4 12h16M4 17h16"})})}),h?a("div",{role:"dialog","aria-label":E,className:`${ee} z-[60] flex flex-col overflow-y-auto bg-bg text-fg min-[801px]:hidden`,children:[e("ul",{className:"m-0 flex list-none flex-col px-5 py-3 font-mono text-[16px] uppercase tracking-[0.18em]",children:U}),w?a("div",{className:"mt-auto flex flex-col gap-4 border-t border-line bg-surface p-5",children:[w.search?a("button",{type:"button",className:"flex h-12 items-center gap-3 border border-line bg-bg px-4 text-left text-[15px]",onClick:r?void 0:()=>{m(),c()},children:[e(Q,{name:"search",size:18,strokeWidth:1.6,rounded:!0}),q.search]}):null,w.account?a("div",{className:"flex items-center justify-between",children:[e("span",{className:"mono-eyebrow text-fg-dim",children:"Account"}),e(S,{href:"/account",onClick:m,className:"mono-eyebrow underline",children:"Your account"})]}):null,w.region?a("div",{className:"flex items-center justify-between",children:[e("span",{className:"mono-eyebrow text-fg-dim",children:"Region"}),e(G,{})]}):null,w.theme?a("div",{className:"flex items-center justify-between",children:[e("span",{className:"mono-eyebrow text-fg-dim",children:"Theme"}),e(B,{})]}):null]}):null]}):null]})}function ce({menu:n,heading:t,accordionMobile:r=!1,showDividers:o=!1,editing:N=!1,layout:y="column",linkAlign:u,linkRange:C}){const{live:h,ready:L}=V(),f=le({id:n?.id,handle:n?.handle,editing:N,ready:L,live:h}),i=f?[]:n?.items??[],c=t||n?.name||"",[E,m]=O(!1);return F(()=>{if(!r)return;const b=window.matchMedia("(max-width: 800px)"),g=()=>m(b.matches);return g(),b.addEventListener("change",g),()=>b.removeEventListener("change",g)},[r]),y==="row"?e(se,{items:f?null:i,label:c,editing:N,linkAlign:u,linkRange:C}):f?a("div",{className:"min-w-0",children:[e("h4",{className:R,children:t?_(t):M(X)}),e(ie,{showDividers:o}),e("p",{className:`mt-3 ${D}`,children:M(Z)})]}):i.length===0?a("div",{className:"min-w-0",children:[c?e("h4",{className:R,children:_(c)}):null,N?e("p",{className:D,children:M("This menu has no links yet — add them in {place}.",{place:M("Storefront → Menus")})}):null]}):r&&E?a("details",{className:"min-w-0 border-b border-line",children:[a("summary",{className:"flex cursor-pointer list-none items-center justify-between py-3 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",children:[_(c),e("span",{"aria-hidden":!0,children:"+"})]}),e("div",{className:"pb-3",children:e(j,{items:i,showDividers:o})})]}):a("div",{className:"min-w-0",children:[c?e("h4",{className:R,children:_(c)}):null,e(j,{items:i,showDividers:o})]})}export{ce as default};
@@ -0,0 +1,11 @@
1
+ import type { SlotComponent } from "efficient-easel/blocks";
2
+ import { type FooterColumns, type LogoFill } from "efficient-web-builder/format/lib/content/footer";
3
+ export interface FooterSectionProps {
4
+ blocks: SlotComponent;
5
+ editing?: boolean;
6
+ width?: "page" | "full";
7
+ columns?: number | FooterColumns;
8
+ logoFill?: LogoFill;
9
+ logoRowFill?: LogoFill;
10
+ }
11
+ export default function FooterSection({ blocks: Blocks, editing, width, columns, logoFill, logoRowFill, }: FooterSectionProps): import("react").JSX.Element | null;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as p,jsxs as P}from"react/jsx-runtime";import{useContext as G,useEffect as I,useRef as N,useState as F}from"react";import{PublishedFooterContext as U}from"efficient-web-builder/render/components/PublishedFooterContext";import{usePreviewDevice as q}from"efficient-easel/screen/components/PreviewDeviceContext";import H from"./LegalLine.js";import{LOGO_FILL_DEFAULT as K,LOGO_ROW_FILL_DEFAULT as J,normalizeFooterColumns as Q}from"efficient-web-builder/format/lib/content/footer";import{viewTierForWidth as V}from"efficient-easel/screen/lib/content/view-tiers";import{chromeWidthStyle as X,resolveChromeWidth as Y}from"efficient-web-builder/format/lib/content/page-width";const k={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6"},Z={1:"min-[720px]:grid-cols-1",2:"min-[720px]:grid-cols-2",3:"min-[720px]:grid-cols-3",4:"min-[720px]:grid-cols-4",5:"min-[720px]:grid-cols-5",6:"min-[720px]:grid-cols-6"},ee={1:"min-[1100px]:grid-cols-1",2:"min-[1100px]:grid-cols-2",3:"min-[1100px]:grid-cols-3",4:"min-[1100px]:grid-cols-4",5:"min-[1100px]:grid-cols-5",6:"min-[1100px]:grid-cols-6"};function oe({blocks:O,editing:e=!1,width:S,columns:_,logoFill:E,logoRowFill:R}){const l=G(U),{desktop:i,tablet:c,mobile:n}=Q(_),{desktop:d,tablet:a,mobile:u}={...K,...E},{desktop:f,tablet:g,mobile:b}={...J,...R},t=q(),D=e?k[t==="desktop"?i:t==="tablet"?c:n]:`${k[n]} ${Z[c]} ${ee[i]}`,x=N(null),[y,M]=F(1),[W,$]=F(!1);if(I(()=>{if(!e&&!l)return;const s=x.current;if(!s)return;const h=()=>{const o=s.querySelector(".footer-block-grid");if(!o)return;const r=e?t:V(window.innerWidth),v=r==="desktop"?f:r==="tablet"?g:b;$(v);const z=r==="desktop"?d:r==="tablet"?a:u,C=getComputedStyle(o).gridTemplateColumns.split(" ").filter(Boolean).length-1,B=Math.max(o.childElementCount-1,0);M(!v&&z&&C>=1?Math.max(Math.ceil(B/C),1):1)};let m;const L=()=>{clearTimeout(m),m=setTimeout(h,0)},A=[0,80,250,600].map(o=>setTimeout(h,o)),w=new MutationObserver(L);w.observe(s,{childList:!0,subtree:!0});const T=new ResizeObserver(L);return T.observe(s),()=>{clearTimeout(m),A.forEach(clearTimeout),w.disconnect(),T.disconnect()}},[i,c,n,e,l,t,d,a,u,f,g,b]),!e&&!l)return null;const j=X(Y(S))??void 0;return p("footer",{ref:x,className:`${e?"sf-theme-surfaces text-fg ":""}border-t border-line bg-bg px-[var(--sf-site-gutter,40px)] pb-10 pt-20 max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-14`,style:{"--footer-logo-rows":y,"--footer-logo-col":W?"1 / -1":"1"},children:P("div",{style:j,children:[p(O,{className:`footer-block-grid mb-[60px] grid items-start gap-x-10 gap-y-12 ${D}`,minEmptyHeight:160}),p(H,{})]})})}export{oe as default};
@@ -0,0 +1,16 @@
1
+ import { type SocialIconStyle } from "efficient-web-builder/render/components/socialIcons";
2
+ export type SocialIconSize = "small" | "medium" | "large";
3
+ export type SocialAlign = "start" | "center" | "end";
4
+ export declare const SOCIAL_ICON_PX: Record<SocialIconSize, number>;
5
+ export declare const SOCIAL_GAP_MIN = 0;
6
+ export declare const SOCIAL_GAP_MAX = 32;
7
+ export declare const SOCIAL_GAP_STEP = 2;
8
+ export declare const SOCIAL_GAP_DEFAULT = 0;
9
+ export interface FooterSocialProps {
10
+ iconStyle?: SocialIconStyle;
11
+ iconSize?: SocialIconSize;
12
+ align?: SocialAlign;
13
+ gap?: number;
14
+ editing?: boolean;
15
+ }
16
+ export default function FooterSocial({ iconStyle, iconSize, align, gap, editing, }: FooterSocialProps): import("react").JSX.Element | null;
@@ -0,0 +1 @@
1
+ "use client";import{jsx as e}from"react/jsx-runtime";import{useSiteSocialLinks as f}from"./SiteRecordContext.js";import{DEFAULT_SOCIAL_ICON_STYLE as S,SocialMark as _}from"efficient-web-builder/render/components/socialIcons";import{normalizeSocialLinks as A,socialLinksToDraw as b}from"efficient-web-builder/format/lib/content/social-links";import{say as h}from"efficient-web-builder/format/lib/editor-words";const a={small:16,medium:20,large:24},L=0,k=32,P=2,I=0,s={start:"justify-start",center:"justify-center",end:"justify-end"};function y({iconStyle:n=S,iconSize:l="medium",align:c="start",gap:t=I,editing:m=!1}){const p=f(),i=b(A(p));if(i.length===0)return m?e("div",{"data-social-placeholder":"",className:"rounded border border-dashed border-line px-3 py-2 text-[13px] text-fg-dim",children:h("Add your social links")}):null;const o=a[l]??a.medium,d={gap:Math.min(k,Math.max(L,Number.isFinite(t)?t:0)),"--social-mark":`${o}px`};return e("ul",{"data-social-block":"","aria-label":"Social media",className:`flex list-none flex-wrap p-0 [margin:calc((44px-var(--social-mark))/-2)] max-[800px]:[margin:calc((40px-var(--social-mark))/-2)] ${s[c]??s.start}`,style:d,children:i.map(({platform:r,href:u,label:x})=>e("li",{children:e("a",{href:u,target:"_blank",rel:"noopener noreferrer","aria-label":`${x} (opens in a new tab)`,className:"grid h-11 w-11 place-items-center rounded text-fg transition-colors hover:text-accent focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-4px] focus-visible:outline-current motion-reduce:transition-none max-[800px]:h-10 max-[800px]:w-10",children:e(_,{platform:r,iconStyle:n,size:o})})},r))})}export{I as SOCIAL_GAP_DEFAULT,k as SOCIAL_GAP_MAX,L as SOCIAL_GAP_MIN,P as SOCIAL_GAP_STEP,a as SOCIAL_ICON_PX,y as default};