@riverbankcms/sdk 0.123.0 → 0.124.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 (259) hide show
  1. package/README.md +14 -9
  2. package/dist/{PreviewEditorSidebar-DvJFmC29.mjs → PreviewEditorSidebar-DBmAJJkQ.mjs} +22 -39
  3. package/dist/{PreviewEditorUI-DVHP4bCo.mjs → PreviewEditorUI-CfGaz9cY.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-07EE4uWL.mjs → PreviewQueryProvider-BH-3-jSj.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-BE5eFayo.mjs → SdkPreviewModeRuntime-BW9Z8j8T.mjs} +1020 -1234
  6. package/dist/{SiteChromeCustomizeContext-4hn4A0HX.mjs → SiteChromeCustomizeContext-2z8moxYf.mjs} +1900 -1959
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1236 -4152
  8. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +435 -0
  9. package/dist/_dts/api/src/bookingClosures.d.ts +3 -3
  10. package/dist/_dts/api/src/bookingConfig.d.ts +72 -73
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +26 -35
  12. package/dist/_dts/api/src/bookingRecords.d.ts +4 -15
  13. package/dist/_dts/api/src/bookingVerticalCatalog.d.ts +746 -0
  14. package/dist/_dts/api/src/bookingVerticalPreset.d.ts +38 -0
  15. package/dist/_dts/api/src/bookingVerticals.d.ts +11 -652
  16. package/dist/_dts/api/src/bookings.d.ts +11 -9
  17. package/dist/_dts/api/src/cache-tags.d.ts +2 -2
  18. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +10 -10
  19. package/dist/_dts/api/src/common/envelope.d.ts +2 -0
  20. package/dist/_dts/api/src/contentRuntime.d.ts +0 -17
  21. package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +99 -0
  22. package/dist/_dts/api/src/courses.d.ts +22 -33
  23. package/dist/_dts/api/src/defineEndpointDefinitions.d.ts +14 -0
  24. package/dist/_dts/api/src/demoMutationPolicies.d.ts +4 -0
  25. package/dist/_dts/api/src/endpoints.d.ts +3740 -3733
  26. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  27. package/dist/_dts/api/src/event-presentation.d.ts +4 -9
  28. package/dist/_dts/api/src/index.d.ts +9 -11
  29. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +376 -0
  30. package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
  31. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  32. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +272 -0
  33. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +274 -0
  34. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +31 -0
  35. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +152 -0
  36. package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +95 -0
  37. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +154 -0
  38. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -962
  39. package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +52 -0
  40. package/dist/_dts/api/src/sdkContracts.d.ts +0 -51
  41. package/dist/_dts/api/src/sdkEntryReadEndpoints.d.ts +23 -0
  42. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -38
  43. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -4
  44. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -15
  45. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  46. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +0 -16
  47. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -222
  48. package/dist/_dts/blocks/src/portal/types.d.ts +3 -3
  49. package/dist/_dts/blocks/src/subroutes/fold.d.ts +1 -14
  50. package/dist/_dts/blocks/src/subroutes/index.d.ts +1 -1
  51. package/dist/_dts/blocks/src/subroutes/kinds.d.ts +3 -3
  52. package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -11
  53. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +3 -4
  54. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +401 -12
  56. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +9 -10
  57. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -13
  58. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +1 -2
  59. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -4
  60. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +19 -18
  61. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +9 -11
  62. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -2
  63. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +10 -10
  65. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -10
  66. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +162 -0
  68. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +59 -0
  69. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +134 -0
  70. package/dist/_dts/blocks/src/system/runtime/api/types/discounts.d.ts +85 -0
  71. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +241 -0
  72. package/dist/_dts/blocks/src/system/runtime/api/types/forms.d.ts +53 -0
  73. package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +32 -0
  74. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +220 -0
  75. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +176 -0
  76. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +12 -1121
  77. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +19 -583
  78. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -276
  79. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +1 -12
  80. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
  81. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -1
  82. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +2 -3
  83. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +1 -18
  84. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -2
  85. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +1 -5
  86. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/courseRegistrationViewState.d.ts +21 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/index.d.ts +1 -1
  88. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/pricing.d.ts +14 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +0 -25
  90. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseEligibility.d.ts +24 -0
  91. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCoursePaymentVerification.d.ts +9 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationActions.d.ts +35 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationPortal.d.ts +7 -0
  94. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationSelection.d.ts +31 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +80 -55
  96. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseWaitlistSelection.d.ts +14 -0
  97. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +4 -5
  98. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -38
  99. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +1 -2
  101. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +0 -1
  102. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +12 -0
  103. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +0 -4
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -9
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +0 -5
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +0 -11
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +13 -0
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +0 -21
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  110. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +24 -433
  111. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +1 -2
  112. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +52 -266
  113. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -15
  114. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventFilters.d.ts +0 -8
  115. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +1573 -0
  116. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +1 -3
  117. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -3
  118. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +2 -2
  119. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -5
  120. package/dist/_dts/content-model/src/content-types/builtins.d.ts +0 -5
  121. package/dist/_dts/content-model/src/templates/defaults.d.ts +6 -3
  122. package/dist/_dts/core/src/editor-state.d.ts +1 -13
  123. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1580 -120
  124. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +6 -6
  125. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +6 -1
  126. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +27 -4
  127. package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -2
  128. package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +1 -1
  129. package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +4 -6
  130. package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
  131. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +1 -1
  132. package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +0 -1
  133. package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +1 -1
  134. package/dist/_dts/sdk/src/cli/content/collectionWriters.d.ts +23 -0
  135. package/dist/_dts/sdk/src/cli/content/metadataAfterPush.d.ts +25 -0
  136. package/dist/_dts/sdk/src/cli/content/reader.d.ts +0 -52
  137. package/dist/_dts/sdk/src/cli/content/writer.d.ts +3 -81
  138. package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +6 -9
  139. package/dist/_dts/sdk/src/client/contentReadOperations.d.ts +40 -0
  140. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -3
  141. package/dist/_dts/sdk/src/client/management/types.d.ts +3 -91
  142. package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +72 -0
  143. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +10 -75
  144. package/dist/_dts/sdk/src/client/types.d.ts +7 -33
  145. package/dist/_dts/sdk/src/components.d.ts +1 -1
  146. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  147. package/dist/_dts/sdk/src/config/validation.d.ts +3 -6
  148. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  149. package/dist/_dts/sdk/src/contracts/page.d.ts +0 -8
  150. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -34
  151. package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +4 -3
  152. package/dist/_dts/sdk/src/next/catch-all-utils.d.ts +0 -11
  153. package/dist/_dts/sdk/src/next/catch-all.d.ts +1 -76
  154. package/dist/_dts/sdk/src/next/types.d.ts +0 -19
  155. package/dist/_dts/sdk/src/public-api/contracts.d.ts +7 -207
  156. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  157. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
  158. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
  159. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +0 -7
  160. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +81 -0
  161. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  162. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -51
  163. package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -1
  164. package/dist/_dts/sdk/src/routing/entrySubroutes.d.ts +6 -6
  165. package/dist/_dts/sdk/src/routing/index.d.ts +0 -2
  166. package/dist/_dts/sdk/src/routing/resolveOccurrence.d.ts +3 -3
  167. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +10 -39
  168. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  169. package/dist/_dts/sdk/src/version.d.ts +1 -1
  170. package/dist/_dts/site-commands/src/adapter.d.ts +1 -1
  171. package/dist/_dts/site-commands/src/appointmentCommandSchemas.d.ts +100 -0
  172. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
  173. package/dist/_dts/site-commands/src/commandContract.d.ts +1242 -0
  174. package/dist/_dts/site-commands/src/commandDomain.d.ts +20 -0
  175. package/dist/_dts/site-commands/src/commandIdentifiers.d.ts +7 -0
  176. package/dist/_dts/site-commands/src/commandValidation.d.ts +10 -0
  177. package/dist/_dts/site-commands/src/commands.d.ts +729 -2659
  178. package/dist/_dts/site-commands/src/domain.d.ts +1 -1
  179. package/dist/_dts/site-commands/src/eventCommandContent.d.ts +11 -0
  180. package/dist/_dts/site-commands/src/exposure.d.ts +1 -1
  181. package/dist/_dts/site-commands/src/index.d.ts +6 -0
  182. package/dist/_dts/site-commands/src/metadata.d.ts +1 -27
  183. package/dist/_dts/site-commands/src/planner.d.ts +1 -1
  184. package/dist/_dts/site-commands/src/refContributions.d.ts +1 -1
  185. package/dist/_dts/site-commands/src/refs.d.ts +1 -4
  186. package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +378 -0
  187. package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +46 -0
  188. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +2 -2
  189. package/dist/_dts/site-commands/src/venueCommandMapping.d.ts +21 -0
  190. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +58 -0
  191. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +1 -0
  192. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  193. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +47 -24
  194. package/dist/cli/index.mjs +7250 -8478
  195. package/dist/cli/init-docs/content/cli-reference.md +5 -21
  196. package/dist/cli/init-docs/content/content-management.md +4 -5
  197. package/dist/client/{DiscountCodeDisclosure-DIWj-P9v.mjs → DiscountCodeDisclosure-DxvjKvck.mjs} +2 -2
  198. package/dist/client/{EventCombined.client-De8YWBSr.mjs → EventCombined.client-BydMGc4c.mjs} +5 -16
  199. package/dist/client/{EventListing.client-seHTjimY.mjs → EventListing.client-vpzhhysN.mjs} +3 -10
  200. package/dist/client/{LeafletStaticMap-BmQxFcJW.mjs → LeafletStaticMap-CB07rpf8.mjs} +1 -1
  201. package/dist/client/{MagicLinkForm-OoJAIUIj.mjs → MagicLinkForm-BzyRJ8VF.mjs} +2 -2
  202. package/dist/client/{StepIndicator-CiZ8kdPk.mjs → StepIndicator-CTcGf8Be.mjs} +2 -2
  203. package/dist/client/{accordion-6lnN__XJ.mjs → accordion-B-DUDLRD.mjs} +1 -1
  204. package/dist/client/{bookingForm-5uyqhONU.mjs → bookingForm-DSbClLcZ.mjs} +6 -6
  205. package/dist/client/bookings.mjs +753 -818
  206. package/dist/client/{carousel-Dtnifil_.mjs → carousel-B6Ccdx8M.mjs} +1 -1
  207. package/dist/client/{cart-5Tc5S7NV.mjs → cart-BZh8G8wM.mjs} +3 -3
  208. package/dist/client/{checkout-CYKKN5Hr.mjs → checkout-o6zaC-kM.mjs} +3 -3
  209. package/dist/client/client.mjs +6859 -7149
  210. package/dist/client/{context-BGZNlGXB.mjs → context-CJz1Vlsz.mjs} +40 -43
  211. package/dist/client/{courseRegistration-CxCBybB4.mjs → courseRegistration-Cf11pNDs.mjs} +606 -621
  212. package/dist/client/{eventCalendar-Xj2jZS9X.mjs → eventCalendar-BeXrdsSE.mjs} +5 -13
  213. package/dist/client/{eventCombined-CgcMoOgM.mjs → eventCombined-DA76PZgG.mjs} +3 -3
  214. package/dist/client/{eventDetails-CEAH8Edc.mjs → eventDetails-BLxg0rok.mjs} +140 -116
  215. package/dist/client/{eventListing-qyPVQ0wP.mjs → eventListing-tO9LheBX.mjs} +3 -3
  216. package/dist/client/{eventRegistration-DDu79CtL.mjs → eventRegistration-Cnene9D9.mjs} +165 -68
  217. package/dist/client/{form-Bc7JKI7I.mjs → form-DZf72CHB.mjs} +2 -2
  218. package/dist/client/{headerSection-vTku_LEl.mjs → headerSection-Hioja5Cr.mjs} +2 -2
  219. package/dist/client/hooks.mjs +3452 -2365
  220. package/dist/client/{locationMap-Bg7X4Jna.mjs → locationMap-DwhUXEix.mjs} +2 -2
  221. package/dist/client/{newsletterForm-lpylVdp5.mjs → newsletterForm-C350bEQf.mjs} +2 -2
  222. package/dist/client/{pricing-DE8fjJiT.mjs → pricing-BYWN_ATa.mjs} +3 -19
  223. package/dist/client/{productDetail-D7Bo2RMH.mjs → productDetail-CCqCyXgU.mjs} +3 -3
  224. package/dist/client/{productList-VjnZqiqN.mjs → productList-BAiNJrOU.mjs} +3 -3
  225. package/dist/client/{propsDecoder-DreFXjNP.mjs → propsDecoder-DeunRj6m.mjs} +210 -378
  226. package/dist/client/rendering/client.mjs +2541 -2813
  227. package/dist/client/rendering/islands.mjs +18 -18
  228. package/dist/client/rendering.mjs +5622 -4734
  229. package/dist/client/{shop-IRsHHbf7.mjs → shop-DUmCdBtw.mjs} +6 -6
  230. package/dist/client/{shop-commerce-gnI8PieZ.mjs → shop-commerce-CY27mEUr.mjs} +5 -5
  231. package/dist/client/{shop-commerce-store-BTbrhObn.mjs → shop-commerce-store-ChXPbWfa.mjs} +1 -1
  232. package/dist/client/{shopShared-D6KS2_qk.mjs → shopShared-q0kin1cv.mjs} +3 -3
  233. package/dist/client/{useDiscountCodeUi-DCccGCxV.mjs → useDiscountCodeUi-I-92-x2V.mjs} +2 -2
  234. package/dist/client/{useEventFilters-eGs3rPZQ.mjs → useEventFilters-DlcVluZh.mjs} +59 -124
  235. package/dist/client/{usePolling-CvSU2sur.mjs → usePolling-Bz7GFV_a.mjs} +2 -2
  236. package/dist/preview-next/before-render.mjs +1115 -1044
  237. package/dist/preview-next/client/runtime.mjs +4 -4
  238. package/dist/preview-next/middleware.mjs +1118 -1047
  239. package/dist/{previewAuthStore-ShY26RNz.mjs → previewAuthStore-CJX21dGi.mjs} +1121 -1047
  240. package/dist/{sdk-runtime-CJxkFq2B.mjs → sdk-runtime-OnPM8Z69.mjs} +2 -2
  241. package/dist/{separator-CoFmo8uA.mjs → separator-CPtfzHqA.mjs} +1 -1
  242. package/dist/server/components.mjs +4560 -3672
  243. package/dist/server/config-validation.mjs +3454 -2356
  244. package/dist/server/config.mjs +3454 -2356
  245. package/dist/server/data.mjs +3452 -2367
  246. package/dist/server/index.mjs +1501 -1491
  247. package/dist/server/next.mjs +7524 -8067
  248. package/dist/server/page-converter.mjs +1898 -2040
  249. package/dist/server/prebuild.mjs +1 -1
  250. package/dist/server/rendering/server.mjs +4258 -3373
  251. package/dist/server/rendering.mjs +6228 -5393
  252. package/dist/server/routing.mjs +3614 -2509
  253. package/dist/server/server.mjs +3298 -3479
  254. package/package.json +1 -1
  255. package/dist/_dts/api/src/previewContentContract.d.ts +0 -4
  256. package/dist/_dts/sdk/src/cli/commands/course.d.ts +0 -6
  257. package/dist/_dts/sdk/src/cli/commands/push/scopes/courses.d.ts +0 -4
  258. package/dist/_dts/sdk/src/client/management/courses.d.ts +0 -10
  259. package/dist/_dts/sdk/src/routing/resolveEntrySubroute.d.ts +0 -36
@@ -1,78 +1,3 @@
1
- /**
2
- * Next.js catch-all page factory for Riverbank CMS.
3
- *
4
- * Provides a simple, opinionated way to render CMS content in Next.js catch-all routes.
5
- * Reduces typical page.tsx boilerplate from ~160 lines to ~10 lines.
6
- *
7
- * @example
8
- * ```tsx
9
- * // src/app/[[...slug]]/page.tsx
10
- * import { createCatchAllPage } from '@riverbankcms/sdk/next';
11
- * import { getRiverbankClient } from '@/lib/builder-client';
12
- * import config from '@/riverbank.config';
13
- *
14
- * const { Page, generateMetadata } = createCatchAllPage({
15
- * getClient: getRiverbankClient,
16
- * config,
17
- * blockOverrides: { hero: MyCustomHero },
18
- * });
19
- *
20
- * export default Page;
21
- * export { generateMetadata };
22
- * ```
23
- */
24
1
  import type { CreateCatchAllPageOptions, CreateCatchAllPageResult } from './types';
25
- /**
26
- * Factory function to create a Next.js catch-all page component and metadata generator.
27
- *
28
- * This provides a simple, opinionated setup for rendering Riverbank CMS content
29
- * in external SDK sites. It handles:
30
- *
31
- * - Page and content entry routing
32
- * - Preview mode detection (automatically from API key type)
33
- * - SEO metadata generation
34
- * - Block overrides for custom components
35
- * - 404 handling for missing content
36
- *
37
- * ## Escape Hatches
38
- *
39
- * For customization beyond the defaults, use these options:
40
- *
41
- * - `beforeRender`: Intercept before rendering (maintenance mode, access control)
42
- * - `customMetadata`: Full control over SEO metadata
43
- * - `wrapper`: Wrap all content (analytics, error boundaries)
44
- *
45
- * For maximum control, use the lower-level helpers directly:
46
- * - `loadContent()` from `@riverbankcms/sdk/rendering`
47
- * - `Page` component from `@riverbankcms/sdk/rendering`
48
- * - `generatePageMetadata()` from `@riverbankcms/sdk/metadata`
49
- *
50
- * @param options - Configuration options
51
- * @returns Object with `Page` component and `generateMetadata` function
52
- *
53
- * @example Basic usage
54
- * ```tsx
55
- * const { Page, generateMetadata } = createCatchAllPage({
56
- * getClient: getRiverbankClient,
57
- * config,
58
- * });
59
- *
60
- * export default Page;
61
- * export { generateMetadata };
62
- * ```
63
- *
64
- * @example With maintenance mode
65
- * ```tsx
66
- * const { Page, generateMetadata } = createCatchAllPage({
67
- * getClient,
68
- * config,
69
- * beforeRender: async () => {
70
- * if (process.env.MAINTENANCE_MODE === 'true') {
71
- * return <MaintenancePage />;
72
- * }
73
- * return null;
74
- * },
75
- * });
76
- * ```
77
- */
2
+ /** Build a Next.js catch-all page and metadata generator for Riverbank content. */
78
3
  export declare function createCatchAllPage(options: CreateCatchAllPageOptions): CreateCatchAllPageResult;
@@ -33,14 +33,6 @@ export interface CatchAllContext {
33
33
  /** Search parameters from the URL (for filtering, pagination, etc.) */
34
34
  searchParams: DataLoaderSearchParams;
35
35
  }
36
- export type CreateCatchAllContentContract = 'compat' | 'native';
37
- export type CreateCatchAllContentContractResolverContext = Readonly<{
38
- /** Resolved URL path being loaded, e.g. '/about'. */
39
- path: string;
40
- /** Whether preview mode is enabled for this catch-all instance. */
41
- preview: boolean;
42
- }>;
43
- export type CreateCatchAllContentContractSelector = CreateCatchAllContentContract | ((context: CreateCatchAllContentContractResolverContext) => CreateCatchAllContentContract);
44
36
  /**
45
37
  * Configuration for runtime theme switching when `themes` is provided.
46
38
  *
@@ -188,17 +180,6 @@ export type CreateCatchAllPageOptions = {
188
180
  * ```
189
181
  */
190
182
  preview?: boolean;
191
- /**
192
- * Selects the public content API contract used by the catch-all loader.
193
- *
194
- * Defaults to `compat`, preserving the long-standing page/entry response
195
- * shape. Use `native` only after the target site and route are ready to
196
- * receive native page-surface payloads. A resolver can opt in route-by-route
197
- * during staged rollouts.
198
- *
199
- * @default 'compat'
200
- */
201
- contentContract?: CreateCatchAllContentContractSelector;
202
183
  /**
203
184
  * Custom block component overrides for rendering.
204
185
  * Keys can be full block kind ("block.hero") or short form ("hero").
@@ -1,5 +1,5 @@
1
- import type { AddressedLocationValue, BusinessAddress, BookingFlexibleBalanceConfig, BookingInstalmentPlanConfig, PublicEventPricing } from '../../../core/src/index';
2
- import type { PublicEventRecurrence as ApiPublicEventRecurrence, SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject } from '../../../api/src/index';
1
+ import type { AddressedLocationValue, BusinessAddress } from '../../../core/src/index';
2
+ import type { APIEndpoints, SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject, SiteBookingOfferingPresetSummary as ApiSiteBookingOfferingPresetSummary } 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
5
  import type { RuntimePaletteState } from '../../../theme-core/src/palette/index';
@@ -281,15 +281,7 @@ export type SiteRouteRecord = {
281
281
  draftStatus?: string | null;
282
282
  publishedAt?: string | null;
283
283
  };
284
- export type SiteBookingOfferingCanonicalBehaviour = 'class' | 'workshop' | 'course' | 'retreat' | 'performance' | 'appointment';
285
- export type SiteBookingOfferingEngine = 'event_series' | 'course' | 'appointment_service';
286
- export type SiteBookingOfferingPresetSummary = Readonly<{
287
- id: string;
288
- canonicalBehaviour: SiteBookingOfferingCanonicalBehaviour;
289
- engine: SiteBookingOfferingEngine;
290
- label: string;
291
- pluralLabel: string;
292
- }>;
284
+ export type SiteBookingOfferingPresetSummary = ApiSiteBookingOfferingPresetSummary;
293
285
  export type SiteResponse = {
294
286
  site: {
295
287
  id: string;
@@ -616,167 +608,13 @@ export type PublicEventTicketTypeRecord = {
616
608
  createdAt: string;
617
609
  updatedAt: string;
618
610
  };
619
- export type PublicEventDestination = Readonly<{
620
- kind: 'native';
621
- mode: 'cms-managed' | 'system-managed';
622
- path: string;
623
- }> | Readonly<{
624
- kind: 'external';
625
- url: string;
626
- label: string;
627
- }>;
628
- export type PublicEventsResponse = Array<{
629
- kind?: 'event' | 'course_session';
630
- recurrence?: ApiPublicEventRecurrence;
631
- destination: PublicEventDestination;
632
- id: string;
633
- occurrenceId: string;
634
- seriesId: string;
635
- title: string;
636
- description: string | null;
637
- presentation?: {
638
- cardTitleOverride?: string | null;
639
- summary?: string | null;
640
- image?: {
641
- type: 'image' | 'video' | 'audio' | 'document' | 'spreadsheet' | 'archive';
642
- purpose?: string;
643
- placeholder?: boolean;
644
- assetId?: string;
645
- src?: string;
646
- alt?: string;
647
- width?: number;
648
- height?: number;
649
- storageBucket?: string;
650
- storagePath?: string;
651
- transform?: {
652
- rect?: [number, number, number, number];
653
- hotspot?: {
654
- x: number;
655
- y: number;
656
- radius?: number;
657
- };
658
- };
659
- } | null;
660
- };
661
- slug: string;
662
- path: string | null;
663
- requiresRegistration: boolean;
664
- startsAt: string;
665
- endsAt: string;
666
- capacity: number | null;
667
- registeredCount: number;
668
- availableSpots: number | null;
669
- waitlistEnabled: boolean;
670
- venue: {
671
- id: string;
672
- name: string;
673
- address: string | null;
674
- location?: {
675
- lat: number;
676
- lng: number;
677
- } | null;
678
- } | null;
679
- eventCategory: {
680
- id: string;
681
- name: string;
682
- color: string | null;
683
- } | null;
684
- teamMembers?: Array<{
685
- id: string;
686
- name: string;
687
- roleLabel: string | null;
688
- summary: string | null;
689
- profilePath: string | null;
690
- }>;
691
- status?: 'active' | 'draft' | 'archived';
692
- pricing: PublicEventPricing<PublicEventTicketTypeRecord>;
693
- paymentTerms: {
694
- allowedOptions: Array<{
695
- kind: 'upfront';
696
- } | {
697
- kind: 'deferred_manual';
698
- } | {
699
- kind: 'instalment_plan';
700
- plan: Record<string, unknown>;
701
- }>;
702
- };
703
- accessRestriction: 'none' | 'category';
704
- allowedCategoryIds: string[];
705
- requireGuestDetails?: boolean;
706
- timeZone?: string;
707
- acceptsPasses?: boolean;
708
- acceptsMemberships?: boolean;
709
- course?: {
710
- id: string;
711
- pricing?: {
712
- bookingRequirement: 'none' | 'required';
713
- pricingStrategy: 'free' | 'single' | 'tiered';
714
- currency: string;
715
- singlePriceAmount: number | null;
716
- paymentTerms: {
717
- allowedOptions: Array<{
718
- kind: 'upfront';
719
- } | {
720
- kind: 'deferred_manual';
721
- } | {
722
- kind: 'instalment_plan';
723
- plan: BookingInstalmentPlanConfig;
724
- } | {
725
- kind: 'flexible_balance';
726
- config: BookingFlexibleBalanceConfig;
727
- }>;
728
- };
729
- options: Array<{
730
- id: string;
731
- name: string;
732
- description: string | null;
733
- priceAmount: number;
734
- isActive: boolean;
735
- sortOrder: number;
736
- capacityLimit: number | null;
737
- saleStartsAt: string | null;
738
- saleEndsAt: string | null;
739
- attendanceScope?: 'in_person' | 'online' | 'both' | null;
740
- }>;
741
- };
742
- priceCents: number | null;
743
- currency: string;
744
- enrollmentOpen: boolean;
745
- } | null;
746
- }>;
611
+ export type PublicEventsResponse = NonNullable<APIEndpoints['listPublicEvents']['response']>;
612
+ export type PublicEventDestination = PublicEventsResponse[number]['destination'];
747
613
  export type PublicEventDetailsResponse = {
748
614
  events: PublicEventsResponse;
749
615
  sitePasses: PublicPassesResponse;
750
616
  siteMemberships: PublicMembershipsResponse;
751
617
  };
752
- export type PublicCoursesResponse = Array<{
753
- id: string;
754
- title: string;
755
- slug: string;
756
- description: unknown;
757
- enrollmentOpen: boolean;
758
- priceCents: number | null;
759
- currency: string;
760
- enrollmentCapacity: number | null;
761
- acceptsMemberships: boolean;
762
- status: string;
763
- sessionsCount: number;
764
- enrolledCount: number;
765
- availableSpots: number | null;
766
- sessions: Array<{
767
- id: string;
768
- startsAt: string;
769
- endsAt: string;
770
- capacityOverride?: number | null;
771
- overrides?: Record<string, unknown> | null;
772
- }>;
773
- venue: {
774
- id: string;
775
- name: string;
776
- address: string | null;
777
- } | null;
778
- contentEntryId: string | null;
779
- }>;
780
618
  export type PublicTeamMembersResponse = {
781
619
  teamMembers: PublicTeamMemberBlockItem[];
782
620
  };
@@ -843,29 +681,6 @@ export type PublicMembershipsResponse = {
843
681
  eligibleCategoryNames: string[];
844
682
  }>;
845
683
  };
846
- export type ResolveEntrySubrouteResponse = {
847
- subroute: {
848
- kind: 'event-occurrence';
849
- occurrence: {
850
- id: string;
851
- seriesId: string;
852
- startsAt: string;
853
- endsAt: string;
854
- timeZone: string;
855
- status: string;
856
- capacityOverride: number | null;
857
- overridesJson: Record<string, unknown>;
858
- };
859
- } | {
860
- kind: 'course-run';
861
- run: {
862
- courseId: string;
863
- seriesId: string;
864
- runSlug: string;
865
- runName: string | null;
866
- };
867
- } | null;
868
- };
869
684
  export type ResolveEventOccurrenceResponse = {
870
685
  occurrence: {
871
686
  id: string;
@@ -933,7 +748,7 @@ export type SitemapRoutesResponse = {
933
748
  pageSize: number;
934
749
  allowIndexingInProduction: boolean;
935
750
  };
936
- export type PublicEndpointName = 'getSite' | 'getContentByPath' | 'resolveRouteOutcome' | 'resolveRouteDecision' | 'listPublishedEntries' | 'getPublishedEntryPreview' | 'getPublicFormById' | 'listPublicForms' | 'getPublicBookingServices' | 'getPublicWeeklySlotAvailability' | 'getPublicChallenge' | 'listPublicEvents' | 'batchBlockLoaders' | 'listPublicCourses' | 'listPublicTeamMembers' | 'listPublicProducts' | 'listPublicPasses' | 'listPublicMemberships' | 'resolveEntrySubroute' | 'resolveEventOccurrence' | 'checkRedirect' | 'getRoutableContent' | 'getPublicRoutableContent' | 'getPublicSitemapRoutes';
751
+ export type PublicEndpointName = 'getSite' | 'getContentByPath' | 'resolveRouteOutcome' | 'resolveRouteDecision' | 'listPublishedEntries' | 'getPublishedEntryPreview' | 'getPublicFormById' | 'listPublicForms' | 'getPublicBookingServices' | 'getPublicWeeklySlotAvailability' | 'getPublicChallenge' | 'listPublicEvents' | 'batchBlockLoaders' | 'listPublicTeamMembers' | 'listPublicProducts' | 'listPublicPasses' | 'listPublicMemberships' | 'resolveEventOccurrence' | 'checkRedirect' | 'getRoutableContent' | 'getPublicRoutableContent' | 'getPublicSitemapRoutes';
937
752
  export type PublicAPIEndpoints = {
938
753
  getSite: APIEndpointBase<never, {
939
754
  id?: string;
@@ -944,7 +759,6 @@ export type PublicAPIEndpoints = {
944
759
  getContentByPath: APIEndpointBase<{
945
760
  path: string;
946
761
  preview?: boolean;
947
- contentContract?: 'compat' | 'native';
948
762
  }, {
949
763
  siteId: string;
950
764
  }, PageResponse>;
@@ -1004,7 +818,6 @@ export type PublicAPIEndpoints = {
1004
818
  categoryIds?: string;
1005
819
  venueId?: string;
1006
820
  kind?: string;
1007
- entryId?: string;
1008
821
  seriesId?: string;
1009
822
  includeOccurrenceId?: string;
1010
823
  }, PublicEventsResponse>;
@@ -1022,7 +835,6 @@ export type PublicAPIEndpoints = {
1022
835
  venueId?: string;
1023
836
  staffMemberId?: string;
1024
837
  kind?: string;
1025
- entryId?: string;
1026
838
  seriesId?: string;
1027
839
  includeOccurrenceId?: string;
1028
840
  };
@@ -1049,11 +861,6 @@ export type PublicAPIEndpoints = {
1049
861
  };
1050
862
  }>;
1051
863
  }>;
1052
- listPublicCourses: APIEndpointBase<never, {
1053
- siteId: string;
1054
- limit?: string;
1055
- stage?: string;
1056
- }, PublicCoursesResponse>;
1057
864
  listPublicTeamMembers: APIEndpointBase<never, {
1058
865
  siteId: string;
1059
866
  stage?: string;
@@ -1070,16 +877,9 @@ export type PublicAPIEndpoints = {
1070
877
  siteId: string;
1071
878
  categories?: string;
1072
879
  }, PublicMembershipsResponse>;
1073
- resolveEntrySubroute: APIEndpointBase<never, {
1074
- siteId: string;
1075
- entryId: string;
1076
- kind: 'event-occurrence' | 'course-run';
1077
- segment: string;
1078
- stage?: 'preview' | 'published';
1079
- }, ResolveEntrySubrouteResponse>;
1080
880
  resolveEventOccurrence: APIEndpointBase<never, {
1081
881
  siteId: string;
1082
- entryId: string;
882
+ eventSeriesIds: string;
1083
883
  segment: string;
1084
884
  }, ResolveEventOccurrenceResponse>;
1085
885
  checkRedirect: APIEndpointBase<never, {
@@ -1,5 +1,5 @@
1
1
  import type { ApiResult, HTTPMethod, PublicAPIEndpoints, PublicEndpointName } from './contracts';
2
- export declare const PUBLIC_ENDPOINT_NAMES: readonly ["getSite", "getContentByPath", "resolveRouteOutcome", "resolveRouteDecision", "listPublishedEntries", "getPublishedEntryPreview", "getPublicFormById", "listPublicForms", "getPublicBookingServices", "getPublicWeeklySlotAvailability", "getPublicChallenge", "listPublicEvents", "batchBlockLoaders", "listPublicCourses", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "resolveEntrySubroute", "resolveEventOccurrence", "checkRedirect", "getRoutableContent", "getPublicRoutableContent", "getPublicSitemapRoutes"];
2
+ export declare const PUBLIC_ENDPOINT_NAMES: readonly ["getSite", "getContentByPath", "resolveRouteOutcome", "resolveRouteDecision", "listPublishedEntries", "getPublishedEntryPreview", "getPublicFormById", "listPublicForms", "getPublicBookingServices", "getPublicWeeklySlotAvailability", "getPublicChallenge", "listPublicEvents", "batchBlockLoaders", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "resolveEventOccurrence", "checkRedirect", "getRoutableContent", "getPublicRoutableContent", "getPublicSitemapRoutes"];
3
3
  export type ApiClient = <E extends PublicEndpointName>(params: {
4
4
  endpoint: E;
5
5
  params?: PublicAPIEndpoints[E]['query'];
@@ -3,6 +3,7 @@ import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextDa
3
3
  import type { SdkCustomBlock } from '../config/types';
4
4
  import type { BlockOverrides } from './overrides';
5
5
  import type { SiteBookingOfferingPresetSummary } from '../public-api/contracts';
6
+ import type { EventPageSurfaceSubjectWire } from '../../../core/src/index';
6
7
  export type ComponentRegistry = Record<string, React.ElementType>;
7
8
  export type PageRendererDataContext = {
8
9
  siteId?: string;
@@ -17,7 +18,7 @@ export type PageRendererDataContext = {
17
18
  entrySubrouteContext?: EntrySubrouteContextData | null;
18
19
  contentEntry?: Record<string, unknown> | null;
19
20
  pageSurface?: Record<string, unknown> | null;
20
- subject?: unknown;
21
+ subject?: EventPageSurfaceSubjectWire | null;
21
22
  editableRouteMetadataFieldIds?: ReadonlyArray<string> | null;
22
23
  supabaseUrl?: string;
23
24
  mediaAssets?: readonly MediaAssetIndexItem[];
@@ -61,14 +61,14 @@ export type PageProps = {
61
61
  dataContext?: {
62
62
  /** Occurrence context for event pages (from URL like /events/yoga/2025-01-15) */
63
63
  occurrenceContext?: OccurrenceContextData | null;
64
- /** Generic entry subroute context (event occurrences, course runs, etc.) */
64
+ /** Event-occurrence subroute context. */
65
65
  entrySubrouteContext?: EntrySubrouteContextData | null;
66
66
  /** Content entry data for template pages */
67
67
  contentEntry?: Record<string, unknown> | null;
68
68
  /** Native page-surface data for page-surface templates */
69
69
  pageSurface?: Record<string, unknown> | null;
70
70
  /** Subject descriptor for native page-surface templates */
71
- subject?: unknown;
71
+ subject?: import('../../../../core/src/index').EventPageSurfaceSubjectWire | null;
72
72
  /** Editable route metadata keys for template-page inline editing */
73
73
  editableRouteMetadataFieldIds?: ReadonlyArray<string> | null;
74
74
  /** Preview stage: 'preview' for draft content, 'published' for live content */
@@ -21,7 +21,6 @@ export type LoadContentParams = {
21
21
  client: RiverbankClient;
22
22
  siteId: string;
23
23
  path: string;
24
- contentContract?: 'compat' | 'native';
25
24
  /**
26
25
  * When true, forces a fresh site config fetch (bypasses caches).
27
26
  * Useful right after `riverbankcms push-config` in development.
@@ -213,12 +212,6 @@ export type PageSurfaceContentResult = {
213
212
  dataContext: {
214
213
  pageSurface: Record<string, unknown>;
215
214
  subject: PageSurfaceContentData['subject'];
216
- /**
217
- * Event blocks still scope against content-entry-shaped template context.
218
- * For native event page surfaces this is a surface-derived adapter, not a
219
- * persisted content entry.
220
- */
221
- contentEntry?: Record<string, unknown> | null;
222
215
  };
223
216
  theme: Theme;
224
217
  siteId: string;
@@ -0,0 +1,81 @@
1
+ import type { RiverbankClient } from '../../client/types';
2
+ import type { SdkCustomBlock } from '../../config/types';
3
+ import type { ResolvedBlockData } from '../../data/prefetchBlockData';
4
+ import { type BlockDataLoadPolicy, type ResolveBlockDataDeps } from '../../data/resolveBlockData';
5
+ import type { DataLoaderPreviewStage, DataLoaderRenderTarget } from '../../data/types';
6
+ import type { PageProps } from '../components/Page';
7
+ import { type BindingContext } from './bindings';
8
+ export type Template = {
9
+ id: string;
10
+ name: string;
11
+ templateKey: string;
12
+ blocks: TemplateBlock[];
13
+ };
14
+ type TemplateBlock = {
15
+ id: string;
16
+ blockKind: string;
17
+ scope: 'entry' | 'template';
18
+ content: Record<string, unknown> | null;
19
+ bindings?: Record<string, unknown> | null;
20
+ };
21
+ type EntrySlotBlock = {
22
+ id: string;
23
+ blockId?: string;
24
+ kind: string;
25
+ purpose: string;
26
+ content: Record<string, unknown> | null;
27
+ draftContent?: unknown;
28
+ publishedContent?: unknown;
29
+ orderIndex?: number | null;
30
+ bindings?: Record<string, unknown> | null;
31
+ };
32
+ type TemplateSlotContent = {
33
+ slotKey: string;
34
+ blocks: EntrySlotBlock[];
35
+ };
36
+ type TemplateRenderTargetSource = Omit<Extract<DataLoaderRenderTarget, {
37
+ kind: 'entry-template';
38
+ }>, 'templateId'> | Omit<Extract<DataLoaderRenderTarget, {
39
+ kind: 'page-surface-template';
40
+ }>, 'templateId'>;
41
+ type TemplateEntry = Readonly<{
42
+ id: string;
43
+ type: string | null;
44
+ title: string;
45
+ slug: string | null;
46
+ path: string | null;
47
+ status: string;
48
+ publishAt: string | null;
49
+ content: Record<string, unknown>;
50
+ createdAt: string;
51
+ updatedAt: string;
52
+ }>;
53
+ type TemplateProcessorSupport = Readonly<{
54
+ siteId: string;
55
+ previewStage: DataLoaderPreviewStage;
56
+ blockDataPolicy: BlockDataLoadPolicy;
57
+ client: RiverbankClient;
58
+ deps: ResolveBlockDataDeps;
59
+ customBlocks?: SdkCustomBlock[];
60
+ }>;
61
+ export declare function processEntryTemplate(input: TemplateProcessorSupport & Readonly<{
62
+ templates: Template[] | undefined;
63
+ entrySlots: TemplateSlotContent[] | undefined;
64
+ entry: TemplateEntry;
65
+ }>): Promise<{
66
+ templatePage: PageProps['page'] | null;
67
+ resolvedData: ResolvedBlockData;
68
+ }>;
69
+ export declare function processTemplatePage(input: TemplateProcessorSupport & Readonly<{
70
+ templates: Template[] | undefined;
71
+ slotContent: readonly TemplateSlotContent[] | undefined;
72
+ bindingContext: BindingContext;
73
+ pageName: string;
74
+ pagePath: string;
75
+ pagePurpose: string;
76
+ renderTargetSource: TemplateRenderTargetSource;
77
+ }>): Promise<{
78
+ templatePage: PageProps['page'] | null;
79
+ resolvedData: ResolvedBlockData;
80
+ }>;
81
+ export {};
@@ -16,7 +16,7 @@ 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
18
  export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from '../data/types';
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
+ export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CardStylesContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, 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';
20
20
  export { ImagePresets } from '../contracts';
21
21
  export { RichText } from './primitives/RichText';
22
22
  export { resolveImageUrl, resolveImageUrlWithContext, resolveImageSourceSetWithContext, } from './image';
@@ -1,7 +1,7 @@
1
1
  import type { EventScheduleScope as SystemEventScheduleScope, EventSurfacePreset as SystemEventSurfacePreset, RichTextDoc as SystemRichTextDoc } from '../../contracts/system-block-content';
2
2
  import type { PublicTeamMemberSummary } from '../../../../api/src/index';
3
3
  import type { BookingFlexibleBalanceConfig, BookingInstalmentPlanConfig, LocationCoordinates, PublicCoursePriceDisplay, PublicEventPriceDisplay, PublicEventPricing, PublicEventPricingType } from '../../../../core/src/index';
4
- import type { AccordionIslandProps as BlocksAccordionIslandProps, BookingFormConfig as BlocksBookingFormConfig, BookingFormInteractiveIslandProps as BlocksBookingFormIslandProps, BookingFormService as BlocksBookingFormService, CarouselIslandProps as BlocksCarouselIslandProps, CourseRegistrationInteractiveIslandProps as BlocksCourseRegistrationIslandProps, CartDisplay as BlocksCartDisplay, CartInteractiveIslandProps as BlocksCartIslandProps, CartLineDisplay as BlocksCartLineDisplay, CheckoutDisplay as BlocksCheckoutDisplay, CheckoutInteractiveIslandProps as BlocksCheckoutIslandProps, EventCalendarInteractiveIslandProps as BlocksEventCalendarIslandProps, EventCombinedInteractiveIslandProps as BlocksEventCombinedIslandProps, EventDetailsContentEntry as BlocksEventDetailsContentEntry, EventDetailsIslandProps as BlocksEventDetailsIslandProps, EventDetailsOccurrenceContext as BlocksEventDetailsOccurrenceContext, LocationMapIslandProps as BlocksLocationMapIslandProps, EventRegistrationInteractiveIslandProps as BlocksEventRegistrationIslandProps, EventListingDisplay as BlocksEventListingDisplay, EventListingHydration as BlocksEventListingHydration, EventListingInteractiveIslandProps as BlocksEventListingIslandProps, PublicEvent as BlocksPublicEvent, FormInteractiveIslandProps as BlocksFormIslandProps, HeaderSectionIslandProps as BlocksHeaderSectionIslandProps, MembershipCardDisplay as BlocksMembershipCardDisplay, NewsletterFormInteractiveIslandProps as BlocksNewsletterFormIslandProps, PassCardDisplay as BlocksPassCardDisplay, PassesMembershipsDisplay as BlocksPassesMembershipsDisplay, ProductCardDisplay as BlocksProductCardDisplay, ProductDetailDisplay as BlocksProductDetailDisplay, ProductDetailInteractiveIslandProps as BlocksProductDetailIslandProps, ProductListDisplay as BlocksProductListDisplay, ProductListInteractiveIslandProps as BlocksProductListIslandProps, ProductVariantOptionDisplay as BlocksProductVariantOptionDisplay, ShopInteractiveIslandProps as BlocksShopIslandProps } from '../../../../blocks/src/contracts/index';
4
+ import type { AccordionIslandProps as BlocksAccordionIslandProps, BookingFormConfig as BlocksBookingFormConfig, BookingFormInteractiveIslandProps as BlocksBookingFormIslandProps, BookingFormService as BlocksBookingFormService, CarouselIslandProps as BlocksCarouselIslandProps, CourseRegistrationInteractiveIslandProps as BlocksCourseRegistrationIslandProps, CartDisplay as BlocksCartDisplay, CartInteractiveIslandProps as BlocksCartIslandProps, CartLineDisplay as BlocksCartLineDisplay, CheckoutDisplay as BlocksCheckoutDisplay, CheckoutInteractiveIslandProps as BlocksCheckoutIslandProps, EventCalendarInteractiveIslandProps as BlocksEventCalendarIslandProps, EventCombinedInteractiveIslandProps as BlocksEventCombinedIslandProps, EventDetailsIslandProps as BlocksEventDetailsIslandProps, EventDetailsOccurrenceContext as BlocksEventDetailsOccurrenceContext, LocationMapIslandProps as BlocksLocationMapIslandProps, EventRegistrationInteractiveIslandProps as BlocksEventRegistrationIslandProps, EventListingDisplay as BlocksEventListingDisplay, EventListingHydration as BlocksEventListingHydration, EventListingInteractiveIslandProps as BlocksEventListingIslandProps, PublicEvent as BlocksPublicEvent, FormInteractiveIslandProps as BlocksFormIslandProps, HeaderSectionIslandProps as BlocksHeaderSectionIslandProps, MembershipCardDisplay as BlocksMembershipCardDisplay, NewsletterFormInteractiveIslandProps as BlocksNewsletterFormIslandProps, PassCardDisplay as BlocksPassCardDisplay, PassesMembershipsDisplay as BlocksPassesMembershipsDisplay, ProductCardDisplay as BlocksProductCardDisplay, ProductDetailDisplay as BlocksProductDetailDisplay, ProductDetailInteractiveIslandProps as BlocksProductDetailIslandProps, ProductListDisplay as BlocksProductListDisplay, ProductListInteractiveIslandProps as BlocksProductListIslandProps, ProductVariantOptionDisplay as BlocksProductVariantOptionDisplay, ShopInteractiveIslandProps as BlocksShopIslandProps } from '../../../../blocks/src/contracts/index';
5
5
  export type ResponsiveSlidesToShow = {
6
6
  mobile?: number | string;
7
7
  tablet?: number | string;
@@ -135,37 +135,6 @@ export type BookingPricing = {
135
135
  options: readonly BookingPricingOption[];
136
136
  };
137
137
  export type PublicEvent = BlocksPublicEvent;
138
- export type CourseStatus = 'active' | 'draft' | 'cancelled';
139
- export type CourseVenue = {
140
- id: string;
141
- name: string;
142
- address: string | null;
143
- };
144
- export type CourseSession = {
145
- id: string;
146
- startsAt: string;
147
- endsAt: string;
148
- capacityOverride?: number | null;
149
- overrides?: Record<string, unknown> | null;
150
- };
151
- export type PublicCourse = {
152
- id: string;
153
- title: string;
154
- slug: string;
155
- description: unknown;
156
- enrollmentOpen: boolean;
157
- priceCents: number | null;
158
- currency: string;
159
- enrollmentCapacity: number | null;
160
- acceptsMemberships: boolean;
161
- status: CourseStatus;
162
- sessionsCount: number;
163
- enrolledCount: number;
164
- availableSpots: number | null;
165
- sessions: CourseSession[];
166
- venue: CourseVenue | null;
167
- contentEntryId: string | null;
168
- };
169
138
  export type PublicPassProduct = {
170
139
  id: string;
171
140
  productUseCase: 'event_pass' | 'appointment_package';
@@ -291,27 +260,8 @@ export type EventCalendarIslandProps = BlocksEventCalendarIslandProps;
291
260
  export type EventCombinedIslandProps = BlocksEventCombinedIslandProps;
292
261
  export type EventRegistrationIslandProps = BlocksEventRegistrationIslandProps;
293
262
  export type EventDetailsIslandProps = BlocksEventDetailsIslandProps;
294
- export type EventDetailsContentEntry = BlocksEventDetailsContentEntry;
295
263
  export type LocationMapIslandProps = BlocksLocationMapIslandProps;
296
264
  export type CourseRegistrationIslandProps = BlocksCourseRegistrationIslandProps;
297
- export type EventRegistrationContentEntry = EventDetailsContentEntry;
298
- export type CourseRegistrationContentEntry = {
299
- id: string;
300
- slug: string;
301
- contentTypeSlug: string;
302
- };
303
- export type CourseEntrySubrouteContext = {
304
- kind: 'course-run';
305
- run: {
306
- courseId: string;
307
- seriesId: string;
308
- runSlug: string;
309
- runName: string | null;
310
- };
311
- } | {
312
- kind: 'event-occurrence';
313
- occurrence: OccurrenceContext;
314
- };
315
265
  export type OccurrenceContext = BlocksEventDetailsOccurrenceContext;
316
266
  export type HeaderSectionIslandProps = BlocksHeaderSectionIslandProps;
317
267
  export type NewsletterPreset = 'emailOnly' | 'emailName' | 'emailFirstLast' | 'emailNameCompany';
@@ -1,6 +1,7 @@
1
1
  import type React from 'react';
2
2
  import type { EntrySubrouteContextData, OccurrenceContextData, SystemBlockContentByKind, SystemBlockShortKind, Theme, ThemeTokens } from '../contracts';
3
3
  import type { ResolveImageUrlContext } from '../contracts';
4
+ import type { EventPageSurfaceSubjectWire } from '../../../core/src/index';
4
5
  /**
5
6
  * Props passed to block override components.
6
7
  *
@@ -21,7 +22,7 @@ export type BlockOverrideProps<TContent = Record<string, unknown>, TData = Recor
21
22
  entrySubrouteContext?: EntrySubrouteContextData | null;
22
23
  contentEntry?: Record<string, unknown> | null;
23
24
  pageSurface?: Record<string, unknown> | null;
24
- subject?: unknown;
25
+ subject?: EventPageSurfaceSubjectWire | null;
25
26
  supabaseUrl?: string;
26
27
  imageResolveContext?: ResolveImageUrlContext;
27
28
  blockId: string | null;