efficient-storefront-blocks 0.59.0 → 0.61.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 (268) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +2 -1
  3. package/dist/chunks/{EditorPreviewCheckout-RH4YMFWR.js → EditorPreviewCheckout-55ERZEPV.js} +1 -1
  4. package/dist/chunks/{SiteEditorProvider-CDMOH46L.js → SiteEditorProvider-XF374NLZ.js} +1 -1
  5. package/dist/chunks/chunk-FCCEAXMM.js +1 -0
  6. package/dist/chunks/chunk-VT346MLP.js +1 -0
  7. package/dist/chunks/chunk-VVQ7KFQO.js +1 -0
  8. package/dist/chunks/chunk-YNI65Q6Z.js +250 -0
  9. package/dist/chunks/{fitment-data-NSCUVNS2.js → fitment-data-RORHKBID.js} +1 -1
  10. package/dist/editor/lib/efficient-backend.js +1 -1
  11. package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.js +1 -1
  12. package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.js +1 -1
  13. package/dist/editor/lib/puck/blocks/commerce/Collections/fields.js +1 -1
  14. package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.js +1 -1
  15. package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.js +1 -1
  16. package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.js +1 -1
  17. package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.js +1 -1
  18. package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.js +1 -1
  19. package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.js +1 -1
  20. package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.js +1 -1
  21. package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.js +1 -1
  22. package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.js +1 -1
  23. package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.js +1 -1
  24. package/dist/editor/lib/puck/blocks/commerce/index.d.ts +1 -1
  25. package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.js +1 -1
  26. package/dist/editor/lib/puck/blocks/service/Events/fields.js +1 -1
  27. package/dist/editor/lib/puck/blocks/service/Footer/fields.js +1 -1
  28. package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.js +1 -1
  29. package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.js +1 -1
  30. package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.js +1 -1
  31. package/dist/editor/lib/puck/blocks/service/Reviews/fields.js +1 -1
  32. package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.js +1 -1
  33. package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.js +1 -1
  34. package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.js +1 -1
  35. package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.js +1 -1
  36. package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.js +1 -1
  37. package/dist/editor/lib/puck/config.js +1 -1
  38. package/dist/editor.css +1 -1
  39. package/dist/fitment.d.ts +56 -0
  40. package/dist/fitment.js +1 -0
  41. package/dist/index.d.ts +60 -12
  42. package/dist/index.js +202 -214
  43. package/dist/links.d.ts +1 -1
  44. package/dist/links.js +1 -1
  45. package/dist/render/built-with.json +1 -1
  46. package/dist/render/components/FitmentTable.js +1 -1
  47. package/dist/render/components/FooterSocial.d.ts +0 -4
  48. package/dist/render/components/FooterSocial.js +1 -1
  49. package/dist/render/components/PopupFrame.d.ts +11 -0
  50. package/dist/render/components/PopupFrame.js +1 -0
  51. package/dist/render/components/ProductGridSection.d.ts +0 -1
  52. package/dist/render/components/ProductGridSection.js +1 -1
  53. package/dist/render/components/SubmitBuild.d.ts +0 -7
  54. package/dist/render/components/SubmitBuild.js +1 -1
  55. package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +2 -1
  56. package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
  57. package/dist/render/components/wheels-plp/usePlpFiltersInUrl.d.ts +2 -1
  58. package/dist/render/components/wheels-plp/usePlpFiltersInUrl.js +1 -1
  59. package/dist/render/lib/api/index.d.ts +9 -0
  60. package/dist/render/lib/api/index.js +1 -1
  61. package/dist/render/lib/content/field-usage.d.ts +0 -1
  62. package/dist/render/lib/content/field-usage.js +1 -1
  63. package/dist/render/lib/puck/blocks/commerce/AccountBlock/meta.d.ts +2 -0
  64. package/dist/render/lib/puck/blocks/commerce/AccountBlock/meta.js +1 -0
  65. package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.js +1 -1
  66. package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/meta.d.ts +6 -0
  67. package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/meta.js +1 -0
  68. package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.d.ts +0 -4
  69. package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +1 -1
  70. package/dist/render/lib/puck/blocks/commerce/BundleOffer/meta.d.ts +2 -0
  71. package/dist/render/lib/puck/blocks/commerce/BundleOffer/meta.js +1 -0
  72. package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +1 -1
  73. package/dist/render/lib/puck/blocks/commerce/CartBlock/meta.d.ts +2 -0
  74. package/dist/render/lib/puck/blocks/commerce/CartBlock/meta.js +1 -0
  75. package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +1 -1
  76. package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/meta.d.ts +2 -0
  77. package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/meta.js +1 -0
  78. package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +1 -1
  79. package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/meta.d.ts +6 -0
  80. package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/meta.js +1 -0
  81. package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.d.ts +0 -4
  82. package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +1 -1
  83. package/dist/render/lib/puck/blocks/commerce/CollectionCard/meta.d.ts +2 -0
  84. package/dist/render/lib/puck/blocks/commerce/CollectionCard/meta.js +1 -0
  85. package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +1 -1
  86. package/dist/render/lib/puck/blocks/commerce/Collections/meta.d.ts +7 -0
  87. package/dist/render/lib/puck/blocks/commerce/Collections/meta.js +1 -0
  88. package/dist/render/lib/puck/blocks/commerce/Collections/render.d.ts +0 -5
  89. package/dist/render/lib/puck/blocks/commerce/Collections/render.js +1 -1
  90. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/meta.d.ts +9 -0
  91. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/meta.js +1 -0
  92. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.d.ts +0 -7
  93. package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +1 -1
  94. package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/meta.d.ts +2 -0
  95. package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/meta.js +1 -0
  96. package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.js +1 -1
  97. package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/meta.d.ts +6 -0
  98. package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/meta.js +1 -0
  99. package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.d.ts +0 -4
  100. package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +1 -1
  101. package/dist/render/lib/puck/blocks/commerce/DetailRows/meta.d.ts +9 -0
  102. package/dist/render/lib/puck/blocks/commerce/DetailRows/meta.js +1 -0
  103. package/dist/render/lib/puck/blocks/commerce/DetailRows/render.d.ts +0 -7
  104. package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +1 -1
  105. package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/meta.d.ts +2 -0
  106. package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/meta.js +1 -0
  107. package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +1 -1
  108. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/meta.d.ts +8 -0
  109. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/meta.js +1 -0
  110. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.d.ts +0 -6
  111. package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +1 -1
  112. package/dist/render/lib/puck/blocks/commerce/FitmentTable/meta.d.ts +9 -0
  113. package/dist/render/lib/puck/blocks/commerce/FitmentTable/meta.js +1 -0
  114. package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.d.ts +0 -7
  115. package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +1 -1
  116. package/dist/render/lib/puck/blocks/commerce/Gallery/meta.d.ts +14 -0
  117. package/dist/render/lib/puck/blocks/commerce/Gallery/meta.js +1 -0
  118. package/dist/render/lib/puck/blocks/commerce/Gallery/render.d.ts +0 -12
  119. package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +1 -1
  120. package/dist/render/lib/puck/blocks/commerce/GalleryB/meta.d.ts +13 -0
  121. package/dist/render/lib/puck/blocks/commerce/GalleryB/meta.js +1 -0
  122. package/dist/render/lib/puck/blocks/commerce/GalleryB/render.d.ts +0 -11
  123. package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +1 -1
  124. package/dist/render/lib/puck/blocks/commerce/GalleryItem/meta.d.ts +2 -0
  125. package/dist/render/lib/puck/blocks/commerce/GalleryItem/meta.js +1 -0
  126. package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +1 -1
  127. package/dist/render/lib/puck/blocks/commerce/Header/meta.d.ts +2 -0
  128. package/dist/render/lib/puck/blocks/commerce/Header/meta.js +1 -0
  129. package/dist/render/lib/puck/blocks/commerce/Header/render.js +1 -1
  130. package/dist/render/lib/puck/blocks/commerce/ProductGrid/meta.d.ts +7 -0
  131. package/dist/render/lib/puck/blocks/commerce/ProductGrid/meta.js +1 -0
  132. package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.d.ts +0 -5
  133. package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +1 -1
  134. package/dist/render/lib/puck/blocks/commerce/ProductHero/meta.d.ts +2 -0
  135. package/dist/render/lib/puck/blocks/commerce/ProductHero/meta.js +1 -0
  136. package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +1 -1
  137. package/dist/render/lib/puck/blocks/commerce/ProductRef/meta.d.ts +2 -0
  138. package/dist/render/lib/puck/blocks/commerce/ProductRef/meta.js +1 -0
  139. package/dist/render/lib/puck/blocks/commerce/ProductRef/render.js +1 -1
  140. package/dist/render/lib/puck/blocks/commerce/RelatedProducts/meta.d.ts +6 -0
  141. package/dist/render/lib/puck/blocks/commerce/RelatedProducts/meta.js +1 -0
  142. package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.d.ts +0 -4
  143. package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +1 -1
  144. package/dist/render/lib/puck/blocks/commerce/SearchBlock/meta.d.ts +2 -0
  145. package/dist/render/lib/puck/blocks/commerce/SearchBlock/meta.js +1 -0
  146. package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +1 -1
  147. package/dist/render/lib/puck/blocks/commerce/SpecTable/meta.d.ts +7 -0
  148. package/dist/render/lib/puck/blocks/commerce/SpecTable/meta.js +1 -0
  149. package/dist/render/lib/puck/blocks/commerce/SpecTable/render.d.ts +0 -5
  150. package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +1 -1
  151. package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/meta.d.ts +2 -0
  152. package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/meta.js +1 -0
  153. package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.js +1 -1
  154. package/dist/render/lib/puck/blocks/commerce/TyreFitment/meta.d.ts +2 -0
  155. package/dist/render/lib/puck/blocks/commerce/TyreFitment/meta.js +1 -0
  156. package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +1 -1
  157. package/dist/render/lib/puck/blocks/commerce/TyreSizes/meta.d.ts +2 -0
  158. package/dist/render/lib/puck/blocks/commerce/TyreSizes/meta.js +1 -0
  159. package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +1 -1
  160. package/dist/render/lib/puck/blocks/commerce/metas.d.ts +31 -0
  161. package/dist/render/lib/puck/blocks/commerce/metas.js +1 -0
  162. package/dist/render/lib/puck/blocks/service/AppointmentBooking/meta.d.ts +8 -0
  163. package/dist/render/lib/puck/blocks/service/AppointmentBooking/meta.js +1 -0
  164. package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.d.ts +0 -6
  165. package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +1 -1
  166. package/dist/render/lib/puck/blocks/service/BookingBox/meta.d.ts +2 -0
  167. package/dist/render/lib/puck/blocks/service/BookingBox/meta.js +1 -0
  168. package/dist/render/lib/puck/blocks/service/BookingBox/render.js +1 -1
  169. package/dist/render/lib/puck/blocks/service/ContactRouting/meta.d.ts +2 -0
  170. package/dist/render/lib/puck/blocks/service/ContactRouting/meta.js +1 -0
  171. package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +1 -1
  172. package/dist/render/lib/puck/blocks/service/Events/meta.d.ts +7 -0
  173. package/dist/render/lib/puck/blocks/service/Events/meta.js +1 -0
  174. package/dist/render/lib/puck/blocks/service/Events/render.d.ts +0 -5
  175. package/dist/render/lib/puck/blocks/service/Events/render.js +1 -1
  176. package/dist/render/lib/puck/blocks/service/Footer/meta.d.ts +8 -0
  177. package/dist/render/lib/puck/blocks/service/Footer/meta.js +1 -0
  178. package/dist/render/lib/puck/blocks/service/Footer/render.d.ts +0 -6
  179. package/dist/render/lib/puck/blocks/service/Footer/render.js +1 -1
  180. package/dist/render/lib/puck/blocks/service/FooterDivider/meta.d.ts +2 -0
  181. package/dist/render/lib/puck/blocks/service/FooterDivider/meta.js +1 -0
  182. package/dist/render/lib/puck/blocks/service/FooterDivider/render.js +1 -1
  183. package/dist/render/lib/puck/blocks/service/FooterEmailSignup/meta.d.ts +2 -0
  184. package/dist/render/lib/puck/blocks/service/FooterEmailSignup/meta.js +1 -0
  185. package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +1 -1
  186. package/dist/render/lib/puck/blocks/service/FooterGroup/meta.d.ts +8 -0
  187. package/dist/render/lib/puck/blocks/service/FooterGroup/meta.js +1 -0
  188. package/dist/render/lib/puck/blocks/service/FooterGroup/render.d.ts +0 -6
  189. package/dist/render/lib/puck/blocks/service/FooterGroup/render.js +1 -1
  190. package/dist/render/lib/puck/blocks/service/FooterLogo/meta.d.ts +2 -0
  191. package/dist/render/lib/puck/blocks/service/FooterLogo/meta.js +1 -0
  192. package/dist/render/lib/puck/blocks/service/FooterLogo/render.js +1 -1
  193. package/dist/render/lib/puck/blocks/service/FooterMenu/meta.d.ts +2 -0
  194. package/dist/render/lib/puck/blocks/service/FooterMenu/meta.js +1 -0
  195. package/dist/render/lib/puck/blocks/service/FooterMenu/render.js +1 -1
  196. package/dist/render/lib/puck/blocks/service/FooterSocial/meta.d.ts +2 -0
  197. package/dist/render/lib/puck/blocks/service/FooterSocial/meta.js +1 -0
  198. package/dist/render/lib/puck/blocks/service/FooterSocial/render.js +1 -1
  199. package/dist/render/lib/puck/blocks/service/FooterText/meta.d.ts +2 -0
  200. package/dist/render/lib/puck/blocks/service/FooterText/meta.js +1 -0
  201. package/dist/render/lib/puck/blocks/service/FooterText/render.js +1 -1
  202. package/dist/render/lib/puck/blocks/service/Form/meta.d.ts +2 -0
  203. package/dist/render/lib/puck/blocks/service/Form/meta.js +1 -0
  204. package/dist/render/lib/puck/blocks/service/Form/render.js +1 -1
  205. package/dist/render/lib/puck/blocks/service/LegalLineBlock/meta.d.ts +2 -0
  206. package/dist/render/lib/puck/blocks/service/LegalLineBlock/meta.js +1 -0
  207. package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.js +1 -1
  208. package/dist/render/lib/puck/blocks/service/ReviewForm/meta.d.ts +6 -0
  209. package/dist/render/lib/puck/blocks/service/ReviewForm/meta.js +1 -0
  210. package/dist/render/lib/puck/blocks/service/ReviewForm/render.d.ts +0 -4
  211. package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +1 -1
  212. package/dist/render/lib/puck/blocks/service/Reviews/meta.d.ts +6 -0
  213. package/dist/render/lib/puck/blocks/service/Reviews/meta.js +1 -0
  214. package/dist/render/lib/puck/blocks/service/Reviews/render.d.ts +0 -4
  215. package/dist/render/lib/puck/blocks/service/Reviews/render.js +1 -1
  216. package/dist/render/lib/puck/blocks/service/SiteFooter/meta.d.ts +7 -0
  217. package/dist/render/lib/puck/blocks/service/SiteFooter/meta.js +1 -0
  218. package/dist/render/lib/puck/blocks/service/SiteFooter/render.d.ts +0 -5
  219. package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +1 -1
  220. package/dist/render/lib/puck/blocks/service/SiteHeader/meta.d.ts +7 -0
  221. package/dist/render/lib/puck/blocks/service/SiteHeader/meta.js +1 -0
  222. package/dist/render/lib/puck/blocks/service/SiteHeader/render.d.ts +0 -5
  223. package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +1 -1
  224. package/dist/render/lib/puck/blocks/service/SubmitBox/meta.d.ts +2 -0
  225. package/dist/render/lib/puck/blocks/service/SubmitBox/meta.js +1 -0
  226. package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +1 -1
  227. package/dist/render/lib/puck/blocks/service/SubmitBuild/meta.d.ts +8 -0
  228. package/dist/render/lib/puck/blocks/service/SubmitBuild/meta.js +1 -0
  229. package/dist/render/lib/puck/blocks/service/SubmitBuild/render.d.ts +0 -6
  230. package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +1 -1
  231. package/dist/render/lib/puck/blocks/service/Subscribe/meta.d.ts +2 -0
  232. package/dist/render/lib/puck/blocks/service/Subscribe/meta.js +1 -0
  233. package/dist/render/lib/puck/blocks/service/Subscribe/render.js +1 -1
  234. package/dist/render/lib/puck/blocks/service/SubscribeBlogs/meta.d.ts +17 -0
  235. package/dist/render/lib/puck/blocks/service/SubscribeBlogs/meta.js +1 -0
  236. package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.d.ts +0 -15
  237. package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +1 -1
  238. package/dist/render/lib/puck/blocks/service/metas.d.ts +25 -0
  239. package/dist/render/lib/puck/blocks/service/metas.js +1 -0
  240. package/dist/render/lib/puck/current-product.js +1 -1
  241. package/dist/render/lib/puck/current-record.d.ts +0 -2
  242. package/dist/render/lib/puck/current-record.js +1 -1
  243. package/dist/render/lib/puck/lazy-draws.d.ts +5 -0
  244. package/dist/render/lib/puck/lazy-draws.js +1 -0
  245. package/dist/render/lib/puck/render-config.js +1 -1
  246. package/dist/render/lib/puck/storefront-root.d.ts +1 -0
  247. package/dist/render/lib/puck/storefront-root.js +1 -1
  248. package/dist/render/lib/sections/footer-social-gap.d.ts +4 -0
  249. package/dist/render/lib/sections/footer-social-gap.js +1 -0
  250. package/dist/render/lib/sections/product-grid-title.d.ts +2 -0
  251. package/dist/render/lib/sections/product-grid-title.js +1 -0
  252. package/dist/render/lib/sections/submit-build-copy.d.ts +7 -0
  253. package/dist/render/lib/sections/submit-build-copy.js +1 -0
  254. package/dist/render/lib/wheels/catalog-default-layout.d.ts +0 -6
  255. package/dist/render/lib/wheels/catalog-default-layout.js +1 -1
  256. package/dist/render/lib/wheels/fitment-columns.d.ts +6 -1
  257. package/dist/render/lib/wheels/fitment-columns.js +1 -1
  258. package/dist/render/lib/wheels/plp-hydrate.d.ts +2 -0
  259. package/dist/render/lib/wheels/plp-hydrate.js +1 -1
  260. package/dist/words.d.ts +26 -10
  261. package/dist/words.js +5 -5
  262. package/package.json +11 -4
  263. package/dist/chunks/chunk-76GXRMJK.js +0 -1
  264. package/dist/chunks/chunk-GHD5CTVU.js +0 -1
  265. package/dist/chunks/chunk-U72V3KUB.js +0 -261
  266. package/dist/chunks/chunk-UZYSAKGR.js +0 -1
  267. /package/dist/chunks/{chunk-2PHMIP2S.js → chunk-I6VNNXUI.js} +0 -0
  268. /package/dist/chunks/{chunk-U72V3KUB.js.LEGAL.txt → chunk-YNI65Q6Z.js.LEGAL.txt} +0 -0
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{StylesIcon as m,HashIcon as n,ColumnsIcon as d}from"efficient-easel/icons";import{group as o,text as a,select as p,textarea as w,slider as t,withOffPage as E,plainText as _}from"efficient-web-builder/editor/lib/puck/controls";import{headFieldsForPlacement as S,widthFieldsForParent as f,SPLITTABLE_SECTIONS as y}from"efficient-web-builder/format/lib/sections/section-head-placement";import{SECTION_EYEBROW_LOOK_OPTIONS as I,eyebrowLookFor as c}from"efficient-web-builder/format/lib/sections/section-eyebrow-look";import{WIDTH_ROW_KEYS as O}from"efficient-web-builder/editor/lib/puck/blocks/shared-fields";import{REVIEWS_DESIGN_CODE_PH as R}from"../placeholders.js";import{REVIEWS_PH as r}from"../../../../../../render/lib/puck/blocks/service/Reviews/render.js";const x={fields:{_gContent:o("Content"),eyebrow:a("Eyebrow",r.eyebrow),eyebrowLook:p("Eyebrow style",e(m,{}),[...I],c("Reviews")),title:w("Heading",r.title),_gSource:o("Reviews"),limit:t("Reviews to display",e(n,{}),3,12,1,6),designCode:E(_("Design code",R)),_gStyle:o("Style"),columns:t("Columns",e(d,{}),1,3,1,3)},resolveFields:(i,{fields:s,parent:l})=>S(f(s,l,O),i.props.headPlacement,y.Reviews.headRows)};export{x as ReviewsFields};
1
+ import{jsx as e}from"react/jsx-runtime";import{StylesIcon as m,HashIcon as n,ColumnsIcon as d}from"efficient-easel/icons";import{group as o,text as a,select as p,textarea as w,slider as t,withOffPage as E,plainText as _}from"efficient-web-builder/editor/lib/puck/controls";import{headFieldsForPlacement as S,widthFieldsForParent as f,SPLITTABLE_SECTIONS as y}from"efficient-web-builder/format/lib/sections/section-head-placement";import{SECTION_EYEBROW_LOOK_OPTIONS as I,eyebrowLookFor as c}from"efficient-web-builder/format/lib/sections/section-eyebrow-look";import{WIDTH_ROW_KEYS as O}from"efficient-web-builder/editor/lib/puck/blocks/shared-fields";import{REVIEWS_DESIGN_CODE_PH as R}from"../placeholders.js";import{REVIEWS_PH as r}from"../../../../../../render/lib/puck/blocks/service/Reviews/meta.js";const x={fields:{_gContent:o("Content"),eyebrow:a("Eyebrow",r.eyebrow),eyebrowLook:p("Eyebrow style",e(m,{}),[...I],c("Reviews")),title:w("Heading",r.title),_gSource:o("Reviews"),limit:t("Reviews to display",e(n,{}),3,12,1,6),designCode:E(_("Design code",R)),_gStyle:o("Style"),columns:t("Columns",e(d,{}),1,3,1,3)},resolveFields:(i,{fields:s,parent:l})=>S(f(s,l,O),i.props.headPlacement,y.Reviews.headRows)};export{x as ReviewsFields};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{FullWidthIcon as t}from"efficient-easel/icons";import{toggle as i}from"efficient-web-builder/editor/lib/puck/controls";import{SiteFooterSlots as s}from"../../../../../../render/lib/puck/blocks/service/SiteFooter/render.js";const f={fields:{fullWidth:i("Full width",!1,o(t,{})),sections:s.sections}};export{f as SiteFooterFields};
1
+ import{jsx as o}from"react/jsx-runtime";import{FullWidthIcon as t}from"efficient-easel/icons";import{toggle as i}from"efficient-web-builder/editor/lib/puck/controls";import{SiteFooterSlots as s}from"../../../../../../render/lib/puck/blocks/service/SiteFooter/meta.js";const f={fields:{fullWidth:i("Full width",!1,o(t,{})),sections:s.sections}};export{f as SiteFooterFields};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{CaseIcon as a,ContrastIcon as i,FullWidthIcon as s,HeightIcon as r,LayoutIcon as n,StickyIcon as c}from"efficient-easel/icons";import{sectionThemeFields as u,segmented as l,slider as p,toggle as m}from"efficient-web-builder/editor/lib/puck/controls";import{HEADER_THEME_FOLLOW as d,resolveHeaderTheme as h}from"../../../../../../render/lib/content/header-theme.js";import{HEADER_HEIGHT_PX as t}from"efficient-web-builder/render/lib/puck/header-clearance";import{SiteHeaderSlots as v}from"../../../../../../render/lib/puck/blocks/service/SiteHeader/render.js";const{sectionAccent:b}=u(o=>h(o)??d,"Follow the site theme"),E={fields:{heightPx:p("Height",e(r,{}),t.min,t.max,2,t.default,"px"),fullWidth:m("Full width",!1,e(s,{})),sectionAccent:b,topTextColor:l("Text color at the top",e(i,{}),[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],"auto"),navTextCase:l("Letters",e(a,{}),[{label:"Uppercase",value:"uppercase"},{label:"Capitalised",value:"capitalised"}],"uppercase"),menuRow:l("Menu row",e(n,{}),[{label:"Own row",value:"top"},{label:"Same row",value:"inline"}],"top"),sticky:l("Sticky header",e(c,{}),[{label:"None",value:"none"},{label:"Always",value:"always"},{label:"On scroll up",value:"on_scroll_up"}],"always"),sections:v.sections}};export{E as SiteHeaderFields};
1
+ import{jsx as e}from"react/jsx-runtime";import{CaseIcon as a,ContrastIcon as i,FullWidthIcon as s,HeightIcon as r,LayoutIcon as n,StickyIcon as c}from"efficient-easel/icons";import{sectionThemeFields as u,segmented as l,slider as p,toggle as m}from"efficient-web-builder/editor/lib/puck/controls";import{HEADER_THEME_FOLLOW as d,resolveHeaderTheme as h}from"../../../../../../render/lib/content/header-theme.js";import{HEADER_HEIGHT_PX as t}from"efficient-web-builder/render/lib/puck/header-clearance";import{SiteHeaderSlots as v}from"../../../../../../render/lib/puck/blocks/service/SiteHeader/meta.js";const{sectionAccent:b}=u(o=>h(o)??d,"Follow the site theme"),E={fields:{heightPx:p("Height",e(r,{}),t.min,t.max,2,t.default,"px"),fullWidth:m("Full width",!1,e(s,{})),sectionAccent:b,topTextColor:l("Text color at the top",e(i,{}),[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],"auto"),navTextCase:l("Letters",e(a,{}),[{label:"Uppercase",value:"uppercase"},{label:"Capitalised",value:"capitalised"}],"uppercase"),menuRow:l("Menu row",e(n,{}),[{label:"Own row",value:"top"},{label:"Same row",value:"inline"}],"top"),sticky:l("Sticky header",e(c,{}),[{label:"None",value:"none"},{label:"Always",value:"always"},{label:"On scroll up",value:"on_scroll_up"}],"always"),sections:v.sections}};export{E as SiteHeaderFields};
@@ -1 +1 @@
1
- import{FONT_ROLES as b,FONT_ROLE_LABELS as T}from"efficient-web-builder/format/lib/fonts";import{SUBMIT_DEFAULTS as n}from"../../../../../../render/components/SubmitBuild.js";import{SUBMIT_TEXT_KINDS as r,SUBMIT_KIND_PROP as l,SUBMIT_TEXT_KIND_LABELS as m}from"../../../../../../render/lib/submit/text-kinds.js";import{group as c,select as p,text as u,textarea as i}from"efficient-web-builder/editor/lib/puck/controls";import{formPicker as d}from"../controls.js";import{textKindGlyph as y}from"efficient-web-builder/editor/lib/puck/blocks/shared-fields";import{withRowRules as S}from"efficient-web-builder/render/lib/puck/show-when";const f={field:"region",is:"head"},E={not:f},x={any:[]};function B(o){const e=r.map(t=>l[t]),_=["eyebrow","title"],a=["body","formSlug","buttonText","consent"],s=[];for(const t of Object.keys(o))t.startsWith("_")||(_.includes(t)?s.push([[t],f]):a.includes(t)||e.includes(t)?s.push([[t],E]):s.push([[t],x]));return s}const L={fields:{_gTextStyle:c("Text style"),...Object.fromEntries(r.map(o=>[l[o],p(m[o],y(m[o]),[{label:"Section's own",value:""},...b.map(e=>({label:T[e],value:e}))],"")])),_gContent:c("Content"),eyebrow:u("Eyebrow",n.eyebrow),title:i("Heading",n.title),body:i("Body",n.body),formSlug:d(),buttonText:u("Button",n.buttonText),consent:i("Consent line",n.consent)},resolveFields:(o,{fields:e})=>S(e,B(e))};export{L as SubmitBoxFields};
1
+ import{FONT_ROLES as b,FONT_ROLE_LABELS as T}from"efficient-web-builder/format/lib/fonts";import{SUBMIT_DEFAULTS as n}from"../../../../../../render/lib/sections/submit-build-copy.js";import{SUBMIT_TEXT_KINDS as r,SUBMIT_KIND_PROP as l,SUBMIT_TEXT_KIND_LABELS as m}from"../../../../../../render/lib/submit/text-kinds.js";import{group as c,select as p,text as u,textarea as i}from"efficient-web-builder/editor/lib/puck/controls";import{formPicker as d}from"../controls.js";import{textKindGlyph as y}from"efficient-web-builder/editor/lib/puck/blocks/shared-fields";import{withRowRules as S}from"efficient-web-builder/render/lib/puck/show-when";const f={field:"region",is:"head"},E={not:f},x={any:[]};function B(o){const e=r.map(t=>l[t]),_=["eyebrow","title"],a=["body","formSlug","buttonText","consent"],s=[];for(const t of Object.keys(o))t.startsWith("_")||(_.includes(t)?s.push([[t],f]):a.includes(t)||e.includes(t)?s.push([[t],E]):s.push([[t],x]));return s}const L={fields:{_gTextStyle:c("Text style"),...Object.fromEntries(r.map(o=>[l[o],p(m[o],y(m[o]),[{label:"Section's own",value:""},...b.map(e=>({label:T[e],value:e}))],"")])),_gContent:c("Content"),eyebrow:u("Eyebrow",n.eyebrow),title:i("Heading",n.title),body:i("Body",n.body),formSlug:d(),buttonText:u("Button",n.buttonText),consent:i("Consent line",n.consent)},resolveFields:(o,{fields:e})=>S(e,B(e))};export{L as SubmitBoxFields};
@@ -1 +1 @@
1
- import{SUBMIT_DEFAULTS as o}from"../../../../../../render/components/SubmitBuild.js";import{group as t,text as n,textarea as e}from"efficient-web-builder/editor/lib/puck/controls";import{formPicker as r}from"../controls.js";import{withRowRules as i}from"efficient-web-builder/render/lib/puck/show-when";import{SubmitBuildSlots as m}from"../../../../../../render/lib/puck/blocks/service/SubmitBuild/render.js";const d={fields:i({_gContent:t("Content"),eyebrow:n("Eyebrow",o.eyebrow),title:e("Heading",o.title),body:e("Body",o.body),_gForm:t("Form"),formSlug:r(),_gButton:t("Button"),buttonText:n("Button",o.buttonText),_gFootnote:t("Footnote"),consent:e("Consent line",o.consent),boxes:m.boxes},[[["_gContent","eyebrow","title","body","_gForm","formSlug","_gButton","buttonText","_gFootnote","consent"],{not:{field:"layout",is:"boxes"}}]])};export{d as SubmitBuildFields};
1
+ import{SUBMIT_DEFAULTS as o}from"../../../../../../render/lib/sections/submit-build-copy.js";import{group as t,text as n,textarea as e}from"efficient-web-builder/editor/lib/puck/controls";import{formPicker as r}from"../controls.js";import{withRowRules as i}from"efficient-web-builder/render/lib/puck/show-when";import{SubmitBuildSlots as m}from"../../../../../../render/lib/puck/blocks/service/SubmitBuild/meta.js";const d={fields:i({_gContent:t("Content"),eyebrow:n("Eyebrow",o.eyebrow),title:e("Heading",o.title),body:e("Body",o.body),_gForm:t("Form"),formSlug:r(),_gButton:t("Button"),buttonText:n("Button",o.buttonText),_gFootnote:t("Footnote"),consent:e("Consent line",o.consent),boxes:m.boxes},[[["_gContent","eyebrow","title","body","_gForm","formSlug","_gButton","buttonText","_gFootnote","consent"],{not:{field:"layout",is:"boxes"}}]])};export{d as SubmitBuildFields};
@@ -1 +1 @@
1
- import{jsx as n}from"react/jsx-runtime";import a from"../../../../../components/BlogSource.js";import{HashIcon as l}from"efficient-easel/icons";import{section as r,group as i,text as o,textarea as t,plainText as s,sourceField as d,slider as c,linkField as m}from"efficient-web-builder/editor/lib/puck/controls";import{SUBSCRIBE_BLOGS_PH as e}from"../../../../../../render/lib/puck/blocks/service/SubscribeBlogs/render.js";const f={fields:{_sHead:r("Section header"),_gHeadCopy:i("Content"),headNum:o("Number",e.headNum),headTitle:t("Heading",e.headTitle),headDesc:t("Body",e.headDesc),_sLeft:r("Newsletter panel"),_gLeftCopy:i("Content"),kicker:o("Eyebrow",e.kicker),leadTitle:t("Heading",e.leadTitle),intro:t("Intro",e.intro),_gForm:i("Signup form"),emailPlaceholder:s("Email placeholder",e.emailPlaceholder),submitText:s("Submit button",e.submitText),subscribedText:s("Subscribed button",e.subscribedText),finePrint:t("Fine print",e.finePrint),_sRight:r("Recent posts"),_gRightCopy:i("Content"),issuesHeading:o("Panel heading",e.issuesHeading),_gPosts:i("Blog posts"),posts:d(a),limit:c("Posts to display",n(l,{}),1,6,1,4),_gArchive:i("Archive link"),archiveText:o("Archive button",e.archiveText),archiveHref:m("Archive link")}};export{f as SubscribeBlogsFields};
1
+ import{jsx as n}from"react/jsx-runtime";import a from"../../../../../components/BlogSource.js";import{HashIcon as l}from"efficient-easel/icons";import{section as r,group as i,text as o,textarea as t,plainText as s,sourceField as d,slider as c,linkField as m}from"efficient-web-builder/editor/lib/puck/controls";import{SUBSCRIBE_BLOGS_PH as e}from"../../../../../../render/lib/puck/blocks/service/SubscribeBlogs/meta.js";const f={fields:{_sHead:r("Section header"),_gHeadCopy:i("Content"),headNum:o("Number",e.headNum),headTitle:t("Heading",e.headTitle),headDesc:t("Body",e.headDesc),_sLeft:r("Newsletter panel"),_gLeftCopy:i("Content"),kicker:o("Eyebrow",e.kicker),leadTitle:t("Heading",e.leadTitle),intro:t("Intro",e.intro),_gForm:i("Signup form"),emailPlaceholder:s("Email placeholder",e.emailPlaceholder),submitText:s("Submit button",e.submitText),subscribedText:s("Subscribed button",e.subscribedText),finePrint:t("Fine print",e.finePrint),_sRight:r("Recent posts"),_gRightCopy:i("Content"),issuesHeading:o("Panel heading",e.issuesHeading),_gPosts:i("Blog posts"),posts:d(a),limit:c("Posts to display",n(l,{}),1,6,1,4),_gArchive:i("Archive link"),archiveText:o("Archive button",e.archiveText),archiveHref:m("Archive link")}};export{f as SubscribeBlogsFields};
@@ -1 +1 @@
1
- import{jsx as a,Fragment as M,jsxs as U}from"react/jsx-runtime";import{assignSectionGroups as G,reseatBucketTabs as W}from"efficient-web-builder/editor/lib/puck/field-groups";import{buildPuckCategories as K}from"efficient-web-builder/format/lib/puck/section-catalog";import{FONT_ROLES as Y,FONT_ROLE_LABELS as j}from"efficient-web-builder/format/lib/fonts";import{CONTAINER_DIRECTION_LABELS as _}from"efficient-web-builder/format/lib/content/container-direction";import{SITE_FOOTER_TYPE as q,SITE_HEADER_TYPE as V}from"efficient-web-builder/format/lib/puck/section-groups";import z from"../../components/MenuLinkRangeField.js";import X from"../../components/EditorPreviewChat.js";import Q from"../../components/EditorPreviewSurface.js";import{isSystemPageSlug as J,POPUP_DAYS_RANGE as E,POPUP_DELAY_RANGE as B,POPUP_HIDE_AFTER as Z,POPUP_SCROLL_RANGE as O,POPUP_SHOW_ON as $,POPUP_TRIGGERS as L,SUBSCRIBE_POPUP_DEFAULTS as ee,SUBSCRIBE_POPUP_KIND as te}from"efficient-web-builder/format/lib/content/subscribe";import{shownForOption as b,withRowRules as oe}from"efficient-web-builder/render/lib/puck/show-when";import{POPUP_KIND_PROP as re,POPUP_TEXT_KIND_LABELS as k,POPUP_TEXT_KINDS as ie}from"efficient-web-builder/format/lib/popup/text-kinds";import{loadPages as ae}from"efficient-web-builder/editor/components/StorefrontLinkField";import{pagePath as le}from"../../../render/lib/links/link-rules.js";import{getEditorSiteId as ne}from"efficient-web-builder/render/lib/editor-site";import{CART_DRAWER_DEFAULTS as se,CART_DRAWER_KIND as F}from"efficient-web-builder/format/lib/content/cart-drawer";import{CONSENT_BANNER_KIND as v}from"efficient-web-builder/format/lib/content/consent-banner";import{consentBannerLayoutField as ce}from"../../components/ConsentBannerLayoutTiles.js";import{AlignLeftIcon as me,CategoryIcon as ue,CheckIcon as C,ClockIcon as h,ColumnsIcon as de,DirectionIcon as pe,EyeIcon as ge,ListIcon as be,PageIcon as Pe,PlacementIcon as he,ScrollPointIcon as Se,TriggerIcon as fe}from"efficient-easel/icons";import{FieldGlyph as Te}from"efficient-web-builder/editor/components/FieldGlyph";import{group as s,multiSelect as ye,panelNote as A,plainText as r,plainTextarea as u,sectionShapeFields as _e,sectionThemeFields as Ee,segmented as d,select as R,slider as S,textList as P,toggle as D}from"efficient-web-builder/editor/lib/puck/controls";import{formPicker as Be}from"./blocks/service/controls.js";import{SECTION_THEME_FOLLOW_LABEL as Oe}from"efficient-web-builder/editor/components/SectionThemePicker";import{nestedAccentValue as Le}from"efficient-web-builder/format/lib/content/section-surface";import{isEditorOnDynamicPage as ke}from"efficient-web-builder/format/lib/puck/editor-page-context";import{PRODUCT_HERO_BULLETS_PROP as Fe,PRODUCT_HERO_DEFAULTS as ve,heroBulletLine as Ce}from"../../../render/lib/content/product-hero.js";import{TEMPLATE_PRODUCT_TYPE_PROP as Ae}from"efficient-web-builder/format/lib/content/product-page";import{PRODUCT_KIND_OPTIONS as Re}from"../../../render/lib/catalog/plp-item.js";import{PH as f}from"efficient-web-builder/format/lib/puck/blocks/placeholders";import{textKindGlyph as De}from"efficient-web-builder/editor/lib/puck/blocks/shared-fields";import"../efficient-backend.js";import"../../../render/lib/puck/slot-seeds.js";import{generalBlocks as e}from"efficient-web-builder/editor/lib/puck/blocks/general/index";import{commerceBlocks as i}from"./blocks/commerce/index.js";import{serviceBlocks as l}from"./blocks/service/index.js";import{EditorThemedBody as we,suppressPreviewNav as Ie}from"efficient-web-builder/editor/lib/puck/page-root";import xe from"../../components/HeaderSection.js";import{addPageBlocksFromFooter as He,PAGE_MENU_DIRECTION_DEFAULT as Ne}from"../../../render/lib/puck/footer-page-blocks.js";import{drawPublishedStorefrontRoot as Me,drawSystemPage as Ue,StorefrontPageProviders as Ge}from"../../../render/lib/puck/storefront-root.js";import{GENERAL_ROOT_FIELDS as We}from"efficient-web-builder/editor/lib/puck/page-root-fields";import{finishRegistry as Ke}from"efficient-web-builder/editor/lib/puck/registry";const Ye="Newsletter (built in)",Gt={eyebrow:"About us",titleTop:"Main heading & *highlight*"},Wt=[{value:"00",label:f.label},{value:"00",label:f.label},{value:"00",label:f.label}],t=ee,p={field:"autoOpen",is:!0},je={all:[b("hideAfter",Z,t.hideAfter,["days"]),{not:{all:[{field:"hideAfter",is:null,default:null},{field:"oncePerSession",in:[!0,!1]}]}}]},qe=[[["trigger","showOn","hideAfter"],p],[["autoOpenDelaySec"],{all:[p,b("trigger",L,t.trigger,["delay","exit"])]}],[["scrollPercent"],{all:[p,b("trigger",L,t.trigger,["scroll"])]}],[["showOnPages"],{all:[p,b("showOn",$,t.showOn,["chosen"])]}],[["hideDays"],{all:[p,je]}]],Ve=oe({formSlug:Be(void 0,Ye),_gLeft:s("Left panel"),metaLabel:r("Meta label",t.metaLabel),issueLabel:r("Issue label",t.issueLabel),issueNumber:r("Issue number",t.issueNumber),kicker:r("Eyebrow",t.kicker),heading:u("Heading",t.heading),deck:u("Deck",t.deck),stats:{type:"array",label:"Stats",arrayFields:{label:r("Label"),value:r("Value")},getItemSummary:o=>o?.label||o?.value||"Stat"},_gForm:s("Right panel · form"),formLabel:r("Section label",t.formLabel),formHeading:r("Heading",t.formHeading),formIntro:u("Intro",t.formIntro),firstNameLabel:r("First-name label",t.firstNameLabel),firstNamePlaceholder:r("First-name placeholder",t.firstNamePlaceholder),emailLabel:r("Email label",t.emailLabel),emailPlaceholder:r("Email placeholder",t.emailPlaceholder),_gChoices:s("Right panel · choices"),interestsLabel:r("Interests label",t.interestsLabel),interests:P("Interest chips",a(Te,{noun:"tag"}),"Chip label","verbatim"),frequencyLabel:r("Frequency label",t.frequencyLabel),frequencies:P("Frequency options",a(be,{}),"Option label","verbatim"),_gActions:s("Right panel · actions"),submitText:r("Submit button",t.submitText),finePrint:r("Fine print",t.finePrint),dismissText:r("Dismiss link",t.dismissText),emailInvalidText:r("Invalid-email error",t.emailInvalidText),submitErrorText:r("Submit-failed error",t.submitErrorText),_gSuccess:s("Success state"),successHeading:r("Heading",t.successHeading),successBody:u("Message",t.successBody),keepBrowsingText:r("Dismiss button",t.keepBrowsingText),...Ee(Le,Oe),..._e(),_gTextStyle:s("Text style"),...Object.fromEntries(ie.map(o=>[re[o],R(k[o],De(k[o]),[{label:"Popup's own",value:""},...Y.map(n=>({label:j[n],value:n}))],"")])),_gBehaviour:s("Behavior"),autoOpen:D("Show by itself",t.autoOpen,a(ge,{})),trigger:d("Trigger",a(fe,{}),[{label:"Delay",value:"delay"},{label:"Scroll",value:"scroll"},{label:"Exit",value:"exit"}],t.trigger),autoOpenDelaySec:S("Delay",a(h,{}),B.min,B.max,1,t.autoOpenDelaySec,"s"),scrollPercent:S("Scroll",a(Se,{}),O.min,O.max,5,t.scrollPercent,"%"),showOn:d("Pages",a(Pe,{}),[{label:"All",value:"all"},{label:"Chosen",value:"chosen"}],t.showOn),showOnPages:ye("Chosen pages",[],"None"),hideAfter:d("After close",a(h,{}),[{label:"This visit",value:"visit"},{label:"Days",value:"days"},{label:"Never",value:"never"}],t.hideAfter),hideDays:S("Days",a(h,{}),E.min,E.max,1,t.hideDays),_gArrangement:s("Arrangement"),formSide:d("Form side",a(he,{}),[{label:"Right",value:"right"},{label:"Left",value:"left"}],t.formSide),_gPhone:s("On a phone"),valuePanelOnPhone:D("Left panel",t.valuePanelOnPhone,a(de,{}))},qe),w=G(Ve,"SubscribePopup");async function ze(){return(await ae(ne()??"")).filter(n=>!J(n.slug)).map(n=>({label:n.label,value:le(n.slug)}))}async function Xe(){return W({...w,showOnPages:{...w.showOnPages,options:await ze().catch(()=>[])}})}const c=se,Qe={_gHeader:s("Header"),kickerBadge:r("Eyebrow badge",c.kickerBadge),kickerText:r("Eyebrow text",c.kickerText),titleLead:r("Heading",c.titleLead),titleAccent:r("Heading accent",c.titleAccent),subtitleEmpty:u("Sub-line · empty",c.subtitleEmpty),subtitleOne:u("Sub-line · one set",c.subtitleOne),subtitleMany:u("Sub-line · several sets",c.subtitleMany,"{count} becomes the number of sets"),_gStatus:s("Status rail"),leadTimeValue:r("Lead time",c.leadTimeValue),shipsToFallback:r("Ships to · fallback",c.shipsToFallback,"Shown only while the site serves no countries — otherwise the site's default country is stated"),_gPromises:s("Promise row"),promises:P("Trust markers",a(C,{}),"Marker","verbatim"),_gEmpty:s("Empty basket"),emptyKicker:r("Eyebrow",c.emptyKicker),emptyBody:u("Message",c.emptyBody)},Je={layout:ce,_nConsentWhere:A("The banner's words follow each visitor's country. Turn consent on or off, and pick the privacy page, in Admin › Storefront › Marketing › Privacy.")};function Ze({kind:o}){return a("div",{style:{padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim, #888)",borderBottom:"1px solid var(--site-line, #e5e5e5)"},children:o===F?"This is the cart drawer — edit its copy in the Settings panel →":o===v?"This is the cookie banner — pick its layout in the Settings panel →":"This is the site popup — edit it in the Settings panel →"})}const g={root:{fields:{...We},resolveFields:async(o,{fields:n})=>{if(o?.props?.kind===te)return Xe();if(o?.props?.kind===F)return Qe;if(o?.props?.kind===v)return Je;const m=n;return ke()?{[Ae]:R("Product type",a(ue,{}),Re,"alloy-wheel"),...m,_gHeroBullets:s("Product hero"),_nHeroBullets:A("The promises under Add to Cart. Text before the · is bold. Leave the list empty to show no promises at all."),[Fe]:P("Trust bullets",a(C,{}),Ce(ve.bullets[0]),"verbatim")}:m},render:o=>{const{puck:n,widthMode:m,fullWidth:I,pageWidth:x,pageBackground:T,theme:H,fonts:N}=o;if(!n?.isEditing)return Me(o);const y=Ue(o,a(Ze,{kind:o.kind}));return y||a(we,{propsTheme:H,propsFonts:N,widthMode:m,fullWidth:I,pageWidth:x,pageBackground:typeof T=="string"?T:void 0,suppressPreviewNav:Ie,overlay:U(M,{children:[a(X,{}),a(Q,{})]}),children:a(Ge,{rootProps:o,children:o.children})})}},categories:K(),components:{Heading:e.Heading,Text:e.Text,Eyebrow:e.Eyebrow,ImageBlock:e.ImageBlock,LogoBlock:e.LogoBlock,ButtonBlock:e.ButtonBlock,Spacer:e.Spacer,Divider:e.Divider,Grid:e.Grid,Flex:e.Flex,Breadcrumb:e.Breadcrumb,Masthead:e.Masthead,CategoryBar:e.CategoryBar,FeaturedCover:e.FeaturedCover,LongRead:e.LongRead,Series:e.Series,Subscribe:l.Subscribe,SubscribeBlogs:l.SubscribeBlogs,Banner:e.Banner,ParagraphsA:e.ParagraphsA,StatsParagraph:e.StatsParagraph,Timeline:e.Timeline,Footprint:e.Footprint,TimelineTrack:e.TimelineTrack,TitleWithButtons:e.TitleWithButtons,Stats:e.Stats,Integrations:e.Integrations,Mockup:e.Mockup,Chart:e.Chart,KeyFeatures:e.KeyFeatures,Testimonials:e.Testimonials,Reviews:l.Reviews,Prose:e.Prose,Cards:e.Cards,Logos:e.Logos,Ticker:e.Ticker,ContactRouting:l.ContactRouting,ContactLocations:e.ContactLocations,HeroSingle:e.HeroSingle,Hero:e.Hero,HeroSlide:e.HeroSlide,HeroGroup:e.HeroGroup,Collections:i.Collections,CollectionCard:i.CollectionCard,Events:l.Events,PostCard:e.PostCard,DocMetaCards:e.DocMetaCards,DocTabs:e.DocTabs,DocMasthead:e.DocMasthead,DocBody:e.DocBody,FAQ:e.FAQ,Gallery:i.Gallery,GalleryB:i.GalleryB,SpecStrip:e.SpecStrip,GalleryItem:i.GalleryItem,Manifesto:e.Manifesto,SectionHeader:e.SectionHeader,IntroBleed:e.IntroBleed,Split:e.Split,SubmitBuild:l.SubmitBuild,SubmitBox:l.SubmitBox,ReviewForm:l.ReviewForm,Form:l.Form,AppointmentBooking:l.AppointmentBooking,BookingBox:l.BookingBox,CatalogFilterBar:i.CatalogFilterBar,AlloyWheelsListing:i.AlloyWheelsListing,ProductGrid:i.ProductGrid,ProductHero:i.ProductHero,SpecTable:i.SpecTable,ProcessSteps:e.ProcessSteps,DetailRows:i.DetailRows,FitmentTable:i.FitmentTable,RelatedProducts:i.RelatedProducts,BundleOffer:i.BundleOffer,CompatibleTyres:i.CompatibleTyres,TyreSizes:i.TyreSizes,TyreFitment:i.TyreFitment,EuTyreLabel:i.EuTyreLabel,FitmentFinder:i.FitmentFinder,OrderSummary:e.OrderSummary,DeliveryOptions:i.DeliveryOptions,PaymentBadges:e.PaymentBadges,CheckoutCTA:i.CheckoutCTA,ProductRef:i.ProductRef,CustomHTML:e.CustomHTML,Header:i.Header,Footer:l.Footer,FooterLogo:l.FooterLogo,FooterMenu:l.FooterMenu,FooterDivider:l.FooterDivider,FooterGroup:l.FooterGroup,FooterText:l.FooterText,FooterEmailSignup:l.FooterEmailSignup,FooterSocial:l.FooterSocial,LegalLineBlock:l.LegalLineBlock,SearchBlock:i.SearchBlock,CartBlock:i.CartBlock,CountrySwitchBlock:i.CountrySwitchBlock,AccountBlock:i.AccountBlock,ThemeSwitchBlock:i.ThemeSwitchBlock,[V]:l.SiteHeader,[q]:l.SiteFooter}};He(g.components);{const o=g.components.MenuBlock;o.fields={...o.fields,direction:d("Direction",a(pe,{}),[{label:_.column,value:"column"},{label:_.row,value:"row"}],Ne)},o.fields={...o.fields,linkAlign:d("Link alignment",a(me,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),linkRange:{type:"custom",render:({value:n,onChange:m})=>a(z,{value:n,onChange:m})}}}{const o=g.components.Header,n=o.render;o.render=m=>m.puck?.isEditing?a(xe,{editing:!0}):n(m)}const $e=Ke(g),Kt=$e.sectionGroupAllow;var Yt=g;export{Gt as HERO_SINGLE_PH,Kt as SECTION_GROUP_ALLOW,g as config,Yt as default,Ve as subscribePopupFields};
1
+ import{jsx as a,Fragment as U,jsxs as G}from"react/jsx-runtime";import{assignSectionGroups as W,reseatBucketTabs as K}from"efficient-web-builder/editor/lib/puck/field-groups";import{buildPuckCategories as Y}from"efficient-web-builder/format/lib/puck/section-catalog";import{FONT_ROLES as j,FONT_ROLE_LABELS as q}from"efficient-web-builder/format/lib/fonts";import{CONTAINER_DIRECTION_LABELS as _}from"efficient-web-builder/format/lib/content/container-direction";import{SITE_FOOTER_TYPE as V,SITE_HEADER_TYPE as z}from"efficient-web-builder/format/lib/puck/section-groups";import X from"../../components/MenuLinkRangeField.js";import Q from"../../components/EditorPreviewChat.js";import J from"../../components/EditorPreviewSurface.js";import{isSystemPageSlug as Z,POPUP_DAYS_RANGE as E,POPUP_DELAY_RANGE as B,POPUP_HIDE_AFTER as $,POPUP_SCROLL_RANGE as O,POPUP_SHOW_ON as ee,POPUP_TRIGGERS as L,SUBSCRIBE_POPUP_DEFAULTS as te,SUBSCRIBE_POPUP_KIND as oe}from"efficient-web-builder/format/lib/content/subscribe";import{shownForOption as P,withRowRules as re}from"efficient-web-builder/render/lib/puck/show-when";import{POPUP_KIND_PROP as ie,POPUP_TEXT_KIND_LABELS as k,POPUP_TEXT_KINDS as ae}from"efficient-web-builder/format/lib/popup/text-kinds";import{loadPages as le}from"efficient-web-builder/editor/components/StorefrontLinkField";import{pagePath as ne}from"../../../render/lib/links/link-rules.js";import{getEditorSiteId as se}from"efficient-web-builder/render/lib/editor-site";import{CART_DRAWER_DEFAULTS as ce,CART_DRAWER_KIND as F}from"efficient-web-builder/format/lib/content/cart-drawer";import{CONSENT_BANNER_KIND as v}from"efficient-web-builder/format/lib/content/consent-banner";import{consentBannerLayoutField as me}from"../../components/ConsentBannerLayoutTiles.js";import{AlignLeftIcon as ue,CategoryIcon as de,CheckIcon as C,ClockIcon as h,ColumnsIcon as pe,DirectionIcon as ge,EyeIcon as Pe,ListIcon as be,PageIcon as he,PlacementIcon as Se,ScrollPointIcon as fe,TriggerIcon as Te}from"efficient-easel/icons";import{FieldGlyph as ye}from"efficient-web-builder/editor/components/FieldGlyph";import{group as s,multiSelect as _e,panelNote as A,plainText as r,plainTextarea as u,sectionShapeFields as Ee,sectionThemeFields as Be,segmented as d,select as R,slider as S,textList as b,toggle as D}from"efficient-web-builder/editor/lib/puck/controls";import{formPicker as Oe}from"./blocks/service/controls.js";import{SECTION_THEME_FOLLOW_LABEL as Le}from"efficient-web-builder/editor/components/SectionThemePicker";import{nestedAccentValue as ke}from"efficient-web-builder/format/lib/content/section-surface";import{isEditorOnDynamicPage as Fe}from"efficient-web-builder/format/lib/puck/editor-page-context";import{PRODUCT_HERO_BULLETS_PROP as ve,PRODUCT_HERO_DEFAULTS as Ce,heroBulletLine as Ae}from"../../../render/lib/content/product-hero.js";import{TEMPLATE_PRODUCT_TYPE_PROP as Re}from"efficient-web-builder/format/lib/content/product-page";import{PRODUCT_KIND_OPTIONS as De}from"../../../render/lib/catalog/plp-item.js";import{PH as f}from"efficient-web-builder/format/lib/puck/blocks/placeholders";import{textKindGlyph as we}from"efficient-web-builder/editor/lib/puck/blocks/shared-fields";import"../efficient-backend.js";import"../../../render/lib/puck/slot-seeds.js";import{generalBlocks as e}from"efficient-web-builder/editor/lib/puck/blocks/general/index";import{commerceBlocks as i}from"./blocks/commerce/index.js";import{serviceBlocks as l}from"./blocks/service/index.js";import{EditorThemedBody as Ie,suppressPreviewNav as xe}from"efficient-web-builder/editor/lib/puck/page-root";import He from"../../components/HeaderSection.js";import{addPageBlocksFromFooter as Ne,PAGE_MENU_DIRECTION_DEFAULT as Me}from"../../../render/lib/puck/footer-page-blocks.js";import{drawPopupPage as Ue,drawPublishedStorefrontRoot as Ge,drawSystemPage as We,StorefrontPageProviders as Ke}from"../../../render/lib/puck/storefront-root.js";import{GENERAL_ROOT_FIELDS as Ye}from"efficient-web-builder/editor/lib/puck/page-root-fields";import{finishRegistry as je}from"efficient-web-builder/editor/lib/puck/registry";const qe="Newsletter (built in)",Kt={eyebrow:"About us",titleTop:"Main heading & *highlight*"},Yt=[{value:"00",label:f.label},{value:"00",label:f.label},{value:"00",label:f.label}],t=te,p={field:"autoOpen",is:!0},Ve={all:[P("hideAfter",$,t.hideAfter,["days"]),{not:{all:[{field:"hideAfter",is:null,default:null},{field:"oncePerSession",in:[!0,!1]}]}}]},ze=[[["trigger","showOn","hideAfter"],p],[["autoOpenDelaySec"],{all:[p,P("trigger",L,t.trigger,["delay","exit"])]}],[["scrollPercent"],{all:[p,P("trigger",L,t.trigger,["scroll"])]}],[["showOnPages"],{all:[p,P("showOn",ee,t.showOn,["chosen"])]}],[["hideDays"],{all:[p,Ve]}]],Xe=re({formSlug:Oe(void 0,qe),_gLeft:s("Left panel"),metaLabel:r("Meta label",t.metaLabel),issueLabel:r("Issue label",t.issueLabel),issueNumber:r("Issue number",t.issueNumber),kicker:r("Eyebrow",t.kicker),heading:u("Heading",t.heading),deck:u("Deck",t.deck),stats:{type:"array",label:"Stats",arrayFields:{label:r("Label"),value:r("Value")},getItemSummary:o=>o?.label||o?.value||"Stat"},_gForm:s("Right panel · form"),formLabel:r("Section label",t.formLabel),formHeading:r("Heading",t.formHeading),formIntro:u("Intro",t.formIntro),firstNameLabel:r("First-name label",t.firstNameLabel),firstNamePlaceholder:r("First-name placeholder",t.firstNamePlaceholder),emailLabel:r("Email label",t.emailLabel),emailPlaceholder:r("Email placeholder",t.emailPlaceholder),_gChoices:s("Right panel · choices"),interestsLabel:r("Interests label",t.interestsLabel),interests:b("Interest chips",a(ye,{noun:"tag"}),"Chip label","verbatim"),frequencyLabel:r("Frequency label",t.frequencyLabel),frequencies:b("Frequency options",a(be,{}),"Option label","verbatim"),_gActions:s("Right panel · actions"),submitText:r("Submit button",t.submitText),finePrint:r("Fine print",t.finePrint),dismissText:r("Dismiss link",t.dismissText),emailInvalidText:r("Invalid-email error",t.emailInvalidText),submitErrorText:r("Submit-failed error",t.submitErrorText),_gSuccess:s("Success state"),successHeading:r("Heading",t.successHeading),successBody:u("Message",t.successBody),keepBrowsingText:r("Dismiss button",t.keepBrowsingText),...Be(ke,Le),...Ee(),_gTextStyle:s("Text style"),...Object.fromEntries(ae.map(o=>[ie[o],R(k[o],we(k[o]),[{label:"Popup's own",value:""},...j.map(n=>({label:q[n],value:n}))],"")])),_gBehaviour:s("Behavior"),autoOpen:D("Show by itself",t.autoOpen,a(Pe,{})),trigger:d("Trigger",a(Te,{}),[{label:"Delay",value:"delay"},{label:"Scroll",value:"scroll"},{label:"Exit",value:"exit"}],t.trigger),autoOpenDelaySec:S("Delay",a(h,{}),B.min,B.max,1,t.autoOpenDelaySec,"s"),scrollPercent:S("Scroll",a(fe,{}),O.min,O.max,5,t.scrollPercent,"%"),showOn:d("Pages",a(he,{}),[{label:"All",value:"all"},{label:"Chosen",value:"chosen"}],t.showOn),showOnPages:_e("Chosen pages",[],"None"),hideAfter:d("After close",a(h,{}),[{label:"This visit",value:"visit"},{label:"Days",value:"days"},{label:"Never",value:"never"}],t.hideAfter),hideDays:S("Days",a(h,{}),E.min,E.max,1,t.hideDays),_gArrangement:s("Arrangement"),formSide:d("Form side",a(Se,{}),[{label:"Right",value:"right"},{label:"Left",value:"left"}],t.formSide),_gPhone:s("On a phone"),valuePanelOnPhone:D("Left panel",t.valuePanelOnPhone,a(pe,{}))},ze),w=W(Xe,"SubscribePopup");async function Qe(){return(await le(se()??"")).filter(n=>!Z(n.slug)).map(n=>({label:n.label,value:ne(n.slug)}))}async function Je(){return K({...w,showOnPages:{...w.showOnPages,options:await Qe().catch(()=>[])}})}const c=ce,Ze={_gHeader:s("Header"),kickerBadge:r("Eyebrow badge",c.kickerBadge),kickerText:r("Eyebrow text",c.kickerText),titleLead:r("Heading",c.titleLead),titleAccent:r("Heading accent",c.titleAccent),subtitleEmpty:u("Sub-line · empty",c.subtitleEmpty),subtitleOne:u("Sub-line · one set",c.subtitleOne),subtitleMany:u("Sub-line · several sets",c.subtitleMany,"{count} becomes the number of sets"),_gStatus:s("Status rail"),leadTimeValue:r("Lead time",c.leadTimeValue),shipsToFallback:r("Ships to · fallback",c.shipsToFallback,"Shown only while the site serves no countries — otherwise the site's default country is stated"),_gPromises:s("Promise row"),promises:b("Trust markers",a(C,{}),"Marker","verbatim"),_gEmpty:s("Empty basket"),emptyKicker:r("Eyebrow",c.emptyKicker),emptyBody:u("Message",c.emptyBody)},$e={layout:me,_nConsentWhere:A("The banner's words follow each visitor's country. Turn consent on or off, and pick the privacy page, in Admin › Storefront › Marketing › Privacy.")};function et({kind:o}){return a("div",{style:{padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim, #888)",borderBottom:"1px solid var(--site-line, #e5e5e5)"},children:o===F?"This is the cart drawer — edit its copy in the Settings panel →":o===v?"This is the cookie banner — pick its layout in the Settings panel →":"This is the site popup — edit it in the Settings panel →"})}const g={root:{fields:{...Ye},resolveFields:async(o,{fields:n})=>{if(o?.props?.kind===oe)return Je();if(o?.props?.kind===F)return Ze;if(o?.props?.kind===v)return $e;const m=n;return Fe()?{[Re]:R("Product type",a(de,{}),De,"alloy-wheel"),...m,_gHeroBullets:s("Product hero"),_nHeroBullets:A("The promises under Add to Cart. Text before the · is bold. Leave the list empty to show no promises at all."),[ve]:b("Trust bullets",a(C,{}),Ae(Ce.bullets[0]),"verbatim")}:m},render:o=>{const{puck:n,widthMode:m,fullWidth:I,pageWidth:x,pageBackground:T,theme:H,fonts:N}=o;if(!n?.isEditing)return Ge(o);const y=We(o,a(et,{kind:o.kind}));if(y)return y;const M=Ue(o,!0);return a(Ie,{propsTheme:H,propsFonts:N,widthMode:m,fullWidth:I,pageWidth:x,pageBackground:typeof T=="string"?T:void 0,suppressPreviewNav:xe,overlay:G(U,{children:[a(Q,{}),a(J,{})]}),children:M??a(Ke,{rootProps:o,children:o.children})})}},categories:Y(),components:{Heading:e.Heading,Text:e.Text,Eyebrow:e.Eyebrow,ImageBlock:e.ImageBlock,LogoBlock:e.LogoBlock,ButtonBlock:e.ButtonBlock,Spacer:e.Spacer,Divider:e.Divider,Grid:e.Grid,Flex:e.Flex,Breadcrumb:e.Breadcrumb,Masthead:e.Masthead,CategoryBar:e.CategoryBar,FeaturedCover:e.FeaturedCover,LongRead:e.LongRead,Series:e.Series,Subscribe:l.Subscribe,SubscribeBlogs:l.SubscribeBlogs,Banner:e.Banner,ParagraphsA:e.ParagraphsA,StatsParagraph:e.StatsParagraph,Timeline:e.Timeline,Footprint:e.Footprint,TimelineTrack:e.TimelineTrack,TitleWithButtons:e.TitleWithButtons,Stats:e.Stats,Integrations:e.Integrations,Mockup:e.Mockup,Chart:e.Chart,KeyFeatures:e.KeyFeatures,Testimonials:e.Testimonials,Reviews:l.Reviews,Prose:e.Prose,Cards:e.Cards,Logos:e.Logos,Ticker:e.Ticker,ContactRouting:l.ContactRouting,ContactLocations:e.ContactLocations,HeroSingle:e.HeroSingle,Hero:e.Hero,HeroSlide:e.HeroSlide,HeroGroup:e.HeroGroup,Collections:i.Collections,CollectionCard:i.CollectionCard,Events:l.Events,PostCard:e.PostCard,DocMetaCards:e.DocMetaCards,DocTabs:e.DocTabs,DocMasthead:e.DocMasthead,DocBody:e.DocBody,FAQ:e.FAQ,Gallery:i.Gallery,GalleryB:i.GalleryB,SpecStrip:e.SpecStrip,GalleryItem:i.GalleryItem,Manifesto:e.Manifesto,SectionHeader:e.SectionHeader,IntroBleed:e.IntroBleed,Split:e.Split,SubmitBuild:l.SubmitBuild,SubmitBox:l.SubmitBox,ReviewForm:l.ReviewForm,Form:l.Form,AppointmentBooking:l.AppointmentBooking,BookingBox:l.BookingBox,CatalogFilterBar:i.CatalogFilterBar,AlloyWheelsListing:i.AlloyWheelsListing,ProductGrid:i.ProductGrid,ProductHero:i.ProductHero,SpecTable:i.SpecTable,ProcessSteps:e.ProcessSteps,DetailRows:i.DetailRows,FitmentTable:i.FitmentTable,RelatedProducts:i.RelatedProducts,BundleOffer:i.BundleOffer,CompatibleTyres:i.CompatibleTyres,TyreSizes:i.TyreSizes,TyreFitment:i.TyreFitment,EuTyreLabel:i.EuTyreLabel,FitmentFinder:i.FitmentFinder,OrderSummary:e.OrderSummary,DeliveryOptions:i.DeliveryOptions,PaymentBadges:e.PaymentBadges,CheckoutCTA:i.CheckoutCTA,ProductRef:i.ProductRef,CustomHTML:e.CustomHTML,Header:i.Header,Footer:l.Footer,FooterLogo:l.FooterLogo,FooterMenu:l.FooterMenu,FooterDivider:l.FooterDivider,FooterGroup:l.FooterGroup,FooterText:l.FooterText,FooterEmailSignup:l.FooterEmailSignup,FooterSocial:l.FooterSocial,LegalLineBlock:l.LegalLineBlock,SearchBlock:i.SearchBlock,CartBlock:i.CartBlock,CountrySwitchBlock:i.CountrySwitchBlock,AccountBlock:i.AccountBlock,ThemeSwitchBlock:i.ThemeSwitchBlock,[z]:l.SiteHeader,[V]:l.SiteFooter}};Ne(g.components);{const o=g.components.MenuBlock;o.fields={...o.fields,direction:d("Direction",a(ge,{}),[{label:_.column,value:"column"},{label:_.row,value:"row"}],Me)},o.fields={...o.fields,linkAlign:d("Link alignment",a(ue,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),linkRange:{type:"custom",render:({value:n,onChange:m})=>a(X,{value:n,onChange:m})}}}{const o=g.components.Header,n=o.render;o.render=m=>m.puck?.isEditing?a(He,{editing:!0}):n(m)}const tt=je(g),jt=tt.sectionGroupAllow;var qt=g;export{Kt as HERO_SINGLE_PH,jt as SECTION_GROUP_ALLOW,g as config,qt as default,Xe as subscribePopupFields};
package/dist/editor.css CHANGED
@@ -1 +1 @@
1
- .sf-embedded{height:100%;min-height:0}.sf-embedded .sf-editor{height:100%}.sf-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sf-panel-heading{display:flex;align-items:baseline;gap:var(--space-8);min-width:0}.sf-panel-site{display:block;margin:0;min-width:0;overflow:hidden;font-size:var(--text-2xs);font-weight:500;color:var(--sf-muted);white-space:nowrap;text-overflow:ellipsis}.sf-name-tip{position:relative;display:block;min-width:0;max-width:100%}.sf-name-text{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sf-panel-site:before{content:"\b7";margin-right:var(--space-8)}.sf-x{width:24px;height:24px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm)}.sf-x:hover{background:var(--sf-hover)}.sf-gap{position:relative;display:block;width:100%;height:9px;margin:-2px 0;padding:0;border:0;background:transparent;cursor:pointer;z-index:1}.sf-gap-line{position:absolute;left:12px;right:12px;top:50%;height:2px;transform:translateY(-50%);border-radius:calc(var(--radius-sm) / 2);background:var(--sf-accent);opacity:0;transition:opacity .12s}.sf-gap-plus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);width:18px;height:18px;border-radius:50%;background:var(--sf-accent);color:var(--sf-on-accent);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);line-height:1;box-shadow:0 0 0 2px var(--sf-panel);opacity:0;transition:opacity .12s,transform .12s}.sf-gap:hover .sf-gap-line,.sf-gap:focus-visible .sf-gap-line{opacity:1}.sf-gap:hover .sf-gap-plus,.sf-gap:focus-visible .sf-gap-plus{opacity:1;transform:translate(-50%,-50%) scale(1)}.sf-subtree{margin:var(--es-rhythm-between) 0 var(--es-rhythm-between) 16px;padding-left:var(--space-12);border-left:1px solid var(--sf-line);display:flex;flex-direction:column;gap:var(--es-rhythm-between)}.sf-addside-sitewide{display:flex;align-items:center;gap:var(--space-12);margin-top:16px;padding:var(--space-12);border:1px solid var(--sf-divider);border-radius:var(--radius-xl)}.sf-addside-sitewide-glyph{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-lg);background:var(--sf-hover);color:var(--sf-muted)}.sf-addside-sitewide-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;background:none;font:600 var(--text-xs)/1.3 var(--sf-font);color:var(--sf-text);text-align:left;cursor:pointer}.sf-addside-sitewide-name:hover{color:var(--sf-accent)}.sf-addside-sitewide-desc{font-weight:400;font-size:var(--text-xs);color:var(--sf-muted)}.sf-thumb{--sf-thumb-card: #ffffff;--sf-thumb-thumb-bg: #fcfdff;--sf-thumb-thumb-border: #edeff4;--sf-thumb-block: #e9ebf0;--sf-thumb-bar-light: #dde1e8;--sf-thumb-bar-dark: #c3c9d3;--sf-thumb-hatch1: #e2e5ec;--sf-thumb-hatch2: #edeff4;--sf-thumb-accent: #2f6bed;--sf-thumb-accent-tint: #e6edfd;--sf-thumb-border: #e7eaf1;--sf-thumb-ink: #1b2027;--sf-thumb-ink-2: #39434f;--sf-thumb-ink-soft: #2c3540;--sf-thumb-ink-soft-2: #4a5763;--sf-thumb-paper: #f4f1ed;--sf-thumb-paper-2: #cfc8bf;--sf-thumb-warm: #e7c26a;--sf-thumb-rust: #b4652a;--sf-thumb-on-ink: #ffffff;--sf-thumb-scene-text: #171412;--sf-thumb-scene-muted: #6b7280;--sf-thumb-scene-rule: #eceef1;--sf-thumb-mark-1: #c8ccd1;--sf-thumb-mark-2: #8e9aa6;--sf-thumb-scrim: rgba(0, 0, 0, .55)}@keyframes sf-thumb-marquee{0%{transform:translate(0)}to{transform:translate(-33.34%)}}.sf-addcard-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--sf-addcard-veil);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .15s;pointer-events:none}.sf-addcard:hover .sf-addcard-overlay,.sf-addcard:focus-visible .sf-addcard-overlay{opacity:1}.sf-addcard-addbtn{display:inline-flex;align-items:center;gap:var(--space-8);background:var(--sf-accent);color:var(--sf-on-accent);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-16);font-size:var(--text-xs);font-weight:600;box-shadow:0 4px 12px var(--sf-accent-shadow)}.sf-addcard-plus{font-size:var(--text-base);line-height:1;margin-top:-1px}.sf-addcard-meta{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px}.sf-addcard-name{font-size:var(--text-xs);font-weight:600;color:var(--sf-text)}.sf-addcard-desc{font-size:var(--text-2xs);line-height:1.35;color:var(--sf-muted)}.sf-addempty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-12);padding:64px 20px;text-align:center;color:var(--sf-muted)}.sf-addempty-icon{display:flex;color:var(--sf-field-placeholder)}.sf-addempty-icon svg{width:30px;height:30px}.sf-addempty-title{font-size:var(--text-sm);font-weight:600;color:var(--sf-text)}.sf-frame--tablet,.sf-frame--mobile{align-self:stretch}.sf-frame--tablet{width:800px;outline:1px solid var(--sf-device-border);outline-offset:-1px}.sf-frame--mobile{width:390px;outline:1px solid var(--sf-device-border);outline-offset:-1px}[data-puck-entry] .es-zone:empty:not(.is-area-selected):not(.is-hovering-area:not(.is-root)){outline:none}[data-puck-entry] .es-zone.is-area-selected:not(.is-root),[data-puck-entry] .es-zone.is-hovering-area:not(.is-root){outline:none}[data-puck-entry] .es-zone:empty:is(.is-area-selected,.is-hovering-area:not(.is-root)){outline:1px solid var(--es-accent-line, #bfdbfe)}[data-puck-overlay-portal]:hover{outline:1px solid color-mix(in srgb,var(--es-accent, #2563eb) 60%,transparent);outline-offset:2px}[data-puck-overlay-portal],[data-puck-overlay-portal] *{pointer-events:auto!important}[data-puck-overlay-portal]:focus-within{outline:2px solid var(--es-accent-line, #bfdbfe);outline-offset:2px}[data-puck-overlay-portal]:hover:has([data-puck-overlay-portal]:hover){outline:none}[data-puck-entry]:has([data-puck-overlay-portal]:hover) .es-canvas-outline.is-hover{outline:none}.sf-insp-body{flex:1;overflow-y:auto;scrollbar-gutter:stable;padding-block:var(--space-4) var(--space-20);--sf-insp-bar-w: 0px;--sf-insp-pad-end: calc(var(--es-insp-pad-x) - var(--sf-insp-bar-w));padding-inline-end:var(--sf-insp-pad-end);--sf-select-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c3c3c3'><polygon points='0,0 100,0 50,50'/></svg>")}@supports selector(::-webkit-scrollbar){.sf-insp-body{--sf-insp-bar-w: var(--space-8)}.sf-insp-body::-webkit-scrollbar{width:var(--sf-insp-bar-w)}.sf-insp-body::-webkit-scrollbar-thumb{border-width:var(--space-2)}}.sf-insp-body input[type=text]:not(:where(.rosh-focus-ring)),.sf-insp-body input[type=number]:not(:where(.rosh-focus-ring)),.sf-insp-body input:not([type]):not(:where(.rosh-focus-ring)),.sf-insp-body textarea:not(:where(.rosh-focus-ring)){width:100%;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);color:var(--sf-field-text);font-family:var(--sf-font)}.sf-insp-body input:not(:where(.rosh-focus-ring))::placeholder,.sf-insp-body textarea:not(:where(.rosh-focus-ring))::placeholder{color:var(--sf-field-placeholder);opacity:1}.sf-insp-body textarea:not(:where(.rosh-focus-ring)){min-height:74px;line-height:1.45;resize:vertical}.sf-insp-body input[type=text]:not(:where(.rosh-focus-ring)):focus,.sf-insp-body input:not([type]):not(:where(.rosh-focus-ring)):focus,.sf-insp-body textarea:not(:where(.rosh-focus-ring)):focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-insp-body input[aria-invalid=true]{border-color:var(--sf-danger)}.sf-insp-body select{width:100%;border:1px solid var(--sf-input-border);background-color:var(--sf-field-bg);appearance:none;-webkit-appearance:none;background-image:var(--sf-select-arrow);background-size:12px;background-repeat:no-repeat;background-position:calc(100% - 12px) calc(50% + 3px);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);color:var(--sf-field-text);cursor:pointer}.sf-editor .sf-body .sf-panel .sf-insp-body select:hover{background-color:var(--sf-hover);background-image:var(--sf-select-arrow);border-color:var(--sf-input-border)}.sf-insp-body input[type=range]{accent-color:var(--sf-accent)}.sf-multi-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-multi-btn:focus-visible{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-multi-caret{font-size:var(--text-2xs);color:var(--sf-text-secondary);flex:none}.sf-multi-menu{margin:var(--space-8) 0 0;padding:4px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);display:flex;flex-direction:column}.sf-secttheme-btn{display:block;width:100%}.sf-secttheme-btn:focus-within{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-secttheme-btn .sf-theme-pick:focus-visible,.sf-secttheme-btn .sf-theme-edit:focus-visible{outline:none}.sf-secttheme-caret{flex:none;border:0;background:none;padding:var(--space-4) var(--space-2) var(--space-4) var(--space-8);font:inherit;line-height:1;color:var(--sf-text-secondary);cursor:pointer}.sf-secttheme-oncard{margin:0;padding:var(--space-8) var(--space-4) var(--space-8);font-size:var(--text-2xs);line-height:1.4;color:var(--sf-text-secondary)}.sf-secttheme-nopreview{display:block;height:74px;background:var(--sf-field-bg);border-bottom:1px dashed var(--sf-input-border)}.sf-secttheme-chip{width:30px;height:20px;flex:none;display:flex;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--line-strong)}.sf-secttheme-chip i{display:block;height:100%;flex:1 1 auto}.sf-secttheme-chip i.sf-secttheme-chip-accent{flex:0 0 40%}.sf-secttheme-chip--none{background:var(--sf-field-bg);border-style:dashed}.sf-secttheme-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1 1 auto;min-width:0}.sf-secttheme-menu{display:flex;flex-direction:column;padding:4px;gap:8px;background:var(--sf-accent-tint)}.sf-secttheme-menu>.sf-secttheme-item{flex:none}.sf-secttheme-item{display:flex;align-items:center;gap:var(--space-12);width:100%;padding:var(--space-8) var(--space-8);border:0;background:transparent;border-radius:max(calc(var(--sf-field-radius) - 2px),2px);font-size:var(--text-sm);font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-secttheme-item:hover{background:var(--sf-accent-ring)}.sf-secttheme-item.is-active{background:var(--sf-accent-ring);font-weight:600}.sf-secttheme-item:focus-visible,.sf-secttheme-done:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px;border-radius:var(--radius-sm)}.sf-secttheme-sep{height:1px;margin:var(--space-4) 0;background:var(--sf-input-border)}.sf-secttheme-sheet{margin-top:var(--space-8);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);overflow:hidden}.sf-secttheme-sheet-head{display:flex;align-items:center;padding:var(--space-8) var(--space-12);background:var(--sf-field-bg);border-bottom:1px solid var(--sf-input-border);font-size:var(--text-xs);font-weight:600;color:var(--sf-field-text)}.sf-secttheme-done{margin-left:auto;padding:2px 4px;border:0;background:transparent;color:var(--sf-text-secondary);font-size:var(--text-2xs);font-family:var(--sf-font);cursor:pointer}.sf-secttheme-rows{padding:0 12px 12px}.sf-secttheme-rows>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-secttheme-warn{margin:0;padding:var(--space-8) var(--space-12);border-top:1px solid var(--sf-input-border);background:var(--sf-accent-ring);font-size:var(--text-2xs);line-height:1.4;color:var(--sf-text-secondary)}.sf-panel--hidden{display:none}.sf-pages,.sf-styles{display:flex;flex-direction:column;min-height:0;height:100%}.sf-pages-find{flex:none;padding:0 var(--space-12) var(--space-8)}.sf-pages>.sf-note{margin:0 var(--space-12);padding:var(--space-12)}.sf-pages>.sf-note--error{margin-top:var(--space-4)}.sf-panel-head-actions{display:flex;align-items:center;gap:2px}.sf-insp-body .es-insp-tabs{padding:0;position:sticky;top:0;z-index:2;background:var(--sf-panel);box-shadow:0 -16px 0 0 var(--sf-panel)}.sf-field{margin-top:var(--es-rhythm-between)}.sf-insp-body .es-insp-row:has(.es-group-sub),.sf-theme-colours .es-group-sub,.sf-secttheme-rows .es-group-sub{border-top:1px solid var(--sf-line);margin-top:var(--space-32);padding-top:var(--space-32);margin-left:calc(var(--es-insp-pad-x) * -1);margin-right:calc(var(--sf-insp-pad-end) * -1);padding-left:var(--es-insp-pad-x);padding-right:var(--sf-insp-pad-end)}.sf-insp-body .es-insp-row:has(.es-group-sub) .es-group-sub{margin-top:0}.sf-insp-body .es-insp-row:nth-child(1 of:not([hidden],:empty,:has(>[data-sf-device-hidden],>[data-sf-no-control]))):has(.es-group-sub){border-top:0;margin-top:0;padding-top:var(--es-rhythm-group-first)}.sf-insp-body .es-insp-row:has(.es-group-sub)+.es-insp-row .sf-field,.sf-insp-body .es-insp-row:has(.es-group-head)+.es-insp-row .sf-field{margin-top:var(--es-rhythm-group-first)}.sf-field-label{display:block;font-size:var(--text-xs);font-weight:500;color:var(--sf-text-secondary);margin-bottom:var(--es-rhythm-within)}.sf-field-label--inline{margin-bottom:0}.sf-panel--right.sf-hints-folded .es-field-hint:not(.sf-hint-keep):not(:has(.sf-hint-keep)){display:none}.es-field-hint:has(.sf-hint-while-typing){display:none}.es-field:focus-within>.es-field-hint:has(.sf-hint-while-typing){display:block}.es-insp-row:has(>[data-sf-no-control]){display:none!important}.sf-header-value[data-changed]{color:var(--sf-text)}.sf-field-readonly{border:1px solid var(--sf-input-border);background:var(--sf-chip-bg);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);color:var(--sf-text-secondary);font-family:var(--sf-font);cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-position-line{display:flex;align-items:center;gap:8px}.sf-position-line>:first-child{flex:1;min-width:0}.sf-field-head{display:flex;align-items:center;gap:8px;margin-bottom:var(--es-rhythm-within)}.sf-field-head .sf-field-label{flex:1;min-width:0;margin-bottom:0}.sf-field-eye{flex:none;width:22px;height:22px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;opacity:.6;transition:background .12s,color .12s,opacity .12s}.sf-field-eye:hover{background:var(--sf-hover);opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden .es-field-label{color:var(--sf-muted);text-decoration:line-through}.es-field.is-hidden .sf-field-eye{opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden input,.es-field.is-hidden textarea,.es-field.is-hidden .sf-markup-bar{opacity:.5}.sf-copybox{border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);overflow:hidden}.sf-copybox:focus-within{border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-copybox>.sf-markup-bar{margin-bottom:0;padding:var(--space-4) var(--space-8);border-bottom:1px solid var(--sf-input-border);background:var(--sf-hover)}.sf-copybox:not(:focus-within)>.sf-markup-bar{display:none}.sf-copybox>input,.sf-copybox>textarea,.sf-insp-body .sf-copybox>input[type=text],.sf-insp-body .sf-copybox>input:not([type]),.sf-insp-body .sf-copybox>textarea{border:none;border-radius:0;background:transparent;display:block;width:100%}.sf-copybox>input:focus,.sf-copybox>textarea:focus,.sf-insp-body .sf-copybox>input[type=text]:focus,.sf-insp-body .sf-copybox>input:not([type]):focus,.sf-insp-body .sf-copybox>textarea:focus{box-shadow:none}.sf-swatches{display:flex;align-items:center;gap:var(--space-12)}.sf-swatch{width:26px;height:26px;border-radius:var(--radius-lg);border:none;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px var(--line-strong)}.sf-swatch.is-active{box-shadow:0 0 0 2px var(--sf-panel),0 0 0 4px var(--sf-accent)}.sf-swatch-hex{font-size:var(--text-2xs);color:var(--sf-muted);font-variant-numeric:tabular-nums;margin-left:2px}.sf-colour{display:inline-flex;align-items:center;gap:var(--space-8);min-width:0}.es-field-head>.sf-colour{margin-left:auto}.sf-colour-hexwrap{flex:none;display:flex}.sf-colour-caption{font-size:var(--text-xs);color:var(--sf-muted);white-space:nowrap}.sf-editor .sf-colour input.sf-colour-hex.is-inherited,.sf-editor .sf-insp-body .sf-colour input[type=text].sf-colour-hex.is-inherited{color:var(--sf-muted)}.sf-chooser{display:flex;width:100%;align-items:center;gap:8px;padding:var(--space-8) var(--space-12);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-field-text);font-size:var(--text-sm);text-align:left;cursor:pointer}.sf-chooser:hover{background:var(--sf-hover)}.sf-chooser-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-chooser-meta{flex:none;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--sf-disabled)}.sf-chooser-caret{flex:none;color:var(--sf-disabled)}.sf-chooser-menu{position:absolute;left:0;z-index:50;margin-top:4px;width:100%;overflow:hidden;padding:4px 0;border:1px solid var(--sf-divider);border-radius:var(--sf-field-radius);background:var(--sf-panel);box-shadow:var(--es-menu-shadow)}.sf-chooser-menu--tall{max-height:256px;overflow:hidden auto}.sf-chooser-item{display:flex;width:100%;align-items:center;gap:8px;padding:var(--space-8) var(--space-12);border:0;background:none;text-align:left;font-size:var(--text-sm);color:var(--sf-text-secondary);cursor:pointer}.sf-chooser-item:hover{background:var(--sf-hover)}.sf-chooser-item.is-active{font-weight:600;color:var(--sf-text)}.sf-chooser-add{color:var(--sf-accent-text);font-weight:500}.sf-chooser-add:hover{background:var(--sf-hover)}.sf-rungs{display:flex;width:100%;gap:4px}.sf-rung{flex:1;padding:4px 8px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text-secondary);font-size:var(--text-xs);cursor:pointer}.sf-rung:hover:not(.is-active){background:var(--sf-hover)}.sf-rung.is-active{border-color:var(--sf-disabled);background:var(--sf-chip-bg);color:var(--sf-text);font-weight:600}.sf-shadow-chip{display:block;flex:none;box-sizing:border-box;width:16px;height:11px;border:1px solid var(--sf-disabled);background:var(--sf-field-bg)}.sf-hints{display:flex;margin-top:var(--space-32)}.sf-hints-toggle{display:inline-flex;flex:none;align-items:center;gap:var(--space-8);color:var(--sf-muted)}.sf-hints-toggle svg{flex:none}.sf-scale-a{flex:none;font-size:var(--text-2xs);line-height:1;color:var(--sf-disabled)}.sf-scale-a--lg{font-size:var(--text-base);color:var(--sf-muted)}.sf-auto-reset{padding:var(--space-2) var(--space-8);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);font-size:var(--text-2xs);color:var(--sf-text-secondary);cursor:pointer}.sf-auto-reset:hover{background:var(--sf-hover)}.sf-site-styles-tabpanel>:first-child{margin-top:var(--es-rhythm-group-first)}.sf-style-list{display:flex;flex-direction:column}.sf-style-head{display:flex;width:100%;align-items:center;gap:8px;padding:var(--space-12) 0;background:none;border:0;text-align:left;cursor:pointer}.sf-style-head:hover .sf-style-sample{color:var(--sf-text)}.sf-style-caret{display:inline-flex;flex:none;align-items:center;color:var(--sf-disabled);transition:transform .12s ease}.sf-style-row.is-open .sf-style-caret{transform:rotate(90deg)}.sf-style-name{flex:none;font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-style-sample{min-width:0;margin-left:auto;overflow:hidden;color:var(--sf-text);text-overflow:ellipsis;white-space:nowrap}.sf-style-sample-tip{position:relative;display:flex;min-width:0;margin-left:auto}.sf-style-slot{display:inline-flex;flex:none;width:14px;height:14px;align-items:center;justify-content:center;color:var(--sf-muted);opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .16s ease}.sf-style-slot.is-saved{opacity:1;transform:scale(1)}@media(prefers-reduced-motion:reduce){.sf-style-slot{transition:none}}.sf-style-body{padding:2px 0 12px}.sf-select{padding:var(--space-8) var(--space-8);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text);font-size:var(--text-xs);cursor:pointer}.sf-rung--glyph{flex:0 0 34px;font-size:var(--text-sm);line-height:18px;text-align:center}.sf-rung--glyph:disabled{color:var(--sf-disabled);cursor:not-allowed}.sf-rung--glyph:disabled:hover{background:var(--sf-field-bg)}.sf-rung-tip{position:relative;display:inline-flex;flex:0 0 34px}.sf-rung-tip .sf-rung--glyph{flex:1}.sf-tip-disabled{display:inline-flex}.sf-rung-tip>.sf-tip-disabled{flex:1}.sf-tip-disabled>button:disabled{pointer-events:none}.sf-tip-disabled:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sf-theme-list{display:flex;flex-direction:column;gap:8px;margin-top:max(var(--es-row-gap),var(--es-rhythm-group-first))}.sf-theme-card,.sf-secttheme-btn{border:1px solid var(--sf-input-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--sf-panel)}.sf-theme-card:hover,.sf-secttheme-btn:hover{border-color:var(--sf-muted)}.sf-theme-card.is-selected{border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-accent-ring)}.sf-theme-pick{display:block;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}.sf-theme-page{display:flex;flex-direction:column;gap:4px;padding:var(--space-12) var(--space-12)}.sf-theme-eyebrow{font-size:7.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1}.sf-theme-headline{font-size:var(--text-sm);font-weight:750;letter-spacing:-.01em;line-height:1.1}.sf-theme-body{font-size:9.5px;line-height:1.4;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-theme-row{display:flex;align-items:center;gap:var(--space-8);margin-top:1px}.sf-theme-btn{font-size:8.5px;font-weight:700;letter-spacing:.02em;padding:var(--space-8) var(--space-12);border-radius:var(--radius-sm);white-space:nowrap;flex:none}.sf-theme-mini{flex:1;min-width:0;height:22px;border-radius:var(--radius-sm);border:1px solid;display:flex;align-items:center;justify-content:center;font-size:7.5px;font-weight:600;opacity:.75}.sf-theme-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--space-8) var(--space-8) var(--space-8) var(--space-12);background:var(--sf-hover)}.sf-theme-card.is-selected .sf-theme-foot{color:var(--sf-accent-text)}.sf-theme-name{font-size:var(--text-2xs);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-theme-warn{flex:none;margin-left:auto;font-size:var(--text-2xs);font-weight:700;color:var(--status-warning-soft-ink);white-space:nowrap}.sf-theme-warn+.sf-theme-edit{margin-left:8px}.sf-theme-name{margin-right:auto}.sf-theme-edit{flex:none}.sf-theme-colours{padding:0 12px 12px}.sf-theme-colours[hidden]{display:none}.sf-theme-colours>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-theme-reset{margin-top:var(--es-rhythm-between-tight)}.sf-theme-add{display:flex;align-items:center;gap:var(--space-8);margin-top:8px;border:0;background:none;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--sf-accent-text);padding:4px 0;cursor:pointer}.sf-theme-add:hover{text-decoration:underline}.sf-colour-lede{margin-top:-3px;margin-bottom:var(--space-12)}.sf-colour-pair{border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius);padding:var(--space-2) var(--space-12) var(--space-12);background:var(--sf-app-bg)}.sf-colour-row{margin-top:var(--space-12);display:flex;align-items:center;justify-content:space-between;gap:12px}.sf-colour-mode{font-size:var(--text-xs);font-weight:500;color:var(--sf-text-secondary)}.sf-colour-mode small{display:block;margin-top:1px;font-size:var(--text-2xs);font-weight:400;color:var(--sf-muted)}.sf-readability{margin-top:var(--space-12);padding:var(--space-12) var(--space-12) var(--space-12);border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius)}.sf-readability-row{display:flex;align-items:center;gap:var(--space-12);padding:4px 0;font-size:var(--text-xs)}.sf-readability-who{flex:1;color:var(--sf-text-secondary)}.sf-readability-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--sf-disabled)}.sf-readability-val{color:var(--sf-muted)}.sf-readability-dot.is-good{background:var(--sf-muted)}.sf-readability-dot.is-large-only{background:var(--sf-warning)}.sf-readability-dot.is-hard{background:var(--sf-danger)}.sf-readability-val.is-good{color:var(--sf-text-secondary)}.sf-readability-val.is-large-only{color:var(--sf-warning)}.sf-readability-val.is-hard{color:var(--sf-danger)}.sf-readability-advice{margin-top:var(--space-8);font-size:var(--text-2xs);line-height:1.6;color:var(--sf-muted)}.sf-readability-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:8px}.sf-readability-suggestion{display:inline-flex;align-items:center;gap:var(--space-8);height:26px;padding:0 var(--space-12);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-btn-text);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;cursor:pointer}.sf-readability-suggestion:hover{background:var(--sf-hover)}.sf-readability-chip{width:9px;height:9px;flex:none;border-radius:calc(var(--radius-sm) / 2);box-shadow:inset 0 0 0 1px var(--line-strong)}.sf-slider{display:flex;align-items:center;gap:12px}.es-field-ctl>.sf-slider{flex:1;min-width:0}.sf-slider>.sf-slider-track{flex:1;min-width:0}.sf-slider.has-notch{position:relative}.sf-slider.has-notch:before{content:"";position:absolute;top:50%;left:calc(7px + (100% - 14px) * var(--sf-notch));width:2px;height:10px;margin-top:-5px;border-radius:calc(var(--radius-sm) / 2);background:var(--sf-input-border);pointer-events:none}.sf-preview-pin{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:var(--space-12) var(--space-16);background:var(--sf-panel)}.sf-preview-pin-text{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.sf-preview-pin-label{font-size:var(--text-sm);font-weight:500;color:var(--sf-text)}.sf-preview-pin-hint{font-size:var(--text-2xs);color:var(--sf-muted)}.sf-colstep{display:flex;align-items:center;gap:var(--space-8)}.sf-colstep-value{min-width:14px;text-align:center;font-size:var(--text-sm);font-weight:500;color:var(--sf-text)}.sf-checkbox{cursor:pointer}.sf-locked{opacity:.5;pointer-events:none}.sf-seg2 button:focus-visible,.sf-readability-suggestion:focus-visible,.sf-swatch:focus-visible,.sf-field-eye:focus-visible,.sf-insp-body select:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}.sf-seg2 button:focus-visible{outline-offset:-1px}.sf-seg2{display:flex;gap:var(--space-4);background:var(--sf-track-bg);border:1px solid var(--sf-input-border);border-radius:var(--radius-lg);padding:var(--space-4)}.sf-seg2 button{flex:1;border:none;background:transparent;border-radius:var(--radius-md);padding:var(--space-8) var(--space-8);font-size:var(--text-xs);font-weight:500;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}@container (width < 284px){.sf-seg2 button{padding-inline:var(--space-8)}}.sf-seg2 button:hover:not(.is-active){color:var(--sf-text-secondary);background:var(--sf-hover)}.sf-seg2 button.is-active{background:var(--sf-raised);color:var(--sf-text-strong);box-shadow:var(--es-raised-shadow)}.sf-seg2[data-disabled]{opacity:.5;cursor:not-allowed}.sf-seg2[data-disabled] button{cursor:not-allowed;color:var(--sf-disabled)}.sf-seg2[data-disabled] button.is-active{color:var(--sf-text-secondary)}.sf-seg2[data-disabled] button:hover:not(.is-active){background:transparent;color:var(--sf-disabled)}.sf-seg2 button>svg{display:block;margin:0 auto}.es-list-above>.sf-markup-bar{margin-bottom:0}input.sf-list-marking{border-color:var(--sf-accent);box-shadow:0 0 0 1px var(--sf-accent-tint)}.sf-blogsource{display:flex;flex-direction:column;gap:var(--space-12)}.sf-blogsource-action{align-self:flex-start}.sf-blogsource-status{margin:0;font-size:var(--text-xs);color:var(--sf-text-secondary)}.sf-blogsource-status[data-state=error]{color:var(--sf-danger)}.sf-source-open{display:inline;padding:0;border:0;background:none;font:inherit;color:var(--sf-accent-text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.sf-source-open:hover{color:var(--sf-accent)}.sf-source-open:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:calc(var(--radius-sm) / 2)}.sf-formpicker{display:flex;flex-direction:column;gap:var(--space-12)}.sf-formsummary-caption{margin-bottom:4px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.02em;color:var(--sf-text-secondary)}.sf-formsummary-fields{margin:0;padding-left:var(--space-20);font-size:var(--text-xs);line-height:1.55;color:var(--sf-text-secondary)}.sf-formsummary-warn{margin:0;font-size:var(--text-xs);line-height:1.45;color:var(--sf-danger)}.sf-formsummary-actions{display:flex;flex-wrap:wrap;gap:8px}.sf-image-slot-inert{border:1.5px dashed var(--sf-input-border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-16);font-size:var(--text-xs);line-height:1.5;color:var(--sf-muted);background-image:repeating-linear-gradient(45deg,var(--sf-hatch) 0 1px,transparent 1px 12px)}.sf-note{padding:var(--space-16) var(--space-16);font-size:var(--text-sm);line-height:1.5;color:var(--sf-muted)}.sf-note p+p{margin-top:8px}.sf-note strong{color:var(--sf-text);font-weight:600}.sf-note-detail{margin-top:var(--space-12);font-size:var(--text-2xs);color:var(--sf-muted);opacity:.75;word-break:break-all}.sf-note--error{color:var(--sf-danger);background:var(--sf-danger-tint);border-radius:var(--radius-md)}.sf-part-style{position:relative;margin:0 0 4px;padding:var(--space-12) var(--space-16);border:1px solid var(--sf-divider);border-radius:var(--radius-xl);background:var(--sf-track-bg)}.sf-part-style.has-overrides{border-color:var(--sf-accent-ring)}.sf-part-style.has-overrides:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--sf-accent);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.sf-part-style-caption{margin-bottom:2px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-part-style-count{margin-bottom:var(--space-4);font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-part-style-name{min-width:0;font-size:var(--text-xl);line-height:1.15;letter-spacing:-.01em;color:var(--sf-text-strong);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sf-part-style-pick{position:relative}.sf-part-style-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;min-width:0}.sf-part-style-trigger .sf-part-style-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-part-style-sign{margin-left:auto;width:16px;flex:none;text-align:center;color:var(--sf-muted);font-size:var(--text-sm);line-height:1}.sf-part-style-trigger[aria-expanded=false] .sf-part-style-sign:before{content:"+"}.sf-part-style-trigger[aria-expanded=true] .sf-part-style-sign:before{content:"\2212"}.sf-part-style-trigger:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sf-part-style-menu{position:absolute;z-index:30;left:0;right:0;box-shadow:var(--es-menu-shadow)}.sf-part-style-option{display:flex;align-items:baseline;gap:8px;width:100%;padding:var(--space-8) var(--space-12);border:0;background:none;text-align:left;font-size:var(--text-sm);color:var(--sf-field-text);border-radius:max(calc(var(--sf-field-radius) - 2px),2px);cursor:pointer}.sf-part-style-option:hover{background:var(--sf-accent-ring)}.sf-part-style-option:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px}.sf-part-style-option.is-on{background:var(--sf-accent-ring);font-weight:600}.sf-part-style-option-name{flex:0 0 auto;white-space:nowrap}.sf-part-style-option .sf-note{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.es-fsel-label.sf-part-style-keep{flex:none}.sf-part-style-aside{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs);font-weight:400;color:var(--es-muted)}.sf-part-style-meta{margin-top:1px;font-size:var(--text-2xs);color:var(--sf-muted);font-variant-numeric:tabular-nums}.sf-part-style-top{display:flex;align-items:center;gap:var(--space-12);margin-top:8px}.sf-part-style-gap{flex:1}.sf-part-style-state{font-size:var(--text-xs);color:var(--sf-text-secondary)}.sf-part-chip{display:inline-flex;align-items:center;border-radius:999px;padding:var(--space-2) var(--space-12);background:var(--sf-accent-tint);color:var(--sf-accent-text);font-size:var(--text-2xs);font-weight:700;font-variant-numeric:tabular-nums}.sf-part-link{border:0;background:none;padding:0;font:inherit;font-size:var(--text-xs);font-weight:500;color:var(--sf-accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--sf-accent-ring)}.sf-part-link:hover{text-decoration-color:currentColor}.es-group-body>.sf-note{margin:12px 0 -4px;padding:0 0 0 2px}.sf-slot-rows>.sf-note{padding:var(--space-12) var(--space-12) var(--space-12)}.sf-part-field.is-style-value>.es-field-head>.es-field-value{color:var(--sf-muted)}.sf-part-select{width:100%;min-width:0}.sf-part-ink{display:flex;flex-direction:column;gap:8px;min-width:0}.sf-part-ink-top{display:flex;align-items:baseline;gap:8px}.sf-part-ink-label{font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-part-ink-read{margin-left:auto;font-size:var(--text-xs);color:var(--sf-text-secondary);font-variant-numeric:tabular-nums}.sf-part-ink-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8)}.sf-part-mark{width:18px;height:18px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--sf-accent);cursor:pointer}.sf-part-mark-dot{transform-origin:center;transition:transform .15s ease,opacity .15s ease}.sf-part-mark-arrow{opacity:0;transition:opacity .15s ease}.sf-part-mark:hover .sf-part-mark-dot,.sf-part-mark:focus-visible .sf-part-mark-dot{transform:scale(0);opacity:0}.sf-part-mark:hover .sf-part-mark-arrow,.sf-part-mark:focus-visible .sf-part-mark-arrow{opacity:1}@media(prefers-reduced-motion:reduce){.sf-part-mark-dot,.sf-part-mark-arrow{transition:none}}.sf-part-text{margin-top:4px;margin-bottom:4px}.sf-part-text .sf-copybox textarea{min-height:84px;line-height:1.5;resize:vertical}.sf-entries{margin-top:32px}.sf-entries-head{margin:var(--space-16) 0 var(--space-4);font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-entry-eye{display:inline-flex;align-items:center;color:var(--sf-muted)}.sf-slot-rows .sf-add-card{padding:var(--space-8) var(--space-12);border-radius:0}.sf-gallery-filter{display:flex;gap:var(--space-8);flex-wrap:wrap}.sf-gallery-filter button{border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:999px;padding:var(--space-4) var(--space-12);font-size:var(--text-xs);font-weight:600;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.sf-gallery-filter button:hover{background:var(--sf-hover)}.sf-gallery-filter button[aria-pressed=true]{background:var(--sf-accent);border-color:var(--sf-accent);color:var(--sf-on-accent)}.sf-gallery-layouts{margin-top:var(--space-8)}.es-field-ctl>.sf-gallery-layouts,.es-field-ctl>.sf-gallery-filter{flex:1 1 auto;min-width:0}.sf-gallery-pic{width:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:6px;grid-auto-flow:row dense;gap:2px}.sf-gallery-pic i{display:block;background:var(--sf-track-bg);border-radius:calc(var(--radius-sm) / 2)}.sf-gallery-layouts button[aria-pressed=true] .sf-gallery-pic i{background:var(--sf-accent)}.sf-gallery-count{font-size:var(--text-2xs);color:var(--sf-disabled);margin-top:var(--space-8)}.sf-locations-view{margin-top:var(--es-rhythm-between)}.sf-blogsource>.es-field-hint,.sf-formsummary .es-field-hint{margin:0}.es-field-ctl>.sf-copybox{flex:1 1 auto;min-width:0}.sf-canvas-notice{position:absolute;top:8px;left:8px;right:8px;z-index:1}.es-ts+.es-ts-section{margin-top:var(--es-rhythm-group)}.sf-version-title{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-8)}.sf-version-meta,.sf-version-foot{font-size:var(--text-xs);color:var(--sf-muted)}
1
+ .sf-embedded{height:100%;min-height:0}.sf-embedded .sf-editor{height:100%}.sf-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sf-panel-heading{display:flex;align-items:baseline;gap:var(--space-8);min-width:0}.sf-panel-site{display:block;margin:0;min-width:0;overflow:hidden;font-size:var(--text-2xs);font-weight:500;color:var(--sf-muted);white-space:nowrap;text-overflow:ellipsis}.sf-name-tip{position:relative;display:block;min-width:0;max-width:100%}.sf-name-text{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sf-panel-site:before{content:"\b7";margin-right:var(--space-8)}.sf-x{width:24px;height:24px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm)}.sf-x:hover{background:var(--sf-hover)}.sf-gap{position:relative;display:block;width:100%;height:9px;margin:-2px 0;padding:0;border:0;background:transparent;cursor:pointer;z-index:1}.sf-gap-line{position:absolute;left:12px;right:12px;top:50%;height:2px;transform:translateY(-50%);border-radius:calc(var(--radius-sm) / 2);background:var(--sf-accent);opacity:0;transition:opacity .12s}.sf-gap-plus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);width:18px;height:18px;border-radius:50%;background:var(--sf-accent);color:var(--sf-on-accent);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);line-height:1;box-shadow:0 0 0 2px var(--sf-panel);opacity:0;transition:opacity .12s,transform .12s}.sf-gap:hover .sf-gap-line,.sf-gap:focus-visible .sf-gap-line{opacity:1}.sf-gap:hover .sf-gap-plus,.sf-gap:focus-visible .sf-gap-plus{opacity:1;transform:translate(-50%,-50%) scale(1)}.sf-subtree{margin:var(--es-rhythm-between) 0 var(--es-rhythm-between) 16px;padding-left:var(--space-12);border-left:1px solid var(--sf-line);display:flex;flex-direction:column;gap:var(--es-rhythm-between)}.sf-addside-sitewide{display:flex;align-items:center;gap:var(--space-12);margin-top:16px;padding:var(--space-12);border:1px solid var(--sf-divider);border-radius:var(--radius-xl)}.sf-addside-sitewide-glyph{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-lg);background:var(--sf-hover);color:var(--sf-muted)}.sf-addside-sitewide-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;background:none;font:600 var(--text-xs)/1.3 var(--sf-font);color:var(--sf-text);text-align:left;cursor:pointer}.sf-addside-sitewide-name:hover{color:var(--sf-accent)}.sf-addside-sitewide-desc{font-weight:400;font-size:var(--text-xs);color:var(--sf-muted)}.sf-thumb{--sf-thumb-card: #ffffff;--sf-thumb-thumb-bg: #fcfdff;--sf-thumb-thumb-border: #edeff4;--sf-thumb-block: #e9ebf0;--sf-thumb-bar-light: #dde1e8;--sf-thumb-bar-dark: #c3c9d3;--sf-thumb-hatch1: #e2e5ec;--sf-thumb-hatch2: #edeff4;--sf-thumb-accent: #2f6bed;--sf-thumb-accent-tint: #e6edfd;--sf-thumb-border: #e7eaf1;--sf-thumb-ink: #1b2027;--sf-thumb-ink-2: #39434f;--sf-thumb-ink-soft: #2c3540;--sf-thumb-ink-soft-2: #4a5763;--sf-thumb-paper: #f4f1ed;--sf-thumb-paper-2: #cfc8bf;--sf-thumb-warm: #e7c26a;--sf-thumb-rust: #b4652a;--sf-thumb-on-ink: #ffffff;--sf-thumb-scene-text: #171412;--sf-thumb-scene-muted: #6b7280;--sf-thumb-scene-rule: #eceef1;--sf-thumb-mark-1: #c8ccd1;--sf-thumb-mark-2: #8e9aa6;--sf-thumb-scrim: rgba(0, 0, 0, .55)}@keyframes sf-thumb-marquee{0%{transform:translate(0)}to{transform:translate(-33.34%)}}.sf-addcard-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--sf-addcard-veil);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .15s;pointer-events:none}.sf-addcard:hover .sf-addcard-overlay,.sf-addcard:focus-visible .sf-addcard-overlay{opacity:1}.sf-addcard-addbtn{display:inline-flex;align-items:center;gap:var(--space-8);background:var(--sf-accent);color:var(--sf-on-accent);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-16);font-size:var(--text-xs);font-weight:600;box-shadow:0 4px 12px var(--sf-accent-shadow)}.sf-addcard-plus{font-size:var(--text-base);line-height:1;margin-top:-1px}.sf-addcard-meta{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px}.sf-addcard-name{font-size:var(--text-xs);font-weight:600;color:var(--sf-text)}.sf-addcard-desc{font-size:var(--text-2xs);line-height:1.35;color:var(--sf-muted)}.sf-addempty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-12);padding:64px 20px;text-align:center;color:var(--sf-muted)}.sf-addempty-icon{display:flex;color:var(--sf-field-placeholder)}.sf-addempty-icon svg{width:30px;height:30px}.sf-addempty-title{font-size:var(--text-sm);font-weight:600;color:var(--sf-text)}.sf-frame--tablet,.sf-frame--mobile{align-self:stretch}.sf-frame--tablet{width:800px;outline:1px solid var(--sf-device-border);outline-offset:-1px}.sf-frame--mobile{width:390px;outline:1px solid var(--sf-device-border);outline-offset:-1px}[data-puck-entry] .es-zone:empty:not(.is-area-selected):not(.is-hovering-area:not(.is-root)){outline:none}[data-puck-entry] .es-zone.is-area-selected:not(.is-root),[data-puck-entry] .es-zone.is-hovering-area:not(.is-root){outline:none}[data-puck-entry] .es-zone:empty:is(.is-area-selected,.is-hovering-area:not(.is-root)){outline:1px solid var(--es-accent-line, #bfdbfe)}[data-puck-overlay-portal]:hover{outline:1px solid color-mix(in srgb,var(--es-accent, #2563eb) 60%,transparent);outline-offset:2px}[data-puck-overlay-portal],[data-puck-overlay-portal] *{pointer-events:auto!important}[data-puck-overlay-portal]:focus-within{outline:2px solid var(--es-accent-line, #bfdbfe);outline-offset:2px}[data-puck-overlay-portal]:hover:has([data-puck-overlay-portal]:hover){outline:none}[data-puck-entry]:has([data-puck-overlay-portal]:hover) .es-canvas-outline.is-hover{outline:none}.sf-box-gap-only>[data-puck-component]>[data-sf-part-host]>*,.sf-box-gap-only>[data-puck-component]>[data-sf-part-host]>.sf-section-pad>*{padding-block:0}.sf-insp-body{flex:1;overflow-y:auto;scrollbar-gutter:stable;padding-block:var(--space-4) var(--space-20);--sf-insp-bar-w: 0px;--es-insp-pad-end: calc(var(--es-insp-pad-x) - var(--sf-insp-bar-w));padding-inline-end:var(--es-insp-pad-end);--sf-select-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c3c3c3'><polygon points='0,0 100,0 50,50'/></svg>")}@supports selector(::-webkit-scrollbar){.sf-insp-body{--sf-insp-bar-w: var(--space-8)}.sf-insp-body::-webkit-scrollbar{width:var(--sf-insp-bar-w)}.sf-insp-body::-webkit-scrollbar-thumb{border-width:var(--space-2)}}.sf-insp-body input[type=text]:not(:where(.rosh-focus-ring)),.sf-insp-body input[type=number]:not(:where(.rosh-focus-ring)),.sf-insp-body input:not([type]):not(:where(.rosh-focus-ring)),.sf-insp-body textarea:not(:where(.rosh-focus-ring)){width:100%;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);color:var(--sf-field-text);font-family:var(--sf-font)}.sf-insp-body input:not(:where(.rosh-focus-ring))::placeholder,.sf-insp-body textarea:not(:where(.rosh-focus-ring))::placeholder{color:var(--sf-field-placeholder);opacity:1}.sf-insp-body textarea:not(:where(.rosh-focus-ring)){min-height:74px;line-height:1.45;resize:vertical}.sf-insp-body input[type=text]:not(:where(.rosh-focus-ring)):focus,.sf-insp-body input:not([type]):not(:where(.rosh-focus-ring)):focus,.sf-insp-body textarea:not(:where(.rosh-focus-ring)):focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-insp-body input[aria-invalid=true]{border-color:var(--sf-danger)}.sf-insp-body select{width:100%;border:1px solid var(--sf-input-border);background-color:var(--sf-field-bg);appearance:none;-webkit-appearance:none;background-image:var(--sf-select-arrow);background-size:12px;background-repeat:no-repeat;background-position:calc(100% - 12px) calc(50% + 3px);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);color:var(--sf-field-text);cursor:pointer}.sf-editor .sf-body .sf-panel .sf-insp-body select:hover{background-color:var(--sf-hover);background-image:var(--sf-select-arrow);border-color:var(--sf-input-border)}.sf-insp-body input[type=range]{accent-color:var(--sf-accent)}.sf-multi-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-multi-btn:focus-visible{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-multi-caret{font-size:var(--text-2xs);color:var(--sf-text-secondary);flex:none}.sf-multi-menu{margin:var(--space-8) 0 0;padding:4px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);display:flex;flex-direction:column}.sf-secttheme-btn{display:block;width:100%}.sf-secttheme-btn:focus-within{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-secttheme-btn .sf-theme-pick:focus-visible,.sf-secttheme-btn .sf-theme-edit:focus-visible{outline:none}.sf-secttheme-caret{flex:none;border:0;background:none;padding:var(--space-4) var(--space-2) var(--space-4) var(--space-8);font:inherit;line-height:1;color:var(--sf-text-secondary);cursor:pointer}.sf-secttheme-oncard{margin:0;padding:var(--space-8) var(--space-4) var(--space-8);font-size:var(--text-2xs);line-height:1.4;color:var(--sf-text-secondary)}.sf-secttheme-nopreview{display:block;height:74px;background:var(--sf-field-bg);border-bottom:1px dashed var(--sf-input-border)}.sf-secttheme-chip{width:30px;height:20px;flex:none;display:flex;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--line-strong)}.sf-secttheme-chip i{display:block;height:100%;flex:1 1 auto}.sf-secttheme-chip i.sf-secttheme-chip-accent{flex:0 0 40%}.sf-secttheme-chip--none{background:var(--sf-field-bg);border-style:dashed}.sf-secttheme-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1 1 auto;min-width:0}.sf-secttheme-menu{display:flex;flex-direction:column;padding:4px;gap:8px;background:var(--sf-accent-tint)}.sf-secttheme-menu>.sf-secttheme-item{flex:none}.sf-secttheme-item{display:flex;align-items:center;gap:var(--space-12);width:100%;padding:var(--space-8) var(--space-8);border:0;background:transparent;border-radius:max(calc(var(--sf-field-radius) - 2px),2px);font-size:var(--text-sm);font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-secttheme-item:hover{background:var(--sf-accent-ring)}.sf-secttheme-item.is-active{background:var(--sf-accent-ring);font-weight:600}.sf-secttheme-item:focus-visible,.sf-secttheme-done:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px;border-radius:var(--radius-sm)}.sf-secttheme-sep{height:1px;margin:var(--space-4) 0;background:var(--sf-input-border)}.sf-secttheme-sheet{margin-top:var(--space-8);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);overflow:hidden}.sf-secttheme-sheet-head{display:flex;align-items:center;padding:var(--space-8) var(--space-12);background:var(--sf-field-bg);border-bottom:1px solid var(--sf-input-border);font-size:var(--text-xs);font-weight:600;color:var(--sf-field-text)}.sf-secttheme-done{margin-left:auto;padding:2px 4px;border:0;background:transparent;color:var(--sf-text-secondary);font-size:var(--text-2xs);font-family:var(--sf-font);cursor:pointer}.sf-secttheme-rows{padding:0 12px 12px}.sf-secttheme-rows>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-secttheme-warn{margin:0;padding:var(--space-8) var(--space-12);border-top:1px solid var(--sf-input-border);background:var(--sf-accent-ring);font-size:var(--text-2xs);line-height:1.4;color:var(--sf-text-secondary)}.sf-panel--hidden{display:none}.sf-pages,.sf-styles{display:flex;flex-direction:column;min-height:0;height:100%}.sf-pages-find{flex:none;padding:0 var(--space-12) var(--space-8)}.sf-pages>.sf-note{margin:0 var(--space-12);padding:var(--space-12)}.sf-pages>.sf-note--error{margin-top:var(--space-4)}.sf-panel-head-actions{display:flex;align-items:center;gap:2px}.sf-insp-body .es-insp-tabs{padding:0;position:sticky;top:0;z-index:2;background:var(--sf-panel);box-shadow:0 -16px 0 0 var(--sf-panel)}.sf-field{margin-top:var(--es-rhythm-between)}.sf-insp-body .es-insp-row:has(.es-group-sub),.sf-theme-colours .es-group-sub,.sf-secttheme-rows .es-group-sub{border-top:1px solid var(--sf-line);margin-top:var(--space-32);padding-top:var(--space-32);margin-left:calc(var(--es-insp-pad-x) * -1);margin-right:calc(var(--es-insp-pad-end) * -1);padding-left:var(--es-insp-pad-x);padding-right:var(--es-insp-pad-end)}.sf-insp-body .es-insp-row:has(.es-group-sub) .es-group-sub{margin-top:0}.sf-insp-body .es-insp-row:nth-child(1 of:not([hidden],:empty,:has(>[data-sf-device-hidden],>[data-sf-no-control]))):has(.es-group-sub){border-top:0;margin-top:0;padding-top:var(--es-rhythm-group-first)}.sf-insp-body .es-insp-row:has(.es-group-sub)+.es-insp-row .sf-field,.sf-insp-body .es-insp-row:has(.es-group-head)+.es-insp-row .sf-field{margin-top:var(--es-rhythm-group-first)}.sf-field-label{display:block;font-size:var(--text-xs);font-weight:500;color:var(--sf-text-secondary);margin-bottom:var(--es-rhythm-within)}.sf-field-label--inline{margin-bottom:0}.sf-panel--right.sf-hints-folded .es-field-hint:not(.sf-hint-keep):not(:has(.sf-hint-keep)){display:none}.es-field-hint:has(.sf-hint-while-typing){display:none}.es-field:focus-within>.es-field-hint:has(.sf-hint-while-typing){display:block}.es-insp-row:has(>[data-sf-no-control]){display:none!important}.sf-header-value[data-changed]{color:var(--sf-text)}.sf-field-readonly{border:1px solid var(--sf-input-border);background:var(--sf-chip-bg);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);color:var(--sf-text-secondary);font-family:var(--sf-font);cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-position-line{display:flex;align-items:center;gap:8px}.sf-position-line>:first-child{flex:1;min-width:0}.sf-field-head{display:flex;align-items:center;gap:8px;margin-bottom:var(--es-rhythm-within)}.sf-field-head .sf-field-label{flex:1;min-width:0;margin-bottom:0}.sf-field-eye{flex:none;width:22px;height:22px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;opacity:.6;transition:background .12s,color .12s,opacity .12s}.sf-field-eye:hover{background:var(--sf-hover);opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden .es-field-label{color:var(--sf-muted);text-decoration:line-through}.es-field.is-hidden .sf-field-eye{opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden input,.es-field.is-hidden textarea,.es-field.is-hidden .sf-markup-bar{opacity:.5}.sf-copybox{border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);overflow:hidden}.sf-copybox:focus-within{border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-copybox>.sf-markup-bar{margin-bottom:0;padding:var(--space-4) var(--space-8);border-bottom:1px solid var(--sf-input-border);background:var(--sf-hover)}.sf-copybox:not(:focus-within)>.sf-markup-bar{display:none}.sf-copybox>input,.sf-copybox>textarea,.sf-insp-body .sf-copybox>input[type=text],.sf-insp-body .sf-copybox>input:not([type]),.sf-insp-body .sf-copybox>textarea{border:none;border-radius:0;background:transparent;display:block;width:100%}.sf-copybox>input:focus,.sf-copybox>textarea:focus,.sf-insp-body .sf-copybox>input[type=text]:focus,.sf-insp-body .sf-copybox>input:not([type]):focus,.sf-insp-body .sf-copybox>textarea:focus{box-shadow:none}.sf-swatches{display:flex;align-items:center;gap:var(--space-12)}.sf-swatch{width:26px;height:26px;border-radius:var(--radius-lg);border:none;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px var(--line-strong)}.sf-swatch.is-active{box-shadow:0 0 0 2px var(--sf-panel),0 0 0 4px var(--sf-accent)}.sf-swatch-hex{font-size:var(--text-2xs);color:var(--sf-muted);font-variant-numeric:tabular-nums;margin-left:2px}.sf-colour{display:inline-flex;align-items:center;gap:var(--space-8);min-width:0}.es-field-head>.sf-colour{margin-left:auto}.sf-colour-hexwrap{flex:none;display:flex}.sf-colour-caption{font-size:var(--text-xs);color:var(--sf-muted);white-space:nowrap}.sf-editor .sf-colour input.sf-colour-hex.is-inherited,.sf-editor .sf-insp-body .sf-colour input[type=text].sf-colour-hex.is-inherited{color:var(--sf-muted)}.sf-chooser{display:flex;width:100%;align-items:center;gap:8px;padding:var(--space-8) var(--space-12);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-field-text);font-size:var(--text-sm);text-align:left;cursor:pointer}.sf-chooser:hover{background:var(--sf-hover)}.sf-chooser-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-chooser-meta{flex:none;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--sf-disabled)}.sf-chooser-caret{flex:none;color:var(--sf-disabled)}.sf-chooser-menu{position:absolute;left:0;z-index:50;margin-top:4px;width:100%;overflow:hidden;padding:4px 0;border:1px solid var(--sf-divider);border-radius:var(--sf-field-radius);background:var(--sf-panel);box-shadow:var(--es-menu-shadow)}.sf-chooser-menu--tall{max-height:256px;overflow:hidden auto}.sf-chooser-item{display:flex;width:100%;align-items:center;gap:8px;padding:var(--space-8) var(--space-12);border:0;background:none;text-align:left;font-size:var(--text-sm);color:var(--sf-text-secondary);cursor:pointer}.sf-chooser-item:hover{background:var(--sf-hover)}.sf-chooser-item.is-active{font-weight:600;color:var(--sf-text)}.sf-chooser-add{color:var(--sf-accent-text);font-weight:500}.sf-chooser-add:hover{background:var(--sf-hover)}.sf-rungs{display:flex;width:100%;gap:4px}.sf-rung{flex:1;padding:4px 8px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text-secondary);font-size:var(--text-xs);cursor:pointer}.sf-rung:hover:not(.is-active){background:var(--sf-hover)}.sf-rung.is-active{border-color:var(--sf-disabled);background:var(--sf-chip-bg);color:var(--sf-text);font-weight:600}.sf-shadow-chip{display:block;flex:none;box-sizing:border-box;width:16px;height:11px;border:1px solid var(--sf-disabled);background:var(--sf-field-bg)}.sf-hints{display:flex;margin-top:var(--space-32)}.sf-hints-toggle{display:inline-flex;flex:none;align-items:center;gap:var(--space-8);color:var(--sf-muted)}.sf-hints-toggle svg{flex:none}.sf-scale-a{flex:none;font-size:var(--text-2xs);line-height:1;color:var(--sf-disabled)}.sf-scale-a--lg{font-size:var(--text-base);color:var(--sf-muted)}.sf-auto-reset{padding:var(--space-2) var(--space-8);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);font-size:var(--text-2xs);color:var(--sf-text-secondary);cursor:pointer}.sf-auto-reset:hover{background:var(--sf-hover)}.sf-site-styles-tabpanel>:first-child{margin-top:var(--es-rhythm-group-first)}.sf-style-list{display:flex;flex-direction:column}.sf-style-head{display:flex;width:100%;align-items:center;gap:8px;padding:var(--space-12) 0;background:none;border:0;text-align:left;cursor:pointer}.sf-style-head:hover .sf-style-sample{color:var(--sf-text)}.sf-style-caret{display:inline-flex;flex:none;align-items:center;color:var(--sf-disabled);transition:transform .12s ease}.sf-style-row.is-open .sf-style-caret{transform:rotate(90deg)}.sf-style-name{flex:none;font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-style-sample{min-width:0;margin-left:auto;overflow:hidden;color:var(--sf-text);text-overflow:ellipsis;white-space:nowrap}.sf-style-sample-tip{position:relative;display:flex;min-width:0;margin-left:auto}.sf-style-slot{display:inline-flex;flex:none;width:14px;height:14px;align-items:center;justify-content:center;color:var(--sf-muted);opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .16s ease}.sf-style-slot.is-saved{opacity:1;transform:scale(1)}@media(prefers-reduced-motion:reduce){.sf-style-slot{transition:none}}.sf-style-body{padding:2px 0 12px}.sf-select{padding:var(--space-8) var(--space-8);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text);font-size:var(--text-xs);cursor:pointer}.sf-rung--glyph{flex:0 0 34px;font-size:var(--text-sm);line-height:18px;text-align:center}.sf-rung--glyph:disabled{color:var(--sf-disabled);cursor:not-allowed}.sf-rung--glyph:disabled:hover{background:var(--sf-field-bg)}.sf-rung-tip{position:relative;display:inline-flex;flex:0 0 34px}.sf-rung-tip .sf-rung--glyph{flex:1}.sf-tip-disabled{display:inline-flex}.sf-rung-tip>.sf-tip-disabled{flex:1}.sf-tip-disabled>button:disabled{pointer-events:none}.sf-tip-disabled:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sf-theme-list{display:flex;flex-direction:column;gap:8px;margin-top:max(var(--es-row-gap),var(--es-rhythm-group-first))}.sf-theme-card,.sf-secttheme-btn{border:1px solid var(--sf-input-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--sf-panel)}.sf-theme-card:hover,.sf-secttheme-btn:hover{border-color:var(--sf-muted)}.sf-theme-card.is-selected{border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-accent-ring)}.sf-theme-pick{display:block;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}.sf-theme-page{display:flex;flex-direction:column;gap:4px;padding:var(--space-12) var(--space-12)}.sf-theme-eyebrow{font-size:7.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1}.sf-theme-headline{font-size:var(--text-sm);font-weight:750;letter-spacing:-.01em;line-height:1.1}.sf-theme-body{font-size:9.5px;line-height:1.4;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-theme-row{display:flex;align-items:center;gap:var(--space-8);margin-top:1px}.sf-theme-btn{font-size:8.5px;font-weight:700;letter-spacing:.02em;padding:var(--space-8) var(--space-12);border-radius:var(--radius-sm);white-space:nowrap;flex:none}.sf-theme-mini{flex:1;min-width:0;height:22px;border-radius:var(--radius-sm);border:1px solid;display:flex;align-items:center;justify-content:center;font-size:7.5px;font-weight:600;opacity:.75}.sf-theme-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--space-8) var(--space-8) var(--space-8) var(--space-12);background:var(--sf-hover)}.sf-theme-card.is-selected .sf-theme-foot{color:var(--sf-accent-text)}.sf-theme-name{font-size:var(--text-2xs);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-theme-warn{flex:none;margin-left:auto;font-size:var(--text-2xs);font-weight:700;color:var(--status-warning-soft-ink);white-space:nowrap}.sf-theme-warn+.sf-theme-edit{margin-left:8px}.sf-theme-name{margin-right:auto}.sf-theme-edit{flex:none}.sf-theme-colours{padding:0 12px 12px}.sf-theme-colours[hidden]{display:none}.sf-theme-colours>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-theme-reset{margin-top:var(--es-rhythm-between-tight)}.sf-theme-add{display:flex;align-items:center;gap:var(--space-8);margin-top:8px;border:0;background:none;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--sf-accent-text);padding:4px 0;cursor:pointer}.sf-theme-add:hover{text-decoration:underline}.sf-colour-lede{margin-top:-3px;margin-bottom:var(--space-12)}.sf-colour-pair{border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius);padding:var(--space-2) var(--space-12) var(--space-12);background:var(--sf-app-bg)}.sf-colour-row{margin-top:var(--space-12);display:flex;align-items:center;justify-content:space-between;gap:12px}.sf-colour-mode{font-size:var(--text-xs);font-weight:500;color:var(--sf-text-secondary)}.sf-colour-mode small{display:block;margin-top:1px;font-size:var(--text-2xs);font-weight:400;color:var(--sf-muted)}.sf-readability{margin-top:var(--space-12);padding:var(--space-12) var(--space-12) var(--space-12);border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius)}.sf-readability-row{display:flex;align-items:center;gap:var(--space-12);padding:4px 0;font-size:var(--text-xs)}.sf-readability-who{flex:1;color:var(--sf-text-secondary)}.sf-readability-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--sf-disabled)}.sf-readability-val{color:var(--sf-muted)}.sf-readability-dot.is-good{background:var(--sf-muted)}.sf-readability-dot.is-large-only{background:var(--sf-warning)}.sf-readability-dot.is-hard{background:var(--sf-danger)}.sf-readability-val.is-good{color:var(--sf-text-secondary)}.sf-readability-val.is-large-only{color:var(--sf-warning)}.sf-readability-val.is-hard{color:var(--sf-danger)}.sf-readability-advice{margin-top:var(--space-8);font-size:var(--text-2xs);line-height:1.6;color:var(--sf-muted)}.sf-readability-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:8px}.sf-readability-suggestion{display:inline-flex;align-items:center;gap:var(--space-8);height:26px;padding:0 var(--space-12);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-btn-text);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;cursor:pointer}.sf-readability-suggestion:hover{background:var(--sf-hover)}.sf-readability-chip{width:9px;height:9px;flex:none;border-radius:calc(var(--radius-sm) / 2);box-shadow:inset 0 0 0 1px var(--line-strong)}.sf-slider{display:flex;align-items:center;gap:12px}.es-field-ctl>.sf-slider{flex:1;min-width:0}.sf-slider>.sf-slider-track{flex:1;min-width:0}.sf-slider.has-notch{position:relative}.sf-slider.has-notch:before{content:"";position:absolute;top:50%;left:calc(7px + (100% - 14px) * var(--sf-notch));width:2px;height:10px;margin-top:-5px;border-radius:calc(var(--radius-sm) / 2);background:var(--sf-input-border);pointer-events:none}.sf-preview-pin{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:var(--space-12) var(--space-16);background:var(--sf-panel)}.sf-preview-pin-text{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.sf-preview-pin-label{font-size:var(--text-sm);font-weight:500;color:var(--sf-text)}.sf-preview-pin-hint{font-size:var(--text-2xs);color:var(--sf-muted)}.sf-colstep{display:flex;align-items:center;gap:var(--space-8)}.sf-colstep-value{min-width:14px;text-align:center;font-size:var(--text-sm);font-weight:500;color:var(--sf-text)}.sf-checkbox{cursor:pointer}.sf-locked{opacity:.5;pointer-events:none}.sf-seg2 button:focus-visible,.sf-readability-suggestion:focus-visible,.sf-swatch:focus-visible,.sf-field-eye:focus-visible,.sf-insp-body select:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}.sf-seg2 button:focus-visible{outline-offset:-1px}.sf-seg2{display:flex;gap:var(--space-4);background:var(--sf-track-bg);border:1px solid var(--sf-input-border);border-radius:var(--radius-lg);padding:var(--space-4)}.sf-seg2 button{flex:1;border:none;background:transparent;border-radius:var(--radius-md);padding:var(--space-8) var(--space-8);font-size:var(--text-xs);font-weight:500;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}@container (width < 284px){.sf-seg2 button{padding-inline:var(--space-8)}}.sf-seg2 button:hover:not(.is-active){color:var(--sf-text-secondary);background:var(--sf-hover)}.sf-seg2 button.is-active{background:var(--sf-raised);color:var(--sf-text-strong);box-shadow:var(--es-raised-shadow)}.sf-seg2[data-disabled]{opacity:.5;cursor:not-allowed}.sf-seg2[data-disabled] button{cursor:not-allowed;color:var(--sf-disabled)}.sf-seg2[data-disabled] button.is-active{color:var(--sf-text-secondary)}.sf-seg2[data-disabled] button:hover:not(.is-active){background:transparent;color:var(--sf-disabled)}.sf-seg2 button>svg{display:block;margin:0 auto}.es-list-above>.sf-markup-bar{margin-bottom:0}input.sf-list-marking{border-color:var(--sf-accent);box-shadow:0 0 0 1px var(--sf-accent-tint)}.sf-blogsource{display:flex;flex-direction:column;gap:var(--space-12)}.sf-blogsource-action{align-self:flex-start}.sf-blogsource-status{margin:0;font-size:var(--text-xs);color:var(--sf-text-secondary)}.sf-blogsource-status[data-state=error]{color:var(--sf-danger)}.sf-source-open{display:inline;padding:0;border:0;background:none;font:inherit;color:var(--sf-accent-text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.sf-source-open:hover{color:var(--sf-accent)}.sf-source-open:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:calc(var(--radius-sm) / 2)}.sf-formpicker{display:flex;flex-direction:column;gap:var(--space-12)}.sf-formsummary-caption{margin-bottom:4px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.02em;color:var(--sf-text-secondary)}.sf-formsummary-fields{margin:0;padding-left:var(--space-20);font-size:var(--text-xs);line-height:1.55;color:var(--sf-text-secondary)}.sf-formsummary-warn{margin:0;font-size:var(--text-xs);line-height:1.45;color:var(--sf-danger)}.sf-formsummary-actions{display:flex;flex-wrap:wrap;gap:8px}.sf-image-slot-inert{border:1.5px dashed var(--sf-input-border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-16);font-size:var(--text-xs);line-height:1.5;color:var(--sf-muted);background-image:repeating-linear-gradient(45deg,var(--sf-hatch) 0 1px,transparent 1px 12px)}.sf-note{padding:var(--space-16) var(--space-16);font-size:var(--text-sm);line-height:1.5;color:var(--sf-muted)}.sf-note p+p{margin-top:8px}.sf-note strong{color:var(--sf-text);font-weight:600}.sf-note-detail{margin-top:var(--space-12);font-size:var(--text-2xs);color:var(--sf-muted);opacity:.75;word-break:break-all}.sf-note--error{color:var(--sf-danger);background:var(--sf-danger-tint);border-radius:var(--radius-md)}.sf-part-style{position:relative;margin:0 0 4px;padding:var(--space-12) var(--space-16);border:1px solid var(--sf-divider);border-radius:var(--radius-xl);background:var(--sf-track-bg)}.sf-part-style.has-overrides{border-color:var(--sf-accent-ring)}.sf-part-style.has-overrides:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--sf-accent);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.sf-part-style-caption{margin-bottom:2px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-part-style-count{margin-bottom:var(--space-4);font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-part-style-name{min-width:0;font-size:var(--text-xl);line-height:1.15;letter-spacing:-.01em;color:var(--sf-text-strong);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sf-part-style-pick{position:relative}.sf-part-style-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;min-width:0}.sf-part-style-trigger .sf-part-style-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-part-style-sign{margin-left:auto;width:16px;flex:none;text-align:center;color:var(--sf-muted);font-size:var(--text-sm);line-height:1}.sf-part-style-trigger[aria-expanded=false] .sf-part-style-sign:before{content:"+"}.sf-part-style-trigger[aria-expanded=true] .sf-part-style-sign:before{content:"\2212"}.sf-part-style-trigger:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sf-part-style-menu{position:absolute;z-index:30;left:0;right:0;box-shadow:var(--es-menu-shadow)}.sf-part-style-option{display:flex;align-items:baseline;gap:8px;width:100%;padding:var(--space-8) var(--space-12);border:0;background:none;text-align:left;font-size:var(--text-sm);color:var(--sf-field-text);border-radius:max(calc(var(--sf-field-radius) - 2px),2px);cursor:pointer}.sf-part-style-option:hover{background:var(--sf-accent-ring)}.sf-part-style-option:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px}.sf-part-style-option.is-on{background:var(--sf-accent-ring);font-weight:600}.sf-part-style-option-name{flex:0 0 auto;white-space:nowrap}.sf-part-style-option .sf-note{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.es-fsel-label.sf-part-style-keep{flex:none}.sf-part-style-aside{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs);font-weight:400;color:var(--es-muted)}.sf-part-style-meta{margin-top:1px;font-size:var(--text-2xs);color:var(--sf-muted);font-variant-numeric:tabular-nums}.sf-part-style-top{display:flex;align-items:center;gap:var(--space-12);margin-top:8px}.sf-part-style-gap{flex:1}.sf-part-style-state{font-size:var(--text-xs);color:var(--sf-text-secondary)}.sf-part-chip{display:inline-flex;align-items:center;border-radius:999px;padding:var(--space-2) var(--space-12);background:var(--sf-accent-tint);color:var(--sf-accent-text);font-size:var(--text-2xs);font-weight:700;font-variant-numeric:tabular-nums}.sf-part-link{border:0;background:none;padding:0;font:inherit;font-size:var(--text-xs);font-weight:500;color:var(--sf-accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--sf-accent-ring)}.sf-part-link:hover{text-decoration-color:currentColor}.es-group-body>.sf-note{margin:12px 0 -4px;padding:0 0 0 2px}.sf-slot-rows>.sf-note{padding:var(--space-12) var(--space-12) var(--space-12)}.sf-part-field.is-style-value>.es-field-head>.es-field-value{color:var(--sf-muted)}.sf-part-select{width:100%;min-width:0}.sf-part-ink{display:flex;flex-direction:column;gap:8px;min-width:0}.sf-part-ink-top{display:flex;align-items:baseline;gap:8px}.sf-part-ink-label{font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-part-ink-read{margin-left:auto;font-size:var(--text-xs);color:var(--sf-text-secondary);font-variant-numeric:tabular-nums}.sf-part-ink-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8)}.sf-part-mark{width:18px;height:18px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--sf-accent);cursor:pointer}.sf-part-mark-dot{transform-origin:center;transition:transform .15s ease,opacity .15s ease}.sf-part-mark-arrow{opacity:0;transition:opacity .15s ease}.sf-part-mark:hover .sf-part-mark-dot,.sf-part-mark:focus-visible .sf-part-mark-dot{transform:scale(0);opacity:0}.sf-part-mark:hover .sf-part-mark-arrow,.sf-part-mark:focus-visible .sf-part-mark-arrow{opacity:1}@media(prefers-reduced-motion:reduce){.sf-part-mark-dot,.sf-part-mark-arrow{transition:none}}.sf-part-text{margin-top:4px;margin-bottom:4px}.sf-part-text .sf-copybox textarea{min-height:84px;line-height:1.5;resize:vertical}.sf-entries{margin-top:32px}.sf-entries-head{margin:var(--space-16) 0 var(--space-4);font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-entry-eye{display:inline-flex;align-items:center;color:var(--sf-muted)}.sf-slot-rows .sf-add-card{padding:var(--space-8) var(--space-12);border-radius:0}.sf-gallery-filter{display:flex;gap:var(--space-8);flex-wrap:wrap}.sf-gallery-filter button{border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:999px;padding:var(--space-4) var(--space-12);font-size:var(--text-xs);font-weight:600;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.sf-gallery-filter button:hover{background:var(--sf-hover)}.sf-gallery-filter button[aria-pressed=true]{background:var(--sf-accent);border-color:var(--sf-accent);color:var(--sf-on-accent)}.sf-gallery-layouts{margin-top:var(--space-8)}.es-field-ctl>.sf-gallery-layouts,.es-field-ctl>.sf-gallery-filter{flex:1 1 auto;min-width:0}.sf-gallery-pic{width:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:6px;grid-auto-flow:row dense;gap:2px}.sf-gallery-pic i{display:block;background:var(--sf-track-bg);border-radius:calc(var(--radius-sm) / 2)}.sf-gallery-layouts button[aria-pressed=true] .sf-gallery-pic i{background:var(--sf-accent)}.sf-gallery-count{font-size:var(--text-2xs);color:var(--sf-disabled);margin-top:var(--space-8)}.sf-locations-view{margin-top:var(--es-rhythm-between)}.sf-blogsource>.es-field-hint,.sf-formsummary .es-field-hint{margin:0}.es-field-ctl>.sf-copybox{flex:1 1 auto;min-width:0}.sf-canvas-notice{position:absolute;top:8px;left:8px;right:8px;z-index:1}.es-ts+.es-ts-section{margin-top:var(--es-rhythm-group)}.sf-version-title{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-8)}.sf-version-meta,.sf-version-foot{font-size:var(--text-xs);color:var(--sf-muted)}.sf-anchor-link{margin-top:var(--space-4)}.sf-anchor-link>*{width:100%}.sf-anchor-link-text{display:flex;min-width:0}.sf-anchor-link-path{min-width:0;overflow:hidden;text-overflow:ellipsis}.sf-anchor-link-hash{flex:none}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * The public types of `efficient-storefront-blocks/fitment` (published as
3
+ * dist/fitment.d.ts).
4
+ *
5
+ * Written out, like `consent.public.d.ts`, and kept honest the same way:
6
+ * `types.check.ts` pairs each declaration with the code it describes.
7
+ *
8
+ * Plain data and pure functions. It imports nothing.
9
+ */
10
+
11
+ /** The unit a load is printed in. */
12
+ export type LoadUnit = "kg" | "lbs";
13
+
14
+ /** One size a wheel ships in, as a size table draws it. */
15
+ export interface FitmentRow {
16
+ diameter: number;
17
+ width: number;
18
+ holes: number;
19
+ /** PCD in mm — usually a single value ("112") but can be a range ("112-114.3"). */
20
+ pcd: string;
21
+ /** ET (offset) in mm. */
22
+ et: number;
23
+ /** Centre bore in mm. */
24
+ cb: number;
25
+ cap: string;
26
+ boltPattern: string;
27
+ loadRating: string;
28
+ }
29
+
30
+ /** One column of the size table. */
31
+ export interface FitmentColumn {
32
+ /** The catalogue field key an answer names. */
33
+ fieldKey: string;
34
+ header: string;
35
+ /** Drawn when no merchant has answered. A column OFF by default shows only
36
+ * on an explicit `fitment: true`; one ON by default hides only on `false`. */
37
+ shownByDefault: boolean;
38
+ cell: (row: FitmentRow, unit: LoadUnit) => string | number;
39
+ }
40
+
41
+ /** Every column, in the default order: Size, Bolt pattern, Offset, Centre
42
+ * bore, Cap, Load. */
43
+ export const FITMENT_COLUMNS: readonly FitmentColumn[];
44
+
45
+ /** Whether one column is drawn, given a site's answers. */
46
+ export function fitmentColumnShown(
47
+ column: FitmentColumn,
48
+ answers: readonly { fieldKey: string; fitment?: boolean }[],
49
+ ): boolean;
50
+
51
+ /** A free-text load rating ("880kg / 1,940 lbs") in ONE unit: "880 kg". */
52
+ export function formatLoad(text: string, unit: LoadUnit): string;
53
+
54
+ /** The market a page is drawn for (alpha-2, "" for none) → its load unit:
55
+ * "lbs" for "US", "kg" for every other. */
56
+ export function loadUnitFor(country: string): LoadUnit;
@@ -0,0 +1 @@
1
+ function p(e){return e.toUpperCase()==="US"?"lbs":"kg"}var d=.45359237,l=/\d[\d,]*(?:\.\d+)?/g,g=/(\d[\d,]*(?:\.\d+)?(?:\s*[–-]\s*\d[\d,]*(?:\.\d+)?)?)\s*(kgs?|lbs?)\b/gi,s=e=>Number(e.replace(/,/g,"")),a=e=>Math.round(e).toLocaleString("en-US");function f(e,n){let r={};for(let[,t,c]of e.matchAll(g)){let y=c.toLowerCase().startsWith("kg")?"kg":"lbs";r[y]??=t}let o=r[n];if(o!==void 0)return`${o.replace(l,t=>a(s(t))).replace(/\s*([–-])\s*/,"$1")} ${n}`;let i=r[n==="kg"?"lbs":"kg"];if(i===void 0)return e.trim();let u=n==="kg"?d:1/d;return`${i.replace(l,t=>a(s(t)*u)).replace(/\s*([–-])\s*/,"$1")} ${n}`}var m=e=>e>0?`+${e}`:e<0?`\u2212${-e}`:"0",h=e=>{let n=/^(\d+)\s*[×x]\s*\d/.exec(e.boltPattern)?.[1];return n!==void 0&&Number(n)===e.holes?e.boltPattern:e.holes>0&&e.pcd?`${e.holes}\xD7${e.pcd}`:e.boltPattern},b=[{fieldKey:"diameter",header:"Size",shownByDefault:!0,cell:e=>`${e.diameter} \xD7 ${e.width}`},{fieldKey:"bolt_pattern",header:"Bolt pattern",shownByDefault:!0,cell:h},{fieldKey:"et",header:"Offset",shownByDefault:!0,cell:e=>m(e.et)},{fieldKey:"center_bore",header:"Centre bore",shownByDefault:!1,cell:e=>e.cb},{fieldKey:"cap_code",header:"Cap",shownByDefault:!1,cell:e=>e.cap},{fieldKey:"load_rating",header:"Load",shownByDefault:!0,cell:(e,n)=>f(e.loadRating,n)}];function w(e,n){let r=n.find(o=>o.fieldKey===e.fieldKey)?.fitment;return e.shownByDefault?r!==!1:r===!0}export{b as FITMENT_COLUMNS,w as fitmentColumnShown,f as formatLoad,p as loadUnitFor};
package/dist/index.d.ts CHANGED
@@ -56,18 +56,36 @@ export interface MediaPickRequest {
56
56
  options?: Record<string, unknown>;
57
57
  }
58
58
 
59
- /** The props the host's media panel is drawn with. */
59
+ /** The props the host's media popup is drawn with. It is drawn always; it is
60
+ * OPEN while `pick` or `browsing` is set. */
60
61
  export interface MediaPanelProps {
61
- /** The field choosing right now, or null while the merchant is browsing. */
62
+ /** The field choosing right now, or null. Wins over `browsing`. */
62
63
  pick: MediaPickRequest | null;
63
- /** Answer the field. Ignored while browsing. */
64
+ /** The rail opened the library with no field. */
65
+ browsing: boolean;
66
+ /** Answer the field. Ignored while only browsing. */
64
67
  onPick: (media: HostPickedMedia) => void;
68
+ /** Close it: the field (if any) gets no choice, and the browse ends. */
69
+ onClose: () => void;
65
70
  }
66
71
 
67
- /** The host's media library, as a component the editor draws in its left
68
- * panel (the rail's Media view, and every image field's pick mode). */
72
+ /** The host's media library, as a component the editor draws as one large
73
+ * popup (the rail's Media, and every image field's pick mode; efficient-easel
74
+ * 19). The names still say "panel": hosts import them. */
69
75
  export type MediaPanelComponent = ComponentType<MediaPanelProps>;
70
76
 
77
+ /** A file dragged out of the host's popup onto the canvas. */
78
+ export interface MediaPlacedFile {
79
+ id: string;
80
+ url: string;
81
+ kind: "image" | "video";
82
+ name: string;
83
+ }
84
+
85
+ /** What a file dropped on the canvas becomes on this host before the editor
86
+ * places it (its pick path). Null: it cannot be used here, nothing is placed. */
87
+ export type MediaPlace = (file: MediaPlacedFile) => Promise<HostPickedMedia | null>;
88
+
71
89
  /** A host for an editor mounted in the embedder's own page. One per editor. */
72
90
  export function createEditorHost(options: {
73
91
  onMessage: (message: EditorToHostMessage) => void;
@@ -261,18 +279,22 @@ export interface SiteRecord {
261
279
  name: string;
262
280
  /** Its public slug, where it has one. */
263
281
  slug?: string | null;
264
- /** The site-wide Google Maps browser key the canvas's map blocks draw with. */
282
+ /** The site-wide Google Maps browser key the canvas's map blocks drew with.
283
+ * @deprecated Every website map is efficient-shell's since efficient-web-builder 34 and needs no Google key, so nothing reads or writes it (Victor Mau, 2026-10-23: remove them). Removed in the next major. */
265
284
  mapsApiKey?: string | null;
266
- /** The site-wide Google Maps cloud style. */
285
+ /** The site-wide Google Maps cloud style.
286
+ * @deprecated Every website map is efficient-shell's since efficient-web-builder 34 and needs no Google key, so nothing reads or writes it (Victor Mau, 2026-10-23: remove them). Removed in the next major. */
267
287
  mapsMapId?: string | null;
268
288
  }
269
289
 
270
- /** The part of the site record the editor writes. */
290
+ /** The part of the site record the editor writes.
291
+ * @deprecated Only the Maps key, which nothing writes any more. Every website map is efficient-shell's since efficient-web-builder 34 and needs no Google key, so nothing reads or writes it (Victor Mau, 2026-10-23: remove them). Removed in the next major. */
271
292
  export type SiteRecordPatch = { mapsApiKey?: string };
272
293
 
273
294
  export interface WebsiteSite {
274
295
  get(scope?: SiteScope): Promise<SiteRecord>;
275
- /** Save the site-wide Maps key. Without it that field is read-only. */
296
+ /** Save the site-wide Maps key. Without it that field is read-only.
297
+ * @deprecated Every website map is efficient-shell's since efficient-web-builder 34 and needs no Google key, so nothing reads or writes it (Victor Mau, 2026-10-23: remove them). Removed in the next major. */
276
298
  update?(patch: SiteRecordPatch, scope?: SiteScope): Promise<SiteRecord>;
277
299
  /** RESERVED for the multilingual overlay: the languages the website is
278
300
  * written in. 0.4.0 does not call it. */
@@ -509,6 +531,26 @@ export interface WebsiteSocial {
509
531
  update(patch: SocialLinkSettings, scope?: SiteScope): Promise<SocialLinkSettings>;
510
532
  }
511
533
 
534
+ /** Where a typed address or place is: the best match. */
535
+ export interface GeocodeResult {
536
+ lat: number;
537
+ lng: number;
538
+ /** The place the geocoder matched, in its words, for the merchant to sanity-check. */
539
+ label: string;
540
+ }
541
+
542
+ /**
543
+ * Turns a typed address into coordinates, for the map blocks' "Find
544
+ * coordinates". Optional: without it the button is not drawn and coordinates
545
+ * are typed by hand. EFFICIENT's backend answers it from the ERP's one
546
+ * geocoder (`GET /api/storefront/geocode/`).
547
+ */
548
+ export interface WebsiteGeocoder {
549
+ /** The best match, or `null` when nothing matched. Rejects when the
550
+ * geocoder could not answer just now ("try again", apart from "no match"). */
551
+ locate(query: string, scope?: { country?: string }): Promise<GeocodeResult | null>;
552
+ }
553
+
512
554
  /**
513
555
  * Everything the editor asks a server for.
514
556
  *
@@ -516,8 +558,8 @@ export interface WebsiteSocial {
516
558
  * site's header, menus, forms and the catalog — join this interface as
517
559
  * optional members when their call sites move. Until then a backend other than
518
560
  * EFFICIENT's gets the page editor without them. The blog (`blog`), the live
519
- * chat (`chat`), the social links (`social`) and the site's appearance
520
- * (`theme`) have crossed.
561
+ * chat (`chat`), the social links (`social`), the site's appearance
562
+ * (`theme`) and the map blocks' geocoder (`geocode`) have crossed.
521
563
  */
522
564
  export interface WebsiteBackend {
523
565
  pages: WebsitePages;
@@ -531,6 +573,7 @@ export interface WebsiteBackend {
531
573
  chat?: WebsiteChat;
532
574
  social?: WebsiteSocial;
533
575
  theme?: WebsiteTheme;
576
+ geocode?: WebsiteGeocoder;
534
577
  }
535
578
 
536
579
  /** Why a backend call failed, in the editor's own terms. */
@@ -712,9 +755,12 @@ export function WebsiteEditor(props: {
712
755
  host: EditorHost;
713
756
  target: EditorTarget;
714
757
  site: WebsiteEditorSite | null;
715
- /** The host's media library, drawn in the editor's left panel. Without one,
758
+ /** The host's media library, drawn as the editor's one popup. Without one,
716
759
  * fields ask the host to open its picker window (`open-media-picker`). */
717
760
  mediaPanel?: MediaPanelComponent | null;
761
+ /** What a picture dropped from that popup becomes on this host first (its
762
+ * pick path). Without one, the file as it came. */
763
+ mediaPlace?: MediaPlace | null;
718
764
  /** The server the editor talks to. Without one it is EFFICIENT's
719
765
  * (`createEfficientBackend`). Read once, when the editor mounts. */
720
766
  backend?: WebsiteBackend | null;
@@ -739,6 +785,8 @@ export function WebsiteSectionEditor(props: {
739
785
  site: WebsiteEditorSite | null;
740
786
  /** The host's media library — see `WebsiteEditor`. */
741
787
  mediaPanel?: MediaPanelComponent | null;
788
+ /** A dropped picture's pick path — see `WebsiteEditor`. */
789
+ mediaPlace?: MediaPlace | null;
742
790
  /** The server the editor talks to — see `WebsiteEditor`. Needs
743
791
  * `sectionTemplates`. */
744
792
  backend?: WebsiteBackend | null;