efficient-web-builder 40.1.1 → 41.1.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 (1297) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/README.md +27 -6
  3. package/dist/editor/components/ApplyCornersToSiblings.d.ts +1 -1
  4. package/dist/editor/components/ApplyCornersToSiblings.js +1 -1
  5. package/dist/editor/components/BlockGapField.js +1 -1
  6. package/dist/editor/components/CanvasPartsBridge.js +1 -1
  7. package/dist/editor/components/ChatSettingsPanel.js +1 -1
  8. package/dist/editor/components/CornersField.js +1 -1
  9. package/dist/editor/components/DuplicateToPageMenu.js +1 -1
  10. package/dist/editor/components/FieldGlyph.d.ts +1 -1
  11. package/dist/editor/components/HeroPartPanel.d.ts +1 -1
  12. package/dist/editor/components/HeroPartPanel.js +1 -1
  13. package/dist/editor/components/LocationsGroupedField.js +1 -1
  14. package/dist/editor/components/MediaUploadField.js +1 -1
  15. package/dist/editor/components/PartGlyphs.d.ts +1 -8
  16. package/dist/editor/components/PartGlyphs.js +1 -1
  17. package/dist/editor/components/PartInkControl.d.ts +1 -1
  18. package/dist/editor/components/PartInkControl.js +1 -1
  19. package/dist/editor/components/PartSettingsPanel.d.ts +2 -2
  20. package/dist/editor/components/PartSettingsPanel.js +1 -1
  21. package/dist/editor/components/PartTextBox.d.ts +1 -1
  22. package/dist/editor/components/PartTextBox.js +1 -1
  23. package/dist/editor/components/PreviewPartAnchors.d.ts +2 -2
  24. package/dist/editor/components/PreviewPartAnchors.js +1 -1
  25. package/dist/editor/components/PreviewPartStyleContext.d.ts +1 -1
  26. package/dist/editor/components/PreviewThemeFrame.d.ts +1 -1
  27. package/dist/editor/components/PreviewThemeFrame.js +13 -9
  28. package/dist/editor/components/SectionEditor.d.ts +3 -0
  29. package/dist/editor/components/SectionEditor.js +1 -1
  30. package/dist/editor/components/SectionTextEntries.d.ts +1 -1
  31. package/dist/editor/components/SectionTextPartBridge.js +1 -1
  32. package/dist/editor/components/SectionWidthRows.js +1 -1
  33. package/dist/editor/components/ShadowColourField.js +1 -1
  34. package/dist/editor/components/SideSpaceField.js +1 -1
  35. package/dist/editor/components/SiteFields.d.ts +1 -1
  36. package/dist/editor/components/SiteFields.js +1 -1
  37. package/dist/editor/components/SlotChildRows.js +1 -1
  38. package/dist/editor/components/StandaloneSectionEditor.js +1 -1
  39. package/dist/editor/components/StorefrontEditor.js +1 -1
  40. package/dist/editor/components/SwitchToBoxFooter.js +1 -1
  41. package/dist/editor/components/TemplateFieldRow.js +1 -1
  42. package/dist/editor/components/ThemeCard.js +1 -1
  43. package/dist/editor/components/ThemeColourField.js +1 -1
  44. package/dist/editor/components/ThemeField.js +1 -1
  45. package/dist/editor/components/TickerSettingsPanel.js +1 -1
  46. package/dist/editor/components/WebsiteScreenParts.js +1 -1
  47. package/dist/editor/components/WebsiteSettingsPanel.js +1 -1
  48. package/dist/editor/components/storefront-editor.css +23 -23
  49. package/dist/editor/components/useLocationsTree.js +1 -1
  50. package/dist/editor/components/usePinnedChromeSeed.js +1 -1
  51. package/dist/editor/components/useSectionToBoxPass.d.ts +2 -0
  52. package/dist/editor/components/useSectionToBoxPass.js +1 -0
  53. package/dist/editor/lib/document/ColourControl.d.ts +33 -0
  54. package/dist/editor/lib/document/ColourControl.js +1 -0
  55. package/dist/editor/lib/document/MarkupToolbar.d.ts +13 -0
  56. package/dist/editor/lib/document/MarkupToolbar.js +1 -0
  57. package/dist/editor/lib/document/add-palette.d.ts +12 -0
  58. package/dist/editor/lib/document/add-palette.js +1 -0
  59. package/dist/editor/lib/document/add-target.d.ts +2 -0
  60. package/dist/editor/lib/document/add-target.js +1 -0
  61. package/dist/editor/lib/document/apply-card-corners.d.ts +21 -0
  62. package/dist/editor/lib/document/apply-card-corners.js +1 -0
  63. package/dist/editor/lib/document/block-offer.d.ts +10 -0
  64. package/dist/editor/lib/document/block-offer.js +1 -0
  65. package/dist/editor/lib/document/block-source-fields.d.ts +7 -0
  66. package/dist/editor/lib/document/block-source-fields.js +1 -0
  67. package/dist/editor/lib/document/blocks/general/Banner/fields.d.ts +2 -0
  68. package/dist/editor/lib/document/blocks/general/Banner/fields.js +1 -0
  69. package/dist/editor/lib/document/blocks/general/Breadcrumb/fields.d.ts +2 -0
  70. package/dist/editor/lib/document/blocks/general/Breadcrumb/fields.js +1 -0
  71. package/dist/editor/lib/document/blocks/general/ButtonBlock/fields.d.ts +2 -0
  72. package/dist/editor/lib/document/blocks/general/ButtonBlock/fields.js +1 -0
  73. package/dist/editor/lib/document/blocks/general/Cards/fields.d.ts +2 -0
  74. package/dist/editor/lib/document/blocks/general/Cards/fields.js +1 -0
  75. package/dist/editor/lib/document/blocks/general/CategoryBar/fields.d.ts +2 -0
  76. package/dist/editor/lib/document/blocks/general/CategoryBar/fields.js +1 -0
  77. package/dist/editor/lib/document/blocks/general/Chart/fields.d.ts +2 -0
  78. package/dist/editor/lib/document/blocks/general/Chart/fields.js +1 -0
  79. package/dist/editor/lib/document/blocks/general/ContactLocations/fields.d.ts +2 -0
  80. package/dist/editor/lib/document/blocks/general/ContactLocations/fields.js +1 -0
  81. package/dist/editor/lib/document/blocks/general/Countdown/fields.d.ts +2 -0
  82. package/dist/editor/lib/document/blocks/general/Countdown/fields.js +1 -0
  83. package/dist/editor/lib/document/blocks/general/Divider/fields.d.ts +2 -0
  84. package/dist/editor/lib/document/blocks/general/Divider/fields.js +1 -0
  85. package/dist/editor/lib/document/blocks/general/DocBody/fields.d.ts +2 -0
  86. package/dist/editor/lib/document/blocks/general/DocBody/fields.js +1 -0
  87. package/dist/editor/lib/document/blocks/general/DocMasthead/fields.d.ts +2 -0
  88. package/dist/editor/lib/document/blocks/general/DocMasthead/fields.js +1 -0
  89. package/dist/editor/lib/document/blocks/general/DocMetaCards/fields.d.ts +2 -0
  90. package/dist/editor/lib/document/blocks/general/DocMetaCards/fields.js +1 -0
  91. package/dist/editor/lib/document/blocks/general/DocTabs/fields.d.ts +2 -0
  92. package/dist/editor/lib/document/blocks/general/DocTabs/fields.js +1 -0
  93. package/dist/editor/lib/document/blocks/general/Eyebrow/fields.d.ts +2 -0
  94. package/dist/editor/lib/document/blocks/general/Eyebrow/fields.js +1 -0
  95. package/dist/editor/lib/document/blocks/general/FAQ/fields.d.ts +2 -0
  96. package/dist/editor/lib/document/blocks/general/FAQ/fields.js +1 -0
  97. package/dist/editor/lib/document/blocks/general/FeaturedCover/fields.d.ts +2 -0
  98. package/dist/editor/lib/document/blocks/general/FeaturedCover/fields.js +1 -0
  99. package/dist/editor/lib/document/blocks/general/Flex/fields.d.ts +2 -0
  100. package/dist/editor/lib/document/blocks/general/Flex/fields.js +1 -0
  101. package/dist/editor/lib/document/blocks/general/Footprint/fields.d.ts +3 -0
  102. package/dist/editor/lib/document/blocks/general/Footprint/fields.js +1 -0
  103. package/dist/editor/lib/document/blocks/general/Grid/fields.d.ts +2 -0
  104. package/dist/editor/lib/document/blocks/general/Grid/fields.js +1 -0
  105. package/dist/editor/lib/document/blocks/general/Heading/fields.d.ts +2 -0
  106. package/dist/editor/lib/document/blocks/general/Heading/fields.js +1 -0
  107. package/dist/editor/lib/document/blocks/general/Hero/fields.d.ts +2 -0
  108. package/dist/editor/lib/document/blocks/general/Hero/fields.js +1 -0
  109. package/dist/editor/lib/document/blocks/general/HeroGroup/fields.d.ts +2 -0
  110. package/dist/editor/lib/document/blocks/general/HeroGroup/fields.js +1 -0
  111. package/dist/editor/lib/document/blocks/general/HeroSingle/fields.d.ts +2 -0
  112. package/dist/editor/lib/document/blocks/general/HeroSingle/fields.js +1 -0
  113. package/dist/editor/lib/document/blocks/general/HeroSlide/fields.d.ts +2 -0
  114. package/dist/editor/lib/document/blocks/general/HeroSlide/fields.js +1 -0
  115. package/dist/editor/lib/document/blocks/general/ImageBlock/fields.d.ts +2 -0
  116. package/dist/editor/lib/document/blocks/general/ImageBlock/fields.js +1 -0
  117. package/dist/editor/lib/document/blocks/general/Integrations/fields.d.ts +2 -0
  118. package/dist/editor/lib/document/blocks/general/Integrations/fields.js +2 -0
  119. package/dist/editor/lib/document/blocks/general/IntroBleed/fields.d.ts +2 -0
  120. package/dist/editor/lib/document/blocks/general/IntroBleed/fields.js +1 -0
  121. package/dist/editor/lib/document/blocks/general/KeyFeatures/fields.d.ts +2 -0
  122. package/dist/editor/lib/document/blocks/general/KeyFeatures/fields.js +1 -0
  123. package/dist/editor/lib/document/blocks/general/LogoBlock/fields.d.ts +2 -0
  124. package/dist/editor/lib/document/blocks/general/LogoBlock/fields.js +1 -0
  125. package/dist/editor/lib/document/blocks/general/Logos/fields.d.ts +2 -0
  126. package/dist/editor/lib/document/blocks/general/Logos/fields.js +1 -0
  127. package/dist/editor/lib/document/blocks/general/LongRead/fields.d.ts +2 -0
  128. package/dist/editor/lib/document/blocks/general/LongRead/fields.js +1 -0
  129. package/dist/editor/lib/document/blocks/general/Manifesto/fields.d.ts +2 -0
  130. package/dist/editor/lib/document/blocks/general/Manifesto/fields.js +2 -0
  131. package/dist/editor/lib/document/blocks/general/Masthead/fields.d.ts +2 -0
  132. package/dist/editor/lib/document/blocks/general/Masthead/fields.js +1 -0
  133. package/dist/editor/lib/document/blocks/general/Mockup/fields.d.ts +2 -0
  134. package/dist/editor/lib/document/blocks/general/Mockup/fields.js +2 -0
  135. package/dist/editor/lib/document/blocks/general/OrderSummary/fields.d.ts +2 -0
  136. package/dist/editor/lib/document/blocks/general/OrderSummary/fields.js +1 -0
  137. package/dist/editor/lib/document/blocks/general/ParagraphsA/fields.d.ts +2 -0
  138. package/dist/editor/lib/document/blocks/general/ParagraphsA/fields.js +1 -0
  139. package/dist/editor/lib/document/blocks/general/PaymentBadges/fields.d.ts +2 -0
  140. package/dist/editor/lib/document/blocks/general/PaymentBadges/fields.js +1 -0
  141. package/dist/editor/lib/document/blocks/general/PostCard/fields.d.ts +2 -0
  142. package/dist/editor/lib/document/blocks/general/PostCard/fields.js +1 -0
  143. package/dist/editor/lib/document/blocks/general/ProcessSteps/fields.d.ts +2 -0
  144. package/dist/editor/lib/document/blocks/general/ProcessSteps/fields.js +1 -0
  145. package/dist/editor/lib/document/blocks/general/Prose/fields.d.ts +2 -0
  146. package/dist/editor/lib/document/blocks/general/Prose/fields.js +1 -0
  147. package/dist/editor/lib/document/blocks/general/SectionHeader/fields.d.ts +2 -0
  148. package/dist/editor/lib/document/blocks/general/SectionHeader/fields.js +1 -0
  149. package/dist/editor/lib/document/blocks/general/Series/fields.d.ts +2 -0
  150. package/dist/editor/lib/document/blocks/general/Series/fields.js +1 -0
  151. package/dist/editor/lib/document/blocks/general/SpecStrip/fields.d.ts +2 -0
  152. package/dist/editor/lib/document/blocks/general/SpecStrip/fields.js +1 -0
  153. package/dist/editor/lib/document/blocks/general/Split/fields.d.ts +2 -0
  154. package/dist/editor/lib/document/blocks/general/Split/fields.js +1 -0
  155. package/dist/editor/lib/document/blocks/general/Stats/fields.d.ts +2 -0
  156. package/dist/editor/lib/document/blocks/general/Stats/fields.js +1 -0
  157. package/dist/editor/lib/document/blocks/general/StatsParagraph/fields.d.ts +2 -0
  158. package/dist/editor/lib/document/blocks/general/StatsParagraph/fields.js +1 -0
  159. package/dist/editor/lib/document/blocks/general/Testimonials/fields.d.ts +2 -0
  160. package/dist/editor/lib/document/blocks/general/Testimonials/fields.js +1 -0
  161. package/dist/editor/lib/document/blocks/general/Text/fields.d.ts +2 -0
  162. package/dist/editor/lib/document/blocks/general/Text/fields.js +1 -0
  163. package/dist/editor/lib/document/blocks/general/Ticker/fields.d.ts +2 -0
  164. package/dist/editor/lib/document/blocks/general/Ticker/fields.js +1 -0
  165. package/dist/editor/lib/document/blocks/general/Timeline/fields.d.ts +2 -0
  166. package/dist/editor/lib/document/blocks/general/Timeline/fields.js +1 -0
  167. package/dist/editor/lib/document/blocks/general/TimelineTrack/fields.d.ts +2 -0
  168. package/dist/editor/lib/document/blocks/general/TimelineTrack/fields.js +1 -0
  169. package/dist/editor/lib/document/blocks/general/TitleWithButtons/fields.d.ts +2 -0
  170. package/dist/editor/lib/document/blocks/general/TitleWithButtons/fields.js +1 -0
  171. package/dist/editor/lib/document/blocks/general/index.d.ts +2 -0
  172. package/dist/editor/lib/document/blocks/general/index.js +1 -0
  173. package/dist/editor/lib/document/blocks/shared-fields.d.ts +15 -0
  174. package/dist/editor/lib/document/blocks/shared-fields.js +1 -0
  175. package/dist/editor/lib/document/build-config.d.ts +3 -0
  176. package/dist/editor/lib/document/build-config.js +1 -0
  177. package/dist/editor/lib/document/canvas-typing.d.ts +30 -0
  178. package/dist/editor/lib/document/canvas-typing.js +1 -0
  179. package/dist/editor/lib/document/card-row-fields.d.ts +12 -0
  180. package/dist/editor/lib/document/card-row-fields.js +1 -0
  181. package/dist/editor/lib/document/controls.d.ts +437 -0
  182. package/dist/editor/lib/document/controls.js +1 -0
  183. package/dist/editor/lib/document/enclosing-section.d.ts +1 -0
  184. package/dist/editor/lib/document/enclosing-section.js +1 -0
  185. package/dist/editor/lib/document/every-page.d.ts +7 -0
  186. package/dist/editor/lib/document/every-page.js +1 -0
  187. package/dist/editor/lib/document/field-groups.d.ts +34 -0
  188. package/dist/editor/lib/document/field-groups.js +1 -0
  189. package/dist/editor/lib/document/footer-blocks.d.ts +10 -0
  190. package/dist/editor/lib/document/footer-blocks.js +1 -0
  191. package/dist/editor/lib/document/general-registry.d.ts +4 -0
  192. package/dist/editor/lib/document/general-registry.js +1 -0
  193. package/dist/editor/lib/document/geocode-resolve.d.ts +14 -0
  194. package/dist/editor/lib/document/geocode-resolve.js +1 -0
  195. package/dist/editor/lib/document/heading-outline.d.ts +7 -0
  196. package/dist/editor/lib/document/heading-outline.js +1 -0
  197. package/dist/editor/lib/document/hidable-rows-drawn.d.ts +21 -0
  198. package/dist/editor/lib/document/hidable-rows-drawn.js +1 -0
  199. package/dist/editor/lib/document/locations-focus.d.ts +21 -0
  200. package/dist/editor/lib/document/locations-focus.js +1 -0
  201. package/dist/editor/lib/document/locked-blocks.d.ts +3 -0
  202. package/dist/editor/lib/document/locked-blocks.js +1 -0
  203. package/dist/editor/lib/document/logo-color-fields.d.ts +11 -0
  204. package/dist/editor/lib/document/logo-color-fields.js +1 -0
  205. package/dist/editor/lib/document/overrides.d.ts +2 -0
  206. package/dist/editor/lib/document/overrides.js +1 -0
  207. package/dist/editor/lib/document/page-root-fields.d.ts +31 -0
  208. package/dist/editor/lib/document/page-root-fields.js +1 -0
  209. package/dist/editor/lib/document/page-root.d.ts +32 -0
  210. package/dist/editor/lib/document/page-root.js +2 -0
  211. package/dist/editor/lib/document/panel-drop-empty-headings.d.ts +3 -0
  212. package/dist/editor/lib/document/panel-drop-empty-headings.js +1 -0
  213. package/dist/editor/lib/document/panel-heading-scope.d.ts +8 -0
  214. package/dist/editor/lib/document/panel-heading-scope.js +1 -0
  215. package/dist/editor/lib/document/part-anchors.d.ts +26 -0
  216. package/dist/editor/lib/document/part-anchors.js +1 -0
  217. package/dist/editor/lib/document/part-row-field.d.ts +2 -0
  218. package/dist/editor/lib/document/part-row-field.js +1 -0
  219. package/dist/editor/lib/document/part-typing.d.ts +11 -0
  220. package/dist/editor/lib/document/part-typing.js +1 -0
  221. package/dist/editor/lib/document/passes/inspector.d.ts +2 -0
  222. package/dist/editor/lib/document/passes/inspector.js +1 -0
  223. package/dist/editor/lib/document/pinned-in-place-seed.d.ts +16 -0
  224. package/dist/editor/lib/document/pinned-in-place-seed.js +1 -0
  225. package/dist/editor/lib/document/registry.d.ts +3 -0
  226. package/dist/editor/lib/document/registry.js +1 -0
  227. package/dist/editor/lib/document/section-text-suppress.d.ts +9 -0
  228. package/dist/editor/lib/document/section-text-suppress.js +1 -0
  229. package/dist/editor/lib/document/section-width-fields.d.ts +2 -0
  230. package/dist/editor/lib/document/section-width-fields.js +1 -0
  231. package/dist/editor/lib/document/show-when-resolve.d.ts +9 -0
  232. package/dist/editor/lib/document/show-when-resolve.js +1 -0
  233. package/dist/editor/lib/document/template-field.d.ts +13 -0
  234. package/dist/editor/lib/document/template-field.js +1 -0
  235. package/dist/editor/lib/document/text-part-shape.d.ts +18 -0
  236. package/dist/editor/lib/document/text-part-shape.js +2 -0
  237. package/dist/editor/lib/document/theme-swatches.d.ts +3 -0
  238. package/dist/editor/lib/document/theme-swatches.js +1 -0
  239. package/dist/editor/lib/editor-blocks.d.ts +1 -1
  240. package/dist/editor/lib/editor-blocks.js +1 -1
  241. package/dist/editor/lib/pinned-chrome-doc.js +1 -1
  242. package/dist/editor/lib/puck/ColourControl.d.ts +1 -33
  243. package/dist/editor/lib/puck/ColourControl.js +1 -1
  244. package/dist/editor/lib/puck/MarkupToolbar.d.ts +2 -13
  245. package/dist/editor/lib/puck/MarkupToolbar.js +1 -1
  246. package/dist/editor/lib/puck/add-palette.d.ts +1 -13
  247. package/dist/editor/lib/puck/add-palette.js +1 -1
  248. package/dist/editor/lib/puck/add-target.d.ts +1 -2
  249. package/dist/editor/lib/puck/add-target.js +1 -1
  250. package/dist/editor/lib/puck/apply-card-corners.d.ts +1 -21
  251. package/dist/editor/lib/puck/apply-card-corners.js +1 -1
  252. package/dist/editor/lib/puck/block-offer.d.ts +1 -10
  253. package/dist/editor/lib/puck/block-offer.js +1 -1
  254. package/dist/editor/lib/puck/block-source-fields.d.ts +1 -7
  255. package/dist/editor/lib/puck/block-source-fields.js +1 -1
  256. package/dist/editor/lib/puck/blocks/general/Banner/fields.d.ts +1 -2
  257. package/dist/editor/lib/puck/blocks/general/Banner/fields.js +1 -1
  258. package/dist/editor/lib/puck/blocks/general/Breadcrumb/fields.d.ts +1 -2
  259. package/dist/editor/lib/puck/blocks/general/Breadcrumb/fields.js +1 -1
  260. package/dist/editor/lib/puck/blocks/general/ButtonBlock/fields.d.ts +1 -2
  261. package/dist/editor/lib/puck/blocks/general/ButtonBlock/fields.js +1 -1
  262. package/dist/editor/lib/puck/blocks/general/Cards/fields.d.ts +1 -2
  263. package/dist/editor/lib/puck/blocks/general/Cards/fields.js +1 -1
  264. package/dist/editor/lib/puck/blocks/general/CategoryBar/fields.d.ts +1 -2
  265. package/dist/editor/lib/puck/blocks/general/CategoryBar/fields.js +1 -1
  266. package/dist/editor/lib/puck/blocks/general/Chart/fields.d.ts +1 -2
  267. package/dist/editor/lib/puck/blocks/general/Chart/fields.js +1 -1
  268. package/dist/editor/lib/puck/blocks/general/ContactLocations/fields.d.ts +1 -2
  269. package/dist/editor/lib/puck/blocks/general/ContactLocations/fields.js +1 -1
  270. package/dist/editor/lib/puck/blocks/general/Countdown/fields.d.ts +1 -2
  271. package/dist/editor/lib/puck/blocks/general/Countdown/fields.js +1 -1
  272. package/dist/editor/lib/puck/blocks/general/Divider/fields.d.ts +1 -2
  273. package/dist/editor/lib/puck/blocks/general/Divider/fields.js +1 -1
  274. package/dist/editor/lib/puck/blocks/general/DocBody/fields.d.ts +1 -2
  275. package/dist/editor/lib/puck/blocks/general/DocBody/fields.js +1 -1
  276. package/dist/editor/lib/puck/blocks/general/DocMasthead/fields.d.ts +1 -2
  277. package/dist/editor/lib/puck/blocks/general/DocMasthead/fields.js +1 -1
  278. package/dist/editor/lib/puck/blocks/general/DocMetaCards/fields.d.ts +1 -2
  279. package/dist/editor/lib/puck/blocks/general/DocMetaCards/fields.js +1 -1
  280. package/dist/editor/lib/puck/blocks/general/DocTabs/fields.d.ts +1 -2
  281. package/dist/editor/lib/puck/blocks/general/DocTabs/fields.js +1 -1
  282. package/dist/editor/lib/puck/blocks/general/Eyebrow/fields.d.ts +1 -2
  283. package/dist/editor/lib/puck/blocks/general/Eyebrow/fields.js +1 -1
  284. package/dist/editor/lib/puck/blocks/general/FAQ/fields.d.ts +1 -2
  285. package/dist/editor/lib/puck/blocks/general/FAQ/fields.js +1 -1
  286. package/dist/editor/lib/puck/blocks/general/FeaturedCover/fields.d.ts +1 -2
  287. package/dist/editor/lib/puck/blocks/general/FeaturedCover/fields.js +1 -1
  288. package/dist/editor/lib/puck/blocks/general/Flex/fields.d.ts +1 -2
  289. package/dist/editor/lib/puck/blocks/general/Flex/fields.js +1 -1
  290. package/dist/editor/lib/puck/blocks/general/Footprint/fields.d.ts +1 -3
  291. package/dist/editor/lib/puck/blocks/general/Footprint/fields.js +1 -1
  292. package/dist/editor/lib/puck/blocks/general/Grid/fields.d.ts +1 -2
  293. package/dist/editor/lib/puck/blocks/general/Grid/fields.js +1 -1
  294. package/dist/editor/lib/puck/blocks/general/Heading/fields.d.ts +1 -2
  295. package/dist/editor/lib/puck/blocks/general/Heading/fields.js +1 -1
  296. package/dist/editor/lib/puck/blocks/general/Hero/fields.d.ts +1 -2
  297. package/dist/editor/lib/puck/blocks/general/Hero/fields.js +1 -1
  298. package/dist/editor/lib/puck/blocks/general/HeroGroup/fields.d.ts +1 -2
  299. package/dist/editor/lib/puck/blocks/general/HeroGroup/fields.js +1 -1
  300. package/dist/editor/lib/puck/blocks/general/HeroSingle/fields.d.ts +1 -2
  301. package/dist/editor/lib/puck/blocks/general/HeroSingle/fields.js +1 -1
  302. package/dist/editor/lib/puck/blocks/general/HeroSlide/fields.d.ts +1 -2
  303. package/dist/editor/lib/puck/blocks/general/HeroSlide/fields.js +1 -1
  304. package/dist/editor/lib/puck/blocks/general/ImageBlock/fields.d.ts +1 -2
  305. package/dist/editor/lib/puck/blocks/general/ImageBlock/fields.js +1 -1
  306. package/dist/editor/lib/puck/blocks/general/Integrations/fields.d.ts +1 -2
  307. package/dist/editor/lib/puck/blocks/general/Integrations/fields.js +1 -2
  308. package/dist/editor/lib/puck/blocks/general/IntroBleed/fields.d.ts +1 -2
  309. package/dist/editor/lib/puck/blocks/general/IntroBleed/fields.js +1 -1
  310. package/dist/editor/lib/puck/blocks/general/KeyFeatures/fields.d.ts +1 -2
  311. package/dist/editor/lib/puck/blocks/general/KeyFeatures/fields.js +1 -1
  312. package/dist/editor/lib/puck/blocks/general/LogoBlock/fields.d.ts +1 -2
  313. package/dist/editor/lib/puck/blocks/general/LogoBlock/fields.js +1 -1
  314. package/dist/editor/lib/puck/blocks/general/Logos/fields.d.ts +1 -2
  315. package/dist/editor/lib/puck/blocks/general/Logos/fields.js +1 -1
  316. package/dist/editor/lib/puck/blocks/general/LongRead/fields.d.ts +1 -2
  317. package/dist/editor/lib/puck/blocks/general/LongRead/fields.js +1 -1
  318. package/dist/editor/lib/puck/blocks/general/Manifesto/fields.d.ts +1 -2
  319. package/dist/editor/lib/puck/blocks/general/Manifesto/fields.js +1 -2
  320. package/dist/editor/lib/puck/blocks/general/Masthead/fields.d.ts +1 -2
  321. package/dist/editor/lib/puck/blocks/general/Masthead/fields.js +1 -1
  322. package/dist/editor/lib/puck/blocks/general/Mockup/fields.d.ts +1 -2
  323. package/dist/editor/lib/puck/blocks/general/Mockup/fields.js +1 -2
  324. package/dist/editor/lib/puck/blocks/general/OrderSummary/fields.d.ts +1 -2
  325. package/dist/editor/lib/puck/blocks/general/OrderSummary/fields.js +1 -1
  326. package/dist/editor/lib/puck/blocks/general/ParagraphsA/fields.d.ts +1 -2
  327. package/dist/editor/lib/puck/blocks/general/ParagraphsA/fields.js +1 -1
  328. package/dist/editor/lib/puck/blocks/general/PaymentBadges/fields.d.ts +1 -2
  329. package/dist/editor/lib/puck/blocks/general/PaymentBadges/fields.js +1 -1
  330. package/dist/editor/lib/puck/blocks/general/PostCard/fields.d.ts +1 -2
  331. package/dist/editor/lib/puck/blocks/general/PostCard/fields.js +1 -1
  332. package/dist/editor/lib/puck/blocks/general/ProcessSteps/fields.d.ts +1 -2
  333. package/dist/editor/lib/puck/blocks/general/ProcessSteps/fields.js +1 -1
  334. package/dist/editor/lib/puck/blocks/general/Prose/fields.d.ts +1 -2
  335. package/dist/editor/lib/puck/blocks/general/Prose/fields.js +1 -1
  336. package/dist/editor/lib/puck/blocks/general/SectionHeader/fields.d.ts +1 -2
  337. package/dist/editor/lib/puck/blocks/general/SectionHeader/fields.js +1 -1
  338. package/dist/editor/lib/puck/blocks/general/Series/fields.d.ts +1 -2
  339. package/dist/editor/lib/puck/blocks/general/Series/fields.js +1 -1
  340. package/dist/editor/lib/puck/blocks/general/SpecStrip/fields.d.ts +1 -2
  341. package/dist/editor/lib/puck/blocks/general/SpecStrip/fields.js +1 -1
  342. package/dist/editor/lib/puck/blocks/general/Split/fields.d.ts +1 -2
  343. package/dist/editor/lib/puck/blocks/general/Split/fields.js +1 -1
  344. package/dist/editor/lib/puck/blocks/general/Stats/fields.d.ts +1 -2
  345. package/dist/editor/lib/puck/blocks/general/Stats/fields.js +1 -1
  346. package/dist/editor/lib/puck/blocks/general/StatsParagraph/fields.d.ts +1 -2
  347. package/dist/editor/lib/puck/blocks/general/StatsParagraph/fields.js +1 -1
  348. package/dist/editor/lib/puck/blocks/general/Testimonials/fields.d.ts +1 -2
  349. package/dist/editor/lib/puck/blocks/general/Testimonials/fields.js +1 -1
  350. package/dist/editor/lib/puck/blocks/general/Text/fields.d.ts +1 -2
  351. package/dist/editor/lib/puck/blocks/general/Text/fields.js +1 -1
  352. package/dist/editor/lib/puck/blocks/general/Ticker/fields.d.ts +1 -2
  353. package/dist/editor/lib/puck/blocks/general/Ticker/fields.js +1 -1
  354. package/dist/editor/lib/puck/blocks/general/Timeline/fields.d.ts +1 -2
  355. package/dist/editor/lib/puck/blocks/general/Timeline/fields.js +1 -1
  356. package/dist/editor/lib/puck/blocks/general/TimelineTrack/fields.d.ts +1 -2
  357. package/dist/editor/lib/puck/blocks/general/TimelineTrack/fields.js +1 -1
  358. package/dist/editor/lib/puck/blocks/general/TitleWithButtons/fields.d.ts +1 -2
  359. package/dist/editor/lib/puck/blocks/general/TitleWithButtons/fields.js +1 -1
  360. package/dist/editor/lib/puck/blocks/general/index.d.ts +1 -2
  361. package/dist/editor/lib/puck/blocks/general/index.js +1 -1
  362. package/dist/editor/lib/puck/blocks/shared-fields.d.ts +1 -15
  363. package/dist/editor/lib/puck/blocks/shared-fields.js +1 -1
  364. package/dist/editor/lib/puck/build-config.d.ts +1 -3
  365. package/dist/editor/lib/puck/build-config.js +1 -1
  366. package/dist/editor/lib/puck/canvas-typing.d.ts +1 -30
  367. package/dist/editor/lib/puck/canvas-typing.js +1 -1
  368. package/dist/editor/lib/puck/card-row-fields.d.ts +1 -0
  369. package/dist/editor/lib/puck/card-row-fields.js +1 -0
  370. package/dist/editor/lib/puck/controls.d.ts +1 -438
  371. package/dist/editor/lib/puck/controls.js +1 -1
  372. package/dist/editor/lib/puck/enclosing-section.d.ts +1 -1
  373. package/dist/editor/lib/puck/enclosing-section.js +1 -1
  374. package/dist/editor/lib/puck/every-page.d.ts +1 -7
  375. package/dist/editor/lib/puck/every-page.js +1 -1
  376. package/dist/editor/lib/puck/field-groups.d.ts +1 -34
  377. package/dist/editor/lib/puck/field-groups.js +1 -1
  378. package/dist/editor/lib/puck/footer-blocks.d.ts +1 -10
  379. package/dist/editor/lib/puck/footer-blocks.js +1 -1
  380. package/dist/editor/lib/puck/general-registry.d.ts +2 -4
  381. package/dist/editor/lib/puck/general-registry.js +1 -1
  382. package/dist/editor/lib/puck/geocode-resolve.d.ts +1 -14
  383. package/dist/editor/lib/puck/geocode-resolve.js +1 -1
  384. package/dist/editor/lib/puck/heading-outline.d.ts +1 -7
  385. package/dist/editor/lib/puck/heading-outline.js +1 -1
  386. package/dist/editor/lib/puck/hidable-rows-drawn.d.ts +1 -21
  387. package/dist/editor/lib/puck/hidable-rows-drawn.js +1 -1
  388. package/dist/editor/lib/puck/locations-focus.d.ts +1 -22
  389. package/dist/editor/lib/puck/locations-focus.js +1 -1
  390. package/dist/editor/lib/puck/locked-blocks.d.ts +1 -3
  391. package/dist/editor/lib/puck/locked-blocks.js +1 -1
  392. package/dist/editor/lib/puck/logo-color-fields.d.ts +1 -11
  393. package/dist/editor/lib/puck/logo-color-fields.js +1 -1
  394. package/dist/editor/lib/puck/overrides.d.ts +1 -2
  395. package/dist/editor/lib/puck/overrides.js +1 -1
  396. package/dist/editor/lib/puck/page-root-fields.d.ts +1 -31
  397. package/dist/editor/lib/puck/page-root-fields.js +1 -1
  398. package/dist/editor/lib/puck/page-root.d.ts +1 -32
  399. package/dist/editor/lib/puck/page-root.js +1 -2
  400. package/dist/editor/lib/puck/panel-drop-empty-headings.d.ts +1 -3
  401. package/dist/editor/lib/puck/panel-drop-empty-headings.js +1 -1
  402. package/dist/editor/lib/puck/panel-heading-scope.d.ts +1 -8
  403. package/dist/editor/lib/puck/panel-heading-scope.js +1 -1
  404. package/dist/editor/lib/puck/part-anchors.d.ts +1 -25
  405. package/dist/editor/lib/puck/part-anchors.js +1 -1
  406. package/dist/editor/lib/puck/part-row-field.d.ts +1 -2
  407. package/dist/editor/lib/puck/part-row-field.js +1 -1
  408. package/dist/editor/lib/puck/part-typing.d.ts +1 -11
  409. package/dist/editor/lib/puck/part-typing.js +1 -1
  410. package/dist/editor/lib/puck/passes/inspector.d.ts +1 -2
  411. package/dist/editor/lib/puck/passes/inspector.js +1 -1
  412. package/dist/editor/lib/puck/pinned-in-place-seed.d.ts +1 -16
  413. package/dist/editor/lib/puck/pinned-in-place-seed.js +1 -1
  414. package/dist/editor/lib/puck/registry.d.ts +1 -3
  415. package/dist/editor/lib/puck/registry.js +1 -1
  416. package/dist/editor/lib/puck/section-text-suppress.d.ts +1 -9
  417. package/dist/editor/lib/puck/section-text-suppress.js +1 -1
  418. package/dist/editor/lib/puck/section-width-fields.d.ts +1 -2
  419. package/dist/editor/lib/puck/section-width-fields.js +1 -1
  420. package/dist/editor/lib/puck/show-when-resolve.d.ts +1 -9
  421. package/dist/editor/lib/puck/show-when-resolve.js +1 -1
  422. package/dist/editor/lib/puck/template-field.d.ts +1 -13
  423. package/dist/editor/lib/puck/template-field.js +1 -1
  424. package/dist/editor/lib/puck/text-part-shape.d.ts +1 -18
  425. package/dist/editor/lib/puck/text-part-shape.js +1 -2
  426. package/dist/editor/lib/puck/theme-swatches.d.ts +1 -3
  427. package/dist/editor/lib/puck/theme-swatches.js +1 -1
  428. package/dist/editor/lib/sections/new-section-node.js +1 -1
  429. package/dist/editor/lib/sections/section-dry-run.d.ts +81 -0
  430. package/dist/editor/lib/sections/section-dry-run.js +3 -0
  431. package/dist/editor/lib/shared-sections-layer.d.ts +0 -1
  432. package/dist/editor/lib/shared-sections-layer.js +1 -1
  433. package/dist/editor/lib/website-document-addressing.js +1 -1
  434. package/dist/format/lib/content/borders.d.ts +0 -1
  435. package/dist/format/lib/content/borders.js +1 -1
  436. package/dist/format/lib/content/box-layout.d.ts +1 -1
  437. package/dist/format/lib/content/box-layout.js +1 -1
  438. package/dist/format/lib/content/card-image-background.d.ts +0 -1
  439. package/dist/format/lib/content/card-image-background.js +1 -1
  440. package/dist/format/lib/content/card-template.d.ts +34 -0
  441. package/dist/format/lib/content/card-template.js +1 -0
  442. package/dist/format/lib/content/cart-drawer.d.ts +0 -1
  443. package/dist/format/lib/content/cart-drawer.js +1 -1
  444. package/dist/format/lib/content/grid-span.d.ts +0 -2
  445. package/dist/format/lib/content/grid-span.js +1 -1
  446. package/dist/format/lib/content/page-width.d.ts +0 -4
  447. package/dist/format/lib/content/page-width.js +1 -1
  448. package/dist/format/lib/content/product-page.d.ts +0 -1
  449. package/dist/format/lib/content/product-page.js +1 -1
  450. package/dist/format/lib/content/section-width.js +1 -1
  451. package/dist/format/lib/content/subscribe.d.ts +0 -1
  452. package/dist/format/lib/content/subscribe.js +2 -2
  453. package/dist/format/lib/document/blocks/block-types.d.ts +17 -0
  454. package/dist/format/lib/document/blocks/block-types.js +1 -0
  455. package/dist/format/lib/document/blocks/general/Banner/meta.d.ts +2 -0
  456. package/dist/format/lib/document/blocks/general/Banner/meta.js +1 -0
  457. package/dist/format/lib/document/blocks/general/Breadcrumb/meta.d.ts +5 -0
  458. package/dist/format/lib/document/blocks/general/Breadcrumb/meta.js +1 -0
  459. package/dist/format/lib/document/blocks/general/ButtonBlock/meta.d.ts +2 -0
  460. package/dist/format/lib/document/blocks/general/ButtonBlock/meta.js +1 -0
  461. package/dist/format/lib/document/blocks/general/Cards/meta.d.ts +7 -0
  462. package/dist/format/lib/document/blocks/general/Cards/meta.js +1 -0
  463. package/dist/format/lib/document/blocks/general/CategoryBar/meta.d.ts +2 -0
  464. package/dist/format/lib/document/blocks/general/CategoryBar/meta.js +1 -0
  465. package/dist/format/lib/document/blocks/general/Chart/meta.d.ts +6 -0
  466. package/dist/format/lib/document/blocks/general/Chart/meta.js +2 -0
  467. package/dist/format/lib/document/blocks/general/ContactLocations/meta.d.ts +2 -0
  468. package/dist/format/lib/document/blocks/general/ContactLocations/meta.js +1 -0
  469. package/dist/format/lib/document/blocks/general/Countdown/meta.d.ts +6 -0
  470. package/dist/format/lib/document/blocks/general/Countdown/meta.js +1 -0
  471. package/dist/format/lib/document/blocks/general/CustomHTML/fields.d.ts +2 -0
  472. package/dist/format/lib/document/blocks/general/CustomHTML/fields.js +1 -0
  473. package/dist/format/lib/document/blocks/general/CustomHTML/meta.d.ts +2 -0
  474. package/dist/format/lib/document/blocks/general/CustomHTML/meta.js +3 -0
  475. package/dist/format/lib/document/blocks/general/Divider/meta.d.ts +2 -0
  476. package/dist/format/lib/document/blocks/general/Divider/meta.js +1 -0
  477. package/dist/format/lib/document/blocks/general/DocBody/meta.d.ts +5 -0
  478. package/dist/format/lib/document/blocks/general/DocBody/meta.js +1 -0
  479. package/dist/format/lib/document/blocks/general/DocMasthead/meta.d.ts +7 -0
  480. package/dist/format/lib/document/blocks/general/DocMasthead/meta.js +1 -0
  481. package/dist/format/lib/document/blocks/general/DocMetaCards/meta.d.ts +4 -0
  482. package/dist/format/lib/document/blocks/general/DocMetaCards/meta.js +1 -0
  483. package/dist/format/lib/document/blocks/general/DocTabs/meta.d.ts +6 -0
  484. package/dist/format/lib/document/blocks/general/DocTabs/meta.js +1 -0
  485. package/dist/format/lib/document/blocks/general/Eyebrow/meta.d.ts +2 -0
  486. package/dist/format/lib/document/blocks/general/Eyebrow/meta.js +1 -0
  487. package/dist/format/lib/document/blocks/general/FAQ/meta.d.ts +7 -0
  488. package/dist/format/lib/document/blocks/general/FAQ/meta.js +1 -0
  489. package/dist/format/lib/document/blocks/general/FeaturedCover/meta.d.ts +13 -0
  490. package/dist/format/lib/document/blocks/general/FeaturedCover/meta.js +1 -0
  491. package/dist/format/lib/document/blocks/general/Flex/meta.d.ts +7 -0
  492. package/dist/format/lib/document/blocks/general/Flex/meta.js +1 -0
  493. package/dist/format/lib/document/blocks/general/Footprint/meta.d.ts +7 -0
  494. package/dist/format/lib/document/blocks/general/Footprint/meta.js +2 -0
  495. package/dist/format/lib/document/blocks/general/Grid/meta.d.ts +7 -0
  496. package/dist/format/lib/document/blocks/general/Grid/meta.js +1 -0
  497. package/dist/format/lib/document/blocks/general/Heading/meta.d.ts +2 -0
  498. package/dist/format/lib/document/blocks/general/Heading/meta.js +1 -0
  499. package/dist/format/lib/document/blocks/general/Hero/meta.d.ts +7 -0
  500. package/dist/format/lib/document/blocks/general/Hero/meta.js +1 -0
  501. package/dist/format/lib/document/blocks/general/HeroGroup/meta.d.ts +8 -0
  502. package/dist/format/lib/document/blocks/general/HeroGroup/meta.js +1 -0
  503. package/dist/format/lib/document/blocks/general/HeroSingle/meta.d.ts +8 -0
  504. package/dist/format/lib/document/blocks/general/HeroSingle/meta.js +1 -0
  505. package/dist/format/lib/document/blocks/general/HeroSlide/meta.d.ts +8 -0
  506. package/dist/format/lib/document/blocks/general/HeroSlide/meta.js +1 -0
  507. package/dist/format/lib/document/blocks/general/ImageBlock/meta.d.ts +2 -0
  508. package/dist/format/lib/document/blocks/general/ImageBlock/meta.js +1 -0
  509. package/dist/format/lib/document/blocks/general/Integrations/meta.d.ts +2 -0
  510. package/dist/format/lib/document/blocks/general/Integrations/meta.js +1 -0
  511. package/dist/format/lib/document/blocks/general/IntroBleed/meta.d.ts +7 -0
  512. package/dist/format/lib/document/blocks/general/IntroBleed/meta.js +2 -0
  513. package/dist/format/lib/document/blocks/general/KeyFeatures/meta.d.ts +8 -0
  514. package/dist/format/lib/document/blocks/general/KeyFeatures/meta.js +1 -0
  515. package/dist/format/lib/document/blocks/general/LogoBlock/meta.d.ts +2 -0
  516. package/dist/format/lib/document/blocks/general/LogoBlock/meta.js +1 -0
  517. package/dist/format/lib/document/blocks/general/Logos/meta.d.ts +2 -0
  518. package/dist/format/lib/document/blocks/general/Logos/meta.js +1 -0
  519. package/dist/format/lib/document/blocks/general/LongRead/meta.d.ts +19 -0
  520. package/dist/format/lib/document/blocks/general/LongRead/meta.js +1 -0
  521. package/dist/format/lib/document/blocks/general/Manifesto/meta.d.ts +2 -0
  522. package/dist/format/lib/document/blocks/general/Manifesto/meta.js +1 -0
  523. package/dist/format/lib/document/blocks/general/Masthead/meta.d.ts +8 -0
  524. package/dist/format/lib/document/blocks/general/Masthead/meta.js +1 -0
  525. package/dist/format/lib/document/blocks/general/Mockup/meta.d.ts +2 -0
  526. package/dist/format/lib/document/blocks/general/Mockup/meta.js +1 -0
  527. package/dist/format/lib/document/blocks/general/OrderSummary/meta.d.ts +12 -0
  528. package/dist/format/lib/document/blocks/general/OrderSummary/meta.js +1 -0
  529. package/dist/format/lib/document/blocks/general/ParagraphsA/meta.d.ts +9 -0
  530. package/dist/format/lib/document/blocks/general/ParagraphsA/meta.js +1 -0
  531. package/dist/format/lib/document/blocks/general/PaymentBadges/meta.d.ts +5 -0
  532. package/dist/format/lib/document/blocks/general/PaymentBadges/meta.js +1 -0
  533. package/dist/format/lib/document/blocks/general/PostCard/meta.d.ts +9 -0
  534. package/dist/format/lib/document/blocks/general/PostCard/meta.js +1 -0
  535. package/dist/format/lib/document/blocks/general/ProcessSteps/meta.d.ts +13 -0
  536. package/dist/format/lib/document/blocks/general/ProcessSteps/meta.js +1 -0
  537. package/dist/format/lib/document/blocks/general/Prose/meta.d.ts +7 -0
  538. package/dist/format/lib/document/blocks/general/Prose/meta.js +1 -0
  539. package/dist/format/lib/document/blocks/general/SectionHeader/meta.d.ts +2 -0
  540. package/dist/format/lib/document/blocks/general/SectionHeader/meta.js +1 -0
  541. package/dist/format/lib/document/blocks/general/Series/meta.d.ts +8 -0
  542. package/dist/format/lib/document/blocks/general/Series/meta.js +1 -0
  543. package/dist/format/lib/document/blocks/general/Spacer/fields.d.ts +2 -0
  544. package/dist/format/lib/document/blocks/general/Spacer/fields.js +1 -0
  545. package/dist/format/lib/document/blocks/general/Spacer/meta.d.ts +2 -0
  546. package/dist/format/lib/document/blocks/general/Spacer/meta.js +1 -0
  547. package/dist/format/lib/document/blocks/general/SpecStrip/meta.d.ts +2 -0
  548. package/dist/format/lib/document/blocks/general/SpecStrip/meta.js +1 -0
  549. package/dist/format/lib/document/blocks/general/Split/meta.d.ts +10 -0
  550. package/dist/format/lib/document/blocks/general/Split/meta.js +2 -0
  551. package/dist/format/lib/document/blocks/general/Stats/meta.d.ts +2 -0
  552. package/dist/format/lib/document/blocks/general/Stats/meta.js +1 -0
  553. package/dist/format/lib/document/blocks/general/StatsParagraph/meta.d.ts +7 -0
  554. package/dist/format/lib/document/blocks/general/StatsParagraph/meta.js +1 -0
  555. package/dist/format/lib/document/blocks/general/Testimonials/meta.d.ts +6 -0
  556. package/dist/format/lib/document/blocks/general/Testimonials/meta.js +1 -0
  557. package/dist/format/lib/document/blocks/general/Text/meta.d.ts +2 -0
  558. package/dist/format/lib/document/blocks/general/Text/meta.js +1 -0
  559. package/dist/format/lib/document/blocks/general/Ticker/meta.d.ts +5 -0
  560. package/dist/format/lib/document/blocks/general/Ticker/meta.js +1 -0
  561. package/dist/format/lib/document/blocks/general/Timeline/meta.d.ts +12 -0
  562. package/dist/format/lib/document/blocks/general/Timeline/meta.js +2 -0
  563. package/dist/format/lib/document/blocks/general/TimelineTrack/meta.d.ts +10 -0
  564. package/dist/format/lib/document/blocks/general/TimelineTrack/meta.js +1 -0
  565. package/dist/format/lib/document/blocks/general/TitleWithButtons/meta.d.ts +5 -0
  566. package/dist/format/lib/document/blocks/general/TitleWithButtons/meta.js +2 -0
  567. package/dist/format/lib/document/blocks/general/metas.d.ts +62 -0
  568. package/dist/format/lib/document/blocks/general/metas.js +1 -0
  569. package/dist/format/lib/document/blocks/general/section-bg-built-in.d.ts +6 -0
  570. package/dist/format/lib/document/blocks/general/section-bg-built-in.js +1 -0
  571. package/dist/format/lib/document/blocks/general/text-part-shapes.json +2162 -0
  572. package/dist/format/lib/document/blocks/placeholders.d.ts +25 -0
  573. package/dist/format/lib/document/blocks/placeholders.js +1 -0
  574. package/dist/format/lib/document/box-footer.d.ts +9 -0
  575. package/dist/format/lib/document/box-footer.js +1 -0
  576. package/dist/format/lib/document/cap-hero-groups.d.ts +1 -0
  577. package/dist/format/lib/document/cap-hero-groups.js +1 -0
  578. package/dist/format/lib/document/card-template-layers.d.ts +4 -0
  579. package/dist/format/lib/document/card-template-layers.js +1 -0
  580. package/dist/format/lib/document/container-blocks.d.ts +10 -0
  581. package/dist/format/lib/document/container-blocks.js +1 -0
  582. package/dist/format/lib/document/editor-page-context.d.ts +7 -0
  583. package/dist/format/lib/document/editor-page-context.js +1 -0
  584. package/dist/format/lib/document/field-noun.d.ts +3 -0
  585. package/dist/format/lib/document/field-noun.js +1 -0
  586. package/dist/format/lib/document/footer-block-row-name.d.ts +4 -0
  587. package/dist/format/lib/document/footer-block-row-name.js +1 -0
  588. package/dist/format/lib/document/general-order.d.ts +3 -0
  589. package/dist/format/lib/document/general-order.js +1 -0
  590. package/dist/format/lib/document/home-page.d.ts +1 -0
  591. package/dist/format/lib/document/home-page.js +1 -0
  592. package/dist/format/lib/document/left-view.d.ts +5 -0
  593. package/dist/format/lib/document/left-view.js +1 -0
  594. package/dist/format/lib/document/locations-tree.d.ts +23 -0
  595. package/dist/format/lib/document/locations-tree.js +2 -0
  596. package/dist/format/lib/document/media-drop.d.ts +3 -0
  597. package/dist/format/lib/document/media-drop.js +1 -0
  598. package/dist/format/lib/document/media-manifest.json +147 -0
  599. package/dist/format/lib/document/mockup-variant-fields.d.ts +10 -0
  600. package/dist/format/lib/document/mockup-variant-fields.js +1 -0
  601. package/dist/format/lib/document/nestable-content-sections.d.ts +2 -0
  602. package/dist/format/lib/document/nestable-content-sections.js +1 -0
  603. package/dist/format/lib/document/neutralization-contracts.d.ts +43 -0
  604. package/dist/format/lib/document/neutralization-contracts.js +1 -0
  605. package/dist/format/lib/document/new-site-header-seed.d.ts +17 -0
  606. package/dist/format/lib/document/new-site-header-seed.js +1 -0
  607. package/dist/format/lib/document/one-h1.d.ts +3 -0
  608. package/dist/format/lib/document/one-h1.js +1 -0
  609. package/dist/format/lib/document/overlay-portal.d.ts +3 -0
  610. package/dist/format/lib/document/overlay-portal.js +1 -0
  611. package/dist/format/lib/document/own-box.d.ts +2 -0
  612. package/dist/format/lib/document/own-box.js +1 -0
  613. package/dist/format/lib/document/panel-bands.d.ts +14 -0
  614. package/dist/format/lib/document/panel-bands.js +1 -0
  615. package/dist/format/lib/document/part-inks.d.ts +11 -0
  616. package/dist/format/lib/document/part-inks.js +1 -0
  617. package/dist/format/lib/document/part-key.d.ts +9 -0
  618. package/dist/format/lib/document/part-key.js +1 -0
  619. package/dist/format/lib/document/passes/catalogue-labels.d.ts +2 -0
  620. package/dist/format/lib/document/passes/catalogue-labels.js +1 -0
  621. package/dist/format/lib/document/passes/document-position.d.ts +16 -0
  622. package/dist/format/lib/document/passes/document-position.js +1 -0
  623. package/dist/format/lib/document/passes/empty-headings.d.ts +2 -0
  624. package/dist/format/lib/document/passes/empty-headings.js +1 -0
  625. package/dist/format/lib/document/passes/hidden-nodes.d.ts +2 -0
  626. package/dist/format/lib/document/passes/hidden-nodes.js +1 -0
  627. package/dist/format/lib/document/passes/media-values.d.ts +3 -0
  628. package/dist/format/lib/document/passes/media-values.js +1 -0
  629. package/dist/format/lib/document/passes/registry-context.d.ts +2 -0
  630. package/dist/format/lib/document/passes/registry-context.js +1 -0
  631. package/dist/format/lib/document/passes/settings-groups.d.ts +3 -0
  632. package/dist/format/lib/document/passes/settings-groups.js +1 -0
  633. package/dist/format/lib/document/passes/show-when-rows.d.ts +4 -0
  634. package/dist/format/lib/document/passes/show-when-rows.js +1 -0
  635. package/dist/format/lib/document/passes/slot-rules.d.ts +4 -0
  636. package/dist/format/lib/document/passes/slot-rules.js +1 -0
  637. package/dist/format/lib/document/passes/types.d.ts +71 -0
  638. package/dist/format/lib/document/passes/types.js +0 -0
  639. package/dist/format/lib/document/phone-override.d.ts +3 -0
  640. package/dist/format/lib/document/phone-override.js +1 -0
  641. package/dist/format/lib/document/pinned-seed-gate.d.ts +6 -0
  642. package/dist/format/lib/document/pinned-seed-gate.js +1 -0
  643. package/dist/format/lib/document/renamed-props.d.ts +2 -0
  644. package/dist/format/lib/document/renamed-props.js +1 -0
  645. package/dist/format/lib/document/section-catalog.d.ts +37 -0
  646. package/dist/format/lib/document/section-catalog.js +7 -0
  647. package/dist/format/lib/document/section-descriptions.d.ts +1 -0
  648. package/dist/format/lib/document/section-descriptions.js +1 -0
  649. package/dist/format/lib/document/section-groups.d.ts +30 -0
  650. package/dist/format/lib/document/section-groups.js +1 -0
  651. package/dist/format/lib/document/show-when-attach.d.ts +12 -0
  652. package/dist/format/lib/document/show-when-attach.js +1 -0
  653. package/dist/format/lib/document/site-gap-fields.d.ts +2 -0
  654. package/dist/format/lib/document/site-gap-fields.js +1 -0
  655. package/dist/format/lib/document/snapshot-contracts.d.ts +4 -0
  656. package/dist/format/lib/document/snapshot-contracts.js +1 -0
  657. package/dist/format/lib/document/source-bound-parts.d.ts +14 -0
  658. package/dist/format/lib/document/source-bound-parts.js +1 -0
  659. package/dist/format/lib/document/source-row-name.d.ts +2 -0
  660. package/dist/format/lib/document/source-row-name.js +1 -0
  661. package/dist/format/lib/document/templateFields.d.ts +2 -0
  662. package/dist/format/lib/document/templateFields.js +1 -0
  663. package/dist/format/lib/document/text-seeds.d.ts +2 -0
  664. package/dist/format/lib/document/text-seeds.js +1 -0
  665. package/dist/format/lib/editor/preview-href.js +1 -1
  666. package/dist/format/lib/editor-words-catalogue.d.ts +4 -5
  667. package/dist/format/lib/editor-words-catalogue.js +3 -3
  668. package/dist/format/lib/fonts.d.ts +0 -1
  669. package/dist/format/lib/fonts.js +1 -1
  670. package/dist/format/lib/hero-arrows.d.ts +0 -1
  671. package/dist/format/lib/hero-arrows.js +1 -1
  672. package/dist/format/lib/hero-group-placement.d.ts +0 -1
  673. package/dist/format/lib/hero-group-placement.js +1 -1
  674. package/dist/format/lib/hero-phone-stack.d.ts +0 -1
  675. package/dist/format/lib/hero-phone-stack.js +1 -1
  676. package/dist/format/lib/links/page-link-rules.js +1 -1
  677. package/dist/format/lib/puck/blocks/block-types.d.ts +1 -17
  678. package/dist/format/lib/puck/blocks/block-types.js +1 -1
  679. package/dist/format/lib/puck/blocks/general/Banner/meta.d.ts +1 -2
  680. package/dist/format/lib/puck/blocks/general/Banner/meta.js +1 -1
  681. package/dist/format/lib/puck/blocks/general/Breadcrumb/meta.d.ts +1 -5
  682. package/dist/format/lib/puck/blocks/general/Breadcrumb/meta.js +1 -1
  683. package/dist/format/lib/puck/blocks/general/ButtonBlock/meta.d.ts +1 -2
  684. package/dist/format/lib/puck/blocks/general/ButtonBlock/meta.js +1 -1
  685. package/dist/format/lib/puck/blocks/general/Cards/meta.d.ts +1 -7
  686. package/dist/format/lib/puck/blocks/general/Cards/meta.js +1 -1
  687. package/dist/format/lib/puck/blocks/general/CategoryBar/meta.d.ts +1 -2
  688. package/dist/format/lib/puck/blocks/general/CategoryBar/meta.js +1 -1
  689. package/dist/format/lib/puck/blocks/general/Chart/meta.d.ts +1 -6
  690. package/dist/format/lib/puck/blocks/general/Chart/meta.js +1 -2
  691. package/dist/format/lib/puck/blocks/general/ContactLocations/meta.d.ts +1 -2
  692. package/dist/format/lib/puck/blocks/general/ContactLocations/meta.js +1 -1
  693. package/dist/format/lib/puck/blocks/general/Countdown/meta.d.ts +1 -6
  694. package/dist/format/lib/puck/blocks/general/Countdown/meta.js +1 -1
  695. package/dist/format/lib/puck/blocks/general/CustomHTML/fields.d.ts +1 -2
  696. package/dist/format/lib/puck/blocks/general/CustomHTML/fields.js +1 -1
  697. package/dist/format/lib/puck/blocks/general/CustomHTML/meta.d.ts +1 -2
  698. package/dist/format/lib/puck/blocks/general/CustomHTML/meta.js +1 -3
  699. package/dist/format/lib/puck/blocks/general/Divider/meta.d.ts +1 -2
  700. package/dist/format/lib/puck/blocks/general/Divider/meta.js +1 -1
  701. package/dist/format/lib/puck/blocks/general/DocBody/meta.d.ts +1 -5
  702. package/dist/format/lib/puck/blocks/general/DocBody/meta.js +1 -1
  703. package/dist/format/lib/puck/blocks/general/DocMasthead/meta.d.ts +1 -7
  704. package/dist/format/lib/puck/blocks/general/DocMasthead/meta.js +1 -1
  705. package/dist/format/lib/puck/blocks/general/DocMetaCards/meta.d.ts +1 -4
  706. package/dist/format/lib/puck/blocks/general/DocMetaCards/meta.js +1 -1
  707. package/dist/format/lib/puck/blocks/general/DocTabs/meta.d.ts +1 -6
  708. package/dist/format/lib/puck/blocks/general/DocTabs/meta.js +1 -1
  709. package/dist/format/lib/puck/blocks/general/Eyebrow/meta.d.ts +1 -2
  710. package/dist/format/lib/puck/blocks/general/Eyebrow/meta.js +1 -1
  711. package/dist/format/lib/puck/blocks/general/FAQ/meta.d.ts +1 -7
  712. package/dist/format/lib/puck/blocks/general/FAQ/meta.js +1 -1
  713. package/dist/format/lib/puck/blocks/general/FeaturedCover/meta.d.ts +1 -13
  714. package/dist/format/lib/puck/blocks/general/FeaturedCover/meta.js +1 -1
  715. package/dist/format/lib/puck/blocks/general/Flex/meta.d.ts +1 -7
  716. package/dist/format/lib/puck/blocks/general/Flex/meta.js +1 -1
  717. package/dist/format/lib/puck/blocks/general/Footprint/meta.d.ts +1 -7
  718. package/dist/format/lib/puck/blocks/general/Footprint/meta.js +1 -2
  719. package/dist/format/lib/puck/blocks/general/Grid/meta.d.ts +1 -7
  720. package/dist/format/lib/puck/blocks/general/Grid/meta.js +1 -1
  721. package/dist/format/lib/puck/blocks/general/Heading/meta.d.ts +1 -2
  722. package/dist/format/lib/puck/blocks/general/Heading/meta.js +1 -1
  723. package/dist/format/lib/puck/blocks/general/Hero/meta.d.ts +1 -7
  724. package/dist/format/lib/puck/blocks/general/Hero/meta.js +1 -1
  725. package/dist/format/lib/puck/blocks/general/HeroGroup/meta.d.ts +1 -8
  726. package/dist/format/lib/puck/blocks/general/HeroGroup/meta.js +1 -1
  727. package/dist/format/lib/puck/blocks/general/HeroSingle/meta.d.ts +1 -8
  728. package/dist/format/lib/puck/blocks/general/HeroSingle/meta.js +1 -1
  729. package/dist/format/lib/puck/blocks/general/HeroSlide/meta.d.ts +1 -8
  730. package/dist/format/lib/puck/blocks/general/HeroSlide/meta.js +1 -1
  731. package/dist/format/lib/puck/blocks/general/ImageBlock/meta.d.ts +1 -2
  732. package/dist/format/lib/puck/blocks/general/ImageBlock/meta.js +1 -1
  733. package/dist/format/lib/puck/blocks/general/Integrations/meta.d.ts +1 -2
  734. package/dist/format/lib/puck/blocks/general/Integrations/meta.js +1 -1
  735. package/dist/format/lib/puck/blocks/general/IntroBleed/meta.d.ts +1 -7
  736. package/dist/format/lib/puck/blocks/general/IntroBleed/meta.js +1 -2
  737. package/dist/format/lib/puck/blocks/general/KeyFeatures/meta.d.ts +1 -8
  738. package/dist/format/lib/puck/blocks/general/KeyFeatures/meta.js +1 -1
  739. package/dist/format/lib/puck/blocks/general/LogoBlock/meta.d.ts +1 -2
  740. package/dist/format/lib/puck/blocks/general/LogoBlock/meta.js +1 -1
  741. package/dist/format/lib/puck/blocks/general/Logos/meta.d.ts +1 -2
  742. package/dist/format/lib/puck/blocks/general/Logos/meta.js +1 -1
  743. package/dist/format/lib/puck/blocks/general/LongRead/meta.d.ts +1 -19
  744. package/dist/format/lib/puck/blocks/general/LongRead/meta.js +1 -1
  745. package/dist/format/lib/puck/blocks/general/Manifesto/meta.d.ts +1 -2
  746. package/dist/format/lib/puck/blocks/general/Manifesto/meta.js +1 -1
  747. package/dist/format/lib/puck/blocks/general/Masthead/meta.d.ts +1 -8
  748. package/dist/format/lib/puck/blocks/general/Masthead/meta.js +1 -1
  749. package/dist/format/lib/puck/blocks/general/Mockup/meta.d.ts +1 -2
  750. package/dist/format/lib/puck/blocks/general/Mockup/meta.js +1 -1
  751. package/dist/format/lib/puck/blocks/general/OrderSummary/meta.d.ts +1 -6
  752. package/dist/format/lib/puck/blocks/general/OrderSummary/meta.js +1 -1
  753. package/dist/format/lib/puck/blocks/general/ParagraphsA/meta.d.ts +1 -9
  754. package/dist/format/lib/puck/blocks/general/ParagraphsA/meta.js +1 -1
  755. package/dist/format/lib/puck/blocks/general/PaymentBadges/meta.d.ts +1 -5
  756. package/dist/format/lib/puck/blocks/general/PaymentBadges/meta.js +1 -1
  757. package/dist/format/lib/puck/blocks/general/PostCard/meta.d.ts +1 -9
  758. package/dist/format/lib/puck/blocks/general/PostCard/meta.js +1 -1
  759. package/dist/format/lib/puck/blocks/general/ProcessSteps/meta.d.ts +1 -13
  760. package/dist/format/lib/puck/blocks/general/ProcessSteps/meta.js +1 -1
  761. package/dist/format/lib/puck/blocks/general/Prose/meta.d.ts +1 -7
  762. package/dist/format/lib/puck/blocks/general/Prose/meta.js +1 -1
  763. package/dist/format/lib/puck/blocks/general/SectionHeader/meta.d.ts +1 -2
  764. package/dist/format/lib/puck/blocks/general/SectionHeader/meta.js +1 -1
  765. package/dist/format/lib/puck/blocks/general/Series/meta.d.ts +1 -8
  766. package/dist/format/lib/puck/blocks/general/Series/meta.js +1 -1
  767. package/dist/format/lib/puck/blocks/general/Spacer/fields.d.ts +1 -2
  768. package/dist/format/lib/puck/blocks/general/Spacer/fields.js +1 -1
  769. package/dist/format/lib/puck/blocks/general/Spacer/meta.d.ts +1 -2
  770. package/dist/format/lib/puck/blocks/general/Spacer/meta.js +1 -1
  771. package/dist/format/lib/puck/blocks/general/SpecStrip/meta.d.ts +1 -2
  772. package/dist/format/lib/puck/blocks/general/SpecStrip/meta.js +1 -1
  773. package/dist/format/lib/puck/blocks/general/Split/meta.d.ts +1 -10
  774. package/dist/format/lib/puck/blocks/general/Split/meta.js +1 -2
  775. package/dist/format/lib/puck/blocks/general/Stats/meta.d.ts +1 -2
  776. package/dist/format/lib/puck/blocks/general/Stats/meta.js +1 -1
  777. package/dist/format/lib/puck/blocks/general/StatsParagraph/meta.d.ts +1 -7
  778. package/dist/format/lib/puck/blocks/general/StatsParagraph/meta.js +1 -1
  779. package/dist/format/lib/puck/blocks/general/Testimonials/meta.d.ts +1 -6
  780. package/dist/format/lib/puck/blocks/general/Testimonials/meta.js +1 -1
  781. package/dist/format/lib/puck/blocks/general/Text/meta.d.ts +1 -2
  782. package/dist/format/lib/puck/blocks/general/Text/meta.js +1 -1
  783. package/dist/format/lib/puck/blocks/general/Ticker/meta.d.ts +1 -5
  784. package/dist/format/lib/puck/blocks/general/Ticker/meta.js +1 -1
  785. package/dist/format/lib/puck/blocks/general/Timeline/meta.d.ts +1 -12
  786. package/dist/format/lib/puck/blocks/general/Timeline/meta.js +1 -2
  787. package/dist/format/lib/puck/blocks/general/TimelineTrack/meta.d.ts +1 -10
  788. package/dist/format/lib/puck/blocks/general/TimelineTrack/meta.js +1 -1
  789. package/dist/format/lib/puck/blocks/general/TitleWithButtons/meta.d.ts +1 -5
  790. package/dist/format/lib/puck/blocks/general/TitleWithButtons/meta.js +1 -2
  791. package/dist/format/lib/puck/blocks/general/metas.d.ts +1 -62
  792. package/dist/format/lib/puck/blocks/general/metas.js +1 -1
  793. package/dist/format/lib/puck/blocks/general/section-bg-built-in.d.ts +1 -6
  794. package/dist/format/lib/puck/blocks/general/section-bg-built-in.js +1 -1
  795. package/dist/format/lib/puck/blocks/placeholders.d.ts +1 -25
  796. package/dist/format/lib/puck/blocks/placeholders.js +1 -1
  797. package/dist/format/lib/puck/box-footer.d.ts +1 -9
  798. package/dist/format/lib/puck/box-footer.js +1 -1
  799. package/dist/format/lib/puck/cap-hero-groups.d.ts +1 -1
  800. package/dist/format/lib/puck/cap-hero-groups.js +1 -1
  801. package/dist/format/lib/puck/card-template-layers.d.ts +1 -0
  802. package/dist/format/lib/puck/card-template-layers.js +1 -0
  803. package/dist/format/lib/puck/container-blocks.d.ts +1 -10
  804. package/dist/format/lib/puck/container-blocks.js +1 -1
  805. package/dist/format/lib/puck/editor-page-context.d.ts +1 -7
  806. package/dist/format/lib/puck/editor-page-context.js +1 -1
  807. package/dist/format/lib/puck/field-noun.d.ts +1 -3
  808. package/dist/format/lib/puck/field-noun.js +1 -1
  809. package/dist/format/lib/puck/footer-block-row-name.d.ts +1 -4
  810. package/dist/format/lib/puck/footer-block-row-name.js +1 -1
  811. package/dist/format/lib/puck/general-order.d.ts +1 -3
  812. package/dist/format/lib/puck/general-order.js +1 -1
  813. package/dist/format/lib/puck/home-page.d.ts +1 -1
  814. package/dist/format/lib/puck/home-page.js +1 -1
  815. package/dist/format/lib/puck/left-view.d.ts +1 -5
  816. package/dist/format/lib/puck/left-view.js +1 -1
  817. package/dist/format/lib/puck/locations-tree.d.ts +1 -23
  818. package/dist/format/lib/puck/locations-tree.js +1 -2
  819. package/dist/format/lib/puck/media-drop.d.ts +1 -3
  820. package/dist/format/lib/puck/media-drop.js +1 -1
  821. package/dist/format/lib/puck/mockup-variant-fields.d.ts +1 -10
  822. package/dist/format/lib/puck/mockup-variant-fields.js +1 -1
  823. package/dist/format/lib/puck/nestable-content-sections.d.ts +1 -0
  824. package/dist/format/lib/puck/nestable-content-sections.js +1 -0
  825. package/dist/format/lib/puck/neutralization-contracts.d.ts +1 -43
  826. package/dist/format/lib/puck/neutralization-contracts.js +1 -1
  827. package/dist/format/lib/puck/new-site-header-seed.d.ts +1 -17
  828. package/dist/format/lib/puck/new-site-header-seed.js +1 -1
  829. package/dist/format/lib/puck/one-h1.d.ts +1 -3
  830. package/dist/format/lib/puck/one-h1.js +1 -1
  831. package/dist/format/lib/puck/overlay-portal.d.ts +1 -2
  832. package/dist/format/lib/puck/overlay-portal.js +1 -1
  833. package/dist/format/lib/puck/own-box.d.ts +1 -2
  834. package/dist/format/lib/puck/own-box.js +1 -1
  835. package/dist/format/lib/puck/panel-bands.d.ts +1 -14
  836. package/dist/format/lib/puck/panel-bands.js +1 -1
  837. package/dist/format/lib/puck/part-inks.d.ts +1 -11
  838. package/dist/format/lib/puck/part-inks.js +1 -1
  839. package/dist/format/lib/puck/part-key.d.ts +1 -9
  840. package/dist/format/lib/puck/part-key.js +1 -1
  841. package/dist/format/lib/puck/passes/catalogue-labels.d.ts +1 -2
  842. package/dist/format/lib/puck/passes/catalogue-labels.js +1 -1
  843. package/dist/format/lib/puck/passes/document-position.d.ts +1 -16
  844. package/dist/format/lib/puck/passes/document-position.js +1 -1
  845. package/dist/format/lib/puck/passes/empty-headings.d.ts +1 -2
  846. package/dist/format/lib/puck/passes/empty-headings.js +1 -1
  847. package/dist/format/lib/puck/passes/hidden-nodes.d.ts +1 -2
  848. package/dist/format/lib/puck/passes/hidden-nodes.js +1 -1
  849. package/dist/format/lib/puck/passes/media-values.d.ts +1 -3
  850. package/dist/format/lib/puck/passes/media-values.js +1 -1
  851. package/dist/format/lib/puck/passes/registry-context.d.ts +1 -2
  852. package/dist/format/lib/puck/passes/registry-context.js +1 -1
  853. package/dist/format/lib/puck/passes/settings-groups.d.ts +1 -3
  854. package/dist/format/lib/puck/passes/settings-groups.js +1 -1
  855. package/dist/format/lib/puck/passes/show-when-rows.d.ts +1 -4
  856. package/dist/format/lib/puck/passes/show-when-rows.js +1 -1
  857. package/dist/format/lib/puck/passes/slot-rules.d.ts +1 -4
  858. package/dist/format/lib/puck/passes/slot-rules.js +1 -1
  859. package/dist/format/lib/puck/passes/types.d.ts +1 -71
  860. package/dist/format/lib/puck/passes/types.js +1 -0
  861. package/dist/format/lib/puck/phone-override.d.ts +1 -4
  862. package/dist/format/lib/puck/phone-override.js +1 -1
  863. package/dist/format/lib/puck/pinned-seed-gate.d.ts +1 -6
  864. package/dist/format/lib/puck/pinned-seed-gate.js +1 -1
  865. package/dist/format/lib/puck/renamed-props.d.ts +1 -2
  866. package/dist/format/lib/puck/renamed-props.js +1 -1
  867. package/dist/format/lib/puck/section-catalog.d.ts +1 -36
  868. package/dist/format/lib/puck/section-catalog.js +1 -7
  869. package/dist/format/lib/puck/section-descriptions.d.ts +1 -1
  870. package/dist/format/lib/puck/section-descriptions.js +1 -1
  871. package/dist/format/lib/puck/section-groups.d.ts +1 -30
  872. package/dist/format/lib/puck/section-groups.js +1 -1
  873. package/dist/format/lib/puck/show-when-attach.d.ts +1 -12
  874. package/dist/format/lib/puck/show-when-attach.js +1 -1
  875. package/dist/format/lib/puck/site-gap-fields.d.ts +1 -2
  876. package/dist/format/lib/puck/site-gap-fields.js +1 -1
  877. package/dist/format/lib/puck/snapshot-contracts.d.ts +1 -4
  878. package/dist/format/lib/puck/snapshot-contracts.js +1 -1
  879. package/dist/format/lib/puck/source-bound-parts.d.ts +1 -14
  880. package/dist/format/lib/puck/source-bound-parts.js +1 -1
  881. package/dist/format/lib/puck/source-row-name.d.ts +1 -2
  882. package/dist/format/lib/puck/source-row-name.js +1 -1
  883. package/dist/format/lib/puck/templateFields.d.ts +1 -2
  884. package/dist/format/lib/puck/templateFields.js +1 -1
  885. package/dist/format/lib/puck/text-seeds.d.ts +1 -2
  886. package/dist/format/lib/puck/text-seeds.js +1 -1
  887. package/dist/format/lib/reel.d.ts +0 -1
  888. package/dist/format/lib/reel.js +1 -1
  889. package/dist/format/lib/sections/section-head-placement.js +1 -1
  890. package/dist/format/lib/sections/section-head-style.js +1 -1
  891. package/dist/format/lib/sections/section-presets.js +1 -1
  892. package/dist/format/lib/sections/section-text-kinds.d.ts +0 -1
  893. package/dist/format/lib/sections/section-text-kinds.js +1 -1
  894. package/dist/format/lib/sections/spec-table-regions.d.ts +0 -1
  895. package/dist/format/lib/sections/spec-table-regions.js +1 -1
  896. package/dist/format/lib/source-rules/document-surfaces.d.ts +16 -0
  897. package/dist/format/lib/source-rules/document-surfaces.js +8 -0
  898. package/dist/format/lib/source-rules/editor-drag-off.d.ts +8 -0
  899. package/dist/format/lib/source-rules/editor-drag-off.js +4 -0
  900. package/dist/format/lib/source-rules/editor-puck-drag-off.d.ts +2 -8
  901. package/dist/format/lib/source-rules/editor-puck-drag-off.js +1 -4
  902. package/dist/format/lib/source-rules/label-hints.js +4 -4
  903. package/dist/format/lib/source-rules/label-vocabulary.js +4 -4
  904. package/dist/format/lib/source-rules/mirrored-rows-agree.js +6 -6
  905. package/dist/format/lib/source-rules/no-glyph-rows.d.ts +1 -1
  906. package/dist/format/lib/source-rules/no-glyph-rows.js +4 -4
  907. package/dist/format/lib/source-rules/one-show-when.js +3 -3
  908. package/dist/format/lib/source-rules/panel-rows-use-the-shared-row.d.ts +1 -1
  909. package/dist/format/lib/source-rules/panel-rows-use-the-shared-row.js +15 -15
  910. package/dist/format/lib/source-rules/puck-document-surfaces.d.ts +2 -16
  911. package/dist/format/lib/source-rules/puck-document-surfaces.js +1 -8
  912. package/dist/format/lib/source-rules/support/document-folder.d.ts +4 -0
  913. package/dist/format/lib/source-rules/support/document-folder.js +1 -0
  914. package/dist/format/lib/source-rules/support/registry-source.d.ts +4 -3
  915. package/dist/format/lib/source-rules/support/registry-source.js +3 -3
  916. package/dist/format/lib/theme.d.ts +0 -3
  917. package/dist/format/lib/theme.js +2 -2
  918. package/dist/render/components/CardRowContext.d.ts +25 -0
  919. package/dist/render/components/CardRowContext.js +1 -0
  920. package/dist/render/components/CategoryBar.js +1 -1
  921. package/dist/render/components/ContactLocations.js +1 -1
  922. package/dist/render/components/Countdown.js +1 -1
  923. package/dist/render/components/DocTabs.js +1 -1
  924. package/dist/render/components/FAQ.d.ts +1 -1
  925. package/dist/render/components/FAQ.js +1 -1
  926. package/dist/render/components/Heading.js +1 -1
  927. package/dist/render/components/HeroSection.js +2 -2
  928. package/dist/render/components/HeroSingle.js +2 -2
  929. package/dist/render/components/IntroBleed.js +1 -1
  930. package/dist/render/components/OrderSummary.d.ts +3 -1
  931. package/dist/render/components/OrderSummary.js +1 -1
  932. package/dist/render/components/PartStyledKind.js +1 -1
  933. package/dist/render/components/PartStyledText.js +1 -1
  934. package/dist/render/components/PublishedPartStylesContext.d.ts +2 -2
  935. package/dist/render/components/PublishedPartStylesContext.js +1 -1
  936. package/dist/render/components/SectionHeader.js +1 -1
  937. package/dist/render/components/Text.js +1 -1
  938. package/dist/render/components/goldPhrases.js +1 -1
  939. package/dist/render/lib/document/blocks/general/Banner/render.d.ts +2 -0
  940. package/dist/render/lib/document/blocks/general/Banner/render.js +1 -0
  941. package/dist/render/lib/document/blocks/general/Breadcrumb/render.d.ts +2 -0
  942. package/dist/render/lib/document/blocks/general/Breadcrumb/render.js +1 -0
  943. package/dist/render/lib/document/blocks/general/ButtonBlock/render.d.ts +2 -0
  944. package/dist/render/lib/document/blocks/general/ButtonBlock/render.js +1 -0
  945. package/dist/render/lib/document/blocks/general/Cards/render.d.ts +2 -0
  946. package/dist/render/lib/document/blocks/general/Cards/render.js +1 -0
  947. package/dist/render/lib/document/blocks/general/CategoryBar/render.d.ts +2 -0
  948. package/dist/render/lib/document/blocks/general/CategoryBar/render.js +1 -0
  949. package/dist/render/lib/document/blocks/general/Chart/render.d.ts +2 -0
  950. package/dist/render/lib/document/blocks/general/Chart/render.js +1 -0
  951. package/dist/render/lib/document/blocks/general/ContactLocations/render.d.ts +2 -0
  952. package/dist/render/lib/document/blocks/general/ContactLocations/render.js +1 -0
  953. package/dist/render/lib/document/blocks/general/Countdown/render.d.ts +2 -0
  954. package/dist/render/lib/document/blocks/general/Countdown/render.js +1 -0
  955. package/dist/render/lib/document/blocks/general/CustomHTML/render.d.ts +2 -0
  956. package/dist/render/lib/document/blocks/general/CustomHTML/render.js +1 -0
  957. package/dist/render/lib/document/blocks/general/Divider/render.d.ts +2 -0
  958. package/dist/render/lib/document/blocks/general/Divider/render.js +1 -0
  959. package/dist/render/lib/document/blocks/general/DocBody/render.d.ts +2 -0
  960. package/dist/render/lib/document/blocks/general/DocBody/render.js +1 -0
  961. package/dist/render/lib/document/blocks/general/DocMasthead/render.d.ts +2 -0
  962. package/dist/render/lib/document/blocks/general/DocMasthead/render.js +1 -0
  963. package/dist/render/lib/document/blocks/general/DocMetaCards/render.d.ts +2 -0
  964. package/dist/render/lib/document/blocks/general/DocMetaCards/render.js +1 -0
  965. package/dist/render/lib/document/blocks/general/DocTabs/render.d.ts +2 -0
  966. package/dist/render/lib/document/blocks/general/DocTabs/render.js +1 -0
  967. package/dist/render/lib/document/blocks/general/Eyebrow/render.d.ts +2 -0
  968. package/dist/render/lib/document/blocks/general/Eyebrow/render.js +1 -0
  969. package/dist/render/lib/document/blocks/general/FAQ/render.d.ts +2 -0
  970. package/dist/render/lib/document/blocks/general/FAQ/render.js +1 -0
  971. package/dist/render/lib/document/blocks/general/FeaturedCover/render.d.ts +2 -0
  972. package/dist/render/lib/document/blocks/general/FeaturedCover/render.js +1 -0
  973. package/dist/render/lib/document/blocks/general/Flex/render.d.ts +2 -0
  974. package/dist/render/lib/document/blocks/general/Flex/render.js +1 -0
  975. package/dist/render/lib/document/blocks/general/Footprint/render.d.ts +2 -0
  976. package/dist/render/lib/document/blocks/general/Footprint/render.js +1 -0
  977. package/dist/render/lib/document/blocks/general/Grid/render.d.ts +2 -0
  978. package/dist/render/lib/document/blocks/general/Grid/render.js +1 -0
  979. package/dist/render/lib/document/blocks/general/Heading/render.d.ts +2 -0
  980. package/dist/render/lib/document/blocks/general/Heading/render.js +1 -0
  981. package/dist/render/lib/document/blocks/general/Hero/render.d.ts +2 -0
  982. package/dist/render/lib/document/blocks/general/Hero/render.js +1 -0
  983. package/dist/render/lib/document/blocks/general/HeroGroup/render.d.ts +2 -0
  984. package/dist/render/lib/document/blocks/general/HeroGroup/render.js +1 -0
  985. package/dist/render/lib/document/blocks/general/HeroSingle/render.d.ts +2 -0
  986. package/dist/render/lib/document/blocks/general/HeroSingle/render.js +1 -0
  987. package/dist/render/lib/document/blocks/general/HeroSlide/render.d.ts +2 -0
  988. package/dist/render/lib/document/blocks/general/HeroSlide/render.js +1 -0
  989. package/dist/render/lib/document/blocks/general/ImageBlock/render.d.ts +2 -0
  990. package/dist/render/lib/document/blocks/general/ImageBlock/render.js +1 -0
  991. package/dist/render/lib/document/blocks/general/Integrations/render.d.ts +2 -0
  992. package/dist/render/lib/document/blocks/general/Integrations/render.js +2 -0
  993. package/dist/render/lib/document/blocks/general/IntroBleed/render.d.ts +2 -0
  994. package/dist/render/lib/document/blocks/general/IntroBleed/render.js +1 -0
  995. package/dist/render/lib/document/blocks/general/KeyFeatures/render.d.ts +2 -0
  996. package/dist/render/lib/document/blocks/general/KeyFeatures/render.js +1 -0
  997. package/dist/render/lib/document/blocks/general/LogoBlock/render.d.ts +2 -0
  998. package/dist/render/lib/document/blocks/general/LogoBlock/render.js +1 -0
  999. package/dist/render/lib/document/blocks/general/Logos/render.d.ts +2 -0
  1000. package/dist/render/lib/document/blocks/general/Logos/render.js +1 -0
  1001. package/dist/render/lib/document/blocks/general/LongRead/render.d.ts +2 -0
  1002. package/dist/render/lib/document/blocks/general/LongRead/render.js +1 -0
  1003. package/dist/render/lib/document/blocks/general/Manifesto/render.d.ts +2 -0
  1004. package/dist/render/lib/document/blocks/general/Manifesto/render.js +1 -0
  1005. package/dist/render/lib/document/blocks/general/Masthead/render.d.ts +2 -0
  1006. package/dist/render/lib/document/blocks/general/Masthead/render.js +1 -0
  1007. package/dist/render/lib/document/blocks/general/Mockup/render.d.ts +2 -0
  1008. package/dist/render/lib/document/blocks/general/Mockup/render.js +2 -0
  1009. package/dist/render/lib/document/blocks/general/OrderSummary/render.d.ts +2 -0
  1010. package/dist/render/lib/document/blocks/general/OrderSummary/render.js +1 -0
  1011. package/dist/render/lib/document/blocks/general/ParagraphsA/render.d.ts +2 -0
  1012. package/dist/render/lib/document/blocks/general/ParagraphsA/render.js +1 -0
  1013. package/dist/render/lib/document/blocks/general/PaymentBadges/render.d.ts +2 -0
  1014. package/dist/render/lib/document/blocks/general/PaymentBadges/render.js +1 -0
  1015. package/dist/render/lib/document/blocks/general/PostCard/render.d.ts +2 -0
  1016. package/dist/render/lib/document/blocks/general/PostCard/render.js +1 -0
  1017. package/dist/render/lib/document/blocks/general/ProcessSteps/render.d.ts +2 -0
  1018. package/dist/render/lib/document/blocks/general/ProcessSteps/render.js +1 -0
  1019. package/dist/render/lib/document/blocks/general/Prose/render.d.ts +2 -0
  1020. package/dist/render/lib/document/blocks/general/Prose/render.js +1 -0
  1021. package/dist/render/lib/document/blocks/general/SectionHeader/render.d.ts +2 -0
  1022. package/dist/render/lib/document/blocks/general/SectionHeader/render.js +1 -0
  1023. package/dist/render/lib/document/blocks/general/Series/render.d.ts +2 -0
  1024. package/dist/render/lib/document/blocks/general/Series/render.js +1 -0
  1025. package/dist/render/lib/document/blocks/general/Spacer/render.d.ts +2 -0
  1026. package/dist/render/lib/document/blocks/general/Spacer/render.js +1 -0
  1027. package/dist/render/lib/document/blocks/general/SpecStrip/render.d.ts +2 -0
  1028. package/dist/render/lib/document/blocks/general/SpecStrip/render.js +1 -0
  1029. package/dist/render/lib/document/blocks/general/Split/render.d.ts +2 -0
  1030. package/dist/render/lib/document/blocks/general/Split/render.js +1 -0
  1031. package/dist/render/lib/document/blocks/general/Stats/render.d.ts +2 -0
  1032. package/dist/render/lib/document/blocks/general/Stats/render.js +1 -0
  1033. package/dist/render/lib/document/blocks/general/StatsParagraph/render.d.ts +2 -0
  1034. package/dist/render/lib/document/blocks/general/StatsParagraph/render.js +1 -0
  1035. package/dist/render/lib/document/blocks/general/Testimonials/render.d.ts +2 -0
  1036. package/dist/render/lib/document/blocks/general/Testimonials/render.js +1 -0
  1037. package/dist/render/lib/document/blocks/general/Text/render.d.ts +2 -0
  1038. package/dist/render/lib/document/blocks/general/Text/render.js +1 -0
  1039. package/dist/render/lib/document/blocks/general/Ticker/render.d.ts +2 -0
  1040. package/dist/render/lib/document/blocks/general/Ticker/render.js +1 -0
  1041. package/dist/render/lib/document/blocks/general/Timeline/render.d.ts +2 -0
  1042. package/dist/render/lib/document/blocks/general/Timeline/render.js +1 -0
  1043. package/dist/render/lib/document/blocks/general/TimelineTrack/render.d.ts +2 -0
  1044. package/dist/render/lib/document/blocks/general/TimelineTrack/render.js +1 -0
  1045. package/dist/render/lib/document/blocks/general/TitleWithButtons/render.d.ts +2 -0
  1046. package/dist/render/lib/document/blocks/general/TitleWithButtons/render.js +1 -0
  1047. package/dist/render/lib/document/blocks/general/render-config.d.ts +8 -0
  1048. package/dist/render/lib/document/blocks/general/render-config.js +1 -0
  1049. package/dist/render/lib/document/blocks/general/renders.d.ts +58 -0
  1050. package/dist/render/lib/document/blocks/general/renders.js +1 -0
  1051. package/dist/render/lib/document/blocks/general/section-to-box-row-parts.d.ts +26 -0
  1052. package/dist/render/lib/document/blocks/general/section-to-box-row-parts.js +1 -0
  1053. package/dist/render/lib/document/blocks/general/section-to-box-rows.d.ts +7 -0
  1054. package/dist/render/lib/document/blocks/general/section-to-box-rows.js +1 -0
  1055. package/dist/render/lib/document/blocks/scaffold.d.ts +23 -0
  1056. package/dist/render/lib/document/blocks/scaffold.js +1 -0
  1057. package/dist/render/lib/document/booking-preview.d.ts +3 -0
  1058. package/dist/render/lib/document/booking-preview.js +1 -0
  1059. package/dist/render/lib/document/editing-bridges.d.ts +11 -0
  1060. package/dist/render/lib/document/editing-bridges.js +1 -0
  1061. package/dist/render/lib/document/header-clearance.d.ts +49 -0
  1062. package/dist/render/lib/document/header-clearance.js +1 -0
  1063. package/dist/render/lib/document/header-ink.d.ts +15 -0
  1064. package/dist/render/lib/document/header-ink.js +1 -0
  1065. package/dist/render/lib/document/hero-media-parts.d.ts +42 -0
  1066. package/dist/render/lib/document/hero-media-parts.js +1 -0
  1067. package/dist/render/lib/document/migrate-legacy.d.ts +2 -0
  1068. package/dist/render/lib/document/migrate-legacy.js +1 -0
  1069. package/dist/render/lib/document/page-frame.d.ts +34 -0
  1070. package/dist/render/lib/document/page-frame.js +1 -0
  1071. package/dist/render/lib/document/page-render.d.ts +6 -0
  1072. package/dist/render/lib/document/page-render.js +1 -0
  1073. package/dist/render/lib/document/part-rows.d.ts +15 -0
  1074. package/dist/render/lib/document/part-rows.js +1 -0
  1075. package/dist/render/lib/document/part-styles.d.ts +153 -0
  1076. package/dist/render/lib/document/part-styles.js +2 -0
  1077. package/dist/render/lib/document/part-text.d.ts +11 -0
  1078. package/dist/render/lib/document/part-text.js +1 -0
  1079. package/dist/render/lib/document/passes/borders.d.ts +2 -0
  1080. package/dist/render/lib/document/passes/borders.js +1 -0
  1081. package/dist/render/lib/document/passes/cell-width.d.ts +4 -0
  1082. package/dist/render/lib/document/passes/cell-width.js +1 -0
  1083. package/dist/render/lib/document/passes/clickable-parts.d.ts +2 -0
  1084. package/dist/render/lib/document/passes/clickable-parts.js +1 -0
  1085. package/dist/render/lib/document/passes/corners.d.ts +4 -0
  1086. package/dist/render/lib/document/passes/corners.js +1 -0
  1087. package/dist/render/lib/document/passes/index.d.ts +5 -0
  1088. package/dist/render/lib/document/passes/index.js +1 -0
  1089. package/dist/render/lib/document/passes/section-anchor.d.ts +2 -0
  1090. package/dist/render/lib/document/passes/section-anchor.js +1 -0
  1091. package/dist/render/lib/document/passes/section-animation.d.ts +2 -0
  1092. package/dist/render/lib/document/passes/section-animation.js +1 -0
  1093. package/dist/render/lib/document/passes/section-height.d.ts +2 -0
  1094. package/dist/render/lib/document/passes/section-height.js +1 -0
  1095. package/dist/render/lib/document/passes/section-padding.d.ts +9 -0
  1096. package/dist/render/lib/document/passes/section-padding.js +1 -0
  1097. package/dist/render/lib/document/passes/section-sticky.d.ts +3 -0
  1098. package/dist/render/lib/document/passes/section-sticky.js +1 -0
  1099. package/dist/render/lib/document/passes/section-theme.d.ts +3 -0
  1100. package/dist/render/lib/document/passes/section-theme.js +1 -0
  1101. package/dist/render/lib/document/passes/section-width.d.ts +18 -0
  1102. package/dist/render/lib/document/passes/section-width.js +1 -0
  1103. package/dist/render/lib/document/render-registry.d.ts +3 -0
  1104. package/dist/render/lib/document/render-registry.js +1 -0
  1105. package/dist/render/lib/document/sanitize.d.ts +1 -0
  1106. package/dist/render/lib/document/sanitize.js +1 -0
  1107. package/dist/render/lib/document/selection-parent.d.ts +12 -0
  1108. package/dist/render/lib/document/selection-parent.js +1 -0
  1109. package/dist/render/lib/document/show-when.d.ts +19 -0
  1110. package/dist/render/lib/document/show-when.js +1 -0
  1111. package/dist/render/lib/document/slot-specs.d.ts +8 -0
  1112. package/dist/render/lib/document/slot-specs.js +1 -0
  1113. package/dist/render/lib/document/text-parts.d.ts +42 -0
  1114. package/dist/render/lib/document/text-parts.js +1 -0
  1115. package/dist/render/lib/media.d.ts +0 -1
  1116. package/dist/render/lib/media.js +1 -1
  1117. package/dist/render/lib/puck/blocks/general/Banner/render.d.ts +1 -2
  1118. package/dist/render/lib/puck/blocks/general/Banner/render.js +1 -1
  1119. package/dist/render/lib/puck/blocks/general/Breadcrumb/render.d.ts +1 -2
  1120. package/dist/render/lib/puck/blocks/general/Breadcrumb/render.js +1 -1
  1121. package/dist/render/lib/puck/blocks/general/ButtonBlock/render.d.ts +1 -2
  1122. package/dist/render/lib/puck/blocks/general/ButtonBlock/render.js +1 -1
  1123. package/dist/render/lib/puck/blocks/general/Cards/render.d.ts +1 -2
  1124. package/dist/render/lib/puck/blocks/general/Cards/render.js +1 -1
  1125. package/dist/render/lib/puck/blocks/general/CategoryBar/render.d.ts +1 -2
  1126. package/dist/render/lib/puck/blocks/general/CategoryBar/render.js +1 -1
  1127. package/dist/render/lib/puck/blocks/general/Chart/render.d.ts +1 -2
  1128. package/dist/render/lib/puck/blocks/general/Chart/render.js +1 -1
  1129. package/dist/render/lib/puck/blocks/general/ContactLocations/render.d.ts +1 -2
  1130. package/dist/render/lib/puck/blocks/general/ContactLocations/render.js +1 -1
  1131. package/dist/render/lib/puck/blocks/general/Countdown/render.d.ts +1 -2
  1132. package/dist/render/lib/puck/blocks/general/Countdown/render.js +1 -1
  1133. package/dist/render/lib/puck/blocks/general/CustomHTML/render.d.ts +1 -2
  1134. package/dist/render/lib/puck/blocks/general/CustomHTML/render.js +1 -1
  1135. package/dist/render/lib/puck/blocks/general/Divider/render.d.ts +1 -2
  1136. package/dist/render/lib/puck/blocks/general/Divider/render.js +1 -1
  1137. package/dist/render/lib/puck/blocks/general/DocBody/render.d.ts +1 -2
  1138. package/dist/render/lib/puck/blocks/general/DocBody/render.js +1 -1
  1139. package/dist/render/lib/puck/blocks/general/DocMasthead/render.d.ts +1 -2
  1140. package/dist/render/lib/puck/blocks/general/DocMasthead/render.js +1 -1
  1141. package/dist/render/lib/puck/blocks/general/DocMetaCards/render.d.ts +1 -2
  1142. package/dist/render/lib/puck/blocks/general/DocMetaCards/render.js +1 -1
  1143. package/dist/render/lib/puck/blocks/general/DocTabs/render.d.ts +1 -2
  1144. package/dist/render/lib/puck/blocks/general/DocTabs/render.js +1 -1
  1145. package/dist/render/lib/puck/blocks/general/Eyebrow/render.d.ts +1 -2
  1146. package/dist/render/lib/puck/blocks/general/Eyebrow/render.js +1 -1
  1147. package/dist/render/lib/puck/blocks/general/FAQ/render.d.ts +1 -2
  1148. package/dist/render/lib/puck/blocks/general/FAQ/render.js +1 -1
  1149. package/dist/render/lib/puck/blocks/general/FeaturedCover/render.d.ts +1 -2
  1150. package/dist/render/lib/puck/blocks/general/FeaturedCover/render.js +1 -1
  1151. package/dist/render/lib/puck/blocks/general/Flex/render.d.ts +1 -2
  1152. package/dist/render/lib/puck/blocks/general/Flex/render.js +1 -1
  1153. package/dist/render/lib/puck/blocks/general/Footprint/render.d.ts +1 -2
  1154. package/dist/render/lib/puck/blocks/general/Footprint/render.js +1 -1
  1155. package/dist/render/lib/puck/blocks/general/Grid/render.d.ts +1 -2
  1156. package/dist/render/lib/puck/blocks/general/Grid/render.js +1 -1
  1157. package/dist/render/lib/puck/blocks/general/Heading/render.d.ts +1 -2
  1158. package/dist/render/lib/puck/blocks/general/Heading/render.js +1 -1
  1159. package/dist/render/lib/puck/blocks/general/Hero/render.d.ts +1 -2
  1160. package/dist/render/lib/puck/blocks/general/Hero/render.js +1 -1
  1161. package/dist/render/lib/puck/blocks/general/HeroGroup/render.d.ts +1 -2
  1162. package/dist/render/lib/puck/blocks/general/HeroGroup/render.js +1 -1
  1163. package/dist/render/lib/puck/blocks/general/HeroSingle/render.d.ts +1 -2
  1164. package/dist/render/lib/puck/blocks/general/HeroSingle/render.js +1 -1
  1165. package/dist/render/lib/puck/blocks/general/HeroSlide/render.d.ts +1 -2
  1166. package/dist/render/lib/puck/blocks/general/HeroSlide/render.js +1 -1
  1167. package/dist/render/lib/puck/blocks/general/ImageBlock/render.d.ts +1 -2
  1168. package/dist/render/lib/puck/blocks/general/ImageBlock/render.js +1 -1
  1169. package/dist/render/lib/puck/blocks/general/Integrations/render.d.ts +1 -2
  1170. package/dist/render/lib/puck/blocks/general/Integrations/render.js +1 -2
  1171. package/dist/render/lib/puck/blocks/general/IntroBleed/render.d.ts +1 -2
  1172. package/dist/render/lib/puck/blocks/general/IntroBleed/render.js +1 -1
  1173. package/dist/render/lib/puck/blocks/general/KeyFeatures/render.d.ts +1 -2
  1174. package/dist/render/lib/puck/blocks/general/KeyFeatures/render.js +1 -1
  1175. package/dist/render/lib/puck/blocks/general/LogoBlock/render.d.ts +1 -2
  1176. package/dist/render/lib/puck/blocks/general/LogoBlock/render.js +1 -1
  1177. package/dist/render/lib/puck/blocks/general/Logos/render.d.ts +1 -2
  1178. package/dist/render/lib/puck/blocks/general/Logos/render.js +1 -1
  1179. package/dist/render/lib/puck/blocks/general/LongRead/render.d.ts +1 -2
  1180. package/dist/render/lib/puck/blocks/general/LongRead/render.js +1 -1
  1181. package/dist/render/lib/puck/blocks/general/Manifesto/render.d.ts +1 -2
  1182. package/dist/render/lib/puck/blocks/general/Manifesto/render.js +1 -1
  1183. package/dist/render/lib/puck/blocks/general/Masthead/render.d.ts +1 -2
  1184. package/dist/render/lib/puck/blocks/general/Masthead/render.js +1 -1
  1185. package/dist/render/lib/puck/blocks/general/Mockup/render.d.ts +1 -2
  1186. package/dist/render/lib/puck/blocks/general/Mockup/render.js +1 -2
  1187. package/dist/render/lib/puck/blocks/general/OrderSummary/render.d.ts +1 -2
  1188. package/dist/render/lib/puck/blocks/general/OrderSummary/render.js +1 -1
  1189. package/dist/render/lib/puck/blocks/general/ParagraphsA/render.d.ts +1 -2
  1190. package/dist/render/lib/puck/blocks/general/ParagraphsA/render.js +1 -1
  1191. package/dist/render/lib/puck/blocks/general/PaymentBadges/render.d.ts +1 -2
  1192. package/dist/render/lib/puck/blocks/general/PaymentBadges/render.js +1 -1
  1193. package/dist/render/lib/puck/blocks/general/PostCard/render.d.ts +1 -2
  1194. package/dist/render/lib/puck/blocks/general/PostCard/render.js +1 -1
  1195. package/dist/render/lib/puck/blocks/general/ProcessSteps/render.d.ts +1 -2
  1196. package/dist/render/lib/puck/blocks/general/ProcessSteps/render.js +1 -1
  1197. package/dist/render/lib/puck/blocks/general/Prose/render.d.ts +1 -2
  1198. package/dist/render/lib/puck/blocks/general/Prose/render.js +1 -1
  1199. package/dist/render/lib/puck/blocks/general/SectionHeader/render.d.ts +1 -2
  1200. package/dist/render/lib/puck/blocks/general/SectionHeader/render.js +1 -1
  1201. package/dist/render/lib/puck/blocks/general/Series/render.d.ts +1 -2
  1202. package/dist/render/lib/puck/blocks/general/Series/render.js +1 -1
  1203. package/dist/render/lib/puck/blocks/general/Spacer/render.d.ts +1 -2
  1204. package/dist/render/lib/puck/blocks/general/Spacer/render.js +1 -1
  1205. package/dist/render/lib/puck/blocks/general/SpecStrip/render.d.ts +1 -2
  1206. package/dist/render/lib/puck/blocks/general/SpecStrip/render.js +1 -1
  1207. package/dist/render/lib/puck/blocks/general/Split/render.d.ts +1 -2
  1208. package/dist/render/lib/puck/blocks/general/Split/render.js +1 -1
  1209. package/dist/render/lib/puck/blocks/general/Stats/render.d.ts +1 -2
  1210. package/dist/render/lib/puck/blocks/general/Stats/render.js +1 -1
  1211. package/dist/render/lib/puck/blocks/general/StatsParagraph/render.d.ts +1 -2
  1212. package/dist/render/lib/puck/blocks/general/StatsParagraph/render.js +1 -1
  1213. package/dist/render/lib/puck/blocks/general/Testimonials/render.d.ts +1 -2
  1214. package/dist/render/lib/puck/blocks/general/Testimonials/render.js +1 -1
  1215. package/dist/render/lib/puck/blocks/general/Text/render.d.ts +1 -2
  1216. package/dist/render/lib/puck/blocks/general/Text/render.js +1 -1
  1217. package/dist/render/lib/puck/blocks/general/Ticker/render.d.ts +1 -2
  1218. package/dist/render/lib/puck/blocks/general/Ticker/render.js +1 -1
  1219. package/dist/render/lib/puck/blocks/general/Timeline/render.d.ts +1 -2
  1220. package/dist/render/lib/puck/blocks/general/Timeline/render.js +1 -1
  1221. package/dist/render/lib/puck/blocks/general/TimelineTrack/render.d.ts +1 -2
  1222. package/dist/render/lib/puck/blocks/general/TimelineTrack/render.js +1 -1
  1223. package/dist/render/lib/puck/blocks/general/TitleWithButtons/render.d.ts +1 -2
  1224. package/dist/render/lib/puck/blocks/general/TitleWithButtons/render.js +1 -1
  1225. package/dist/render/lib/puck/blocks/general/render-config.d.ts +1 -8
  1226. package/dist/render/lib/puck/blocks/general/render-config.js +1 -1
  1227. package/dist/render/lib/puck/blocks/general/renders.d.ts +1 -58
  1228. package/dist/render/lib/puck/blocks/general/renders.js +1 -1
  1229. package/dist/render/lib/puck/blocks/general/section-to-box-row-parts.d.ts +1 -0
  1230. package/dist/render/lib/puck/blocks/general/section-to-box-row-parts.js +1 -0
  1231. package/dist/render/lib/puck/blocks/general/section-to-box-rows.d.ts +1 -0
  1232. package/dist/render/lib/puck/blocks/general/section-to-box-rows.js +1 -0
  1233. package/dist/render/lib/puck/blocks/scaffold.d.ts +1 -23
  1234. package/dist/render/lib/puck/blocks/scaffold.js +1 -1
  1235. package/dist/render/lib/puck/booking-preview.d.ts +1 -3
  1236. package/dist/render/lib/puck/booking-preview.js +1 -1
  1237. package/dist/render/lib/puck/editing-bridges.d.ts +1 -11
  1238. package/dist/render/lib/puck/editing-bridges.js +1 -1
  1239. package/dist/render/lib/puck/header-clearance.d.ts +1 -49
  1240. package/dist/render/lib/puck/header-clearance.js +1 -1
  1241. package/dist/render/lib/puck/header-ink.d.ts +1 -16
  1242. package/dist/render/lib/puck/header-ink.js +1 -1
  1243. package/dist/render/lib/puck/hero-media-parts.d.ts +1 -42
  1244. package/dist/render/lib/puck/hero-media-parts.js +1 -1
  1245. package/dist/render/lib/puck/migrate-legacy.d.ts +1 -2
  1246. package/dist/render/lib/puck/migrate-legacy.js +1 -1
  1247. package/dist/render/lib/puck/page-frame.d.ts +1 -34
  1248. package/dist/render/lib/puck/page-frame.js +1 -1
  1249. package/dist/render/lib/puck/page-render.d.ts +2 -6
  1250. package/dist/render/lib/puck/page-render.js +1 -1
  1251. package/dist/render/lib/puck/part-rows.d.ts +1 -15
  1252. package/dist/render/lib/puck/part-rows.js +1 -1
  1253. package/dist/render/lib/puck/part-styles.d.ts +1 -153
  1254. package/dist/render/lib/puck/part-styles.js +1 -2
  1255. package/dist/render/lib/puck/part-text.d.ts +1 -12
  1256. package/dist/render/lib/puck/part-text.js +1 -1
  1257. package/dist/render/lib/puck/passes/borders.d.ts +1 -2
  1258. package/dist/render/lib/puck/passes/borders.js +1 -1
  1259. package/dist/render/lib/puck/passes/cell-width.d.ts +1 -4
  1260. package/dist/render/lib/puck/passes/cell-width.js +1 -1
  1261. package/dist/render/lib/puck/passes/clickable-parts.d.ts +1 -2
  1262. package/dist/render/lib/puck/passes/clickable-parts.js +1 -1
  1263. package/dist/render/lib/puck/passes/corners.d.ts +1 -4
  1264. package/dist/render/lib/puck/passes/corners.js +1 -1
  1265. package/dist/render/lib/puck/passes/index.d.ts +1 -5
  1266. package/dist/render/lib/puck/passes/index.js +1 -1
  1267. package/dist/render/lib/puck/passes/section-anchor.d.ts +1 -2
  1268. package/dist/render/lib/puck/passes/section-anchor.js +1 -1
  1269. package/dist/render/lib/puck/passes/section-animation.d.ts +1 -2
  1270. package/dist/render/lib/puck/passes/section-animation.js +1 -1
  1271. package/dist/render/lib/puck/passes/section-height.d.ts +1 -2
  1272. package/dist/render/lib/puck/passes/section-height.js +1 -1
  1273. package/dist/render/lib/puck/passes/section-padding.d.ts +1 -9
  1274. package/dist/render/lib/puck/passes/section-padding.js +1 -1
  1275. package/dist/render/lib/puck/passes/section-sticky.d.ts +1 -3
  1276. package/dist/render/lib/puck/passes/section-sticky.js +1 -1
  1277. package/dist/render/lib/puck/passes/section-theme.d.ts +1 -3
  1278. package/dist/render/lib/puck/passes/section-theme.js +1 -1
  1279. package/dist/render/lib/puck/passes/section-width.d.ts +1 -18
  1280. package/dist/render/lib/puck/passes/section-width.js +1 -1
  1281. package/dist/render/lib/puck/render-registry.d.ts +1 -3
  1282. package/dist/render/lib/puck/render-registry.js +1 -1
  1283. package/dist/render/lib/puck/sanitize.d.ts +1 -1
  1284. package/dist/render/lib/puck/sanitize.js +1 -1
  1285. package/dist/render/lib/puck/selection-parent.d.ts +1 -12
  1286. package/dist/render/lib/puck/selection-parent.js +1 -1
  1287. package/dist/render/lib/puck/show-when.d.ts +1 -19
  1288. package/dist/render/lib/puck/show-when.js +1 -1
  1289. package/dist/render/lib/puck/slot-specs.d.ts +1 -8
  1290. package/dist/render/lib/puck/slot-specs.js +1 -1
  1291. package/dist/render/lib/puck/text-parts.d.ts +1 -42
  1292. package/dist/render/lib/puck/text-parts.js +1 -1
  1293. package/dist/render/lib/sections/section-to-box.d.ts +146 -0
  1294. package/dist/render/lib/sections/section-to-box.js +1 -0
  1295. package/dist/render/lib/text-styles/site-text-styles.d.ts +1 -1
  1296. package/dist/render/lib/text-styles/site-text-styles.js +1 -1
  1297. package/package.json +5 -5
@@ -1,15 +1,19 @@
1
- "use client";import{jsx as n,Fragment as h,jsxs as l}from"react/jsx-runtime";import{useEffect as a,useLayoutEffect as u}from"react";import{usePreviewHeader as $}from"../../render/components/PreviewHeaderContext.js";import{CANVAS_ACCENT as d}from"../../format/lib/canvas-accent.js";import{PART_ATTR as m,PART_SELECTED_ATTR as r}from"../../render/lib/puck/text-parts.js";import{syncPreviewSurfaces as T,syncPreviewTheme as p}from"../../format/lib/theme-dom.js";import{normalizeTheme as c}from"../../format/lib/theme.js";import{CanvasOwnStyles as x}from"../lib/editor-canvas-styles.js";import{runFitWordsIn as y}from"../../format/lib/fit-words.js";const S=`
2
- [${m}][${m}] { cursor: text; }
3
- [${r}][${r}][${r}] {
4
- outline: 1px solid ${d};
1
+ "use client";import{jsx as s,Fragment as f,jsxs as d}from"react/jsx-runtime";import{useEffect as n,useLayoutEffect as h}from"react";import{usePreviewHeader as $}from"../../render/components/PreviewHeaderContext.js";import{CANVAS_ACCENT as p}from"../../format/lib/canvas-accent.js";import{PART_ATTR as l,PART_SELECTED_ATTR as e}from"../../render/lib/document/text-parts.js";import{syncPreviewSurfaces as u,syncPreviewTheme as y}from"../../format/lib/theme-dom.js";import{normalizeTheme as T}from"../../format/lib/theme.js";import{CanvasOwnStyles as x}from"../lib/editor-canvas-styles.js";import{runFitWordsIn as S}from"../../format/lib/fit-words.js";const _=`
2
+ [${l}][${l}] { cursor: text; }
3
+ [${e}][${e}][${e}] {
4
+ outline: 1px solid ${p};
5
5
  outline-offset: 2px;
6
6
  }
7
- [${r}][${r}]:has([${r}]),
8
- [data-puck-overlay-portal][data-puck-overlay-portal]:has([${r}]) {
7
+ [${e}][${e}]:has([${e}]),
8
+ [data-easel-overlay-portal][data-easel-overlay-portal]:has([${e}]) {
9
9
  outline: none;
10
10
  }
11
- [${r}][${r}][${r}][data-es-typing],
12
- [data-es-typing] [${r}][${r}][${r}] {
11
+ [${e}][${e}][${e}][data-es-typing],
12
+ [data-es-typing] [${e}][${e}][${e}] {
13
13
  outline: none;
14
14
  }
15
- `;function _({children:i,document:t}){const{theme:f,themeMode:e,themeSwitchShown:o}=$(),s=c(f);return a(()=>{if(t)return p(t,{mode:e,switchShown:o})},[t,e,o]),a(()=>{if(t)return T(t,s)},[t,s]),u(()=>{if(t)return y(t)},[t]),l(h,{children:[n(x,{}),n("style",{children:S}),i]})}export{S as PART_PICK_CSS,_ as default};
15
+ [data-easel-overlay-portal][data-easel-overlay-portal][data-es-typing],
16
+ [data-es-typing] [data-easel-overlay-portal][data-easel-overlay-portal] {
17
+ outline: none;
18
+ }
19
+ `;function c({children:i,document:t}){const{theme:m,themeMode:r,themeSwitchShown:a}=$(),o=T(m);return n(()=>{if(t)return y(t,{mode:r,switchShown:a})},[t,r,a]),n(()=>{if(t)return u(t,o)},[t,o]),h(()=>{if(t)return S(t)},[t]),d(f,{children:[s(x,{}),s("style",{children:_}),i]})}export{_ as PART_PICK_CSS,c as default};
@@ -4,6 +4,8 @@ import type { EaselChrome as EditorChrome } from "efficient-easel/screen/lib/hos
4
4
  import type { EditorCapabilities } from "../lib/editor-document-adapter.js";
5
5
  import { type ScreenPartMode } from "efficient-easel/screen/lib/screen-parts";
6
6
  export type InspectorMode = {
7
+ kind: "selection";
8
+ } | {
7
9
  kind: "puck";
8
10
  } | {
9
11
  kind: "header";
@@ -26,6 +28,7 @@ export type InspectorMode = {
26
28
  kind: "heroImage2";
27
29
  nodeId: string;
28
30
  } | ScreenPartMode;
31
+ export declare const SELECTION_MODE: InspectorMode;
29
32
  export declare const PUCK_MODE: InspectorMode;
30
33
  export declare const HEADER_MODE: InspectorMode;
31
34
  export declare const WEBSITE_MODE: InspectorMode;
@@ -1 +1 @@
1
- "use client";import{jsx as n,jsxs as m,Fragment as k}from"react/jsx-runtime";import{useState as K}from"react";import{useEasel as Se}from"efficient-easel/easel";import{headWords as W,InspectorHead as be,InspectorIconButton as L}from"efficient-easel/chrome";import{DuplicateIcon as j,TrashIcon as ke}from"efficient-easel/icons";import{panelFieldsOf as Pe}from"efficient-easel/screen/lib/puck/panel-fields";import{TICKER_PART_LABEL as U}from"../../render/components/PreviewTickerContext.js";import ve from"./SectionIcon.js";import{PanelHideButton as O}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as Ie}from"efficient-easel/screen/lib/session-context";import{say as o}from"../../format/lib/editor-words.js";import Ee,{HintsToggle as ye,SHOW_HINTS_DEFAULT as Le}from"./WebsiteSettingsPanel.js";import Oe from"./ChatSettingsPanel.js";import Ne from"./SocialLinksPanel.js";import Te from"./TickerSettingsPanel.js";import He,{PartSourceNote as De}from"./PartSettingsPanel.js";import _e from"./DuplicateToPageMenu.js";import Re from"./DuplicatePageDialog.js";import{canDuplicatePage as Ae,usePageDuplicate as Ce}from"../lib/page-copy.js";import{usePageRows as Fe}from"../lib/page-rows.js";import{useScreenDocument as xe}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewHeader as Be}from"../../render/components/PreviewHeaderContext.js";import{useSectionOps as Me}from"efficient-easel/screen/lib/puck/use-section-ops";import{SELECTION_MODE as ze}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as Ke}from"efficient-easel/draw/client";import{entryPartsOf as We,SectionTextEntries as je}from"./SectionTextEntries.js";import{SectionTextSuppressProvider as Ue}from"../lib/puck/section-text-suppress.js";import{HEADER_TYPE as Ye,ROOT_ZONE as Y}from"efficient-easel/draw";import{websiteDuplicateBlocked as Ze}from"../lib/puck/every-page.js";import{FOOTER_TYPE as N}from"../lib/puck/footer-blocks.js";import $e from"./SwitchToBoxFooter.js";import{SiteFields as Z}from"./SiteFields.js";import qe from"./HeroPartPanel.js";import{HERO_MEDIA_PART_LABELS as Ge,HERO_PART_MODE as Je,heroPartLabel as Qe}from"../../render/lib/puck/hero-media-parts.js";import{SettingsSwitch as Ve}from"efficient-easel/panel";import{foldTopTier as Xe}from"../lib/puck/field-groups.js";import{FoldHeadingScope as et}from"../lib/puck/panel-heading-scope.js";import{partRowField as tt}from"../lib/puck/part-row-field.js";import{decodePartKey as nt,partRowHeadLabel as ot}from"../../render/lib/puck/part-rows.js";import{encodePartId as it,partHeadLabel as rt,partLabel as st,sectionTextParts as at}from"../../render/lib/puck/text-parts.js";import{partSourceOf as lt,sourceMenuIdOf as ct,sourceSlugOf as dt}from"../../format/lib/puck/source-bound-parts.js";const an=ze,ln={kind:"header"},cn={kind:"website"},dn={kind:"chat"},pn={kind:"social"},w="Part";function pt(e){return o("Part of {name}",{name:o(e)})}function mt(e,i,r){const l=e.describeNode(i);return{name:r,kindLabel:l?pt(l.label):o(w)}}function ut(e){switch(e){case"Header":return{title:o("Header settings belong to a website."),own:o("Each website created from this template sets its own header afterwards.")};case"Appearance":return{title:o("Appearance settings belong to a website."),own:o("Each website created from this template sets its own appearance afterwards.")};case"Live chat":return{title:o("Live chat settings belong to a website."),own:o("Each website created from this template sets its own live chat afterwards.")};case"Social link":return{title:o("Social link settings belong to a website."),own:o("Each website created from this template sets its own social link afterwards.")};default:return{title:o("{what} settings belong to a website.",{what:e}),own:o("Each website created from this template sets its own {what} afterwards.",{what:e.toLowerCase()})}}}function $({what:e}){const i=ut(e);return m("div",{className:"sf-note",children:[n("p",{children:n("strong",{children:i.title})}),m("p",{children:[o("A template is a blueprint — it has no website of its own, so there is nothing here to change.")," ",i.own]})]})}function T(e){const i=Je[e];return{name:Ge[e],kindLabel:w,icon:i,head:(r,l)=>{if(r.kind!==i)return null;const p=l.describeNode(r.nodeId);if(!p)return null;const u=W({name:o(Qe(e,p.props)),tier:"part",of:o(p.label)},{partOf:({name:d})=>o("Part of {name}",{name:d})});return{name:u.name,kindLabel:u.kind}},render:(r,l)=>r.kind===i?n(qe,{nodeId:r.nodeId,part:e,sectionName:l.describeNode(r.nodeId)?.label??"Hero",onUpToSection:()=>l.onSelectNode(r.nodeId)}):null}}const ft={header:{name:"Header",kindLabel:"Site settings",icon:"header",render:(e,i)=>{const r=i.hostPanels?.header;return r?n(r,{placeholderMode:i.capabilities.placeholderFrames,tokenRef:i.tokenRef,siteId:i.siteId,websiteName:i.websiteName,onOpenWebsiteSettings:i.onOpenWebsiteSettings,onAuthExpired:()=>i.notifyParent("storefront-editor:auth-expired")}):null}},website:{name:"Appearance",kindLabel:"Site settings",icon:"website",render:(e,i)=>n(Ee,{themeFromDocument:!i.capabilities.hasSiteTheme,tokenRef:i.tokenRef,siteId:i.siteId,onNotify:i.onNotify})},chat:{name:"Live chat",kindLabel:"Site settings",icon:"chat",render:()=>n(Oe,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>n(Ne,{unavailable:n($,{what:"Social link"})})},ticker:{name:U,kindLabel:w,icon:"ticker",head:(e,i)=>e.kind==="ticker"?mt(i,e.heroId,o(U)):null,render:e=>n(Te,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:T("media"),heroImage:T("image"),heroImage2:T("image2"),part:{name:w,kindLabel:w,icon:"Text",head:(e,i)=>{if(e.kind!=="part")return null;const r=i.describeNode(e.nodeId);if(!r)return null;const{key:l,row:p}=nt(e.propKey),u=p?tt(r.fields[l],p):r.fields[l],d=ot(o(rt(st(u??{},l))),p),f=W({name:d,tier:"part",of:o(r.label)},{partOf:({name:S})=>o("Part of {name}",{name:S})});return{name:f.name,kindLabel:f.kind}},render:(e,i)=>e.kind==="part"?n(He,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>i.onSelectNode(e.nodeId),onEditStyle:i.onOpenSiteStyles}):null}},ht=new Set(["header","website","chat"]);function gt(e,i){if(e==="puck")return null;const r=ft[e];return ht.has(e)&&!i.hasSiteSettings?{...r,kindLabel:"Not part of a template",render:()=>n($,{what:r.name})}:r}function wt({mode:e,onOpenWebsiteSettings:i,onOpenSiteStyles:r,onSelectNode:l,hideNodeActions:p=!1,onNotify:u,onHidePanel:d}){const{capabilities:f,tokenRef:S,notifyParent:q,currentSlug:H,siteId:P,runAuthed:G,readOnly:J,navigate:Q}=xe(),v=Ce(),{rows:D,reload:V}=Fe(),I=D?.find(a=>a.slug===H)??null,[X,E]=K(null),{websiteName:ee}=Be(),b=Me({readOnly:J}),{select:te}=Ke(),{selectedItem:t,getItemById:ne,getSelectorForId:oe,config:h,appState:ie}=Se(a=>a),re=Pe(h,t?{type:t.type,props:t.props}:null),_=t?at(re??h.components[t.type]?.fields,t.props):[],se=a=>h.components[a]?.label??a,s=t?oe(t.props.id):void 0,c=gt(e.kind,f),ae=Ie(),R={capabilities:f,tokenRef:S,hostPanels:ae.chrome?.panels,describeNode:a=>{const g=ne(a);if(!g)return null;const z=h.components[g.type];return{type:g.type,label:z?.label??g.type,fields:z?.fields??{},props:g.props??{}}},siteId:P,websiteName:ee??null,notifyParent:q,onNotify:u,onOpenWebsiteSettings:i,onOpenSiteStyles:r,onSelectNode:l},A=c?.head?.(e,R)??null,le=A?.name??(c?o(c.name):t?o(se(t.type)):o("Page settings")),ce=A?.kindLabel??(c?o(c.kindLabel):t?s&&s.zone!==Y?o("Block"):o("Section"):o("Page")),de=c?c.icon:t?t.type:"page",C=c?null:t?h.components[t.type]?.fields??null:h.root?.fields??null,pe=C?Xe(C):2,F=e.kind==="puck"&&t?lt(t.type):null,me=!!t&&!!s&&s.zone===Y&&t.type!==N&&t.type!==Ye,y=Ze(ie?.data,t),ue=()=>{y||s&&b.duplicateComponent(s.zone,s.index)},fe=()=>{s&&(b.removeComponent(s.zone,s.index),b.select(null))},he=t?h.components[t.type]?.defaultProps?.previewHover:void 0,x=e.kind==="puck"&&!!t&&!!s&&he!==void 0,B=x&&t.props.previewHover===!0,ge=()=>{!t||!s||b.replaceComponent(s.zone,s.index,{...t,props:{...t.props,previewHover:!B}})},[M,we]=K(Le);return m("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right${M||!(!c&&!!t)?"":" sf-hints-folded"}`,children:[n(be,{icon:n(ve,{type:de,size:15}),name:le,kind:ce,actions:!p&&e.kind==="puck"&&t&&t.type!==N?m(k,{children:[n(L,{label:o("Duplicate section"),title:y??void 0,disabled:y!==null,onClick:ue,children:n(j,{size:15})}),me&&f.hasSiteSettings&&n(_e,{node:t,currentSlug:H,siteId:P??void 0,tokenRef:S,runAuthed:G,onNotify:u}),n(L,{label:o("Remove section"),danger:!0,onClick:fe,children:n(ke,{size:15})}),d?n(O,{side:"right",onHide:d,divider:!0}):null]}):!c&&!t&&e.kind==="puck"&&v&&I&&Ae(I)?m(k,{children:[n(L,{label:o("Duplicate page"),onClick:()=>E(I),children:n(j,{size:15})}),d?n(O,{side:"right",onHide:d,divider:!0}):null]}):d?n(O,{side:"right",onHide:d}):void 0}),v&&n(Re,{source:X,taken:new Set((D??[]).map(a=>a.slug)),duplicate:v,onClose:()=>E(null),onDuplicated:a=>{E(null),V(),Q({kind:"page",slug:a.slug,siteId:P??void 0})}}),x&&m("div",{className:"sf-preview-pin",children:[m("div",{className:"sf-preview-pin-text",children:[n("span",{className:"sf-preview-pin-label",children:o("Preview hover state")}),n("span",{className:"sf-preview-pin-hint",children:o("not shown live")})]}),n(Ve,{checked:B,onChange:ge,ariaLabel:o("Preview hover state")})]}),n(et,{tier:pe,children:n("div",{className:"sf-insp-body es-insp-body sf-scroll",children:c?c.render(e,R):t?m(k,{children:[t.type===N&&f.hasSiteSettings&&n($e,{}),n(Ue,{children:n(Z,{entries:n(je,{parts:_,heading:!1,onOpen:a=>te(it(t.props.id,a))}),entryCount:We(_).length})}),F&&n(De,{source:F,slug:dt(t?.props),menuId:ct(t?.props)}),n(ye,{shown:M,onChange:we})]}):n(k,{children:n(Z,{})})})})]})}export{dn as CHAT_MODE,ln as HEADER_MODE,an as PUCK_MODE,pn as SOCIAL_MODE,cn as WEBSITE_MODE,wt as default,gt as resolvePanel};
1
+ "use client";import{jsx as n,jsxs as m,Fragment as k}from"react/jsx-runtime";import{useState as W}from"react";import{useEasel as be}from"efficient-easel/easel";import{headWords as j,InspectorHead as ke,InspectorIconButton as y}from"efficient-easel/chrome";import{DuplicateIcon as U,TrashIcon as Pe}from"efficient-easel/icons";import{panelFieldsOf as Ee}from"efficient-easel/screen/lib/document/panel-fields";import{TICKER_PART_LABEL as Y}from"../../render/components/PreviewTickerContext.js";import ve from"./SectionIcon.js";import{PanelHideButton as N}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as Ie}from"efficient-easel/screen/lib/session-context";import{say as o}from"../../format/lib/editor-words.js";import Oe,{HintsToggle as Le,SHOW_HINTS_DEFAULT as ye}from"./WebsiteSettingsPanel.js";import Ne from"./ChatSettingsPanel.js";import Te from"./SocialLinksPanel.js";import De from"./TickerSettingsPanel.js";import He,{PartSourceNote as _e}from"./PartSettingsPanel.js";import Re from"./DuplicateToPageMenu.js";import Ce from"./DuplicatePageDialog.js";import{canDuplicatePage as Ae,usePageDuplicate as Me}from"../lib/page-copy.js";import{usePageRows as xe}from"../lib/page-rows.js";import{useScreenDocument as Fe}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewHeader as Be}from"../../render/components/PreviewHeaderContext.js";import{useSectionOps as ze}from"efficient-easel/screen/lib/document/use-section-ops";import{SELECTION_MODE as Ke,isSelectionMode as P}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as We}from"efficient-easel/draw/client";import{entryPartsOf as je,SectionTextEntries as Ue}from"./SectionTextEntries.js";import{SectionTextSuppressProvider as Ye}from"../lib/document/section-text-suppress.js";import{HEADER_TYPE as Ze,ROOT_ZONE as Z}from"efficient-easel/draw";import{websiteDuplicateBlocked as $e}from"../lib/document/every-page.js";import{FOOTER_TYPE as T}from"../lib/document/footer-blocks.js";import qe from"./SwitchToBoxFooter.js";import{SiteFields as $}from"./SiteFields.js";import Ge from"./HeroPartPanel.js";import{HERO_MEDIA_PART_LABELS as Je,HERO_PART_MODE as Qe,heroPartLabel as Ve}from"../../render/lib/document/hero-media-parts.js";import{SettingsSwitch as Xe}from"efficient-easel/panel";import{foldTopTier as et}from"../lib/document/field-groups.js";import{FoldHeadingScope as tt}from"../lib/document/panel-heading-scope.js";import{partRowField as nt}from"../lib/document/part-row-field.js";import{decodePartKey as ot,partRowHeadLabel as it}from"../../render/lib/document/part-rows.js";import{encodePartId as rt,partHeadLabel as st,partLabel as at,sectionTextParts as lt}from"../../render/lib/document/text-parts.js";import{partSourceOf as ct,sourceMenuIdOf as dt,sourceSlugOf as pt}from"../../format/lib/document/source-bound-parts.js";const mt=Ke,cn=mt,dn={kind:"header"},pn={kind:"website"},mn={kind:"chat"},un={kind:"social"},S="Part";function ut(e){return o("Part of {name}",{name:o(e)})}function ft(e,i,r){const l=e.describeNode(i);return{name:r,kindLabel:l?ut(l.label):o(S)}}function ht(e){switch(e){case"Header":return{title:o("Header settings belong to a website."),own:o("Each website created from this template sets its own header afterwards.")};case"Appearance":return{title:o("Appearance settings belong to a website."),own:o("Each website created from this template sets its own appearance afterwards.")};case"Live chat":return{title:o("Live chat settings belong to a website."),own:o("Each website created from this template sets its own live chat afterwards.")};case"Social link":return{title:o("Social link settings belong to a website."),own:o("Each website created from this template sets its own social link afterwards.")};default:return{title:o("{what} settings belong to a website.",{what:e}),own:o("Each website created from this template sets its own {what} afterwards.",{what:e.toLowerCase()})}}}function q({what:e}){const i=ht(e);return m("div",{className:"sf-note",children:[n("p",{children:n("strong",{children:i.title})}),m("p",{children:[o("A template is a blueprint — it has no website of its own, so there is nothing here to change.")," ",i.own]})]})}function D(e){const i=Qe[e];return{name:Je[e],kindLabel:S,icon:i,head:(r,l)=>{if(r.kind!==i)return null;const p=l.describeNode(r.nodeId);if(!p)return null;const u=j({name:o(Ve(e,p.props)),tier:"part",of:o(p.label)},{partOf:({name:d})=>o("Part of {name}",{name:d})});return{name:u.name,kindLabel:u.kind}},render:(r,l)=>r.kind===i?n(Ge,{nodeId:r.nodeId,part:e,sectionName:l.describeNode(r.nodeId)?.label??"Hero",onUpToSection:()=>l.onSelectNode(r.nodeId)}):null}}const gt={header:{name:"Header",kindLabel:"Site settings",icon:"header",render:(e,i)=>{const r=i.hostPanels?.header;return r?n(r,{placeholderMode:i.capabilities.placeholderFrames,tokenRef:i.tokenRef,siteId:i.siteId,websiteName:i.websiteName,onOpenWebsiteSettings:i.onOpenWebsiteSettings,onAuthExpired:()=>i.notifyParent("storefront-editor:auth-expired")}):null}},website:{name:"Appearance",kindLabel:"Site settings",icon:"website",render:(e,i)=>n(Oe,{themeFromDocument:!i.capabilities.hasSiteTheme,tokenRef:i.tokenRef,siteId:i.siteId,onNotify:i.onNotify})},chat:{name:"Live chat",kindLabel:"Site settings",icon:"chat",render:()=>n(Ne,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>n(Te,{unavailable:n(q,{what:"Social link"})})},ticker:{name:Y,kindLabel:S,icon:"ticker",head:(e,i)=>e.kind==="ticker"?ft(i,e.heroId,o(Y)):null,render:e=>n(De,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:D("media"),heroImage:D("image"),heroImage2:D("image2"),part:{name:S,kindLabel:S,icon:"Text",head:(e,i)=>{if(e.kind!=="part")return null;const r=i.describeNode(e.nodeId);if(!r)return null;const{key:l,row:p}=ot(e.propKey),u=p?nt(r.fields[l],p):r.fields[l],d=it(o(st(at(u??{},l))),p),f=j({name:d,tier:"part",of:o(r.label)},{partOf:({name:w})=>o("Part of {name}",{name:w})});return{name:f.name,kindLabel:f.kind}},render:(e,i)=>e.kind==="part"?n(He,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>i.onSelectNode(e.nodeId),onEditStyle:i.onOpenSiteStyles}):null}},St=new Set(["header","website","chat"]);function wt(e,i){if(e==="selection"||e==="puck")return null;const r=gt[e];return St.has(e)&&!i.hasSiteSettings?{...r,kindLabel:"Not part of a template",render:()=>n(q,{what:r.name})}:r}function bt({mode:e,onOpenWebsiteSettings:i,onOpenSiteStyles:r,onSelectNode:l,hideNodeActions:p=!1,onNotify:u,onHidePanel:d}){const{capabilities:f,tokenRef:w,notifyParent:G,currentSlug:H,siteId:E,runAuthed:J,readOnly:Q,navigate:V}=Fe(),v=Me(),{rows:_,reload:X}=xe(),I=_?.find(a=>a.slug===H)??null,[ee,O]=W(null),{websiteName:te}=Be(),b=ze({readOnly:Q}),{select:ne}=We(),{selectedItem:t,getItemById:oe,getSelectorForId:ie,config:h,appState:re}=be(a=>a),se=Ee(h,t?{type:t.type,props:t.props}:null),R=t?lt(se??h.components[t.type]?.fields,t.props):[],ae=a=>h.components[a]?.label??a,s=t?ie(t.props.id):void 0,c=wt(e.kind,f),le=Ie(),C={capabilities:f,tokenRef:w,hostPanels:le.chrome?.panels,describeNode:a=>{const g=oe(a);if(!g)return null;const K=h.components[g.type];return{type:g.type,label:K?.label??g.type,fields:K?.fields??{},props:g.props??{}}},siteId:E,websiteName:te??null,notifyParent:G,onNotify:u,onOpenWebsiteSettings:i,onOpenSiteStyles:r,onSelectNode:l},A=c?.head?.(e,C)??null,ce=A?.name??(c?o(c.name):t?o(ae(t.type)):o("Page settings")),de=A?.kindLabel??(c?o(c.kindLabel):t?s&&s.zone!==Z?o("Block"):o("Section"):o("Page")),pe=c?c.icon:t?t.type:"page",M=c?null:t?h.components[t.type]?.fields??null:h.root?.fields??null,me=M?et(M):2,x=P(e)&&t?ct(t.type):null,ue=!!t&&!!s&&s.zone===Z&&t.type!==T&&t.type!==Ze,L=$e(re?.data,t),fe=()=>{L||s&&b.duplicateComponent(s.zone,s.index)},he=()=>{s&&(b.removeComponent(s.zone,s.index),b.select(null))},ge=t?h.components[t.type]?.defaultProps?.previewHover:void 0,F=P(e)&&!!t&&!!s&&ge!==void 0,B=F&&t.props.previewHover===!0,Se=()=>{!t||!s||b.replaceComponent(s.zone,s.index,{...t,props:{...t.props,previewHover:!B}})},[z,we]=W(ye);return m("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right${z||!(!c&&!!t)?"":" sf-hints-folded"}`,children:[n(ke,{icon:n(ve,{type:pe,size:15}),name:ce,kind:de,actions:!p&&P(e)&&t&&t.type!==T?m(k,{children:[n(y,{label:o("Duplicate section"),title:L??void 0,disabled:L!==null,onClick:fe,children:n(U,{size:15})}),ue&&f.hasSiteSettings&&n(Re,{node:t,currentSlug:H,siteId:E??void 0,tokenRef:w,runAuthed:J,onNotify:u}),n(y,{label:o("Remove section"),danger:!0,onClick:he,children:n(Pe,{size:15})}),d?n(N,{side:"right",onHide:d,divider:!0}):null]}):!c&&!t&&P(e)&&v&&I&&Ae(I)?m(k,{children:[n(y,{label:o("Duplicate page"),onClick:()=>O(I),children:n(U,{size:15})}),d?n(N,{side:"right",onHide:d,divider:!0}):null]}):d?n(N,{side:"right",onHide:d}):void 0}),v&&n(Ce,{source:ee,taken:new Set((_??[]).map(a=>a.slug)),duplicate:v,onClose:()=>O(null),onDuplicated:a=>{O(null),X(),V({kind:"page",slug:a.slug,siteId:E??void 0})}}),F&&m("div",{className:"sf-preview-pin",children:[m("div",{className:"sf-preview-pin-text",children:[n("span",{className:"sf-preview-pin-label",children:o("Preview hover state")}),n("span",{className:"sf-preview-pin-hint",children:o("not shown live")})]}),n(Xe,{checked:B,onChange:Se,ariaLabel:o("Preview hover state")})]}),n(tt,{tier:me,children:n("div",{className:"sf-insp-body es-insp-body sf-scroll",children:c?c.render(e,C):t?m(k,{children:[t.type===T&&f.hasSiteSettings&&n(qe,{}),n(Ye,{children:n($,{entries:n(Ue,{parts:R,heading:!1,onOpen:a=>ne(rt(t.props.id,a))}),entryCount:je(R).length})}),x&&n(_e,{source:x,slug:pt(t?.props),menuId:dt(t?.props)}),n(Le,{shown:z,onChange:we})]}):n(k,{children:n($,{})})})})]})}export{mn as CHAT_MODE,dn as HEADER_MODE,cn as PUCK_MODE,mt as SELECTION_MODE,un as SOCIAL_MODE,pn as WEBSITE_MODE,bt as default,wt as resolvePanel};
@@ -1,4 +1,4 @@
1
- import type { SectionTextPart } from "../../render/lib/puck/text-parts.js";
1
+ import type { SectionTextPart } from "../../render/lib/document/text-parts.js";
2
2
  export declare function entryPartsOf(parts: SectionTextPart[]): SectionTextPart[];
3
3
  export declare function SectionTextEntries({ parts, onOpen, heading, }: {
4
4
  parts: SectionTextPart[];
@@ -1 +1 @@
1
- "use client";import{jsx as R}from"react/jsx-runtime";import{useEffect as d,useRef as g}from"react";import{markOverlayPortal as y}from"../../format/lib/puck/overlay-portal.js";import{measureStyleBase as E,styleTagsOf as b}from"./PreviewPartAnchors.js";import{usePreviewParts as S}from"efficient-easel/draw/client";import{usePartStyle as _}from"./PreviewPartStyleContext.js";import{PART_SELECTED_ATTR as o,REGION_PART_ATTR as A,encodePartId as v}from"../../render/lib/puck/text-parts.js";import{TEXT_REGION_ATTR as T,textRegionOfAttr as x,textRegionPartKey as O}from"../../format/lib/sections/text-regions.js";import{regionsForSection as h}from"../../format/lib/sections/section-text-regions.js";function I({nodeId:e,sectionType:s,children:P}){const i=g(null),{selectedPartId:n}=S(),{setPartStyle:f}=_();return d(()=>{const m=i.current,c=h(s);if(!m||!e||!c)return;const u=[],l=Array.from(m.querySelectorAll(`[${T}]`));for(const t of l){const a=x(c,t.getAttribute(T));if(!a)continue;const p=y(t);p&&u.push(p);const r=v(e,O(a));t.setAttribute(A,r),r===n?(t.setAttribute(o,""),f({partId:r,...b(t),base:E(t)})):t.removeAttribute(o)}return()=>{for(const t of u)t();for(const t of l)t.removeAttribute(o),t.removeAttribute(A)}},[e,s,n,f]),R("div",{ref:i,style:{display:"contents"},children:P})}export{I as default};
1
+ "use client";import{jsx as R}from"react/jsx-runtime";import{useEffect as d,useRef as g}from"react";import{markOverlayPortal as y}from"../../format/lib/document/overlay-portal.js";import{measureStyleBase as E,styleTagsOf as b}from"./PreviewPartAnchors.js";import{usePreviewParts as S}from"efficient-easel/draw/client";import{usePartStyle as _}from"./PreviewPartStyleContext.js";import{PART_SELECTED_ATTR as o,REGION_PART_ATTR as A,encodePartId as v}from"../../render/lib/document/text-parts.js";import{TEXT_REGION_ATTR as T,textRegionOfAttr as x,textRegionPartKey as O}from"../../format/lib/sections/text-regions.js";import{regionsForSection as h}from"../../format/lib/sections/section-text-regions.js";function I({nodeId:e,sectionType:s,children:P}){const i=g(null),{selectedPartId:n}=S(),{setPartStyle:f}=_();return d(()=>{const m=i.current,c=h(s);if(!m||!e||!c)return;const u=[],l=Array.from(m.querySelectorAll(`[${T}]`));for(const t of l){const a=x(c,t.getAttribute(T));if(!a)continue;const p=y(t);p&&u.push(p);const r=v(e,O(a));t.setAttribute(A,r),r===n?(t.setAttribute(o,""),f({partId:r,...b(t),base:E(t)})):t.removeAttribute(o)}return()=>{for(const t of u)t();for(const t of l)t.removeAttribute(o),t.removeAttribute(A)}},[e,s,n,f]),R("div",{ref:i,style:{display:"contents"},children:P})}export{I as default};
@@ -1 +1 @@
1
- "use client";import{jsx as c}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as m,SettingsBackgroundWidth as x,SettingsContentWidth as E}from"efficient-easel/panel";import{PAGE_WIDTH as p}from"../../format/lib/content/page-width.js";import{WIDTH_CHOICE_LABEL as O}from"../../format/lib/content/section-width.js";import{say as n,editorEaselWords as T}from"../../format/lib/editor-words.js";import{Slider as W}from"../lib/puck/controls.js";const S="Width",b="Background width",H="Content width",G=m,r=t=>n(O[t==="content"?"page":"full"]),g=400,k="Content cannot be wider than the background.",U="The width of every section's background, until the section sets its own.",v="The width of every section's content, until the section sets its own.",y="On phones, content always fills the screen.";function K({value:t,changed:l,detail:o,onChange:s,onReset:i,disabled:a=!1,hint:e,labelId:d}){return c(x,{value:t,changed:l,detail:o,onChange:s,onReset:i,disabled:a,hint:e?n(e):void 0,labelId:d,words:{label:n(b),full:r("full"),content:r("content")},resetWords:T()?.panel})}function M({mode:t,px:l,max:o=p.max,min:s=g,changed:i,detail:a,onMode:e,onPx:d,onReset:_,fullClosed:C=!1,disabled:u=!1,hint:f,labelId:I}){const h=n(H),N=t!=="full"?c(W,{min:s,max:o,step:p.step,value:Math.min(Math.max(l,s),o),onChange:d,suffix:"px",ariaLabel:h,disabled:u}):null;return c(E,{mode:e?t:void 0,onMode:e,number:N,changed:i,detail:a,onReset:_,fullClosed:C,disabled:u,hint:f?n(f):void 0,labelId:I,words:{label:h,full:r("full"),content:r("content")},resetWords:T()?.panel})}export{b as BACKGROUND_LABEL,K as BackgroundWidthRow,k as CONTENT_INSIDE_BACKGROUND_HINT,H as CONTENT_LABEL,M as ContentWidthRow,g as SECTION_CONTENT_MIN,U as SITE_BACKGROUND_HINT,v as SITE_CONTENT_HINT,G as WIDTH_CHOICES,S as WIDTH_GROUP_LABEL,y as WIDTH_PHONE_HINT};
1
+ "use client";import{jsx as c}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as m,SettingsBackgroundWidth as x,SettingsContentWidth as E}from"efficient-easel/panel";import{PAGE_WIDTH as p}from"../../format/lib/content/page-width.js";import{WIDTH_CHOICE_LABEL as O}from"../../format/lib/content/section-width.js";import{say as n,editorEaselWords as T}from"../../format/lib/editor-words.js";import{Slider as W}from"../lib/document/controls.js";const S="Width",b="Background width",H="Content width",G=m,r=t=>n(O[t==="content"?"page":"full"]),g=400,k="Content cannot be wider than the background.",U="The width of every section's background, until the section sets its own.",v="The width of every section's content, until the section sets its own.",y="On phones, content always fills the screen.";function K({value:t,changed:l,detail:o,onChange:s,onReset:i,disabled:a=!1,hint:e,labelId:d}){return c(x,{value:t,changed:l,detail:o,onChange:s,onReset:i,disabled:a,hint:e?n(e):void 0,labelId:d,words:{label:n(b),full:r("full"),content:r("content")},resetWords:T()?.panel})}function M({mode:t,px:l,max:o=p.max,min:s=g,changed:i,detail:a,onMode:e,onPx:d,onReset:_,fullClosed:C=!1,disabled:u=!1,hint:f,labelId:I}){const h=n(H),N=t!=="full"?c(W,{min:s,max:o,step:p.step,value:Math.min(Math.max(l,s),o),onChange:d,suffix:"px",ariaLabel:h,disabled:u}):null;return c(E,{mode:e?t:void 0,onMode:e,number:N,changed:i,detail:a,onReset:_,fullClosed:C,disabled:u,hint:f?n(f):void 0,labelId:I,words:{label:h,full:r("full"),content:r("content")},resetWords:T()?.panel})}export{b as BACKGROUND_LABEL,K as BackgroundWidthRow,k as CONTENT_INSIDE_BACKGROUND_HINT,H as CONTENT_LABEL,M as ContentWidthRow,g as SECTION_CONTENT_MIN,U as SITE_BACKGROUND_HINT,v as SITE_CONTENT_HINT,G as WIDTH_CHOICES,S as WIDTH_GROUP_LABEL,y as WIDTH_PHONE_HINT};
@@ -1 +1 @@
1
- "use client";import{jsx as t}from"react/jsx-runtime";import{ShadowIcon as i}from"efficient-easel/icons";import{say as r}from"../../format/lib/editor-words.js";import{InheritedColourRow as a}from"../lib/puck/ColourControl.js";import{DEFAULT_SHADOW_COLOR as n}from"../../format/lib/theme.js";const l="Most useful on a dark theme, where a black shadow cannot be seen. Also used by the Lift hover, even with the card shadow off.";function d({value:o,onChange:e,showHint:s=!0}){const h=o===null;return t(a,{label:r("Shadow color"),icon:t(i,{}),value:o??"",inherited:n,resetTo:n,onChange:e,onReset:()=>e(null),hint:s?r(l):void 0})}export{d as default};
1
+ "use client";import{jsx as t}from"react/jsx-runtime";import{ShadowIcon as i}from"efficient-easel/icons";import{say as r}from"../../format/lib/editor-words.js";import{InheritedColourRow as a}from"../lib/document/ColourControl.js";import{DEFAULT_SHADOW_COLOR as n}from"../../format/lib/theme.js";const l="Most useful on a dark theme, where a black shadow cannot be seen. Also used by the Lift hover, even with the card shadow off.";function d({value:o,onChange:e,showHint:s=!0}){const h=o===null;return t(a,{label:r("Shadow color"),icon:t(i,{}),value:o??"",inherited:n,resetTo:n,onChange:e,onReset:()=>e(null),hint:s?r(l):void 0})}export{d as default};
@@ -1 +1 @@
1
- "use client";import{jsx as e}from"react/jsx-runtime";import{SettingsDefaultReset as d,SettingsField as p}from"efficient-easel/panel";import{PaddingXIcon as m}from"efficient-easel/icons";import{SITE_GUTTER as t}from"../../format/lib/content/page-width.js";import{say as o,editorEaselWords as f}from"../../format/lib/editor-words.js";import{Slider as c}from"../lib/puck/controls.js";const i="Side space",n=t.default,u="The room left at the left and right edge of every page.";function S({value:a,onChange:r,showHint:s=!0}){const l=a===null;return e(p,{label:o(i),labelId:"sf-side-space",icon:e(m,{}),value:`${a??n}px`,changed:!l,action:e(d,{words:f()?.panel,label:o(i),changed:!l,detail:`${n}px`,onReset:()=>r(null)}),hint:s?o(u):void 0,children:e(c,{min:t.min,max:t.max,step:t.step,value:a??n,readout:!1,ariaLabel:o(i),onChange:r})})}export{u as SIDE_SPACE_HINT,i as SIDE_SPACE_LABEL,S as default};
1
+ "use client";import{jsx as e}from"react/jsx-runtime";import{SettingsDefaultReset as d,SettingsField as p}from"efficient-easel/panel";import{PaddingXIcon as m}from"efficient-easel/icons";import{SITE_GUTTER as t}from"../../format/lib/content/page-width.js";import{say as o,editorEaselWords as f}from"../../format/lib/editor-words.js";import{Slider as c}from"../lib/document/controls.js";const i="Side space",n=t.default,u="The room left at the left and right edge of every page.";function S({value:a,onChange:r,showHint:s=!0}){const l=a===null;return e(p,{label:o(i),labelId:"sf-side-space",icon:e(m,{}),value:`${a??n}px`,changed:!l,action:e(d,{words:f()?.panel,label:o(i),changed:!l,detail:`${n}px`,onReset:()=>r(null)}),hint:s?o(u):void 0,children:e(c,{min:t.min,max:t.max,step:t.step,value:a??n,readout:!1,ariaLabel:o(i),onChange:r})})}export{u as SIDE_SPACE_HINT,i as SIDE_SPACE_LABEL,S as default};
@@ -1,6 +1,6 @@
1
1
  import { type ReactNode } from "react";
2
2
  import { type SettingsBucket } from "efficient-easel/fields";
3
- import { type HeroMediaPart } from "../../render/lib/puck/hero-media-parts.js";
3
+ import { type HeroMediaPart } from "../../render/lib/document/hero-media-parts.js";
4
4
  export declare const TAB_ICONS: Record<SettingsBucket, ReactNode>;
5
5
  export declare function SiteFields({ entries, entryCount, part, }: {
6
6
  entries?: ReactNode;
@@ -1 +1 @@
1
- "use client";import{jsx as E}from"react/jsx-runtime";import{useLayoutEffect as P,useMemo as F,useRef as q,useState as T}from"react";import{useEasel as R,useSelectedFields as U}from"efficient-easel/easel";import{Inspector as W,planFields as v}from"efficient-easel/fields";import{BUCKET_ICONS as X,entriesHiddenForTab as G}from"../lib/puck/controls.js";import{BUCKETS as H}from"../lib/puck/field-groups.js";import{say as Y}from"../../format/lib/editor-words.js";import{usePreviewDevice as z}from"efficient-easel/draw/client";import{showWhenContext as J,visibleFields as Q}from"../../render/lib/puck/show-when.js";import{fieldsOfPart as V}from"../../render/lib/puck/hero-media-parts.js";import{bandIsDropped as Z,droppedBands as $,sameKeys as ee,TEXT_BAND_KEY as _,TEXT_BAND_TITLE as te,withoutBands as oe}from"../../format/lib/puck/panel-bands.js";const x=new Map,p=new Set;function ne(o,r){const a=new Map;for(const s of o.querySelectorAll(".es-insp-row[data-field]"))a.set(s.getAttribute("data-field")??"",s);const n=[];for(const[s,l]of r)n.push({key:s,rows:l.map(w=>{const d=a.get(w),f=!!d&&[...d.children].some(b=>!b.hidden),u=d?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:f,labelled:f&&!!u}})});return n}const se=Object.fromEntries(H.map(o=>{const r=X[o];return[o,E(r,{},o)]}));function be({entries:o,entryCount:r=0,part:a=null}){const{id:n,fields:s,values:l,readOnly:w,onChange:d}=U(),f=z(),{appState:u,config:b}=R(e=>e),g=J(f,b,u.data.content??[],u.ui.itemSelector),A=V(s,a),i=Q(A,l,g),[I,M]=T(()=>new Set(p)),[C,O]=T(()=>new Set),B=q(null),D=F(()=>{const e=new Map;for(const t of v(i).rows){if(!t.fold)continue;const c=e.get(t.fold.key)??[];c.push(t.name),e.set(t.fold.key,c)}return e},[i]);P(()=>{const e=B.current?.parentElement;if(!e)return;const t=new Set($(ne(e,D)));O(c=>ee(c,t)?c:t)});const N=F(()=>oe(i,C),[i,C]),k={key:_,rows:Array.from({length:r},()=>({shown:!0,labelled:!0}))},K=Z(k)?void 0:{key:_,title:te},[h,j]=T(()=>x.get(n)),y=x.get(n),m=v(i).buckets,S=y&&m.includes(y)?y:h&&m.includes(h)?h:m[0],L=S===void 0||G(m,S)!==!0;return E(W,{fields:N,values:l,onChange:d,readOnly:w,showWhenContext:{...g,node:l},tab:S,onTab:e=>{x.set(n,e),j(e)},tabIcons:se,idPrefix:n,ariaLabel:Y("Section settings"),lead:L?o:null,leadFold:K,closedFolds:I,onFold:(e,t)=>{t?p.delete(e):p.add(e),M(new Set(p))},children:E("span",{ref:B,hidden:!0})})}export{be as SiteFields,se as TAB_ICONS};
1
+ "use client";import{jsx as E}from"react/jsx-runtime";import{useLayoutEffect as P,useMemo as F,useRef as q,useState as T}from"react";import{useEasel as R,useSelectedFields as U}from"efficient-easel/easel";import{Inspector as W,planFields as v}from"efficient-easel/fields";import{BUCKET_ICONS as X,entriesHiddenForTab as G}from"../lib/document/controls.js";import{BUCKETS as H}from"../lib/document/field-groups.js";import{say as Y}from"../../format/lib/editor-words.js";import{usePreviewDevice as z}from"efficient-easel/draw/client";import{showWhenContext as J,visibleFields as Q}from"../../render/lib/document/show-when.js";import{fieldsOfPart as V}from"../../render/lib/document/hero-media-parts.js";import{bandIsDropped as Z,droppedBands as $,sameKeys as ee,TEXT_BAND_KEY as _,TEXT_BAND_TITLE as te,withoutBands as oe}from"../../format/lib/document/panel-bands.js";const x=new Map,p=new Set;function ne(o,r){const a=new Map;for(const s of o.querySelectorAll(".es-insp-row[data-field]"))a.set(s.getAttribute("data-field")??"",s);const n=[];for(const[s,l]of r)n.push({key:s,rows:l.map(w=>{const d=a.get(w),f=!!d&&[...d.children].some(b=>!b.hidden),u=d?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:f,labelled:f&&!!u}})});return n}const se=Object.fromEntries(H.map(o=>{const r=X[o];return[o,E(r,{},o)]}));function be({entries:o,entryCount:r=0,part:a=null}){const{id:n,fields:s,values:l,readOnly:w,onChange:d}=U(),f=z(),{appState:u,config:b}=R(e=>e),g=J(f,b,u.data.content??[],u.ui.itemSelector),A=V(s,a),i=Q(A,l,g),[I,M]=T(()=>new Set(p)),[C,O]=T(()=>new Set),B=q(null),D=F(()=>{const e=new Map;for(const t of v(i).rows){if(!t.fold)continue;const c=e.get(t.fold.key)??[];c.push(t.name),e.set(t.fold.key,c)}return e},[i]);P(()=>{const e=B.current?.parentElement;if(!e)return;const t=new Set($(ne(e,D)));O(c=>ee(c,t)?c:t)});const N=F(()=>oe(i,C),[i,C]),k={key:_,rows:Array.from({length:r},()=>({shown:!0,labelled:!0}))},K=Z(k)?void 0:{key:_,title:te},[h,j]=T(()=>x.get(n)),y=x.get(n),m=v(i).buckets,S=y&&m.includes(y)?y:h&&m.includes(h)?h:m[0],L=S===void 0||G(m,S)!==!0;return E(W,{fields:N,values:l,onChange:d,readOnly:w,showWhenContext:{...g,node:l},tab:S,onTab:e=>{x.set(n,e),j(e)},tabIcons:se,idPrefix:n,ariaLabel:Y("Section settings"),lead:L?o:null,leadFold:K,closedFolds:I,onFold:(e,t)=>{t?p.delete(e):p.add(e),M(new Set(p))},children:E("span",{ref:B,hidden:!0})})}export{be as SiteFields,se as TAB_ICONS};
@@ -1 +1 @@
1
- "use client";import{jsx as s,Fragment as C,jsxs as R}from"react/jsx-runtime";import{useEasel as x}from"efficient-easel/easel";import{LayersIcon as b}from"efficient-easel/icons";import{SettingsDrill as F,SettingsField as k}from"efficient-easel/panel";import _ from"efficient-easel/screen/components/AddChildRow";import{useSlotChildActions as j}from"efficient-easel/screen/components/SlotChildActionsContext";import{HERO_GROUP_TYPE as D,heroGroupNestDepth as I}from"../../format/lib/hero-group-placement.js";import{canAddTo as p}from"../lib/puck/add-target.js";import{say as O}from"../../format/lib/editor-words.js";function $({parent:o,parentType:t,label:r,rowName:n,onSelectChild:e,onAddChild:l,nestDepth:a=0}){const u=p(t,a);if(!u)return null;const{slot:d,choices:A,spec:i}=u,f=String(o.props.id),h=`${f}:${d}`,c=Array.isArray(o.props[d])?o.props[d]:[],w=i?.addBlocked?.(c)??null,S=i?.notice?.(c)??null,g=R(C,{children:[S?s("p",{className:"sf-note",children:S}):null,c.map((m,N)=>s(F,{name:n(m),onOpen:()=>e(h,N,String(m.props.id),t)},String(m.props.id??`${h}-${N}`))),A||i.fixed?null:s(_,{label:i.addLabel,blocked:w,onAdd:()=>l(f,d,i.childType,c.length,t)})]});return s("div",{className:"sf-slot-rows",children:r?s(k,{label:O(r),icon:s(b,{}),value:String(c.length),children:g}):g})}function y(o,t){return p(o)?.spec?.notice?.(t)??null}function J({parentType:o}){const{selectedItem:t}=x(l=>l);if(!t||t.type!==o)return null;const r=p(o)?.slot,n=r&&Array.isArray(t.props[r])?t.props[r]:[],e=y(o,n);return e?s("p",{className:"sf-note",children:e}):null}function E(o,t){return p(t)?.source==="footer"?o.blockRowName:o.childRowName}function v({parentType:o,label:t}){const{appState:r,selectedItem:n}=x(a=>a),e=j();if(!e||!n||n.type!==o)return null;const l=o===D?I(r?.data,String(n.props.id)):0;return s($,{parent:n,parentType:o,label:t,rowName:E(e,o),onSelectChild:e.selectChild,onAddChild:e.addChild,nestDepth:l})}export{$ as SlotChildRows,J as SlotNoticeField,v as default,E as rowNamerFor,y as slotNoticeOf};
1
+ "use client";import{jsx as s,Fragment as C,jsxs as R}from"react/jsx-runtime";import{useEasel as x}from"efficient-easel/easel";import{LayersIcon as b}from"efficient-easel/icons";import{SettingsDrill as F,SettingsField as k}from"efficient-easel/panel";import _ from"efficient-easel/screen/components/AddChildRow";import{useSlotChildActions as j}from"efficient-easel/screen/components/SlotChildActionsContext";import{HERO_GROUP_TYPE as D,heroGroupNestDepth as I}from"../../format/lib/hero-group-placement.js";import{canAddTo as p}from"../lib/document/add-target.js";import{say as O}from"../../format/lib/editor-words.js";function $({parent:o,parentType:t,label:r,rowName:n,onSelectChild:e,onAddChild:l,nestDepth:a=0}){const u=p(t,a);if(!u)return null;const{slot:d,choices:A,spec:i}=u,f=String(o.props.id),h=`${f}:${d}`,c=Array.isArray(o.props[d])?o.props[d]:[],w=i?.addBlocked?.(c)??null,S=i?.notice?.(c)??null,g=R(C,{children:[S?s("p",{className:"sf-note",children:S}):null,c.map((m,N)=>s(F,{name:n(m),onOpen:()=>e(h,N,String(m.props.id),t)},String(m.props.id??`${h}-${N}`))),A||i.fixed?null:s(_,{label:i.addLabel,blocked:w,onAdd:()=>l(f,d,i.childType,c.length,t)})]});return s("div",{className:"sf-slot-rows",children:r?s(k,{label:O(r),icon:s(b,{}),value:String(c.length),children:g}):g})}function y(o,t){return p(o)?.spec?.notice?.(t)??null}function J({parentType:o}){const{selectedItem:t}=x(l=>l);if(!t||t.type!==o)return null;const r=p(o)?.slot,n=r&&Array.isArray(t.props[r])?t.props[r]:[],e=y(o,n);return e?s("p",{className:"sf-note",children:e}):null}function E(o,t){return p(t)?.source==="footer"?o.blockRowName:o.childRowName}function v({parentType:o,label:t}){const{appState:r,selectedItem:n}=x(a=>a),e=j();if(!e||!n||n.type!==o)return null;const l=o===D?I(r?.data,String(n.props.id)):0;return s($,{parent:n,parentType:o,label:t,rowName:E(e,o),onSelectChild:e.selectChild,onAddChild:e.addChild,nestDepth:l})}export{$ as SlotChildRows,J as SlotNoticeField,v as default,E as rowNamerFor,y as slotNoticeOf};
@@ -1 +1 @@
1
- "use client";import{jsx as o}from"react/jsx-runtime";import{useCallback as H,useEffect as P,useMemo as l,useRef as V,useState as u}from"react";import x from"next/dynamic";import"efficient-easel/easel.css";import"efficient-easel/shell.css";import"efficient-easel/rail.css";import"efficient-easel/panel.css";import"efficient-easel/fields.css";import"efficient-easel/pick.css";import"efficient-easel/copy.css";import"efficient-easel/gold.css";import"efficient-easel/text-styles.css";import"efficient-easel/menu.css";import"efficient-easel/chrome.css";import"efficient-easel/tree.css";import"efficient-easel/screen.css";import"./storefront-editor.css";import{buildConfig as X}from"../lib/puck/build-config.js";import{withTemplateMediaPlaceholders as Z}from"../../format/lib/puck/templateFields.js";import{setEditorPageSlug as B}from"../../format/lib/puck/editor-page-context.js";import{ScreenDocumentContext as $}from"efficient-easel/screen/components/ScreenDocumentContext";import{PreviewHeaderProvider as ee}from"../../render/components/PreviewHeaderContext.js";import{PreviewTickerProvider as te}from"../../render/components/PreviewTickerContext.js";import{PreviewHeroPartProvider as re}from"../../render/components/PreviewHeroPartContext.js";import{PreviewPartsProvider as oe}from"efficient-easel/draw/client";import{CanvasPartsBridge as ie}from"./CanvasPartsBridge.js";import{PreviewLocationPartProvider as ne}from"../../render/components/PreviewLocationPartContext.js";import{PreviewPartStyleProvider as se}from"./PreviewPartStyleContext.js";import{sectionTemplates as b}from"efficient-easel/screen/lib/section-templates";import{nodeToDoc as de,docToNode as R}from"efficient-easel/screen/lib/puck/section-doc";import{newNodeId as ae}from"efficient-easel/draw";import{migrateRenamedProps as ce}from"../../format/lib/puck/renamed-props.js";import{buildSlotSeedChildren as me}from"../../render/lib/puck/slot-specs.js";import{FOOTER_TYPE as le,buildDefaultFooterBlocks as ue}from"../lib/puck/footer-blocks.js";import{NO_BRIDGED_CAPABILITIES as fe,useAdminBridge as pe}from"efficient-easel/screen/lib/admin-bridge";import{useEaselHost as ve}from"efficient-easel/screen/lib/host";import{ChromeWrap as ge}from"efficient-easel/screen/lib/host-chrome";import{sessionRegistry as he}from"efficient-easel/screen/lib/session";import{useEaselSession as Pe}from"efficient-easel/screen/lib/session-context";import{say as F}from"../../format/lib/editor-words.js";import{retargetWhenSaved as Se}from"../../format/lib/section-retarget.js";import{routeSharedHostMessage as Ee}from"efficient-easel/screen/lib/host-inbound";import{routeWebsiteHostMessage as ye}from"../../format/lib/website-host-inbound.js";import{DEFAULT_THEME_MODE as S,THEME_MODE_KEY as Te}from"../../format/lib/theme.js";import{makeSitePageAdapter as L}from"../lib/editor-document-adapter.js";import{documentPermissions as we}from"efficient-easel/edit-lock";import{useAutosave as Ne}from"efficient-easel/autosave";import{saveStatusOf as Ce}from"efficient-easel/screen/lib/document-switch";import{blocksOf as ke}from"../lib/website-session.js";const Ae=x(()=>import("./SiteEditorProvider.js"),{ssr:!1}),Ie=x(()=>import("efficient-easel/screen/components/SectionScreenShell"),{ssr:!1}),U="HeroSingle",W="Untitled section";function be(i,E){const d=E.components,r=d[i]?i:U,y=d[r]?.defaultProps??{},n=me(r,f=>d[f]?.defaultProps??{}),s=r===le?{blocks:ue()}:null;return{type:r,props:{id:ae(r),...y,...n?{[n.slot]:n.children}:null,...s}}}function Me(){if(typeof window>"u")return S;try{const i=window.localStorage.getItem(Te);return i==="light"||i==="dark"||i==="auto"?i:S}catch{return S}}function Oe({id:i,initialType:E,initialName:d=W}){const[r,y]=u(i),n=V(r);P(()=>{n.current=r},[r]);const s=ve(),[f,Y]=u(E),[M,j]=u(d),[a,T]=u(void 0),[K,G]=u(S),{token:w,tokenRef:O}=pe({onMessage:e=>{if(ye(e)||Ee(e))return;const t=e;if(t?.type==="storefront-editor:navigate"&&t.target?.kind==="section"&&t.target.id){const I=t.target.id;if(I===n.current)return;const J=t.target.type,Q=t.target.name;Se(C,()=>{Y(J),j(Q||W),y(I),s.address.show({kind:"section",id:I})},()=>s.send("storefront-editor:save-failed"))}}}),N=Ne({save:e=>b.update(e.id,e.node).then(()=>{}),onFailure:(e,t)=>{t===0&&s.send("storefront-editor:save-failed")}}),{state:p,push:D,flush:C}=N;P(()=>G(Me()),[]);const c=Pe(),v=c.usesBridgedToken?!!w:!0,g=l(()=>X(he(c),ke(c)),[c]);P(()=>{if(!v)return;let e=!1;return T(void 0),b.ensure(r,M,be(f??U,g)).then(t=>!e&&T(t.node)).catch(()=>!e&&T(null)),()=>{e=!0}},[r,f,M,v,g]);const k=H(e=>{s.send("storefront-editor:dirty");const t=R(e);t&&D({id:n.current,node:t})},[D,s]),h=s.send,_=H(async e=>{try{return await e(O.current??""),!0}catch{return h("storefront-editor:save-failed"),!1}},[h]),q=l(()=>Z(g,!0),[g]);P(()=>(B(null),()=>B(null)),[]);const m=l(()=>a?ce(de(a)):null,[a]),A=l(()=>({target:{kind:"page",slug:""},adapter:L(void 0),capabilities:L(void 0).capabilities,templateId:null,currentSlug:"",currentKind:null,siteId:null,ready:v,token:w,tokenRef:O,notifyParent:h,runAuthed:_,docId:r,data:m,getLiveData:()=>m,error:null,redirecting:!1,saveStatus:Ce(p),saveState:p,autoSaveEnabled:!0,autoSaveStoppedByConflict:!1,hasUnsavedEdits:p.pending,toggleAutoSave:()=>{},retrySave:()=>{N.retryNow()},onChange:k,flushSave:C,onPublish:async e=>{const t=R(e);t&&await b.update(n.current,t)},bridgeCapabilities:fe,access:{kind:"editing"},readOnly:!1,takeOverEditing:()=>{},viewReadOnly:()=>{},saveConflict:null,reloadFromServer:()=>{},navigate:()=>{},pendingNav:null,cancelPendingNav:()=>{},discardAndNavigate:()=>{},saveAndNavigate:async()=>{}}),[r,v,w,h,_,m,p,k,C,N.retryNow]),z=l(()=>we(!A.readOnly),[A.readOnly]);return a===void 0?o("div",{className:"sf-msg",children:F("Loading…")}):a===null||!m?o("div",{className:"sf-msg sf-msg--error",children:F("Couldn’t open this section.")}):o($.Provider,{value:A,children:o(ee,{themeMode:K,chromePlaceholder:!0,children:o(ge,{wrap:c.chrome?.wrap,surface:"section",children:o(te,{children:o(re,{children:o(oe,{children:o(ie,{children:o(ne,{children:o(se,{children:o(Ae,{config:q,data:m,onChange:k,permissions:z,children:o(Ie,{})},r)})})})})})})})})})}export{Oe as default};
1
+ "use client";import{jsx as o}from"react/jsx-runtime";import{useCallback as H,useEffect as P,useMemo as l,useRef as V,useState as u}from"react";import x from"next/dynamic";import"efficient-easel/easel.css";import"efficient-easel/shell.css";import"efficient-easel/rail.css";import"efficient-easel/panel.css";import"efficient-easel/fields.css";import"efficient-easel/pick.css";import"efficient-easel/copy.css";import"efficient-easel/gold.css";import"efficient-easel/text-styles.css";import"efficient-easel/menu.css";import"efficient-easel/chrome.css";import"efficient-easel/tree.css";import"efficient-easel/screen.css";import"./storefront-editor.css";import{buildConfig as X}from"../lib/document/build-config.js";import{withTemplateMediaPlaceholders as Z}from"../../format/lib/document/templateFields.js";import{setEditorPageSlug as B}from"../../format/lib/document/editor-page-context.js";import{ScreenDocumentContext as $}from"efficient-easel/screen/components/ScreenDocumentContext";import{PreviewHeaderProvider as ee}from"../../render/components/PreviewHeaderContext.js";import{PreviewTickerProvider as te}from"../../render/components/PreviewTickerContext.js";import{PreviewHeroPartProvider as re}from"../../render/components/PreviewHeroPartContext.js";import{PreviewPartsProvider as oe}from"efficient-easel/draw/client";import{CanvasPartsBridge as ie}from"./CanvasPartsBridge.js";import{PreviewLocationPartProvider as ne}from"../../render/components/PreviewLocationPartContext.js";import{PreviewPartStyleProvider as se}from"./PreviewPartStyleContext.js";import{sectionTemplates as b}from"efficient-easel/screen/lib/section-templates";import{nodeToDoc as de,docToNode as R}from"efficient-easel/screen/lib/document/section-doc";import{newNodeId as ae}from"efficient-easel/draw";import{migrateRenamedProps as ce}from"../../format/lib/document/renamed-props.js";import{buildSlotSeedChildren as me}from"../../render/lib/document/slot-specs.js";import{FOOTER_TYPE as le,buildDefaultFooterBlocks as ue}from"../lib/document/footer-blocks.js";import{NO_BRIDGED_CAPABILITIES as fe,useAdminBridge as pe}from"efficient-easel/screen/lib/admin-bridge";import{useEaselHost as ve}from"efficient-easel/screen/lib/host";import{ChromeWrap as ge}from"efficient-easel/screen/lib/host-chrome";import{sessionRegistry as he}from"efficient-easel/screen/lib/session";import{useEaselSession as Pe}from"efficient-easel/screen/lib/session-context";import{say as F}from"../../format/lib/editor-words.js";import{retargetWhenSaved as Se}from"../../format/lib/section-retarget.js";import{routeSharedHostMessage as Ee}from"efficient-easel/screen/lib/host-inbound";import{routeWebsiteHostMessage as ye}from"../../format/lib/website-host-inbound.js";import{DEFAULT_THEME_MODE as S,THEME_MODE_KEY as Te}from"../../format/lib/theme.js";import{makeSitePageAdapter as L}from"../lib/editor-document-adapter.js";import{documentPermissions as we}from"efficient-easel/edit-lock";import{useAutosave as Ne}from"efficient-easel/autosave";import{saveStatusOf as Ce}from"efficient-easel/screen/lib/document-switch";import{blocksOf as ke}from"../lib/website-session.js";const Ae=x(()=>import("./SiteEditorProvider.js"),{ssr:!1}),Ie=x(()=>import("efficient-easel/screen/components/SectionScreenShell"),{ssr:!1}),U="HeroSingle",W="Untitled section";function be(i,E){const d=E.components,r=d[i]?i:U,y=d[r]?.defaultProps??{},n=me(r,f=>d[f]?.defaultProps??{}),s=r===le?{blocks:ue()}:null;return{type:r,props:{id:ae(r),...y,...n?{[n.slot]:n.children}:null,...s}}}function Me(){if(typeof window>"u")return S;try{const i=window.localStorage.getItem(Te);return i==="light"||i==="dark"||i==="auto"?i:S}catch{return S}}function Oe({id:i,initialType:E,initialName:d=W}){const[r,y]=u(i),n=V(r);P(()=>{n.current=r},[r]);const s=ve(),[f,Y]=u(E),[M,j]=u(d),[a,T]=u(void 0),[K,G]=u(S),{token:w,tokenRef:O}=pe({onMessage:e=>{if(ye(e)||Ee(e))return;const t=e;if(t?.type==="storefront-editor:navigate"&&t.target?.kind==="section"&&t.target.id){const I=t.target.id;if(I===n.current)return;const J=t.target.type,Q=t.target.name;Se(C,()=>{Y(J),j(Q||W),y(I),s.address.show({kind:"section",id:I})},()=>s.send("storefront-editor:save-failed"))}}}),N=Ne({save:e=>b.update(e.id,e.node).then(()=>{}),onFailure:(e,t)=>{t===0&&s.send("storefront-editor:save-failed")}}),{state:p,push:D,flush:C}=N;P(()=>G(Me()),[]);const c=Pe(),v=c.usesBridgedToken?!!w:!0,g=l(()=>X(he(c),ke(c)),[c]);P(()=>{if(!v)return;let e=!1;return T(void 0),b.ensure(r,M,be(f??U,g)).then(t=>!e&&T(t.node)).catch(()=>!e&&T(null)),()=>{e=!0}},[r,f,M,v,g]);const k=H(e=>{s.send("storefront-editor:dirty");const t=R(e);t&&D({id:n.current,node:t})},[D,s]),h=s.send,_=H(async e=>{try{return await e(O.current??""),!0}catch{return h("storefront-editor:save-failed"),!1}},[h]),q=l(()=>Z(g,!0),[g]);P(()=>(B(null),()=>B(null)),[]);const m=l(()=>a?ce(de(a)):null,[a]),A=l(()=>({target:{kind:"page",slug:""},adapter:L(void 0),capabilities:L(void 0).capabilities,templateId:null,currentSlug:"",currentKind:null,siteId:null,ready:v,token:w,tokenRef:O,notifyParent:h,runAuthed:_,docId:r,data:m,getLiveData:()=>m,error:null,redirecting:!1,saveStatus:Ce(p),saveState:p,autoSaveEnabled:!0,autoSaveStoppedByConflict:!1,hasUnsavedEdits:p.pending,toggleAutoSave:()=>{},retrySave:()=>{N.retryNow()},onChange:k,flushSave:C,onPublish:async e=>{const t=R(e);t&&await b.update(n.current,t)},bridgeCapabilities:fe,access:{kind:"editing"},readOnly:!1,takeOverEditing:()=>{},viewReadOnly:()=>{},saveConflict:null,reloadFromServer:()=>{},navigate:()=>{},pendingNav:null,cancelPendingNav:()=>{},discardAndNavigate:()=>{},saveAndNavigate:async()=>{}}),[r,v,w,h,_,m,p,k,C,N.retryNow]),z=l(()=>we(!A.readOnly),[A.readOnly]);return a===void 0?o("div",{className:"sf-msg",children:F("Loading…")}):a===null||!m?o("div",{className:"sf-msg sf-msg--error",children:F("Couldn’t open this section.")}):o($.Provider,{value:A,children:o(ee,{themeMode:K,chromePlaceholder:!0,children:o(ge,{wrap:c.chrome?.wrap,surface:"section",children:o(te,{children:o(re,{children:o(oe,{children:o(ie,{children:o(ne,{children:o(se,{children:o(Ae,{config:q,data:m,onChange:k,permissions:z,children:o(Ie,{})},r)})})})})})})})})})}export{Oe as default};
@@ -1 +1 @@
1
- "use client";import{jsx as c,jsxs as it}from"react/jsx-runtime";import{useCallback as n,useEffect as S,useMemo as oe,useRef as f,useState as r}from"react";import"efficient-easel/easel.css";import"efficient-easel/shell.css";import"efficient-easel/rail.css";import"efficient-easel/panel.css";import"efficient-easel/fields.css";import"efficient-easel/pick.css";import"efficient-easel/copy.css";import"efficient-easel/gold.css";import"efficient-easel/text-styles.css";import"efficient-easel/menu.css";import"efficient-easel/chrome.css";import"efficient-easel/tree.css";import"efficient-easel/drag.css";import"efficient-easel/screen.css";import"./storefront-editor.css";import{buildConfig as ct}from"../lib/puck/build-config.js";import{ChromeWrap as st}from"efficient-easel/screen/lib/host-chrome";import{sessionRegistry as dt}from"efficient-easel/screen/lib/session";import{refreshSiteLiveState as ut}from"../lib/site-live-state.js";import{holdSiteWrites as ht}from"../../format/lib/site-writes.js";import{backendOf as W,blocksOf as lt}from"../lib/website-session.js";import{useEaselSession as mt}from"efficient-easel/screen/lib/session-context";import{withSiteBlockGapFields as pt}from"../../format/lib/puck/site-gap-fields.js";import{withTemplateMediaPlaceholders as St}from"../../format/lib/puck/templateFields.js";import{setEditorPage as ne}from"../../format/lib/puck/editor-page-context.js";import{resolveSiteName as ft}from"../../format/lib/content/site-name.js";import{normalizeSiteGutter as gt,normalizeSiteWidth as wt}from"../../format/lib/content/page-width.js";import{normalizeSiteBackground as ae}from"../../format/lib/content/section-width.js";import{normalizeSiteBlockGap as Ct}from"../../format/lib/content/container-gap.js";import _t,{DocumentScreen as Tt}from"efficient-easel/screen/components/ScreenMount";import{useScreenDocument as Et}from"efficient-easel/screen/components/ScreenDocumentContext";import{PreviewHeaderProvider as yt}from"../../render/components/PreviewHeaderContext.js";import{PreviewFooterProvider as Pt}from"./PreviewFooterContext.js";import{PreviewChatProvider as vt,DEFAULT_CHAT_PREVIEW as Wt}from"./PreviewChatContext.js";import{PreviewSocialProvider as Ht}from"../../render/components/PreviewSocialContext.js";import{useSocialSettings as kt}from"./useSocialSettings.js";import{PreviewSurfaceProvider as Gt}from"./PreviewSurfaceContext.js";import{WEBSITE_ADDRESSING as Bt}from"../lib/website-document-addressing.js";import{PreviewTickerProvider as Rt}from"../../render/components/PreviewTickerContext.js";import{PreviewHeroPartProvider as It}from"../../render/components/PreviewHeroPartContext.js";import{PreviewPartsProvider as Ft}from"efficient-easel/draw/client";import{CanvasPartsBridge as Dt}from"./CanvasPartsBridge.js";import{PreviewLocationPartProvider as Mt}from"../../render/components/PreviewLocationPartContext.js";import{PreviewPartStyleProvider as xt}from"./PreviewPartStyleContext.js";import{CORNER_STYLE_TO_PX as Nt,DEFAULT_HEADING_COMPRESSION as Ot,DEFAULT_HEADING_TYPOGRAPHY as bt,DEFAULT_SWITCH_SHOWN as H,DEFAULT_SIZES as At,DEFAULT_THEME_MODE as _,normalizeCornerRadius as zt,normalizeCornerStyle as Lt,normalizeCardShadow as Yt,normalizeCardGap as Ut,normalizeHoverEffect as jt,normalizeShadowColor as Kt,IDENTITY_CARD_GAP as ie,IDENTITY_CARD_SHADOW as Vt,IDENTITY_HOVER_EFFECT as Xt,THEME_MODE_KEY as ce,THEME_STORAGE_KEY as Zt,THEME_SWITCH_HIDE as se,THEME_SWITCH_KEY as k}from"../../format/lib/theme.js";import{DEFAULT_FONTS as qt}from"../../format/lib/fonts.js";import{WEBSITE_SCREEN as Jt}from"./WebsiteScreenParts.js";import{routeWebsiteHostMessage as Qt}from"../../format/lib/website-host-inbound.js";import{siteTextFromRow as $t}from"../../render/lib/text-styles/site-text-styles.js";import{wordStylesFromRow as er}from"../../format/lib/word-styles.js";import{chatPreviewFrom as tr}from"./PreviewChatContext.js";const rr=()=>{if(typeof window>"u")return _;try{const i=window.localStorage.getItem(ce);return i==="light"||i==="dark"||i==="auto"?i:_}catch{return _}},de=i=>{if(!(typeof window>"u"))try{window.localStorage.setItem(ce,i)}catch{}},or=()=>{if(typeof window>"u")return H;try{return window.localStorage.getItem(k)!==se}catch{return H}},nr=()=>{if(!(typeof window>"u"))try{window.localStorage.removeItem(Zt)}catch{}},ue=i=>{if(!(typeof window>"u"))try{i?window.localStorage.removeItem(k):window.localStorage.setItem(k,se)}catch{}};function ar(){const{adapter:i,capabilities:d,templateId:G,ready:w,token:h,siteId:s,currentSlug:B,currentKind:R}=Et();S(()=>(ne(B,R),()=>ne(null,null)),[B,R]);const T=d.placeholderFrames,[he,I]=r(null),[le,F]=r("");S(()=>{const e=i.templateName;if(!w||!G||!e){F("");return}let a=!1;return e().then(l=>!a&&F(l??"")).catch(()=>{}),()=>{a=!0}},[w,h,G,i]);const[me,E]=r(_),[pe,y]=r(H),[Se,D]=r({selected:0,themes:[]}),[fe,M]=r(qt),[ge,x]=r(At),[we,N]=r(null),[Ce,O]=r(Ot),[_e,b]=r(null),[Te,A]=r(null),[Ee,z]=r(ie),[ye,L]=r(null),[Pe,Y]=r(null),[ve,U]=r(null),[P,j]=r(null),u=mt(),K=oe(()=>ct(dt(u),lt(u)),[u]),We=oe(()=>pt(St(K,T),P),[K,T,P]),[He,V]=r(bt),[ke,X]=r(null),[Ge,Z]=r(null),[Be,q]=r(null),[Re,J]=r(null),[Ie,Q]=r(null),$=f(null),o=f(!1);S(()=>{E(rr()),y(or())},[]);const Fe=n(e=>{o.current=!0,nr(),de(e),E(e)},[]),De=n(e=>{o.current=!0,ue(e),y(e)},[]),Me=n(e=>{o.current=!0,D(e)},[]),xe=n(e=>{o.current=!0,M(e)},[]),Ne=n(e=>{o.current=!0,x(e)},[]),Oe=n(e=>{o.current=!0,N(e)},[]),be=n(e=>{o.current=!0,O(e)},[]),Ae=n(e=>{o.current=!0,b(e)},[]),ze=n(e=>{o.current=!0,A(e)},[]),Le=n(e=>{o.current=!0,z(e)},[]),Ye=n(e=>{o.current=!0,L(e)},[]),Ue=n(e=>{o.current=!0,V(e)},[]),[je,ee]=r(null),[Ke,Ve]=r(null),Xe=n(e=>{o.current=!0,ee(e)},[]),Ze=n(e=>{o.current=!0,Y(e)},[]),qe=n(e=>{o.current=!0,U(e)},[]),Je=n(e=>{o.current=!0,j(e)},[]),Qe=n(e=>{o.current=!0,X(e)},[]),$e=n(e=>{o.current=!0,Z(e)},[]),et=n(e=>{o.current=!0,q(e)},[]),tt=n(e=>{o.current=!0,J(e)},[]),rt=n(e=>{o.current=!0,Q(e)},[]);S(()=>{const e=W(u).theme;if(!h||!d.hasSiteTheme||!e)return;const a=s??"";$.current!==a&&($.current=a,o.current=!1);let l=!1;return e.get(s?{siteId:s}:void 0).then(t=>{if(l||o.current)return;de(t.default_mode),ue(t.show_theme_switch),E(t.default_mode),y(t.show_theme_switch),D({selected:t.selected_preset,themes:t.theme_presets});const g=$t(t);M(g.fonts),x(g.sizes),N(t.corner_radius_px===void 0?Nt[Lt(t.corner_style)]:zt(t.corner_radius_px)),O(g.compression),b(t.card_shadow==null?Vt:Yt(t.card_shadow)),z(t.card_gap==null?ie:Ut(t.card_gap)),L(t.hover_effect==null?Xt:jt(t.hover_effect)),A(Kt(t.shadow_color)),Y(wt(t.site_width)),U(gt(t.site_gutter)),j(Ct(t.block_gap)),V(g.typography),ee(g.textStyles),Ve(er(t)),X(t.hero_background_follows_width===!0),Z(ae(t.section_background_width)),q(ae(t.section_content_width)),J(t.photography_grayscale===!0),Q(t.share_button_on_posts===!0)}).catch(()=>{}),()=>{l=!0}},[h,s,d.hasSiteTheme,u]);const ot=kt({token:h,siteId:s,enabled:d.hasSiteSettings}),[nt,te]=r(Wt),re=f(null),v=f(!1),m=f(null),p=f({}),C=n(async()=>{m.current&&clearTimeout(m.current),m.current=null;const e=p.current;p.current={};try{await W(u).chat?.update(e,s?{siteId:s}:void 0),ut()}catch(a){throw p.current={...e,...p.current},a}},[u,s]);S(()=>ht(()=>m.current||Object.keys(p.current).length>0?C():void 0),[C]);const at=n(e=>{v.current=!0,te(a=>({...a,...e})),!(!d.hasSiteSettings||!h)&&(p.current={...p.current,...e},m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{C().catch(()=>{})},500))},[d.hasSiteSettings,h,C]);return S(()=>{if(!h||!d.hasSiteSettings)return;const e=s??"";re.current!==e&&(re.current=e,v.current=!1);let a=!1;const l=W(u).chat;if(l)return l.get(s?{siteId:s}:void 0).then(t=>{a||v.current||te(tr(t))}).catch(()=>{}),()=>{a=!0}},[h,s,d.hasSiteSettings,u]),S(()=>{const e=i.site;if(!w||!d.hasSiteRecord||!e){I(null);return}let a=!1;return e().then(l=>{a||I(ft(l.name))}).catch(()=>{}),()=>{a=!0}},[w,h,d.hasSiteRecord,s,i]),c(Tt,{config:We,parts:Jt,wrap:(e,a)=>c(yt,{websiteName:he,templateChrome:T,templateName:le||null,themeMode:me,onThemeModeChange:Fe,themeSwitchShown:pe,onThemeSwitchShownChange:De,theme:Se,onThemeChange:Me,fonts:fe,onFontsChange:xe,cornerRadiusPx:we,onCornerRadiusPxChange:Oe,cardShadow:_e,onCardShadowChange:Ae,shadowColor:Te,onShadowColorChange:ze,cardGap:Ee,onCardGapChange:Le,hoverEffect:ye,onHoverEffectChange:Ye,headingCompression:Ce,onHeadingCompressionChange:be,headingTypography:He,onHeadingTypographyChange:Ue,textStyles:je,onTextStylesChange:Xe,wordStyles:Ke,sizes:ge,onSizesChange:Ne,siteWidth:Pe,onSiteWidthChange:Ze,siteGutter:ve,onSiteGutterChange:qe,blockGap:P,onBlockGapChange:Je,heroBackgroundFollowsWidth:ke,onHeroBackgroundFollowsWidthChange:Qe,sectionBackgroundWidth:Ge,onSectionBackgroundWidthChange:$e,sectionContentWidth:Be,onSectionContentWidthChange:et,photographyGrayscale:Re,onPhotographyGrayscaleChange:tt,shareButtonOnPosts:Ie,onShareButtonOnPostsChange:rt,themeFromDocument:!d.hasSiteTheme,children:c(Pt,{children:c(st,{wrap:u.chrome?.wrap,surface:"page",children:c(Rt,{children:c(It,{children:c(Ft,{children:c(Dt,{children:c(Mt,{children:it(xt,{children:[c(vt,{chat:nt,onChatChange:at,children:c(Ht,{value:ot,children:c(Gt,{children:e})})}),a]})})})})})})})})})})}function ir({target:i}){return c(_t,{target:i,addressing:Bt,onHostMessage:Qt,children:c(ar,{})})}export{ir as default};
1
+ "use client";import{jsx as c,jsxs as it}from"react/jsx-runtime";import{useCallback as n,useEffect as S,useMemo as oe,useRef as f,useState as r}from"react";import"efficient-easel/easel.css";import"efficient-easel/shell.css";import"efficient-easel/rail.css";import"efficient-easel/panel.css";import"efficient-easel/fields.css";import"efficient-easel/pick.css";import"efficient-easel/copy.css";import"efficient-easel/gold.css";import"efficient-easel/text-styles.css";import"efficient-easel/menu.css";import"efficient-easel/chrome.css";import"efficient-easel/tree.css";import"efficient-easel/drag.css";import"efficient-easel/screen.css";import"./storefront-editor.css";import{buildConfig as ct}from"../lib/document/build-config.js";import{ChromeWrap as st}from"efficient-easel/screen/lib/host-chrome";import{sessionRegistry as dt}from"efficient-easel/screen/lib/session";import{refreshSiteLiveState as ut}from"../lib/site-live-state.js";import{holdSiteWrites as ht}from"../../format/lib/site-writes.js";import{backendOf as W,blocksOf as lt}from"../lib/website-session.js";import{useEaselSession as mt}from"efficient-easel/screen/lib/session-context";import{withSiteBlockGapFields as pt}from"../../format/lib/document/site-gap-fields.js";import{withTemplateMediaPlaceholders as St}from"../../format/lib/document/templateFields.js";import{setEditorPage as ne}from"../../format/lib/document/editor-page-context.js";import{resolveSiteName as ft}from"../../format/lib/content/site-name.js";import{normalizeSiteGutter as gt,normalizeSiteWidth as wt}from"../../format/lib/content/page-width.js";import{normalizeSiteBackground as ae}from"../../format/lib/content/section-width.js";import{normalizeSiteBlockGap as Ct}from"../../format/lib/content/container-gap.js";import _t,{DocumentScreen as Tt}from"efficient-easel/screen/components/ScreenMount";import{useScreenDocument as Et}from"efficient-easel/screen/components/ScreenDocumentContext";import{PreviewHeaderProvider as yt}from"../../render/components/PreviewHeaderContext.js";import{PreviewFooterProvider as Pt}from"./PreviewFooterContext.js";import{PreviewChatProvider as vt,DEFAULT_CHAT_PREVIEW as Wt}from"./PreviewChatContext.js";import{PreviewSocialProvider as Ht}from"../../render/components/PreviewSocialContext.js";import{useSocialSettings as kt}from"./useSocialSettings.js";import{PreviewSurfaceProvider as Gt}from"./PreviewSurfaceContext.js";import{WEBSITE_ADDRESSING as Bt}from"../lib/website-document-addressing.js";import{PreviewTickerProvider as Rt}from"../../render/components/PreviewTickerContext.js";import{PreviewHeroPartProvider as It}from"../../render/components/PreviewHeroPartContext.js";import{PreviewPartsProvider as Ft}from"efficient-easel/draw/client";import{CanvasPartsBridge as Dt}from"./CanvasPartsBridge.js";import{PreviewLocationPartProvider as Mt}from"../../render/components/PreviewLocationPartContext.js";import{PreviewPartStyleProvider as xt}from"./PreviewPartStyleContext.js";import{CORNER_STYLE_TO_PX as Nt,DEFAULT_HEADING_COMPRESSION as Ot,DEFAULT_HEADING_TYPOGRAPHY as bt,DEFAULT_SWITCH_SHOWN as H,DEFAULT_SIZES as At,DEFAULT_THEME_MODE as _,normalizeCornerRadius as zt,normalizeCornerStyle as Lt,normalizeCardShadow as Yt,normalizeCardGap as Ut,normalizeHoverEffect as jt,normalizeShadowColor as Kt,IDENTITY_CARD_GAP as ie,IDENTITY_CARD_SHADOW as Vt,IDENTITY_HOVER_EFFECT as Xt,THEME_MODE_KEY as ce,THEME_STORAGE_KEY as Zt,THEME_SWITCH_HIDE as se,THEME_SWITCH_KEY as k}from"../../format/lib/theme.js";import{DEFAULT_FONTS as qt}from"../../format/lib/fonts.js";import{WEBSITE_SCREEN as Jt}from"./WebsiteScreenParts.js";import{routeWebsiteHostMessage as Qt}from"../../format/lib/website-host-inbound.js";import{siteTextFromRow as $t}from"../../render/lib/text-styles/site-text-styles.js";import{wordStylesFromRow as er}from"../../format/lib/word-styles.js";import{chatPreviewFrom as tr}from"./PreviewChatContext.js";const rr=()=>{if(typeof window>"u")return _;try{const i=window.localStorage.getItem(ce);return i==="light"||i==="dark"||i==="auto"?i:_}catch{return _}},de=i=>{if(!(typeof window>"u"))try{window.localStorage.setItem(ce,i)}catch{}},or=()=>{if(typeof window>"u")return H;try{return window.localStorage.getItem(k)!==se}catch{return H}},nr=()=>{if(!(typeof window>"u"))try{window.localStorage.removeItem(Zt)}catch{}},ue=i=>{if(!(typeof window>"u"))try{i?window.localStorage.removeItem(k):window.localStorage.setItem(k,se)}catch{}};function ar(){const{adapter:i,capabilities:d,templateId:G,ready:w,token:h,siteId:s,currentSlug:B,currentKind:R}=Et();S(()=>(ne(B,R),()=>ne(null,null)),[B,R]);const T=d.placeholderFrames,[he,I]=r(null),[le,F]=r("");S(()=>{const e=i.templateName;if(!w||!G||!e){F("");return}let a=!1;return e().then(l=>!a&&F(l??"")).catch(()=>{}),()=>{a=!0}},[w,h,G,i]);const[me,E]=r(_),[pe,y]=r(H),[Se,D]=r({selected:0,themes:[]}),[fe,M]=r(qt),[ge,x]=r(At),[we,N]=r(null),[Ce,O]=r(Ot),[_e,b]=r(null),[Te,A]=r(null),[Ee,z]=r(ie),[ye,L]=r(null),[Pe,Y]=r(null),[ve,U]=r(null),[P,j]=r(null),u=mt(),K=oe(()=>ct(dt(u),lt(u)),[u]),We=oe(()=>pt(St(K,T),P),[K,T,P]),[He,V]=r(bt),[ke,X]=r(null),[Ge,Z]=r(null),[Be,q]=r(null),[Re,J]=r(null),[Ie,Q]=r(null),$=f(null),o=f(!1);S(()=>{E(rr()),y(or())},[]);const Fe=n(e=>{o.current=!0,nr(),de(e),E(e)},[]),De=n(e=>{o.current=!0,ue(e),y(e)},[]),Me=n(e=>{o.current=!0,D(e)},[]),xe=n(e=>{o.current=!0,M(e)},[]),Ne=n(e=>{o.current=!0,x(e)},[]),Oe=n(e=>{o.current=!0,N(e)},[]),be=n(e=>{o.current=!0,O(e)},[]),Ae=n(e=>{o.current=!0,b(e)},[]),ze=n(e=>{o.current=!0,A(e)},[]),Le=n(e=>{o.current=!0,z(e)},[]),Ye=n(e=>{o.current=!0,L(e)},[]),Ue=n(e=>{o.current=!0,V(e)},[]),[je,ee]=r(null),[Ke,Ve]=r(null),Xe=n(e=>{o.current=!0,ee(e)},[]),Ze=n(e=>{o.current=!0,Y(e)},[]),qe=n(e=>{o.current=!0,U(e)},[]),Je=n(e=>{o.current=!0,j(e)},[]),Qe=n(e=>{o.current=!0,X(e)},[]),$e=n(e=>{o.current=!0,Z(e)},[]),et=n(e=>{o.current=!0,q(e)},[]),tt=n(e=>{o.current=!0,J(e)},[]),rt=n(e=>{o.current=!0,Q(e)},[]);S(()=>{const e=W(u).theme;if(!h||!d.hasSiteTheme||!e)return;const a=s??"";$.current!==a&&($.current=a,o.current=!1);let l=!1;return e.get(s?{siteId:s}:void 0).then(t=>{if(l||o.current)return;de(t.default_mode),ue(t.show_theme_switch),E(t.default_mode),y(t.show_theme_switch),D({selected:t.selected_preset,themes:t.theme_presets});const g=$t(t);M(g.fonts),x(g.sizes),N(t.corner_radius_px===void 0?Nt[Lt(t.corner_style)]:zt(t.corner_radius_px)),O(g.compression),b(t.card_shadow==null?Vt:Yt(t.card_shadow)),z(t.card_gap==null?ie:Ut(t.card_gap)),L(t.hover_effect==null?Xt:jt(t.hover_effect)),A(Kt(t.shadow_color)),Y(wt(t.site_width)),U(gt(t.site_gutter)),j(Ct(t.block_gap)),V(g.typography),ee(g.textStyles),Ve(er(t)),X(t.hero_background_follows_width===!0),Z(ae(t.section_background_width)),q(ae(t.section_content_width)),J(t.photography_grayscale===!0),Q(t.share_button_on_posts===!0)}).catch(()=>{}),()=>{l=!0}},[h,s,d.hasSiteTheme,u]);const ot=kt({token:h,siteId:s,enabled:d.hasSiteSettings}),[nt,te]=r(Wt),re=f(null),v=f(!1),m=f(null),p=f({}),C=n(async()=>{m.current&&clearTimeout(m.current),m.current=null;const e=p.current;p.current={};try{await W(u).chat?.update(e,s?{siteId:s}:void 0),ut()}catch(a){throw p.current={...e,...p.current},a}},[u,s]);S(()=>ht(()=>m.current||Object.keys(p.current).length>0?C():void 0),[C]);const at=n(e=>{v.current=!0,te(a=>({...a,...e})),!(!d.hasSiteSettings||!h)&&(p.current={...p.current,...e},m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{C().catch(()=>{})},500))},[d.hasSiteSettings,h,C]);return S(()=>{if(!h||!d.hasSiteSettings)return;const e=s??"";re.current!==e&&(re.current=e,v.current=!1);let a=!1;const l=W(u).chat;if(l)return l.get(s?{siteId:s}:void 0).then(t=>{a||v.current||te(tr(t))}).catch(()=>{}),()=>{a=!0}},[h,s,d.hasSiteSettings,u]),S(()=>{const e=i.site;if(!w||!d.hasSiteRecord||!e){I(null);return}let a=!1;return e().then(l=>{a||I(ft(l.name))}).catch(()=>{}),()=>{a=!0}},[w,h,d.hasSiteRecord,s,i]),c(Tt,{config:We,parts:Jt,wrap:(e,a)=>c(yt,{websiteName:he,templateChrome:T,templateName:le||null,themeMode:me,onThemeModeChange:Fe,themeSwitchShown:pe,onThemeSwitchShownChange:De,theme:Se,onThemeChange:Me,fonts:fe,onFontsChange:xe,cornerRadiusPx:we,onCornerRadiusPxChange:Oe,cardShadow:_e,onCardShadowChange:Ae,shadowColor:Te,onShadowColorChange:ze,cardGap:Ee,onCardGapChange:Le,hoverEffect:ye,onHoverEffectChange:Ye,headingCompression:Ce,onHeadingCompressionChange:be,headingTypography:He,onHeadingTypographyChange:Ue,textStyles:je,onTextStylesChange:Xe,wordStyles:Ke,sizes:ge,onSizesChange:Ne,siteWidth:Pe,onSiteWidthChange:Ze,siteGutter:ve,onSiteGutterChange:qe,blockGap:P,onBlockGapChange:Je,heroBackgroundFollowsWidth:ke,onHeroBackgroundFollowsWidthChange:Qe,sectionBackgroundWidth:Ge,onSectionBackgroundWidthChange:$e,sectionContentWidth:Be,onSectionContentWidthChange:et,photographyGrayscale:Re,onPhotographyGrayscaleChange:tt,shareButtonOnPosts:Ie,onShareButtonOnPostsChange:rt,themeFromDocument:!d.hasSiteTheme,children:c(Pt,{children:c(st,{wrap:u.chrome?.wrap,surface:"page",children:c(Rt,{children:c(It,{children:c(Ft,{children:c(Dt,{children:c(Mt,{children:it(xt,{children:[c(vt,{chat:nt,onChatChange:at,children:c(Ht,{value:ot,children:c(Gt,{children:e})})}),a]})})})})})})})})})})}function ir({target:i}){return c(_t,{target:i,addressing:Bt,onHostMessage:Qt,children:c(ar,{})})}export{ir as default};
@@ -1 +1 @@
1
- "use client";import{jsx as n,Fragment as g,jsxs as y}from"react/jsx-runtime";import{useState as k}from"react";import{createNode as w,newId as x}from"efficient-easel/data";import{useEasel as S}from"efficient-easel/easel";import{Banner as F,Button as s}from"efficient-shell/ui";import{useScreenDocument as T}from"efficient-easel/screen/components/ScreenDocumentContext";import{boxFooterFromFooter as B}from"../../format/lib/puck/box-footer.js";import{FOOTER_TYPE as E}from"../lib/puck/footer-blocks.js";import{SITE_FOOTER_TYPE as a,withSectionGroup as _}from"../../format/lib/puck/section-groups.js";import{say as t}from"../../format/lib/editor-words.js";function O(){const{appState:c,dispatch:m,config:l}=S(o=>o),{readOnly:f}=T(),[u,r]=k(!1),i=c.data.content;if(f||i.some(o=>o.type===a))return null;const p=i.find(o=>o.type===E)??null,d=(o,e)=>w(l,o,e),h=()=>{const o=B(p,d,x(a));m({type:"setData",data:e=>({...e,content:[..._(e.content,o)]}),recordHistory:!0}),r(!1)};return n(F,{tone:"info",title:t("This footer uses the old layout"),action:u?y(g,{children:[n(s,{variant:"primary",size:"sm",onClick:h,children:t("Switch now")}),n(s,{variant:"secondary",size:"sm",onClick:()=>r(!1),children:t("Cancel")})]}):n(s,{variant:"secondary",size:"sm",onClick:()=>r(!0),children:t("Switch to Box footer")}),children:t("Build this footer out of Boxes and blocks, like a page: the same menus, signup, social links and logo, with the copyright as a Legal Line. Your current footer is kept.")})}export{O as default};
1
+ "use client";import{jsx as n,Fragment as g,jsxs as y}from"react/jsx-runtime";import{useState as k}from"react";import{createNode as w,newId as x}from"efficient-easel/data";import{useEasel as S}from"efficient-easel/easel";import{Banner as F,Button as s}from"efficient-shell/ui";import{useScreenDocument as T}from"efficient-easel/screen/components/ScreenDocumentContext";import{boxFooterFromFooter as B}from"../../format/lib/document/box-footer.js";import{FOOTER_TYPE as E}from"../lib/document/footer-blocks.js";import{SITE_FOOTER_TYPE as a,withSectionGroup as _}from"../../format/lib/document/section-groups.js";import{say as t}from"../../format/lib/editor-words.js";function O(){const{appState:c,dispatch:m,config:l}=S(o=>o),{readOnly:f}=T(),[u,r]=k(!1),i=c.data.content;if(f||i.some(o=>o.type===a))return null;const p=i.find(o=>o.type===E)??null,d=(o,e)=>w(l,o,e),h=()=>{const o=B(p,d,x(a));m({type:"setData",data:e=>({...e,content:[..._(e.content,o)]}),recordHistory:!0}),r(!1)};return n(F,{tone:"info",title:t("This footer uses the old layout"),action:u?y(g,{children:[n(s,{variant:"primary",size:"sm",onClick:h,children:t("Switch now")}),n(s,{variant:"secondary",size:"sm",onClick:()=>r(!1),children:t("Cancel")})]}):n(s,{variant:"secondary",size:"sm",onClick:()=>r(!0),children:t("Switch to Box footer")}),children:t("Build this footer out of Boxes and blocks, like a page: the same menus, signup, social links and logo, with the copyright as a Legal Line. Your current footer is kept.")})}export{O as default};
@@ -1 +1 @@
1
- "use client";import{useEasel as c}from"efficient-easel/easel";import{planTemplateRow as p,templateWrite as u}from"../lib/puck/template-field.js";import{useSectionOps as r}from"efficient-easel/screen/lib/puck/use-section-ops";function s({render:a,props:t}){const{appState:l,config:m}=c(o=>o),i=r(),e=t.name,n=e?p(m,l.data.content??[],l.ui.itemSelector,e):null;return a(!n||!e?t:{...t,value:n.value,onChange:o=>u(n,e,o,i.replaceComponent)})}export{s as default};
1
+ "use client";import{useEasel as c}from"efficient-easel/easel";import{planTemplateRow as p,templateWrite as u}from"../lib/document/template-field.js";import{useSectionOps as r}from"efficient-easel/screen/lib/document/use-section-ops";function s({render:a,props:t}){const{appState:l,config:m}=c(o=>o),i=r(),e=t.name,n=e?p(m,l.data.content??[],l.ui.itemSelector,e):null;return a(!n||!e?t:{...t,value:n.value,onChange:o=>u(n,e,o,i.replaceComponent)})}export{s as default};
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as d,Fragment as w}from"react/jsx-runtime";import{Button as b,IconButton as z,Tooltip as L}from"efficient-shell/ui";import O from"./ThemeColourField.js";import{say as a}from"../../format/lib/editor-words.js";import{ColourRow as k}from"../lib/puck/ColourControl.js";import{ButtonIcon as S,ChevronDownIcon as A,ChevronUpIcon as F,GroundIcon as j,LayoutIcon as D,SquareIcon as P,TextSmallIcon as H,TypeIcon as B}from"efficient-easel/icons";import{DEFAULT_THEMES as x,GRADE_LABEL as v,contrastRatio as I,gradeContrast as T,normalizeThemeColors as p,resolvedButtonInk as R,themeButtonColour as E,themeButtonInk as M}from"../../format/lib/theme.js";const U=t=>a("Theme {n}",{n:t+1});function $({colors:t}){const n=p(t),s=E(t)??n.accent;return d("span",{className:"sf-theme-page",style:{background:n.background,color:n.text},"aria-hidden":!0,children:[e("span",{className:"sf-theme-eyebrow",style:{color:n.muted},children:a("label")}),d("span",{className:"sf-theme-headline",children:[a("Heading")," ",e("span",{style:{color:n.accent},children:a("accent")})]}),e("span",{className:"sf-theme-body",children:a("body text")}),d("span",{className:"sf-theme-row",children:[e("span",{className:"sf-theme-btn",style:{background:s,color:R(t,n.accent)},children:a("button")}),e("span",{className:"sf-theme-mini",style:{background:n.surface,borderColor:n.line},children:a("card")})]})]})}const g={"Text color":e(B,{}),"Label color":e(H,{}),Background:e(j,{}),"Panels & cards":e(D,{}),Borders:e(P,{}),"Button color":e(S,{}),"Button text color":e(B,{})};function G({label:t,colorKey:n,value:s,onChange:c,idPrefix:o="sf-theme-ink"}){const r=`${o}-${n}`;return e(k,{label:a(t),icon:g[t],id:r,value:s,onChange:l=>c(n,l)})}function J({value:t,accent:n,onChange:s,idPrefix:c="sf-theme-ink"}){const o=`${c}-button`,r=/^#[0-9a-fA-F]{6}$/.test(t??""),l=r?t:n;return e(k,{label:a("Button color"),icon:g["Button color"],id:o,value:l,caption:r?l:a("Main"),onChange:s})}function W({colors:t,accent:n,onChange:s,idPrefix:c="sf-theme-ink"}){const o=`${c}-button-ink`,r=M(t),l=R(t,n),i=E(t)??n,m=T(I(l,i)??0);return e(k,{label:a("Button text color"),icon:g["Button text color"],hint:r&&m!=="good"?a("{grade} on the button",{grade:a(v[m])}):void 0,id:o,value:l,caption:r?l:a("Auto"),onChange:s})}const q=[{colour:!0},{label:"Text color",key:"text"},{label:"Label color",key:"muted"},{button:!0},{buttonInk:!0},{moduleBreak:!0},{label:"Background",key:"background"},{label:"Panels & cards",key:"surface"},{label:"Borders",key:"line"}];function K({colors:t,onChange:n,idPrefix:s}){const c=p(t);return e(w,{children:q.map(o=>"colour"in o?e(O,{value:t,onChange:n},"colour"):"moduleBreak"in o?e("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in o?e(J,{value:t.button,accent:c.accent,onChange:r=>n({...t,button:r}),idPrefix:s},"button"):"buttonInk"in o?e(W,{colors:t,accent:c.accent,onChange:r=>n({...t,buttonInk:r}),idPrefix:s},"buttonInk"):e(G,{label:o.label,colorKey:o.key,value:c[o.key],onChange:(r,l)=>n({...t,[r]:l}),idPrefix:s},o.key))})}function ne({index:t,colors:n,selected:s,role:c="radio",open:o,editable:r=!0,onPick:l,onEdit:i,onChangeColors:m}){const h=p(n),u=U(t),f=t<x.length&&!n.brandInk?x[t]:null,N=T(I(h.text,h.background)??0),y=f?JSON.stringify(n)!==JSON.stringify(f):!1,C=o!==void 0;return d("div",{className:`sf-theme-card${s?" is-selected":""}`,children:[e("button",{type:"button",role:c,"aria-checked":c==="radio"?s:void 0,"aria-selected":c==="option"?s:void 0,"aria-label":u,className:"sf-theme-pick",onClick:l,children:e($,{colors:n})}),d("div",{className:"sf-theme-foot",children:[e("span",{className:"sf-theme-name",children:u}),N!=="good"&&e("span",{className:"sf-theme-warn",children:a(v[N])}),r&&i&&C&&e("span",{className:"sf-theme-edit",children:e(L,{content:o?a("Collapse"):a("Edit colors"),children:e(z,{size:"sm","aria-expanded":o,"aria-controls":`sf-theme-colours-${t}`,"aria-label":o?a("Collapse {name}",{name:u}):a("Edit colors for {name}",{name:u}),onClick:i,children:o?e(F,{size:14}):e(A,{size:14})})})}),r&&i&&!C&&e(b,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":a("Edit {name}",{name:u}),onClick:i,children:a("Edit")})]}),o&&d("div",{id:`sf-theme-colours-${t}`,className:"sf-theme-colours",children:[e(K,{colors:n,onChange:_=>m?.(_)}),f&&e(b,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!y,onClick:()=>m?.({...f}),children:y?a("Reset {name} to the preset",{name:u}):a("Not changed")})]})]})}function ae({colors:t,name:n,nameId:s,open:c,menuId:o,labelId:r,buttonRef:l,onClick:i,onKeyDown:m,onEdit:h}){return d("div",{className:"sf-secttheme-btn",children:[e("button",{ref:l,type:"button",className:"sf-theme-pick","aria-expanded":c,"aria-controls":o,"aria-labelledby":`${r} ${s}`,onClick:i,onKeyDown:m,children:t?e($,{colors:t}):e("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),d("div",{className:"sf-theme-foot",children:[e("span",{id:s,className:"sf-theme-name",children:n}),h&&e(b,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":a("Edit {name}",{name:n}),onClick:h,children:a("Edit")}),e("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:i,children:e("span",{className:"sf-multi-caret",children:"▾"})})]})]})}export{ne as ThemeCard,ae as ThemeCardTrigger,G as ThemeColourRow,K as ThemeColourRows,$ as ThemePreview,U as themeName};
1
+ "use client";import{jsx as e,jsxs as d,Fragment as w}from"react/jsx-runtime";import{Button as b,IconButton as z,Tooltip as L}from"efficient-shell/ui";import O from"./ThemeColourField.js";import{say as a}from"../../format/lib/editor-words.js";import{ColourRow as k}from"../lib/document/ColourControl.js";import{ButtonIcon as S,ChevronDownIcon as A,ChevronUpIcon as F,GroundIcon as j,LayoutIcon as D,SquareIcon as P,TextSmallIcon as H,TypeIcon as B}from"efficient-easel/icons";import{DEFAULT_THEMES as x,GRADE_LABEL as v,contrastRatio as I,gradeContrast as T,normalizeThemeColors as p,resolvedButtonInk as R,themeButtonColour as E,themeButtonInk as M}from"../../format/lib/theme.js";const U=t=>a("Theme {n}",{n:t+1});function $({colors:t}){const n=p(t),s=E(t)??n.accent;return d("span",{className:"sf-theme-page",style:{background:n.background,color:n.text},"aria-hidden":!0,children:[e("span",{className:"sf-theme-eyebrow",style:{color:n.muted},children:a("label")}),d("span",{className:"sf-theme-headline",children:[a("Heading")," ",e("span",{style:{color:n.accent},children:a("accent")})]}),e("span",{className:"sf-theme-body",children:a("body text")}),d("span",{className:"sf-theme-row",children:[e("span",{className:"sf-theme-btn",style:{background:s,color:R(t,n.accent)},children:a("button")}),e("span",{className:"sf-theme-mini",style:{background:n.surface,borderColor:n.line},children:a("card")})]})]})}const g={"Text color":e(B,{}),"Label color":e(H,{}),Background:e(j,{}),"Panels & cards":e(D,{}),Borders:e(P,{}),"Button color":e(S,{}),"Button text color":e(B,{})};function G({label:t,colorKey:n,value:s,onChange:c,idPrefix:o="sf-theme-ink"}){const r=`${o}-${n}`;return e(k,{label:a(t),icon:g[t],id:r,value:s,onChange:l=>c(n,l)})}function J({value:t,accent:n,onChange:s,idPrefix:c="sf-theme-ink"}){const o=`${c}-button`,r=/^#[0-9a-fA-F]{6}$/.test(t??""),l=r?t:n;return e(k,{label:a("Button color"),icon:g["Button color"],id:o,value:l,caption:r?l:a("Main"),onChange:s})}function W({colors:t,accent:n,onChange:s,idPrefix:c="sf-theme-ink"}){const o=`${c}-button-ink`,r=M(t),l=R(t,n),i=E(t)??n,m=T(I(l,i)??0);return e(k,{label:a("Button text color"),icon:g["Button text color"],hint:r&&m!=="good"?a("{grade} on the button",{grade:a(v[m])}):void 0,id:o,value:l,caption:r?l:a("Auto"),onChange:s})}const q=[{colour:!0},{label:"Text color",key:"text"},{label:"Label color",key:"muted"},{button:!0},{buttonInk:!0},{moduleBreak:!0},{label:"Background",key:"background"},{label:"Panels & cards",key:"surface"},{label:"Borders",key:"line"}];function K({colors:t,onChange:n,idPrefix:s}){const c=p(t);return e(w,{children:q.map(o=>"colour"in o?e(O,{value:t,onChange:n},"colour"):"moduleBreak"in o?e("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in o?e(J,{value:t.button,accent:c.accent,onChange:r=>n({...t,button:r}),idPrefix:s},"button"):"buttonInk"in o?e(W,{colors:t,accent:c.accent,onChange:r=>n({...t,buttonInk:r}),idPrefix:s},"buttonInk"):e(G,{label:o.label,colorKey:o.key,value:c[o.key],onChange:(r,l)=>n({...t,[r]:l}),idPrefix:s},o.key))})}function ne({index:t,colors:n,selected:s,role:c="radio",open:o,editable:r=!0,onPick:l,onEdit:i,onChangeColors:m}){const h=p(n),u=U(t),f=t<x.length&&!n.brandInk?x[t]:null,N=T(I(h.text,h.background)??0),y=f?JSON.stringify(n)!==JSON.stringify(f):!1,C=o!==void 0;return d("div",{className:`sf-theme-card${s?" is-selected":""}`,children:[e("button",{type:"button",role:c,"aria-checked":c==="radio"?s:void 0,"aria-selected":c==="option"?s:void 0,"aria-label":u,className:"sf-theme-pick",onClick:l,children:e($,{colors:n})}),d("div",{className:"sf-theme-foot",children:[e("span",{className:"sf-theme-name",children:u}),N!=="good"&&e("span",{className:"sf-theme-warn",children:a(v[N])}),r&&i&&C&&e("span",{className:"sf-theme-edit",children:e(L,{content:o?a("Collapse"):a("Edit colors"),children:e(z,{size:"sm","aria-expanded":o,"aria-controls":`sf-theme-colours-${t}`,"aria-label":o?a("Collapse {name}",{name:u}):a("Edit colors for {name}",{name:u}),onClick:i,children:o?e(F,{size:14}):e(A,{size:14})})})}),r&&i&&!C&&e(b,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":a("Edit {name}",{name:u}),onClick:i,children:a("Edit")})]}),o&&d("div",{id:`sf-theme-colours-${t}`,className:"sf-theme-colours",children:[e(K,{colors:n,onChange:_=>m?.(_)}),f&&e(b,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!y,onClick:()=>m?.({...f}),children:y?a("Reset {name} to the preset",{name:u}):a("Not changed")})]})]})}function ae({colors:t,name:n,nameId:s,open:c,menuId:o,labelId:r,buttonRef:l,onClick:i,onKeyDown:m,onEdit:h}){return d("div",{className:"sf-secttheme-btn",children:[e("button",{ref:l,type:"button",className:"sf-theme-pick","aria-expanded":c,"aria-controls":o,"aria-labelledby":`${r} ${s}`,onClick:i,onKeyDown:m,children:t?e($,{colors:t}):e("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),d("div",{className:"sf-theme-foot",children:[e("span",{id:s,className:"sf-theme-name",children:n}),h&&e(b,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":a("Edit {name}",{name:n}),onClick:h,children:a("Edit")}),e("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:i,children:e("span",{className:"sf-multi-caret",children:"▾"})})]})]})}export{ne as ThemeCard,ae as ThemeCardTrigger,G as ThemeColourRow,K as ThemeColourRows,$ as ThemePreview,U as themeName};
@@ -1 +1 @@
1
- "use client";import{jsx as n,jsxs as u}from"react/jsx-runtime";import{AccentIcon as m}from"efficient-easel/icons";import{Tooltip as h}from"efficient-shell/ui";import{GRADE_LABEL as g,contrastRatio as c,darkerAccents as p,gradeContrast as f,normalizeThemeColors as y}from"../../format/lib/theme.js";import{ColourRow as b}from"../lib/puck/ColourControl.js";import{say as a}from"../../format/lib/editor-words.js";function d(r){return y(r).background}function k(r){const e=c(r.accent,d(r));return e===null?null:{ratio:e,grade:f(e)}}function A(r){const e=d(r),o=c(r.accent,e);return o===null?[]:p(r.accent).filter(s=>{const i=c(s,e);return i!==null&&i>o&&f(i)==="good"})}const C={good:"Easy to read","large-only":g["large-only"],hard:g.hard};function T({value:r,onChange:e}){const o=k(r),s=o?.grade,i=o&&o.grade!=="good"?A(r):[];return n(b,{label:a("Main color"),icon:n(m,{}),hint:o?a(C[o.grade]):void 0,value:r.accent,onChange:t=>e({...r,accent:t}),children:i.length>0?n("div",{className:"w-full min-w-0",children:u("div",{className:"sf-readability",children:[n("p",{className:"sf-readability-advice",children:E(s,!0)}),n("div",{className:"sf-readability-suggestions",children:i.map(t=>{const l=c(t,d(r));return n(h,{content:a("Use {colour}",{colour:t.toUpperCase()}),children:u("button",{type:"button",className:"sf-readability-suggestion",onClick:()=>e({...r,accent:t}),children:[n("span",{className:"sf-readability-chip",style:{background:t},"aria-hidden":!0}),l?`${l.toFixed(1)}:1`:t.toUpperCase()]})},t)})})]})}):null})}function E(r,e){return r?r==="good"?a("This color reads clearly on your pages."):e?a("This color is hard to read on this theme's page. The buttons below are the same hue, darkened."):a("This color is hard to read on your page background. Pick one further from it — lighter if your pages are dark, deeper if they are light."):a("Pick a color to see how it reads.")}export{T as default};
1
+ "use client";import{jsx as n,jsxs as u}from"react/jsx-runtime";import{AccentIcon as m}from"efficient-easel/icons";import{Tooltip as h}from"efficient-shell/ui";import{GRADE_LABEL as g,contrastRatio as c,darkerAccents as p,gradeContrast as f,normalizeThemeColors as y}from"../../format/lib/theme.js";import{ColourRow as b}from"../lib/document/ColourControl.js";import{say as a}from"../../format/lib/editor-words.js";function d(r){return y(r).background}function k(r){const e=c(r.accent,d(r));return e===null?null:{ratio:e,grade:f(e)}}function A(r){const e=d(r),o=c(r.accent,e);return o===null?[]:p(r.accent).filter(s=>{const i=c(s,e);return i!==null&&i>o&&f(i)==="good"})}const C={good:"Easy to read","large-only":g["large-only"],hard:g.hard};function T({value:r,onChange:e}){const o=k(r),s=o?.grade,i=o&&o.grade!=="good"?A(r):[];return n(b,{label:a("Main color"),icon:n(m,{}),hint:o?a(C[o.grade]):void 0,value:r.accent,onChange:t=>e({...r,accent:t}),children:i.length>0?n("div",{className:"w-full min-w-0",children:u("div",{className:"sf-readability",children:[n("p",{className:"sf-readability-advice",children:E(s,!0)}),n("div",{className:"sf-readability-suggestions",children:i.map(t=>{const l=c(t,d(r));return n(h,{content:a("Use {colour}",{colour:t.toUpperCase()}),children:u("button",{type:"button",className:"sf-readability-suggestion",onClick:()=>e({...r,accent:t}),children:[n("span",{className:"sf-readability-chip",style:{background:t},"aria-hidden":!0}),l?`${l.toFixed(1)}:1`:t.toUpperCase()]})},t)})})]})}):null})}function E(r,e){return r?r==="good"?a("This color reads clearly on your pages."):e?a("This color is hard to read on this theme's page. The buttons below are the same hue, darkened."):a("This color is hard to read on your page background. Pick one further from it — lighter if your pages are dark, deeper if they are light."):a("Pick a color to see how it reads.")}export{T as default};
@@ -1 +1 @@
1
- "use client";import{jsx as o,jsxs as d,Fragment as w}from"react/jsx-runtime";import{useState as f}from"react";import{SettingsDefaultReset as A,SettingsField as j}from"efficient-easel/panel";import{useEaselStrings as k}from"efficient-easel/strings";import{AddIcon as L}from"efficient-easel/icons";import{iconOf as D,noGlyph as F}from"../lib/puck/controls.js";import{ThemeCard as G}from"./ThemeCard.js";import{ClearColoursDialog as I}from"./ClearColoursDialog.js";import{say as m}from"../../format/lib/editor-words.js";import{BRAND_INKS as N,brandTheme as O,normalizeTheme as y,normalizeThemeColors as z,selectedThemeColors as B}from"../../format/lib/theme.js";const P=F("the row's whole content is an action; the gutter names a subject and this row has none — the button's label is the name GG, 2026-09-23"),v="Reset color",H={selected:0,themes:[]};function K(r){r(H)}function M({value:r,onChange:n}){const a=r?.themes??[],p=a.length===0,t=y(r),[u,c]=f(!1),g=k(),[b,h]=f(null),T=(e,s)=>{n({...t,themes:t.themes.map((l,S)=>S===e?s:l)})},E=B(t).accent,x=new Set(t.themes.map(e=>e.brandInk).filter(Boolean)),C=N.filter(e=>!x.has(e)).map(e=>O(E,e)),i=[...t.themes,...C],R=e=>{if(e<t.themes.length)return n({...t,selected:e});const s=[...t.themes,i[e]];n({...t,themes:s,selected:s.length-1})},_=()=>{const e=[...t.themes,{...z(t.themes[t.selected])}];n({...t,themes:e,selected:e.length-1}),h(e.length-1)};return d(w,{children:[p?null:o(j,{label:m(v),icon:D(P),labelId:"sf-theme-reset",action:o(A,{label:m("all theme colors"),words:g.panel,changed:!0,onReset:()=>c(!0)})}),u&&o(I,{count:a.length,onCancel:()=>c(!1),onConfirm:()=>{c(!1),K(n)}}),o("div",{className:"sf-theme-list",role:"radiogroup","aria-label":m("Theme"),children:i.map((e,s)=>o(G,{index:s,colors:e,selected:s===t.selected,open:b===s&&s<t.themes.length,editable:s<t.themes.length,onPick:()=>R(s),onEdit:()=>h(l=>l===s?null:s),onChangeColors:l=>T(s,l)},s))}),d("button",{type:"button",onClick:_,className:"sf-theme-add",children:[o(L,{size:12}),m("Add new theme")]})]})}export{H as CLEARED_THEME,v as RESET_COLOUR_LABEL,K as commitClearedTheme,M as default};
1
+ "use client";import{jsx as o,jsxs as d,Fragment as w}from"react/jsx-runtime";import{useState as f}from"react";import{SettingsDefaultReset as A,SettingsField as j}from"efficient-easel/panel";import{useEaselStrings as k}from"efficient-easel/strings";import{AddIcon as L}from"efficient-easel/icons";import{iconOf as D,noGlyph as F}from"../lib/document/controls.js";import{ThemeCard as G}from"./ThemeCard.js";import{ClearColoursDialog as I}from"./ClearColoursDialog.js";import{say as m}from"../../format/lib/editor-words.js";import{BRAND_INKS as N,brandTheme as O,normalizeTheme as y,normalizeThemeColors as z,selectedThemeColors as B}from"../../format/lib/theme.js";const P=F("the row's whole content is an action; the gutter names a subject and this row has none — the button's label is the name GG, 2026-09-23"),v="Reset color",H={selected:0,themes:[]};function K(r){r(H)}function M({value:r,onChange:n}){const a=r?.themes??[],p=a.length===0,t=y(r),[u,c]=f(!1),g=k(),[b,h]=f(null),T=(e,s)=>{n({...t,themes:t.themes.map((l,S)=>S===e?s:l)})},E=B(t).accent,x=new Set(t.themes.map(e=>e.brandInk).filter(Boolean)),C=N.filter(e=>!x.has(e)).map(e=>O(E,e)),i=[...t.themes,...C],R=e=>{if(e<t.themes.length)return n({...t,selected:e});const s=[...t.themes,i[e]];n({...t,themes:s,selected:s.length-1})},_=()=>{const e=[...t.themes,{...z(t.themes[t.selected])}];n({...t,themes:e,selected:e.length-1}),h(e.length-1)};return d(w,{children:[p?null:o(j,{label:m(v),icon:D(P),labelId:"sf-theme-reset",action:o(A,{label:m("all theme colors"),words:g.panel,changed:!0,onReset:()=>c(!0)})}),u&&o(I,{count:a.length,onCancel:()=>c(!1),onConfirm:()=>{c(!1),K(n)}}),o("div",{className:"sf-theme-list",role:"radiogroup","aria-label":m("Theme"),children:i.map((e,s)=>o(G,{index:s,colors:e,selected:s===t.selected,open:b===s&&s<t.themes.length,editable:s<t.themes.length,onPick:()=>R(s),onEdit:()=>h(l=>l===s?null:s),onChangeColors:l=>T(s,l)},s))}),d("button",{type:"button",onClick:_,className:"sf-theme-add",children:[o(L,{size:12}),m("Add new theme")]})]})}export{H as CLEARED_THEME,v as RESET_COLOUR_LABEL,K as commitClearedTheme,M as default};
@@ -1 +1 @@
1
- "use client";import{jsx as o,jsxs as f}from"react/jsx-runtime";import{useId as I,useMemo as T}from"react";import{useEasel as k}from"efficient-easel/easel";import{SettingsField as x,SettingsSwitch as E}from"efficient-easel/panel";import{EyeIcon as S}from"efficient-easel/icons";import{DEFAULT_TICKER_ITEMS as g}from"../../format/lib/hero-ticker.js";import{TextListField as w,TICKER_ITEMS_ROW as a}from"../lib/puck/controls.js";import{say as c}from"../../format/lib/editor-words.js";const _="root:default-zone";function b({heroId:p}){const{appState:l,dispatch:m}=k(e=>e),s=l.data.content??[],r=s.findIndex(e=>e.props.id===p),t=r>=0?s[r]:null,d=t?t.props.showTicker??!0:!0,h=T(()=>{const e=t?.props.tickerItems;return Array.isArray(e)?e:g.map(u=>({text:u}))},[t]),n=I();if(!t)return o("p",{className:"sf-note",children:c("This ticker’s hero is no longer on the page.")});const i=e=>m({type:"replace",destinationZone:_,destinationIndex:r,data:{...t,props:{...t.props,...e}}});return f("div",{children:[o(x,{label:c("Show ticker"),labelId:n,icon:o(S,{}),action:o(E,{checked:d,onChange:e=>i({showTicker:e}),ariaLabelledBy:n})}),o(w,{label:a.label,icon:a.icon,items:h,placeholder:"item",onChange:e=>i({tickerItems:e}),markup:!0})]})}export{b as default};
1
+ "use client";import{jsx as o,jsxs as f}from"react/jsx-runtime";import{useId as I,useMemo as T}from"react";import{useEasel as k}from"efficient-easel/easel";import{SettingsField as x,SettingsSwitch as E}from"efficient-easel/panel";import{EyeIcon as S}from"efficient-easel/icons";import{DEFAULT_TICKER_ITEMS as g}from"../../format/lib/hero-ticker.js";import{TextListField as w,TICKER_ITEMS_ROW as a}from"../lib/document/controls.js";import{say as c}from"../../format/lib/editor-words.js";const _="root:default-zone";function b({heroId:p}){const{appState:l,dispatch:m}=k(e=>e),s=l.data.content??[],r=s.findIndex(e=>e.props.id===p),t=r>=0?s[r]:null,d=t?t.props.showTicker??!0:!0,h=T(()=>{const e=t?.props.tickerItems;return Array.isArray(e)?e:g.map(u=>({text:u}))},[t]),n=I();if(!t)return o("p",{className:"sf-note",children:c("This ticker’s hero is no longer on the page.")});const i=e=>m({type:"replace",destinationZone:_,destinationIndex:r,data:{...t,props:{...t.props,...e}}});return f("div",{children:[o(x,{label:c("Show ticker"),labelId:n,icon:o(S,{}),action:o(E,{checked:d,onChange:e=>i({showTicker:e}),ariaLabelledBy:n})}),o(w,{label:a.label,icon:a.icon,items:h,placeholder:"item",onChange:e=>i({tickerItems:e}),markup:!0})]})}export{b as default};
@@ -1 +1 @@
1
- "use client";import{jsx as i,Fragment as B,jsxs as _}from"react/jsx-runtime";import{useCallback as R,useEffect as P,useRef as oe,useState as re}from"react";import{Button as ne,Tooltip as ie}from"efficient-shell/ui";import{SettingsSwitch as se}from"efficient-easel/panel";import{PagesIcon as ae,StylesIcon as ce}from"efficient-easel/rail";import{PaletteIcon as de}from"efficient-shell/icons/efficient";import{TemplateIcon as le}from"efficient-easel/icons";import{Subtree as pe,TreeRow as D}from"efficient-easel/tree";import{useEasel as N}from"efficient-easel/easel";import{useEaselStrings as y}from"efficient-easel/strings";import{LocationsTreeContext as me}from"./LocationsTreeContext.js";import fe from"./PagesPanel.js";import{usePreviewChat as ue}from"./PreviewChatContext.js";import{PREVIEW_DEVICES as Se}from"./preview-devices.js";import{PreviewDeviceContext as Ee}from"efficient-easel/draw/client";import{usePreviewHeader as he}from"../../render/components/PreviewHeaderContext.js";import{usePreviewSocial as we}from"../../render/components/PreviewSocialContext.js";import{usePreviewSurface as Pe}from"./PreviewSurfaceContext.js";import{TICKER_PART_LABEL as Te,usePreviewTicker as be}from"../../render/components/PreviewTickerContext.js";import{usePreviewHeroPart as ge}from"../../render/components/PreviewHeroPartContext.js";import{HERO_MEDIA_PARTS as Ie,HERO_PART_MODE as H,heroMediaRows as ve,heroPartId as W,readHeroPartId as ke}from"../../render/lib/puck/hero-media-parts.js";import _e,{CHAT_MODE as Re,HEADER_MODE as V,SOCIAL_MODE as Ce,WEBSITE_MODE as M}from"./SectionEditor.js";import C from"./SectionIcon.js";import Oe from"./SectionThumbnail.js";import{useScreenDocument as O}from"efficient-easel/screen/components/ScreenDocumentContext";import Le from"./StylesPanel.js";import{LOCATIONS_TYPE as Ae,useLocationsTree as Be}from"./useLocationsTree.js";import{usePinnedChromeSeed as De}from"./usePinnedChromeSeed.js";import{useHostDocumentBridge as Ne}from"./useHostDocumentBridge.js";import{usePreviewHref as ye}from"./usePreviewHref.js";import{WebsitePreviewButton as He}from"./WebsitePreviewButton.js";import{SITE_STYLES_TABS as We,SITE_STYLES_TEXT_TAB as Ve,useWebsiteName as Me}from"./WebsiteSettingsPanel.js";import{useWebsiteMainAction as xe}from"./useWebsiteMainAction.js";import{VersionHistory as Ye}from"./VersionHistoryDrawer.js";import{useEaselSession as x}from"efficient-easel/screen/lib/session-context";import{useOpenPageName as Fe}from"../lib/page-rows.js";import{HERO_GROUP_TYPE as Ge,heroGroupNestDepth as ze}from"../../format/lib/hero-group-placement.js";import{stripMarkup as Ke}from"../../format/lib/markup.js";import{categoryShortLabel as je,PINNED_SECTION_TYPE as Ue}from"../lib/puck/add-palette.js";import{canAddTo as Ze}from"../lib/puck/add-target.js";import{blockIsOffered as qe}from"../lib/puck/block-offer.js";import{sectionIdOfBoxZone as Xe,setBookingPreview as Je}from"../../render/lib/puck/booking-preview.js";import{footerBlockRowName as Qe}from"../../format/lib/puck/footer-block-row-name.js";import{sourceRowName as $e}from"../../format/lib/puck/source-row-name.js";import{FOOTER_TYPE as et,HEADER_TYPE as Y}from"../lib/puck/footer-blocks.js";import{leftViewForSelection as tt,readLeftView as ot,resolveLeftView as rt,writeLeftView as nt}from"../../format/lib/puck/left-view.js";import{websiteIsLockedBlock as it}from"../lib/puck/locked-blocks.js";import{everyPageNotice as st,noOwnTab as at,pinnedReach as F,websiteDuplicateBlocked as ct}from"../lib/puck/every-page.js";import{sharedSectionReach as dt,WEBSITE_SHARED_SECTIONS as lt}from"../lib/shared-sections-layer.js";import{activeSharedSections as L,setSharedEditor as G}from"../../format/lib/shared-sections-active.js";import{sharedSectionsOf as pt}from"efficient-easel/screen/lib/shared-sections";import{pinnedChromeInPlace as v}from"../../format/lib/pinned-chrome-lock.js";import{scrollPreviewToSection as mt,scrollPreviewToTop as z}from"efficient-easel/screen/lib/puck/preview-dom";import{SiteCanvas as ft}from"../lib/puck/overrides.js";import{labelAtLevel as ut}from"../../format/lib/puck/section-catalog.js";import{WEBSITE_MEDIA_DROP as St}from"../../format/lib/puck/media-drop.js";import{editorWords as Et,say as p}from"../../format/lib/editor-words.js";import{SECTION_DESCRIPTIONS as ht}from"../../format/lib/puck/section-descriptions.js";import{groupAccepts as wt,isSectionGroupType as Pt,sectionGroupZone as Tt,SITE_FOOTER_TYPE as K,SITE_HEADER_TYPE as bt}from"../../format/lib/puck/section-groups.js";import{resolveSaveAsTemplateAction as gt,SAVE_AS_TEMPLATE_EVENT as It}from"../../format/lib/save-as-template-action.js";import{newSectionNode as vt}from"../lib/sections/new-section-node.js";import{useHostProducts as kt}from"../lib/use-host-products.js";import{backendOf as _t}from"../lib/website-session.js";function j({mode:e,open:t}){const{setSelectedHeroId:o,setSelectHandler:r}=be(),c=y().tree,d=e,n=d.kind==="ticker"?d.heroId:null,a=R(s=>{if(!s)return;t({kind:"ticker",heroId:s}),mt(s)},[t]);return P(()=>{o(n)},[n,o]),P(()=>{r(a)},[r,a]),{partRows:(s,{rowClick:u})=>{const m=String(s.props.id);return s.type==="Hero"&&i(D,{icon:i(C,{type:"ticker",size:13}),name:p(Te),onSelect:()=>a(m),selected:n===m,rowProps:{onClick:u(()=>a(m))},words:c})}}}function U({mode:e,select:t}){const{setSelectedHeroPart:o,setSelectHandler:r}=ge(),c=y().tree,{appState:d}=N(f=>f),n=d.data.content??[],a=oe(n);a.current=n;const s=e,u=Ie.find(f=>H[f]===s.kind),m=u&&"nodeId"in s?W(String(s.nodeId),u):null,h=R(f=>{const l=ke(f);if(!l)return;const w=a.current.findIndex(S=>String(S.props.id)===l.nodeId);if(w<0)return;const T={kind:H[l.part],nodeId:l.nodeId};t({index:w},T)},[t]);return P(()=>{o(m)},[m,o]),P(()=>{r(h)},[r,h]),{partRows:(f,{rowClick:l})=>{const w=String(f.props.id),T=ve(f);if(T.length===0)return null;const S=I=>{const g=W(w,I.part);return i(D,{icon:i(C,{type:I.part==="media"?"heroMedia":"heroImage",size:13}),name:p(I.label),onSelect:()=>h(g),selected:m===g,rowProps:{onClick:l(()=>h(g))},words:c},g)},[E,...b]=T;return _(B,{children:[S(E),b.length>0&&i(pe,{children:b.map(S)})]})}}}function Z(e,t){return{partRows:(o,r)=>_(B,{children:[e.partRows?.(o,r),t.partRows?.(o,r)]})}}function Rt(e){const{adapter:t,capabilities:o,currentSlug:r,siteId:c,docId:d,hasUnsavedEdits:n,bridgeCapabilities:a,notifyParent:s,token:u}=O(),{hasPreviewLink:m}=o,h=_t(x()).preview?.draftLink,f=xe(e.data),l=gt({hasTrustedConsole:!!u,canCreatePlatformTemplate:a.canCreatePlatformTemplate,capabilities:o,siteId:c,hasUnsavedEdits:n}),w=R(()=>{!c||!r||s(It,{siteId:c,slug:r})},[s,c,r]),T=ye({pageSlug:r,siteId:c,token:u}),S=t.previewHref?.(r)??T;return{barLead:()=>l.visible&&i(ie,{side:"bottom",content:l.enabled?p("Save this website as a platform template"):p(l.disabledReason),children:i("span",{className:"sf-tip-disabled",tabIndex:l.enabled?void 0:0,children:i(ne,{variant:"secondary",disabled:!l.enabled,onClick:w,rightIcon:i(le,{size:15}),children:p("Save as Template")})})}),barView:()=>m&&r&&i(He,{liveHref:S,pageId:d??null,draftLink:h}),mainAction:f}}function Ct(e,t){const{capabilities:o,templateId:r,siteId:c,tokenRef:d,navigate:n}=O(),{hasSiteTheme:a,explainsSiteSettings:s}=o,u=E=>t.setView(E),[m,h]=re(We[0].id),{surface:f,setSurface:l}=Pe(),w=()=>{if(a){u("styles"),t.reveal(),z();return}e.show(M),e.reveal(),z()},T={id:"pages",label:p("Pages"),icon:i(ae,{}),panel:({onHide:E})=>i(fe,{activeSurface:f,onPreviewSurface:l,onNavigate:b=>{l(null),n(r?{kind:"template",id:r,pageSlug:b}:{kind:"page",slug:b,siteId:c??void 0})},onClose:E})},S=[];return!a&&s&&S.push({id:"appearance",label:p("Appearance"),icon:i(de,{}),active:e.kind==="website",onSelect:w}),a&&S.push({id:"styles",label:p("Styles"),icon:i(ce,{}),panel:({onHide:E,notify:b})=>i(Le,{tokenRef:d,siteId:c??void 0,onClose:E,onNotify:b,tab:m,onTabChange:h})}),{railLead:[T],railTrail:S,resolveLeftView:E=>rt(E,a),openSettings:w,openStyles:()=>{h(Ve),u("styles")}}}function Ot(){const{navigate:e,siteId:t,reloadFromServer:o,docId:r}=O(),c=N(n=>n.config),d=x();P(()=>(G({openPage:n=>e({kind:"page",slug:n.slug,siteId:t??void 0}),reload:()=>{o()},config:c}),()=>G(null)),[e,t,o,c]),P(()=>{const n=L();if(!n||!r)return;let a=!1;return pt(d).list().then(s=>{a||n.learn(s)}).catch(()=>{}),()=>{a=!0}},[r,d])}function Lt(e,t,o,r){const{kind:c,open:d}=e,{selected:n,zoneOf:a}=t;P(()=>{Je(n?.type==="BookingBox"&&n.props.region==="confirm"?Xe(a(String(n.props.id))):null)},[n?.props.id]);const s=Be(e,t),{capabilities:{hasSiteSettings:u}}=O();Ot();const{setSelected:m,setSelectHandler:h}=he(),{chat:f,setChat:l,setSelected:w,setSelectHandler:T}=ue(),S=c==="header";P(()=>{m(S)},[S,m]),P(()=>{h(()=>d(V))},[h,d]);const E=R(()=>d(Re),[d]),b=c==="chat";P(()=>{w(b)},[b,w]),P(()=>{T(E)},[T,E]);const{setOpenHandler:I}=we(),g=R(()=>d(Ce),[d]);P(()=>{I(g)},[I,g]);const J=Z(j(e),U(e)),Q=Rt(t),$=Ct(e,r),ee=o.device;return{...J,...Q,...$,hasOwnRows:k=>k.type===Ae,ownRows:s.renderLocationTree,sectionPressed:s.sectionPressed,wrap:k=>i(me.Provider,{value:!0,children:_(Ee.Provider,{value:ee,children:[k,i(Ye,{})]})}),addPanelRow:k=>u?_("div",{className:"sf-addside-sitewide",children:[i("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:i(C,{type:"chat",size:16})}),_("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{k(),E()},children:[p("Live chat"),i("span",{className:"sf-addside-sitewide-desc",children:p("A chat bubble on every page")})]}),i(se,{checked:f.enabled,onChange:te=>l({enabled:te}),ariaLabel:p("Show the chat bubble on the whole site")})]}):void 0}}let q=null,A=new WeakMap;function At(e){const t=Et();if(!e||!t)return e;q!==t&&(q=t,A=new WeakMap);let o=A.get(e);return o||(o={...e,choices:e.choices?e.choices.map(r=>({...r,label:p(r.label)})):null,spec:e.spec?{...e.spec,addLabel:p(e.spec.addLabel)}:null},A.set(e,o)),o}const Bt={isLockedBlock:(e,t)=>it(e)||!!(t&&L()?.heldElsewhere(t.props.id)),duplicateBlocked:ct,nestDepth:(e,t,o)=>t===Ge?ze(e,o):0,newSectionNode:vt,canAddTo:(e,t)=>At(Ze(e,t)),blockIsOffered:qe},Dt=new Proxy(ht,{get:(e,t)=>{const o=Reflect.get(e,t);return typeof o=="string"?p(o):o}}),Nt={labelAtLevel:(e,t,o)=>p(ut(e,t,o)),descriptions:Dt,categoryLabel:e=>{const t=je(e);return t===void 0?void 0:p(t)},firstSection:Ue,blockRowName:Qe,rowName:$e,plainText:Ke,Icon:C,Thumbnail:Oe,useProducts:kt},yt={desktop:2e3,tablet:800,mobile:390},X="desktop",Ht={options:Se,initial:X,fluid:X,widths:yt},Wt={read:ot,write:e=>nt(e),forSelection:(e,t)=>tt(e,t)},Vt={first:Y,last:et,firstGroup:bt,lastGroup:K,isSectionGroup:Pt,sectionGroupZone:Tt,panelOf:e=>e===Y?V:null,get sharedReach(){return v()?xt:void 0},get shared(){return L()?lt:void 0},get groupTab(){return v()?at:void 0},get groupBadge(){return v()?F({type:K})??void 0:void 0},get changeNotice(){return v()?st():void 0},get band(){return v()?Mt:void 0},get groupAccepts(){return v()?wt:void 0}},Mt={foldable:!0},xt=e=>F(e)??dt(e);function Yt(e){return{...Z(j(e),U(e)),openSettings:()=>e.show(M)}}function Ft(e,t){De(e,t),Ne()}const $o={useOwnerName:Me,useDocumentLabel:Fe,useBridges:Lt,useStandaloneBridges:Yt,useDocumentPass:Ft,blockRules:Bt,blockLook:Nt,devices:Ht,leftView:Wt,pinned:Vt,Canvas:ft,canvasDrag:{media:St},Inspector:_e};export{$o as WEBSITE_SCREEN};
1
+ "use client";import{jsx as i,Fragment as B,jsxs as _}from"react/jsx-runtime";import{useCallback as R,useEffect as P,useRef as oe,useState as re}from"react";import{Button as ne,Tooltip as ie}from"efficient-shell/ui";import{SettingsSwitch as se}from"efficient-easel/panel";import{PagesIcon as ae,StylesIcon as ce}from"efficient-easel/rail";import{PaletteIcon as de}from"efficient-shell/icons/efficient";import{TemplateIcon as le}from"efficient-easel/icons";import{Subtree as pe,TreeRow as D}from"efficient-easel/tree";import{useEasel as N}from"efficient-easel/easel";import{useEaselStrings as y}from"efficient-easel/strings";import{LocationsTreeContext as me}from"./LocationsTreeContext.js";import fe from"./PagesPanel.js";import{usePreviewChat as ue}from"./PreviewChatContext.js";import{PREVIEW_DEVICES as Se}from"./preview-devices.js";import{PreviewDeviceContext as Ee}from"efficient-easel/draw/client";import{usePreviewHeader as he}from"../../render/components/PreviewHeaderContext.js";import{usePreviewSocial as we}from"../../render/components/PreviewSocialContext.js";import{usePreviewSurface as Pe}from"./PreviewSurfaceContext.js";import{TICKER_PART_LABEL as Te,usePreviewTicker as be}from"../../render/components/PreviewTickerContext.js";import{usePreviewHeroPart as ge}from"../../render/components/PreviewHeroPartContext.js";import{HERO_MEDIA_PARTS as Ie,HERO_PART_MODE as H,heroMediaRows as ve,heroPartId as W,readHeroPartId as ke}from"../../render/lib/document/hero-media-parts.js";import _e,{CHAT_MODE as Re,HEADER_MODE as V,SOCIAL_MODE as Ce,WEBSITE_MODE as M}from"./SectionEditor.js";import C from"./SectionIcon.js";import Oe from"./SectionThumbnail.js";import{useScreenDocument as O}from"efficient-easel/screen/components/ScreenDocumentContext";import Le from"./StylesPanel.js";import{LOCATIONS_TYPE as Ae,useLocationsTree as Be}from"./useLocationsTree.js";import{usePinnedChromeSeed as De}from"./usePinnedChromeSeed.js";import{useHostDocumentBridge as Ne}from"./useHostDocumentBridge.js";import{usePreviewHref as ye}from"./usePreviewHref.js";import{WebsitePreviewButton as He}from"./WebsitePreviewButton.js";import{SITE_STYLES_TABS as We,SITE_STYLES_TEXT_TAB as Ve,useWebsiteName as Me}from"./WebsiteSettingsPanel.js";import{useWebsiteMainAction as xe}from"./useWebsiteMainAction.js";import{VersionHistory as Ye}from"./VersionHistoryDrawer.js";import{useEaselSession as x}from"efficient-easel/screen/lib/session-context";import{useOpenPageName as Fe}from"../lib/page-rows.js";import{HERO_GROUP_TYPE as Ge,heroGroupNestDepth as ze}from"../../format/lib/hero-group-placement.js";import{stripMarkup as Ke}from"../../format/lib/markup.js";import{categoryShortLabel as je,PINNED_SECTION_TYPE as Ue}from"../lib/document/add-palette.js";import{canAddTo as Ze}from"../lib/document/add-target.js";import{cardTemplateSlotsOf as qe}from"../../format/lib/document/card-template-layers.js";import{blockIsOffered as Xe}from"../lib/document/block-offer.js";import{sectionIdOfBoxZone as Je,setBookingPreview as Qe}from"../../render/lib/document/booking-preview.js";import{footerBlockRowName as $e}from"../../format/lib/document/footer-block-row-name.js";import{sourceRowName as et}from"../../format/lib/document/source-row-name.js";import{FOOTER_TYPE as tt,HEADER_TYPE as Y}from"../lib/document/footer-blocks.js";import{leftViewForSelection as ot,readLeftView as rt,resolveLeftView as nt,writeLeftView as it}from"../../format/lib/document/left-view.js";import{websiteIsLockedBlock as st}from"../lib/document/locked-blocks.js";import{everyPageNotice as at,noOwnTab as ct,pinnedReach as F,websiteDuplicateBlocked as dt}from"../lib/document/every-page.js";import{sharedSectionReach as lt,WEBSITE_SHARED_SECTIONS as pt}from"../lib/shared-sections-layer.js";import{activeSharedSections as L,setSharedEditor as G}from"../../format/lib/shared-sections-active.js";import{sharedSectionsOf as mt}from"efficient-easel/screen/lib/shared-sections";import{pinnedChromeInPlace as v}from"../../format/lib/pinned-chrome-lock.js";import{scrollPreviewToSection as ft,scrollPreviewToTop as z}from"efficient-easel/screen/lib/document/preview-dom";import{SiteCanvas as ut}from"../lib/document/overrides.js";import{labelAtLevel as St}from"../../format/lib/document/section-catalog.js";import{WEBSITE_MEDIA_DROP as Et}from"../../format/lib/document/media-drop.js";import{editorWords as ht,say as p}from"../../format/lib/editor-words.js";import{SECTION_DESCRIPTIONS as wt}from"../../format/lib/document/section-descriptions.js";import{groupAccepts as Pt,isSectionGroupType as Tt,sectionGroupZone as bt,SITE_FOOTER_TYPE as K,SITE_HEADER_TYPE as gt}from"../../format/lib/document/section-groups.js";import{resolveSaveAsTemplateAction as It,SAVE_AS_TEMPLATE_EVENT as vt}from"../../format/lib/save-as-template-action.js";import{newSectionNode as kt}from"../lib/sections/new-section-node.js";import{useHostProducts as _t}from"../lib/use-host-products.js";import{backendOf as Rt}from"../lib/website-session.js";function j({mode:e,open:t}){const{setSelectedHeroId:o,setSelectHandler:r}=be(),c=y().tree,d=e,n=d.kind==="ticker"?d.heroId:null,a=R(s=>{if(!s)return;t({kind:"ticker",heroId:s}),ft(s)},[t]);return P(()=>{o(n)},[n,o]),P(()=>{r(a)},[r,a]),{partRows:(s,{rowClick:u})=>{const m=String(s.props.id);return s.type==="Hero"&&i(D,{icon:i(C,{type:"ticker",size:13}),name:p(Te),onSelect:()=>a(m),selected:n===m,rowProps:{onClick:u(()=>a(m))},words:c})}}}function U({mode:e,select:t}){const{setSelectedHeroPart:o,setSelectHandler:r}=ge(),c=y().tree,{appState:d}=N(f=>f),n=d.data.content??[],a=oe(n);a.current=n;const s=e,u=Ie.find(f=>H[f]===s.kind),m=u&&"nodeId"in s?W(String(s.nodeId),u):null,h=R(f=>{const l=ke(f);if(!l)return;const w=a.current.findIndex(S=>String(S.props.id)===l.nodeId);if(w<0)return;const T={kind:H[l.part],nodeId:l.nodeId};t({index:w},T)},[t]);return P(()=>{o(m)},[m,o]),P(()=>{r(h)},[r,h]),{partRows:(f,{rowClick:l})=>{const w=String(f.props.id),T=ve(f);if(T.length===0)return null;const S=I=>{const g=W(w,I.part);return i(D,{icon:i(C,{type:I.part==="media"?"heroMedia":"heroImage",size:13}),name:p(I.label),onSelect:()=>h(g),selected:m===g,rowProps:{onClick:l(()=>h(g))},words:c},g)},[E,...b]=T;return _(B,{children:[S(E),b.length>0&&i(pe,{children:b.map(S)})]})}}}function Z(e,t){return{partRows:(o,r)=>_(B,{children:[e.partRows?.(o,r),t.partRows?.(o,r)]})}}function Ct(e){const{adapter:t,capabilities:o,currentSlug:r,siteId:c,docId:d,hasUnsavedEdits:n,bridgeCapabilities:a,notifyParent:s,token:u}=O(),{hasPreviewLink:m}=o,h=Rt(x()).preview?.draftLink,f=xe(e.data),l=It({hasTrustedConsole:!!u,canCreatePlatformTemplate:a.canCreatePlatformTemplate,capabilities:o,siteId:c,hasUnsavedEdits:n}),w=R(()=>{!c||!r||s(vt,{siteId:c,slug:r})},[s,c,r]),T=ye({pageSlug:r,siteId:c,token:u}),S=t.previewHref?.(r)??T;return{barLead:()=>l.visible&&i(ie,{side:"bottom",content:l.enabled?p("Save this website as a platform template"):p(l.disabledReason),children:i("span",{className:"sf-tip-disabled",tabIndex:l.enabled?void 0:0,children:i(ne,{variant:"secondary",disabled:!l.enabled,onClick:w,rightIcon:i(le,{size:15}),children:p("Save as Template")})})}),barView:()=>m&&r&&i(He,{liveHref:S,pageId:d??null,draftLink:h}),mainAction:f}}function Ot(e,t){const{capabilities:o,templateId:r,siteId:c,tokenRef:d,navigate:n}=O(),{hasSiteTheme:a,explainsSiteSettings:s}=o,u=E=>t.setView(E),[m,h]=re(We[0].id),{surface:f,setSurface:l}=Pe(),w=()=>{if(a){u("styles"),t.reveal(),z();return}e.show(M),e.reveal(),z()},T={id:"pages",label:p("Pages"),icon:i(ae,{}),panel:({onHide:E})=>i(fe,{activeSurface:f,onPreviewSurface:l,onNavigate:b=>{l(null),n(r?{kind:"template",id:r,pageSlug:b}:{kind:"page",slug:b,siteId:c??void 0})},onClose:E})},S=[];return!a&&s&&S.push({id:"appearance",label:p("Appearance"),icon:i(de,{}),active:e.kind==="website",onSelect:w}),a&&S.push({id:"styles",label:p("Styles"),icon:i(ce,{}),panel:({onHide:E,notify:b})=>i(Le,{tokenRef:d,siteId:c??void 0,onClose:E,onNotify:b,tab:m,onTabChange:h})}),{railLead:[T],railTrail:S,resolveLeftView:E=>nt(E,a),openSettings:w,openStyles:()=>{h(Ve),u("styles")}}}function Lt(){const{navigate:e,siteId:t,reloadFromServer:o,docId:r}=O(),c=N(n=>n.config),d=x();P(()=>(G({openPage:n=>e({kind:"page",slug:n.slug,siteId:t??void 0}),reload:()=>{o()},config:c}),()=>G(null)),[e,t,o,c]),P(()=>{const n=L();if(!n||!r)return;let a=!1;return mt(d).list().then(s=>{a||n.learn(s)}).catch(()=>{}),()=>{a=!0}},[r,d])}function At(e,t,o,r){const{kind:c,open:d}=e,{selected:n,zoneOf:a}=t;P(()=>{Qe(n?.type==="BookingBox"&&n.props.region==="confirm"?Je(a(String(n.props.id))):null)},[n?.props.id]);const s=Be(e,t),{capabilities:{hasSiteSettings:u}}=O();Lt();const{setSelected:m,setSelectHandler:h}=he(),{chat:f,setChat:l,setSelected:w,setSelectHandler:T}=ue(),S=c==="header";P(()=>{m(S)},[S,m]),P(()=>{h(()=>d(V))},[h,d]);const E=R(()=>d(Re),[d]),b=c==="chat";P(()=>{w(b)},[b,w]),P(()=>{T(E)},[T,E]);const{setOpenHandler:I}=we(),g=R(()=>d(Ce),[d]);P(()=>{I(g)},[I,g]);const J=Z(j(e),U(e)),Q=Ct(t),$=Ot(e,r),ee=o.device;return{...J,...Q,...$,hasOwnRows:k=>k.type===Ae,ownRows:s.renderLocationTree,sectionPressed:s.sectionPressed,wrap:k=>i(me.Provider,{value:!0,children:_(Ee.Provider,{value:ee,children:[k,i(Ye,{})]})}),addPanelRow:k=>u?_("div",{className:"sf-addside-sitewide",children:[i("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:i(C,{type:"chat",size:16})}),_("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{k(),E()},children:[p("Live chat"),i("span",{className:"sf-addside-sitewide-desc",children:p("A chat bubble on every page")})]}),i(se,{checked:f.enabled,onChange:te=>l({enabled:te}),ariaLabel:p("Show the chat bubble on the whole site")})]}):void 0}}let q=null,A=new WeakMap;function Bt(e){const t=ht();if(!e||!t)return e;q!==t&&(q=t,A=new WeakMap);let o=A.get(e);return o||(o={...e,choices:e.choices?e.choices.map(r=>({...r,label:p(r.label)})):null,spec:e.spec?{...e.spec,addLabel:p(e.spec.addLabel)}:null},A.set(e,o)),o}const Dt={isLockedBlock:(e,t)=>st(e)||!!(t&&L()?.heldElsewhere(t.props.id)),duplicateBlocked:dt,nestDepth:(e,t,o)=>t===Ge?ze(e,o):0,newSectionNode:kt,canAddTo:(e,t)=>Bt(Ze(e,t)),blockIsOffered:Xe,slotsOf:qe},Nt=new Proxy(wt,{get:(e,t)=>{const o=Reflect.get(e,t);return typeof o=="string"?p(o):o}}),yt={labelAtLevel:(e,t,o)=>p(St(e,t,o)),descriptions:Nt,categoryLabel:e=>{const t=je(e);return t===void 0?void 0:p(t)},firstSection:Ue,blockRowName:$e,rowName:et,plainText:Ke,Icon:C,Thumbnail:Oe,useProducts:_t},Ht={desktop:2e3,tablet:800,mobile:390},X="desktop",Wt={options:Se,initial:X,fluid:X,widths:Ht},Vt={read:rt,write:e=>it(e),forSelection:(e,t)=>ot(e,t)},Mt={first:Y,last:tt,firstGroup:gt,lastGroup:K,isSectionGroup:Tt,sectionGroupZone:bt,panelOf:e=>e===Y?V:null,get sharedReach(){return v()?Yt:void 0},get shared(){return L()?pt:void 0},get groupTab(){return v()?ct:void 0},get groupBadge(){return v()?F({type:K})??void 0:void 0},get changeNotice(){return v()?at():void 0},get band(){return v()?xt:void 0},get groupAccepts(){return v()?Pt:void 0}},xt={foldable:!0},Yt=e=>F(e)??lt(e);function Ft(e){return{...Z(j(e),U(e)),openSettings:()=>e.show(M)}}function Gt(e,t){De(e,t),Ne()}const tr={useOwnerName:Me,useDocumentLabel:Fe,useBridges:At,useStandaloneBridges:Ft,useDocumentPass:Gt,blockRules:Dt,blockLook:yt,devices:Wt,leftView:Vt,pinned:Mt,Canvas:ut,canvasDrag:{media:Et},Inspector:_e};export{tr as WEBSITE_SCREEN};
@@ -1 +1 @@
1
- "use client";import{jsx as n,jsxs as _,Fragment as w}from"react/jsx-runtime";import{useEasel as N}from"efficient-easel/easel";import{useState as R}from"react";import W from"./ThemeField.js";import O from"./CornersField.js";import L from"./CardShadowField.js";import z from"./ShadowColourField.js";import v from"./BlockGapField.js";import G from"./HoverEffectField.js";import Y from"./PhotographyField.js";import j from"./ShareButtonField.js";import X from"./SideSpaceField.js";import{BackgroundWidthRow as U,ContentWidthRow as $,SITE_BACKGROUND_HINT as K,SITE_CONTENT_HINT as M}from"./SectionWidthRows.js";import q from"./SiteAccentField.js";import J from"./SiteTextStylesField.js";import{usePreviewHeader as m}from"../../render/components/PreviewHeaderContext.js";import{Tabs as Q,Tooltip as V,tabButtonId as Z,tabPanelId as D}from"efficient-shell/ui";import{ContrastIcon as ee,NoteIcon as te,SettingsIcon as ne,TypeIcon as oe}from"efficient-easel/icons";import{useThemeRowPersist as ie}from"../lib/theme-row-persist.js";import{themeSaveNotice as re}from"../../format/lib/theme-save-message.js";import{say as S}from"../../format/lib/editor-words.js";import{NEUTRAL_SITE_NAME as se}from"../../format/lib/content/site-name.js";import{PAGE_WIDTH as b}from"../../format/lib/content/page-width.js";import{previewFrame as ae}from"efficient-easel/screen/lib/puck/preview-dom";import{useSiteTextStylesWriter as ce}from"../lib/site-text-styles-writer.js";import{CORNER_STYLE_TO_PX as le,normalizeCornerRadius as de,normalizeCornerStyle as he,normalizeShadowColor as ue,selectedThemeColors as pe}from"../../format/lib/theme.js";const E="sf-site-styles",fe="sf-site-styles-tabpanel",ge=!1,me="Show hints";function Se({shown:e,onChange:t}){return n("div",{className:"sf-hints",children:_("button",{type:"button","aria-pressed":e,onClick:()=>t(!e),className:`sf-rung sf-hints-toggle${e?" is-active":""}`,children:[n(te,{size:13}),S(me)]})})}const St="text",P=[{id:"basics",label:"Basics",icon:n(ne,{})},{id:"theme",label:"Theme",icon:n(ee,{})},{id:"text",label:"Text",icon:n(oe,{})}];function Ce({themeFromDocument:e,persist:t}){const{appState:o,dispatch:s}=N(u=>u),{theme:d,setTheme:a}=m(),c=o.data,p=c.root?.props??{},r=u=>{if(e){const f={...p,theme:u};s({type:"replaceRoot",root:{...c.root,props:f},recordHistory:!0})}else a(u);t({selected_preset:u.selected,theme_presets:u.themes})};return n(W,{value:e?p.theme:d,onChange:r})}function _e({themeFromDocument:e,persist:t}){const[o,s]=R(null),{theme:d,setFonts:a,setSizes:c,setHeadingTypography:p}=m(),r=ce({themeFromDocument:e,persist:t}),{old:u,saved:f,writeRoot:g}=r,l=r.fonts,h=r.sizes,x=r.typography,y=i=>i.values.size??be(we[i.id]??"body")??ye[i.kind],T=i=>r.write(i),F=xe(d),I=i=>{const C={...l,accent:i};e?g({fonts:C}):a(C),t({accent_font:i})},B=i=>{c({...h,accent:i}),t({accent_size_px:i})},k=i=>{const C={...x,weightStrong:i};e?g({headingTypography:C}):p(C),t({heading_weight_strong:i})},A=i=>{const C={...x,italicStrong:i};e?g({headingTypography:C}):p(C),t({accent_italic:i})};return _(w,{children:[n(J,{saved:f,old:u,colours:F,sizeOf:y,onChange:T,openId:o===H?null:o,onOpenChange:s,withoutSize:e}),n(q,{font:l.accent,size:h.accent,weight:x.weightStrong,italic:x.italicStrong,headingWeight:x.weight,open:o===H,onOpenChange:i=>s(i?H:null),onChange:i=>{i.key==="font"?I(i.value):i.key==="size"?B(i.value):i.key==="weight"?k(i.value):A(i.value)},withoutSize:e})]})}const H="accent";function xe(e){const t=pe(e);return[{key:"accent",name:S("Accent"),value:t.accent},{key:"text",name:S("Text"),value:t.text},{key:"labels",name:S("Labels"),value:t.muted??t.text}]}const we={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},ye={heading:32,body:14},Te={heading:"main h1, main h2",heading2:"main h1, main h2",heading3:"main h1, main h2",accent:"main h1 em, main h2 em",body:"main p",label:"main .mono-eyebrow"};function be(e){if(typeof document>"u")return null;const o=(ae()?.contentDocument??document).querySelector(Te[e]);if(!o)return null;const s=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(s)?s:null}function Pe({themeFromDocument:e,persist:t,showHint:o}){const{appState:s,dispatch:d}=N(h=>h),{cornerRadiusPx:a,setCornerRadiusPx:c}=m(),p=s.data,r=p.root?.props??{},u=r.cornerRadiusPx===void 0?le[he(r.cornerStyle)]:de(r.cornerRadiusPx),f=e?u:a,g=h=>d({type:"replaceRoot",root:{...p.root,props:{...r,...h}},recordHistory:!0});return n(O,{value:f,onChange:h=>{e?g({cornerRadiusPx:h}):c(h),t({corner_radius_px:h})},showHint:o})}function Re(e){return{site_width:e}}function Ee({persist:e,showHint:t}){const{siteWidth:o,setSiteWidth:s,sectionBackgroundWidth:d,setSectionBackgroundWidth:a,sectionContentWidth:c,setSectionContentWidth:p}=m(),r=typeof o=="number"?o:b.default,u=l=>{s(l),e(Re(l),l===null)},f=l=>{a(l),e({section_background_width:l},!0)},g=l=>{p(l),e({section_content_width:l},!0)};return _(w,{children:[n(U,{value:d??"full",changed:d!==null,detail:S("Full width"),onChange:f,onReset:()=>f(null),hint:t?K:void 0}),n($,{mode:c??"content",px:r,min:b.min,max:b.max,changed:typeof o=="number"||c!==null,detail:`${S("Content width")} ${b.default}px`,onMode:g,onPx:l=>u(l),onReset:()=>{g(null),u(null)},hint:t?M:void 0})]})}function He(e){return{block_gap:e}}function Ne(e){return{site_gutter:e}}function Fe({persist:e,showHint:t}){const{siteGutter:o,setSiteGutter:s}=m();return n(X,{value:o,onChange:a=>{s(a),e(Ne(a),a===null)},showHint:t})}function Ie({persist:e,showHint:t}){const{blockGap:o,setBlockGap:s}=m();return n(v,{value:o,onChange:a=>{s(a),e(He(a),a===null)},showHint:t})}function Be({persist:e,showHint:t=!0}){return _(w,{children:[n(Ee,{persist:e,showHint:t}),n(Fe,{persist:e,showHint:t}),n(Ie,{persist:e,showHint:t})]})}function ke(e){return{card_shadow:e}}function Ae(e){return e===null?{shadow_color:null}:{shadow_color:ue(e)}}function We(e){return{hover_effect:e}}function Oe({persist:e,showHint:t=!0}){const{cardShadow:o,setCardShadow:s,shadowColor:d,setShadowColor:a,hoverEffect:c,setHoverEffect:p}=m();return _(w,{children:[n(L,{value:o,onChange:r=>{s(r),e(ke(r),!0)},showHint:t}),n(z,{value:d,onChange:r=>{a(r),e(Ae(r),r===null)},showHint:t}),n(G,{value:c,onChange:r=>{p(r),e(We(r),!0)},showHint:t})]})}function Le(e){return{photography_grayscale:e}}function ze({persist:e,showHint:t}){const{photographyGrayscale:o,setPhotographyGrayscale:s}=m();return n(Y,{value:o,onChange:a=>{s(a),e(Le(a),!0)},showHint:t})}function ve({persist:e,showHint:t=!0}){return n(w,{children:n(ze,{persist:e,showHint:t})})}function Ge(e){return{share_button_on_posts:e}}function Ye({persist:e,showHint:t=!0}){const{shareButtonOnPosts:o,setShareButtonOnPosts:s}=m();return n(j,{value:o,onChange:a=>{s(a),e(Ge(a),!0)},showHint:t})}function je(){const{websiteName:e}=m();return e?.trim()||se}function Ct(){const e=je();return n(V,{content:S("{name} — renamed in the Console: {place}.",{name:e,place:S("Storefront ▸ Sites ▸ Settings")}),className:"sf-name-tip",children:n("span",{className:"sf-panel-site",children:e})})}function Xe({themeFromDocument:e=!1,tokenRef:t,siteId:o,onNotify:s,tab:d,onTabChange:a}){const{persist:c}=ie({themeFromDocument:e,tokenRef:t,siteId:o,onResult:y=>{const T=re(y);T&&s?.(T.msg,T.tone)}}),[p,r]=R(P[0].id),u=d!==void 0,f=u?d:p,g=u?a??(()=>{}):r,l=P.find(y=>y.id===f)??P[0],[h,x]=R(ge);return _(w,{children:[n(Ue,{activeId:l.id,onSelect:g}),_("div",{id:D(E,l.id),className:fe,role:"tabpanel","aria-labelledby":Z(E,l.id),children:[f==="basics"&&_(w,{children:[n(Pe,{themeFromDocument:e,persist:c,showHint:h}),!e&&n(Oe,{persist:c,showHint:h}),!e&&n(Be,{persist:c,showHint:h}),!e&&n(ve,{persist:c,showHint:h}),!e&&n(Ye,{persist:c,showHint:h}),n(Se,{shown:h,onChange:x})]}),f==="theme"&&n(Ce,{themeFromDocument:e,persist:c}),f==="text"&&n(_e,{themeFromDocument:e,persist:c})]})]})}function Ue({activeId:e,onSelect:t}){return n("div",{className:"es-insp-tabs",children:n(Q,{variant:"underline",block:!0,labelsFit:!0,"aria-label":S("Styles"),idPrefix:E,value:e,onChange:t,items:P.map(o=>{const s=S(o.label);return{id:o.id,icon:o.icon,label:s}})})})}export{Oe as CardLookFields,Se as HintsToggle,Be as PageGroupFields,ve as PhotographyGroupFields,ge as SHOW_HINTS_DEFAULT,E as SITE_STYLES_ID_PREFIX,P as SITE_STYLES_TABS,St as SITE_STYLES_TEXT_TAB,Ye as ShareButtonRootField,Ue as SiteStylesTabStrip,fe as TABPANEL_CLASS,Ct as WebsiteNameReadonly,He as blockGapPatch,ke as cardShadowPatch,Xe as default,We as hoverEffectPatch,Le as photographyPatch,Ae as shadowColourPatch,Ge as shareButtonPatch,Ne as siteGutterPatch,Re as siteWidthPatch,je as useWebsiteName};
1
+ "use client";import{jsx as n,jsxs as _,Fragment as w}from"react/jsx-runtime";import{useEasel as N}from"efficient-easel/easel";import{useState as R}from"react";import W from"./ThemeField.js";import O from"./CornersField.js";import L from"./CardShadowField.js";import z from"./ShadowColourField.js";import v from"./BlockGapField.js";import G from"./HoverEffectField.js";import Y from"./PhotographyField.js";import j from"./ShareButtonField.js";import X from"./SideSpaceField.js";import{BackgroundWidthRow as U,ContentWidthRow as $,SITE_BACKGROUND_HINT as K,SITE_CONTENT_HINT as M}from"./SectionWidthRows.js";import q from"./SiteAccentField.js";import J from"./SiteTextStylesField.js";import{usePreviewHeader as m}from"../../render/components/PreviewHeaderContext.js";import{Tabs as Q,Tooltip as V,tabButtonId as Z,tabPanelId as D}from"efficient-shell/ui";import{ContrastIcon as ee,NoteIcon as te,SettingsIcon as ne,TypeIcon as oe}from"efficient-easel/icons";import{useThemeRowPersist as ie}from"../lib/theme-row-persist.js";import{themeSaveNotice as re}from"../../format/lib/theme-save-message.js";import{say as S}from"../../format/lib/editor-words.js";import{NEUTRAL_SITE_NAME as se}from"../../format/lib/content/site-name.js";import{PAGE_WIDTH as b}from"../../format/lib/content/page-width.js";import{previewFrame as ae}from"efficient-easel/screen/lib/document/preview-dom";import{useSiteTextStylesWriter as ce}from"../lib/site-text-styles-writer.js";import{CORNER_STYLE_TO_PX as le,normalizeCornerRadius as de,normalizeCornerStyle as he,normalizeShadowColor as ue,selectedThemeColors as pe}from"../../format/lib/theme.js";const E="sf-site-styles",fe="sf-site-styles-tabpanel",ge=!1,me="Show hints";function Se({shown:e,onChange:t}){return n("div",{className:"sf-hints",children:_("button",{type:"button","aria-pressed":e,onClick:()=>t(!e),className:`sf-rung sf-hints-toggle${e?" is-active":""}`,children:[n(te,{size:13}),S(me)]})})}const St="text",P=[{id:"basics",label:"Basics",icon:n(ne,{})},{id:"theme",label:"Theme",icon:n(ee,{})},{id:"text",label:"Text",icon:n(oe,{})}];function Ce({themeFromDocument:e,persist:t}){const{appState:o,dispatch:s}=N(u=>u),{theme:d,setTheme:a}=m(),c=o.data,p=c.root?.props??{},r=u=>{if(e){const f={...p,theme:u};s({type:"replaceRoot",root:{...c.root,props:f},recordHistory:!0})}else a(u);t({selected_preset:u.selected,theme_presets:u.themes})};return n(W,{value:e?p.theme:d,onChange:r})}function _e({themeFromDocument:e,persist:t}){const[o,s]=R(null),{theme:d,setFonts:a,setSizes:c,setHeadingTypography:p}=m(),r=ce({themeFromDocument:e,persist:t}),{old:u,saved:f,writeRoot:g}=r,l=r.fonts,h=r.sizes,x=r.typography,y=i=>i.values.size??be(we[i.id]??"body")??ye[i.kind],T=i=>r.write(i),F=xe(d),I=i=>{const C={...l,accent:i};e?g({fonts:C}):a(C),t({accent_font:i})},B=i=>{c({...h,accent:i}),t({accent_size_px:i})},k=i=>{const C={...x,weightStrong:i};e?g({headingTypography:C}):p(C),t({heading_weight_strong:i})},A=i=>{const C={...x,italicStrong:i};e?g({headingTypography:C}):p(C),t({accent_italic:i})};return _(w,{children:[n(J,{saved:f,old:u,colours:F,sizeOf:y,onChange:T,openId:o===H?null:o,onOpenChange:s,withoutSize:e}),n(q,{font:l.accent,size:h.accent,weight:x.weightStrong,italic:x.italicStrong,headingWeight:x.weight,open:o===H,onOpenChange:i=>s(i?H:null),onChange:i=>{i.key==="font"?I(i.value):i.key==="size"?B(i.value):i.key==="weight"?k(i.value):A(i.value)},withoutSize:e})]})}const H="accent";function xe(e){const t=pe(e);return[{key:"accent",name:S("Accent"),value:t.accent},{key:"text",name:S("Text"),value:t.text},{key:"labels",name:S("Labels"),value:t.muted??t.text}]}const we={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},ye={heading:32,body:14},Te={heading:"main h1, main h2",heading2:"main h1, main h2",heading3:"main h1, main h2",accent:"main h1 em, main h2 em",body:"main p",label:"main .mono-eyebrow"};function be(e){if(typeof document>"u")return null;const o=(ae()?.contentDocument??document).querySelector(Te[e]);if(!o)return null;const s=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(s)?s:null}function Pe({themeFromDocument:e,persist:t,showHint:o}){const{appState:s,dispatch:d}=N(h=>h),{cornerRadiusPx:a,setCornerRadiusPx:c}=m(),p=s.data,r=p.root?.props??{},u=r.cornerRadiusPx===void 0?le[he(r.cornerStyle)]:de(r.cornerRadiusPx),f=e?u:a,g=h=>d({type:"replaceRoot",root:{...p.root,props:{...r,...h}},recordHistory:!0});return n(O,{value:f,onChange:h=>{e?g({cornerRadiusPx:h}):c(h),t({corner_radius_px:h})},showHint:o})}function Re(e){return{site_width:e}}function Ee({persist:e,showHint:t}){const{siteWidth:o,setSiteWidth:s,sectionBackgroundWidth:d,setSectionBackgroundWidth:a,sectionContentWidth:c,setSectionContentWidth:p}=m(),r=typeof o=="number"?o:b.default,u=l=>{s(l),e(Re(l),l===null)},f=l=>{a(l),e({section_background_width:l},!0)},g=l=>{p(l),e({section_content_width:l},!0)};return _(w,{children:[n(U,{value:d??"full",changed:d!==null,detail:S("Full width"),onChange:f,onReset:()=>f(null),hint:t?K:void 0}),n($,{mode:c??"content",px:r,min:b.min,max:b.max,changed:typeof o=="number"||c!==null,detail:`${S("Content width")} ${b.default}px`,onMode:g,onPx:l=>u(l),onReset:()=>{g(null),u(null)},hint:t?M:void 0})]})}function He(e){return{block_gap:e}}function Ne(e){return{site_gutter:e}}function Fe({persist:e,showHint:t}){const{siteGutter:o,setSiteGutter:s}=m();return n(X,{value:o,onChange:a=>{s(a),e(Ne(a),a===null)},showHint:t})}function Ie({persist:e,showHint:t}){const{blockGap:o,setBlockGap:s}=m();return n(v,{value:o,onChange:a=>{s(a),e(He(a),a===null)},showHint:t})}function Be({persist:e,showHint:t=!0}){return _(w,{children:[n(Ee,{persist:e,showHint:t}),n(Fe,{persist:e,showHint:t}),n(Ie,{persist:e,showHint:t})]})}function ke(e){return{card_shadow:e}}function Ae(e){return e===null?{shadow_color:null}:{shadow_color:ue(e)}}function We(e){return{hover_effect:e}}function Oe({persist:e,showHint:t=!0}){const{cardShadow:o,setCardShadow:s,shadowColor:d,setShadowColor:a,hoverEffect:c,setHoverEffect:p}=m();return _(w,{children:[n(L,{value:o,onChange:r=>{s(r),e(ke(r),!0)},showHint:t}),n(z,{value:d,onChange:r=>{a(r),e(Ae(r),r===null)},showHint:t}),n(G,{value:c,onChange:r=>{p(r),e(We(r),!0)},showHint:t})]})}function Le(e){return{photography_grayscale:e}}function ze({persist:e,showHint:t}){const{photographyGrayscale:o,setPhotographyGrayscale:s}=m();return n(Y,{value:o,onChange:a=>{s(a),e(Le(a),!0)},showHint:t})}function ve({persist:e,showHint:t=!0}){return n(w,{children:n(ze,{persist:e,showHint:t})})}function Ge(e){return{share_button_on_posts:e}}function Ye({persist:e,showHint:t=!0}){const{shareButtonOnPosts:o,setShareButtonOnPosts:s}=m();return n(j,{value:o,onChange:a=>{s(a),e(Ge(a),!0)},showHint:t})}function je(){const{websiteName:e}=m();return e?.trim()||se}function Ct(){const e=je();return n(V,{content:S("{name} — renamed in the Console: {place}.",{name:e,place:S("Storefront ▸ Sites ▸ Settings")}),className:"sf-name-tip",children:n("span",{className:"sf-panel-site",children:e})})}function Xe({themeFromDocument:e=!1,tokenRef:t,siteId:o,onNotify:s,tab:d,onTabChange:a}){const{persist:c}=ie({themeFromDocument:e,tokenRef:t,siteId:o,onResult:y=>{const T=re(y);T&&s?.(T.msg,T.tone)}}),[p,r]=R(P[0].id),u=d!==void 0,f=u?d:p,g=u?a??(()=>{}):r,l=P.find(y=>y.id===f)??P[0],[h,x]=R(ge);return _(w,{children:[n(Ue,{activeId:l.id,onSelect:g}),_("div",{id:D(E,l.id),className:fe,role:"tabpanel","aria-labelledby":Z(E,l.id),children:[f==="basics"&&_(w,{children:[n(Pe,{themeFromDocument:e,persist:c,showHint:h}),!e&&n(Oe,{persist:c,showHint:h}),!e&&n(Be,{persist:c,showHint:h}),!e&&n(ve,{persist:c,showHint:h}),!e&&n(Ye,{persist:c,showHint:h}),n(Se,{shown:h,onChange:x})]}),f==="theme"&&n(Ce,{themeFromDocument:e,persist:c}),f==="text"&&n(_e,{themeFromDocument:e,persist:c})]})]})}function Ue({activeId:e,onSelect:t}){return n("div",{className:"es-insp-tabs",children:n(Q,{variant:"underline",block:!0,labelsFit:!0,"aria-label":S("Styles"),idPrefix:E,value:e,onChange:t,items:P.map(o=>{const s=S(o.label);return{id:o.id,icon:o.icon,label:s}})})})}export{Oe as CardLookFields,Se as HintsToggle,Be as PageGroupFields,ve as PhotographyGroupFields,ge as SHOW_HINTS_DEFAULT,E as SITE_STYLES_ID_PREFIX,P as SITE_STYLES_TABS,St as SITE_STYLES_TEXT_TAB,Ye as ShareButtonRootField,Ue as SiteStylesTabStrip,fe as TABPANEL_CLASS,Ct as WebsiteNameReadonly,He as blockGapPatch,ke as cardShadowPatch,Xe as default,We as hoverEffectPatch,Le as photographyPatch,Ae as shadowColourPatch,Ge as shareButtonPatch,Ne as siteGutterPatch,Re as siteWidthPatch,je as useWebsiteName};