@riverbankcms/sdk 0.104.3 → 0.108.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 (302) hide show
  1. package/README.md +84 -51
  2. package/dist/{PreviewEditorSidebar-CBMhU9p_.mjs → PreviewEditorSidebar-BBT-kZAM.mjs} +1850 -1183
  3. package/dist/{PreviewEditorUI-C5KEw4M8.mjs → PreviewEditorUI-D69xNKT2.mjs} +10 -9
  4. package/dist/{PreviewQueryProvider-CStABBUh.mjs → PreviewQueryProvider-RRu7wyQ5.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-Iq12HjL7.mjs → SdkPreviewModeRuntime-CuDjXH6o.mjs} +2562 -457
  6. package/dist/{SiteChromeCustomizeContext-Cx0NMdyv.mjs → SiteChromeCustomizeContext-BQUY2dEk.mjs} +7689 -3196
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +36493 -1395
  8. package/dist/_dts/api/src/blocks.d.ts +41 -7
  9. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  10. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +5 -1
  11. package/dist/_dts/api/src/bookingRecords.d.ts +180 -115
  12. package/dist/_dts/api/src/cache-tags.d.ts +3 -0
  13. package/dist/_dts/api/src/contentRuntime.d.ts +25 -16
  14. package/dist/_dts/api/src/courses.d.ts +68 -10
  15. package/dist/_dts/api/src/endpoints.d.ts +128 -0
  16. package/dist/_dts/api/src/footer-settings.d.ts +1 -0
  17. package/dist/_dts/api/src/footerSettings.d.ts +8 -0
  18. package/dist/_dts/api/src/index.d.ts +127 -124
  19. package/dist/_dts/api/src/navigation/contracts.d.ts +3 -3
  20. package/dist/_dts/api/src/previewContentContract.d.ts +4 -0
  21. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +9 -0
  22. package/dist/_dts/api/src/sdkContracts.d.ts +178 -6
  23. package/dist/_dts/api/src/siteBanner.d.ts +2 -2
  24. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +143 -55
  25. package/dist/_dts/api/src/siteOperations.d.ts +1 -0
  26. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +32 -4
  27. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +72 -47
  28. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -4
  29. package/dist/_dts/blocks/src/definitions.d.ts +1 -1
  30. package/dist/_dts/blocks/src/portal/types.d.ts +25 -7
  31. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +0 -1
  32. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -0
  33. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -2
  34. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -0
  35. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -0
  36. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +4 -0
  37. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule-projection.d.ts +52 -0
  38. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +22 -0
  39. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +45 -0
  40. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +10 -0
  41. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -1
  42. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  43. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -0
  44. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +8 -2
  45. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +8 -8
  46. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +24 -24
  47. package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +29 -0
  48. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
  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/constants/background.d.ts +1 -1
  52. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  53. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +2 -5
  54. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +1 -0
  56. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +2 -2
  57. package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -1
  58. package/dist/_dts/blocks/src/system/icons/social.d.ts +5 -0
  59. package/dist/_dts/blocks/src/system/icons/svg.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +2 -2
  61. package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +13 -0
  62. package/dist/_dts/blocks/src/system/node/fragments/footerNav.d.ts +2 -0
  63. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +3 -0
  64. package/dist/_dts/blocks/src/system/node/fragments/styledContainer.d.ts +4 -4
  65. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +3 -12
  66. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/runtime/blockComposition.d.ts +2 -0
  69. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +90 -6
  70. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +45 -3
  71. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
  72. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +2 -1
  74. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +1 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +2 -1
  76. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +17 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +3 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -0
  79. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +9 -18
  81. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +106 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/events/RecurringSchedule.d.ts +11 -0
  83. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +7 -3
  84. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +3 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +11 -1
  86. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
  87. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +6 -6
  89. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +1 -1
  90. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +11 -5
  91. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
  92. package/dist/_dts/blocks/src/system/runtime/nodes/svg.d.ts +7 -0
  93. package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
  94. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +14 -0
  95. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +27 -8
  96. package/dist/_dts/content-editor/src/footerComposer.d.ts +56 -0
  97. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
  98. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +5 -5
  99. package/dist/_dts/content-editor/src/index.d.ts +2 -0
  100. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +3 -1
  101. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +20 -36
  102. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +5 -1
  103. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +11 -0
  104. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  105. package/dist/_dts/content-model/src/definitions/shared.d.ts +3 -0
  106. package/dist/_dts/core/src/branded.d.ts +47 -0
  107. package/dist/_dts/core/src/dated-offering-settlement.d.ts +47 -0
  108. package/dist/_dts/core/src/editor-state.d.ts +4 -0
  109. package/dist/_dts/core/src/event-page-surface-subject.d.ts +44 -0
  110. package/dist/_dts/core/src/footer-composition.d.ts +143 -0
  111. package/dist/_dts/core/src/index.d.ts +51 -47
  112. package/dist/_dts/core/src/public-profile.d.ts +73 -0
  113. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +4398 -2859
  114. package/dist/_dts/db/src/schemas/forms.d.ts +10 -10
  115. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +5 -0
  116. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -0
  117. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +1 -1
  118. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +4 -1
  119. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -1
  120. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -1
  121. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -1
  122. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +10 -0
  123. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  124. package/dist/_dts/media-core/src/index.d.ts +2 -1
  125. package/dist/_dts/media-core/src/storagePathDomain.d.ts +47 -0
  126. package/dist/_dts/media-core/src/url.d.ts +1 -21
  127. package/dist/_dts/path-utils/src/index.d.ts +5 -0
  128. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
  129. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -1
  130. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
  131. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +5 -0
  132. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +4 -9
  133. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
  134. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +8 -11
  135. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +4 -9
  136. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +2 -6
  137. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -9
  138. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +81 -43
  139. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.typography.d.ts +61 -0
  140. package/dist/_dts/preview-next/src/client/preview/previewErrorMessages.d.ts +4 -0
  141. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +7 -17
  142. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +15 -8
  143. package/dist/_dts/preview-next/src/client/preview/typographyFontCatalog.d.ts +57 -0
  144. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -1
  145. package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +4 -7
  146. package/dist/_dts/sdk/src/cli/commands/style.d.ts +24 -10
  147. package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -0
  148. package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +3 -3
  149. package/dist/_dts/sdk/src/cli/sync/media.d.ts +16 -2
  150. package/dist/_dts/sdk/src/client/management/blocks.d.ts +14 -1
  151. package/dist/_dts/sdk/src/client/management/index.d.ts +2 -1
  152. package/dist/_dts/sdk/src/client/management/types.d.ts +147 -24
  153. package/dist/_dts/sdk/src/client/types.d.ts +2 -0
  154. package/dist/_dts/sdk/src/config/content-types.d.ts +2 -0
  155. package/dist/_dts/sdk/src/config/content-validation.d.ts +4 -0
  156. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  157. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  158. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  159. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +23 -3
  160. package/dist/_dts/sdk/src/data/dataLoaderContext.d.ts +17 -0
  161. package/dist/_dts/sdk/src/data/dataLoaderValue.d.ts +36 -0
  162. package/dist/_dts/sdk/src/data/defineOwnDataProperty.d.ts +2 -0
  163. package/dist/_dts/sdk/src/data/executeCodeLoaders.d.ts +36 -40
  164. package/dist/_dts/sdk/src/data/index.d.ts +3 -3
  165. package/dist/_dts/sdk/src/data/resolveBlockData.d.ts +54 -0
  166. package/dist/_dts/sdk/src/data/types.d.ts +43 -78
  167. package/dist/_dts/sdk/src/navigation/index.d.ts +2 -0
  168. package/dist/_dts/sdk/src/next/index.d.ts +1 -0
  169. package/dist/_dts/sdk/src/next/redirect-destination.d.ts +1 -1
  170. package/dist/_dts/sdk/src/next/resolveTheme.d.ts +2 -1
  171. package/dist/_dts/sdk/src/next/types.d.ts +10 -1
  172. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -10
  173. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -1
  174. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +10 -5
  175. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +6 -10
  176. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
  177. package/dist/_dts/sdk/src/server.d.ts +4 -3
  178. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  179. package/dist/_dts/sdk/src/version.d.ts +1 -1
  180. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
  181. package/dist/_dts/site-commands/src/commands.d.ts +934 -40
  182. package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
  183. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +5 -1
  184. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +22 -0
  185. package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +17 -0
  186. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +17 -0
  187. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +3 -3
  188. package/dist/_dts/theme-core/src/buttons/types.d.ts +12 -8
  189. package/dist/_dts/theme-core/src/cards/types.d.ts +3 -3
  190. package/dist/_dts/theme-core/src/data.d.ts +12 -0
  191. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -1
  192. package/dist/_dts/theme-core/src/fonts/types.d.ts +6 -0
  193. package/dist/_dts/theme-core/src/footer/mode.d.ts +15 -0
  194. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  195. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  196. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -54
  197. package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
  198. package/dist/_dts/theme-core/src/palette/colors.d.ts +12 -0
  199. package/dist/_dts/theme-core/src/palette/curated/brand-led.d.ts +10 -5
  200. package/dist/_dts/theme-core/src/palette/curated/high-contrast.d.ts +6 -3
  201. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +31 -236
  202. package/dist/_dts/theme-core/src/palette/curated/soft-natural.d.ts +8 -4
  203. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +14 -12
  204. package/dist/_dts/theme-core/src/palette/curated/warm-dark.d.ts +4 -2
  205. package/dist/_dts/theme-core/src/palette/curated/warm-neutral.d.ts +8 -4
  206. package/dist/_dts/theme-core/src/palette/editorState.d.ts +33 -3
  207. package/dist/_dts/theme-core/src/palette/index.d.ts +0 -4
  208. package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +12 -6
  209. package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +20 -72
  210. package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +29 -4
  211. package/dist/_dts/theme-core/src/palette/selection.d.ts +6 -4
  212. package/dist/_dts/theme-core/src/schema.d.ts +1307 -38
  213. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +218 -158
  214. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -6
  215. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +218 -158
  216. package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +1 -0
  217. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  218. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +161 -51
  219. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +6 -0
  220. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  221. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +12 -1
  222. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -1
  223. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +24 -1
  224. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -48
  225. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -23
  226. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +15 -0
  227. package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +1 -2
  228. package/dist/_dts/theme-core/src/site-styles/siteStyleTypography.d.ts +456 -0
  229. package/dist/_dts/theme-core/src/site-styles/types.d.ts +52 -3
  230. package/dist/cli/index.mjs +4118 -2278
  231. package/dist/client/{DiscountCodeDisclosure-BXM73_E5.mjs → DiscountCodeDisclosure-D6TOf6Hi.mjs} +1 -1
  232. package/dist/client/{EventCombined.client-DT5elP7j.mjs → EventCombined.client-Dao3zxRk.mjs} +3 -3
  233. package/dist/client/{EventListing.client-pTYGfV9C.mjs → EventListing.client-B2NNt4y1.mjs} +2 -2
  234. package/dist/client/{LeafletStaticMap-dQrhlUe3.mjs → LeafletStaticMap-BhwFo16w.mjs} +1 -1
  235. package/dist/client/{MagicLinkForm-u6Dul4j5.mjs → MagicLinkForm-BWnB7cMR.mjs} +2 -2
  236. package/dist/client/{StepIndicator-nWqineJ2.mjs → StepIndicator-TzRiQ0BY.mjs} +2 -2
  237. package/dist/client/{accordion-CSJcTUyH.mjs → accordion-BPy-AJ4_.mjs} +1 -1
  238. package/dist/client/{bookingForm-C73wOuVa.mjs → bookingForm-BL4PGZds.mjs} +7 -7
  239. package/dist/client/bookings.mjs +382 -204
  240. package/dist/client/{buttons-DfYyqt8C.mjs → buttons-EBjyslaX.mjs} +265 -152
  241. package/dist/client/{carousel-fMBb0JSc.mjs → carousel-C2b7Cn9-.mjs} +1 -1
  242. package/dist/client/{cart-BtaCwT3S.mjs → cart-BQcbXIVD.mjs} +3 -3
  243. package/dist/client/{checkout-DkTwZSnh.mjs → checkout-DEmpGRJu.mjs} +3 -3
  244. package/dist/client/client.mjs +5019 -1886
  245. package/dist/client/{colorStyles-Wyl6JujD.mjs → colorStyles-jZS6KfkP.mjs} +1 -1
  246. package/dist/client/{colorTokenParts-dT8MISgJ.mjs → colorTokenParts-CMugwvX_.mjs} +3 -1
  247. package/dist/client/{courseRegistration-DnLmapJu.mjs → courseRegistration-BqRZPmsq.mjs} +56 -21
  248. package/dist/client/{eventCalendar-BvLOc9KY.mjs → eventCalendar-B8N_tSl5.mjs} +29 -21
  249. package/dist/client/{eventCombined-kShgJPQr.mjs → eventCombined-Gjn6gtq7.mjs} +2 -2
  250. package/dist/client/{eventDetails-C5NTM0Vo.mjs → eventDetails-M-VCxA-r.mjs} +4 -4
  251. package/dist/client/{eventListing-B82ZdKP6.mjs → eventListing-DR19hqYi.mjs} +2 -2
  252. package/dist/client/{eventRegistration-qJVFqBWo.mjs → eventRegistration-BR02a0k3.mjs} +8 -8
  253. package/dist/client/{form-BvAcKiuu.mjs → form-LY2xIbwg.mjs} +2 -2
  254. package/dist/client/{headerSection-NvAiEHAg.mjs → headerSection-CYwwXJfh.mjs} +3 -3
  255. package/dist/client/hooks.mjs +3335 -2210
  256. package/dist/client/{locationMap-D0j52xfI.mjs → locationMap-DWnBXrFq.mjs} +3 -3
  257. package/dist/client/{media-BCW_g2cQ.mjs → media-DHtSxS5V.mjs} +61 -56
  258. package/dist/client/{newsletterForm-B8_i93qH.mjs → newsletterForm-D9s-fQ2P.mjs} +3 -3
  259. package/dist/client/{pricing-DIYnyHOk.mjs → pricing-DDq80oYc.mjs} +1 -1
  260. package/dist/client/{productDetail-w0eAHkuQ.mjs → productDetail-B0SbWd45.mjs} +3 -3
  261. package/dist/client/{productList-Vsguq5Xt.mjs → productList-PwYlZn0y.mjs} +3 -3
  262. package/dist/client/{propsDecoder-CD2pJ1WB.mjs → propsDecoder-BRWBiH7i.mjs} +225 -68
  263. package/dist/client/rendering/client.mjs +2266 -1267
  264. package/dist/client/rendering/islands.mjs +20 -20
  265. package/dist/client/rendering.mjs +5364 -1979
  266. package/dist/client/{shop-Dgxs-Q8F.mjs → shop-CMwZPYME.mjs} +8 -8
  267. package/dist/client/{shop-commerce-DJAhsTaT.mjs → shop-commerce-BuxsFate.mjs} +6 -6
  268. package/dist/client/{shop-commerce-store-CfCXltXW.mjs → shop-commerce-store-boYlEJ91.mjs} +1 -1
  269. package/dist/client/{shopShared-CmDcPXUt.mjs → shopShared-D2naaOes.mjs} +3 -3
  270. package/dist/client/{useDiscountCodeUi-CirrT2bM.mjs → useDiscountCodeUi-D9RHpVoj.mjs} +1 -1
  271. package/dist/client/{useEventFilters-CNZxlCcO.mjs → useEventFilters-igGiK1re.mjs} +6 -6
  272. package/dist/client/{usePolling-Baks_iBI.mjs → usePolling-CI7MbsFB.mjs} +2 -2
  273. package/dist/preview-next/before-render.mjs +218 -1
  274. package/dist/preview-next/client/runtime.mjs +4 -4
  275. package/dist/preview-next/middleware.mjs +218 -1
  276. package/dist/{previewAuthStore-CfquDtTh.mjs → previewAuthStore-a_cBD28m.mjs} +218 -1
  277. package/dist/{sdk-runtime-BfNiFeNJ.mjs → sdk-runtime-MBzD-GmP.mjs} +2 -2
  278. package/dist/{separator-BhAR_Xmf.mjs → separator-5ahRBC85.mjs} +1 -1
  279. package/dist/server/components.mjs +5218 -2529
  280. package/dist/server/config-validation.mjs +3112 -2210
  281. package/dist/server/config.mjs +3112 -2211
  282. package/dist/server/data.mjs +3758 -2277
  283. package/dist/server/index.mjs +224 -4
  284. package/dist/server/navigation.mjs +9 -3
  285. package/dist/server/next/middleware.mjs +1 -1
  286. package/dist/server/next.mjs +6468 -2749
  287. package/dist/server/page-converter.mjs +3524 -2635
  288. package/dist/server/prebuild.mjs +1 -1
  289. package/dist/server/rendering/server.mjs +5392 -2488
  290. package/dist/server/rendering.mjs +6241 -2851
  291. package/dist/server/routing.mjs +3414 -1826
  292. package/dist/server/server.mjs +4174 -2354
  293. package/dist/server/theme-bridge.mjs +9579 -8132
  294. package/dist/server/theme.mjs +313 -154
  295. package/dist/styles/index.css +1223 -31
  296. package/package.json +1 -1
  297. package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +0 -16
  298. package/dist/_dts/theme-core/src/palette/historicalThemePalette.d.ts +0 -44
  299. package/dist/_dts/theme-core/src/palette/legacyRuntimeProjection.d.ts +0 -55
  300. package/dist/_dts/theme-core/src/palette/legacySelection.d.ts +0 -45
  301. package/dist/_dts/theme-core/src/palette/paletteCompatibilityTransition.d.ts +0 -232
  302. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +0 -234
@@ -1,6 +1,6 @@
1
1
  import { type InteractiveIslandProps } from '../../../contracts/islands';
2
2
  import { type NewsletterSignupDestinationProvider, type NewsletterSignupPublicDestinationRef } from '../../blocks/newsletter-signup-destination';
3
- import { type NewsletterFieldDef, type NewsletterPreset } from './newsletter-form.types';
3
+ import { type NewsletterButtonVariant, type NewsletterFieldDef, type NewsletterPreset } from './newsletter-form.types';
4
4
  export type NewsletterFormSourceProps = Readonly<{
5
5
  blockId?: string | null;
6
6
  siteId?: string;
@@ -10,6 +10,7 @@ export type NewsletterFormSourceProps = Readonly<{
10
10
  preset?: NewsletterPreset;
11
11
  includePhone?: boolean;
12
12
  buttonLabel?: string | null;
13
+ buttonVariant?: NewsletterButtonVariant | null;
13
14
  successMessage?: string | null;
14
15
  privacyNote?: string | null;
15
16
  tags?: string | null;
@@ -20,6 +21,7 @@ export type NewsletterFormDisplay = Readonly<{
20
21
  kind: 'newsletter-form';
21
22
  className: string | null;
22
23
  buttonLabel: string;
24
+ buttonVariant: NewsletterButtonVariant;
23
25
  successMessage: string | null;
24
26
  privacyNote: string | null;
25
27
  fields: readonly NewsletterFieldDef[];
@@ -49,6 +51,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
49
51
  preset?: NewsletterPreset;
50
52
  includePhone?: boolean;
51
53
  buttonLabel?: string | null;
54
+ buttonVariant?: NewsletterButtonVariant | null;
52
55
  successMessage?: string | null;
53
56
  privacyNote?: string | null;
54
57
  tags?: string | null;
@@ -59,6 +62,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
59
62
  kind: "newsletter-form";
60
63
  className: string | null;
61
64
  buttonLabel: string;
65
+ buttonVariant: NewsletterButtonVariant;
62
66
  successMessage: string | null;
63
67
  privacyNote: string | null;
64
68
  fields: readonly NewsletterFieldDef[];
@@ -83,6 +87,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
83
87
  preset?: NewsletterPreset;
84
88
  includePhone?: boolean;
85
89
  buttonLabel?: string | null;
90
+ buttonVariant?: NewsletterButtonVariant | null;
86
91
  successMessage?: string | null;
87
92
  privacyNote?: string | null;
88
93
  tags?: string | null;
@@ -98,6 +103,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
98
103
  preset?: NewsletterPreset;
99
104
  includePhone?: boolean;
100
105
  buttonLabel?: string | null;
106
+ buttonVariant?: NewsletterButtonVariant | null;
101
107
  successMessage?: string | null;
102
108
  privacyNote?: string | null;
103
109
  tags?: string | null;
@@ -111,6 +117,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
111
117
  kind: "newsletter-form";
112
118
  className: string | null;
113
119
  buttonLabel: string;
120
+ buttonVariant: NewsletterButtonVariant;
114
121
  successMessage: string | null;
115
122
  privacyNote: string | null;
116
123
  fields: readonly NewsletterFieldDef[];
@@ -129,6 +136,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
129
136
  kind: "newsletter-form";
130
137
  className: string | null;
131
138
  buttonLabel: string;
139
+ buttonVariant: NewsletterButtonVariant;
132
140
  successMessage: string | null;
133
141
  privacyNote: string | null;
134
142
  fields: readonly NewsletterFieldDef[];
@@ -158,6 +166,7 @@ export declare const newsletterFormInteractiveIslandPropsCodec: Readonly<{
158
166
  kind: "newsletter-form";
159
167
  className: string | null;
160
168
  buttonLabel: string;
169
+ buttonVariant: NewsletterButtonVariant;
161
170
  successMessage: string | null;
162
171
  privacyNote: string | null;
163
172
  fields: readonly NewsletterFieldDef[];
@@ -184,6 +193,7 @@ export declare const newsletterFormInteractiveIslandPropsCodec: Readonly<{
184
193
  kind: "newsletter-form";
185
194
  className: string | null;
186
195
  buttonLabel: string;
196
+ buttonVariant: NewsletterButtonVariant;
187
197
  successMessage: string | null;
188
198
  privacyNote: string | null;
189
199
  fields: readonly NewsletterFieldDef[];
@@ -6,5 +6,5 @@ import type { NewsletterFormProps } from './newsletter-form.types';
6
6
  * Renders the newsletter signup form for SSR with hydration support.
7
7
  * Uses the islands architecture pattern to hydrate on the client.
8
8
  */
9
- export declare function NewsletterFormSSR({ blockId, siteId, apiBaseUrl, listId, destinationProvider, preset, includePhone, buttonLabel, successMessage, privacyNote, tags, spamProtectionEnabled, className, }: NewsletterFormProps): React.JSX.Element;
9
+ export declare function NewsletterFormSSR({ blockId, siteId, apiBaseUrl, listId, destinationProvider, preset, includePhone, buttonLabel, buttonVariant, successMessage, privacyNote, tags, spamProtectionEnabled, className, }: NewsletterFormProps): React.JSX.Element;
10
10
  export default NewsletterFormSSR;
@@ -13,6 +13,7 @@ export type NewsletterFieldDef = {
13
13
  placeholder?: string;
14
14
  };
15
15
  export type NewsletterDestinationProvider = 'riverbank' | 'mailchimp';
16
+ export type NewsletterButtonVariant = 'primary' | 'secondary' | 'outline';
16
17
  export type NewsletterFormProps = {
17
18
  /** Block ID for island hydration */
18
19
  blockId?: string | null;
@@ -30,6 +31,8 @@ export type NewsletterFormProps = {
30
31
  includePhone?: boolean;
31
32
  /** Submit button label */
32
33
  buttonLabel?: string | null;
34
+ /** Site-style button role for the submit action */
35
+ buttonVariant?: NewsletterButtonVariant | null;
33
36
  /** Message shown after successful subscription */
34
37
  successMessage?: string | null;
35
38
  /** Optional privacy note below the form */
@@ -1,8 +1,8 @@
1
- import React from "react";
2
- import type { PublicCourse } from "../../blocks/courses/shared/types";
3
- import type { ButtonVariant, PublicEvent } from "../../blocks/events/shared/types";
4
- import type { CardStylesContent } from "../../fields/boxStyles";
5
- import { type BookingOfferingPresetSummary, type OfferingsPreviewEventDataKey, type OfferingsPreviewGroupOrder, type OfferingsPreviewGroupOverride, type OfferingsPreviewRouteCandidate } from "../../blocks/offerings-preview/model";
1
+ import React from 'react';
2
+ import type { PublicCourse } from '../../blocks/courses/shared/types';
3
+ import type { ButtonVariant, PublicEvent } from '../../blocks/events/shared/types';
4
+ import type { CardStylesContent } from '../../fields/boxStyles';
5
+ import { type BookingOfferingPresetSummary, type OfferingsPreviewEventDataKey, type OfferingsPreviewGroupOrder, type OfferingsPreviewGroupOverride, type OfferingsPreviewRouteCandidate } from '../../blocks/offerings-preview/model';
6
6
  type OfferingsPreviewProps = Readonly<{
7
7
  bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
8
8
  groupOrder?: OfferingsPreviewGroupOrder | null;
@@ -13,7 +13,7 @@ type OfferingsPreviewProps = Readonly<{
13
13
  buttonText?: string | null;
14
14
  emptyMessage?: string | null;
15
15
  failedMessage?: string | null;
16
- previewStage?: "published" | "preview" | null;
16
+ previewStage?: 'published' | 'preview' | null;
17
17
  routeCandidates?: Readonly<{
18
18
  routes?: readonly OfferingsPreviewRouteCandidate[] | null;
19
19
  }> | null;
@@ -36,8 +36,8 @@ export declare const columnOptionSchema: z.ZodEnum<{
36
36
  4: "4";
37
37
  }>;
38
38
  export declare const weekStartSchema: z.ZodEnum<{
39
- sunday: "sunday";
40
39
  monday: "monday";
40
+ sunday: "sunday";
41
41
  }>;
42
42
  export declare const filterAutoShowSchema: z.ZodEnum<{
43
43
  auto: "auto";
@@ -14,6 +14,7 @@ export type PassesMembershipsHydration = Readonly<{
14
14
  passes: readonly PublicPassProduct[];
15
15
  memberships: readonly PublicMembershipProduct[];
16
16
  passPurchaseMode: 'add_to_cart' | 'buy_now';
17
+ buttonVariant: 'primary' | 'secondary' | 'outline' | 'link';
17
18
  }>;
18
19
  export type ProductListHydration = Readonly<{
19
20
  products: readonly PublicProduct[];
@@ -77,7 +78,7 @@ export declare const shopBlockRuntime: Readonly<{
77
78
  kind: "passes-memberships";
78
79
  state: "empty" | "ready";
79
80
  className: string | null;
80
- layout: "grid" | "list";
81
+ layout: "grid" | "list" | "register";
81
82
  columns: string;
82
83
  emptyMessage: string;
83
84
  passesHeading: string;
@@ -105,6 +106,7 @@ export declare const shopBlockRuntime: Readonly<{
105
106
  passes: readonly PublicPassProduct[];
106
107
  memberships: readonly PublicMembershipProduct[];
107
108
  passPurchaseMode: "add_to_cart" | "buy_now";
109
+ buttonVariant: "primary" | "secondary" | "outline" | "link";
108
110
  }>;
109
111
  }>;
110
112
  contracts: Readonly<{
@@ -118,7 +120,7 @@ export declare const shopBlockRuntime: Readonly<{
118
120
  kind: "passes-memberships";
119
121
  state: "empty" | "ready";
120
122
  className: string | null;
121
- layout: "grid" | "list";
123
+ layout: "grid" | "list" | "register";
122
124
  columns: string;
123
125
  emptyMessage: string;
124
126
  passesHeading: string;
@@ -146,6 +148,7 @@ export declare const shopBlockRuntime: Readonly<{
146
148
  passes: readonly PublicPassProduct[];
147
149
  memberships: readonly PublicMembershipProduct[];
148
150
  passPurchaseMode: "add_to_cart" | "buy_now";
151
+ buttonVariant: "primary" | "secondary" | "outline" | "link";
149
152
  }>;
150
153
  }>) => unknown;
151
154
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
@@ -153,7 +156,7 @@ export declare const shopBlockRuntime: Readonly<{
153
156
  kind: "passes-memberships";
154
157
  state: "empty" | "ready";
155
158
  className: string | null;
156
- layout: "grid" | "list";
159
+ layout: "grid" | "list" | "register";
157
160
  columns: string;
158
161
  emptyMessage: string;
159
162
  passesHeading: string;
@@ -181,6 +184,7 @@ export declare const shopBlockRuntime: Readonly<{
181
184
  passes: readonly PublicPassProduct[];
182
185
  memberships: readonly PublicMembershipProduct[];
183
186
  passPurchaseMode: "add_to_cart" | "buy_now";
187
+ buttonVariant: "primary" | "secondary" | "outline" | "link";
184
188
  }>;
185
189
  }>>;
186
190
  }>;
@@ -502,7 +506,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
502
506
  kind: "passes-memberships";
503
507
  state: "empty" | "ready";
504
508
  className: string | null;
505
- layout: "grid" | "list";
509
+ layout: "grid" | "list" | "register";
506
510
  columns: string;
507
511
  emptyMessage: string;
508
512
  passesHeading: string;
@@ -530,6 +534,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
530
534
  passes: readonly PublicPassProduct[];
531
535
  memberships: readonly PublicMembershipProduct[];
532
536
  passPurchaseMode: "add_to_cart" | "buy_now";
537
+ buttonVariant: "primary" | "secondary" | "outline" | "link";
533
538
  }>;
534
539
  }>>;
535
540
  }>) => unknown;
@@ -546,7 +551,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
546
551
  kind: "passes-memberships";
547
552
  state: "empty" | "ready";
548
553
  className: string | null;
549
- layout: "grid" | "list";
554
+ layout: "grid" | "list" | "register";
550
555
  columns: string;
551
556
  emptyMessage: string;
552
557
  passesHeading: string;
@@ -574,6 +579,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
574
579
  passes: readonly PublicPassProduct[];
575
580
  memberships: readonly PublicMembershipProduct[];
576
581
  passPurchaseMode: "add_to_cart" | "buy_now";
582
+ buttonVariant: "primary" | "secondary" | "outline" | "link";
577
583
  }>;
578
584
  }>>;
579
585
  }>>;
@@ -7,7 +7,7 @@ export type ShopDisplayConfig = {
7
7
  productSlug?: string | null;
8
8
  showPasses?: boolean;
9
9
  showMemberships?: boolean;
10
- layout?: 'grid' | 'list';
10
+ layout?: 'grid' | 'list' | 'register';
11
11
  columns?: string;
12
12
  showDescriptions?: boolean;
13
13
  showSummary?: boolean;
@@ -15,6 +15,7 @@ export type ShopDisplayConfig = {
15
15
  showPrices?: boolean;
16
16
  showValidityPeriod?: boolean;
17
17
  showPricePerCredit?: boolean | null;
18
+ buttonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
18
19
  passesHeading?: string;
19
20
  membershipsHeading?: string;
20
21
  buyButtonText?: string;
@@ -34,6 +34,13 @@ type ShapePaint = {
34
34
  strokeLinecap?: 'butt' | 'round' | 'square';
35
35
  strokeLinejoin?: 'miter' | 'round' | 'bevel';
36
36
  strokeDasharray?: string | number;
37
+ /**
38
+ * Optional SVG `transform` (e.g. an angled balance-beam). Emitted as the
39
+ * `transform` presentation attribute, but only after passing the strict
40
+ * allow-list validator below — these trees can arrive from the DB via custom
41
+ * blocks, so an unrecognised value is dropped rather than rendered.
42
+ */
43
+ transform?: string;
37
44
  };
38
45
  export type SvgShape = ({
39
46
  kind: 'path';
@@ -68,8 +68,8 @@ export declare const internalResolvedLinkSchema: z.ZodObject<{
68
68
  routeId: z.ZodString;
69
69
  entityId: z.ZodString;
70
70
  entityType: z.ZodEnum<{
71
- page: "page";
72
71
  content: "content";
72
+ page: "page";
73
73
  }>;
74
74
  href: z.ZodString;
75
75
  title: z.ZodString;
@@ -83,8 +83,8 @@ export declare const internalLinkSchema: z.ZodUnion<readonly [z.ZodObject<{
83
83
  routeId: z.ZodString;
84
84
  entityId: z.ZodString;
85
85
  entityType: z.ZodEnum<{
86
- page: "page";
87
86
  content: "content";
87
+ page: "page";
88
88
  }>;
89
89
  href: z.ZodString;
90
90
  title: z.ZodString;
@@ -118,8 +118,8 @@ export declare const linkSchema: z.ZodUnion<readonly [z.ZodUnion<readonly [z.Zod
118
118
  routeId: z.ZodString;
119
119
  entityId: z.ZodString;
120
120
  entityType: z.ZodEnum<{
121
- page: "page";
122
121
  content: "content";
122
+ page: "page";
123
123
  }>;
124
124
  href: z.ZodString;
125
125
  title: z.ZodString;
@@ -0,0 +1,14 @@
1
+ import type { ApiClient } from '../../api/src/request';
2
+ import { type FooterEditorTarget } from './footerComposer';
3
+ export declare function FooterComposerPanel({ apiClient, siteId: rawSiteId, customFooterMode, manageLinksHref, manageSettingsHref, legalRegion, initialTarget, variant, canEdit, onSaved, }: {
4
+ apiClient: ApiClient;
5
+ siteId: string;
6
+ customFooterMode: 'default' | 'blocks' | 'default+blocks' | 'none';
7
+ manageLinksHref: string;
8
+ manageSettingsHref: string;
9
+ legalRegion?: 'integrated' | 'separate';
10
+ initialTarget?: FooterEditorTarget;
11
+ variant?: 'full' | 'sidebar';
12
+ canEdit?: boolean;
13
+ onSaved?: () => void;
14
+ }): import("react").JSX.Element;
@@ -3,7 +3,7 @@ import type { EditorBlockId } from '../../../core/src/index';
3
3
  import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
4
4
  import { type ReactNode } from 'react';
5
5
  import { type PublishOptions } from '../hooks/useEntryActions';
6
- import { type ApiClient } from '../services';
6
+ import { type ApiClient, type ContentEditorServices } from '../services';
7
7
  import type { DraftWorkflowStatus } from '../types';
8
8
  import { type EditorUiState } from '../ui/editorUiStore';
9
9
  import type { ResolveBlockManifest } from '../ui/blockValidationView';
@@ -47,12 +47,16 @@ export type EntryRecoveryConflictState = Readonly<{
47
47
  discardRecoveredChanges: () => void;
48
48
  }>;
49
49
  /** Actions returned by useEntryActions */
50
- export type EntryActions = {
50
+ export type EntryActions = Readonly<{
51
+ kind: 'entryLifecycle';
51
52
  saveDraft: () => Promise<void>;
52
53
  publish: (options?: PublishOptions) => Promise<void>;
53
54
  discardDraft: () => Promise<void>;
54
55
  deleteEntry: () => Promise<void>;
55
- };
56
+ }> | Readonly<{
57
+ kind: 'pageSurfaceDraft';
58
+ saveDraft: () => Promise<void>;
59
+ }>;
56
60
  export type EntryControllerContextValue = {
57
61
  entry: ContentEntrySnapshot;
58
62
  baseline: Record<string, unknown>;
@@ -68,7 +72,6 @@ type BaseInternalProps = {
68
72
  children: ReactNode;
69
73
  apiClient: ApiClient;
70
74
  siteId: string;
71
- entryId: string;
72
75
  routeId?: string;
73
76
  type: string;
74
77
  schema: ContentTypeSchema;
@@ -84,17 +87,33 @@ type BaseInternalProps = {
84
87
  historyShortcutsEnabled?: boolean;
85
88
  resolveBlockManifest?: ResolveBlockManifest;
86
89
  };
87
- type PageInternalProps = BaseInternalProps & {
90
+ type EditorOwnerServiceProps = Readonly<{
91
+ owner: {
92
+ kind: 'contentEntry';
93
+ contentEntryId: string;
94
+ };
95
+ services?: Extract<ContentEditorServices, {
96
+ kind: 'entryLifecycle';
97
+ }>;
98
+ }> | Readonly<{
99
+ owner: {
100
+ kind: 'pageSurface';
101
+ pageSurfaceId: string;
102
+ };
103
+ services: Extract<ContentEditorServices, {
104
+ kind: 'pageSurfaceDraft';
105
+ }>;
106
+ }>;
107
+ type PageInternalProps = {
88
108
  kind: 'page';
89
109
  initialStatus?: 'draft' | 'scheduled' | 'published';
90
- } & {
91
110
  initialBlocks?: BlockItem[];
92
111
  };
93
- type ContentInternalProps = BaseInternalProps & {
112
+ type ContentInternalProps = {
94
113
  kind: 'content';
95
114
  initialBlocks?: BlockItem[];
96
115
  };
97
- type EntryControllerProviderProps = PageInternalProps | ContentInternalProps;
116
+ type EntryControllerProviderProps = BaseInternalProps & EditorOwnerServiceProps & (PageInternalProps | ContentInternalProps);
98
117
  /**
99
118
  * Entry Controller Provider
100
119
  *
@@ -0,0 +1,56 @@
1
+ import { type FooterArrangementPlan, type FooterCompositionV1, type FooterModuleId, type FooterNavigationRole, type FooterSection, type PublicProfile } from '../../core/src/index';
2
+ export type FooterEditorTarget = Readonly<{
3
+ kind: 'overview';
4
+ }> | Readonly<{
5
+ kind: 'module';
6
+ moduleId: FooterModuleId;
7
+ }> | Readonly<{
8
+ kind: 'shared-profile';
9
+ section: 'contact' | 'opening-hours' | 'social-links';
10
+ }>;
11
+ export type FooterEditorSource = Readonly<{
12
+ kind: 'footer-local';
13
+ description: string;
14
+ }> | Readonly<{
15
+ kind: 'site-identity';
16
+ description: string;
17
+ }> | Readonly<{
18
+ kind: 'footer-menu';
19
+ role: FooterNavigationRole;
20
+ description: string;
21
+ }> | Readonly<{
22
+ kind: 'business-address';
23
+ description: string;
24
+ }> | Readonly<{
25
+ kind: 'public-profile';
26
+ section: 'contact' | 'opening-hours' | 'social-links';
27
+ description: string;
28
+ }>;
29
+ export type FooterEditorSectionPlan = Readonly<{
30
+ section: FooterSection;
31
+ label: string;
32
+ selected: boolean;
33
+ source: FooterEditorSource;
34
+ availability: 'ready' | 'missing-source';
35
+ status: string | null;
36
+ actions: readonly ('edit' | 'hide' | 'show' | 'manage-links' | 'repair')[];
37
+ }>;
38
+ export type FooterEditorViewPlan = Readonly<{
39
+ scopeLabel: 'All pages';
40
+ shown: readonly FooterEditorSectionPlan[];
41
+ available: readonly FooterEditorSectionPlan[];
42
+ arrangement: FooterArrangementPlan;
43
+ }>;
44
+ type FooterEditorViewPlanInput = Readonly<{
45
+ composition: FooterCompositionV1;
46
+ publicProfile: PublicProfile;
47
+ hasBusinessAddress: boolean;
48
+ hasLogo?: boolean;
49
+ hasMainNavigation?: boolean;
50
+ hasLegalPolicyNavigation?: boolean;
51
+ canEdit: boolean;
52
+ legalRegion?: 'integrated' | 'separate';
53
+ }>;
54
+ export declare function footerModuleLabel(section: FooterSection): string;
55
+ export declare function planFooterEditorView(input: FooterEditorViewPlanInput): FooterEditorViewPlan;
56
+ export {};
@@ -3,7 +3,7 @@ import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
3
  import type { PublishEntryResult } from '../services/contentEntryServices';
4
4
  /** Services interface for entry operations */
5
5
  export type EntryServices = {
6
- deleteEntry: () => Promise<void>;
6
+ deleteEntry?: () => Promise<void>;
7
7
  };
8
8
  export type PublishOptions = {
9
9
  mode?: 'default' | 'now';
@@ -1,11 +1,11 @@
1
- import type { ContentEntrySnapshot } from "../../../content-model/src/index";
2
- import type { EditorUiState } from "../ui/editorUiStore";
3
- import type { PublishEntryResult } from "../services/contentEntryServices";
1
+ import type { ContentEntrySnapshot } from '../../../content-model/src/index';
2
+ import type { EditorUiState } from '../ui/editorUiStore';
3
+ import type { PublishEntryResult } from '../services/contentEntryServices';
4
4
  type StoreApi<T> = {
5
5
  getState: () => T;
6
6
  };
7
7
  export declare function usePublishEntryMutation<TEntry extends ContentEntrySnapshot = ContentEntrySnapshot, TPublishPayload = unknown>({ publishFn, siteId, type, entryId, isPage, pageId, uiStore, }: {
8
- publishFn: (payload: TPublishPayload | undefined) => Promise<PublishEntryResult<TEntry>>;
8
+ publishFn?: (payload: TPublishPayload | undefined) => Promise<PublishEntryResult<TEntry>>;
9
9
  siteId: string;
10
10
  type: string;
11
11
  entryId: string;
@@ -18,7 +18,7 @@ export declare function usePublishEntryMutation<TEntry extends ContentEntrySnaps
18
18
  publishedBlocks?: readonly import("../../../api/src/index").PublishedBlockBaseline[];
19
19
  }>, Error, TPublishPayload | undefined, unknown>;
20
20
  export declare function useDiscardDraftMutation<TEntry = unknown>({ discardFn, siteId, type, entryId, isPage, pageId, }: {
21
- discardFn: () => Promise<TEntry>;
21
+ discardFn?: () => Promise<TEntry>;
22
22
  siteId: string;
23
23
  type: string;
24
24
  entryId: string;
@@ -23,6 +23,8 @@ export { PreviewTextEditor } from './primitives/PreviewTextEditor';
23
23
  export { PreviewInlineTextEditor } from './primitives/PreviewInlineTextEditor';
24
24
  export { PreviewRichTextEditor } from './primitives/PreviewRichTextEditor';
25
25
  export { recordsEqual as editorValuesEqual } from './ui/stores/utils';
26
+ export { footerModuleLabel, planFooterEditorView, type FooterEditorSectionPlan, type FooterEditorSource, type FooterEditorTarget, type FooterEditorViewPlan, } from './footerComposer';
27
+ export { FooterComposerPanel } from './FooterComposerPanel';
26
28
  export { useStoreBinding, parseEditorPath } from './primitives/shared';
27
29
  export type { PathInfo } from './primitives/shared';
28
30
  export * from './ai/overlayHelpers';
@@ -1,12 +1,14 @@
1
1
  import type { RichTextPrimitiveProps } from "../../../blocks/src/index";
2
2
  import type { PreviewLinkedEntryFieldBinding } from '../../../blocks/src/system/data/index';
3
+ import { type ReactNode } from 'react';
3
4
  type PreviewRichTextEditorProps = RichTextPrimitiveProps & {
4
5
  onLinkedEntryFieldFocus?: (binding: PreviewLinkedEntryFieldBinding) => void;
5
6
  onBlockFieldFocus?: (path: string) => void;
7
+ renderToolbarHost?: (toolbar: ReactNode) => ReactNode;
6
8
  };
7
9
  /**
8
10
  * Memoized version to prevent unnecessary re-renders.
9
11
  * Only re-renders when path, doc, variant, or className props actually change.
10
12
  */
11
- export declare const PreviewRichTextEditor: import("react").MemoExoticComponent<({ path, linkedEntryField, onLinkedEntryFieldFocus, onBlockFieldFocus, className, doc, variant, placeholder, ariaLabel, }: PreviewRichTextEditorProps) => import("react").JSX.Element>;
13
+ export declare const PreviewRichTextEditor: import("react").MemoExoticComponent<({ path, linkedEntryField, onLinkedEntryFieldFocus, onBlockFieldFocus, className, doc, as: Comp, variant, placeholder, ariaLabel, renderToolbarHost, }: PreviewRichTextEditorProps) => import("react").JSX.Element>;
12
14
  export {};
@@ -1,7 +1,7 @@
1
- import { type ContentTypeKey, type ApiClient, type PublishedBlockBaseline } from "../../../api/src/content-editor";
2
- import type { ContentEntrySnapshot } from "../../../content-model/src/index";
1
+ import { type ContentTypeKey, type ApiClient, type PublishedBlockBaseline, type RouteMetadataPayload } from '../../../api/src/content-editor';
2
+ import type { ContentEntrySnapshot } from '../../../content-model/src/index';
3
3
  export type { ApiClient };
4
- export type ContentEntryServiceConfig<TResponse, TSnapshot extends ContentEntrySnapshot> = {
4
+ export type ContentEntryServiceConfig<TResponse extends object, TSnapshot extends ContentEntrySnapshot> = {
5
5
  type: ContentTypeKey;
6
6
  siteId: string;
7
7
  entryId: string;
@@ -15,36 +15,20 @@ export type PublishEntryResult<TSnapshot extends ContentEntrySnapshot> = Readonl
15
15
  publishedContent?: Record<string, unknown> | null;
16
16
  publishedBlocks?: readonly PublishedBlockBaseline[];
17
17
  }>;
18
- export declare function createContentEntryServices<TResponse, TMetadataPayload extends Record<string, unknown>, TPublishPayload, TSnapshot extends ContentEntrySnapshot>(apiClient: ApiClient, config: ContentEntryServiceConfig<TResponse, TSnapshot>): {
19
- saveContent(content: Record<string, unknown>): Promise<TResponse>;
20
- saveMetadata(payload: TMetadataPayload): Promise<{
21
- id: string;
22
- siteId: string;
23
- nodeId: string | null;
24
- nodeType: "page" | "content_entry" | null;
25
- draftTitle: string | null;
26
- draftPath: string | null;
27
- draftStatus: string | null;
28
- publishedTitle: string | null;
29
- publishedPath: string | null;
30
- status: string | null;
31
- publishedAt: string | null;
32
- scheduledPublishAt: string | null;
33
- draftMetaTitle: string | null;
34
- draftMetaDescription: string | null;
35
- canonicalUrl: string | null;
36
- publishedMetaTitle: string | null;
37
- publishedMetaDescription: string | null;
38
- ogImageId: string | null;
39
- draftUpdatedAt: string | null;
40
- updatedBy: string | null;
41
- }>;
42
- publishDetailed: (payload: TPublishPayload | undefined) => Promise<{
43
- snapshot: TSnapshot;
44
- publishedContent: Record<string, unknown> | undefined;
45
- publishedBlocks: PublishedBlockBaseline[] | undefined;
46
- }>;
47
- publish(payload: TPublishPayload | undefined): Promise<TSnapshot>;
48
- discardDraft(): Promise<TSnapshot>;
49
- deleteEntry(): Promise<void>;
50
- };
18
+ type ContentEditorDraftServices<TSnapshot extends ContentEntrySnapshot = ContentEntrySnapshot, TMetadataPayload extends Record<string, unknown> = RouteMetadataPayload> = Readonly<{
19
+ saveContent: (content: Record<string, unknown>) => Promise<Record<string, unknown>>;
20
+ saveMetadata: (payload: TMetadataPayload) => Promise<Record<string, unknown>>;
21
+ }>;
22
+ export type ContentEditorServices<TSnapshot extends ContentEntrySnapshot = ContentEntrySnapshot, TMetadataPayload extends Record<string, unknown> = RouteMetadataPayload> = ContentEditorDraftServices<TSnapshot, TMetadataPayload> & (Readonly<{
23
+ kind: 'entryLifecycle';
24
+ publishDetailed: (payload: unknown) => Promise<PublishEntryResult<TSnapshot>>;
25
+ publish: (payload: unknown) => Promise<TSnapshot>;
26
+ discardDraft: () => Promise<TSnapshot>;
27
+ deleteEntry: () => Promise<void>;
28
+ }> | Readonly<{
29
+ kind: 'pageSurfaceDraft';
30
+ }>);
31
+ export type EntryLifecycleContentEditorServices<TSnapshot extends ContentEntrySnapshot = ContentEntrySnapshot, TMetadataPayload extends Record<string, unknown> = RouteMetadataPayload> = Extract<ContentEditorServices<TSnapshot, TMetadataPayload>, {
32
+ kind: 'entryLifecycle';
33
+ }>;
34
+ export declare function createContentEntryServices<TResponse extends object, TMetadataPayload extends Record<string, unknown>, TPublishPayload, TSnapshot extends ContentEntrySnapshot>(apiClient: ApiClient, config: ContentEntryServiceConfig<TResponse, TSnapshot>): EntryLifecycleContentEditorServices<TSnapshot, TMetadataPayload>;
@@ -112,6 +112,7 @@ export type EditorBlockMeta = Readonly<{
112
112
  purpose: string | null;
113
113
  orderIndex: number | null;
114
114
  publishedContent: EditorBlockValues | null;
115
+ optimisticHash: string | null;
115
116
  }>;
116
117
  export type EditorDraftSnapshot = EditorStructuralDraftSnapshot;
117
118
  export type DraftBlockInitMetaInput = EditorDraftBlockInitMetaInput;
@@ -127,6 +128,7 @@ export type EditorBlockItem = Readonly<{
127
128
  publishedContent?: EditorValueRecord | null;
128
129
  bindings?: EditorValueRecord | null;
129
130
  purpose?: string | null;
131
+ optimisticHash?: string | null;
130
132
  }>;
131
133
  type NormalizedEditorBlockBase = Readonly<{
132
134
  kind: string;
@@ -136,6 +138,7 @@ type NormalizedEditorBlockBase = Readonly<{
136
138
  publishedContent: EditorBlockValues | null;
137
139
  bindings: EditorBlockValues | null;
138
140
  purpose: string | null;
141
+ optimisticHash: string | null;
139
142
  }>;
140
143
  export type PersistedEditorBlockItem = EditorPersistedBlock;
141
144
  export type PendingEditorBlockItem = NormalizedEditorBlockBase & Readonly<{
@@ -226,6 +229,7 @@ export type EditorSystemOperation = {
226
229
  blockId: EditorBlockId;
227
230
  savedValues: EditorBlockValues | null;
228
231
  acknowledgedVersion: number;
232
+ optimisticHash: string | null;
229
233
  } | {
230
234
  type: 'autosave-draft-failed';
231
235
  blockId: EditorBlockId;
@@ -293,7 +297,7 @@ export declare function initNewDraftBlock(snapshot: EditorHistorySnapshot, block
293
297
  export declare function updateDraftBlockBaseline(snapshot: EditorHistorySnapshot, blockId: EditorBlockId, baseline: DraftBlockBaselineInput, meta?: DraftBlockBaselineUpdateMetaInput): EditorHistorySnapshot;
294
298
  export declare function removeDraftBlock(snapshot: EditorHistorySnapshot, blockId: EditorBlockId): EditorHistorySnapshot;
295
299
  export declare function setDraftPublishedBaselines(snapshot: EditorHistorySnapshot, blocks: readonly BlockPublishedBaselineInput[]): EditorHistorySnapshot;
296
- export declare function autosaveDraftSucceeded(snapshot: EditorHistorySnapshot, blockId: EditorBlockId, savedValues: EditorBlockValues | null, acknowledgedVersion: number): EditorHistorySnapshot;
300
+ export declare function autosaveDraftSucceeded(snapshot: EditorHistorySnapshot, blockId: EditorBlockId, savedValues: EditorBlockValues | null, acknowledgedVersion: number, optimisticHash: string | null): EditorHistorySnapshot;
297
301
  export declare function autosaveDraftFailed(snapshot: EditorHistorySnapshot, blockId: EditorBlockId, message?: string): EditorHistorySnapshot;
298
302
  export declare function clearDraftError(snapshot: EditorHistorySnapshot, blockId: EditorBlockId): EditorHistorySnapshot;
299
303
  export declare function setDraftPending(snapshot: EditorHistorySnapshot, blockId: EditorBlockId): EditorHistorySnapshot;