@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
@@ -2,1125 +2,16 @@
2
2
  * Block API Client Types
3
3
  *
4
4
  * Request/response types for all client-side API calls from blocks.
5
+ *
6
+ * The declarations live in `./types/*`, grouped by the surface they belong to.
7
+ * This module stays the single import site for consumers.
5
8
  */
6
- import type { AppointmentResourceId } from "../../../../../core/src/index";
7
- import type { NewsletterSignupPublicDestinationRef } from "../../blocks/newsletter-signup-destination";
8
- export type DirectCheckoutCollectionOptionKind = "upfront" | "deferred_manual" | "flexible_balance";
9
- /** API key auth for SDK sites (bld_live_sk_*) */
10
- export type ApiKeyAuth = {
11
- type: "api-key";
12
- key: string;
13
- };
14
- /** Bearer token auth for preview mode or customer portal */
15
- export type BearerAuth = {
16
- type: "bearer";
17
- token: string;
18
- };
19
- /** No auth - public endpoints only */
20
- export type NoAuth = {
21
- type: "none";
22
- };
23
- /** Auth strategy for Block API Client */
24
- export type BlockApiAuth = ApiKeyAuth | BearerAuth | NoAuth;
25
- /** Configuration for creating a Block API Client */
26
- export interface BlockApiConfig {
27
- /** Dashboard API URL (e.g., https://dashboard.example.com/api) */
28
- baseUrl: string;
29
- /** Auth strategy */
30
- auth: BlockApiAuth;
31
- /**
32
- * Optional per-scope auth overrides.
33
- * Useful when a single page needs multiple auth modes (e.g. preview + portal).
34
- */
35
- authOverrides?: {
36
- /**
37
- * Auth override for customer portal endpoints (`/portal/*`).
38
- * Portal endpoints are authenticated via a portal session token and are not stage-aware.
39
- */
40
- portal?: BlockApiAuth;
41
- };
42
- /** Site ID for site-scoped endpoints */
43
- siteId?: string;
44
- /** Include draft content (adds stage=preview param) */
45
- isPreview?: boolean;
46
- }
47
- /** API success response wrapper */
48
- export interface ApiSuccessResponse<T> {
49
- success: true;
50
- data: T;
51
- }
52
- /** API error response */
53
- export interface ApiErrorResponse {
54
- success: false;
55
- error: {
56
- message: string;
57
- code?: string;
58
- };
59
- }
60
- /** Standard API response */
61
- export type ApiResponse<T> = ApiSuccessResponse<T> | ApiErrorResponse;
62
- export interface FormSubmitRequest {
63
- formId: string;
64
- data: Record<string, unknown>;
65
- meta?: {
66
- honeypot?: string;
67
- altchaSolution?: string | null;
68
- referer?: string;
69
- userAgent?: string;
70
- path?: string;
71
- };
72
- }
73
- export interface FormSubmitResponse {
74
- success: boolean;
75
- submissionId?: string;
76
- }
77
- export type { FormField } from "../components/multi-step/DynamicFormFields";
78
- import type { FormField } from "../components/multi-step/DynamicFormFields";
79
- export interface FormConfigResponse {
80
- form: {
81
- id: string;
82
- name: string;
83
- slug: string;
84
- settingsJson?: {
85
- type: "booking";
86
- serviceId?: string;
87
- serviceIds?: string[];
88
- resourceId?: string;
89
- requiresApproval?: boolean;
90
- successMessage?: string;
91
- };
92
- schemaJson?: {
93
- version: string;
94
- fields: FormField[];
95
- };
96
- settings?: {
97
- type: "booking";
98
- serviceId?: string;
99
- serviceIds?: string[];
100
- resourceId?: string;
101
- requiresApproval?: boolean;
102
- successMessage?: string;
103
- };
104
- schema?: {
105
- version: string;
106
- fields: FormField[];
107
- };
108
- };
109
- }
110
- export interface BookingSubmitRequest {
111
- formId: string;
112
- serviceId: string;
113
- resourceId?: string | null;
114
- startAt: string;
115
- endAt: string;
116
- customFields: Record<string, unknown>;
117
- timezone: string;
118
- discountCode?: string;
119
- selectedSlidingAmount?: number;
120
- selectedCollectionOptionKind?: "upfront" | "deferred_manual" | "instalment_plan" | "flexible_balance";
121
- altchaSolution?: string | null;
122
- successUrl?: string;
123
- cancelUrl?: string;
124
- }
125
- export type BookingPackageSubmitRequest = Omit<BookingSubmitRequest, "altchaSolution" | "cancelUrl" | "discountCode" | "selectedCollectionOptionKind" | "successUrl"> & {
126
- customerPassId: string;
127
- };
128
- export type BookingAppointmentSummary = {
129
- id: string;
130
- status: "confirmed" | "pending" | "cancelled";
131
- startAt: string;
132
- endAt: string;
133
- timezone: string;
134
- resourceName: string | null;
135
- };
136
- export type BookingCustomerSummary = {
137
- id: string;
138
- email: string | null;
139
- name: string | null;
140
- phone: string | null;
141
- };
142
- export type BookingSubmitResponse = {
143
- type: "booked";
144
- orderId: string;
145
- orderNumber: string;
146
- appointment: BookingAppointmentSummary;
147
- customer: BookingCustomerSummary;
148
- } | {
149
- type: "checkout_redirect";
150
- orderId: string;
151
- orderNumber: string;
152
- checkoutUrl: string;
153
- sessionId: string;
154
- appointment: BookingAppointmentSummary;
155
- customer: BookingCustomerSummary;
156
- };
157
- export type EligibleAppointmentPackage = {
158
- customerPassId: string;
159
- passId: string;
160
- passName: string;
161
- passDescription: string | null;
162
- creditsRemaining: number;
163
- creditsTotal: number;
164
- expiresAt: string | null;
165
- };
166
- export interface EligibleAppointmentPackagesResponse {
167
- packages: EligibleAppointmentPackage[];
168
- }
169
- export interface AppointmentBookingStatusRequest {
170
- siteId: string;
171
- sessionId: string;
172
- }
173
- export type AppointmentBookingStatusResponse = {
174
- appointmentId: string;
175
- appointmentStatus: "pending" | "confirmed" | "cancelled";
176
- resourceName: string | null;
177
- paymentStatus: "pending" | "completed" | "failed" | "cancelled" | "refunded" | "not_required";
178
- };
179
- export interface AvailableSlotsRequest {
180
- siteId: string;
181
- serviceId: string;
182
- startDate: string;
183
- endDate: string;
184
- timezone: string;
185
- resourceId?: string;
186
- }
187
- export interface TimeSlot {
188
- startAt: string;
189
- endAt: string;
190
- resourceId: AppointmentResourceId;
191
- }
192
- export interface AvailableSlotsResponse {
193
- slots: TimeSlot[];
194
- }
195
- export interface WeeklySlotAvailabilityRequest {
196
- siteId: string;
197
- serviceId: string;
198
- resourceId?: string;
199
- horizonWeeks?: number;
200
- timezone: string;
201
- }
202
- export interface WeeklySlotAvailabilityOption {
203
- id: string;
204
- resourceId: string;
205
- weekday: number;
206
- weekdayLabel: string;
207
- startTime: string;
208
- endTime: string;
209
- nextDate: string;
210
- availableWeeks: number;
211
- }
212
- export interface WeeklySlotAvailabilityResponse {
213
- slots: WeeklySlotAvailabilityOption[];
214
- horizonWeeks: number;
215
- timezone: string;
216
- startDate: string;
217
- endDate: string;
218
- }
219
- export interface AvailableDatesRequest {
220
- siteId: string;
221
- serviceId: string;
222
- startDate: string;
223
- endDate: string;
224
- timezone: string;
225
- resourceId?: string;
226
- }
227
- export interface AvailableDatesResponse {
228
- dates: string[];
229
- hasMore: boolean;
230
- nextStartDate?: string;
231
- startDate: string;
232
- endDate: string;
233
- }
234
- export interface BookingService {
235
- id: string;
236
- siteId: string;
237
- title: string;
238
- description?: string;
239
- durationMinutes?: number;
240
- pricing?: import("../nodes/booking-form.state").BookingFormServicePricing;
241
- priceAmount?: number | null;
242
- priceCurrency?: string | null;
243
- paymentTerms?: import("../../blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
244
- }
245
- export interface BookingServicesRequest {
246
- siteId: string;
247
- ids?: string[];
248
- }
249
- export interface BookingServicesResponse {
250
- services: BookingService[];
251
- }
252
- export interface BookingServiceResponse {
253
- service: BookingService;
254
- }
255
- export interface BookingResource {
256
- id: string;
257
- label: string;
258
- }
259
- export interface BookingResourcesRequest {
260
- siteId: string;
261
- serviceId: string;
262
- }
263
- export interface BookingResourcesResponse {
264
- options: BookingResource[];
265
- }
266
- import type { PublicEvent as _PublicEvent, EventVenue as _EventVenue, PricingType as _PricingType, AccessRestriction as _AccessRestriction, PublicEventTicketType as _PublicEventTicketType, PublicEventTicketTypeAvailability as _PublicEventTicketTypeAvailability } from "../../blocks/events/shared/types";
267
- import type { EventScheduleScope, EventSurfaceScope } from "../../blocks/events/shared/filtering";
268
- export type PublicEvent = _PublicEvent;
269
- export type EventVenue = _EventVenue;
270
- export type PricingType = _PricingType;
271
- export type AccessRestriction = _AccessRestriction;
272
- export type PublicEventTicketType = _PublicEventTicketType;
273
- export type PublicEventTicketTypeAvailability = _PublicEventTicketTypeAvailability;
274
- export interface EligibilityEventTicketType {
275
- id: string;
276
- name: string;
277
- description: string | null;
278
- priceAmount: number;
279
- isActive: boolean;
280
- sortOrder: number;
281
- capacityMode: "limited" | "unlimited";
282
- capacityLimit: number | null;
283
- attendanceScope?: 'in_person' | 'online' | 'both';
284
- saleStartsAt: string | null;
285
- saleEndsAt: string | null;
286
- availability: PublicEventTicketTypeAvailability;
287
- }
288
- export interface PublicEventsRequest {
289
- siteId: string;
290
- from?: string;
291
- to?: string;
292
- /** Cursor: only return events after this startsAt */
293
- afterStartsAt?: string;
294
- /** Cursor: tie-breaker for events with same startsAt (occurrenceId) */
295
- afterId?: string;
296
- limit?: number;
297
- stage?: "preview" | "published";
298
- /** Filter by kind */
299
- kind?: "all" | "courses" | "events";
300
- /** Semantic event surface scope */
301
- eventSurface?: EventSurfaceScope;
302
- /** Filter by event presets (comma-separated) */
303
- eventPresets?: string;
304
- /** Filter by event schedule cadence */
305
- scheduleScope?: EventScheduleScope;
306
- /** Filter by category IDs (comma-separated) */
307
- categoryIds?: string;
308
- /** Filter by venue ID */
309
- venueId?: string;
310
- /** Filter by staff member ID */
311
- staffMemberId?: string;
312
- /** Scope results to a single series (by linked content entry ID) */
313
- entryId?: string;
314
- /** Scope results to a single series (by series ID) */
315
- seriesId?: string;
316
- /** Ensure this occurrence is included even if outside date window */
317
- includeOccurrenceId?: string;
318
- /** Response detail level for list-style blocks */
319
- detailLevel?: 'full' | 'listing';
320
- }
321
- export interface PublicEventsResponse {
322
- success: boolean;
323
- data: PublicEvent[];
324
- }
325
- export interface EventFilterCategory {
326
- id: string;
327
- name: string;
328
- identifier: string | null;
329
- color: string | null;
330
- /** Count of upcoming events in this category */
331
- upcomingCount: number;
332
- }
333
- export interface EventFilterVenue {
334
- id: string;
335
- name: string;
336
- /** Count of upcoming events at this venue */
337
- upcomingCount: number;
338
- }
339
- export interface EventFilterStaffMember {
340
- id: string;
341
- name: string;
342
- /** Count of upcoming events for this staff member */
343
- upcomingCount: number;
344
- }
345
- export interface EventFilterLabels {
346
- courseOption: string;
347
- }
348
- export interface EventFiltersResponse {
349
- categories: EventFilterCategory[];
350
- venues: EventFilterVenue[];
351
- staffMembers: EventFilterStaffMember[];
352
- labels: EventFilterLabels;
353
- }
354
- export type PaymentMethod = "free" | "pass" | "membership" | "stripe" | "pass_bundle" | "membership_bundle";
355
- /**
356
- * Guest details for additional attendees
357
- */
358
- export interface EventRegisterGuest {
359
- name: string;
360
- email?: string | null;
361
- phone?: string | null;
362
- }
363
- export interface EventTicketSelectionRequest {
364
- ticketTypeId?: string | null;
365
- quantity: number;
366
- }
367
- export interface EventTicketLineSummary {
368
- ticketTypeId: string | null;
369
- label: string;
370
- description: string | null;
371
- quantity: number;
372
- unitPriceCents: number;
373
- subtotalCents: number;
374
- currency: string;
375
- }
376
- export interface EventRegisterRequest {
377
- siteId: string;
378
- occurrenceId: string;
379
- attendanceMode?: 'in_person' | 'online';
380
- ticketSelections: EventTicketSelectionRequest[];
381
- selectedSlidingAmount?: number;
382
- email: string;
383
- name: string;
384
- phone?: string;
385
- notes?: string;
386
- altchaSolution?: string | null;
387
- stage?: "preview" | "published";
388
- paymentMethod?: PaymentMethod;
389
- customerPassId?: string;
390
- customerMembershipId?: string;
391
- /** Product ID for bundle purchases (pass or membership ID to buy) */
392
- bundleProductId?: string;
393
- claimToken?: string;
394
- /** Guest details when "collect all attendee details" is enabled */
395
- guests?: EventRegisterGuest[];
396
- }
397
- export type EventRegisterResponse = {
398
- success: boolean;
399
- attendeeId: string;
400
- status: "confirmed";
401
- paymentMethod: PaymentMethod;
402
- pendingPayment: boolean;
403
- passCreditsUsed?: number;
404
- alreadyRegistered?: boolean;
405
- ticketLines: EventTicketLineSummary[];
406
- message?: string;
407
- } | {
408
- success: boolean;
409
- attendeeId: string;
410
- status: "waitlist";
411
- waitlistPosition: number | null;
412
- alreadyRegistered?: boolean;
413
- message?: string;
414
- };
415
- /** Type of checkout for event payment */
416
- export type EventCheckoutType = "event" | "pass_bundle" | "membership_bundle";
417
- export interface EventCheckoutRequest {
418
- siteId: string;
419
- attendeeId: string;
420
- /** Type of checkout: 'event' for direct payment, or bundle types */
421
- checkoutType?: EventCheckoutType;
422
- /** Product ID for bundle purchases (pass or membership ID) */
423
- productId?: string;
424
- /** Optional booking discount code (applies only to Stripe/card flows) */
425
- discountCode?: string;
426
- collectionOptionKind?: DirectCheckoutCollectionOptionKind;
427
- successUrl: string;
428
- cancelUrl: string;
429
- }
430
- export interface EventCheckoutResponse {
431
- checkoutUrl: string | null;
432
- sessionId: string | null;
433
- bypassed: boolean;
434
- }
435
- export interface EligiblePass {
436
- customerPassId: string;
437
- passName: string;
438
- creditsRemaining: number;
439
- }
440
- export interface EligibleMembership {
441
- customerMembershipId: string;
442
- membershipName: string;
443
- }
444
- export interface AvailablePass {
445
- id: string;
446
- name: string;
447
- description: string | null;
448
- price: number;
449
- currency: string;
450
- creditsTotal: number;
451
- pricePerCredit: number;
452
- validDays: number | null;
453
- }
454
- export interface AvailableMembership {
455
- id: string;
456
- name: string;
457
- description: string | null;
458
- price: number;
459
- currency: string;
460
- interval: "month" | "year";
461
- }
462
- export interface EligibilityCheckRequest {
463
- siteId: string;
464
- occurrenceId: string;
465
- attendanceMode?: 'in_person' | 'online';
466
- ticketSelections: EventTicketSelectionRequest[];
467
- selectedSlidingAmount?: number;
468
- email: string;
469
- }
470
- export interface EligibilityCheckResponse {
471
- customerExists: boolean;
472
- eligibility: {
473
- isFull: boolean;
474
- waitlistEnabled: boolean;
475
- canJoinWaitlist: boolean;
476
- membership: EligibleMembership | null;
477
- passes: EligiblePass[];
478
- requiresPayment: boolean;
479
- pricingMode?: "single" | "ticket_types" | "sliding_scale";
480
- selectedTicketTypeId?: string | null;
481
- ticketLines: EventTicketLineSummary[];
482
- ticketTypes?: EligibilityEventTicketType[];
483
- eventPrice: number | null;
484
- eventPriceCurrency: string | null;
485
- eventAcceptsPasses: boolean;
486
- eventAcceptsMemberships: boolean;
487
- requiresAuthForPasses: boolean;
488
- requiresAuthForMemberships: boolean;
489
- availableForPurchase: {
490
- passes: AvailablePass[];
491
- memberships: AvailableMembership[];
492
- };
493
- };
494
- }
495
- /** Payment status values returned by the backend */
496
- export type PaymentStatus = "pending" | "completed" | "failed" | "not_required" | "refunded";
497
- /** Attendee status values returned by the backend */
498
- export type AttendeeStatus = "confirmed" | "waitlist" | "cancelled";
499
- export interface EventRegistrationStatusRequest {
500
- siteId: string;
501
- attendeeId: string;
502
- }
503
- export interface EventRegistrationStatusResponse {
504
- paymentStatus: PaymentStatus;
505
- attendeeStatus: AttendeeStatus;
506
- waitlistPosition: number | null;
507
- }
508
- export type CoursePaymentMethod = "free" | "membership" | "stripe";
509
- export interface CourseEnrollRequest {
510
- siteId: string;
511
- courseId: string;
512
- pricingOptionId?: string;
513
- selectedSlidingAmount?: number;
514
- email: string;
515
- name: string;
516
- phone?: string;
517
- formData?: Record<string, unknown>;
518
- altchaSolution?: string | null;
519
- stage?: "preview" | "published";
520
- paymentMethod?: Exclude<CoursePaymentMethod, "stripe">;
521
- customerMembershipId?: string;
522
- claimToken?: string;
523
- }
524
- interface CourseEnrollBaseResponse {
525
- waitlistPosition?: number | null;
526
- courseTitle: string;
527
- sessionsCount: number;
528
- message: string;
529
- }
530
- export interface CourseEnrollSuccessResponse extends CourseEnrollBaseResponse {
531
- status: "enrolled";
532
- enrollmentId: string;
533
- paymentMethod: CoursePaymentMethod;
534
- pendingPayment: boolean;
535
- }
536
- export interface CourseWaitlistResponse extends CourseEnrollBaseResponse {
537
- status: "waitlist";
538
- paymentMethod: "free";
539
- pendingPayment: false;
540
- }
541
- export type CourseEnrollResponse = CourseEnrollSuccessResponse | CourseWaitlistResponse;
542
- export interface CourseEligibilityCheckRequest {
543
- siteId: string;
544
- courseId: string;
545
- }
546
- export interface CourseEligibilityCheckResponse {
547
- courseId: string;
548
- canEnroll: boolean;
549
- canJoinWaitlist: boolean;
550
- reason?: string;
551
- availableSpots: number | null;
552
- isFull: boolean;
553
- isOnWaitlist: boolean;
554
- waitlistEnabled: boolean;
555
- price: {
556
- cents: number | null;
557
- currency: string;
558
- };
559
- paymentOptions: {
560
- free: boolean;
561
- membership: boolean;
562
- stripe: boolean;
563
- };
564
- eligibleMemberships?: Array<{
565
- customerMembershipId: string;
566
- membershipName: string;
567
- }>;
568
- }
569
- export interface CourseCheckoutRequest {
570
- siteId: string;
571
- courseId: string;
572
- pricingOptionId?: string;
573
- selectedSlidingAmount?: number;
574
- email: string;
575
- name: string;
576
- phone?: string;
577
- formData?: Record<string, unknown>;
578
- altchaSolution?: string | null;
579
- /** Optional booking discount code (applies only to Stripe/card flows) */
580
- discountCode?: string;
581
- successUrl: string;
582
- cancelUrl: string;
583
- claimToken?: string;
584
- }
585
- export type WaitlistClaimSubject = {
586
- kind: "event_occurrence";
587
- occurrenceId: string;
588
- attendanceMode: 'in_person' | 'online';
589
- } | {
590
- kind: "course";
591
- courseId: string;
592
- };
593
- export interface ResolveWaitlistClaimRequest {
594
- siteId: string;
595
- claimToken: string;
596
- }
597
- export interface ResolveWaitlistClaimResponse {
598
- subject: WaitlistClaimSubject;
599
- expiresAt: string;
600
- customer: {
601
- email: string;
602
- name: string;
603
- phone: string | null;
604
- };
605
- prefill: {
606
- email: string;
607
- name: string;
608
- phone: string | null;
609
- notes: string | null;
610
- guests: Array<{
611
- name: string;
612
- email?: string | null;
613
- phone: string | null;
614
- }>;
615
- };
616
- }
617
- export interface CourseCheckoutResponse {
618
- checkoutUrl: string | null;
619
- sessionId: string | null;
620
- enrollmentId: string;
621
- bypassed: boolean;
622
- }
623
- export type DiscountContext = {
624
- type: "event";
625
- eventSeriesId: string;
626
- eventCategoryId: string | null;
627
- ticketsCount?: number;
628
- } | {
629
- type: "appointment";
630
- serviceId: string;
631
- } | {
632
- type: "course";
633
- courseId: string;
634
- } | {
635
- type: "pass";
636
- passId: string;
637
- } | {
638
- type: "membership";
639
- membershipId: string;
640
- } | {
641
- type: "product";
642
- productId: string;
643
- productCategoryId: string | null;
644
- };
645
- export interface DiscountsAvailableRequest {
646
- siteId: string;
647
- context: DiscountContext;
648
- subtotalCents?: number;
649
- }
650
- export interface AutoAppliedDiscountPreview {
651
- id: string;
652
- code: string;
653
- publicLabel: string;
654
- description: string | null;
655
- discountType: "percent" | "fixed";
656
- discountPercent: number | null;
657
- discountAmountCents: number | null;
658
- computedAmountCents: number;
659
- }
660
- export type DiscountsAvailableResponse = Readonly<{
661
- type: "none";
662
- }> | Readonly<{
663
- type: "manual";
664
- manualCodeEntryAllowed: true;
665
- }> | Readonly<{
666
- type: "auto";
667
- manualCodeEntryAllowed: false;
668
- autoAppliedDiscount: AutoAppliedDiscountPreview;
669
- }> | Readonly<{
670
- type: "auto_and_manual";
671
- manualCodeEntryAllowed: true;
672
- autoAppliedDiscount: AutoAppliedDiscountPreview;
673
- }>;
674
- export declare function discountAvailabilityHasDiscounts(availability: DiscountsAvailableResponse): boolean;
675
- export declare function discountAvailabilityAllowsManualEntry(availability: DiscountsAvailableResponse): boolean;
676
- export declare function getAutoAppliedDiscountPreview(availability: DiscountsAvailableResponse): AutoAppliedDiscountPreview | null;
677
- export interface DiscountApplyLine {
678
- context: DiscountContext;
679
- subtotalCents: number;
680
- currency: string;
681
- }
682
- export interface DiscountApplyRequest {
683
- siteId: string;
684
- discountCode: string;
685
- customerEmail: string;
686
- lines: DiscountApplyLine[];
687
- }
688
- export type DiscountApplyRejectedReason = "invalid_or_not_applicable" | "unavailable" | "unknown";
689
- export type DiscountApplyResponse = {
690
- type: "applied";
691
- code: string;
692
- publicLabel: string;
693
- description: string | null;
694
- discountCents: number;
695
- subtotalCents: number;
696
- totalAfterDiscountCents: number;
697
- currency: string;
698
- } | {
699
- type: "rejected";
700
- reason: DiscountApplyRejectedReason;
701
- message: string;
702
- };
703
- export interface CourseRegistrationStatusRequest {
704
- siteId: string;
705
- sessionId: string;
706
- }
707
- export interface CourseRegistrationStatusResponse {
708
- enrollmentId: string;
709
- courseId: string;
710
- courseTitle: string;
711
- status: "pending_payment" | "enrolled" | "waitlist" | "cancelled" | "completed";
712
- paymentMethod: CoursePaymentMethod | null;
713
- paymentStatus: PaymentStatus | null;
714
- }
715
- export interface PublicProductVariant {
716
- id: string;
717
- title: string;
718
- sku: string | null;
719
- priceCents: number;
720
- stockQuantity: number | null;
721
- soldOut: boolean;
722
- }
723
- export interface PublicProduct {
724
- id: string;
725
- contentEntryId: string | null;
726
- title: string;
727
- slug: string;
728
- path: string | null;
729
- status: "draft" | "active";
730
- priceCents: number;
731
- currency: string;
732
- productType: "physical" | "digital";
733
- requiresShipping: boolean;
734
- hasVariants: boolean;
735
- trackInventory: boolean;
736
- soldOut: boolean;
737
- category: {
738
- id: string;
739
- name: string;
740
- slug: string;
741
- } | null;
742
- summary: string | null;
743
- badges: string[];
744
- ctaLabel: string | null;
745
- body: unknown;
746
- gallery: Array<{
747
- url: string;
748
- alt: string | null;
749
- }>;
750
- variants: PublicProductVariant[];
751
- }
752
- export interface PublicProductsResponse {
753
- products: PublicProduct[];
754
- }
755
- export interface ShopCheckoutRequest {
756
- siteId: string;
757
- productType: "pass" | "membership";
758
- productId: string;
759
- customerEmail: string;
760
- customerName: string;
761
- /** Optional booking discount code (applies only to Stripe/card flows) */
762
- discountCode?: string;
763
- successUrl: string;
764
- cancelUrl: string;
765
- confirmDuplicate?: boolean;
766
- }
767
- export type ShopCheckoutResponse = {
768
- type: "redirect";
769
- checkoutUrl: string;
770
- sessionId: string;
771
- } | {
772
- type: "bypassed";
773
- sessionId: null;
774
- } | {
775
- type: "duplicate_membership_warning";
776
- message: string;
777
- existingMembership: {
778
- id: string;
779
- name: string;
780
- expiresAt: string | null;
781
- };
782
- };
783
- export type ShopDuplicateMembershipWarning = Extract<ShopCheckoutResponse, {
784
- type: "duplicate_membership_warning";
785
- }>;
786
- export type UnifiedCheckoutItem = {
787
- type: "course_enrollment";
788
- courseId: string;
789
- pricingOptionId?: string;
790
- selectedSlidingAmount?: number;
791
- attendeeInfo: {
792
- email: string;
793
- name: string;
794
- formData?: Record<string, unknown>;
795
- };
796
- } | {
797
- type: "product";
798
- productId: string;
799
- variantId?: string;
800
- quantity: number;
801
- } | {
802
- type: "pass";
803
- passId: string;
804
- };
805
- export interface UnifiedCheckoutRequest {
806
- siteId: string;
807
- mode: "one_time";
808
- items: UnifiedCheckoutItem[];
809
- customer: {
810
- email: string;
811
- name: string;
812
- };
813
- discountCode?: string;
814
- successUrl: string;
815
- cancelUrl: string;
816
- }
817
- export type UnifiedCheckoutResponse = {
818
- type: "redirect";
819
- checkoutUrl: string;
820
- sessionId: string;
821
- orderId: string | null;
822
- orderNumber: string | null;
823
- } | {
824
- type: "bypassed";
825
- orderId: string | null;
826
- orderNumber: string | null;
827
- };
828
- export interface PublicGiftCardOffer {
829
- id: string;
830
- kind: "gift_card";
831
- title: string;
832
- description: string | null;
833
- sortOrder: number;
834
- giftCard: {
835
- fixedDenominations: number[];
836
- customAmountEnabled: boolean;
837
- customAmountMinCents: number;
838
- customAmountMaxCents: number;
839
- };
840
- voucher: null;
841
- }
842
- export interface PublicVoucherOffer {
843
- id: string;
844
- kind: "voucher";
845
- title: string;
846
- description: string | null;
847
- sortOrder: number;
848
- giftCard: null;
849
- voucher: {
850
- purchaseAmountCents: number;
851
- };
852
- }
853
- export interface PublicGiftingOffersResponse {
854
- currency: string;
855
- giftCards: PublicGiftCardOffer[];
856
- vouchers: PublicVoucherOffer[];
857
- }
858
- export interface CreateGiftingCheckoutRequest {
859
- siteId: string;
860
- offerId: string;
861
- purchaserName?: string | null;
862
- purchaserEmail: string;
863
- recipientName?: string | null;
864
- recipientEmail: string;
865
- message?: string | null;
866
- amountCents?: number | null;
867
- sendOnDate?: string | null;
868
- successUrl: string;
869
- cancelUrl: string;
870
- }
871
- export interface CreateGiftingCheckoutResponse {
872
- checkoutUrl: string;
873
- sessionId: string;
874
- }
875
- export interface ClaimGiftCardRequest {
876
- siteId: string;
877
- email: string;
878
- token?: string | null;
879
- code?: string | null;
880
- }
881
- export interface ClaimGiftCardResponse {
882
- customerId: string;
883
- amountCents: number;
884
- currency: string;
885
- }
886
- export type { AppointmentBookingQuestionsTaskDetail, BookingQuestionsTaskDetail, BookingQuestionsAnswerValue, BookingQuestionsDocumentAnswerValue, BookingQuestionsField, BookingQuestionsFieldOption, BookingQuestionsSection, BeforeYouComeTaskSummary, CustomerProfile, CustomerOrderInstalmentPlan, CustomerOrderInstalmentPlanStatus, CustomerOrderInstalmentRow, CustomerOrderInstalmentStatus, CustomerOrder, CustomerOrderFilter, CustomerOrderItem, CustomerOrderPaymentState, CustomerOrderRefund, CustomerPass, CustomerPassCreditHistoryEntry, CustomerMembership, EventTicketBreakdownLine, CustomerEventRegistration, CustomerCourseEnrollment, CustomerAppointment, EnabledModules, EventGuest, PortalCredit, PortalCreditSummary, PortalCreditTransaction, PortalDigitalProduct, PortalDigitalProductFile, } from "../../../portal/types";
887
- import type { EventGuest as EventGuestType, EventTicketBreakdownLine } from "../../../portal/types";
888
- /**
889
- * Full response from GET /api/portal/me including profile and enabled modules
890
- */
891
- export interface PortalMeResponse {
892
- profile: import("../../../portal/types").CustomerProfile;
893
- modules: import("../../../portal/types").EnabledModules;
894
- }
895
- export interface PortalMeUpdateRequest {
896
- name?: string;
897
- phone?: string | null;
898
- }
899
- export interface PortalEventTicket {
900
- ticketUrl: string;
901
- qrImageUrl: string;
902
- fallbackCode: string;
903
- registration: {
904
- id: string;
905
- eventTitle: string;
906
- seriesName: string | null;
907
- startsAt: string;
908
- endsAt: string;
909
- timeZone: string;
910
- venueName: string | null;
911
- venueAddress: string | null;
912
- ticketsCount: number;
913
- ticketLines: EventTicketBreakdownLine[];
914
- ticketBreakdown: string | null;
915
- };
916
- }
917
- export interface MagicLinkRequest {
918
- siteId: string;
919
- email: string;
920
- /** URL to redirect to after magic link verification. Required by server. */
921
- redirectUrl: string;
922
- }
923
- export interface PortalCreditResponse {
924
- credit: import("../../../portal/types").PortalCredit | null;
925
- }
926
- export interface PortalOrdersResponse {
927
- orders: import("../../../portal/types").CustomerOrder[];
928
- }
929
- export interface PortalOrderCheckoutRequest {
930
- successUrl: string;
931
- cancelUrl: string;
932
- amountCents?: number;
933
- }
934
- export interface PortalOrderCheckoutResponse {
935
- checkoutUrl: string;
936
- sessionId: string;
937
- }
938
- export interface PortalDigitalProductsResponse {
939
- tabLabel: string;
940
- products: import("../../../portal/types").PortalDigitalProduct[];
941
- }
942
- export interface PortalDigitalProductAccessResponse {
943
- product: import("../../../portal/types").PortalDigitalProduct;
944
- guardedHref: string | null;
945
- }
946
- export interface PortalDigitalProductDownloadUrlResponse {
947
- signedUrl: string;
948
- filename: string;
949
- }
950
- export interface PortalAppointmentBookingQuestionsResponse {
951
- task: import("../../../portal/types").BookingQuestionsTaskDetail;
952
- }
953
- export interface PortalUpdateAppointmentBookingQuestionsRequest {
954
- answers: Record<string, unknown>;
955
- }
956
- export interface PortalUpdateAppointmentBookingQuestionsResponse {
957
- task: import("../../../portal/types").BookingQuestionsTaskDetail;
958
- }
959
- export interface PortalCreateAppointmentBookingQuestionsUploadUrlRequest {
960
- fieldId: string;
961
- filename: string;
962
- bytes: number;
963
- }
964
- export interface PortalCreateAppointmentBookingQuestionsUploadUrlResponse {
965
- uploadId: string;
966
- signedUrl: string;
967
- }
968
- export interface PortalFinalizeAppointmentBookingQuestionsUploadRequest {
969
- fieldId: string;
970
- uploadId: string;
971
- }
972
- export interface PortalFinalizeAppointmentBookingQuestionsUploadResponse {
973
- answer: import("../../../portal/types").BookingQuestionsDocumentAnswerValue;
974
- }
975
- export interface PortalEventBookingQuestionsResponse {
976
- task: import("../../../portal/types").BookingQuestionsTaskDetail;
977
- }
978
- export interface PortalUpdateEventBookingQuestionsRequest {
979
- answers: Record<string, unknown>;
980
- }
981
- export interface PortalUpdateEventBookingQuestionsResponse {
982
- task: import("../../../portal/types").BookingQuestionsTaskDetail;
983
- }
984
- export interface PortalCreateEventBookingQuestionsUploadUrlRequest {
985
- fieldId: string;
986
- filename: string;
987
- bytes: number;
988
- }
989
- export interface PortalCreateEventBookingQuestionsUploadUrlResponse {
990
- uploadId: string;
991
- signedUrl: string;
992
- }
993
- export interface PortalFinalizeEventBookingQuestionsUploadRequest {
994
- fieldId: string;
995
- uploadId: string;
996
- }
997
- export interface PortalFinalizeEventBookingQuestionsUploadResponse {
998
- answer: import("../../../portal/types").BookingQuestionsDocumentAnswerValue;
999
- }
1000
- export interface PortalCourseBookingQuestionsResponse {
1001
- task: import("../../../portal/types").BookingQuestionsTaskDetail;
1002
- }
1003
- export interface PortalUpdateCourseBookingQuestionsRequest {
1004
- answers: Record<string, unknown>;
1005
- }
1006
- export interface PortalUpdateCourseBookingQuestionsResponse {
1007
- task: import("../../../portal/types").BookingQuestionsTaskDetail;
1008
- }
1009
- export interface PortalCreateCourseBookingQuestionsUploadUrlRequest {
1010
- fieldId: string;
1011
- filename: string;
1012
- bytes: number;
1013
- }
1014
- export interface PortalCreateCourseBookingQuestionsUploadUrlResponse {
1015
- uploadId: string;
1016
- signedUrl: string;
1017
- }
1018
- export interface PortalFinalizeCourseBookingQuestionsUploadRequest {
1019
- fieldId: string;
1020
- uploadId: string;
1021
- }
1022
- export interface PortalFinalizeCourseBookingQuestionsUploadResponse {
1023
- answer: import("../../../portal/types").BookingQuestionsDocumentAnswerValue;
1024
- }
1025
- export interface UpdateEventGuestsRequest {
1026
- guests: Array<{
1027
- name: string;
1028
- phone?: string | null;
1029
- }>;
1030
- }
1031
- export interface EventGuestsResponse {
1032
- guests: EventGuestType[];
1033
- }
1034
- export interface PortalCancelEventRegistrationRequest {
1035
- confirmCancelWithoutRefund?: boolean;
1036
- }
1037
- export interface PortalCancelCourseEnrollmentRequest {
1038
- confirmCancelWithoutRefund?: boolean;
1039
- }
1040
- export interface PortalRescheduleAppointmentRequest {
1041
- startAt: string;
1042
- endAt: string;
1043
- resourceId: string;
1044
- }
1045
- export interface PortalRescheduleAppointmentResponse {
1046
- appointment: {
1047
- id: string;
1048
- status: string;
1049
- startAt: string;
1050
- endAt: string;
1051
- resourceId: string;
1052
- };
1053
- }
1054
- export interface PortalCancelAppointmentRequest {
1055
- confirmCancelWithoutRefund?: boolean;
1056
- }
1057
- export interface PortalCancelCourseEnrollmentResult {
1058
- cancelled: boolean;
1059
- refunded: boolean;
1060
- refund?: PortalRefundInfo;
1061
- requiresCancelWithoutRefundConfirmation?: boolean;
1062
- message: string;
1063
- }
1064
- export interface PortalRefundInfo {
1065
- status: "succeeded" | "failed" | "skipped";
1066
- amountCents: number | null;
1067
- currency: string | null;
1068
- paymentLast4: string | null;
1069
- stripeRefundId: string | null;
1070
- errorMessage?: string;
1071
- errorCode?: string;
1072
- }
1073
- export interface PortalCancelEventRegistrationResult {
1074
- cancelled: boolean;
1075
- refunded: boolean;
1076
- refund?: PortalRefundInfo;
1077
- requiresCancelWithoutRefundConfirmation?: boolean;
1078
- message: string;
1079
- }
1080
- export interface PortalCancelAppointmentResult {
1081
- cancelled: boolean;
1082
- refunded: boolean;
1083
- refund?: PortalRefundInfo;
1084
- requiresCancelWithoutRefundConfirmation?: boolean;
1085
- failedToRestoreCredit?: boolean;
1086
- message: string;
1087
- }
1088
- export interface PortalTransferEventRegistrationRequest {
1089
- toEmail: string;
1090
- toName?: string;
1091
- }
1092
- export interface PortalTransferEventRegistrationResult {
1093
- transferred: boolean;
1094
- message: string;
1095
- transferId?: string;
1096
- }
1097
- export interface PortalCancelMembershipAtPeriodEndResult {
1098
- cancelled: boolean;
1099
- message: string;
1100
- }
1101
- export type NewsletterSubscribeTarget = Readonly<{
1102
- tag: "legacy_riverbank_list";
1103
- listId: string;
1104
- destinationRef?: NewsletterSignupPublicDestinationRef;
1105
- }> | Readonly<{
1106
- tag: "published_block_ref";
1107
- destinationRef: NewsletterSignupPublicDestinationRef;
1108
- }>;
1109
- export interface NewsletterSubscribeRequest {
1110
- email: string;
1111
- firstName?: string;
1112
- lastName?: string;
1113
- name?: string;
1114
- company?: string;
1115
- phone?: string;
1116
- target: NewsletterSubscribeTarget;
1117
- tags?: string[];
1118
- meta?: {
1119
- honeypot?: string;
1120
- altchaSolution?: string | null;
1121
- };
1122
- }
1123
- export interface NewsletterSubscribeResponse {
1124
- subscribed: boolean;
1125
- requiresConfirmation?: boolean;
1126
- }
9
+ export * from "./types/core";
10
+ export * from "./types/forms";
11
+ export * from "./types/appointments";
12
+ export * from "./types/events";
13
+ export * from "./types/courses";
14
+ export * from "./types/discounts";
15
+ export * from "./types/shop";
16
+ export * from "./types/portal";
17
+ export * from "./types/newsletter";