efficient-web-builder 0.10.0 → 1.0.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 (1049) hide show
  1. package/CHANGELOG.md +20 -367
  2. package/README.md +107 -261
  3. package/dist/components/AddBlockRow.d.ts +7 -0
  4. package/dist/components/AddBlockRow.js +1 -0
  5. package/dist/components/AddChildRow.d.ts +6 -0
  6. package/dist/components/AddChildRow.js +1 -0
  7. package/dist/components/AddSidePanel.d.ts +39 -0
  8. package/dist/components/AddSidePanel.js +1 -0
  9. package/dist/components/AnimatedStat.d.ts +6 -0
  10. package/dist/components/AnimatedStat.js +1 -0
  11. package/dist/components/ApplyCornersToSiblings.d.ts +9 -0
  12. package/dist/components/ApplyCornersToSiblings.js +1 -0
  13. package/dist/components/Banner.d.ts +12 -0
  14. package/dist/components/Banner.js +1 -0
  15. package/dist/components/BlockFrame.d.ts +15 -0
  16. package/dist/components/BlockFrame.js +1 -0
  17. package/dist/components/BlockGapField.d.ts +5 -0
  18. package/dist/components/BlockGapField.js +1 -0
  19. package/dist/components/BlogPostSource.d.ts +14 -0
  20. package/dist/components/BlogPostSource.js +1 -0
  21. package/dist/components/BoxSurfaceContext.d.ts +7 -0
  22. package/dist/components/BoxSurfaceContext.js +1 -0
  23. package/dist/components/BoxTabs.d.ts +6 -0
  24. package/dist/components/BoxTabs.js +1 -0
  25. package/dist/components/Breadcrumb.d.ts +10 -0
  26. package/dist/components/Breadcrumb.js +1 -0
  27. package/dist/components/Btn.d.ts +22 -0
  28. package/dist/components/Btn.js +1 -0
  29. package/dist/components/ButtonBlock.d.ts +13 -0
  30. package/dist/components/ButtonBlock.js +1 -0
  31. package/dist/components/CardShadowField.d.ts +6 -0
  32. package/dist/components/CardShadowField.js +1 -0
  33. package/dist/components/Cards.d.ts +15 -0
  34. package/dist/components/Cards.js +1 -0
  35. package/dist/components/CategoryBar.d.ts +16 -0
  36. package/dist/components/CategoryBar.js +1 -0
  37. package/dist/components/ChartSection.d.ts +16 -0
  38. package/dist/components/ChartSection.js +1 -0
  39. package/dist/components/ChatSettingsPanel.d.ts +1 -0
  40. package/dist/components/ChatSettingsPanel.js +1 -0
  41. package/dist/components/ClearColoursDialog.d.ts +5 -0
  42. package/dist/components/ClearColoursDialog.js +1 -0
  43. package/dist/components/ContactLocations.d.ts +17 -0
  44. package/dist/components/ContactLocations.js +73 -0
  45. package/dist/components/CornersField.d.ts +7 -0
  46. package/dist/components/CornersField.js +1 -0
  47. package/dist/components/CountUpText.d.ts +3 -0
  48. package/dist/components/CountUpText.js +1 -0
  49. package/dist/components/Divider.d.ts +9 -0
  50. package/dist/components/Divider.js +1 -0
  51. package/dist/components/DocBody.d.ts +13 -0
  52. package/dist/components/DocBody.js +7 -0
  53. package/dist/components/DocMasthead.d.ts +13 -0
  54. package/dist/components/DocMasthead.js +1 -0
  55. package/dist/components/DocMetaCards.d.ts +10 -0
  56. package/dist/components/DocMetaCards.js +1 -0
  57. package/dist/components/DocTabs.d.ts +12 -0
  58. package/dist/components/DocTabs.js +1 -0
  59. package/dist/components/DuplicateToPageMenu.d.ts +12 -0
  60. package/dist/components/DuplicateToPageMenu.js +1 -0
  61. package/dist/components/EditorialSectionHead.d.ts +11 -0
  62. package/dist/components/EditorialSectionHead.js +1 -0
  63. package/dist/components/Eyebrow.d.ts +9 -0
  64. package/dist/components/Eyebrow.js +1 -0
  65. package/dist/components/FAQ.d.ts +20 -0
  66. package/dist/components/FAQ.js +1 -0
  67. package/dist/components/FeaturedCover.d.ts +13 -0
  68. package/dist/components/FeaturedCover.js +1 -0
  69. package/dist/components/FieldGlyph.d.ts +12 -0
  70. package/dist/components/FieldGlyph.js +1 -0
  71. package/dist/components/Flex.d.ts +32 -0
  72. package/dist/components/Flex.js +1 -0
  73. package/dist/components/Footprint.d.ts +16 -0
  74. package/dist/components/Footprint.js +27 -0
  75. package/dist/components/Grid.d.ts +11 -0
  76. package/dist/components/Grid.js +1 -0
  77. package/dist/components/Heading.d.ts +11 -0
  78. package/dist/components/Heading.js +1 -0
  79. package/dist/components/HeadingAudit.d.ts +1 -0
  80. package/dist/components/HeadingAudit.js +1 -0
  81. package/dist/components/HeroArrows.d.ts +8 -0
  82. package/dist/components/HeroArrows.js +1 -0
  83. package/dist/components/HeroGroup.d.ts +20 -0
  84. package/dist/components/HeroGroup.js +1 -0
  85. package/dist/components/HeroHeldFrame.d.ts +8 -0
  86. package/dist/components/HeroHeldFrame.js +1 -0
  87. package/dist/components/HeroImageField.d.ts +6 -0
  88. package/dist/components/HeroImageField.js +1 -0
  89. package/dist/components/HeroPoster.d.ts +10 -0
  90. package/dist/components/HeroPoster.js +1 -0
  91. package/dist/components/HeroSection.d.ts +39 -0
  92. package/dist/components/HeroSection.js +11 -0
  93. package/dist/components/HeroSingle.d.ts +17 -0
  94. package/dist/components/HeroSingle.js +1 -0
  95. package/dist/components/HeroSlide.d.ts +30 -0
  96. package/dist/components/HeroSlide.js +1 -0
  97. package/dist/components/HoverEffectField.d.ts +6 -0
  98. package/dist/components/HoverEffectField.js +1 -0
  99. package/dist/components/ImageBlock.d.ts +18 -0
  100. package/dist/components/ImageBlock.js +1 -0
  101. package/dist/components/ImageFocusRow.d.ts +7 -0
  102. package/dist/components/ImageFocusRow.js +1 -0
  103. package/dist/components/IntegrationsSection.d.ts +14 -0
  104. package/dist/components/IntegrationsSection.js +1 -0
  105. package/dist/components/IntroBleed.d.ts +32 -0
  106. package/dist/components/IntroBleed.js +1 -0
  107. package/dist/components/KeyFeatures.d.ts +14 -0
  108. package/dist/components/KeyFeatures.js +1 -0
  109. package/dist/components/LocationGroupHeader.d.ts +5 -0
  110. package/dist/components/LocationGroupHeader.js +1 -0
  111. package/dist/components/LocationsGroupedField.d.ts +5 -0
  112. package/dist/components/LocationsGroupedField.js +1 -0
  113. package/dist/components/LocationsTreeContext.d.ts +2 -0
  114. package/dist/components/LocationsTreeContext.js +1 -0
  115. package/dist/components/Logo.d.ts +27 -0
  116. package/dist/components/Logo.js +1 -0
  117. package/dist/components/LogoBlock.d.ts +8 -0
  118. package/dist/components/LogoBlock.js +1 -0
  119. package/dist/components/Logos.d.ts +15 -0
  120. package/dist/components/Logos.js +1 -0
  121. package/dist/components/LongRead.d.ts +20 -0
  122. package/dist/components/LongRead.js +1 -0
  123. package/dist/components/Manifesto.d.ts +14 -0
  124. package/dist/components/Manifesto.js +1 -0
  125. package/dist/components/Masthead.d.ts +16 -0
  126. package/dist/components/Masthead.js +1 -0
  127. package/dist/components/MediaSidePanel.d.ts +6 -0
  128. package/dist/components/MediaSidePanel.js +1 -0
  129. package/dist/components/MediaUploadField.d.ts +9 -0
  130. package/dist/components/MediaUploadField.js +1 -0
  131. package/dist/components/MockupSection.d.ts +59 -0
  132. package/dist/components/MockupSection.js +1 -0
  133. package/dist/components/MultiSelectField.d.ts +16 -0
  134. package/dist/components/MultiSelectField.js +1 -0
  135. package/dist/components/NodeContextMenu.d.ts +96 -0
  136. package/dist/components/NodeContextMenu.js +1 -0
  137. package/dist/components/OrderSummary.d.ts +17 -0
  138. package/dist/components/OrderSummary.js +1 -0
  139. package/dist/components/PageEditGuardNotices.d.ts +1 -0
  140. package/dist/components/PageEditGuardNotices.js +1 -0
  141. package/dist/components/PagesPanel.d.ts +8 -0
  142. package/dist/components/PagesPanel.js +1 -0
  143. package/dist/components/PanelToggleIcon.d.ts +3 -0
  144. package/dist/components/PanelToggleIcon.js +1 -0
  145. package/dist/components/ParagraphsA.d.ts +15 -0
  146. package/dist/components/ParagraphsA.js +1 -0
  147. package/dist/components/PartGlyphs.d.ts +7 -0
  148. package/dist/components/PartGlyphs.js +1 -0
  149. package/dist/components/PartInkControl.d.ts +7 -0
  150. package/dist/components/PartInkControl.js +1 -0
  151. package/dist/components/PartResetDot.d.ts +5 -0
  152. package/dist/components/PartResetDot.js +1 -0
  153. package/dist/components/PartSettingsPanel.d.ts +63 -0
  154. package/dist/components/PartSettingsPanel.js +1 -0
  155. package/dist/components/PartStyledText.d.ts +5 -0
  156. package/dist/components/PartStyledText.js +1 -0
  157. package/dist/components/PartTextBox.d.ts +20 -0
  158. package/dist/components/PartTextBox.js +1 -0
  159. package/dist/components/PaymentBadges.d.ts +14 -0
  160. package/dist/components/PaymentBadges.js +1 -0
  161. package/dist/components/PhoneMenuTools.d.ts +12 -0
  162. package/dist/components/PhoneMenuTools.js +1 -0
  163. package/dist/components/PhotographyField.d.ts +6 -0
  164. package/dist/components/PhotographyField.js +1 -0
  165. package/dist/components/Placeholder.d.ts +18 -0
  166. package/dist/components/Placeholder.js +1 -0
  167. package/dist/components/PostCard.d.ts +37 -0
  168. package/dist/components/PostCard.js +1 -0
  169. package/dist/components/PreviewChatContext.d.ts +23 -0
  170. package/dist/components/PreviewChatContext.js +1 -0
  171. package/dist/components/PreviewDeviceContext.d.ts +4 -0
  172. package/dist/components/PreviewDeviceContext.js +1 -0
  173. package/dist/components/PreviewFocusContext.d.ts +15 -0
  174. package/dist/components/PreviewFocusContext.js +1 -0
  175. package/dist/components/PreviewFooterContext.d.ts +17 -0
  176. package/dist/components/PreviewFooterContext.js +1 -0
  177. package/dist/components/PreviewHeaderContext.d.ts +97 -0
  178. package/dist/components/PreviewHeaderContext.js +1 -0
  179. package/dist/components/PreviewLocationPartContext.d.ts +10 -0
  180. package/dist/components/PreviewLocationPartContext.js +1 -0
  181. package/dist/components/PreviewPartAnchors.d.ts +16 -0
  182. package/dist/components/PreviewPartAnchors.js +1 -0
  183. package/dist/components/PreviewPartStyleContext.d.ts +21 -0
  184. package/dist/components/PreviewPartStyleContext.js +1 -0
  185. package/dist/components/PreviewPartsContext.d.ts +3 -0
  186. package/dist/components/PreviewPartsContext.js +1 -0
  187. package/dist/components/PreviewSocialContext.d.ts +30 -0
  188. package/dist/components/PreviewSocialContext.js +1 -0
  189. package/dist/components/PreviewSurfaceContext.d.ts +10 -0
  190. package/dist/components/PreviewSurfaceContext.js +1 -0
  191. package/dist/components/PreviewThemeFrame.d.ts +6 -0
  192. package/dist/components/PreviewThemeFrame.js +11 -0
  193. package/dist/components/PreviewTickerContext.d.ts +4 -0
  194. package/dist/components/PreviewTickerContext.js +1 -0
  195. package/dist/components/ProcessSteps.d.ts +32 -0
  196. package/dist/components/ProcessSteps.js +1 -0
  197. package/dist/components/Prose.d.ts +9 -0
  198. package/dist/components/Prose.js +1 -0
  199. package/dist/components/PublishedFooterContext.d.ts +11 -0
  200. package/dist/components/PublishedFooterContext.js +1 -0
  201. package/dist/components/PublishedPartStylesContext.d.ts +15 -0
  202. package/dist/components/PublishedPartStylesContext.js +1 -0
  203. package/dist/components/RMark.d.ts +6 -0
  204. package/dist/components/RMark.js +1 -0
  205. package/dist/components/Reel.d.ts +15 -0
  206. package/dist/components/Reel.js +1 -0
  207. package/dist/components/RuleLine.d.ts +1 -0
  208. package/dist/components/RuleLine.js +1 -0
  209. package/dist/components/SearchSelectField.d.ts +20 -0
  210. package/dist/components/SearchSelectField.js +1 -0
  211. package/dist/components/SectionAnimation.d.ts +7 -0
  212. package/dist/components/SectionAnimation.js +1 -0
  213. package/dist/components/SectionEditor.d.ts +66 -0
  214. package/dist/components/SectionEditor.js +1 -0
  215. package/dist/components/SectionEditorShell.d.ts +1 -0
  216. package/dist/components/SectionEditorShell.js +1 -0
  217. package/dist/components/SectionEyebrow.d.ts +10 -0
  218. package/dist/components/SectionEyebrow.js +1 -0
  219. package/dist/components/SectionHeader.d.ts +29 -0
  220. package/dist/components/SectionHeader.js +1 -0
  221. package/dist/components/SectionIcon.d.ts +5 -0
  222. package/dist/components/SectionIcon.js +1 -0
  223. package/dist/components/SectionTextEntries.d.ts +5 -0
  224. package/dist/components/SectionTextEntries.js +1 -0
  225. package/dist/components/SectionTextPartBridge.d.ts +6 -0
  226. package/dist/components/SectionTextPartBridge.js +1 -0
  227. package/dist/components/SectionThemePicker.d.ts +23 -0
  228. package/dist/components/SectionThemePicker.js +1 -0
  229. package/dist/components/SectionThumbnail.d.ts +3 -0
  230. package/dist/components/SectionThumbnail.js +1 -0
  231. package/dist/components/Series.d.ts +19 -0
  232. package/dist/components/Series.js +1 -0
  233. package/dist/components/ShadowColourField.d.ts +5 -0
  234. package/dist/components/ShadowColourField.js +1 -0
  235. package/dist/components/SidePanelHead.d.ts +23 -0
  236. package/dist/components/SidePanelHead.js +1 -0
  237. package/dist/components/SideSpaceField.d.ts +8 -0
  238. package/dist/components/SideSpaceField.js +1 -0
  239. package/dist/components/SiteEditorProvider.d.ts +10 -0
  240. package/dist/components/SiteEditorProvider.js +1 -0
  241. package/dist/components/SiteFields.d.ts +6 -0
  242. package/dist/components/SiteFields.js +1 -0
  243. package/dist/components/SiteGutterFrame.d.ts +9 -0
  244. package/dist/components/SiteGutterFrame.js +1 -0
  245. package/dist/components/SiteLogoContext.d.ts +25 -0
  246. package/dist/components/SiteLogoContext.js +1 -0
  247. package/dist/components/SitePhotographyContext.d.ts +8 -0
  248. package/dist/components/SitePhotographyContext.js +1 -0
  249. package/dist/components/SiteStyleUnset.d.ts +1 -0
  250. package/dist/components/SiteStyleUnset.js +1 -0
  251. package/dist/components/SiteWidthField.d.ts +8 -0
  252. package/dist/components/SiteWidthField.js +1 -0
  253. package/dist/components/SlotChildActionsContext.d.ts +13 -0
  254. package/dist/components/SlotChildActionsContext.js +1 -0
  255. package/dist/components/SlotChildRows.d.ts +16 -0
  256. package/dist/components/SlotChildRows.js +1 -0
  257. package/dist/components/SocialLinksPanel.d.ts +3 -0
  258. package/dist/components/SocialLinksPanel.js +1 -0
  259. package/dist/components/SourceStatus.d.ts +14 -0
  260. package/dist/components/SourceStatus.js +1 -0
  261. package/dist/components/Spacer.d.ts +6 -0
  262. package/dist/components/Spacer.js +1 -0
  263. package/dist/components/SpecStrip.d.ts +10 -0
  264. package/dist/components/SpecStrip.js +1 -0
  265. package/dist/components/Split.d.ts +33 -0
  266. package/dist/components/Split.js +1 -0
  267. package/dist/components/StandaloneSectionEditor.d.ts +18 -0
  268. package/dist/components/StandaloneSectionEditor.js +1 -0
  269. package/dist/components/Stats.d.ts +14 -0
  270. package/dist/components/Stats.js +1 -0
  271. package/dist/components/StatsParagraph.d.ts +21 -0
  272. package/dist/components/StatsParagraph.js +1 -0
  273. package/dist/components/StorefrontDocumentContext.d.ts +67 -0
  274. package/dist/components/StorefrontDocumentContext.js +1 -0
  275. package/dist/components/StorefrontEditor.d.ts +18 -0
  276. package/dist/components/StorefrontEditor.js +1 -0
  277. package/dist/components/StorefrontEditorChrome.d.ts +1 -0
  278. package/dist/components/StorefrontEditorChrome.js +1 -0
  279. package/dist/components/StorefrontLinkField.d.ts +10 -0
  280. package/dist/components/StorefrontLinkField.js +1 -0
  281. package/dist/components/StylesPanel.d.ts +11 -0
  282. package/dist/components/StylesPanel.js +1 -0
  283. package/dist/components/SwitchToBoxFooter.d.ts +1 -0
  284. package/dist/components/SwitchToBoxFooter.js +1 -0
  285. package/dist/components/TemplateGlyph.d.ts +6 -0
  286. package/dist/components/TemplateGlyph.js +1 -0
  287. package/dist/components/Testimonials.d.ts +16 -0
  288. package/dist/components/Testimonials.js +1 -0
  289. package/dist/components/Text.d.ts +11 -0
  290. package/dist/components/Text.js +1 -0
  291. package/dist/components/TextStyleRow.d.ts +13 -0
  292. package/dist/components/TextStyleRow.js +1 -0
  293. package/dist/components/TextStylesField.d.ts +17 -0
  294. package/dist/components/TextStylesField.js +1 -0
  295. package/dist/components/ThemeCard.d.ts +40 -0
  296. package/dist/components/ThemeCard.js +1 -0
  297. package/dist/components/ThemeColourField.d.ts +5 -0
  298. package/dist/components/ThemeColourField.js +1 -0
  299. package/dist/components/ThemeField.d.ts +8 -0
  300. package/dist/components/ThemeField.js +1 -0
  301. package/dist/components/Ticker.d.ts +18 -0
  302. package/dist/components/Ticker.js +1 -0
  303. package/dist/components/TickerSection.d.ts +18 -0
  304. package/dist/components/TickerSection.js +1 -0
  305. package/dist/components/TickerSettingsPanel.d.ts +3 -0
  306. package/dist/components/TickerSettingsPanel.js +1 -0
  307. package/dist/components/Timeline.d.ts +24 -0
  308. package/dist/components/Timeline.js +1 -0
  309. package/dist/components/TimelineTrack.d.ts +22 -0
  310. package/dist/components/TimelineTrack.js +1 -0
  311. package/dist/components/TitleWithButtons.d.ts +14 -0
  312. package/dist/components/TitleWithButtons.js +1 -0
  313. package/dist/components/UiIcon.d.ts +10 -0
  314. package/dist/components/UiIcon.js +1 -0
  315. package/dist/components/WebsiteSettingsPanel.d.ts +46 -0
  316. package/dist/components/WebsiteSettingsPanel.js +1 -0
  317. package/dist/components/WidthFollowField.d.ts +10 -0
  318. package/dist/components/WidthFollowField.js +1 -0
  319. package/dist/components/cartGlyph.d.ts +1 -0
  320. package/dist/components/cartGlyph.js +1 -0
  321. package/dist/components/floating-editor/tokens.d.ts +27 -0
  322. package/dist/components/floating-editor/tokens.js +1 -0
  323. package/dist/components/goldPhrases.d.ts +7 -0
  324. package/dist/components/goldPhrases.js +2 -0
  325. package/dist/components/integrationIcons.d.ts +2 -0
  326. package/dist/components/integrationIcons.js +1 -0
  327. package/dist/components/panel-widths.d.ts +12 -0
  328. package/dist/components/panel-widths.js +1 -0
  329. package/dist/components/preview-devices.d.ts +3 -0
  330. package/dist/components/preview-devices.js +1 -0
  331. package/dist/components/socialIcons.d.ts +8 -0
  332. package/dist/components/socialIcons.js +1 -0
  333. package/dist/components/storefront-editor.css +5731 -0
  334. package/dist/components/useCountUp.d.ts +10 -0
  335. package/dist/components/useCountUp.js +1 -0
  336. package/dist/components/usePartBridge.d.ts +9 -0
  337. package/dist/components/usePartBridge.js +1 -0
  338. package/dist/components/usePreviewHref.d.ts +5 -0
  339. package/dist/components/usePreviewHref.js +1 -0
  340. package/dist/components/useReducedMotion.d.ts +4 -0
  341. package/dist/components/useReducedMotion.js +1 -0
  342. package/dist/components/useSnapshotSource.d.ts +17 -0
  343. package/dist/components/useSnapshotSource.js +1 -0
  344. package/dist/components/useSocialSettings.d.ts +14 -0
  345. package/dist/components/useSocialSettings.js +1 -0
  346. package/dist/components/useStorefrontBlogPosts.d.ts +2 -0
  347. package/dist/components/useStorefrontBlogPosts.js +1 -0
  348. package/dist/lib/content/authored-props.d.ts +4 -0
  349. package/dist/lib/content/authored-props.js +1 -0
  350. package/dist/lib/content/box-background.d.ts +31 -0
  351. package/dist/lib/content/box-background.js +1 -0
  352. package/dist/lib/content/box-layout.d.ts +78 -0
  353. package/dist/lib/content/box-layout.js +1 -0
  354. package/dist/lib/content/button-arrow.d.ts +2 -0
  355. package/dist/lib/content/button-arrow.js +1 -0
  356. package/dist/lib/content/card-corners.d.ts +12 -0
  357. package/dist/lib/content/card-corners.js +1 -0
  358. package/dist/lib/content/card-image-background.d.ts +11 -0
  359. package/dist/lib/content/card-image-background.js +1 -0
  360. package/dist/lib/content/card-image-shape.d.ts +5 -0
  361. package/dist/lib/content/card-image-shape.js +1 -0
  362. package/dist/lib/content/cart-drawer.d.ts +20 -0
  363. package/dist/lib/content/cart-drawer.js +1 -0
  364. package/dist/lib/content/contact.d.ts +79 -0
  365. package/dist/lib/content/contact.js +3 -0
  366. package/dist/lib/content/container-direction.d.ts +14 -0
  367. package/dist/lib/content/container-direction.js +1 -0
  368. package/dist/lib/content/container-gap.d.ts +31 -0
  369. package/dist/lib/content/container-gap.js +1 -0
  370. package/dist/lib/content/footer.d.ts +30 -0
  371. package/dist/lib/content/footer.js +1 -0
  372. package/dist/lib/content/footprint.d.ts +22 -0
  373. package/dist/lib/content/footprint.js +1 -0
  374. package/dist/lib/content/gallery-card-layout.d.ts +7 -0
  375. package/dist/lib/content/gallery-card-layout.js +1 -0
  376. package/dist/lib/content/gallery-layout.d.ts +154 -0
  377. package/dist/lib/content/gallery-layout.js +1 -0
  378. package/dist/lib/content/grid-span.d.ts +15 -0
  379. package/dist/lib/content/grid-span.js +1 -0
  380. package/dist/lib/content/image-corners.d.ts +7 -0
  381. package/dist/lib/content/image-corners.js +1 -0
  382. package/dist/lib/content/image-fit.d.ts +11 -0
  383. package/dist/lib/content/image-fit.js +1 -0
  384. package/dist/lib/content/image-treatment.d.ts +20 -0
  385. package/dist/lib/content/image-treatment.js +1 -0
  386. package/dist/lib/content/image-width.d.ts +9 -0
  387. package/dist/lib/content/image-width.js +1 -0
  388. package/dist/lib/content/page-background.d.ts +4 -0
  389. package/dist/lib/content/page-background.js +1 -0
  390. package/dist/lib/content/page-width.d.ts +63 -0
  391. package/dist/lib/content/page-width.js +1 -0
  392. package/dist/lib/content/product-page.d.ts +11 -0
  393. package/dist/lib/content/product-page.js +1 -0
  394. package/dist/lib/content/section-animation.d.ts +13 -0
  395. package/dist/lib/content/section-animation.js +1 -0
  396. package/dist/lib/content/section-background.d.ts +7 -0
  397. package/dist/lib/content/section-background.js +1 -0
  398. package/dist/lib/content/section-corners.d.ts +16 -0
  399. package/dist/lib/content/section-corners.js +1 -0
  400. package/dist/lib/content/section-height.d.ts +9 -0
  401. package/dist/lib/content/section-height.js +1 -0
  402. package/dist/lib/content/section-min-height.d.ts +60 -0
  403. package/dist/lib/content/section-min-height.js +1 -0
  404. package/dist/lib/content/section-padding.d.ts +33 -0
  405. package/dist/lib/content/section-padding.js +1 -0
  406. package/dist/lib/content/section-surface.d.ts +13 -0
  407. package/dist/lib/content/section-surface.js +1 -0
  408. package/dist/lib/content/section-type-size.d.ts +7 -0
  409. package/dist/lib/content/section-type-size.js +1 -0
  410. package/dist/lib/content/section-width.d.ts +19 -0
  411. package/dist/lib/content/section-width.js +1 -0
  412. package/dist/lib/content/site-gutter.d.ts +2 -0
  413. package/dist/lib/content/site-gutter.js +1 -0
  414. package/dist/lib/content/site-name.d.ts +2 -0
  415. package/dist/lib/content/site-name.js +1 -0
  416. package/dist/lib/content/social-links.d.ts +12 -0
  417. package/dist/lib/content/social-links.js +1 -0
  418. package/dist/lib/content/subscribe.d.ts +76 -0
  419. package/dist/lib/content/subscribe.js +2 -0
  420. package/dist/lib/content/view-tiers.d.ts +6 -0
  421. package/dist/lib/content/view-tiers.js +1 -0
  422. package/dist/lib/editor/preview-href.d.ts +6 -0
  423. package/dist/lib/editor/preview-href.js +1 -0
  424. package/dist/lib/editor-admin-bridge.d.ts +29 -0
  425. package/dist/lib/editor-admin-bridge.js +1 -0
  426. package/dist/lib/editor-auth.d.ts +3 -0
  427. package/dist/lib/editor-auth.js +1 -0
  428. package/dist/lib/editor-block-metadata.d.ts +6 -0
  429. package/dist/lib/editor-block-metadata.js +1 -0
  430. package/dist/lib/editor-blocks.d.ts +20 -0
  431. package/dist/lib/editor-blocks.js +1 -0
  432. package/dist/lib/editor-canvas-styles.d.ts +12 -0
  433. package/dist/lib/editor-canvas-styles.js +1 -0
  434. package/dist/lib/editor-chrome.d.ts +52 -0
  435. package/dist/lib/editor-chrome.js +1 -0
  436. package/dist/lib/editor-document-adapter.d.ts +55 -0
  437. package/dist/lib/editor-document-adapter.js +1 -0
  438. package/dist/lib/editor-document-hooks.d.ts +15 -0
  439. package/dist/lib/editor-document-hooks.js +0 -0
  440. package/dist/lib/editor-events.d.ts +8 -0
  441. package/dist/lib/editor-events.js +1 -0
  442. package/dist/lib/editor-failure.d.ts +4 -0
  443. package/dist/lib/editor-failure.js +1 -0
  444. package/dist/lib/editor-form-window.d.ts +21 -0
  445. package/dist/lib/editor-form-window.js +1 -0
  446. package/dist/lib/editor-host-inbound.d.ts +1 -0
  447. package/dist/lib/editor-host-inbound.js +1 -0
  448. package/dist/lib/editor-host.d.ts +135 -0
  449. package/dist/lib/editor-host.js +1 -0
  450. package/dist/lib/editor-key-scope.d.ts +3 -0
  451. package/dist/lib/editor-key-scope.js +1 -0
  452. package/dist/lib/editor-load-error.d.ts +4 -0
  453. package/dist/lib/editor-load-error.js +1 -0
  454. package/dist/lib/editor-media-panel.d.ts +23 -0
  455. package/dist/lib/editor-media-panel.js +1 -0
  456. package/dist/lib/editor-media-picker.d.ts +12 -0
  457. package/dist/lib/editor-media-picker.js +1 -0
  458. package/dist/lib/editor-page-lock.d.ts +1 -0
  459. package/dist/lib/editor-page-lock.js +1 -0
  460. package/dist/lib/editor-page-rows.d.ts +16 -0
  461. package/dist/lib/editor-page-rows.js +1 -0
  462. package/dist/lib/editor-section-templates.d.ts +2 -0
  463. package/dist/lib/editor-section-templates.js +1 -0
  464. package/dist/lib/editor-session-context.d.ts +7 -0
  465. package/dist/lib/editor-session-context.js +1 -0
  466. package/dist/lib/editor-session-loader.d.ts +4 -0
  467. package/dist/lib/editor-session-loader.js +1 -0
  468. package/dist/lib/editor-session.d.ts +45 -0
  469. package/dist/lib/editor-session.js +1 -0
  470. package/dist/lib/editor-site-slug.d.ts +2 -0
  471. package/dist/lib/editor-site-slug.js +1 -0
  472. package/dist/lib/editor-site.d.ts +3 -0
  473. package/dist/lib/editor-site.js +1 -0
  474. package/dist/lib/editor-theme.d.ts +1 -0
  475. package/dist/lib/editor-theme.js +1 -0
  476. package/dist/lib/fit-words.d.ts +3 -0
  477. package/dist/lib/fit-words.js +220 -0
  478. package/dist/lib/fonts.d.ts +32 -0
  479. package/dist/lib/fonts.js +1 -0
  480. package/dist/lib/geocode.d.ts +6 -0
  481. package/dist/lib/geocode.js +1 -0
  482. package/dist/lib/hero-arrows.d.ts +23 -0
  483. package/dist/lib/hero-arrows.js +1 -0
  484. package/dist/lib/hero-group-placement.d.ts +46 -0
  485. package/dist/lib/hero-group-placement.js +1 -0
  486. package/dist/lib/hero-overlay-anchor.d.ts +6 -0
  487. package/dist/lib/hero-overlay-anchor.js +1 -0
  488. package/dist/lib/hero-phone-stack.d.ts +27 -0
  489. package/dist/lib/hero-phone-stack.js +1 -0
  490. package/dist/lib/hero-swipe.d.ts +16 -0
  491. package/dist/lib/hero-swipe.js +1 -0
  492. package/dist/lib/hero-texture.d.ts +4 -0
  493. package/dist/lib/hero-texture.js +1 -0
  494. package/dist/lib/hero-video-control.d.ts +13 -0
  495. package/dist/lib/hero-video-control.js +1 -0
  496. package/dist/lib/image-focus.d.ts +16 -0
  497. package/dist/lib/image-focus.js +1 -0
  498. package/dist/lib/links/page-link-rules.d.ts +22 -0
  499. package/dist/lib/links/page-link-rules.js +1 -0
  500. package/dist/lib/locations-grid.d.ts +10 -0
  501. package/dist/lib/locations-grid.js +1 -0
  502. package/dist/lib/logo/analyze-logo-client.d.ts +3 -0
  503. package/dist/lib/logo/analyze-logo-client.js +1 -0
  504. package/dist/lib/logo/reverse-svg.d.ts +9 -0
  505. package/dist/lib/logo/reverse-svg.js +1 -0
  506. package/dist/lib/map-styles.d.ts +30 -0
  507. package/dist/lib/map-styles.js +1 -0
  508. package/dist/lib/maps-config.d.ts +16 -0
  509. package/dist/lib/maps-config.js +1 -0
  510. package/dist/lib/maps-loader.d.ts +3 -0
  511. package/dist/lib/maps-loader.js +1 -0
  512. package/dist/lib/markup.d.ts +38 -0
  513. package/dist/lib/markup.js +2 -0
  514. package/dist/lib/media.d.ts +10 -0
  515. package/dist/lib/media.js +1 -0
  516. package/dist/lib/parse-option.d.ts +3 -0
  517. package/dist/lib/parse-option.js +1 -0
  518. package/dist/lib/popup/text-kinds.d.ts +11 -0
  519. package/dist/lib/popup/text-kinds.js +1 -0
  520. package/dist/lib/preview-header-settings.d.ts +39 -0
  521. package/dist/lib/preview-header-settings.js +0 -0
  522. package/dist/lib/puck/ColourControl.d.ts +8 -0
  523. package/dist/lib/puck/ColourControl.js +1 -0
  524. package/dist/lib/puck/MarkupToolbar.d.ts +13 -0
  525. package/dist/lib/puck/MarkupToolbar.js +1 -0
  526. package/dist/lib/puck/add-palette.d.ts +20 -0
  527. package/dist/lib/puck/add-palette.js +1 -0
  528. package/dist/lib/puck/add-target.d.ts +10 -0
  529. package/dist/lib/puck/add-target.js +1 -0
  530. package/dist/lib/puck/apply-card-corners.d.ts +21 -0
  531. package/dist/lib/puck/apply-card-corners.js +1 -0
  532. package/dist/lib/puck/block-offer.d.ts +10 -0
  533. package/dist/lib/puck/block-offer.js +1 -0
  534. package/dist/lib/puck/block-types-in.d.ts +1 -0
  535. package/dist/lib/puck/block-types-in.js +1 -0
  536. package/dist/lib/puck/blocks/block-types.d.ts +12 -0
  537. package/dist/lib/puck/blocks/block-types.js +1 -0
  538. package/dist/lib/puck/blocks/general/Banner/fields.d.ts +2 -0
  539. package/dist/lib/puck/blocks/general/Banner/fields.js +1 -0
  540. package/dist/lib/puck/blocks/general/Banner/render.d.ts +2 -0
  541. package/dist/lib/puck/blocks/general/Banner/render.js +1 -0
  542. package/dist/lib/puck/blocks/general/Breadcrumb/fields.d.ts +2 -0
  543. package/dist/lib/puck/blocks/general/Breadcrumb/fields.js +1 -0
  544. package/dist/lib/puck/blocks/general/Breadcrumb/render.d.ts +5 -0
  545. package/dist/lib/puck/blocks/general/Breadcrumb/render.js +1 -0
  546. package/dist/lib/puck/blocks/general/ButtonBlock/fields.d.ts +2 -0
  547. package/dist/lib/puck/blocks/general/ButtonBlock/fields.js +1 -0
  548. package/dist/lib/puck/blocks/general/ButtonBlock/render.d.ts +2 -0
  549. package/dist/lib/puck/blocks/general/ButtonBlock/render.js +1 -0
  550. package/dist/lib/puck/blocks/general/Cards/fields.d.ts +2 -0
  551. package/dist/lib/puck/blocks/general/Cards/fields.js +1 -0
  552. package/dist/lib/puck/blocks/general/Cards/render.d.ts +6 -0
  553. package/dist/lib/puck/blocks/general/Cards/render.js +1 -0
  554. package/dist/lib/puck/blocks/general/CategoryBar/fields.d.ts +2 -0
  555. package/dist/lib/puck/blocks/general/CategoryBar/fields.js +1 -0
  556. package/dist/lib/puck/blocks/general/CategoryBar/render.d.ts +2 -0
  557. package/dist/lib/puck/blocks/general/CategoryBar/render.js +1 -0
  558. package/dist/lib/puck/blocks/general/Chart/fields.d.ts +2 -0
  559. package/dist/lib/puck/blocks/general/Chart/fields.js +1 -0
  560. package/dist/lib/puck/blocks/general/Chart/render.d.ts +6 -0
  561. package/dist/lib/puck/blocks/general/Chart/render.js +2 -0
  562. package/dist/lib/puck/blocks/general/ContactLocations/fields.d.ts +2 -0
  563. package/dist/lib/puck/blocks/general/ContactLocations/fields.js +1 -0
  564. package/dist/lib/puck/blocks/general/ContactLocations/render.d.ts +2 -0
  565. package/dist/lib/puck/blocks/general/ContactLocations/render.js +1 -0
  566. package/dist/lib/puck/blocks/general/CustomHTML/fields.d.ts +2 -0
  567. package/dist/lib/puck/blocks/general/CustomHTML/fields.js +1 -0
  568. package/dist/lib/puck/blocks/general/CustomHTML/render.d.ts +2 -0
  569. package/dist/lib/puck/blocks/general/CustomHTML/render.js +3 -0
  570. package/dist/lib/puck/blocks/general/Divider/fields.d.ts +2 -0
  571. package/dist/lib/puck/blocks/general/Divider/fields.js +1 -0
  572. package/dist/lib/puck/blocks/general/Divider/render.d.ts +2 -0
  573. package/dist/lib/puck/blocks/general/Divider/render.js +1 -0
  574. package/dist/lib/puck/blocks/general/DocBody/fields.d.ts +2 -0
  575. package/dist/lib/puck/blocks/general/DocBody/fields.js +1 -0
  576. package/dist/lib/puck/blocks/general/DocBody/render.d.ts +5 -0
  577. package/dist/lib/puck/blocks/general/DocBody/render.js +1 -0
  578. package/dist/lib/puck/blocks/general/DocMasthead/fields.d.ts +2 -0
  579. package/dist/lib/puck/blocks/general/DocMasthead/fields.js +1 -0
  580. package/dist/lib/puck/blocks/general/DocMasthead/render.d.ts +7 -0
  581. package/dist/lib/puck/blocks/general/DocMasthead/render.js +1 -0
  582. package/dist/lib/puck/blocks/general/DocMetaCards/fields.d.ts +2 -0
  583. package/dist/lib/puck/blocks/general/DocMetaCards/fields.js +1 -0
  584. package/dist/lib/puck/blocks/general/DocMetaCards/render.d.ts +4 -0
  585. package/dist/lib/puck/blocks/general/DocMetaCards/render.js +1 -0
  586. package/dist/lib/puck/blocks/general/DocTabs/fields.d.ts +2 -0
  587. package/dist/lib/puck/blocks/general/DocTabs/fields.js +1 -0
  588. package/dist/lib/puck/blocks/general/DocTabs/render.d.ts +6 -0
  589. package/dist/lib/puck/blocks/general/DocTabs/render.js +1 -0
  590. package/dist/lib/puck/blocks/general/Eyebrow/fields.d.ts +2 -0
  591. package/dist/lib/puck/blocks/general/Eyebrow/fields.js +1 -0
  592. package/dist/lib/puck/blocks/general/Eyebrow/render.d.ts +2 -0
  593. package/dist/lib/puck/blocks/general/Eyebrow/render.js +1 -0
  594. package/dist/lib/puck/blocks/general/FAQ/fields.d.ts +2 -0
  595. package/dist/lib/puck/blocks/general/FAQ/fields.js +1 -0
  596. package/dist/lib/puck/blocks/general/FAQ/render.d.ts +7 -0
  597. package/dist/lib/puck/blocks/general/FAQ/render.js +1 -0
  598. package/dist/lib/puck/blocks/general/FeaturedCover/fields.d.ts +2 -0
  599. package/dist/lib/puck/blocks/general/FeaturedCover/fields.js +1 -0
  600. package/dist/lib/puck/blocks/general/FeaturedCover/render.d.ts +13 -0
  601. package/dist/lib/puck/blocks/general/FeaturedCover/render.js +1 -0
  602. package/dist/lib/puck/blocks/general/Flex/fields.d.ts +2 -0
  603. package/dist/lib/puck/blocks/general/Flex/fields.js +1 -0
  604. package/dist/lib/puck/blocks/general/Flex/render.d.ts +7 -0
  605. package/dist/lib/puck/blocks/general/Flex/render.js +1 -0
  606. package/dist/lib/puck/blocks/general/Footprint/fields.d.ts +2 -0
  607. package/dist/lib/puck/blocks/general/Footprint/fields.js +1 -0
  608. package/dist/lib/puck/blocks/general/Footprint/render.d.ts +7 -0
  609. package/dist/lib/puck/blocks/general/Footprint/render.js +2 -0
  610. package/dist/lib/puck/blocks/general/Grid/fields.d.ts +2 -0
  611. package/dist/lib/puck/blocks/general/Grid/fields.js +1 -0
  612. package/dist/lib/puck/blocks/general/Grid/render.d.ts +7 -0
  613. package/dist/lib/puck/blocks/general/Grid/render.js +1 -0
  614. package/dist/lib/puck/blocks/general/Heading/fields.d.ts +2 -0
  615. package/dist/lib/puck/blocks/general/Heading/fields.js +1 -0
  616. package/dist/lib/puck/blocks/general/Heading/render.d.ts +2 -0
  617. package/dist/lib/puck/blocks/general/Heading/render.js +1 -0
  618. package/dist/lib/puck/blocks/general/Hero/fields.d.ts +2 -0
  619. package/dist/lib/puck/blocks/general/Hero/fields.js +1 -0
  620. package/dist/lib/puck/blocks/general/Hero/render.d.ts +7 -0
  621. package/dist/lib/puck/blocks/general/Hero/render.js +1 -0
  622. package/dist/lib/puck/blocks/general/HeroGroup/fields.d.ts +2 -0
  623. package/dist/lib/puck/blocks/general/HeroGroup/fields.js +1 -0
  624. package/dist/lib/puck/blocks/general/HeroGroup/render.d.ts +8 -0
  625. package/dist/lib/puck/blocks/general/HeroGroup/render.js +1 -0
  626. package/dist/lib/puck/blocks/general/HeroSingle/fields.d.ts +2 -0
  627. package/dist/lib/puck/blocks/general/HeroSingle/fields.js +1 -0
  628. package/dist/lib/puck/blocks/general/HeroSingle/render.d.ts +8 -0
  629. package/dist/lib/puck/blocks/general/HeroSingle/render.js +1 -0
  630. package/dist/lib/puck/blocks/general/HeroSlide/fields.d.ts +2 -0
  631. package/dist/lib/puck/blocks/general/HeroSlide/fields.js +1 -0
  632. package/dist/lib/puck/blocks/general/HeroSlide/render.d.ts +8 -0
  633. package/dist/lib/puck/blocks/general/HeroSlide/render.js +1 -0
  634. package/dist/lib/puck/blocks/general/ImageBlock/fields.d.ts +2 -0
  635. package/dist/lib/puck/blocks/general/ImageBlock/fields.js +1 -0
  636. package/dist/lib/puck/blocks/general/ImageBlock/render.d.ts +2 -0
  637. package/dist/lib/puck/blocks/general/ImageBlock/render.js +1 -0
  638. package/dist/lib/puck/blocks/general/Integrations/fields.d.ts +2 -0
  639. package/dist/lib/puck/blocks/general/Integrations/fields.js +2 -0
  640. package/dist/lib/puck/blocks/general/Integrations/render.d.ts +2 -0
  641. package/dist/lib/puck/blocks/general/Integrations/render.js +2 -0
  642. package/dist/lib/puck/blocks/general/IntroBleed/fields.d.ts +2 -0
  643. package/dist/lib/puck/blocks/general/IntroBleed/fields.js +1 -0
  644. package/dist/lib/puck/blocks/general/IntroBleed/render.d.ts +7 -0
  645. package/dist/lib/puck/blocks/general/IntroBleed/render.js +2 -0
  646. package/dist/lib/puck/blocks/general/KeyFeatures/fields.d.ts +2 -0
  647. package/dist/lib/puck/blocks/general/KeyFeatures/fields.js +1 -0
  648. package/dist/lib/puck/blocks/general/KeyFeatures/render.d.ts +6 -0
  649. package/dist/lib/puck/blocks/general/KeyFeatures/render.js +1 -0
  650. package/dist/lib/puck/blocks/general/LogoBlock/fields.d.ts +2 -0
  651. package/dist/lib/puck/blocks/general/LogoBlock/fields.js +1 -0
  652. package/dist/lib/puck/blocks/general/LogoBlock/render.d.ts +2 -0
  653. package/dist/lib/puck/blocks/general/LogoBlock/render.js +1 -0
  654. package/dist/lib/puck/blocks/general/Logos/fields.d.ts +2 -0
  655. package/dist/lib/puck/blocks/general/Logos/fields.js +1 -0
  656. package/dist/lib/puck/blocks/general/Logos/render.d.ts +2 -0
  657. package/dist/lib/puck/blocks/general/Logos/render.js +1 -0
  658. package/dist/lib/puck/blocks/general/LongRead/fields.d.ts +2 -0
  659. package/dist/lib/puck/blocks/general/LongRead/fields.js +1 -0
  660. package/dist/lib/puck/blocks/general/LongRead/render.d.ts +19 -0
  661. package/dist/lib/puck/blocks/general/LongRead/render.js +1 -0
  662. package/dist/lib/puck/blocks/general/Manifesto/fields.d.ts +2 -0
  663. package/dist/lib/puck/blocks/general/Manifesto/fields.js +2 -0
  664. package/dist/lib/puck/blocks/general/Manifesto/render.d.ts +2 -0
  665. package/dist/lib/puck/blocks/general/Manifesto/render.js +1 -0
  666. package/dist/lib/puck/blocks/general/Masthead/fields.d.ts +2 -0
  667. package/dist/lib/puck/blocks/general/Masthead/fields.js +1 -0
  668. package/dist/lib/puck/blocks/general/Masthead/render.d.ts +8 -0
  669. package/dist/lib/puck/blocks/general/Masthead/render.js +1 -0
  670. package/dist/lib/puck/blocks/general/Mockup/fields.d.ts +2 -0
  671. package/dist/lib/puck/blocks/general/Mockup/fields.js +2 -0
  672. package/dist/lib/puck/blocks/general/Mockup/render.d.ts +2 -0
  673. package/dist/lib/puck/blocks/general/Mockup/render.js +2 -0
  674. package/dist/lib/puck/blocks/general/OrderSummary/fields.d.ts +2 -0
  675. package/dist/lib/puck/blocks/general/OrderSummary/fields.js +1 -0
  676. package/dist/lib/puck/blocks/general/OrderSummary/render.d.ts +6 -0
  677. package/dist/lib/puck/blocks/general/OrderSummary/render.js +1 -0
  678. package/dist/lib/puck/blocks/general/ParagraphsA/fields.d.ts +2 -0
  679. package/dist/lib/puck/blocks/general/ParagraphsA/fields.js +1 -0
  680. package/dist/lib/puck/blocks/general/ParagraphsA/render.d.ts +9 -0
  681. package/dist/lib/puck/blocks/general/ParagraphsA/render.js +1 -0
  682. package/dist/lib/puck/blocks/general/PaymentBadges/fields.d.ts +2 -0
  683. package/dist/lib/puck/blocks/general/PaymentBadges/fields.js +1 -0
  684. package/dist/lib/puck/blocks/general/PaymentBadges/render.d.ts +5 -0
  685. package/dist/lib/puck/blocks/general/PaymentBadges/render.js +1 -0
  686. package/dist/lib/puck/blocks/general/PostCard/fields.d.ts +2 -0
  687. package/dist/lib/puck/blocks/general/PostCard/fields.js +1 -0
  688. package/dist/lib/puck/blocks/general/PostCard/render.d.ts +9 -0
  689. package/dist/lib/puck/blocks/general/PostCard/render.js +1 -0
  690. package/dist/lib/puck/blocks/general/ProcessSteps/fields.d.ts +2 -0
  691. package/dist/lib/puck/blocks/general/ProcessSteps/fields.js +1 -0
  692. package/dist/lib/puck/blocks/general/ProcessSteps/render.d.ts +13 -0
  693. package/dist/lib/puck/blocks/general/ProcessSteps/render.js +1 -0
  694. package/dist/lib/puck/blocks/general/Prose/fields.d.ts +2 -0
  695. package/dist/lib/puck/blocks/general/Prose/fields.js +1 -0
  696. package/dist/lib/puck/blocks/general/Prose/render.d.ts +7 -0
  697. package/dist/lib/puck/blocks/general/Prose/render.js +1 -0
  698. package/dist/lib/puck/blocks/general/SectionHeader/fields.d.ts +2 -0
  699. package/dist/lib/puck/blocks/general/SectionHeader/fields.js +1 -0
  700. package/dist/lib/puck/blocks/general/SectionHeader/render.d.ts +2 -0
  701. package/dist/lib/puck/blocks/general/SectionHeader/render.js +1 -0
  702. package/dist/lib/puck/blocks/general/Series/fields.d.ts +2 -0
  703. package/dist/lib/puck/blocks/general/Series/fields.js +1 -0
  704. package/dist/lib/puck/blocks/general/Series/render.d.ts +8 -0
  705. package/dist/lib/puck/blocks/general/Series/render.js +1 -0
  706. package/dist/lib/puck/blocks/general/Spacer/fields.d.ts +2 -0
  707. package/dist/lib/puck/blocks/general/Spacer/fields.js +1 -0
  708. package/dist/lib/puck/blocks/general/Spacer/render.d.ts +2 -0
  709. package/dist/lib/puck/blocks/general/Spacer/render.js +1 -0
  710. package/dist/lib/puck/blocks/general/SpecStrip/fields.d.ts +2 -0
  711. package/dist/lib/puck/blocks/general/SpecStrip/fields.js +1 -0
  712. package/dist/lib/puck/blocks/general/SpecStrip/render.d.ts +2 -0
  713. package/dist/lib/puck/blocks/general/SpecStrip/render.js +1 -0
  714. package/dist/lib/puck/blocks/general/Split/fields.d.ts +2 -0
  715. package/dist/lib/puck/blocks/general/Split/fields.js +1 -0
  716. package/dist/lib/puck/blocks/general/Split/render.d.ts +10 -0
  717. package/dist/lib/puck/blocks/general/Split/render.js +2 -0
  718. package/dist/lib/puck/blocks/general/Stats/fields.d.ts +2 -0
  719. package/dist/lib/puck/blocks/general/Stats/fields.js +1 -0
  720. package/dist/lib/puck/blocks/general/Stats/render.d.ts +2 -0
  721. package/dist/lib/puck/blocks/general/Stats/render.js +1 -0
  722. package/dist/lib/puck/blocks/general/StatsParagraph/fields.d.ts +2 -0
  723. package/dist/lib/puck/blocks/general/StatsParagraph/fields.js +1 -0
  724. package/dist/lib/puck/blocks/general/StatsParagraph/render.d.ts +7 -0
  725. package/dist/lib/puck/blocks/general/StatsParagraph/render.js +1 -0
  726. package/dist/lib/puck/blocks/general/Testimonials/fields.d.ts +2 -0
  727. package/dist/lib/puck/blocks/general/Testimonials/fields.js +1 -0
  728. package/dist/lib/puck/blocks/general/Testimonials/render.d.ts +6 -0
  729. package/dist/lib/puck/blocks/general/Testimonials/render.js +1 -0
  730. package/dist/lib/puck/blocks/general/Text/fields.d.ts +2 -0
  731. package/dist/lib/puck/blocks/general/Text/fields.js +1 -0
  732. package/dist/lib/puck/blocks/general/Text/render.d.ts +2 -0
  733. package/dist/lib/puck/blocks/general/Text/render.js +1 -0
  734. package/dist/lib/puck/blocks/general/Ticker/fields.d.ts +2 -0
  735. package/dist/lib/puck/blocks/general/Ticker/fields.js +1 -0
  736. package/dist/lib/puck/blocks/general/Ticker/render.d.ts +5 -0
  737. package/dist/lib/puck/blocks/general/Ticker/render.js +1 -0
  738. package/dist/lib/puck/blocks/general/Timeline/fields.d.ts +2 -0
  739. package/dist/lib/puck/blocks/general/Timeline/fields.js +1 -0
  740. package/dist/lib/puck/blocks/general/Timeline/render.d.ts +10 -0
  741. package/dist/lib/puck/blocks/general/Timeline/render.js +2 -0
  742. package/dist/lib/puck/blocks/general/TimelineTrack/fields.d.ts +2 -0
  743. package/dist/lib/puck/blocks/general/TimelineTrack/fields.js +1 -0
  744. package/dist/lib/puck/blocks/general/TimelineTrack/render.d.ts +8 -0
  745. package/dist/lib/puck/blocks/general/TimelineTrack/render.js +1 -0
  746. package/dist/lib/puck/blocks/general/TitleWithButtons/fields.d.ts +2 -0
  747. package/dist/lib/puck/blocks/general/TitleWithButtons/fields.js +1 -0
  748. package/dist/lib/puck/blocks/general/TitleWithButtons/render.d.ts +5 -0
  749. package/dist/lib/puck/blocks/general/TitleWithButtons/render.js +2 -0
  750. package/dist/lib/puck/blocks/general/index.d.ts +2 -0
  751. package/dist/lib/puck/blocks/general/index.js +1 -0
  752. package/dist/lib/puck/blocks/general/renders.d.ts +57 -0
  753. package/dist/lib/puck/blocks/general/renders.js +1 -0
  754. package/dist/lib/puck/blocks/general/section-bg-built-in.d.ts +6 -0
  755. package/dist/lib/puck/blocks/general/section-bg-built-in.js +1 -0
  756. package/dist/lib/puck/blocks/placeholders.d.ts +25 -0
  757. package/dist/lib/puck/blocks/placeholders.js +1 -0
  758. package/dist/lib/puck/blocks/scaffold.d.ts +22 -0
  759. package/dist/lib/puck/blocks/scaffold.js +1 -0
  760. package/dist/lib/puck/blocks/shared-fields.d.ts +14 -0
  761. package/dist/lib/puck/blocks/shared-fields.js +1 -0
  762. package/dist/lib/puck/booking-preview.d.ts +3 -0
  763. package/dist/lib/puck/booking-preview.js +1 -0
  764. package/dist/lib/puck/box-footer.d.ts +9 -0
  765. package/dist/lib/puck/box-footer.js +1 -0
  766. package/dist/lib/puck/build-config.d.ts +3 -0
  767. package/dist/lib/puck/build-config.js +1 -0
  768. package/dist/lib/puck/cap-hero-groups.d.ts +1 -0
  769. package/dist/lib/puck/cap-hero-groups.js +1 -0
  770. package/dist/lib/puck/container-blocks.d.ts +10 -0
  771. package/dist/lib/puck/container-blocks.js +1 -0
  772. package/dist/lib/puck/content-tree.d.ts +43 -0
  773. package/dist/lib/puck/content-tree.js +1 -0
  774. package/dist/lib/puck/controls.d.ts +346 -0
  775. package/dist/lib/puck/controls.js +1 -0
  776. package/dist/lib/puck/device-fields.d.ts +24 -0
  777. package/dist/lib/puck/device-fields.js +1 -0
  778. package/dist/lib/puck/editor-page-context.d.ts +6 -0
  779. package/dist/lib/puck/editor-page-context.js +1 -0
  780. package/dist/lib/puck/enclosing-section.d.ts +1 -0
  781. package/dist/lib/puck/enclosing-section.js +1 -0
  782. package/dist/lib/puck/field-groups.d.ts +23 -0
  783. package/dist/lib/puck/field-groups.js +1 -0
  784. package/dist/lib/puck/field-markers.d.ts +16 -0
  785. package/dist/lib/puck/field-markers.js +1 -0
  786. package/dist/lib/puck/field-noun.d.ts +3 -0
  787. package/dist/lib/puck/field-noun.js +1 -0
  788. package/dist/lib/puck/footer-blocks.d.ts +19 -0
  789. package/dist/lib/puck/footer-blocks.js +1 -0
  790. package/dist/lib/puck/footer-return.d.ts +3 -0
  791. package/dist/lib/puck/footer-return.js +1 -0
  792. package/dist/lib/puck/general-registry.d.ts +4 -0
  793. package/dist/lib/puck/general-registry.js +1 -0
  794. package/dist/lib/puck/geocode-resolve.d.ts +14 -0
  795. package/dist/lib/puck/geocode-resolve.js +1 -0
  796. package/dist/lib/puck/header-clearance.d.ts +49 -0
  797. package/dist/lib/puck/header-clearance.js +1 -0
  798. package/dist/lib/puck/header-ink.d.ts +16 -0
  799. package/dist/lib/puck/header-ink.js +1 -0
  800. package/dist/lib/puck/heading-outline.d.ts +7 -0
  801. package/dist/lib/puck/heading-outline.js +1 -0
  802. package/dist/lib/puck/hidable.d.ts +9 -0
  803. package/dist/lib/puck/hidable.js +1 -0
  804. package/dist/lib/puck/home-page.d.ts +1 -0
  805. package/dist/lib/puck/home-page.js +1 -0
  806. package/dist/lib/puck/left-view.d.ts +5 -0
  807. package/dist/lib/puck/left-view.js +1 -0
  808. package/dist/lib/puck/locations-focus.d.ts +22 -0
  809. package/dist/lib/puck/locations-focus.js +1 -0
  810. package/dist/lib/puck/locations-tree.d.ts +23 -0
  811. package/dist/lib/puck/locations-tree.js +2 -0
  812. package/dist/lib/puck/locked-blocks.d.ts +2 -0
  813. package/dist/lib/puck/locked-blocks.js +1 -0
  814. package/dist/lib/puck/media-manifest.json +138 -0
  815. package/dist/lib/puck/migrate-legacy.d.ts +2 -0
  816. package/dist/lib/puck/migrate-legacy.js +1 -0
  817. package/dist/lib/puck/mockup-variant-fields.d.ts +10 -0
  818. package/dist/lib/puck/mockup-variant-fields.js +1 -0
  819. package/dist/lib/puck/neutralization-contracts.d.ts +43 -0
  820. package/dist/lib/puck/neutralization-contracts.js +1 -0
  821. package/dist/lib/puck/one-h1.d.ts +3 -0
  822. package/dist/lib/puck/one-h1.js +1 -0
  823. package/dist/lib/puck/overlay-portal.d.ts +2 -0
  824. package/dist/lib/puck/overlay-portal.js +1 -0
  825. package/dist/lib/puck/overrides.d.ts +2 -0
  826. package/dist/lib/puck/overrides.js +1 -0
  827. package/dist/lib/puck/page-render.d.ts +5 -0
  828. package/dist/lib/puck/page-render.js +1 -0
  829. package/dist/lib/puck/page-root-fields.d.ts +29 -0
  830. package/dist/lib/puck/page-root-fields.js +1 -0
  831. package/dist/lib/puck/page-root.d.ts +55 -0
  832. package/dist/lib/puck/page-root.js +1 -0
  833. package/dist/lib/puck/panel-drop-empty-headings.d.ts +3 -0
  834. package/dist/lib/puck/panel-drop-empty-headings.js +1 -0
  835. package/dist/lib/puck/panel-fields.d.ts +12 -0
  836. package/dist/lib/puck/panel-fields.js +1 -0
  837. package/dist/lib/puck/panel-heading-scope.d.ts +8 -0
  838. package/dist/lib/puck/panel-heading-scope.js +1 -0
  839. package/dist/lib/puck/panel-no-control-mark.d.ts +7 -0
  840. package/dist/lib/puck/panel-no-control-mark.js +1 -0
  841. package/dist/lib/puck/part-anchors.d.ts +23 -0
  842. package/dist/lib/puck/part-anchors.js +1 -0
  843. package/dist/lib/puck/part-inks.d.ts +9 -0
  844. package/dist/lib/puck/part-inks.js +1 -0
  845. package/dist/lib/puck/part-key.d.ts +9 -0
  846. package/dist/lib/puck/part-key.js +1 -0
  847. package/dist/lib/puck/part-row-field.d.ts +2 -0
  848. package/dist/lib/puck/part-row-field.js +1 -0
  849. package/dist/lib/puck/part-rows.d.ts +15 -0
  850. package/dist/lib/puck/part-rows.js +1 -0
  851. package/dist/lib/puck/part-styles.d.ts +133 -0
  852. package/dist/lib/puck/part-styles.js +2 -0
  853. package/dist/lib/puck/part-text.d.ts +12 -0
  854. package/dist/lib/puck/part-text.js +1 -0
  855. package/dist/lib/puck/part-typing.d.ts +11 -0
  856. package/dist/lib/puck/part-typing.js +1 -0
  857. package/dist/lib/puck/passes/catalogue-labels.d.ts +2 -0
  858. package/dist/lib/puck/passes/catalogue-labels.js +1 -0
  859. package/dist/lib/puck/passes/cell-width.d.ts +2 -0
  860. package/dist/lib/puck/passes/cell-width.js +1 -0
  861. package/dist/lib/puck/passes/clickable-parts.d.ts +2 -0
  862. package/dist/lib/puck/passes/clickable-parts.js +1 -0
  863. package/dist/lib/puck/passes/corners.d.ts +3 -0
  864. package/dist/lib/puck/passes/corners.js +1 -0
  865. package/dist/lib/puck/passes/document-position.d.ts +16 -0
  866. package/dist/lib/puck/passes/document-position.js +1 -0
  867. package/dist/lib/puck/passes/empty-headings.d.ts +2 -0
  868. package/dist/lib/puck/passes/empty-headings.js +1 -0
  869. package/dist/lib/puck/passes/hidden-nodes.d.ts +2 -0
  870. package/dist/lib/puck/passes/hidden-nodes.js +1 -0
  871. package/dist/lib/puck/passes/index.d.ts +5 -0
  872. package/dist/lib/puck/passes/index.js +1 -0
  873. package/dist/lib/puck/passes/inspector.d.ts +2 -0
  874. package/dist/lib/puck/passes/inspector.js +1 -0
  875. package/dist/lib/puck/passes/registry-context.d.ts +2 -0
  876. package/dist/lib/puck/passes/registry-context.js +1 -0
  877. package/dist/lib/puck/passes/section-anchor.d.ts +2 -0
  878. package/dist/lib/puck/passes/section-anchor.js +1 -0
  879. package/dist/lib/puck/passes/section-animation.d.ts +2 -0
  880. package/dist/lib/puck/passes/section-animation.js +1 -0
  881. package/dist/lib/puck/passes/section-height.d.ts +2 -0
  882. package/dist/lib/puck/passes/section-height.js +1 -0
  883. package/dist/lib/puck/passes/section-padding.d.ts +8 -0
  884. package/dist/lib/puck/passes/section-padding.js +1 -0
  885. package/dist/lib/puck/passes/section-theme.d.ts +3 -0
  886. package/dist/lib/puck/passes/section-theme.js +1 -0
  887. package/dist/lib/puck/passes/section-width.d.ts +10 -0
  888. package/dist/lib/puck/passes/section-width.js +1 -0
  889. package/dist/lib/puck/passes/settings-groups.d.ts +3 -0
  890. package/dist/lib/puck/passes/settings-groups.js +1 -0
  891. package/dist/lib/puck/passes/slot-rules.d.ts +4 -0
  892. package/dist/lib/puck/passes/slot-rules.js +1 -0
  893. package/dist/lib/puck/passes/types.d.ts +51 -0
  894. package/dist/lib/puck/passes/types.js +0 -0
  895. package/dist/lib/puck/phone-override.d.ts +4 -0
  896. package/dist/lib/puck/phone-override.js +1 -0
  897. package/dist/lib/puck/pinned-seed-gate.d.ts +17 -0
  898. package/dist/lib/puck/pinned-seed-gate.js +1 -0
  899. package/dist/lib/puck/preview-click.d.ts +2 -0
  900. package/dist/lib/puck/preview-click.js +1 -0
  901. package/dist/lib/puck/preview-dom.d.ts +6 -0
  902. package/dist/lib/puck/preview-dom.js +1 -0
  903. package/dist/lib/puck/preview-selection-context.d.ts +19 -0
  904. package/dist/lib/puck/preview-selection-context.js +1 -0
  905. package/dist/lib/puck/registry.d.ts +3 -0
  906. package/dist/lib/puck/registry.js +1 -0
  907. package/dist/lib/puck/renamed-props.d.ts +2 -0
  908. package/dist/lib/puck/renamed-props.js +1 -0
  909. package/dist/lib/puck/sanitize.d.ts +1 -0
  910. package/dist/lib/puck/sanitize.js +1 -0
  911. package/dist/lib/puck/section-catalog.d.ts +36 -0
  912. package/dist/lib/puck/section-catalog.js +1 -0
  913. package/dist/lib/puck/section-descriptions.d.ts +1 -0
  914. package/dist/lib/puck/section-descriptions.js +1 -0
  915. package/dist/lib/puck/section-doc.d.ts +5 -0
  916. package/dist/lib/puck/section-doc.js +1 -0
  917. package/dist/lib/puck/section-groups.d.ts +21 -0
  918. package/dist/lib/puck/section-groups.js +1 -0
  919. package/dist/lib/puck/section-text-suppress.d.ts +9 -0
  920. package/dist/lib/puck/section-text-suppress.js +1 -0
  921. package/dist/lib/puck/site-gap-fields.d.ts +2 -0
  922. package/dist/lib/puck/site-gap-fields.js +1 -0
  923. package/dist/lib/puck/slider-typing.d.ts +9 -0
  924. package/dist/lib/puck/slider-typing.js +1 -0
  925. package/dist/lib/puck/slot-child-name.d.ts +8 -0
  926. package/dist/lib/puck/slot-child-name.js +1 -0
  927. package/dist/lib/puck/slot-heal.d.ts +2 -0
  928. package/dist/lib/puck/slot-heal.js +1 -0
  929. package/dist/lib/puck/slot-specs.d.ts +20 -0
  930. package/dist/lib/puck/slot-specs.js +1 -0
  931. package/dist/lib/puck/snapshot-contracts.d.ts +4 -0
  932. package/dist/lib/puck/snapshot-contracts.js +1 -0
  933. package/dist/lib/puck/source-bound-parts.d.ts +12 -0
  934. package/dist/lib/puck/source-bound-parts.js +1 -0
  935. package/dist/lib/puck/style-clipboard.d.ts +19 -0
  936. package/dist/lib/puck/style-clipboard.js +1 -0
  937. package/dist/lib/puck/templateFields.d.ts +2 -0
  938. package/dist/lib/puck/templateFields.js +1 -0
  939. package/dist/lib/puck/text-control-kinds.d.ts +13 -0
  940. package/dist/lib/puck/text-control-kinds.js +1 -0
  941. package/dist/lib/puck/text-parts.d.ts +33 -0
  942. package/dist/lib/puck/text-parts.js +1 -0
  943. package/dist/lib/puck/theme-swatches.d.ts +3 -0
  944. package/dist/lib/puck/theme-swatches.js +1 -0
  945. package/dist/lib/puck/tree-reveal.d.ts +11 -0
  946. package/dist/lib/puck/tree-reveal.js +1 -0
  947. package/dist/lib/puck/use-section-ops.d.ts +25 -0
  948. package/dist/lib/puck/use-section-ops.js +1 -0
  949. package/dist/lib/reel.d.ts +33 -0
  950. package/dist/lib/reel.js +1 -0
  951. package/dist/lib/safe-storage.d.ts +10 -0
  952. package/dist/lib/safe-storage.js +1 -0
  953. package/dist/lib/save-as-template-action.d.ts +29 -0
  954. package/dist/lib/save-as-template-action.js +1 -0
  955. package/dist/lib/section-template-types.d.ts +21 -0
  956. package/dist/lib/section-template-types.js +0 -0
  957. package/dist/lib/sections/card-cover-index.d.ts +7 -0
  958. package/dist/lib/sections/card-cover-index.js +1 -0
  959. package/dist/lib/sections/collection-card-text-regions.d.ts +4 -0
  960. package/dist/lib/sections/collection-card-text-regions.js +1 -0
  961. package/dist/lib/sections/divider-style.d.ts +12 -0
  962. package/dist/lib/sections/divider-style.js +1 -0
  963. package/dist/lib/sections/faq-text-regions.d.ts +4 -0
  964. package/dist/lib/sections/faq-text-regions.js +1 -0
  965. package/dist/lib/sections/hero-overlay.d.ts +10 -0
  966. package/dist/lib/sections/hero-overlay.js +1 -0
  967. package/dist/lib/sections/intro-bleed-layout.d.ts +15 -0
  968. package/dist/lib/sections/intro-bleed-layout.js +1 -0
  969. package/dist/lib/sections/product-card-style.d.ts +18 -0
  970. package/dist/lib/sections/product-card-style.js +1 -0
  971. package/dist/lib/sections/section-eyebrow-look.d.ts +11 -0
  972. package/dist/lib/sections/section-eyebrow-look.js +1 -0
  973. package/dist/lib/sections/section-head-placement.d.ts +31 -0
  974. package/dist/lib/sections/section-head-placement.js +1 -0
  975. package/dist/lib/sections/section-head-style.d.ts +16 -0
  976. package/dist/lib/sections/section-head-style.js +1 -0
  977. package/dist/lib/sections/section-number-style.d.ts +10 -0
  978. package/dist/lib/sections/section-number-style.js +1 -0
  979. package/dist/lib/sections/section-presets.d.ts +9 -0
  980. package/dist/lib/sections/section-presets.js +1 -0
  981. package/dist/lib/sections/section-text-kinds.d.ts +8 -0
  982. package/dist/lib/sections/section-text-kinds.js +1 -0
  983. package/dist/lib/sections/section-text-regions.d.ts +3 -0
  984. package/dist/lib/sections/section-text-regions.js +1 -0
  985. package/dist/lib/sections/spec-table-regions.d.ts +11 -0
  986. package/dist/lib/sections/spec-table-regions.js +1 -0
  987. package/dist/lib/sections/text-regions.d.ts +21 -0
  988. package/dist/lib/sections/text-regions.js +1 -0
  989. package/dist/lib/sections/ticker-join.d.ts +9 -0
  990. package/dist/lib/sections/ticker-join.js +1 -0
  991. package/dist/lib/sections/ticker-scroll.d.ts +11 -0
  992. package/dist/lib/sections/ticker-scroll.js +1 -0
  993. package/dist/lib/sections/ticker-style.d.ts +17 -0
  994. package/dist/lib/sections/ticker-style.js +1 -0
  995. package/dist/lib/site-runtime.d.ts +28 -0
  996. package/dist/lib/site-runtime.js +1 -0
  997. package/dist/lib/site-theme-row.d.ts +52 -0
  998. package/dist/lib/site-theme-row.js +0 -0
  999. package/dist/lib/slugify.d.ts +1 -0
  1000. package/dist/lib/slugify.js +1 -0
  1001. package/dist/lib/theme-dom.d.ts +14 -0
  1002. package/dist/lib/theme-dom.js +1 -0
  1003. package/dist/lib/theme-row-persist.d.ts +34 -0
  1004. package/dist/lib/theme-row-persist.js +1 -0
  1005. package/dist/lib/theme-save-message.d.ts +6 -0
  1006. package/dist/lib/theme-save-message.js +1 -0
  1007. package/dist/lib/theme.d.ts +177 -0
  1008. package/dist/lib/theme.js +18 -0
  1009. package/dist/lib/use-host-products.d.ts +2 -0
  1010. package/dist/lib/use-host-products.js +1 -0
  1011. package/dist/lib/web-backend.d.ts +193 -0
  1012. package/dist/lib/web-backend.js +1 -0
  1013. package/dist/lib/web-runtime.d.ts +7 -0
  1014. package/dist/lib/web-runtime.js +1 -0
  1015. package/dist/lib/word-styles.d.ts +54 -0
  1016. package/dist/lib/word-styles.js +1 -0
  1017. package/package.json +40 -36
  1018. package/dist/chunks/EditorPreviewCheckout-5KOAA2SK.js +0 -4
  1019. package/dist/chunks/PreviewFooter-H6XJUR5S.js +0 -1
  1020. package/dist/chunks/SectionEditorShell-EEZR7KFE.js +0 -1
  1021. package/dist/chunks/SiteEditorProvider-ECGZVKLG.js +0 -1
  1022. package/dist/chunks/StorefrontEditorChrome-4TFS62GY.js +0 -1
  1023. package/dist/chunks/chunk-6CP4D6VJ.js +0 -1
  1024. package/dist/chunks/chunk-7QXLVNFD.js +0 -1
  1025. package/dist/chunks/chunk-BJOS4Y35.js +0 -15
  1026. package/dist/chunks/chunk-BJOS4Y35.js.LEGAL.txt +0 -27
  1027. package/dist/chunks/chunk-EIXUXJQ5.js +0 -153
  1028. package/dist/chunks/chunk-EIXUXJQ5.js.LEGAL.txt +0 -4
  1029. package/dist/chunks/chunk-H7O6ZYX6.js +0 -1
  1030. package/dist/chunks/chunk-HVOO2GNE.js +0 -1
  1031. package/dist/chunks/chunk-IFRGL3GL.js +0 -1
  1032. package/dist/chunks/chunk-ML2AR222.js +0 -1
  1033. package/dist/chunks/chunk-RRHBLOH4.js +0 -1
  1034. package/dist/chunks/chunk-S6SXIMIG.js +0 -2
  1035. package/dist/chunks/chunk-SNH7IFTZ.js +0 -1
  1036. package/dist/chunks/chunk-Y4CZD2YY.js +0 -230
  1037. package/dist/chunks/chunk-Y6SLVHK3.js +0 -1
  1038. package/dist/chunks/chunk-YVQUISDX.js +0 -1
  1039. package/dist/chunks/fitment-data-6NXSKODX.js +0 -1
  1040. package/dist/chunks/gallery-builds-data-SWA6XKFF.js +0 -1
  1041. package/dist/chunks/headers-3CAQXQEY.js +0 -1
  1042. package/dist/chunks/render-client-YGYDU3K2.js +0 -1
  1043. package/dist/contract.d.ts +0 -48
  1044. package/dist/contract.js +0 -1
  1045. package/dist/editor.css +0 -1
  1046. package/dist/index.d.ts +0 -721
  1047. package/dist/index.js +0 -11058
  1048. package/dist/links.d.ts +0 -86
  1049. package/dist/links.js +0 -1
@@ -0,0 +1 @@
1
+ "use client";import{jsx as r,jsxs as m,Fragment as y}from"react/jsx-runtime";import{useRef as z,useState as Y}from"react";import{useEasel as O}from"efficient-easel/easel";import{readHidable as se,hidableText as ce}from"./hidable.js";import{FOCAL_DEFAULT as ue}from"../image-focus.js";import{LINK_FIELD_MARKER as de,SCAFFOLD_FIELD_MARKER as pe,TEXT_FIELD_MARKER as I}from"./field-markers.js";import je from"../../components/ApplyCornersToSiblings.js";import{PartResetDot as j}from"../../components/PartResetDot.js";import{CARD_IMAGE_RADIUS_STEP as qe,CORNER_RADIUS_MAX as $,CORNER_RADIUS_MIN as B}from"../content/card-image-shape.js";import{IMAGE_CORNER_STEP as Je,IMAGE_CORNERS_LABEL as Ze}from"../content/image-corners.js";import{GRID_MAX_COLUMNS as Qe}from"../content/grid-span.js";import{GALLERY_ACROSS_BUCKETS as et,GALLERY_LAYOUTS as L,GALLERY_LAYOUT_KEYS as fe}from"../content/gallery-layout.js";import{anchorSiblingsOf as tt,HERO_GROUP_PLACEMENTS as nt,HERO_GROUP_PLACEMENT_DEFAULT as ot,normalisePlacement as rt,placementPoints as he}from"../hero-group-placement.js";import{AlignLeftIcon as it,AlignSeparateIcon as lt,AnimationIcon as me,BackgroundIcon as at,CartIcon as st,ColumnWidthsIcon as ge,ColumnsIcon as ct,CornerIcon as be,DirectionDownIcon as ut,DirectionLeftIcon as dt,DirectionRightIcon as pt,DirectionUpIcon as ft,DollarIcon as ht,FinishIcon as mt,GapIcon as Ce,GridIcon as gt,GroundIcon as bt,HashIcon as xe,ImageIcon as Ct,LayoutIcon as xt,ListIcon as St,LocationIcon as q,PaddingBottomIcon as _t,PaddingLeftIcon as yt,PaddingRightIcon as It,PaddingTopIcon as Tt,PageIcon as Se,PhoneIcon as Et,PlacementIcon as vt,ProductSizeIcon as Nt,RotateIcon as Rt,SquareIcon as Ot,StylesIcon as Lt,TextLinesIcon as At,WidthIcon as Ft,WrapIcon as wt}from"efficient-easel/icons";import{FieldGlyph as _e}from"../../components/FieldGlyph.js";import{resolvePageBackground as Pt}from"../content/page-background.js";import{CORNER_SIDES as A,CORNER_SIDE_POINTS as J,CORNER_SIDES_LABEL as F,cornerSidesSummary as ye,hasOwnSectionCorners as kt,normalizeCornerSides as W}from"../content/section-corners.js";import{hasOwnCardCorners as Bt}from"../content/card-corners.js";import{SECTION_MOTION_NONE as Dt,SECTION_MOTION_OPTIONS as Ht}from"../content/section-animation.js";import{enclosingSectionProps as Ie}from"./enclosing-section.js";import{SettingsCorners as Te,SettingsField as h,SettingsGroupHead as Gt,SettingsGroupSub as Mt,SettingsPlacement as $t,SettingsSegmented as Wt,SettingsSwitch as Ut}from"efficient-easel/panel";import{FieldSelect as Kt,ListField as Xt}from"efficient-easel/fields";import{ColourControl as Ee}from"./ColourControl.js";import ve from"./MarkupToolbar.js";import{deviceField as T}from"./device-fields.js";import{noControlField as Vt}from"./panel-no-control-mark.js";import{phoneKey as U,resolvePhoneValue as Z}from"./phone-override.js";import{SuppressibleText as zt}from"./section-text-suppress.js";import{TYPED_NUMBER_COMMIT as Yt,typedNumberKey as Ne}from"./slider-typing.js";import{CARD_INDEX_OPTIONS as jt,CARD_OUTLINE_OPTIONS as qt,DEFAULT_CARD_INDEX_FORMAT as Jt,DEFAULT_CARD_OUTLINE as Zt}from"../sections/product-card-style.js";import{COVER_INDEX_OPTIONS as Qt,DEFAULT_COVER_INDEX as en}from"../sections/card-cover-index.js";import{SCALAR_TEXT_CONTROLS as tn}from"./text-control-kinds.js";import nn from"../../components/ImageFocusRow.js";import on from"../../components/MediaUploadField.js";import rn from"../../components/MultiSelectField.js";import ln from"../../components/SectionThemePicker.js";import an from"../../components/SearchSelectField.js";import sn from"../../components/StorefrontLinkField.js";import Re from"../../components/UiIcon.js";import{SECTION_PADDING as S}from"../content/section-padding.js";import{hasPhoneHeight as cn,resolveSectionMinHeight as un}from"../content/section-min-height.js";import{VIEW_TIER_LABEL as D}from"../content/view-tiers.js";import{SECTION_MIN_HEIGHT as dn,SECTION_MIN_HEIGHT_GROUP_LABEL as H,SECTION_SCREEN_PCT as pn}from"../content/section-min-height.js";import{CONTAINER_DIRECTION_LABEL as fn,containerDirectionPoints as hn,resolveContainerDirection as Oe}from"../content/container-direction.js";import{BOX_ALIGN_POINTS as mn,BOX_BLOCK_SPACING_LABEL as gn,BOX_BLOCK_SPACING_POINTS as Le,BOX_JUSTIFY_POINTS as Ae,BOX_PHONE_ROW_LABEL as bn,BOX_PHONE_ROW_MAX as Cn,BOX_PHONE_ROW_MIN as Fe,BOX_SHARE_LABEL as we,BOX_SHARE_POINTS as Q,BOX_WRAP_LABEL as xn,BOX_WRAP_POINTS as Pe}from"../content/box-layout.js";import{usePreviewHeader as ee}from"../../components/PreviewHeaderContext.js";import{CONTAINER_GAP as te,CONTAINER_GAP_BUILT_IN as Sn,GAP_FIELD_CONTAINER as _n,hasOwnContainerGap as yn,resolveContainerGap as In}from"../content/container-gap.js";import{CARD_IMAGE_BG_INHERIT as Tn,CARD_IMAGE_BG_OFF as En,CARD_IMAGE_BG_SWATCH_NAMES as vn,CARD_IMAGE_BG_SWATCHES as Nn,isCardImageBackgroundInheriting as Rn,resolveCardImageBackground as On,THEME_CARD_IMAGE_BG as Ln}from"../content/card-image-background.js";import{SECTION_BG_INHERIT as An,SECTION_BG_SWATCHES as Fn,SECTION_BG_SWATCH_NAMES as wn,THEME_SECTION_BG as Pn,isSectionBackgroundInheriting as kn}from"../content/section-background.js";import{SECTION_THEME_GROUP_LABEL as Bn}from"../content/section-surface.js";import{TYPE_SIZE_FIXED as Dn,TYPE_SIZE_INHERIT as Hn,isTypeSizeInheriting as Gn}from"../content/section-type-size.js";import{SECTION_WIDTH_CHOICES as Mn,WIDTH_CHOICE_LABEL as $n,WIDTH_INHERIT as Wn,resolveWidth as Un,sectionRunsFullWidth as ke}from"../content/section-width.js";import{useFoldHeadingLevel as Be}from"./panel-heading-scope.js";import{withStyleKind as Kn}from"efficient-easel/style-clipboard";function G(e){for(const[t,n]of Object.entries(e))n&&typeof n=="object"&&!He(n)&&Kn(n,`section:${t}`);return e}function Wr({children:e}){return r("div",{className:"sf-field-label",children:e})}function De(){return null}function Xn(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return r(De,{},e)}function Vn(e){return e.type===De}function K(e){return Vn(e)?void 0:e}function E({inherited:e,source:t,detail:n,onReset:o,onOptOut:i,optOutTitle:l,label:a}){if(e){const c=n?`Following the ${t.toLowerCase()} setting \u2014 ${n}`:`Following the ${t.toLowerCase()} setting`;if(!i)return m("span",{className:"sf-inherit",title:n?c:void 0,children:["Inherits \xB7 ",t]});const d=`${c}. ${l??`Click to keep ${a} at this section's own size instead`}`;return m("button",{type:"button",className:"sf-inherit sf-inherit--following",onClick:i,title:d,"aria-label":d,children:["Inherits \xB7 ",t,r("span",{className:"sf-inherit-revert","aria-hidden":"true",children:"\u21F1"})]})}const s=`Reset ${a} to follow the ${t.toLowerCase()} setting${n?` (${n})`:""}`;return m("button",{type:"button",className:"sf-inherit sf-inherit--over",onClick:o,title:s,"aria-label":s,children:["Overridden",r("span",{className:"sf-inherit-revert","aria-hidden":"true",children:"\u21BA"})]})}function zn(){const{appState:e}=O(i=>i),t=e.data.root?.props??{},{mode:n,pageWidth:o}=Un(t,"full");return n==="page"?`Page width \u2014 ${o}px`:n==="contained"?"Page width \u2014 Contained":"Page width \u2014 Full"}function Yn(){const{blockGap:e}=ee();return e===null?"Site block gap \u2014 not set, so this container keeps its own spacing":`Site block gap \u2014 ${e}px`}function jn({inherited:e,onReset:t,label:n}){return r(E,{inherited:e,source:"Site",detail:Yn(),onReset:t,label:n})}function qn({inherited:e,onReset:t,label:n}){return r(E,{inherited:e,source:"Page",detail:zn(),onReset:t,label:n})}function Jn(){return m("svg",{className:"sf-field-type",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.8,"aria-hidden":"true",children:[r("polyline",{points:"4 7 4 4 20 4 20 7"}),r("line",{x1:"9",x2:"15",y1:"20",y2:"20"}),r("line",{x1:"12",x2:"12",y1:"4",y2:"20"})]})}function w({value:e,onChange:t,label:n,placeholder:o,hint:i,multiline:l,hideable:a=!0,markup:s=!0}){const{text:c,hidden:d}=se(e),f=z(null),u=z(null),p=b=>t(a?{text:b,hidden:d}:b),g=()=>t({text:c,hidden:!d});return m("div",{className:`sf-field${a&&d?" is-hidden":""}`,children:[m("div",{className:"sf-field-head",children:[r(Jn,{}),r("span",{className:"sf-field-label sf-field-label--inline",children:n}),a&&r("button",{type:"button",className:"sf-field-eye","aria-pressed":d,"aria-label":d?`Show ${n} on the slide`:`Hide ${n} on the slide`,title:d?`Show ${n} on the slide`:`Hide ${n} on the slide`,onClick:g,children:d?r(Re,{name:"eye-off",size:14}):r(Re,{name:"eye",size:14})})]}),m("div",{className:"sf-copybox",children:[s&&r(ve,{target:l?u:f,value:c,onChange:p}),l?r("textarea",{ref:u,value:c,placeholder:o,onChange:b=>p(b.target.value)}):r("input",{ref:f,type:"text",value:c,placeholder:o,onChange:b=>p(b.target.value)})]}),i&&r("p",{className:`sf-field-hint${no(i)?" sf-field-hint--while-typing":""}`,children:i})]})}function Ur(e,t){return{...e,[pe]:t}}function Kr(e){const t=e[I];if(!t)throw new Error("withOffPage: the field holds no authored text");return{...e,[I]:{...t,offPage:!0}}}function Xr(e){return!e||typeof e!="object"?!1:e[I]?.offPage===!0}function Vr(e){const t=e[I];if(!t)throw new Error("withIdentifier: the field holds no authored text");return{...e,[I]:{...t,identifier:!0}}}function zr(e){return!e||typeof e!="object"?!1:e[I]?.identifier===!0}import{TEXT_CONTROL_KINDS as qi,SCALAR_TEXT_CONTROLS as Ji}from"./text-control-kinds.js";const Zn=new Set(tn),P=(e,t)=>{const n={...t,[I]:e};if(!Zn.has(e.control))return n;const o=t.render;return{...Vt(n,"authored-copy"),render:i=>r(zt,{name:i.name,children:o(i)})}},Yr="Everything else on this block comes from the linked post. Unlink it to edit by hand.",Qn="Select a word, then press the highlighter.",eo="A short name so a link can jump straight to this section, like yoursite.com/page#about.",to=new Set([Qn]),no=e=>to.has(e);function jr(e,t,n){return P({control:"text",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(w,{value:o,onChange:i,label:e,placeholder:t,hint:n})})}function qr(e,t,n){return P({control:"textarea",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(w,{value:o,onChange:i,label:e,placeholder:t,hint:n,multiline:!0})})}function oo(e,t,n){return P({control:"plainText",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(w,{value:o,onChange:i,label:e,placeholder:t,hint:n,hideable:!1,markup:!1})})}function Jr(e,t,n){return P({control:"copyText",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(w,{value:o,onChange:i,label:e,placeholder:t,hint:n,hideable:!1})})}function Zr(e){return{type:"custom",[de]:{label:e},render:({value:t,onChange:n})=>r(sn,{value:ce(t),onChange:n,label:e})}}function Qr(e,t,n){return P({control:"plainTextarea",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(w,{value:o,onChange:i,label:e,placeholder:t,hint:n,multiline:!0,hideable:!1})})}const ei={Content:At,Style:Lt,Layout:xt,Animation:me};function ti(e,t){return e.includes("Content")?t!=="Content":null}function ro({label:e}){return r(Gt,{title:e,level:Be(1)})}function io({level:e,label:t}){return e===1?r(ro,{label:t}):r(ao,{label:t})}const ne="__fold";function He(e){return e?.[ne]??null}function Ge(e,t){return{type:"custom",[ne]:{label:e,level:t},render:()=>r(io,{level:t,label:e})}}function C(e){return Ge(e,2)}function ni(e){return{type:"custom",render:()=>r(lo,{text:e})}}function lo({text:e}){return r("p",{className:"sf-note",children:e})}function oi(e){return Ge(e,1)}function ri(e){return He(e)!==null&&e?.tabs!==void 0}const Me=new Map;function ii(e,t){const n=`${e}\0${t?t.join(""):""}`,o=Me.get(n)??{type:"custom",tabs:t,[ne]:{label:e,level:1},bucket:e,marker:!0,render:()=>r(y,{})};return Me.set(n,o),o}function ao({label:e}){return r(Mt,{title:e,level:Be(2)})}function $e({swatches:e,current:t,onPick:n,names:o}){const i=e.find(a=>a.toLowerCase()===t.toLowerCase()),l=(i?o?.[i]:void 0)??t;return m("div",{className:"sf-swatches",children:[e.map(a=>{const s=o?.[a]??a;return r("button",{type:"button","aria-pressed":t.toLowerCase()===a.toLowerCase(),className:`sf-swatch ${t.toLowerCase()===a.toLowerCase()?"is-active":""}`,style:{background:a},onClick:()=>n(a),"aria-label":s,title:s},a)}),r("span",{className:"sf-swatch-hex",children:l})]})}function li(e,t){return{type:"custom",render:({value:n,onChange:o})=>{const i=kn(n,t);return r(h,{label:e,icon:r(at,{}),action:r(E,{inherited:i,source:"Theme",detail:"the theme's section background",onReset:()=>o(An),label:e}),children:$e({swatches:Fn,current:i?Pn:n??t??"",onPick:o,names:wn})})}}}function so(e,t){return{type:"custom",render:({value:n,onChange:o})=>{const i=n,l=Rn(i,t);return r(h,{label:e,icon:r(bt,{}),action:r(E,{inherited:l,source:"Theme",detail:"the theme's image stage",onReset:()=>o(Tn),label:e}),children:$e({swatches:Nn,current:l?Ln:On(i,t),onPick:o,names:vn})})}}}function ai(e=n=>n,t){return G({_gSectionTheme:C(Bn),sectionAccent:{type:"custom",render:({value:n,onChange:o})=>r(ln,{value:e(n),onChange:o,followLabel:t})}})}function N({min:e,max:t,step:n,value:o,onChange:i,suffix:l="",readout:a=!0,notch:s,ariaLabel:c,disabled:d=!1}){const f=s!==void 0&&Number.isFinite(s)&&s>=e&&s<=t;return m("div",{className:f?"sf-slider has-notch":"sf-slider",style:f?{"--sf-notch":(s-e)/(t-e)}:void 0,children:[r("input",{type:"range",min:e,max:t,step:n,value:o,"aria-label":c,disabled:d||void 0,onChange:u=>i(Number(u.target.value))}),a&&r(co,{value:o,min:e,max:t,step:n,suffix:l,ariaLabel:c,onChange:i})]})}function co({value:e,min:t,max:n,step:o,onChange:i,suffix:l="",ariaLabel:a,children:s}){const[c,d]=Y(null),f=u=>{u.editing||d(null),u.commit!==null&&u.commit!==e&&i(u.commit)};return c===null?r("button",{type:"button",className:"sf-slider-val",title:"Click to type a value","aria-label":a?`${a}: type a value`:"Type a value",onClick:()=>d(String(e)),children:s??m(y,{children:[e,l]})}):r("input",{autoFocus:!0,type:"text",inputMode:"decimal",className:"sf-slider-val sf-slider-typed",value:c,"aria-label":a,onChange:u=>d(u.target.value),onFocus:u=>u.currentTarget.select(),onKeyDown:u=>{const p=Ne(u.key,c,t,n,o);p.handled&&(u.preventDefault(),u.stopPropagation(),f(p))},onBlur:()=>f(Ne(Yt,c,t,n,o))})}function k(e,t,n,o,i,l,a="",s){return{type:"custom",render:c=>r(h,{label:e,icon:K(t),action:s?s("storedValue"in c?c.storedValue:c.value,c.onChange):void 0,children:N({min:n,max:o,step:i,value:typeof c.value=="number"?c.value:l,suffix:a,onChange:c.onChange})})}}function We({min:e,max:t,step:n,px:o,label:i,onChange:l,disabled:a=!1}){const{cornerRadiusPx:s}=ee();return r(y,{children:N({min:e,max:t,step:n,value:o??(typeof s=="number"?s:e),readout:!1,ariaLabel:i,disabled:a,onChange:l})})}function M(e,t){const{min:n,max:o,step:i=1,unsetLabel:l="Not set",hint:a,restAtSite:s=!1,restTrack:c,unsetMark:d}=t;return{type:"custom",render:({value:f,onChange:u})=>{const p=typeof f=="number"?f:null,g=p===null;return r(h,{label:e,value:g?d?"":l:`${p}px`,changed:!g,action:g?d??null:r(j,{label:e,what:"change",onClear:()=>u(null)}),hint:a,children:c?c({min:n,max:o,step:i,px:p,label:e,onChange:u}):s?r(We,{min:n,max:o,step:i,px:p,label:e,onChange:u}):N({min:n,max:o,step:i,value:p??n,readout:!1,ariaLabel:e,onChange:u})})}}}function si(e){const t=k("Gap",r(Ce,{}),te.min,te.max,te.step,Sn[e],"px",(n,o)=>r(jn,{inherited:!yn(e,n),onReset:()=>o(void 0),label:"Gap"}));return{type:"custom",[_n]:e,render:n=>t.render({...n,value:In(e,n.value,n.field?.siteGap),storedValue:n.value,onChange:o=>n.onChange(o)})}}function uo(){return{type:"custom",render:({value:e,onChange:t})=>{const o=W(e)??[...A],i=o.length===A.length;return r(h,{label:F,icon:r(be,{}),value:ye(o),changed:!i,action:i?null:r(j,{label:F,what:"change",onClear:()=>t(null)}),hint:"Corners left off stay square. The row above sets how round the others are.",children:r(mo,{value:o,onChange:l=>{const a=W(l)??[];t(a.length===A.length?null:a)}})})}}}function po(){return M("Corners",{min:B,max:$,unsetLabel:"Inherits \xB7 Site",restTrack:e=>r(fo,{...e}),hint:r(ho,{})})}const Ue="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function oe(){return ke(X())}function fo(e){return r(We,{...e,disabled:oe()})}function ho(){return r(y,{children:oe()?Ue:"Follows Site styles \u25B8 Basics \u25B8 Corners until you set a number here."})}function mo({value:e,onChange:t}){const n=oe();return r(Te,{label:F,value:e,corners:n?J.map(o=>({...o,disabled:!0,title:Ue})):J,onChange:t})}function ci(){return G({_gShape:C("Shape"),sectionCorners:po(),sectionCornerSides:uo()})}function ui(){return{_gMotion:C("Motion"),sectionAnimation:ae("Entrance",r(me,{}),[...Ht],Dt)}}function re(){let e=null;try{const{appState:t,selectedItem:n}=O(i=>i),o=n?.props?.id?String(n.props.id):void 0;e=o?Ie(t?.data,o):null}catch{e=null}return e!==null&&ke(e)}function Ke(e){const{cornerRadiusPx:t}=ee(),n=re(),o=typeof t=="number"?t:e;let i=null;try{const{appState:a,selectedItem:s}=O(d=>d),c=s?.props?.id?String(s.props.id):void 0;i=c?Ie(a?.data,c):null}catch{i=null}if(n||!i)return o;const l=i.sectionCorners;return kt(l)?l:o}function go({min:e,max:t,step:n,px:o,label:i,onChange:l}){const a=Ke(e);return r(y,{children:N({min:e,max:t,step:n,value:o??a,readout:!1,ariaLabel:i,onChange:l})})}function bo({label:e}){const t=re(),n=Ke(B);return r(E,{inherited:!0,source:t?"Site":"Section",detail:`${t?"Site":"Section"} \u2014 ${n}px`,onReset:()=>{},label:e})}function Co(){return r(y,{children:re()?"The section is full width, so this card follows Site styles \u25B8 Basics \u25B8 Corners.":"Follows the section's Corners until you set a number here."})}function xo(){return M("Corners",{min:B,max:$,unsetLabel:"Inherits \xB7 Section",unsetMark:r(bo,{label:"Corners"}),restTrack:e=>r(go,{...e}),hint:r(Co,{})})}function So({value:e,onChange:t}){return r(Te,{label:F,value:e,corners:J,onChange:t})}function _o({unset:e}){return r(y,{children:e?"Set a number above first \u2014 there is nothing to shape yet.":"Corners left off stay square. The row above sets how round the others are."})}function yo(){return{type:"custom",render:({value:e,onChange:t})=>{const o=W(e)??[...A],i=o.length===A.length;return r(h,{label:F,icon:r(be,{}),value:ye(o),changed:!i,action:i?null:r(j,{label:F,what:"change",onClear:()=>t(null)}),hint:r(_o,{unset:!Bt(e)}),children:r(So,{value:o,onChange:l=>{const a=W(l)??[];t(a.length===A.length?null:a)}})})}}}function Io(){return{type:"custom",render:()=>r(je,{})}}function di(){return{_gShape:C("Shape"),cardCorners:xo(),cardCornerSides:yo(),cardCornersApplyAll:Io()}}function pi(){return v("Justify",r(lt,{}),Ae,Ae[0].value)}function fi(){return v("Item alignment",r(it,{}),mn,"stretch")}function hi(){return v(xn,r(wt,{}),Pe,Pe[0].value)}function mi(){return{type:"custom",render:({value:e,onChange:t})=>{const n=Q.find(o=>o.value===e)??Q[0];return r(h,{label:we,icon:r(ge,{}),value:n.label,children:r("div",{className:"sf-gallery-layouts",role:"group","aria-label":we,children:Q.map(o=>r("button",{type:"button","aria-pressed":n.value===o.value,"aria-label":o.label,title:o.label,onClick:()=>t(o.value),children:r("span",{className:"sf-gallery-pic",children:To(o.weights).map((i,l)=>r("i",{style:{gridColumn:`span ${i}`}},l))})},o.value))})})}}}function To(e){if(!e)return[3,4];const t=e.reduce((n,o)=>n+o,0);return e.map(n=>Math.round(n/t*12))}function gi(){return v(gn,r(Ce,{}),Le,Le[0].value)}function bi(){return k(bn,r(Et,{}),Fe,Cn,1,Fe)}function Ci(e){const t=ae(fn,Xn("`Direction` names how a container's children run \u2014 a MODIFIER, not a thing. doc/naming.md N10.1 gives the idea a dash in its Glyph column; editor-shell's own `direction` meaning says the bare row is CORRECT and not an omission (SS seat, 2026-09-11)."),hn(e),Oe(e,void 0));return{type:"custom",render:n=>t.render({...n,value:Oe(e,n.value),onChange:o=>n.onChange(o)})}}function xi(e,t,n,o,i,l){return{type:"custom",render:({value:a,onChange:s})=>r(h,{label:e,icon:r(_e,{noun:l}),action:r(E,{inherited:Gn(a),source:"Text",detail:"Website settings \u2192 Text",onReset:()=>s(Hn),onOptOut:()=>s(Dn),optOutTitle:`Click to keep ${e} at this section's own built-in size instead`,label:e}),children:N({min:t,max:n,step:o,value:typeof a=="number"?a:i,suffix:"px",onChange:s})})}}function Si(){return{_gCellWidth:C("Cell width"),gridSpan:v("Positions",r(ge,{}),[{label:"Auto",value:""},...Array.from({length:Qe},(e,t)=>({label:t===0?"1 position":`${t+1} positions`,value:String(t+1)}))],"")}}function X(){let e=null;try{e=O(t=>t).selectedItem}catch{e=null}return e?.props??{}}function Eo({min:e,max:t,step:n,px:o,label:i,onChange:l,desktopKey:a,fallback:s}){const c=X()[a],d=Z(void 0,c,s);return r(y,{children:N({min:e,max:t,step:n,value:Z(o,c,s),readout:!1,ariaLabel:i,notch:d,onChange:l})})}function vo({label:e,desktopKey:t,fallback:n}){const o=X()[t],i=Z(void 0,o,n);return r(E,{inherited:!0,source:D.desktop,detail:`${D.desktop} \u2014 ${i}px`,onReset:()=>{},label:e})}function No(e){return M(e.label,{min:e.min,max:e.max,step:e.step,unsetLabel:`Inherits \xB7 ${D.desktop}`,unsetMark:r(vo,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:t=>r(Eo,{...t,desktopKey:e.desktopKey,fallback:e.fallback})})}function _i(e={}){const t=e.keys?.top??"sectionPaddingTop",n=e.keys?.bottom??"sectionPaddingBottom",o=e.group!==!1,i=_=>o?_:`Padding ${_.toLowerCase()}`,l=_=>k(i("Top"),r(Tt,{}),S.min,S.max,S.step,_,"px"),a=(_,ze,Ye,V=S)=>T("mobile",No({label:i(_),desktopKey:ze,min:V.min,max:V.max,step:V.step,fallback:Ye})),s=e.top??S.min,c=e.bottom??S.min,d="sectionPaddingLeft",f="sectionPaddingRight",u=e.sideBounds??S,p=e.side??u.min,g=e.sidePhone??p,x=e.phone===!0,b=_=>x?T("desktop",_):_;return G({...o?{_gSpacing:C("Padding")}:{},[t]:b(l(s)),...x?{[U(t)]:a("Top",t,s)}:{},...e.only==="top"?{}:{[n]:b(k(i("Bottom"),r(_t,{}),S.min,S.max,S.step,c,"px")),...x?{[U(n)]:a("Bottom",n,c)}:{}},...e.sides?{[d]:b(k(i("Left"),r(yt,{}),u.min,u.max,u.step,p,"px")),...x?{[U(d)]:a("Left",d,g,u)}:{},[f]:b(k(i("Right"),r(It,{}),u.min,u.max,u.step,p,"px")),...x?{[U(f)]:a("Right",f,g,u)}:{}}:{}})}const Ro={contained:"Contained",page:"Page",full:"Full"},ie="Width";function yi(e,t=Mn,n=!0){const o=t.map(i=>({label:$n[i]??Ro[i],value:i}));return G({...n?{_gWidth:C(ie)}:{},widthMode:{type:"custom",render:({onChange:i,field:l})=>r(h,{label:"Width",icon:r(Ft,{}),action:n?r(qn,{inherited:l?.inherited??!1,onReset:()=>i(Wn),label:ie}):void 0,children:le({options:o,value:l?.currentValue||e,onChange:i,ariaLabel:ie})})}})}function Ii(){const e=o=>({type:"custom",render:({value:i,onChange:l})=>m("div",{className:"sf-field",children:[o?m("div",{className:"sf-field-head",children:[r("span",{className:"sf-field-label sf-field-label--inline",children:H}),o(l)]}):null,r("div",{children:le({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(i)?i:"auto",onChange:l,ariaLabel:H})})]})}),t=()=>({type:"custom",render:({value:o,onChange:i,field:l})=>{const a=l?.unit==="%"?"%":"px",s=a==="%"?pn:dn;return r("div",{className:"sf-field",children:N({min:s.min,max:s.max,step:s.step,value:typeof o=="number"?o:s.fallback,suffix:a,ariaLabel:H,onChange:i})})}}),n=()=>ae("Unit",r(xe,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return G({_gHeight:C(H),sectionHeightMode:T("desktop",e()),sectionHeightValue:T("desktop",t()),sectionHeightUnit:T("desktop",n()),sectionHeightModePhone:T("mobile",e(o=>r(Oo,{onClear:()=>o(void 0)}))),sectionHeightValuePhone:T("mobile",t()),sectionHeightUnitPhone:T("mobile",n())})}function Oo({onClear:e}){const t=X(),n=cn(t),o=un(t),i=`${D.desktop} \u2014 ${o.mode==="auto"?"Auto":`${o.value}${o.unit}`}`;return r(E,{inherited:!n,source:D.desktop,detail:i,onReset:e,label:H})}function Ti(){return{_gAnchor:C("Anchor"),anchor:oo("Anchor name","e.g. about",eo)}}function R(e,t,n){return{type:"custom",render:({value:o,onChange:i,id:l,name:a})=>{const s=typeof o=="boolean"?o:t,c=`${l??a??e}-label`;return r(h,{label:e,labelId:c,icon:n,action:r(Ut,{checked:s,onChange:i,ariaLabelledBy:c})})}}}function Ei(){return{type:"custom",render:({value:e,onChange:t,id:n,name:o})=>{const i=`${String(n??o??"pageBackground")}-colour`;return r(h,{label:"Background",icon:r(Se,{}),htmlFor:i,action:r(Ee,{id:i,label:"Background",value:Pt(e),onChange:t})})}}}function vi(e,t){return{type:"custom",render:({value:n,onChange:o})=>{const i=typeof n=="boolean"?n:t;return m("label",{className:"sf-field sf-field--row sf-checkbox",children:[r("span",{className:"sf-field-label sf-field-label--inline",children:e}),r("input",{type:"checkbox",checked:i,onChange:l=>o(l.target.checked)})]})}}}function Ni(e,t){return{type:"custom",render:({value:n,onChange:o})=>m("div",{className:"sf-field sf-field--row",children:[r("span",{className:"sf-field-label sf-field-label--inline",children:e}),Ee({value:n||t,onChange:o,label:e})]})}}const Lo=[{value:"0% 0%",label:"Top left"},{value:"50% 0%",label:"Top"},{value:"100% 0%",label:"Top right"},{value:"0% 50%",label:"Left"},{value:"50% 50%",label:"Center"},{value:"100% 50%",label:"Right"},{value:"0% 100%",label:"Bottom left"},{value:"50% 100%",label:"Bottom"},{value:"100% 100%",label:"Bottom right"}];function Xe({label:e,value:t,onChange:n,points:o=Lo}){return r($t,{label:e,value:t,points:o,onChange:n})}function Ri(e,t=ue,n="mediaImage"){return{type:"custom",render:({value:o,onChange:i})=>r("div",{className:"sf-field",children:r(Ao,{label:e,value:o||t,onChange:i,imageProp:n})})}}function Ao({label:e,value:t,onChange:n,imageProp:o}){const{selectedItem:i}=O(a=>a),l=i?.props?.[o];return r(nn,{label:e,value:t,onChange:n,image:typeof l=="string"?l:void 0})}const Fo=he([]);function Oi(e,{stacking:t,fallback:n=ot}){return{type:"custom",render:({value:o,onChange:i})=>{const l=nt.includes(o)?o:n;return t?r(wo,{label:e,value:l,onChange:i}):Ve({label:e,value:l,onChange:i,points:Fo})}}}function wo({label:e,value:t,onChange:n}){const{appState:o,selectedItem:i}=O(s=>s),l=i?.props?.id?String(i.props.id):void 0,a=l?tt(o?.data,l):[];return Ve({label:e,value:t,onChange:n,points:he(a,l)})}function Ve({label:e,value:t,onChange:n,points:o}){const i=o.find(l=>l.disabled);return r(h,{label:e,icon:r(vt,{}),hint:i?i.title:void 0,children:Xe({label:e,value:rt(t),onChange:n,points:o})})}const Li={top:r(ft,{}),right:r(pt,{}),bottom:r(ut,{}),left:r(dt,{})};function Ai(e,t,n,o,i,l){const a=f=>t.find(u=>u.value===f),s=f=>({value:f,label:"",disabled:!0,title:o}),c=f=>{const u=t.find(g=>g.cell===f);if(!u)return s(`missing-${f}`);const p=l?.[f];return p?{value:u.value,label:u.label,icon:p}:{value:u.value,label:u.label}},d=[s("corner-top-left"),c("top"),s("corner-top-right"),c("left"),s("centre"),c("right"),s("corner-bottom-left"),c("bottom"),s("corner-bottom-right")];return{type:"custom",render:({value:f,onChange:u})=>{const p=t.some(g=>g.value===f)?f:n;return r(h,{label:e,icon:i,value:a(p)?.label??"",children:Xe({label:e,value:p,onChange:u,points:d})})}}}const Po="\0note";function v(e,t,n,o,i){return{type:"custom",options:n,fallback:o,...i?{note:i}:{},render:({value:l,onChange:a,field:s})=>{const c=s.options??n,d=s.fallback??o,f=c.some(u=>u.value===l)?l:d;return r(h,{label:e,icon:K(t),children:r(Kt,{value:f,ariaLabel:e,onChange:a,options:[...i?[{label:i,value:Po,disabled:!0}]:[],...c.map(u=>({label:u.label,value:u.value}))]})})}}}function Fi(e,t,n){return{type:"custom",options:t,render:({value:o,onChange:i,field:l})=>r(rn,{label:e,options:l.options??t,value:Array.isArray(o)?o:[],onChange:i,...n?{emptyLabel:n}:{}})}}function wi(e,t,n,o){return{type:"custom",options:t,fallback:n,render:({value:i,onChange:l,field:a})=>r(an,{label:e,options:a.options??t,fallback:a.fallback??n,value:i,onChange:l,placeholder:o})}}function Pi(e,t={}){return{type:"custom",render:({value:n,onChange:o})=>{const i={value:n,onChange:o,...t};return r(e,{...i})}}}function le({options:e,value:t,onChange:n,ariaLabel:o,disabled:i=!1}){return r(Wt,{options:e.map(l=>({id:l.value,label:l.label,title:l.title})),value:t,onChange:n,ariaLabel:o,disabled:i})}const ki=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function ae(e,t,n,o){const i=n.map(l=>typeof l=="string"?{label:l,value:l}:l);return{type:"custom",render:({value:l,onChange:a,field:s})=>r(h,{label:e,icon:K(t),children:le({options:i,value:i.some(c=>c.value===l)?l:l||s?.currentValue||o,onChange:a,ariaLabel:e})})}}const ko="__media";function Bi(e,t,n){return{type:"custom",[ko]:!0,render:({value:o,onChange:i})=>r(on,{value:o||"",onChange:i,label:e,accept:t,placeholder:n})}}const Di={HeroSingle:["imageFocal"],ContactLocations:["locations[].photo"],ProcessSteps:["steps[].image"]};function Hi({value:e,onChange:t,label:n}){const o=e||{},i=!!o.pending,l=i?"var(--fg-dim, #888)":o.ok?"#1d9e75":"#d85a30",a=(s,c)=>t({...o,[s]:c===""?void 0:Number(c)});return m(h,{label:n,icon:r(q,{}),children:[r("button",{type:"button",disabled:i,onClick:()=>t({...o,pending:!0,ok:!1,status:"Finding\u2026"}),style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"8px 10px",fontSize:13,cursor:i?"default":"pointer",opacity:i?.6:1,border:"1px solid var(--border-strong, #ccc)",borderRadius:6,background:"transparent",color:"inherit"},children:i?"Finding\u2026":"Find coordinates"}),o.status&&r("div",{style:{marginTop:6,fontSize:12,lineHeight:1.4,color:l},children:o.status}),r("div",{style:{marginTop:6,fontSize:11,color:"var(--fg-dim, #999)"},children:"Coordinates from OpenStreetMap"}),r("button",{type:"button",onClick:()=>t({...o,manual:!o.manual}),style:{marginTop:8,padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer",textDecoration:"underline"},children:o.manual?"Hide manual coordinates":"Enter coordinates manually"}),o.manual&&m("div",{style:{marginTop:8,display:"grid",gap:8},children:[r(h,{label:"Latitude",icon:r(q,{}),children:r("input",{type:"number",step:"any",placeholder:"e.g. 34.0990198",value:typeof o.lat=="number"?o.lat:"",onChange:s=>a("lat",s.target.value)})}),r(h,{label:"Longitude",icon:r(q,{}),children:r("input",{type:"number",step:"any",placeholder:"e.g. -117.9842833",value:typeof o.lng=="number"?o.lng:"",onChange:s=>a("lng",s.target.value)})})]})]})}function Bo(e,t){return t===null||t<0||t>=e.length?"":e[t]?.text??""}function Do(e,t,n){const o=e.map(i=>({text:i?.text??""}));return t===null||t<0||t>=e.length?o:o.map((i,l)=>l===t?{text:n}:i)}function Gi(e,t){return e===null?null:t>e?e:null}function Ho(e,t,n){if(n===null||n>=t.length)return null;for(let o=0;o<n;o+=1)if(e[o]!==t[o])return null;return e[n]!==t[n]&&t.includes(e[n])||e[n]!==t[n]&&t.length!==e.length?null:n}const Mi={label:"Ticker items",icon:r(St,{})};function $i(e,t,n,o){return{type:"custom",[I]:{control:"textList",label:e,placeholder:n,itemKey:"text",rendering:o},render:({value:i,onChange:l})=>r(Go,{label:e,icon:K(t),items:Array.isArray(i)?i:[],placeholder:n,onChange:l,markup:o==="markup"})}}function Go({label:e,icon:t,items:n,placeholder:o,onChange:i,markup:l=!1}){const a=z(null),[s,c]=Y(null),d=u=>u.map(p=>({text:p?.text??""}));return r(Xt,{label:e,icon:t,noun:"item",items:n,onChange:u=>{const p=Ho(n,u,s);p===null&&(a.current=null),c(p),i(d(u))},newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:l?r(ve,{target:a,value:Bo(n,s),onChange:u=>i(Do(n,s??-1,u)),disabled:s===null,label:s===null?"Formatting \u2014 click a row first":`Formatting \u2014 row ${s+1}`}):void 0,renderRow:(u,p,g)=>r("input",{type:"text",className:l&&s===p?"sf-list-marking":void 0,value:u?.text??"",placeholder:o,"aria-label":`${e} ${p+1}`,onChange:x=>g({text:x.target.value}),onFocus:x=>{a.current=x.currentTarget,c(p)}})})}function Wi(e,t){const n=`${e.label} \u2014 row ${t+1}`;return P({control:"plainText",label:n,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:o,onChange:i})=>r(w,{value:o,onChange:i,label:n,placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function Ui(e){return{_gCards:C("Cards"),coverIndex:v("Cover image",r(Ct,{}),Qt,String(en),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:so("Image background",En),cardImage:Mo(),spinOnHover:R("Rotate on hover",e?.spinDefault??!0,r(Rt,{}))}}function Ki(){return{outline:v("Card outline",r(Ot,{}),qt,Zt),indexBadge:v("Card number",r(xe,{}),jt,Jt),showBadge:R("Product badge",!0,r(_e,{noun:"tag"}))}}function Xi(e){const t=e?.bottomDefault??!0;return{_gShowOnCard:C("Show on a card"),showCardPrice:R("Price",!0,r(ht,{})),showCardFinishes:R("Finish swatches",!0,r(mt,{})),showCardSizes:R("Sizes",t,r(Nt,{})),showCardBuy:R("Buy button",t,r(st,{})),showCardPage:R("Page button",t,r(Se,{}))}}function Mo(){return M("Card image",{min:B,max:$,step:qe,hint:"Rounds the picture. The card's own corner is in Site styles."})}function Vi(){return M(Ze,{min:B,max:$,step:Je,unsetLabel:"Square",hint:"Rounds the picture. Left alone it stays square."})}function zi(){return{type:"custom",render:({value:e,onChange:t})=>r($o,{value:typeof e=="string"?e:"",onChange:t})}}function $o({value:e,onChange:t}){const[n,o]=Y(null),i=fe.filter(a=>n===null||L[a].across===n),l=e&&e in L?L[e]:null;return m(y,{children:[r(h,{label:"Photos in a row",icon:r(ct,{}),children:m("div",{className:"sf-gallery-filter",children:[r("button",{type:"button","aria-pressed":n===null,onClick:()=>o(null),children:"All"}),et.map(a=>r("button",{type:"button","aria-pressed":n===a,onClick:()=>o(a),children:a},a))]})}),r(h,{label:"Layout",icon:r(gt,{}),value:l?l.label:"Not chosen",hint:`${i.length} of ${fe.length} layouts`,children:r("div",{className:"sf-gallery-layouts",children:i.map(a=>r("button",{type:"button","aria-pressed":e===a,"aria-label":L[a].label,title:L[a].label,onClick:()=>t(e===a?"":a),children:r("span",{className:"sf-gallery-pic",children:L[a].desktop.map(([s,c],d)=>r("i",{style:{gridColumn:`span ${s}`,gridRow:`span ${c}`}},d))})},a))})})]})}export{eo as ANCHOR_HINT,Yr as BOUND_TO_POST_NOTE,ei as BUCKET_ICONS,Di as CUSTOM_FIELD_MEDIA,Hi as CoordsField,Li as EDGE_ARROWS,ue as FOCAL_DEFAULT,Lo as FOCAL_POINTS,ne as FOLD_FIELD_MARKER,Xe as FocalPicker,ao as GroupLabel,Qn as HIGHLIGHT_HINT,w as HidableTextField,E as InheritBadge,de as LINK_FIELD_MARKER,Wr as Label,ko as MEDIA_FIELD_MARKER,ki as MEDIA_TYPE_OPTIONS,lo as PanelNoteLine,Ve as PlacementGridView,pe as SCAFFOLD_FIELD_MARKER,Ji as SCALAR_TEXT_CONTROLS,Ue as SECTION_BLEEDS_HINT,ro as SectionHeading,le as Segmented,jn as SiteGapInheritBadge,N as Slider,co as SliderValue,$e as Swatches,qi as TEXT_CONTROL_KINDS,I as TEXT_FIELD_MARKER,Mi as TICKER_ITEMS_ROW,Go as TextListField,Jn as TypeGlyph,qn as WidthInheritBadge,Ho as aimAfterListChange,Ti as anchorFields,li as backgroundField,fi as boxAlignField,gi as boxBlockSpacingField,pi as boxJustifyField,bi as boxPhoneRowField,mi as boxShareField,hi as boxWrapField,ii as bucketHeader,yo as cardCornerSidesField,xo as cardCornersField,so as cardImageBackgroundField,Mo as cardImageField,Ui as cardMediaFields,di as cardShapeFields,Xi as cardShowFields,Ki as cardStyleFields,Si as cellWidthFields,vi as checkbox,Ni as colorInput,Jr as copyText,Ci as directionField,Ai as edgePad,ti as entriesHiddenForTab,Ri as focalPicker,Gi as focusAfterRemove,He as foldMetaOf,zi as galleryLayoutField,si as gapField,C as group,Ii as heightFields,ce as hidableText,no as hintIsWhileTyping,K as iconOf,Vi as imageCornersField,ri as isBucketHeader,Vn as isNoGlyph,Zr as linkField,Fi as multiSelect,Xn as noGlyph,Ei as pageBackgroundField,ni as panelNote,No as phoneOverrideField,Oi as placementField,oo as plainText,Qr as plainTextarea,M as pxField,se as readHidable,Bo as rowText,wi as searchSelect,oi as section,ui as sectionAnimationFields,uo as sectionCornerSidesField,po as sectionCornersField,ci as sectionShapeFields,ai as sectionThemeFields,ae as segmented,v as select,Do as setRowText,xi as sizeField,k as slider,Pi as sourceField,_i as spacingFields,jr as text,zr as textFieldIdentifier,Xr as textFieldOffPage,$i as textList,Wi as textListRowField,qr as textarea,R as toggle,Bi as upload,zn as usePageWidthDetail,Yn as useSiteGapDetail,yi as widthField,Vr as withIdentifier,Kr as withOffPage,Ur as withScaffold};
@@ -0,0 +1,24 @@
1
+ import type { ReactElement } from "react";
2
+ import { type PreviewDevice } from "../../components/PreviewDeviceContext.js";
3
+ export type DeviceTier = "desktop" | "mobile";
4
+ export declare function shownTier(device: PreviewDevice): DeviceTier;
5
+ export declare const DEVICE_NOTE: Readonly<Record<PreviewDevice, string | null>>;
6
+ export declare const DEVICE_HIDDEN_ATTR = "data-sf-device-hidden";
7
+ type FieldRender = (props: Record<string, unknown>) => ReactElement;
8
+ type AnyCustomField = {
9
+ type: "custom";
10
+ render: FieldRender;
11
+ };
12
+ export declare const DEVICE_FIELD_MARKER: "__device";
13
+ export type DeviceFieldMeta = {
14
+ tier: DeviceTier;
15
+ inner: unknown;
16
+ };
17
+ export declare function deviceMetaOf(field: unknown): DeviceFieldMeta | null;
18
+ export declare function withoutDeviceGate(field: unknown): unknown;
19
+ export declare function deviceField<F extends {
20
+ type: "custom";
21
+ render: (p: never) => ReactElement;
22
+ }>(tier: DeviceTier, field: F): F;
23
+ export declare function deviceNote(): AnyCustomField;
24
+ export {};
@@ -0,0 +1 @@
1
+ "use client";import{jsx as t}from"react/jsx-runtime";import{usePreviewDevice as i}from"../../components/PreviewDeviceContext.js";import{noControlField as d}from"./panel-no-control-mark.js";function p(e){return e==="mobile"?"mobile":"desktop"}const a={desktop:null,tablet:"Tablet uses the desktop settings.",mobile:"Showing the phone settings for this section."},f="data-sf-device-hidden";function c(){return t("span",{hidden:!0,[f]:""})}function v({tier:e,render:n,...r}){const o=i();return p(o)===e?t(n,{...r}):t(c,{})}const s="__device";function l(e){return e?.[s]??null}function E(e){return l(e)?.inner??e}function _(e,n){const r=n.render,o=u=>t(v,{tier:e,render:r,...u});return{...n,[s]:{tier:e,inner:n},render:o}}function m(){const e=a[i()];return e?t("div",{className:"sf-device-scope",children:e}):t(c,{})}function b(){return d({type:"custom",render:()=>t(m,{})},"always")}export{s as DEVICE_FIELD_MARKER,f as DEVICE_HIDDEN_ATTR,a as DEVICE_NOTE,_ as deviceField,l as deviceMetaOf,b as deviceNote,p as shownTier,E as withoutDeviceGate};
@@ -0,0 +1,6 @@
1
+ import { type TemplateProductKind } from "../content/product-page.js";
2
+ export declare function setEditorPage(slug: string | null, kind: string | null): void;
3
+ export declare function setEditorPageSlug(slug: string | null): void;
4
+ export declare function getEditorPageSlug(): string | null;
5
+ export declare function isEditorOnDynamicPage(): boolean;
6
+ export declare function editorTemplateProductKind(rootProps?: Record<string, unknown> | null): TemplateProductKind;
@@ -0,0 +1 @@
1
+ import{PRODUCT_PAGE_SLUG as r,templateProductKind as i}from"../content/product-page.js";let e=null,n=null;function l(t,o){e=t,n=o}function d(t){l(t,null)}function a(){return e}function g(){return n==="dynamic"||e===r}function P(t){return i(e??"",t)??"alloy-wheel"}export{P as editorTemplateProductKind,a as getEditorPageSlug,g as isEditorOnDynamicPage,l as setEditorPage,d as setEditorPageSlug};
@@ -0,0 +1 @@
1
+ export declare function enclosingSectionProps(data: unknown, id: string): Record<string, unknown> | null;
@@ -0,0 +1 @@
1
+ function f(r,n){const t=r?.content;if(!Array.isArray(t))return null;for(const o of t){if(!o||typeof o!="object")continue;const e=o.props;if(e?.id===n)return null;if(s(o,n,0))return e??{}}return null}function s(r,n,t){if(t>12||!r||typeof r!="object")return!1;if(Array.isArray(r))return r.some(e=>s(e,n,t+1));const o=r.props;return o&&typeof o=="object"&&o.id===n?!0:Object.values(r).some(e=>s(e,n,t+1))}export{f as enclosingSectionProps};
@@ -0,0 +1,23 @@
1
+ import { type SettingsBucket } from "efficient-easel/panel";
2
+ export declare const BUCKETS: readonly ["Content", "Style", "Layout", "Animation"];
3
+ export type Bucket = SettingsBucket;
4
+ export declare const BUCKET_KEY: Record<Bucket, string>;
5
+ export declare const LAYOUT_FIELD_KEYS: readonly string[];
6
+ export declare const SECTION_THEME_FIELD_KEYS: readonly string[];
7
+ export declare const SECTION_SHAPE_FIELD_KEYS: readonly string[];
8
+ export declare const SECTION_ANIM_FIELD_KEYS: readonly string[];
9
+ export declare const CARD_MEDIA_FIELD_KEYS: readonly string[];
10
+ export declare const BOUND_CARD_MEDIA_FIELD_KEYS: readonly string[];
11
+ export declare const CARD_STYLE_FIELD_KEYS: readonly string[];
12
+ export declare const CARD_SHOW_FIELD_KEYS: readonly string[];
13
+ export declare const EDITOR_ONLY_GROUP = "Editor only \u2014 not shown live";
14
+ export declare const LABEL_BUCKET: Record<string, Bucket>;
15
+ export declare const KEY_BUCKET: Readonly<Record<string, Bucket>>;
16
+ export declare function bucketOf(where: string, key: string, label: string): Bucket | undefined;
17
+ export declare const RETIRED: Readonly<Record<string, string>>;
18
+ export declare function foldTopTier(fields: Record<string, unknown>): 1 | 2;
19
+ export declare function retiredHeadings(where: string): string[];
20
+ export declare function assignSectionGroups<T extends Record<string, unknown>>(fields: T, where: string): T;
21
+ export declare function seatContentBucket<T extends Record<string, unknown>>(fields: T): T;
22
+ export declare function hasBucketTabs(fields: Record<string, unknown>): boolean;
23
+ export declare function reseatBucketTabs<T extends Record<string, unknown>>(fields: T): T;
@@ -0,0 +1 @@
1
+ import{anchorFields as m,bucketHeader as y,cardMediaFields as B,cardShowFields as E,cardStyleFields as w,foldMetaOf as p,group as O,heightFields as T,sectionAnimationFields as F,sectionShapeFields as I,sectionThemeFields as x,spacingFields as A,widthField as H}from"./controls.js";import{deviceField as R,deviceMetaOf as D}from"./device-fields.js";import{SETTINGS_BUCKETS as $}from"efficient-easel/panel";const s=$,r={Content:"_sContent",Style:"_sStyle",Layout:"_sLayout",Animation:"_sAnimation"},J=[r.Layout,...Object.keys(A({phone:!0})),...Object.keys(H("full")),...Object.keys(T()),...Object.keys(m())],V=[r.Style,...Object.keys(x())],z=[r.Style,...Object.keys(I())],X=[r.Animation,...Object.keys(F())],K=Object.keys(B()),M=new Set(["cardImage","imageBackground"]),Z=[r.Style,...K.filter(o=>o.startsWith("_g")||M.has(o))],ee=Object.keys(w()),te=Object.keys(E({bottomDefault:!0})),P="Editor only \u2014 not shown live",_={"Archive link":"Content",Article:"Content",Boxes:"Content",Blocks:"Content","Blog posts":"Content","Browser mock":"Content",Button:"Content","Call to action":"Content","Car prompt":"Content","Card link":"Content",Cards:"Content","Claims bars":"Content","Contact info":"Content",Content:"Content","Content source":"Content",Contents:"Content",Filters:"Content","Show on a card":"Content","Opening filter":"Content",Footnote:"Content",Form:"Content",Founders:"Content","Gallery A":"Content","Gallery B":"Content","Gallery link":"Content",Header:"Content","Header link":"Content","Image caption":"Content","In this issue":"Content",Items:"Content","Kanban columns":"Content",Lead:"Content","Left panel":"Content",Link:"Content",Links:"Content","Message form":"Content",Metadata:"Content",Milestones:"Content","Mockup card":"Content","Newsletter panel":"Content",Offices:"Content",Options:"Content","Others gallery":"Content","Overlay button":"Content",Product:"Content","Product page":"Content",Products:"Content","Pull quote":"Content",Questions:"Content","Recent issues":"Content","Recent posts":"Content",Reviews:"Content","Right panel \xB7 actions":"Content","Right panel \xB7 choices":"Content","Right panel \xB7 form":"Content","Routing groups":"Content",Rows:"Content",Section:"Content","Section header":"Content",Sections:"Content","Signup form":"Content","Source product":"Content","Stat & note":"Content",Stats:"Content","Submit button":"Content","Success state":"Content",Wheel:"Content",Terminal:"Content",Text:"Content","Text column":"Content","Timeline entries":"Content","Top row":"Content",Total:"Content","Trailing note":"Content","\u201COther\u201D reason":"Content","Background images":"Style",Gallery:"Style",Image:"Style","Image column":"Style",Images:"Style",Logo:"Style",Media:"Style","Background image":"Style",Color:"Style","Image tint":"Style",Style:"Style",Shape:"Style",Texture:"Style","Text style":"Style",Motion:"Animation",Animation:"Animation",Anchor:"Layout",Arrangement:"Layout","Auto-slide":"Layout",Bar:"Layout","Cell width":"Layout",Behavior:"Layout",Controls:"Layout",Diagram:"Layout",[P]:"Layout","Filters shown":"Layout","Slide picker":"Layout",Arrows:"Layout","On a phone":"Layout",Nudge:"Layout","Image gallery":"Layout",Grid:"Layout",Layout:"Layout",Padding:"Layout",Price:"Layout",Preview:"Layout",Setup:"Layout","Show / hide elements":"Layout","Show in the buy box":"Layout",Visibility:"Layout",Width:"Layout",Height:"Layout"},v={"AlloyWheelsListing._gCards":"Style","ProductGrid._gCards":"Style"};function j(o,t,n){return v[`${o}.${t}`]??_[n]}const G={"ImageBlock._gStyle":"duplicated the Style bucket header above it (2026-09-04)","ButtonBlock._gStyle":"duplicated the Style bucket header above it (2026-09-04)","HeroGroup._gContent":"duplicated the Content bucket header above it (2026-09-04)","HeroGroup._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","Footer._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","FooterLogo._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterLogo._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterMenu._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterMenu._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterGroup._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","FooterText._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterText._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterSocial._gStyle":"duplicated the Style bucket header above it (born tabbed, 2026-09-17)","FooterSocial._gLayout":"duplicated the Layout bucket header above it (born tabbed, 2026-09-17)","MenuBlock._gContent":"duplicated the Content bucket header above it (born tabbed, H.1)","MenuBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.1)","EmailFormBlock._gContent":"duplicated the Content bucket header above it (born tabbed, H.1)","SocialLogosBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.1)","SocialLogosBlock._gLayout":"duplicated the Layout bucket header above it (born tabbed, H.1)","SearchBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.2)","CartBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.2)","Split._gContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gVehicleContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gWheelContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gOthersContent":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gHeadCopy":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gLeftCopy":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gRightCopy":"duplicated the Content bucket header above it (2026-09-04)","CollectionCard._gContent":"duplicated the Content bucket header above it (A Card Sets Its Own Corners)","HeroSlide._gContent":"duplicated the Content bucket header above it (Hero Slide Tabs And Theme)","BrandStrip._gContent":"duplicated the Content bucket header above it (66338)","BrandStrip._gStyle":"duplicated the Style bucket header above it (66338)","BrandStrip._gLayout":"duplicated the Layout bucket header above it (66338)","KeyFeatures._gContent":"duplicated the Content bucket header above it (66049)","KeyFeatures._gStyle":"duplicated the Style bucket header above it (66049)","ParagraphsA._gContent":"duplicated the Content bucket header above it (66049)","ParagraphsA._gStyle":"duplicated the Style bucket header above it (66049)","Chart._gContent":"duplicated the Content bucket header above it (66049)","Chart._gStyle":"duplicated the Style bucket header above it (66049)","Logos._gContent":"duplicated the Content bucket header above it (66049)","Logos._gStyle":"duplicated the Style bucket header above it (66049)","Mockup._gContent":"duplicated the Content bucket header above it (66049)","Mockup._gStyle":"duplicated the Style bucket header above it (66049)","Stats._gContent":"duplicated the Content bucket header above it (66049)","Stats._gStyle":"duplicated the Style bucket header above it (66049)","StatsParagraph._gContent":"duplicated the Content bucket header above it (66049)","StatsParagraph._gStyle":"duplicated the Style bucket header above it (66049)","Testimonials._gContent":"duplicated the Content bucket header above it (66049)","Testimonials._gStyle":"duplicated the Style bucket header above it (66049)","AppointmentBooking._gContent":"duplicated the Content bucket header above it (66050)","BookingBox._gContent":"duplicated the Content bucket header above it ([SPLIT] Booking Form Into Three Boxes) \u2014 the same fault its own section retired in 66050, one level down","FAQ._gContent":"duplicated the Content bucket header above it (66050, family sweep)","FAQ._gLayout":"duplicated the Layout bucket header above it (66050, family sweep)","Form._gContent":"duplicated the Content bucket header above it (66050)","ReviewForm._gContent":"duplicated the Content bucket header above it (66050)","SubmitBuild._gContent":"duplicated the Content bucket header above it (66050)","SubmitBox._gContent":"duplicated the Content bucket header above it ([SPLIT] SubmitBuild Keeps Its Two Columns) \u2014 the same fault its own section retired in 66050, one level down","CheckoutCTA._gContent":"duplicated the Content bucket header above it (66051)","CheckoutCTA._gLayout":"duplicated the Layout bucket header above it (66051)","DeliveryOptions._gContent":"duplicated the Content bucket header above it (66051)","DeliveryOptions._gLayout":"duplicated the Layout bucket header above it (66051)","OrderSummary._gContent":"duplicated the Content bucket header above it (66051)","OrderSummary._gLayout":"duplicated the Layout bucket header above it (66051)","PaymentBadges._gContent":"duplicated the Content bucket header above it (66051)","PaymentBadges._gLayout":"duplicated the Layout bucket header above it (66051)","Collections._gContent":"duplicated the Content bucket header above it (66052)","Collections._gLayout":"duplicated the Layout bucket header above it (66052)","DocMasthead._gContent":"duplicated the Content bucket header above it (66053)","Events._gContent":"duplicated the Content bucket header above it (66054)","Events._gLayout":"duplicated the Layout bucket header above it (66054)","FeaturedCover._gContent":"duplicated the Content bucket header above it (66054)","Series._gStyle":"duplicated the Style bucket header above it (66054)","Flex._gContent":"duplicated the Content bucket header above it (66055)","Flex._gLayout":"duplicated the Layout bucket header above it (66055)","SectionHeader._gContent":"duplicated the Content bucket header above it (66055)","Breadcrumb._gContent":"duplicated the Content bucket header above it (66056)","CategoryBar._gStyle":"duplicated the Style bucket header above it (66056)","Hero._gContent":"duplicated the Content bucket header above it (66056)","Hero._gStyle":"duplicated the Style bucket header above it (66056)","HeroSingle._gStyle":"duplicated the Style bucket header above it (66056)","IntroBleed._gContent":"duplicated the Content bucket header above it (66056)","IntroBleed._gLayout":"duplicated the Layout bucket header above it (66056)","BundleOffer._gLayout":"duplicated the Layout bucket header above it (66059)","ProcessSteps._gContent":"duplicated the Content bucket header above it (66059)","Banner._gContent":"duplicated the Content bucket header above it (66060.1)","Banner._gLayout":"duplicated the Layout bucket header above it, and governed no controls (66060.1)","Manifesto._gContent":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gHeadCopy":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gLeftCopy":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gRightCopy":"duplicated the Content bucket header above it (66060.1)","Ticker._gContent":"duplicated the Content bucket header above it (66060.1)","Ticker._gStyle":"duplicated the Style bucket header above it (66060.1)","Timeline._gContent":"duplicated the Content bucket header above it (66060.1)","TitleWithButtons._gContent":"duplicated the Content bucket header above it (66060.1)","TitleWithButtons._gStyle":"duplicated the Style bucket header above it (66060.1)","Cards._gContent":"duplicated the Content bucket header above it (66218)","Cards._gStyle":"duplicated the Style bucket header above it (66218)","Prose._gContent":"duplicated the Content bucket header above it (66218)","Reviews._gContent":"duplicated the Content bucket header above it (66218)","Reviews._gStyle":"duplicated the Style bucket header above it (66218)"};function oe(o){const t=new Set(Object.values(r));for(const[n,d]of Object.entries(o))if(!t.has(n)&&p(d)?.level===1)return 1;return 2}function Y(o){const t=`${o}.`;return Object.keys(G).filter(n=>n.startsWith(t)).map(n=>n.slice(t.length))}function N(o,t){const n=D(o),d=O(t);return n?R(n.tier,d):d}function ne(o,t){const n=[],d=new Set(Y(t)),g=new Set;let h=null;for(const[e,i]of Object.entries(o)){const a=p(i);if(!a){h||n.push(h={bucket:"Content",entries:[]}),h.entries.push([e,i]);continue}if(d.has(e)){const c=_[a.label];if(a.level!==2||!c||a.label!==c)throw new Error(`${t}.${e}: RETIRED (lib/puck/field-groups.ts) lists this sub-heading as one whose name duplicates its bucket, but it is a level-${a.level} "${a.label}" header in the ${c??"(unclassified)"} bucket. Only a level-2 header whose label IS its bucket's name may be retired \u2014 anything else is a heading a merchant reads for its own sake. Fix the row or drop it.`);g.add(e),n.push(h={bucket:c,entries:[]});continue}const l=j(t,e,a.label);if(!l)throw new Error(`${t}.${e}: the inspector group "${a.label}" is not classified in LABEL_BUCKET (lib/puck/field-groups.ts), so there is no way to say which of ${s.join(" / ")} its controls belong under. Classify it \u2014 an unclassified group silently lands wherever it was declared, which is the whole bug.`);const u=e===r[l]&&a.level===1;if(!u&&e===r[l])throw new Error(`${t}.${e}: that key is reserved for the ${l} bucket header, but this field is a level-${a.level} "${a.label}" header, so it cannot serve as one. Rename the section's own field.`);n.push(h={bucket:l,entries:[[e,u||a.level===2?i:N(i,a.label)]],isBucketHeader:u})}const L=new Set(Object.entries(o).filter(([,e])=>p(e)).map(([e])=>e)),k=Object.keys(v).filter(e=>e.startsWith(`${t}.`)).filter(e=>!L.has(e.slice(t.length+1)));if(k.length)throw new Error(`${t}: KEY_BUCKET (lib/puck/field-groups.ts) lists ${JSON.stringify(k)}, but no fold header by that key is in this section's panel. Either the heading was renamed or removed and the row is stale, or the row names the wrong key \u2014 an override that quietly matches nothing is worse than no override.`);const b=n.some(e=>e.isBucketHeader)?[]:[...d].filter(e=>!g.has(e));if(b.length)throw new Error(`${t}: RETIRED (lib/puck/field-groups.ts) lists ${JSON.stringify(b)}, but this section has no such fold header${b.length>1?"s":""}. Either the heading was renamed or removed and the row is stale, or the row names the wrong section \u2014 a list that quietly matches nothing is worse than no list.`);for(const e of s){const i=r[e];if(i in o&&!n.some(a=>a.isBucketHeader&&a.entries[0]?.[0]===i))throw new Error(`${t}.${i} is reserved for the ${e} bucket header but is not a level-1 "${e}" fold header. Rename the section's own field.`)}const S=s.filter(e=>n.some(i=>i.bucket===e)),C={};for(const e of s){const i=n.filter(u=>u.bucket===e);if(!i.length)continue;const a=i.findIndex(u=>u.isBucketHeader);a>0&&i.unshift(...i.splice(a,1));const l=y(e,e===S[0]?S:null);a<0&&(C[r[e]]=l);for(const u of i)for(const[c,f]of u.entries)C[c]=u.isBucketHeader&&c===r[e]?l:f}return C}function ae(o){return r.Content in o?o:{[r.Content]:y("Content",null),...o}}function ie(o){return s.some(t=>r[t]in o)}function re(o){const t=s.filter(d=>r[d]in o);if(t.length===0)return o;const n={...o};for(const d of t)n[r[d]]=y(d,d===t[0]?t:null);return n}export{Z as BOUND_CARD_MEDIA_FIELD_KEYS,s as BUCKETS,r as BUCKET_KEY,K as CARD_MEDIA_FIELD_KEYS,te as CARD_SHOW_FIELD_KEYS,ee as CARD_STYLE_FIELD_KEYS,P as EDITOR_ONLY_GROUP,v as KEY_BUCKET,_ as LABEL_BUCKET,J as LAYOUT_FIELD_KEYS,G as RETIRED,X as SECTION_ANIM_FIELD_KEYS,z as SECTION_SHAPE_FIELD_KEYS,V as SECTION_THEME_FIELD_KEYS,ne as assignSectionGroups,j as bucketOf,oe as foldTopTier,ie as hasBucketTabs,re as reseatBucketTabs,Y as retiredHeadings,ae as seatContentBucket};
@@ -0,0 +1,16 @@
1
+ import type { TextControlKind } from "./text-control-kinds.js";
2
+ export declare const TEXT_FIELD_MARKER: "__text";
3
+ export declare const LINK_FIELD_MARKER: "__link";
4
+ export declare const SCAFFOLD_FIELD_MARKER: "__scaffold";
5
+ export type TextListRendering = "markup" | "verbatim";
6
+ export type TextFieldMeta = {
7
+ control: TextControlKind;
8
+ label: string;
9
+ placeholder?: string;
10
+ hint?: string;
11
+ offPage?: true;
12
+ identifier?: true;
13
+ itemKey?: string;
14
+ rendering?: TextListRendering;
15
+ };
16
+ export type EdgeCell = "top" | "right" | "bottom" | "left";
@@ -0,0 +1 @@
1
+ const _="__text",t="__link",o="__scaffold";export{t as LINK_FIELD_MARKER,o as SCAFFOLD_FIELD_MARKER,_ as TEXT_FIELD_MARKER};
@@ -0,0 +1,3 @@
1
+ export declare const FIELD_NOUNS: readonly ["eyebrow", "heading", "title", "body", "intro", "button", "link", "label", "number", "value", "name", "price", "date", "caption", "note", "quote", "tag", "meta"];
2
+ export type FieldNoun = (typeof FIELD_NOUNS)[number];
3
+ export declare function fieldNoun(label: string): FieldNoun | null;
@@ -0,0 +1 @@
1
+ const o=["eyebrow","heading","title","body","intro","button","link","label","number","value","name","price","date","caption","note","quote","tag","meta"],r=new Set(o);function l(n){const t=n.toLowerCase().split(/[^a-z]+/).filter(Boolean);for(let e=t.length-1;e>=0;e-=1)if(r.has(t[e]))return t[e];return null}export{o as FIELD_NOUNS,l as fieldNoun};
@@ -0,0 +1,19 @@
1
+ import { HEADER_TYPE, FOOTER_TYPE, type TreeItem } from "./content-tree.js";
2
+ export { HEADER_TYPE, FOOTER_TYPE };
3
+ export declare function buildDefaultHeaderNode(): TreeItem;
4
+ export type BlockChoice = {
5
+ type: string;
6
+ label: string;
7
+ group?: string;
8
+ };
9
+ export type BlockChoiceRun = {
10
+ group?: string;
11
+ items: BlockChoice[];
12
+ };
13
+ export declare function blockRuns(choices: BlockChoice[]): BlockChoiceRun[];
14
+ export declare const FOOTER_BLOCK_CHOICES: BlockChoice[];
15
+ export declare const GROUP_BLOCK_CHOICES: BlockChoice[];
16
+ export declare const FOOTER_GROUP_TYPE = "FooterGroup";
17
+ export declare const FOOTER_BLOCKS_SLOT = "blocks";
18
+ export declare function blockChoicesFor(parentType: string): BlockChoice[] | null;
19
+ export declare function buildDefaultFooterBlocks(): TreeItem[];
@@ -0,0 +1 @@
1
+ import{HEADER_TYPE as l,FOOTER_TYPE as i,newNodeId as p}from"./content-tree.js";function c(){return{type:l,props:{id:p(l)}}}function F(o){const e=[];for(const t of o){const r=e[e.length-1];r&&r.group===t.group?r.items.push(t):e.push({group:t.group,items:[t]})}return e}const n=[{type:"FooterLogo",label:"Logo"},{type:"FooterMenu",label:"Menu"},{type:"FooterText",label:"Text"},{type:"FooterEmailSignup",label:"Email Form"},{type:"FooterSocial",label:"Social Logos"},{type:"FooterGroup",label:"Footer Box"},{type:"FooterDivider",label:"Divider"}],u=n.filter(o=>o.type!=="FooterLogo"&&o.type!=="FooterGroup"),s="FooterGroup",d="blocks";function b(o){return o===i?n:o===s?u:null}function g(){const o=(e,t)=>({type:e,props:{id:`${e}-${crypto.randomUUID()}`,...t}});return[o("FooterLogo",{widthPct:100,align:"left",tagline:""}),o("FooterGroup",{direction:"vertical",align:"start",blocks:[o("FooterText",{text:"Join our email list",size:"md",tone:"default"}),o("FooterEmailSignup",{heading:"",placeholder:"Email address",buttonLabel:"Subscribe"})]})]}export{d as FOOTER_BLOCKS_SLOT,n as FOOTER_BLOCK_CHOICES,s as FOOTER_GROUP_TYPE,i as FOOTER_TYPE,u as GROUP_BLOCK_CHOICES,l as HEADER_TYPE,b as blockChoicesFor,F as blockRuns,g as buildDefaultFooterBlocks,c as buildDefaultHeaderNode};
@@ -0,0 +1,3 @@
1
+ export declare function markFooterReturn(originSlug: string): void;
2
+ export declare function readFooterReturn(): string | null;
3
+ export declare function clearFooterReturn(): void;
@@ -0,0 +1 @@
1
+ const e="sf-editor-footer-return";function n(t){if(!(typeof window>"u"))try{window.sessionStorage.setItem(e,t)}catch{}}function r(){if(typeof window>"u")return null;try{return window.sessionStorage.getItem(e)}catch{return null}}function o(){if(!(typeof window>"u"))try{window.sessionStorage.removeItem(e)}catch{}}export{o as clearFooterReturn,n as markFooterReturn,r as readFooterReturn};
@@ -0,0 +1,4 @@
1
+ import type { Config } from "efficient-easel/blocks";
2
+ export declare const GENERAL_REGISTRATION_ORDER: readonly ["Heading", "Text", "Eyebrow", "ImageBlock", "LogoBlock", "ButtonBlock", "Spacer", "Divider", "Grid", "Flex", "Breadcrumb", "Masthead", "CategoryBar", "FeaturedCover", "LongRead", "Series", "Banner", "ParagraphsA", "StatsParagraph", "Timeline", "Footprint", "TimelineTrack", "TitleWithButtons", "Stats", "Integrations", "Mockup", "Chart", "KeyFeatures", "Testimonials", "Prose", "Cards", "Logos", "Ticker", "ContactLocations", "HeroSingle", "Hero", "HeroSlide", "HeroGroup", "PostCard", "DocMetaCards", "DocTabs", "DocMasthead", "DocBody", "FAQ", "SpecStrip", "Manifesto", "SectionHeader", "IntroBleed", "Split", "ProcessSteps", "OrderSummary", "PaymentBadges", "CustomHTML"];
3
+ export declare const generalRegistry: Config;
4
+ export default generalRegistry;
@@ -0,0 +1 @@
1
+ import{jsx as a}from"react/jsx-runtime";import{assembleGeneralBlocks as l}from"./blocks/general/index.js";import{EditorThemedBody as m,PublishedPageFrame as u,suppressPreviewNav as g}from"./page-root.js";import{GENERAL_ROOT_FIELDS as f}from"./page-root-fields.js";import{finishRegistry as h}from"./registry.js";import{blockSetOf as B,buildPuckCategories as S}from"./section-catalog.js";const k=["Heading","Text","Eyebrow","ImageBlock","LogoBlock","ButtonBlock","Spacer","Divider","Grid","Flex","Breadcrumb","Masthead","CategoryBar","FeaturedCover","LongRead","Series","Banner","ParagraphsA","StatsParagraph","Timeline","Footprint","TimelineTrack","TitleWithButtons","Stats","Integrations","Mockup","Chart","KeyFeatures","Testimonials","Prose","Cards","Logos","Ticker","ContactLocations","HeroSingle","Hero","HeroSlide","HeroGroup","PostCard","DocMetaCards","DocTabs","DocMasthead","DocBody","FAQ","SpecStrip","Manifesto","SectionHeader","IntroBleed","Split","ProcessSteps","OrderSummary","PaymentBadges","CustomHTML"];function T(e){const o=Object.fromEntries(Object.entries(e.fields??{}).map(([t,r])=>[t,r&&typeof r=="object"&&r.type==="slot"?{...r}:r]));return{...e,...e.fields?{fields:o}:null}}function y(){const e={};for(const[o,t]of Object.entries(S())){const r=t.components.filter(s=>B(s)==="general");(r.length>0||o==="structure")&&(e[o]={...t,components:r})}return e}const E=l(),c={root:{fields:{...f},render:e=>{const{children:o,puck:t,widthMode:r,fullWidth:s,pageWidth:i,pageBackground:n,theme:d,fonts:p}=e;return t?.isEditing?a(m,{propsTheme:d,propsFonts:p,widthMode:r,fullWidth:s,pageWidth:i,pageBackground:typeof n=="string"?n:void 0,suppressPreviewNav:g,children:o}):a(u,{pageBackground:n,w:{widthMode:r,fullWidth:s,pageWidth:i},children:o})}},categories:y(),components:Object.fromEntries(k.map(e=>[e,T(E[e])]))};h(c);var L=c;export{k as GENERAL_REGISTRATION_ORDER,L as default,c as generalRegistry};
@@ -0,0 +1,14 @@
1
+ import { type GeocodeResult } from "../geocode.js";
2
+ import type { GeocodeState } from "../content/contact.js";
3
+ export interface Geocodable {
4
+ lat: number;
5
+ lng: number;
6
+ geocode?: GeocodeState;
7
+ }
8
+ type Geocoder = (query: string) => Promise<GeocodeResult | null>;
9
+ export declare function needsGeocodeWork(rows: readonly Geocodable[]): boolean;
10
+ export declare function resolveGeocodeRows<T extends Geocodable>(rows: readonly T[], toQuery: (row: T) => string, { geocode, courtesyGapMs }?: {
11
+ geocode?: Geocoder;
12
+ courtesyGapMs?: number;
13
+ }): Promise<T[]>;
14
+ export {};
@@ -0,0 +1 @@
1
+ import{geocodeAddress as c}from"../geocode.js";const i=a=>typeof a=="number"&&Number.isFinite(a);function r(a){return a.some(g=>{const l=g?.geocode;return l?l.pending||l.manual&&l.lat===void 0&&l.lng===void 0?!0:i(l.lat)&&l.lat!==g.lat||i(l.lng)&&l.lng!==g.lng:!1})}async function m(a,g,{geocode:l=c,courtesyGapMs:s=1100}={}){const u=e=>new Promise(n=>setTimeout(n,e));let d=a.slice();if(a.some(e=>e?.geocode?.pending)){const e=[];let n=!1;for(const t of a){if(!t?.geocode?.pending){e.push(t);continue}n&&s>0&&await u(s),n=!0;try{const o=await l(g(t));e.push(o?{...t,lat:o.lat,lng:o.lng,geocode:{...t.geocode,pending:!1,ok:!0,status:`Found \u2014 ${o.label.split(",").slice(0,3).join(",").trim()}`,lat:o.lat,lng:o.lng}}:{...t,geocode:{...t.geocode,pending:!1,ok:!1,status:"No match \u2014 check the address and try again."}})}catch{e.push({...t,geocode:{...t.geocode,pending:!1,ok:!1,status:"Lookup busy \u2014 try again in a moment."}})}}d=e}return d.map(e=>{const n=e?.geocode;if(!n)return e;if(n.manual&&n.lat===void 0&&n.lng===void 0)return{...e,geocode:{...n,lat:e.lat,lng:e.lng}};const t=i(n.lat)&&n.lat!==e.lat?n.lat:e.lat,o=i(n.lng)&&n.lng!==e.lng?n.lng:e.lng;return t!==e.lat||o!==e.lng?{...e,lat:t,lng:o}:e})}export{r as needsGeocodeWork,m as resolveGeocodeRows};
@@ -0,0 +1,49 @@
1
+ export declare const FULLBLEED_LEAD_SECTIONS: Set<string>;
2
+ export declare const HEADER_HEIGHT_PX: {
3
+ readonly min: 56;
4
+ readonly max: 140;
5
+ readonly default: 88;
6
+ };
7
+ export declare const HEADER_MENU_GAP_PX: {
8
+ readonly min: 0;
9
+ readonly max: 120;
10
+ readonly step: 2;
11
+ readonly default: 28;
12
+ };
13
+ export declare const HEADER_HEIGHT_CSS: string;
14
+ export declare const HEADER_SET_HEIGHT_VAR = "--sf-header-set-h";
15
+ export declare const HEADER_DRAWN_HEIGHT_VAR = "--sf-header-h";
16
+ export declare const HEADER_SET_HEIGHT_CSS: string;
17
+ export declare const HEADER_CLEARANCE_CLASS = "sf-header-clearance";
18
+ export declare const STICKY_UNDERHEADER_CLASS = "sf-sticky-underheader";
19
+ export declare function leadSection<T extends {
20
+ type?: string;
21
+ }>(content?: T[] | null): T | null;
22
+ export declare function pageClearsHeader(content?: {
23
+ type?: string;
24
+ }[] | null): boolean;
25
+ export declare function pageLeadsWithFullBleed(content?: {
26
+ type?: string;
27
+ }[] | null): boolean;
28
+ export declare function pageHasHeaderSection(content?: {
29
+ type?: string;
30
+ }[] | null): boolean;
31
+ export declare function isStandaloneSectionDocument(content?: {
32
+ type?: string;
33
+ }[] | null): boolean;
34
+ export declare const TOP_SPACE_MODES: readonly ["auto", "shared", "own"];
35
+ export type TopSpaceMode = (typeof TOP_SPACE_MODES)[number];
36
+ export declare const DEFAULT_TOP_SPACE: TopSpaceMode;
37
+ export declare const TOP_SPACE_PROP = "topSpace";
38
+ export declare const TOP_SPACE_ATTR = "data-top-space";
39
+ export declare function resolveTopSpace(v: unknown): TopSpaceMode;
40
+ export declare function pageTakesTopSpace(root?: {
41
+ props?: Record<string, unknown>;
42
+ } | null, content?: {
43
+ type?: string;
44
+ }[] | null): boolean;
45
+ export declare function topSpaceMarker(root?: {
46
+ props?: Record<string, unknown>;
47
+ } | null, content?: {
48
+ type?: string;
49
+ }[] | null): "own" | null;
@@ -0,0 +1 @@
1
+ import{HEADER_TYPE as o,FOOTER_TYPE as a}from"./content-tree.js";const E=new Set(["Hero","HeroSingle","IntroBleed"]),n={min:56,max:140,default:88},A={min:0,max:120,step:2,default:28},H=`var(--sf-header-h, ${n.default}px)`,s="--sf-header-set-h",d="--sf-header-h",l=`var(${s}, ${n.default}px)`,T="sf-header-clearance",R="sf-sticky-underheader";function c(e){return e?.find(t=>t?.type&&t.type!==o)??null}function p(e){const t=c(e)?.type;return!t||!E.has(t)}function D(e){return!p(e)}function P(e){return!!e?.some(t=>t?.type===o)}function h(e){return!e||e.length===0?!1:!e.some(t=>t?.type===o||t?.type===a)}const u=["auto","shared","own"],_="auto",S="topSpace",C="data-top-space";function f(e){return u.includes(e)?e:_}function x(e,t){const r=f(e?.props?.[S]);return r==="own"?!0:r==="shared"?!1:p(t)}function m(e,t){return x(e,t)?"own":null}export{_ as DEFAULT_TOP_SPACE,E as FULLBLEED_LEAD_SECTIONS,T as HEADER_CLEARANCE_CLASS,d as HEADER_DRAWN_HEIGHT_VAR,H as HEADER_HEIGHT_CSS,n as HEADER_HEIGHT_PX,A as HEADER_MENU_GAP_PX,l as HEADER_SET_HEIGHT_CSS,s as HEADER_SET_HEIGHT_VAR,R as STICKY_UNDERHEADER_CLASS,C as TOP_SPACE_ATTR,u as TOP_SPACE_MODES,S as TOP_SPACE_PROP,h as isStandaloneSectionDocument,c as leadSection,p as pageClearsHeader,P as pageHasHeaderSection,D as pageLeadsWithFullBleed,x as pageTakesTopSpace,f as resolveTopSpace,m as topSpaceMarker};
@@ -0,0 +1,16 @@
1
+ export type HeaderInk = "light" | "dark";
2
+ export declare const HEADER_INK_ATTR = "data-lead-ink";
3
+ export declare const HEADER_INK_OVERRIDE_ATTR = "data-header-ink";
4
+ export declare const HEADER_INK_MODES: readonly ["auto", "light", "dark"];
5
+ export type HeaderInkMode = (typeof HEADER_INK_MODES)[number];
6
+ export declare const DEFAULT_HEADER_INK: HeaderInkMode;
7
+ export declare const DEFAULT_TRANSPARENT_TOP = true;
8
+ export declare function leadSectionInk(content?: {
9
+ type?: string;
10
+ props?: Record<string, unknown>;
11
+ }[] | null): HeaderInk | null;
12
+ export declare function resolveHeaderInkMode(v: unknown): HeaderInkMode;
13
+ export declare function resolveHeaderInk(mode: unknown, content?: {
14
+ type?: string;
15
+ props?: Record<string, unknown>;
16
+ }[] | null): HeaderInk | null;
@@ -0,0 +1 @@
1
+ import{parseIntroBleedLayout as o}from"../sections/intro-bleed-layout.js";import{leadSection as n,pageLeadsWithFullBleed as a}from"./header-clearance.js";const E="data-lead-ink",c="data-header-ink",I=["auto","light","dark"],l="auto",_=!0;function u(t){return t.type==="IntroBleed"?o(t.props?.layout)!=="stacked":!0}function d(t){const e=n(t);return e&&a(t)&&u(e)?"light":null}function s(t){return t==="light"||t==="dark"?t:l}function A(t,e){const r=s(t);return r==="auto"?d(e):r}export{l as DEFAULT_HEADER_INK,_ as DEFAULT_TRANSPARENT_TOP,E as HEADER_INK_ATTR,I as HEADER_INK_MODES,c as HEADER_INK_OVERRIDE_ATTR,d as leadSectionInk,A as resolveHeaderInk,s as resolveHeaderInkMode};
@@ -0,0 +1,7 @@
1
+ import { type SlotConfigView } from "./content-tree.js";
2
+ export interface HeadingItem {
3
+ level: number;
4
+ text: string;
5
+ }
6
+ export declare const SECTION_TOP_LEVEL_FOR_TEST: Record<string, number>;
7
+ export declare function headingOutline(content: unknown[], config: SlotConfigView): HeadingItem[];
@@ -0,0 +1 @@
1
+ import{slotFieldsOf as u}from"./content-tree.js";import{readHidable as l}from"./hidable.js";function d(s){return s.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim()}function p(s){const n=[],e=/<h([1-6])\b[^>]*>([\s\S]*?)<\/h\1>/gi;let a;for(;a=e.exec(s);)n.push({level:Number(a[1]),text:d(a[2])||"(empty)"});return n}const m=new Set(["SubmitBuild"]),h={AlloyWheelsListing:1,DocMasthead:1,AppointmentBooking:2,BookingBox:2,SubmitBox:2,Banner:2,BundleOffer:2,Cards:2,Chart:2,CheckoutCTA:2,CollectionCard:3,Collections:2,CompatibleTyres:2,ContactLocations:2,ContactRouting:2,DeliveryOptions:2,DetailRows:2,DocBody:2,EuTyreLabel:2,Events:2,FAQ:2,FeaturedCover:2,FitmentFinder:2,FitmentTable:2,FooterEmailSignup:4,FooterMenu:4,Footprint:2,Form:2,Gallery:2,GalleryB:2,GalleryItem:2,Integrations:2,IntroBleed:2,KeyFeatures:2,Logos:2,LongRead:2,Manifesto:2,Mockup:2,OrderSummary:2,PostCard:2,ProcessSteps:2,ProductGrid:2,Prose:2,RelatedProducts:2,ReviewForm:2,Reviews:2,SectionHeader:2,Series:2,SpecTable:2,Split:2,StatsParagraph:2,SubmitBuild:2,Subscribe:2,SubscribeBlogs:2,Testimonials:2,Timeline:2,TimelineTrack:2,TitleWithButtons:2,TyreFitment:2,TyreSizes:2};function b(s,n){const e=[];for(const a of s??[]){const r=a,i=r.props??{};switch(r.type){case"Heading":{const{text:t,hidden:o}=l(i.text);if(o)break;e.push({level:Number(i.level)||2,text:t||"(empty heading)"})}break;case"Hero":e.push({level:1,text:"Hero (brand headline)"});break;case"CustomHTML":e.push(...p(l(i.html).text));break;default:{const t=h[r.type??""],o=l(i.title??i.heading),c=o.text.trim();if(!t||o.hidden)break;c?e.push({level:t,text:c}):m.has(r.type??"")&&e.push({level:t,text:String(r.type)});break}}for(const t of u(n,r.type??"")){const o=i[t];Array.isArray(o)&&e.push(...b(o,n))}}return e}export{h as SECTION_TOP_LEVEL_FOR_TEST,b as headingOutline};
@@ -0,0 +1,9 @@
1
+ export type HidableValue = {
2
+ text?: string;
3
+ hidden?: boolean;
4
+ } | string | undefined;
5
+ export declare function readHidable(v: HidableValue): {
6
+ text: string;
7
+ hidden: boolean;
8
+ };
9
+ export declare function hidableText(v: HidableValue): string;
@@ -0,0 +1 @@
1
+ function t(e){return e&&typeof e=="object"?{text:e.text??"",hidden:!!e.hidden}:{text:typeof e=="string"?e:"",hidden:!1}}function n(e){return t(e).text}export{n as hidableText,t as readHidable};
@@ -0,0 +1 @@
1
+ export declare const HOME_PAGE_SLUG = "homepage";
@@ -0,0 +1 @@
1
+ const e="homepage";export{e as HOME_PAGE_SLUG};
@@ -0,0 +1,5 @@
1
+ export type LeftView = "pages" | "sections" | "styles" | "media";
2
+ export declare function readLeftView(): LeftView;
3
+ export declare function writeLeftView(view: LeftView): void;
4
+ export declare function resolveLeftView(view: LeftView, hasSiteTheme: boolean, hasMedia?: boolean): LeftView;
5
+ export declare function leftViewForSelection(selectedId: string | null | undefined, current: LeftView): LeftView;
@@ -0,0 +1 @@
1
+ const n="sf-editor-left-view";function o(){if(typeof window>"u")return"pages";try{const e=window.localStorage.getItem(n);return e==="sections"||e==="styles"||e==="media"?e:"pages"}catch{return"pages"}}function i(e){if(!(typeof window>"u"))try{window.localStorage.setItem(n,e)}catch{}}function s(e,t,r=!1){return e==="styles"&&!t||e==="media"&&!r?"sections":e}function f(e,t){return e?"sections":t}export{f as leftViewForSelection,o as readLeftView,s as resolveLeftView,i as writeLeftView};
@@ -0,0 +1,22 @@
1
+ export type LocationsFocus = {
2
+ level: "groups";
3
+ } | {
4
+ level: "group";
5
+ key: string;
6
+ } | {
7
+ level: "city";
8
+ index: number;
9
+ } | {
10
+ level: "image";
11
+ index: number;
12
+ } | {
13
+ level: "map";
14
+ index: number;
15
+ } | {
16
+ level: "texts";
17
+ };
18
+ export declare const CITY_FOCUS_LEVELS: readonly ["city", "image", "map"];
19
+ export declare function focusCityIndex(focus: LocationsFocus): number | null;
20
+ export declare function setLocationsFocus(next: LocationsFocus): void;
21
+ export declare function resetLocationsFocus(): void;
22
+ export declare function useLocationsFocus(): LocationsFocus;
@@ -0,0 +1 @@
1
+ "use client";import{useSyncExternalStore as c}from"react";const u=["city","image","map"];function a(e){return u.includes(e.level)?e.index:null}const n={level:"groups"};let o=n;const t=new Set;function i(e){o=e;for(const r of t)r()}function f(){i(n)}function l(e){return t.add(e),()=>{t.delete(e)}}const s=()=>o;function x(){return c(l,s,s)}export{u as CITY_FOCUS_LEVELS,a as focusCityIndex,f as resetLocationsFocus,i as setLocationsFocus,x as useLocationsFocus};
@@ -0,0 +1,23 @@
1
+ import type { ContactLocationCard } from "../content/contact.js";
2
+ export declare const groupKeyOf: (c: ContactLocationCard | undefined) => string;
3
+ export declare function cardKey(card: ContactLocationCard): string;
4
+ export declare const groupLabelOf: (key: string, name: string) => string;
5
+ export declare const NEW_CITY: ContactLocationCard;
6
+ export interface LocationBucket {
7
+ key: string;
8
+ name: string;
9
+ cards: ContactLocationCard[];
10
+ }
11
+ export declare function bucketsOf(cards: ContactLocationCard[]): LocationBucket[];
12
+ export declare function absCityIndex(cards: ContactLocationCard[], groupKey: string, pos: number): number;
13
+ export declare function moveGroup(cards: ContactLocationCard[], from: number, gap: number): ContactLocationCard[];
14
+ export declare function moveCity(cards: ContactLocationCard[], fromKey: string, fromPos: number, toKey: string, toGap: number): ContactLocationCard[];
15
+ export declare function addCity(cards: ContactLocationCard[], groupKey: string): ContactLocationCard[];
16
+ export declare function addGroup(cards: ContactLocationCard[]): {
17
+ cards: ContactLocationCard[];
18
+ key: string;
19
+ };
20
+ export declare function deleteGroup(cards: ContactLocationCard[], key: string): ContactLocationCard[];
21
+ export declare function deleteCity(cards: ContactLocationCard[], groupKey: string, pos: number): ContactLocationCard[];
22
+ export declare function writeGroupCities(cards: ContactLocationCard[], groupKey: string, next: ContactLocationCard[]): ContactLocationCard[];
23
+ export declare function writeGroupOrder(cards: ContactLocationCard[], keys: string[], seed: (key: string) => ContactLocationCard[]): ContactLocationCard[];
@@ -0,0 +1,2 @@
1
+ import{bucketByGroup as h}from"../locations-grid.js";const s=t=>String(t?.group??""),d=new WeakMap;let x=0;function b(t){let e=d.get(t);return e||(e=`loc${++x}`,d.set(t,e)),e}const w=(t,e)=>e||t||"Ungrouped",y={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
2
+ Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function a(t){return h(t,s,e=>String(e?.groupName??"")).map(e=>({key:e.key,name:e.name,cards:e.items.map(n=>n.item)}))}const m=t=>t.flatMap(e=>e.cards),g=(t,e,n)=>Math.min(Math.max(t,e),n);function C(t,e,n){let r=0;for(let o=0;o<t.length;o++)if(s(t[o])===e){if(r===n)return o;r++}return-1}function G(t,e,n){const r=a(t);if(e<0||e>=r.length)return t;const[o]=r.splice(e,1),u=g(e<n?n-1:n,0,r.length);return r.splice(u,0,o),m(r)}function N(t,e,n,r,o){const u=a(t),c=u.find(f=>f.key===e),i=u.find(f=>f.key===r);if(!c||!i||n<0||n>=c.cards.length)return t;const[p]=c.cards.splice(n,1),l=e===r?p:{...p,group:i.key,groupName:i.name};l!==p&&d.set(l,b(p));const k=g(c===i&&n<o?o-1:o,0,i.cards.length);return i.cards.splice(k,0,l),m(u)}function S(t,e){const n=a(t),r=n.find(u=>u.key===e),o={...y,group:e,groupName:r?.name??""};return r?(r.cards.push(o),m(n)):[...t,o]}function O(t){const e=new Set(a(t).map(o=>o.key));let n=e.size+1,r=`Group ${n}`;for(;e.has(r);)r=`Group ${++n}`;return{cards:[...t,{...y,group:r,groupName:""}],key:r}}function _(t,e){return t.filter(n=>s(n)!==e)}function v(t,e,n){const r=C(t,e,n);return r<0?t:t.filter((o,u)=>u!==r)}function T(t,e,n){const r=t.flatMap((c,i)=>s(c)===e?[i]:[]),o=t.slice();r.forEach((c,i)=>{o[c]=n[i]});const u=n.slice(r.length);return[...o.filter(c=>c!==void 0),...u]}function U(t,e,n){return e.flatMap(r=>{const o=t.filter(u=>s(u)===r);return o.length?o:n(r)})}export{y as NEW_CITY,C as absCityIndex,S as addCity,O as addGroup,a as bucketsOf,b as cardKey,v as deleteCity,_ as deleteGroup,s as groupKeyOf,w as groupLabelOf,N as moveCity,G as moveGroup,T as writeGroupCities,U as writeGroupOrder};
@@ -0,0 +1,2 @@
1
+ export declare const LOCKED_BLOCK_TYPES: ReadonlySet<string>;
2
+ export declare function isLockedBlock(type: string | undefined): boolean;
@@ -0,0 +1 @@
1
+ const t=new Set(["BookingBox","SubmitBox"]);function n(o){return typeof o=="string"&&t.has(o)}export{t as LOCKED_BLOCK_TYPES,n as isLockedBlock};