@riverbankcms/sdk 0.107.0 → 0.109.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 (256) hide show
  1. package/README.md +21 -1
  2. package/dist/{PreviewEditorSidebar-DpAbAl08.mjs → PreviewEditorSidebar-DWqwfy3_.mjs} +48 -28
  3. package/dist/{PreviewEditorUI-O7cn6Xxv.mjs → PreviewEditorUI-B7OL4sfR.mjs} +10 -9
  4. package/dist/{PreviewQueryProvider-D0tnKl0t.mjs → PreviewQueryProvider-D0y2l8JN.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-CVB7urtl.mjs → SdkPreviewModeRuntime-D8Gt9Gbe.mjs} +633 -220
  6. package/dist/{SiteChromeCustomizeContext-C_sizso-.mjs → SiteChromeCustomizeContext-DUpalEdL.mjs} +5764 -1556
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +15383 -11388
  8. package/dist/_dts/api/src/blocks.d.ts +41 -7
  9. package/dist/_dts/api/src/bookingAdjustments.d.ts +5 -0
  10. package/dist/_dts/api/src/bookingOperations.d.ts +4 -0
  11. package/dist/_dts/api/src/bookingRecords.d.ts +177 -127
  12. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
  13. package/dist/_dts/api/src/cache-tags.d.ts +3 -0
  14. package/dist/_dts/api/src/common/envelope.d.ts +7 -0
  15. package/dist/_dts/api/src/contentRuntime.d.ts +19 -1
  16. package/dist/_dts/api/src/courses.d.ts +1 -0
  17. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +5 -5
  18. package/dist/_dts/api/src/endpoints.d.ts +134 -0
  19. package/dist/_dts/api/src/footer-settings.d.ts +1 -0
  20. package/dist/_dts/api/src/footerSettings.d.ts +8 -0
  21. package/dist/_dts/api/src/index.d.ts +7 -4
  22. package/dist/_dts/api/src/navigation/contracts.d.ts +3 -3
  23. package/dist/_dts/api/src/participantMessaging.d.ts +18 -12
  24. package/dist/_dts/api/src/previewContentContract.d.ts +4 -0
  25. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
  26. package/dist/_dts/api/src/sdkContracts.d.ts +309 -1
  27. package/dist/_dts/api/src/siteBanner.d.ts +2 -2
  28. package/dist/_dts/api/src/siteInfrastructure.d.ts +13 -0
  29. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +144 -60
  30. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +35 -1
  31. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +74 -28
  32. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +9 -0
  33. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +3 -4
  34. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
  35. package/dist/_dts/blocks/src/index.d.ts +1 -1
  36. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +0 -1
  37. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -0
  38. package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +3 -0
  39. package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +3 -0
  40. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +3 -0
  41. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +1 -22
  42. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +3 -0
  43. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +1 -22
  44. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +3 -0
  45. package/dist/_dts/blocks/src/system/blocks/form.d.ts +3 -0
  46. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
  47. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -0
  48. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +3 -0
  49. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +50 -0
  50. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +9 -48
  51. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +3 -0
  52. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
  53. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
  54. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +3 -0
  55. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  56. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +16 -6
  57. package/dist/_dts/blocks/src/system/defineBlock.d.ts +9 -1
  58. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +8 -0
  59. package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -1
  60. package/dist/_dts/blocks/src/system/icons/social.d.ts +5 -0
  61. package/dist/_dts/blocks/src/system/icons/svg.d.ts +1 -0
  62. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +33 -2
  63. package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +13 -0
  64. package/dist/_dts/blocks/src/system/node/fragments/footerNav.d.ts +2 -0
  65. package/dist/_dts/blocks/src/system/node/fragments/styledContainer.d.ts +4 -4
  66. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +3 -12
  67. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
  69. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
  70. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  71. package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
  72. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +14 -0
  73. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +27 -8
  74. package/dist/_dts/content-editor/src/footerComposer.d.ts +56 -0
  75. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
  76. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +5 -5
  77. package/dist/_dts/content-editor/src/index.d.ts +2 -0
  78. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +3 -1
  79. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +20 -36
  80. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +5 -1
  81. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +11 -0
  82. package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +31 -0
  83. package/dist/_dts/content-model/src/content-types/scaffold.d.ts +58 -0
  84. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  85. package/dist/_dts/content-model/src/content-types/sentinels.d.ts +36 -0
  86. package/dist/_dts/content-model/src/definitions/shared.d.ts +3 -0
  87. package/dist/_dts/content-model/src/index.d.ts +3 -0
  88. package/dist/_dts/core/src/booking-date-time.d.ts +8 -0
  89. package/dist/_dts/core/src/branded.d.ts +3 -0
  90. package/dist/_dts/core/src/editor-state.d.ts +4 -0
  91. package/dist/_dts/core/src/footer-composition.d.ts +143 -0
  92. package/dist/_dts/core/src/index.d.ts +2 -0
  93. package/dist/_dts/core/src/public-profile.d.ts +73 -0
  94. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +221 -205
  95. package/dist/_dts/db/src/schemas/forms.d.ts +10 -10
  96. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +5 -0
  97. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -0
  98. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -1
  99. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -1
  100. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -1
  101. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +10 -0
  102. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  103. package/dist/_dts/media-core/src/fileMimeDetection.d.ts +16 -0
  104. package/dist/_dts/media-core/src/fileStorage.d.ts +8 -0
  105. package/dist/_dts/media-core/src/storagePathDomain.d.ts +2 -0
  106. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +3 -0
  107. package/dist/_dts/path-utils/src/index.d.ts +5 -0
  108. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -0
  109. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +5 -0
  110. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  111. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
  112. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
  113. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
  114. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
  115. package/dist/_dts/preview-next/src/client/preview/previewErrorMessages.d.ts +4 -0
  116. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
  117. package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -1
  118. package/dist/_dts/sdk/src/cli/commands/compare.d.ts +1 -1
  119. package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +1 -1
  120. package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +18 -0
  121. package/dist/_dts/sdk/src/cli/commands/entry.d.ts +15 -0
  122. package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +2 -2
  123. package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +1 -1
  124. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -0
  125. package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +1 -1
  126. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +3 -0
  127. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +12 -1
  128. package/dist/_dts/sdk/src/cli/commands/setup.d.ts +1 -0
  129. package/dist/_dts/sdk/src/cli/commands/verify.d.ts +1 -0
  130. package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -0
  131. package/dist/_dts/sdk/src/cli/helpers.d.ts +22 -1
  132. package/dist/_dts/sdk/src/cli/index.d.ts +4 -0
  133. package/dist/_dts/sdk/src/cli/output.d.ts +88 -0
  134. package/dist/_dts/sdk/src/cli/program.d.ts +29 -0
  135. package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
  136. package/dist/_dts/sdk/src/client/management/blocks.d.ts +14 -1
  137. package/dist/_dts/sdk/src/client/management/catalog.d.ts +10 -0
  138. package/dist/_dts/sdk/src/client/management/http.d.ts +7 -1
  139. package/dist/_dts/sdk/src/client/management/index.d.ts +2 -1
  140. package/dist/_dts/sdk/src/client/management/types.d.ts +58 -20
  141. package/dist/_dts/sdk/src/config/content-types.d.ts +2 -0
  142. package/dist/_dts/sdk/src/config/content-validation.d.ts +4 -0
  143. package/dist/_dts/sdk/src/date-time/index.d.ts +68 -0
  144. package/dist/_dts/sdk/src/navigation/index.d.ts +2 -0
  145. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -2
  146. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -1
  147. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
  148. package/dist/_dts/sdk/src/version.d.ts +1 -1
  149. package/dist/_dts/site-commands/src/commands.d.ts +900 -827
  150. package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
  151. package/dist/_dts/theme-core/src/buttons/core.d.ts +15 -46
  152. package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +147 -0
  153. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +2 -3
  154. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  156. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  157. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +17 -0
  158. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +45 -33
  159. package/dist/_dts/theme-core/src/buttons/presets.d.ts +4 -25
  160. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +100 -0
  161. package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +16 -0
  162. package/dist/_dts/theme-core/src/buttons/types.d.ts +104 -86
  163. package/dist/_dts/theme-core/src/cards/types.d.ts +16 -16
  164. package/dist/_dts/theme-core/src/footer/mode.d.ts +15 -0
  165. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  166. package/dist/_dts/theme-core/src/gradients/presets.d.ts +200 -8
  167. package/dist/_dts/theme-core/src/gradients/utils.d.ts +6 -2
  168. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  169. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +117 -150
  170. package/dist/_dts/theme-core/src/mock-themes/modern-minimal.d.ts +1 -1
  171. package/dist/_dts/theme-core/src/navigation/types.d.ts +3 -3
  172. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -2
  173. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +5 -8
  174. package/dist/_dts/theme-core/src/palette/index.d.ts +0 -1
  175. package/dist/_dts/theme-core/src/schema.d.ts +1264 -138
  176. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  177. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +10 -10
  178. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +12 -1
  179. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -2
  180. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +13 -6
  181. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +29 -8
  182. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +15 -0
  183. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +2 -2
  184. package/dist/cli/index.mjs +68552 -66955
  185. package/dist/cli/init-docs/content/cli-reference.md +50 -7
  186. package/dist/cli/init-docs/content/content-management.md +7 -4
  187. package/dist/cli/init-docs/content/workflow-publish.md +5 -1
  188. package/dist/client/{DiscountCodeDisclosure-BwGkvmVH.mjs → DiscountCodeDisclosure-DU1ygxU2.mjs} +1 -1
  189. package/dist/client/{EventCombined.client-JnWE6Hzc.mjs → EventCombined.client-DB5zagCo.mjs} +3 -3
  190. package/dist/client/{EventListing.client-DQewc_kg.mjs → EventListing.client-CTX9JHBL.mjs} +2 -2
  191. package/dist/client/{LeafletStaticMap-DPAU3SFt.mjs → LeafletStaticMap-BYImhgiB.mjs} +1 -1
  192. package/dist/client/{MagicLinkForm-D4kpWCbW.mjs → MagicLinkForm-CRkw_M3l.mjs} +2 -2
  193. package/dist/client/{StepIndicator-CBlkb4rA.mjs → StepIndicator-BnmVBJJh.mjs} +2 -2
  194. package/dist/client/{accordion-DAIBVpTS.mjs → accordion-CeGreumd.mjs} +1 -1
  195. package/dist/client/{bookingForm-DZ-4l5_1.mjs → bookingForm-CSzFNrpN.mjs} +6 -6
  196. package/dist/client/bookings.mjs +637 -328
  197. package/dist/client/{buttons-DJgynGHQ.mjs → buttons-DoFV7KDL.mjs} +618 -306
  198. package/dist/client/{carousel-D-SLfX8r.mjs → carousel-B2jDtogf.mjs} +1 -1
  199. package/dist/client/{cart-CEgbgJhX.mjs → cart-D-jZ-vaY.mjs} +3 -3
  200. package/dist/client/{checkout-CXWrCRAA.mjs → checkout-Dza-LA7N.mjs} +3 -3
  201. package/dist/client/client.mjs +2497 -1216
  202. package/dist/client/{colorStyles-jZS6KfkP.mjs → colorStyles-CrgzoXsm.mjs} +1 -30
  203. package/dist/client/{courseRegistration-DVmLrRVz.mjs → courseRegistration-TYkNychb.mjs} +7 -7
  204. package/dist/client/{eventCalendar-DCuyPY_c.mjs → eventCalendar-BI_90SsT.mjs} +5 -5
  205. package/dist/client/{eventCombined-kP2CA2D4.mjs → eventCombined-mNrpryE9.mjs} +2 -2
  206. package/dist/client/{eventDetails-DU0LeF5e.mjs → eventDetails-D4GVlCIY.mjs} +3 -3
  207. package/dist/client/{eventListing-CcHF87BI.mjs → eventListing-YhKN018y.mjs} +2 -2
  208. package/dist/client/{eventRegistration-DJnR0yFH.mjs → eventRegistration-CdHGtilr.mjs} +7 -7
  209. package/dist/client/foregroundContract-xICPq59x.mjs +31 -0
  210. package/dist/client/{form-CH1lCusH.mjs → form-AcAL45rA.mjs} +2 -2
  211. package/dist/client/{headerSection-CBPFZoku.mjs → headerSection-uEC52ueD.mjs} +3 -3
  212. package/dist/client/hooks.mjs +1249 -841
  213. package/dist/client/{locationMap-Cx1hBg5n.mjs → locationMap-_wJDSUYe.mjs} +3 -3
  214. package/dist/client/{media-DHtSxS5V.mjs → media-BK0O3b-U.mjs} +3 -2
  215. package/dist/client/{newsletterForm-1ZL_ti9u.mjs → newsletterForm-DrArsb2B.mjs} +2 -2
  216. package/dist/client/{pricing-BIbzmV0G.mjs → pricing-BSYVghwo.mjs} +1 -1
  217. package/dist/client/{productDetail-BTh5gHBV.mjs → productDetail-Dyk90sMs.mjs} +3 -3
  218. package/dist/client/{productList-Cc7OMrqN.mjs → productList-BCKThwAI.mjs} +3 -3
  219. package/dist/client/{propsDecoder-oR-M-ISN.mjs → propsDecoder-CkXxkdSR.mjs} +96 -33
  220. package/dist/client/rendering/client.mjs +1278 -523
  221. package/dist/client/rendering/islands.mjs +19 -19
  222. package/dist/client/rendering.mjs +2308 -1028
  223. package/dist/client/{shop-CQ_YbCnn.mjs → shop-DeltVH10.mjs} +6 -6
  224. package/dist/client/{shop-commerce-BM-AoD3M.mjs → shop-commerce-BD9Jsm2Z.mjs} +6 -6
  225. package/dist/client/{shop-commerce-store-DFMQhU5p.mjs → shop-commerce-store-CmXD6FDS.mjs} +1 -1
  226. package/dist/client/{shopShared-D0SKO2Cu.mjs → shopShared-B8v-lH_F.mjs} +2 -2
  227. package/dist/client/{useDiscountCodeUi-CrG4_ARt.mjs → useDiscountCodeUi-DbWJN8ld.mjs} +1 -1
  228. package/dist/client/{useEventFilters-CxK8Fekl.mjs → useEventFilters-EJIMUnqT.mjs} +46 -69
  229. package/dist/client/{usePolling-jcVryNgZ.mjs → usePolling-Cmh14fc7.mjs} +2 -2
  230. package/dist/preview-next/before-render.mjs +213 -0
  231. package/dist/preview-next/client/runtime.mjs +4 -4
  232. package/dist/preview-next/middleware.mjs +213 -0
  233. package/dist/{previewAuthStore-BPcJPzdz.mjs → previewAuthStore-CTO7CRPk.mjs} +213 -0
  234. package/dist/{sdk-runtime-C39Rsk-x.mjs → sdk-runtime-Dou0GAav.mjs} +2 -2
  235. package/dist/{separator-BoMSQnsP.mjs → separator-CI5wZNXT.mjs} +1 -1
  236. package/dist/server/components.mjs +2370 -1132
  237. package/dist/server/config-validation.mjs +1256 -842
  238. package/dist/server/config.mjs +1256 -843
  239. package/dist/server/data.mjs +1249 -841
  240. package/dist/server/date-time.mjs +386 -0
  241. package/dist/server/index.mjs +214 -1
  242. package/dist/server/navigation.mjs +9 -3
  243. package/dist/server/next.mjs +3421 -1949
  244. package/dist/server/page-converter.mjs +1236 -659
  245. package/dist/server/prebuild.mjs +1 -1
  246. package/dist/server/rendering/server.mjs +2074 -1060
  247. package/dist/server/rendering.mjs +2370 -1132
  248. package/dist/server/routing.mjs +1543 -1062
  249. package/dist/server/server.mjs +1464 -843
  250. package/dist/server/theme-bridge.mjs +1581 -474
  251. package/dist/server/theme.mjs +614 -305
  252. package/dist/styles/index.css +12 -1
  253. package/package.json +7 -1
  254. package/dist/_dts/theme-core/src/buttons/presets/types.d.ts +0 -88
  255. package/dist/_dts/theme-core/src/buttons/utils/contrast.d.ts +0 -38
  256. package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +0 -57
@@ -256,7 +256,7 @@ export declare const proofBlockIslandCodecs: {
256
256
  className: string | null;
257
257
  titleText: string;
258
258
  bodyText: string;
259
- stepLabels: readonly ("Details" | "Date" | "Event" | "Tickets" | "Payment")[];
259
+ stepLabels: readonly ("Date" | "Event" | "Tickets" | "Details" | "Payment")[];
260
260
  summaryButtonText: string;
261
261
  }>;
262
262
  hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -279,7 +279,7 @@ export declare const proofBlockIslandCodecs: {
279
279
  className: string | null;
280
280
  titleText: string;
281
281
  bodyText: string;
282
- stepLabels: readonly ("Details" | "Date" | "Event" | "Tickets" | "Payment")[];
282
+ stepLabels: readonly ("Date" | "Event" | "Tickets" | "Details" | "Payment")[];
283
283
  summaryButtonText: string;
284
284
  }>;
285
285
  hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -1342,7 +1342,7 @@ export declare const runtimeIslandCodecs: {
1342
1342
  className: string | null;
1343
1343
  titleText: string;
1344
1344
  bodyText: string;
1345
- stepLabels: readonly ("Details" | "Date" | "Event" | "Tickets" | "Payment")[];
1345
+ stepLabels: readonly ("Date" | "Event" | "Tickets" | "Details" | "Payment")[];
1346
1346
  summaryButtonText: string;
1347
1347
  }>;
1348
1348
  hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -1365,7 +1365,7 @@ export declare const runtimeIslandCodecs: {
1365
1365
  className: string | null;
1366
1366
  titleText: string;
1367
1367
  bodyText: string;
1368
- stepLabels: readonly ("Details" | "Date" | "Event" | "Tickets" | "Payment")[];
1368
+ stepLabels: readonly ("Date" | "Event" | "Tickets" | "Details" | "Payment")[];
1369
1369
  summaryButtonText: string;
1370
1370
  }>;
1371
1371
  hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -13,7 +13,7 @@ export * from '../../theme-core/src/schema';
13
13
  export * from '../../theme-core/src/site-styles/index';
14
14
  export * from '../../theme-core/src/styles/buttons';
15
15
  export * from '../../theme-core/src/styles/buttonsLibrary';
16
- export { type ButtonBackground, type ButtonBorder, type ButtonGlobalSettings, type ButtonSystem, type ButtonVariant, type CornerStyle, type EffectApplication, type FontWeight, type GradientSharpness, type GradientStyle, type HoverColor, type HoverTransform, type ShadowSize, type TextTransform, buttonBackgroundSchema, buttonBorderSchema, buttonGlobalSettingsSchema, buttonSystemSchema, buttonVariantSchema, cornerStyleSchema, effectApplicationSchema, fontWeightSchema, gradientSharpnessSchema, gradientStyleSchema, hoverColorSchema, hoverTransformSchema, shadowSizeSchema, textTransformSchema, generateButtonCss, generateDefaultButtonSystem, buttonPresets, type ButtonPreset, EFFECT_PRESETS, getEffectPreset, getEffectPresetsByCategory, getAllEffectPresets, type EffectCategory, type EffectPreset, type EffectContext, type StateGroup, generateButtonCoreCss, getDefaultButtonVariants, type ButtonVariantCore, type ButtonCoreSettings, type ButtonBackgroundType, type GradientDirection, } from '../../theme-core/src/buttons/index';
16
+ export { type ButtonBackground, type ButtonBorder, type ButtonGlobalSettings, type ButtonSystem, type ButtonVariant, type CornerStyle, type EffectApplication, type FontWeight, type GradientSharpness, type GradientStyle, type HoverColor, type HoverTransform, type ShadowSize, type TextTransform, buttonBackgroundSchema, buttonBorderSchema, buttonGlobalSettingsSchema, buttonSystemSchema, buttonVariantSchema, cornerStyleSchema, effectApplicationSchema, fontWeightSchema, gradientSharpnessSchema, gradientStyleSchema, hoverColorSchema, hoverTransformSchema, shadowSizeSchema, textTransformSchema, generateButtonCss, generateDefaultButtonSystem, buttonPresets, type ButtonPreset, EFFECT_PRESETS, getEffectPreset, getEffectPresetsByCategory, getAllEffectPresets, type EffectCategory, type EffectPreset, type EffectContext, type StateGroup, generateButtonCoreCss, getDefaultButtonVariants, type ButtonVariantCore, type ButtonCoreSettings, type GradientDirection, } from '../../theme-core/src/buttons/index';
17
17
  export { type CardBackground, type CardBorder, type CardSpacing, type CardSystem, type CardVariant, type CardVariantRole, type BoxStylesCardVariant, cardBackgroundSchema, cardBorderSchema, cardSpacingSchema, cardSystemSchema, cardVariantSchema, cardVariantRoleSchema, boxStylesCardVariantSchema, normalizeCardVariantRole, normalizeBoxStylesCardVariant, generateCardCss, generateDefaultCardSystem, generateCardCoreCss, getDefaultCardVariants, type CardVariantCore, type CardCoreSettings, type CardBackgroundType, type CardSpacingCore, } from '../../theme-core/src/cards/index';
18
18
  export { generateInputCoreCss, getDefaultInputSettings, type InputCoreSettings, } from '../../theme-core/src/inputs/core';
19
19
  export * from '../../theme-core/src/tokens/index';
@@ -2,7 +2,6 @@ import React from "react";
2
2
  import type { PrimitiveProps } from "../types";
3
3
  declare const Section: React.ForwardRefExoticComponent<PrimitiveProps & {
4
4
  background?: string;
5
- allowOverflow?: boolean;
6
5
  /** Data slot attribute for CSS targeting */
7
6
  "data-slot"?: string;
8
7
  } & React.RefAttributes<HTMLElement>>;
@@ -4,4 +4,5 @@ export { makeDefaultBlockComponent, renderBlock } from '../system/componentFacto
4
4
  export { getDefaultComponentRegistry } from '../system/runtime/components';
5
5
  export { siteHeaderManifest } from '../system/blocks/site-header';
6
6
  export { siteFooterManifest } from '../system/blocks/site-footer';
7
+ export { buildFooterRuntimeViewModel, type FooterRuntimeModule, type FooterRuntimeViewModel, } from '../system/blocks/site-footer-runtime';
7
8
  export { resolveFooterRenderPlan } from '../../../theme-core/src/footer/mode';
@@ -5,6 +5,9 @@ export declare const audioPlayerManifest: import("..").DefinedBlockManifest<impo
5
5
  readonly title: "Audio Player";
6
6
  readonly titleSource: "title";
7
7
  readonly category: "media";
8
+ readonly contentSource: {
9
+ readonly kind: "inline";
10
+ };
8
11
  readonly description: "Add a branded audio player for a single track.";
9
12
  readonly tags: readonly ["audio", "player", "music", "podcast", "media"];
10
13
  readonly icon: "AudioLines";
@@ -5,6 +5,9 @@ export declare const bodyTextManifest: import("..").DefinedBlockManifest<import(
5
5
  readonly title: "Body Text";
6
6
  readonly titleSource: "heading";
7
7
  readonly category: "content";
8
+ readonly contentSource: {
9
+ readonly kind: "inline";
10
+ };
8
11
  readonly fragments: readonly [{
9
12
  readonly fragment: import("..").DefinedFragment<{
10
13
  readonly fields: readonly [{
@@ -8,6 +8,9 @@ export declare const contactNewsletterManifest: import("..").DefinedBlockManifes
8
8
  readonly titleSource: "contactTitle";
9
9
  readonly description: "Two-column newsletter signup and contact form section.";
10
10
  readonly category: "interactive";
11
+ readonly contentSource: {
12
+ readonly kind: "inline";
13
+ };
11
14
  readonly layout: import("..").NodeDefinition;
12
15
  readonly defaultVariant: "default";
13
16
  readonly variants: {
@@ -111,28 +111,7 @@ export declare const courseRegistrationManifest: import("..").DefinedBlockManife
111
111
  readonly multiline: false;
112
112
  readonly defaultValue: "Sign up";
113
113
  readonly maxLength: 40;
114
- }, {
115
- readonly id: "buttonVariant";
116
- readonly type: "select";
117
- readonly label: "Button style";
118
- readonly description: "Choose a button style from your theme";
119
- readonly required: false;
120
- readonly multiple: false;
121
- readonly defaultValue: "primary";
122
- readonly options: [{
123
- readonly value: "primary";
124
- readonly label: "Primary";
125
- }, {
126
- readonly value: "secondary";
127
- readonly label: "Secondary";
128
- }, {
129
- readonly value: "outline";
130
- readonly label: "Outline";
131
- }];
132
- readonly ui: {
133
- readonly intent: "style";
134
- };
135
- }];
114
+ }, import("../../../../block-form/src/backend/index").FieldDefinition];
136
115
  }>;
137
116
  export type CourseRegistrationContent = {
138
117
  heading?: string | null;
@@ -5,6 +5,9 @@ declare const ctaFullConfig: {
5
5
  readonly id: "block.cta-full";
6
6
  readonly title: "Full-width CTA";
7
7
  readonly category: "marketing";
8
+ readonly contentSource: {
9
+ readonly kind: "inline";
10
+ };
8
11
  readonly fragments: readonly [{
9
12
  readonly fragment: import("..").DefinedFragment<{
10
13
  readonly fields: readonly [{
@@ -100,28 +100,7 @@ export declare const eventRegistrationManifest: import("..").DefinedBlockManifes
100
100
  readonly multiline: false;
101
101
  readonly defaultValue: "Complete Registration";
102
102
  readonly maxLength: 40;
103
- }, {
104
- readonly id: "buttonVariant";
105
- readonly type: "select";
106
- readonly label: "Button style";
107
- readonly description: "Choose a button style from your theme";
108
- readonly required: false;
109
- readonly multiple: false;
110
- readonly defaultValue: "primary";
111
- readonly options: [{
112
- readonly value: "primary";
113
- readonly label: "Primary";
114
- }, {
115
- readonly value: "secondary";
116
- readonly label: "Secondary";
117
- }, {
118
- readonly value: "outline";
119
- readonly label: "Outline";
120
- }];
121
- readonly ui: {
122
- readonly intent: "style";
123
- };
124
- }];
103
+ }, import("../../../../block-form/src/backend/index").FieldDefinition];
125
104
  }>;
126
105
  export type EventRegistrationContent = {
127
106
  heading?: string | null;
@@ -5,6 +5,9 @@ export declare const fileDownloadManifest: import("..").DefinedBlockManifest<imp
5
5
  readonly title: "File Download";
6
6
  readonly titleSource: ["title", "file.filename"];
7
7
  readonly category: "media";
8
+ readonly contentSource: {
9
+ readonly kind: "inline";
10
+ };
8
11
  readonly description: "Add a simple public download link for a document, ZIP, or audio file.";
9
12
  readonly tags: readonly ["file", "download", "document", "zip", "media"];
10
13
  readonly icon: "Download";
@@ -78,6 +78,9 @@ export declare const formManifest: import("..").DefinedBlockManifest<import(".."
78
78
  readonly paletteHidden: false;
79
79
  };
80
80
  readonly category: "interactive";
81
+ readonly contentSource: {
82
+ readonly kind: "inline";
83
+ };
81
84
  readonly tags: readonly ["form", "contact", "input", "submit", "fields", "signup", "lead-capture"];
82
85
  readonly icon: "FormInput";
83
86
  }>>;
@@ -6,6 +6,9 @@ export declare const imageGalleryManifest: import("..").DefinedBlockManifest<imp
6
6
  readonly id: "block.image-gallery";
7
7
  readonly title: "Image Gallery";
8
8
  readonly category: "content";
9
+ readonly contentSource: {
10
+ readonly kind: "inline";
11
+ };
9
12
  readonly previewCustomize: {
10
13
  readonly quickFieldPriority: ["aspectRatio", "slidesToShow", "fullBleed", "marqueeSpeed", "marqueePauseOnHover"];
11
14
  };
@@ -31,6 +31,9 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
31
31
  readonly id: "block.media-text";
32
32
  readonly title: "Media and Text";
33
33
  readonly category: "layout";
34
+ readonly contentSource: {
35
+ readonly kind: "inline";
36
+ };
34
37
  readonly includeContainerStyles: true;
35
38
  readonly titleSource: "title";
36
39
  readonly previewCustomize: {
@@ -8,6 +8,9 @@ export declare const newsletterSignupManifest: import("..").DefinedBlockManifest
8
8
  readonly titleSource: "title";
9
9
  readonly description: "Newsletter subscription form with configurable field presets.";
10
10
  readonly category: "interactive";
11
+ readonly contentSource: {
12
+ readonly kind: "inline";
13
+ };
11
14
  readonly fragments: readonly [{
12
15
  readonly fragment: import("..").DefinedFragment<{
13
16
  readonly fields: readonly [{
@@ -0,0 +1,50 @@
1
+ import { type FooterCompositionV1, type FooterMembershipKey, type FooterModuleId, type PublicProfile } from '../../../../core/src/index';
2
+ export type FooterRuntimeModule = Readonly<{
3
+ id: FooterModuleId;
4
+ kind: 'brand' | 'navigation' | 'legal-navigation' | 'business-address' | 'contact' | 'opening-hours' | 'social-links' | 'supporting-text' | 'legal';
5
+ heading: string | null;
6
+ navigationClassName?: string;
7
+ showLogo?: boolean;
8
+ showTitle?: boolean;
9
+ address?: string;
10
+ contactLinks?: readonly Readonly<{
11
+ href: string;
12
+ label: string;
13
+ }>[];
14
+ openingHours?: readonly Readonly<{
15
+ weekday: string;
16
+ hours: string;
17
+ }>[];
18
+ timeZone?: string;
19
+ socialLinks?: readonly Readonly<{
20
+ href: string;
21
+ label: string;
22
+ icon: string | null;
23
+ }>[];
24
+ content?: Readonly<Record<string, unknown>>;
25
+ }>;
26
+ export type FooterRuntimeViewModel = Readonly<{
27
+ membershipKey: FooterMembershipKey;
28
+ regions: readonly FooterRuntimeRegion[];
29
+ }>;
30
+ export type FooterRuntimeGroup = Readonly<{
31
+ kind: 'identity' | 'main-navigation' | 'visit' | 'legal-ending';
32
+ modules: readonly FooterRuntimeModule[];
33
+ }>;
34
+ export type FooterRuntimeRegion = Readonly<{
35
+ kind: 'main' | 'bottom';
36
+ className: string;
37
+ groups: readonly FooterRuntimeGroup[];
38
+ }>;
39
+ type FooterRuntimeViewModelInput = Readonly<{
40
+ composition: FooterCompositionV1;
41
+ publicProfile: PublicProfile;
42
+ businessAddress: string | null;
43
+ hasFooterNavigation: boolean;
44
+ hasLegalPolicyNavigation?: boolean;
45
+ hasLogo?: boolean;
46
+ legalRegion?: 'integrated' | 'separate';
47
+ layoutVariant?: 'simple' | 'columns' | 'split';
48
+ }>;
49
+ export declare function buildFooterRuntimeViewModel(input: FooterRuntimeViewModelInput): FooterRuntimeViewModel;
50
+ export {};
@@ -1,53 +1,14 @@
1
- import type { NodeDefinition } from "../node";
2
- import type { SystemBlockDefinition } from "../registry";
3
- export declare const siteFooterManifest: import("..").DefinedBlockManifest<import("..").BlockContentShapeInput<{
4
- readonly id: "block.site-footer";
5
- readonly title: "Site Footer";
6
- readonly category: "layout";
7
- readonly fragments: readonly [{
8
- readonly fragment: import("..").DefinedFragment<{
9
- readonly fields: readonly [{
10
- readonly id: "bodyText";
11
- readonly type: "richText";
12
- readonly label: "Body text";
13
- readonly description: "Appears in the main footer area.";
14
- readonly ui: {
15
- readonly variant: "limited";
16
- };
17
- }, {
18
- readonly id: "bottomText";
19
- readonly type: "richText";
20
- readonly label: "Bottom bar text";
21
- readonly description: "Appears in the optional footer bottom bar.";
22
- readonly ui: {
23
- readonly variant: "limited";
24
- };
25
- }];
26
- }>;
27
- readonly fieldPriority: 0;
28
- }];
1
+ import type { SystemBlockDefinition } from '../registry';
2
+ import type { FooterRuntimeViewModel } from './site-footer-runtime';
3
+ export declare const siteFooterManifest: import("..").DefinedBlockManifest<{
29
4
  readonly skipSectionStyles: true;
30
- readonly additionalFields: readonly [{
31
- readonly id: "showBusinessAddress";
32
- readonly type: "boolean";
33
- readonly label: "Add business address to site footer?";
34
- readonly required: false;
35
- readonly defaultValue: false;
36
- readonly ui: {
37
- readonly intent: "content";
38
- };
39
- }];
40
- readonly layout: NodeDefinition;
41
- readonly description: "Site-wide footer with navigation links and optional columns.";
42
- readonly styleTokens: {
43
- readonly spacing: "md";
44
- };
45
- readonly paletteHidden: true;
46
- }>>;
47
- export type SiteFooterVariant = "simple" | "columns" | "split";
48
- export type SiteFooterContent = {
5
+ }>;
6
+ export type SiteFooterVariant = 'simple' | 'columns' | 'split';
7
+ export type SiteFooterContent = Readonly<{
8
+ /** Legacy storage-only fields. The V1 runtime does not read these values. */
49
9
  bodyText?: unknown;
50
10
  bottomText?: unknown;
51
11
  showBusinessAddress?: boolean | null;
52
- };
12
+ footerRuntime?: FooterRuntimeViewModel | null;
13
+ }>;
53
14
  export declare const siteFooterBlockDefinition: SystemBlockDefinition<SiteFooterContent>;
@@ -4,6 +4,9 @@ export declare const siteHeaderManifest: import("..").DefinedBlockManifest<impor
4
4
  readonly id: "block.site-header";
5
5
  readonly title: "Site Header";
6
6
  readonly category: "layout";
7
+ readonly contentSource: {
8
+ readonly kind: "inline";
9
+ };
7
10
  readonly additionalFields: readonly [{
8
11
  readonly id: "mode";
9
12
  readonly type: "select";
@@ -13,6 +13,9 @@ export declare const teamMembersManifest: import("..").DefinedBlockManifest<impo
13
13
  readonly id: "block.team-members";
14
14
  readonly title: "Team Members";
15
15
  readonly category: "content";
16
+ readonly contentSource: {
17
+ readonly kind: "mixed";
18
+ };
16
19
  readonly titleSource: "heading";
17
20
  readonly additionalFields: readonly [import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, {
18
21
  readonly ui: {
@@ -5,6 +5,9 @@ export declare const testimonialsManifest: import("..").DefinedBlockManifest<imp
5
5
  readonly id: "block.testimonials";
6
6
  readonly title: "Testimonials";
7
7
  readonly category: "marketing";
8
+ readonly contentSource: {
9
+ readonly kind: "inline";
10
+ };
8
11
  readonly includeContainerStyles: true;
9
12
  readonly previewCustomize: {
10
13
  readonly quickFieldPriority: ["avatarLayout", "gridColumns", "slidesToShow", "maxEntries", "autoplay"];
@@ -4,6 +4,9 @@ export declare const videoGridManifest: import("..").DefinedBlockManifest<import
4
4
  readonly id: "block.video-grid";
5
5
  readonly title: "Video Grid";
6
6
  readonly category: "media";
7
+ readonly contentSource: {
8
+ readonly kind: "inline";
9
+ };
7
10
  readonly skipSectionStyles: true;
8
11
  readonly additionalFields: import("../../../../block-form/src/backend/index").FieldDefinition[];
9
12
  readonly layout: NodeDefinition;
@@ -54,7 +54,7 @@ export declare const BACKGROUND_POSITION_PRESETS: readonly [{
54
54
  readonly value: "right bottom";
55
55
  readonly label: "Right Bottom";
56
56
  }];
57
- export declare const BACKGROUND_POSITION_PRESET_VALUES: ("left" | "right" | "top" | "bottom" | "center" | "right center" | "top left" | "top right" | "bottom left" | "bottom right" | "top center" | "bottom center" | "left center" | "left top" | "right top" | "left bottom" | "right bottom")[];
57
+ export declare const BACKGROUND_POSITION_PRESET_VALUES: ("left" | "right" | "bottom" | "top" | "center" | "right center" | "top center" | "top left" | "top right" | "bottom left" | "bottom right" | "bottom center" | "left center" | "left top" | "right top" | "left bottom" | "right bottom")[];
58
58
  /**
59
59
  * Maps position keywords to rb-* anchor positioning classes.
60
60
  * Used for positioning scaled/overflow images within their containers.
@@ -1,15 +1,14 @@
1
1
  import { type MediaAssetId } from '../../../../core/src/index';
2
2
  import { type ThemeBackgroundTextLegibilityPlan, type AppearancePresetId, type LayoutVariantKey, type PageDesignEditorBackgroundSupport } from '../../../../theme-core/src/site-styles/index';
3
3
  import type { ThemeColorToken } from '../../../../theme-core/src/tokens/index';
4
+ import { type GradientPresetId } from '../../../../theme-core/src/gradients/index';
4
5
  import type { RenderableMediaAsset } from '../../../../media-core/src/index';
6
+ export { isGradientPresetId, parseGradientPresetId, type GradientPresetId, } from '../../../../theme-core/src/gradients/index';
5
7
  export type BackgroundMode = 'default' | 'color' | 'gradient' | 'image';
6
8
  export type BackgroundModeCycleDirection = 'prev' | 'next';
7
9
  export type BackgroundColorToken = ThemeColorToken & {
8
10
  readonly __backgroundColorTokenBrand: 'BackgroundColorToken';
9
11
  };
10
- export type GradientPresetId = string & {
11
- readonly __brand: 'GradientPresetId';
12
- };
13
12
  export type BackgroundOverride = Readonly<{
14
13
  kind: 'default';
15
14
  }> | Readonly<{
@@ -31,6 +30,15 @@ export type ParsedBackgroundOverride = Readonly<{
31
30
  reason: LegacyBackgroundReason;
32
31
  background: Readonly<Record<string, unknown>>;
33
32
  }>;
33
+ export type CanonicalSectionBackground = Readonly<{
34
+ kind: 'none';
35
+ }> | Readonly<{
36
+ kind: 'block-authored';
37
+ background: Readonly<Record<string, unknown>>;
38
+ }> | Readonly<{
39
+ kind: 'page-design-override';
40
+ parsed: ParsedBackgroundOverride;
41
+ }>;
34
42
  export type BackgroundImagePoolSource = 'current' | 'generated-ambient' | 'previous-background' | 'general-media';
35
43
  export type BackgroundImagePoolMediaAsset = RenderableMediaAsset;
36
44
  type BaseBackgroundImagePoolItem = Readonly<{
@@ -169,8 +177,6 @@ export declare function isBackgroundColorToken(value: unknown): value is Backgro
169
177
  export declare function foregroundTokenForBackgroundColorToken(token: BackgroundColorToken): string;
170
178
  export declare function planBackgroundColorTextLegibility(token: BackgroundColorToken): ThemeBackgroundTextLegibilityPlan;
171
179
  export declare function dedupeBackgroundColorTokensByPalette(tokens: readonly BackgroundColorToken[], palette: BackgroundColorPalette): readonly BackgroundColorToken[];
172
- export declare function parseGradientPresetId(value: unknown): GradientPresetId | null;
173
- export declare function isGradientPresetId(value: unknown): value is GradientPresetId;
174
180
  export declare function backgroundModeForOverride(override: BackgroundOverride): BackgroundMode;
175
181
  export declare function backgroundOverrideEquals(left: BackgroundOverride, right: BackgroundOverride): boolean;
176
182
  export declare function imagePoolForOverride(override: BackgroundOverride): readonly BackgroundImagePoolItem[];
@@ -178,6 +184,11 @@ export declare function defaultBackgroundOverrideForMode(mode: BackgroundMode, c
178
184
  export declare function resolveBackgroundCapability(input: ResolveBackgroundCapabilityInput): BackgroundCapability;
179
185
  export declare function backgroundCapabilityFromModes(modeCapabilities: readonly BackgroundModeCapability[]): BackgroundCapability;
180
186
  export declare function parseBackgroundOverrideFromContent(content: BackgroundCustomizeContent): ParsedBackgroundOverride;
187
+ /**
188
+ * Classifies persisted content before runtime Look decoration is considered.
189
+ * Only the explicit owner marker can make a background a page-design override.
190
+ */
191
+ export declare function parseCanonicalSectionBackground(content: BackgroundCustomizeContent): CanonicalSectionBackground;
181
192
  export declare function parseBackgroundOverride(value: unknown): ParsedBackgroundOverride;
182
193
  export declare function serializeBackgroundOverride(override: BackgroundOverride): Record<string, unknown> | null;
183
194
  export declare function applyBackgroundOverrideContentPatch(content: BackgroundCustomizeContent, override: BackgroundOverride): BackgroundCustomizeContent;
@@ -187,4 +198,3 @@ export declare function rankBackgroundImagePoolItems(items: readonly BackgroundI
187
198
  export declare function enabledBackgroundModes(capability: BackgroundCapability): readonly BackgroundMode[];
188
199
  export declare function backgroundColorTokensForValueCycling(capability: BackgroundCapability): readonly BackgroundColorToken[];
189
200
  export declare function canCycleBackgroundOverrideValue(override: BackgroundOverride, capability: BackgroundCapability): boolean;
190
- export {};
@@ -1,4 +1,4 @@
1
- import type { BlockManifest, BlockCategory, PreviewCustomizeManifestCuration, StyleTokenConfig, BehaviourConfig } from './manifest/schema';
1
+ import type { BlockManifest, BlockCategory, BlockContentSource, PreviewCustomizeManifestCuration, StyleTokenConfig, BehaviourConfig } from './manifest/schema';
2
2
  import type { NodeDefinition } from './node';
3
3
  import { type FragmentFieldConfigInput, type FragmentConfigInputOf, type FragmentDefinition } from './fragments';
4
4
  /**
@@ -72,6 +72,14 @@ export type BlockConfig = {
72
72
  previewCustomize?: PreviewCustomizeManifestCuration;
73
73
  /** Content types this block is compatible with */
74
74
  contentTypes?: readonly string[];
75
+ /**
76
+ * Explicit content-source classification for this block: whether its rendered
77
+ * content is authored inline, comes from content-type entries, or both.
78
+ * Declared per block (not inferred) and REQUIRED — a system block cannot be
79
+ * defined without classifying itself, and a registry-wide test double-checks
80
+ * the assembled manifests.
81
+ */
82
+ contentSource: BlockContentSource;
75
83
  };
76
84
  declare const BlockInput: unique symbol;
77
85
  type PickConfigProperty<C, K extends keyof BlockConfig> = K extends keyof C ? {
@@ -7,6 +7,14 @@ type CtasOptions = {
7
7
  minItems?: number;
8
8
  maxItems?: number;
9
9
  button?: ButtonOptions;
10
+ /**
11
+ * Explicit default value for the repeater. Pass `[]` to guarantee the CTA
12
+ * repeater materializes with NO seeded row (see 8.1: onboarding must not leave
13
+ * placeholder `label:"Label"` CTA stubs). Without this the repeater still
14
+ * defaults to `[]` via `minItems: 0`, but declaring it makes the no-seed
15
+ * contract explicit and regression-proof against a future `minItems` change.
16
+ */
17
+ defaultValue?: readonly Record<string, unknown>[];
10
18
  };
11
19
  type CtasOptionId<O> = O extends {
12
20
  id: infer Id extends string;
@@ -2,7 +2,8 @@ import { type CtaIconName } from './cta';
2
2
  import { type SemanticIconId } from './semantic';
3
3
  import { type IconPickerPreset } from './presets';
4
4
  import type { IconComponent } from './svg';
5
- export type IconName = CtaIconName | SemanticIconId;
5
+ import { type SocialIconName } from './social';
6
+ export type IconName = CtaIconName | SemanticIconId | SocialIconName;
6
7
  export type IconIdForPreset<Preset extends IconPickerPreset> = Preset extends 'cta' ? CtaIconName : Preset extends 'feature' ? SemanticIconId : never;
7
8
  export type IconPickerOption<Preset extends IconPickerPreset = IconPickerPreset> = {
8
9
  id: IconIdForPreset<Preset>;
@@ -0,0 +1,5 @@
1
+ import { type IconComponent } from './svg';
2
+ export declare const SOCIAL_ICON_NAMES: readonly ["SocialFacebook", "SocialInstagram", "SocialLinkedIn", "SocialTikTok", "SocialX", "SocialYouTube"];
3
+ export type SocialIconName = (typeof SOCIAL_ICON_NAMES)[number];
4
+ export declare function isSocialIconName(value: unknown): value is SocialIconName;
5
+ export declare function getSocialIconComponent(value: unknown): IconComponent | null;
@@ -13,6 +13,7 @@ export type IconSvgProps = Omit<SVGProps<SVGSVGElement>, 'width' | 'height'> & {
13
13
  title?: string;
14
14
  };
15
15
  export type IconComponent = React.ComponentType<IconSvgProps>;
16
+ export declare function createIcon(displayName: string, children: React.ReactNode): IconComponent;
16
17
  export declare const ArrowDownIcon: IconComponent;
17
18
  export declare const ArrowLeftIcon: IconComponent;
18
19
  export declare const ArrowRightIcon: IconComponent;
@@ -4802,9 +4802,9 @@ export declare const styleTokenSchema: z.ZodObject<{
4802
4802
  }>>;
4803
4803
  typography: z.ZodOptional<z.ZodEnum<{
4804
4804
  display: "display";
4805
+ heading: "heading";
4805
4806
  body: "body";
4806
4807
  caption: "caption";
4807
- heading: "heading";
4808
4808
  subheading: "subheading";
4809
4809
  }>>;
4810
4810
  spacing: z.ZodOptional<z.ZodEnum<{
@@ -4845,6 +4845,29 @@ export declare const blockCategoryEnum: z.ZodEnum<{
4845
4845
  interactive: "interactive";
4846
4846
  }>;
4847
4847
  export type BlockCategory = z.infer<typeof blockCategoryEnum>;
4848
+ /**
4849
+ * Explicit authoring classification of where a block's rendered content comes from.
4850
+ *
4851
+ * - `inline` — all content is authored inline in the block's own fields.
4852
+ * - `entries` — the block renders content-type entries; `contentType` names the backing type.
4853
+ * - `mixed` — the block has inline fields AND renders entries; `contentType` names the
4854
+ * backing type when a single one applies.
4855
+ *
4856
+ * This is EXPLICIT metadata declared on every block definition (not inferred from
4857
+ * dataLoaders/field types), so the catalog can classify entry-backed vs inline blocks
4858
+ * honestly. A registry-wide test asserts every registered block declares it.
4859
+ */
4860
+ export declare const blockContentSourceKinds: readonly ["inline", "entries", "mixed"];
4861
+ export type BlockContentSourceKind = (typeof blockContentSourceKinds)[number];
4862
+ export declare const blockContentSourceSchema: z.ZodObject<{
4863
+ kind: z.ZodEnum<{
4864
+ entries: "entries";
4865
+ mixed: "mixed";
4866
+ inline: "inline";
4867
+ }>;
4868
+ contentType: z.ZodOptional<z.ZodString>;
4869
+ }, z.core.$strip>;
4870
+ export type BlockContentSource = z.infer<typeof blockContentSourceSchema>;
4848
4871
  export declare const manifestSchema: z.ZodObject<{
4849
4872
  name: z.ZodString;
4850
4873
  version: z.ZodString;
@@ -4890,9 +4913,9 @@ export declare const manifestSchema: z.ZodObject<{
4890
4913
  }>>;
4891
4914
  typography: z.ZodOptional<z.ZodEnum<{
4892
4915
  display: "display";
4916
+ heading: "heading";
4893
4917
  body: "body";
4894
4918
  caption: "caption";
4895
- heading: "heading";
4896
4919
  subheading: "subheading";
4897
4920
  }>>;
4898
4921
  spacing: z.ZodOptional<z.ZodEnum<{
@@ -4939,6 +4962,14 @@ export declare const manifestSchema: z.ZodObject<{
4939
4962
  interactive: "interactive";
4940
4963
  }>>;
4941
4964
  contentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
4965
+ contentSource: z.ZodOptional<z.ZodObject<{
4966
+ kind: z.ZodEnum<{
4967
+ entries: "entries";
4968
+ mixed: "mixed";
4969
+ inline: "inline";
4970
+ }>;
4971
+ contentType: z.ZodOptional<z.ZodString>;
4972
+ }, z.core.$strip>>;
4942
4973
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
4943
4974
  icon: z.ZodOptional<z.ZodString>;
4944
4975
  }, z.core.$strip>;
@@ -55,6 +55,10 @@ export type BackgroundLayerOptions = {
55
55
  */
56
56
  imageFetchPriority?: MediaImageFetchPriority;
57
57
  };
58
+ export type BackgroundFrameOptions = BackgroundLayerOptions & {
59
+ /** Decorative nodes painted below the configured background layers. */
60
+ leadingNodes?: NodeDefinition[];
61
+ };
58
62
  /**
59
63
  * Creates background layer nodes for rendering backgrounds from field data.
60
64
  *
@@ -97,6 +101,15 @@ export type BackgroundLayerOptions = {
97
101
  * )
98
102
  */
99
103
  export declare function backgroundLayer(path: string, options?: BackgroundLayerOptions): NodeDefinition[];
104
+ /**
105
+ * Wrap decorative background layers in their own clipping frame.
106
+ *
107
+ * Foreground content remains outside this frame, so editor outlines, focus
108
+ * rings, and floating controls are never clipped by a visual background.
109
+ * Backgrounds that explicitly opt into overflow keep that behavior within
110
+ * the decorative layer rather than changing the content root.
111
+ */
112
+ export declare function backgroundFrame(path: string, options?: BackgroundFrameOptions): NodeDefinition;
100
113
  /**
101
114
  * Creates a media node for rendering background image/video media with conditional rendering.
102
115
  *
@@ -1,3 +1,4 @@
1
+ import type { NodeModifier } from "../builder";
1
2
  import type { NodeDefinition } from "../schema";
2
3
  import type { ClassNameBinding } from "./classNameBinding";
3
4
  type FooterNavMode = "all" | "links-only" | "flatten";
@@ -16,6 +17,7 @@ type FooterNavOpts = {
16
17
  */
17
18
  mode?: FooterNavMode;
18
19
  };
20
+ export declare const whenCollectionHasItems: (collectionPath: string) => NodeModifier;
19
21
  /**
20
22
  * Footer navigation component that renders children expanded (not as dropdowns).
21
23
  *