@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
@@ -0,0 +1,54 @@
1
+ import type { RiverbankClient } from '../client/types';
2
+ import type { PageOutline } from '../contracts';
3
+ import type { SdkCustomBlock } from '../config/types';
4
+ import { executeCodeLoaders, mergeLoaderResults, type CodeLoaderFailure } from './executeCodeLoaders';
5
+ import { prefetchBlockData, type ResolvedBlockData } from './prefetchBlockData';
6
+ import type { DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams } from './types';
7
+ import type { BlockKind } from '../types';
8
+ export type BlockDataLoadPolicy = Readonly<{
9
+ kind: 'config-only';
10
+ }> | Readonly<{
11
+ kind: 'config-and-host';
12
+ overrides: DataLoaderOverrides;
13
+ searchParams: DataLoaderSearchParams;
14
+ }>;
15
+ export declare const CONFIG_ONLY_BLOCK_DATA_POLICY: BlockDataLoadPolicy;
16
+ type HostDataLoaderWarningCoordinates = Readonly<{
17
+ siteId: string;
18
+ pageId: string;
19
+ blockId: string;
20
+ blockKind: BlockKind;
21
+ loaderKey: string;
22
+ previewStage: DataLoaderPreviewStage;
23
+ renderTargetKind: DataLoaderRenderTarget['kind'];
24
+ }>;
25
+ export type HostDataLoaderWarning = HostDataLoaderWarningCoordinates & (Readonly<{
26
+ failureKind: 'execution-failed';
27
+ }> | Readonly<{
28
+ failureKind: 'invalid-result';
29
+ validationIssueKind: Extract<CodeLoaderFailure, {
30
+ kind: 'invalid-result';
31
+ }>['validationIssueKind'];
32
+ }>);
33
+ export type ResolveBlockDataDeps = Readonly<{
34
+ prefetchBlockData: typeof prefetchBlockData;
35
+ executeCodeLoaders: typeof executeCodeLoaders;
36
+ mergeLoaderResults: typeof mergeLoaderResults;
37
+ warn: (warning: HostDataLoaderWarning) => void;
38
+ }>;
39
+ export declare function warnHostDataLoaderFailure(warning: HostDataLoaderWarning): void;
40
+ export declare const DEFAULT_RESOLVE_BLOCK_DATA_DEPS: ResolveBlockDataDeps;
41
+ export declare function hasRegisteredDataLoaders(overrides: DataLoaderOverrides | undefined): overrides is DataLoaderOverrides;
42
+ export declare function createBlockDataLoadPolicy(overrides: DataLoaderOverrides | undefined, searchParams: DataLoaderSearchParams): BlockDataLoadPolicy;
43
+ export type ResolveBlockDataInput = Readonly<{
44
+ page: PageOutline;
45
+ siteId: string;
46
+ renderTarget: DataLoaderRenderTarget;
47
+ previewStage: DataLoaderPreviewStage;
48
+ policy: BlockDataLoadPolicy;
49
+ client: RiverbankClient;
50
+ customBlocks?: SdkCustomBlock[];
51
+ }>;
52
+ export declare function resolveBlockData(input: ResolveBlockDataInput): Promise<ResolvedBlockData>;
53
+ export declare function resolveBlockDataWithDeps(deps: ResolveBlockDataDeps, input: ResolveBlockDataInput): Promise<ResolvedBlockData>;
54
+ export {};
@@ -1,90 +1,55 @@
1
1
  /**
2
- * Code-based data loader types for SDK custom blocks.
3
- *
4
- * These types enable SDK sites to define loader functions that fetch
5
- * data from external APIs (not just CMS endpoints).
2
+ * Server-side host data loader contracts for SDK custom blocks.
6
3
  */
4
+ import type { SdkRuntimePageSurfaceSubject } from '../public-api/contracts';
7
5
  import type { BlockKind } from '../types';
6
+ export type DataLoaderPreviewStage = 'published' | 'preview';
7
+ /** Values that are safe to pass through Riverbank's RSC/rendering boundary. */
8
+ export type DataLoaderValue = string | number | boolean | null | readonly DataLoaderValue[] | {
9
+ readonly [key: string]: DataLoaderValue;
10
+ };
11
+ /** Immutable URL search parameters exposed to host loaders. */
12
+ export type DataLoaderSearchParams = Readonly<Record<string, string | readonly string[] | undefined>>;
8
13
  /**
9
- * Context provided to code-based data loaders.
14
+ * The content owner being rendered by a block data loader.
10
15
  *
11
- * Contains block metadata and page context for making informed
12
- * data fetching decisions.
16
+ * Template targets carry both the template ID and the underlying content
17
+ * identity so callers never have to interpret nullable entry/surface fields.
13
18
  */
14
- export interface DataLoaderContext {
15
- /** Site ID from page context */
19
+ export type DataLoaderRenderTarget = Readonly<{
20
+ kind: 'page';
21
+ pageId: string;
22
+ }> | Readonly<{
23
+ kind: 'entry-template';
24
+ templateId: string;
25
+ entryId: string;
26
+ entryType: string | null;
27
+ }> | Readonly<{
28
+ kind: 'page-surface-template';
29
+ templateId: string;
30
+ pageSurfaceId: string;
31
+ routeId: string;
32
+ subject: SdkRuntimePageSurfaceSubject;
33
+ }>;
34
+ /** Context supplied to each server-side host data loader. */
35
+ export type DataLoaderContext = Readonly<{
16
36
  siteId: string;
17
- /** Page ID from page context */
37
+ /** Page ID for pages; template ID for template-backed content. */
18
38
  pageId: string;
19
- /** Unique block instance ID */
20
39
  blockId: string;
21
- /** Block kind (e.g., 'custom.featured-products') */
22
40
  blockKind: BlockKind;
23
- /**
24
- * The block's CMS content.
25
- * Use this to access field values for parameterizing API calls.
26
- */
27
- content: Record<string, unknown>;
28
- /** Whether fetching preview/draft content */
29
- previewStage: 'published' | 'preview';
30
- /**
31
- * URL search parameters from the page request.
32
- * Use for pagination, filtering, or sorting based on URL params.
33
- *
34
- * Always defined (defaults to empty object if not provided to loadPage).
35
- * This allows loaders to safely access properties without null checks.
36
- *
37
- * @example
38
- * ```typescript
39
- * const page = parseInt(searchParams?.page as string || '1', 10);
40
- * const limit = parseInt(content.postsPerPage as string || '12', 10);
41
- * const offset = (page - 1) * limit;
42
- * ```
43
- */
44
- searchParams: Record<string, string | string[] | undefined>;
45
- }
46
- /**
47
- * A code-based data loader function.
48
- *
49
- * Receives context about the block and returns fetched data.
50
- * Runs server-side during `loadPage()`.
51
- *
52
- * @example
53
- * ```typescript
54
- * const productsLoader: DataLoaderFn = async (ctx) => {
55
- * const categoryId = ctx.content.categoryId;
56
- * const response = await fetch(`https://api.shop.com/products?category=${categoryId}`);
57
- * return response.json();
58
- * };
59
- * ```
60
- */
61
- export type DataLoaderFn = (context: DataLoaderContext) => Promise<unknown>;
41
+ /** Stage-resolved block content used by the renderer. */
42
+ content: Readonly<Record<string, unknown>>;
43
+ previewStage: DataLoaderPreviewStage;
44
+ searchParams: DataLoaderSearchParams;
45
+ renderTarget: DataLoaderRenderTarget;
46
+ }>;
62
47
  /**
63
- * Map of loader key to loader function for a block kind.
64
- *
65
- * Keys become the property names in the `data` prop passed to the component.
66
- */
67
- export type BlockLoaderMap = Record<string, DataLoaderFn>;
68
- /**
69
- * Registry of code-based data loaders.
70
- *
71
- * Keys are block kinds (e.g., 'custom.featured-products').
72
- * Values are maps of loader keys to loader functions.
73
- *
74
- * @example
75
- * ```typescript
76
- * const dataLoaderOverrides: DataLoaderOverrides = {
77
- * 'custom.featured-products': {
78
- * products: async (ctx) => {
79
- * return fetchProducts(ctx.content.categoryId);
80
- * },
81
- * },
82
- * 'custom.instagram-feed': {
83
- * posts: async (ctx) => {
84
- * return fetchInstagramPosts(ctx.content.accessToken);
85
- * },
86
- * },
87
- * };
88
- * ```
48
+ * A host loader must return JSON-safe data. Parse untrusted network responses
49
+ * before returning them; runtime validation remains as a JavaScript/`any`
50
+ * boundary safeguard.
89
51
  */
90
- export type DataLoaderOverrides = Record<string, BlockLoaderMap>;
52
+ export type DataLoaderFn = (context: DataLoaderContext) => Promise<DataLoaderValue>;
53
+ export type BlockLoaderMap = Readonly<Record<string, DataLoaderFn>>;
54
+ /** Registry keyed by full SDK block kind, for example `custom.products`. */
55
+ export type DataLoaderOverrides = Readonly<Partial<Record<BlockKind, BlockLoaderMap>>>;
@@ -280,6 +280,7 @@ export declare function getPrimaryNavigation(navigation: NavigationMenuWithItems
280
280
  * ```
281
281
  */
282
282
  export declare function getFooterNavigation(navigation: NavigationMenuWithItems[] | null | undefined): NavigationMenuWithItems | null;
283
+ export declare function getFooterNavigationByRole(navigation: NavigationMenuWithItems[] | null | undefined, role: 'main' | 'legal-policy'): NavigationMenuWithItems | null;
283
284
  /**
284
285
  * Get a navigation menu by name/slug.
285
286
  *
@@ -417,6 +418,7 @@ export declare function buildMenu(navigation: NavigationMenuWithItems[], routes:
417
418
  * ```
418
419
  */
419
420
  export declare function buildFooterMenu(navigation: NavigationMenuWithItems[], routes: RouteMap, options?: NavigationRenderOptions): FooterMenu;
421
+ export declare function buildFooterMenuForRole(navigation: NavigationMenuWithItems[], routes: RouteMap, role: 'main' | 'legal-policy', options?: NavigationRenderOptions): FooterMenu;
420
422
  export declare function resolveNavigationLinkHref(link: LinkPayload | null, routes: RouteMap, options?: NavigationRenderOptions): string | null;
421
423
  /**
422
424
  * Build a Logo from site layout data.
@@ -40,6 +40,7 @@
40
40
  export { createCatchAllPage } from './catch-all';
41
41
  export { RiverbankContentLoadError, SdkContentLoadError, classifyContentLoadError, isSdkContentLoadError, toContentLoadFailureLogFields, type CatchAllContentLoadFailureContext, type CatchAllRequestContext, type ClassifiedContentLoadError, type SdkContentLoadFailure, type SdkContentLoadFailureKind, type SdkContentLoadNotFound, } from './content-load-failure';
42
42
  export type { CreateCatchAllPageOptions, CreateCatchAllPageResult, CatchAllPageProps, CatchAllContext, ThemeSwitchConfigV1, ThemeResolverContext, } from './types';
43
+ export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from '../data/types';
43
44
  export { createGenerateStaticParams, generateAllStaticParams, normalizeStaticRoutePath, validateStaticParamsEnv, pathToSlugArray, routesToStaticParams, type CreateGenerateStaticParamsOptions, type GenerateAllStaticParamsOptions, type StaticParam, type StaticParamsClient, type StaticParamsEnvResult, type StaticParamsFailureContext, type StaticParamsFailureMode, type StaticParamsRoute, } from './static-params';
44
45
  export { createSitemap, type CreateSitemapOptions, type SitemapGenerator, } from './sitemap';
45
46
  export { createRobots, type CreateRobotsOptions } from './robots';
@@ -1,3 +1,3 @@
1
- type IncomingSearch = string | URLSearchParams | Readonly<Record<string, string | string[] | undefined>> | null | undefined;
1
+ type IncomingSearch = string | URLSearchParams | Readonly<Record<string, string | readonly string[] | undefined>> | null | undefined;
2
2
  export declare function appendSearchToRedirectDestination(destination: string, incomingSearch: IncomingSearch): string;
3
3
  export {};
@@ -1,6 +1,7 @@
1
1
  import type { Theme } from '../contracts';
2
2
  import type { RiverbankSiteConfig } from '../config/types';
3
3
  import type { ThemeResolverContext, ThemeSwitchConfigV1 } from './types';
4
+ import type { DataLoaderSearchParams } from '../data/types';
4
5
  export type ResolveThemeResult = {
5
6
  kind: 'resolved';
6
7
  theme: Theme;
@@ -24,7 +25,7 @@ export type ThemeOptionsForResolver = {
24
25
  export interface ResolveThemeInput {
25
26
  config: Pick<RiverbankSiteConfig, 'themeSource' | 'activeTheme'>;
26
27
  contentTheme: Theme;
27
- searchParams: Record<string, string | string[] | undefined>;
28
+ searchParams: DataLoaderSearchParams;
28
29
  isDevelopment: boolean;
29
30
  themeOptions: ThemeOptionsForResolver;
30
31
  context: ThemeResolverContext;
@@ -12,6 +12,7 @@ import type { SdkThemeRuntime } from '../rendering/themeRuntime';
12
12
  import type { BlockOverrideRegistrations } from '../rendering/overrides';
13
13
  import type { Metadata } from '../metadata/generatePageMetadata';
14
14
  import type { LoadContentResult } from '../rendering/helpers/loadContent';
15
+ import type { DataLoaderOverrides, DataLoaderSearchParams } from '../data/types';
15
16
  import type { CatchAllContentLoadFailureContext, CatchAllRequestContext } from './content-load-failure';
16
17
  /**
17
18
  * Context passed to escape hatch callbacks.
@@ -30,7 +31,7 @@ export interface CatchAllContext {
30
31
  */
31
32
  themeRuntime: SdkThemeRuntime;
32
33
  /** Search parameters from the URL (for filtering, pagination, etc.) */
33
- searchParams: Record<string, string | string[] | undefined>;
34
+ searchParams: DataLoaderSearchParams;
34
35
  }
35
36
  export type CreateCatchAllContentContract = 'compat' | 'native';
36
37
  export type CreateCatchAllContentContractResolverContext = Readonly<{
@@ -205,6 +206,14 @@ export type CreateCatchAllPageOptions = {
205
206
  * promise-returning functions are not lazy override registrations.
206
207
  */
207
208
  blockOverrides?: BlockOverrideRegistrations;
209
+ /**
210
+ * Server-only host data loaders for custom blocks.
211
+ *
212
+ * Loader functions run during page rendering after CMS/config loaders. Their
213
+ * JSON-safe results win on key collisions. They are never invoked by
214
+ * `generateMetadata()` and must be declared in a server-only module.
215
+ */
216
+ dataLoaderOverrides?: DataLoaderOverrides;
208
217
  /**
209
218
  * Override site URL for metadata generation.
210
219
  * Defaults to `config.liveUrl` or `config.previewUrl` based on preview mode.
@@ -1,8 +1,8 @@
1
1
  import type { AddressedLocationValue, BusinessAddress, BookingFlexibleBalanceConfig, BookingInstalmentPlanConfig, PublicEventPricing } from '../../../core/src/index';
2
- import type { SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject } from '../../../api/src/index';
2
+ import type { PublicEventRecurrence as ApiPublicEventRecurrence, SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject } from '../../../api/src/index';
3
3
  import type { Media, MediaAssetIndexItem, SiteFooterContent, SiteHeaderContent, Theme } from '../contracts';
4
4
  import type { CompiledBoundaryRuntime } from '../../../theme-core/src/site-styles/index';
5
- import type { PaletteOverrides, RuntimePaletteState } from '../../../theme-core/src/palette/index';
5
+ import type { RuntimePaletteState } from '../../../theme-core/src/palette/index';
6
6
  import type { BlockFieldConfig as SdkBlockFieldConfig, BlockFieldOptionsMap as SdkBlockFieldOptionsMap, ContentConfig as SdkContentConfig, ContainerOptionsConfig as SdkContainerOptionsConfig, FieldSelectOption as SdkFieldSelectOption, SdkCustomBlock, SdkThemeConfig, SdkThemePalette, SectionBackground as SdkSectionBackground, SectionOptionsConfig as SdkSectionOptionsConfig, SiteStyleConfig as SdkSiteStyleConfig } from '../config/types';
7
7
  export type PublicTeamMemberSummary = {
8
8
  id: string;
@@ -184,6 +184,7 @@ export interface NavigationMenuRecord {
184
184
  name: string;
185
185
  isPrimary: boolean;
186
186
  isFooter: boolean;
187
+ footerRole: 'main' | 'legal-policy' | null;
187
188
  createdAt?: string | null;
188
189
  updatedAt?: string | null;
189
190
  }
@@ -315,17 +316,11 @@ export type SiteResponse = {
315
316
  * Persisted design selections. Optional so legacy
316
317
  * payloads without these columns still satisfy the type — consumers fall
317
318
  * back to the site style's defaults when null.
318
- */
319
+ */
319
320
  selectionButtonPersonalityId?: string | null;
320
321
  runtimePaletteState?: RuntimePaletteState | null;
321
- /** Temporary legacy compatibility projection for stale runtime clients. */
322
- selectionPaletteVariantId?: string | null;
323
- selectionPaletteOverrides?: PaletteOverrides | null;
324
322
  selectionHeaderLayoutId?: string | null;
325
323
  selectionHeaderStyleId?: string | null;
326
- selectionTypographyPresetId?: string | null;
327
- selectionTypographyBodyFontOverride?: string | null;
328
- selectionTypographyHeadingFontOverride?: string | null;
329
324
  selectionHeaderLookId?: string | null;
330
325
  selectionFooterLookId?: string | null;
331
326
  navigation: NavigationMenuWithItems[];
@@ -430,7 +425,7 @@ export type SdkRuntimePageSurfaceContentSource = Readonly<{
430
425
  export type SdkRuntimePageSurface = {
431
426
  id: string;
432
427
  routeId: string;
433
- readinessState: 'shippable';
428
+ readinessState: 'internal_pilot' | 'shippable';
434
429
  subject: SdkRuntimePageSurfaceSubject;
435
430
  title: string;
436
431
  slug: string | null;
@@ -630,6 +625,7 @@ export type PublicEventDestination = Readonly<{
630
625
  }>;
631
626
  export type PublicEventsResponse = Array<{
632
627
  kind?: 'event' | 'course_session';
628
+ recurrence?: ApiPublicEventRecurrence;
633
629
  destination: PublicEventDestination;
634
630
  id: string;
635
631
  occurrenceId: string;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Renders site header and footer around content. Fetches site data if not provided.
5
5
  */
6
- import { buildMenu, buildFooterMenu, buildLogo } from '../../navigation';
6
+ import { buildMenu, buildFooterMenu, buildFooterMenuForRole, buildLogo } from '../../navigation';
7
7
  import type { RiverbankClient, SiteResponse } from '../../client/types';
8
8
  import { type SdkThemeRuntime } from '../themeRuntime';
9
9
  export type HeaderData = {
@@ -16,6 +16,7 @@ export type HeaderData = {
16
16
  export type FooterData = {
17
17
  menu: ReturnType<typeof buildMenu>;
18
18
  footerMenu: ReturnType<typeof buildFooterMenu>;
19
+ legalFooterMenu: ReturnType<typeof buildFooterMenuForRole>;
19
20
  logo: ReturnType<typeof buildLogo>;
20
21
  site: SiteResponse['site'];
21
22
  theme: SiteResponse['theme'];
@@ -8,8 +8,9 @@ import type { MediaAssetIndexItem, RouteMap, Theme } from '../../contracts';
8
8
  import type { RiverbankClient, PageResponse, SiteResponse } from '../../client/types';
9
9
  import type { SdkRuntimePageSurfaceSubject } from '../../public-api/contracts';
10
10
  import type { PageProps } from '../components/Page';
11
- import { prefetchBlockData } from '../../data/prefetchBlockData';
12
11
  import type { ResolvedBlockData } from '../../data/prefetchBlockData';
12
+ import { type ResolveBlockDataDeps } from '../../data/resolveBlockData';
13
+ import type { DataLoaderOverrides, DataLoaderSearchParams } from '../../data/types';
13
14
  import type { SdkCustomBlock } from '../../config/types';
14
15
  import { type RuntimeSdkConfig } from './pageRuntimeSupport';
15
16
  /**
@@ -34,6 +35,10 @@ export type LoadContentParams = {
34
35
  * @default false
35
36
  */
36
37
  preview?: boolean;
38
+ /** Server-side host data loaders for custom block data. */
39
+ dataLoaderOverrides?: DataLoaderOverrides;
40
+ /** URL search parameters passed only to host data loaders. */
41
+ searchParams?: DataLoaderSearchParams;
37
42
  };
38
43
  export type LoadContentFromContentResponseParams = {
39
44
  client: RiverbankClient;
@@ -41,6 +46,8 @@ export type LoadContentFromContentResponseParams = {
41
46
  site: SiteResponse;
42
47
  contentResponse: PageResponse;
43
48
  preview?: boolean;
49
+ dataLoaderOverrides?: DataLoaderOverrides;
50
+ searchParams?: DataLoaderSearchParams;
44
51
  };
45
52
  /**
46
53
  * Content entry data returned when a path resolves to an entry
@@ -175,7 +182,7 @@ export type EntryContentResult = {
175
182
  export type PageSurfaceContentData = {
176
183
  id: string;
177
184
  routeId: string;
178
- readinessState: 'shippable';
185
+ readinessState: 'internal_pilot' | 'shippable';
179
186
  subject: SdkRuntimePageSurfaceSubject;
180
187
  title: string;
181
188
  slug: string | null;
@@ -228,9 +235,7 @@ export type PageSurfaceContentResult = {
228
235
  * Discriminated union result from loadContent
229
236
  */
230
237
  export type LoadContentResult = PageContentResult | EntryContentResult | PageSurfaceContentResult;
231
- export type LoadContentDeps = Readonly<{
232
- prefetchBlockData: typeof prefetchBlockData;
233
- }>;
238
+ export type LoadContentDeps = ResolveBlockDataDeps;
234
239
  /**
235
240
  * Type guard to check if result is a page
236
241
  */
@@ -5,9 +5,8 @@
5
5
  */
6
6
  import type { RiverbankClient } from '../../client/types';
7
7
  import type { PageProps } from '../components/Page';
8
- import { prefetchBlockData } from '../../data/prefetchBlockData';
9
- import { executeCodeLoaders, mergeLoaderResults } from '../../data/executeCodeLoaders';
10
- import type { DataLoaderOverrides } from '../../data/types';
8
+ import { type ResolveBlockDataDeps } from '../../data/resolveBlockData';
9
+ import type { DataLoaderOverrides, DataLoaderSearchParams } from '../../data/types';
11
10
  import { type RuntimeSdkConfig } from './pageRuntimeSupport';
12
11
  /**
13
12
  * SDK config from API response (without siteId which is stripped at storage).
@@ -51,7 +50,8 @@ export type LoadPageParams = {
51
50
  * 'custom.featured-products': {
52
51
  * products: async (ctx) => {
53
52
  * const res = await fetch(`https://api.shop.com/products?category=${ctx.content.categoryId}`);
54
- * return res.json();
53
+ * const payload: unknown = await res.json();
54
+ * return parseProductPayload(payload);
55
55
  * },
56
56
  * },
57
57
  * },
@@ -77,7 +77,7 @@ export type LoadPageParams = {
77
77
  * }
78
78
  * ```
79
79
  */
80
- searchParams?: Record<string, string | string[] | undefined>;
80
+ searchParams?: DataLoaderSearchParams;
81
81
  };
82
82
  export type LoadPageResult = Omit<PageProps, 'registry' | 'wrapBlock' | 'usePlaceholders' | 'blockOverrides' | 'sdkConfig'> & {
83
83
  /**
@@ -86,11 +86,7 @@ export type LoadPageResult = Omit<PageProps, 'registry' | 'wrapBlock' | 'usePlac
86
86
  */
87
87
  sdkConfig: RuntimeSdkConfig | null;
88
88
  };
89
- export type LoadPageDeps = Readonly<{
90
- prefetchBlockData: typeof prefetchBlockData;
91
- executeCodeLoaders: typeof executeCodeLoaders;
92
- mergeLoaderResults: typeof mergeLoaderResults;
93
- }>;
89
+ export type LoadPageDeps = ResolveBlockDataDeps;
94
90
  /**
95
91
  * Server-side helper to fetch all data needed for <Page> component.
96
92
  *
@@ -15,6 +15,7 @@ export { loadPage } from './helpers/loadPage';
15
15
  export type { LoadPageParams, LoadPageResult } from './helpers/loadPage';
16
16
  export { loadContent, isPageContent, isEntryContent, isPageSurfaceContent, } from './helpers/loadContent';
17
17
  export type { LoadContentParams, LoadContentResult, ContentEntryData, PagePreviewMetadata, SiteData, } from './helpers/loadContent';
18
+ export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from '../data/types';
18
19
  export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CardStylesContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, CourseDetailsContent, CourseRegistrationContent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LayoutAlign, LayoutWidth, Media, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, TipTapNode, TipTapMark, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, Theme, ThemeTokens, SectionStylesContent, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, MediaAssetIndexItem, ImageOptions, ResolveImageUrlContext, ResolveImageUrlContextInput, ResolveImageSourceSetOptions, ResolvedImageSourceSet, } from '../contracts';
19
20
  export { ImagePresets } from '../contracts';
20
21
  export { RichText } from './primitives/RichText';
@@ -20,6 +20,7 @@
20
20
  export { createRiverbankClient } from './client/index';
21
21
  export type { RiverbankClient, RiverbankClientConfig, SiteResponse, PageResponse, EntriesResponse, GetEntriesByIdentifiersParams, EntryResponse, } from './client/types';
22
22
  export { loadPage } from './rendering/helpers/loadPage';
23
- export type { LoadPageParams, LoadPageResult, RuntimeSdkConfig } from './rendering/helpers/loadPage';
24
- export { loadContent, isPageContent, isEntryContent } from './rendering/helpers/loadContent';
25
- export type { LoadContentParams, LoadContentResult, PageContentResult, EntryContentResult, ContentEntryData, } from './rendering/helpers/loadContent';
23
+ export type { LoadPageParams, LoadPageResult, RuntimeSdkConfig, } from './rendering/helpers/loadPage';
24
+ export { loadContent, isPageContent, isEntryContent, isPageSurfaceContent, } from './rendering/helpers/loadContent';
25
+ export type { LoadContentParams, LoadContentResult, PageContentResult, EntryContentResult, PageSurfaceContentData, PageSurfaceContentResult, ContentEntryData, } from './rendering/helpers/loadContent';
26
+ export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from './data/types';
@@ -7,7 +7,7 @@
7
7
  * `@riverbankcms/blocks` (which is not a public dependency). This list is a
8
8
  * stable public contract; keep it in sync with the internal blocks runtime.
9
9
  */
10
- export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.contact-newsletter", "block.appointment-booking", "block.weekly-slot-availability", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.offerings-preview", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
10
+ export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.contact-newsletter", "block.appointment-booking", "block.weekly-slot-availability", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.recurring-schedule", "block.offerings-preview", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
11
11
  export type SystemBlockKind = (typeof SYSTEM_BLOCK_KINDS)[number];
12
12
  export type CustomBlockKind = `custom.${string}`;
13
13
  export type BlockKind = SystemBlockKind | CustomBlockKind;
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.104.3";
11
+ export declare const SDK_VERSION = "0.108.0";
@@ -1,8 +1,8 @@
1
- export declare const staticExecutionGapCodes: readonly ["event_multi_occurrence_requires_manual_date_adapter", "event_ticket_single_occurrence_scope_unsupported", "event_manual_payment_unsupported", "event_external_payment_unsupported", "event_waitlist_requires_waitlist_adapter", "event_media_content_requires_media_adapter", "event_linked_content_requires_content_adapter", "event_staff_assignment_unsupported", "event_delivery_mode_requires_booking_surface_adapter", "course_manual_payment_unsupported", "course_external_payment_unsupported", "course_waitlist_requires_waitlist_adapter", "course_staff_assignment_unsupported"];
1
+ export declare const staticExecutionGapCodes: readonly ["event_occurrence_required", "event_ticket_single_occurrence_scope_unsupported", "event_manual_payment_unsupported", "event_external_payment_unsupported", "event_waitlist_requires_waitlist_adapter", "event_media_content_requires_media_adapter", "event_linked_content_requires_content_adapter", "event_delivery_mode_requires_booking_surface_adapter", "course_manual_payment_unsupported", "course_external_payment_unsupported", "course_waitlist_requires_waitlist_adapter", "course_staff_assignment_unsupported"];
2
2
  export type StaticExecutionGapCode = (typeof staticExecutionGapCodes)[number];
3
3
  export declare const plannerCapabilityGapCodes: readonly ["command_metadata_support_gap"];
4
4
  export type PlannerCapabilityGapCode = (typeof plannerCapabilityGapCodes)[number];
5
5
  export declare const adapterCapabilityGapCodes: readonly ["demo_recipe_adapter_missing", "media_manifest_storage_resolution_missing", "navigation_content_entry_refs_unsupported", "staff_site_user_requires_dashboard_user", "team_member_profile_requires_dashboard_user", "generated_navigation_command_unsupported"];
6
6
  export type AdapterCapabilityGapCode = (typeof adapterCapabilityGapCodes)[number];
7
- export declare const siteCommandCapabilityGapCodes: readonly ["event_multi_occurrence_requires_manual_date_adapter", "event_ticket_single_occurrence_scope_unsupported", "event_manual_payment_unsupported", "event_external_payment_unsupported", "event_waitlist_requires_waitlist_adapter", "event_media_content_requires_media_adapter", "event_linked_content_requires_content_adapter", "event_staff_assignment_unsupported", "event_delivery_mode_requires_booking_surface_adapter", "course_manual_payment_unsupported", "course_external_payment_unsupported", "course_waitlist_requires_waitlist_adapter", "course_staff_assignment_unsupported", "command_metadata_support_gap", "demo_recipe_adapter_missing", "media_manifest_storage_resolution_missing", "navigation_content_entry_refs_unsupported", "staff_site_user_requires_dashboard_user", "team_member_profile_requires_dashboard_user", "generated_navigation_command_unsupported"];
7
+ export declare const siteCommandCapabilityGapCodes: readonly ["event_occurrence_required", "event_ticket_single_occurrence_scope_unsupported", "event_manual_payment_unsupported", "event_external_payment_unsupported", "event_waitlist_requires_waitlist_adapter", "event_media_content_requires_media_adapter", "event_linked_content_requires_content_adapter", "event_delivery_mode_requires_booking_surface_adapter", "course_manual_payment_unsupported", "course_external_payment_unsupported", "course_waitlist_requires_waitlist_adapter", "course_staff_assignment_unsupported", "command_metadata_support_gap", "demo_recipe_adapter_missing", "media_manifest_storage_resolution_missing", "navigation_content_entry_refs_unsupported", "staff_site_user_requires_dashboard_user", "team_member_profile_requires_dashboard_user", "generated_navigation_command_unsupported"];
8
8
  export type SiteCommandCapabilityGapCode = (typeof siteCommandCapabilityGapCodes)[number];