@riverbankcms/sdk 0.151.0 → 0.153.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 (316) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/{EventEmbeddedCheckoutStep-BBHbM22D.mjs → EventEmbeddedCheckoutStep-veN-QiAE.mjs} +10 -9
  3. package/dist/{PreviewEditorSidebar-BHplI9HE.mjs → PreviewEditorSidebar-jI_4DTZY.mjs} +4 -3
  4. package/dist/{PreviewEditorUI-DuyN8nsD.mjs → PreviewEditorUI-ORkVZhfu.mjs} +5 -4
  5. package/dist/{SdkPreviewModeRuntime-CR5ypwxJ.mjs → SdkPreviewModeRuntime-DaNqevI1.mjs} +341 -164
  6. package/dist/{SiteChromeCustomizeContext-D5t6joF_.mjs → SiteChromeCustomizeContext-CgNuBHC0.mjs} +27124 -39230
  7. package/dist/ThemedButton-X2UxhW6F.mjs +16525 -0
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +52 -52
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +2357 -7859
  10. package/dist/_dts/api/src/bookingOperations.d.ts +5 -3
  11. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +4 -0
  12. package/dist/_dts/api/src/communications.d.ts +19 -5
  13. package/dist/_dts/api/src/endpoints.d.ts +7 -0
  14. package/dist/_dts/api/src/index.d.ts +1 -1
  15. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  16. package/dist/_dts/api/src/navigation/types.d.ts +7 -0
  17. package/dist/_dts/api/src/navigation.d.ts +1 -1
  18. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +10 -1
  19. package/dist/_dts/api/src/sdkThemeWire.d.ts +186 -1434
  20. package/dist/_dts/api/src/shared-contracts.d.ts +10 -0
  21. package/dist/_dts/api/src/siteAssets.d.ts +1 -0
  22. package/dist/_dts/api/src/siteInfrastructure.d.ts +2 -1
  23. package/dist/_dts/api/src/teamMembers.d.ts +2 -27
  24. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +3 -13
  25. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
  26. package/dist/_dts/blocks/src/definitions.d.ts +1 -1
  27. package/dist/_dts/blocks/src/index.d.ts +2 -0
  28. package/dist/_dts/blocks/src/lib/media.d.ts +1 -0
  29. package/dist/_dts/blocks/src/lib/picsum.d.ts +2 -2
  30. package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +1 -0
  31. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -1
  32. package/dist/_dts/blocks/src/primitives/content/utils/sanitizeHref.d.ts +1 -1
  33. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +4 -4
  34. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
  35. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +212 -804
  36. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +7 -2
  37. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +45 -45
  39. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -0
  40. package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +4 -7
  41. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  42. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +6 -6
  43. package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +377 -1
  44. package/dist/_dts/blocks/src/system/helpers/backgroundMedia.d.ts +6 -2
  45. package/dist/_dts/blocks/src/system/helpers/normalizeMailingListBlockContent.d.ts +2 -0
  46. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -3
  47. package/dist/_dts/blocks/src/system/layout/repeaterGrid.d.ts +12 -5
  48. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +3 -3
  49. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
  50. package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -0
  51. package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
  52. package/dist/_dts/blocks/src/system/registry.d.ts +14 -2
  53. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -5
  54. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +2 -0
  55. package/dist/_dts/blocks/src/system/runtime/api/schemas/events.d.ts +971 -0
  56. package/dist/_dts/blocks/src/system/runtime/api/schemas/waitlist-claims.d.ts +42 -0
  57. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +10 -2
  58. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +10 -136
  59. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
  60. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
  61. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFlowController.d.ts +1 -1
  62. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingSubmission.state.d.ts +2 -0
  63. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +5 -1
  64. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
  65. package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +2 -2
  66. package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +50 -202
  68. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +51 -1
  69. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +6 -2
  70. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.hooks.d.ts +6 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.state.d.ts +7 -0
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
  74. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/BookingEntryViews.d.ts +42 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +4 -1
  76. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +19 -9
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +4 -2
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -9
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +4 -2
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +5 -4
  81. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/GuestDetailsSection.d.ts +1 -1
  82. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentStatusStep.d.ts +2 -0
  83. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SingleTicketEntitlementNote.d.ts +11 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/VerifyingTimeoutStep.d.ts +2 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingCardDisplay.d.ts +31 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingEntry.d.ts +154 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingFocus.d.ts +12 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -2
  91. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +2 -2
  92. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +9 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/finishedBooking.d.ts +77 -0
  94. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +0 -1
  95. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/offeringNoun.d.ts +12 -0
  96. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +2 -1
  97. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +33 -1
  98. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +11 -0
  99. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDisplay.d.ts +31 -0
  100. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDraft.state.d.ts +60 -0
  101. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -1
  102. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
  103. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +58 -10
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +17 -0
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +23 -7
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useBookingBarFacts.d.ts +12 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationRecoveryRequest.d.ts +3 -0
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +4 -0
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +4 -11
  110. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +1563 -31
  111. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +2 -12
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +147 -4
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +50 -2
  114. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +6 -5
  115. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +85 -15
  116. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +53 -8
  117. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CardListItem.d.ts +1 -1
  118. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/MonthLookView.d.ts +10 -3
  119. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +290 -882
  120. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +3 -2
  121. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +22 -90
  122. package/dist/_dts/blocks/src/system/runtime/nodes/mediaContext.d.ts +69 -0
  123. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +5 -1
  124. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +37 -1
  125. package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +9 -2
  126. package/dist/_dts/blocks/src/system/runtime/shared/components/PaymentChoiceRows.d.ts +28 -0
  127. package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +6 -8
  128. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -2
  129. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  130. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +9 -12
  131. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +15 -0
  132. package/dist/_dts/blocks/src/system/runtime/shared/utils/themePortalRoot.d.ts +10 -15
  133. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -0
  134. package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +2 -0
  135. package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +2 -0
  136. package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +6 -0
  137. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +14 -14
  138. package/dist/_dts/commerce/src/purchase/confirmationPayment.d.ts +65 -0
  139. package/dist/_dts/commerce/src/purchase/confirmationPaymentSchema.d.ts +66 -0
  140. package/dist/_dts/commerce/src/purchase/index.d.ts +2 -0
  141. package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +8 -0
  142. package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
  143. package/dist/_dts/content-model/src/templates/defaults.d.ts +2 -2
  144. package/dist/_dts/core/src/appointment-booking-terms.d.ts +20 -0
  145. package/dist/_dts/core/src/booking-payment-schemas.d.ts +70 -0
  146. package/dist/_dts/core/src/branded.d.ts +0 -2
  147. package/dist/_dts/core/src/demo-claim-access.d.ts +1 -1
  148. package/dist/_dts/core/src/demo-claim-readiness.d.ts +18 -0
  149. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +1 -1
  150. package/dist/_dts/core/src/demo-warm-pool-target.d.ts +1 -1
  151. package/dist/_dts/core/src/index.d.ts +4 -0
  152. package/dist/_dts/core/src/mailing-list-runtime.d.ts +2 -2
  153. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +9 -1
  154. package/dist/_dts/core/src/mailing-list-setup.d.ts +9 -1
  155. package/dist/_dts/core/src/mailing-list-submission.d.ts +1 -1
  156. package/dist/_dts/core/src/mailing-list-targeting-availability.d.ts +68 -0
  157. package/dist/_dts/core/src/mailing-list-targeting.d.ts +11 -1
  158. package/dist/_dts/core/src/ticket-quantity.d.ts +13 -0
  159. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +106 -36
  160. package/dist/_dts/editor/src/chrome/chromeLayers.d.ts +7 -0
  161. package/dist/_dts/editor/src/index.d.ts +1 -0
  162. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  163. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  164. package/dist/_dts/editor-blocks/src/media/admitEditorMediaField.d.ts +4 -0
  165. package/dist/_dts/editor-blocks/src/widgets/link/LinkAddressInput.d.ts +8 -0
  166. package/dist/_dts/editor-blocks/src/widgets/link/LinkContentList.d.ts +12 -0
  167. package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +5 -1
  168. package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +3 -3
  169. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +8 -2
  170. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +4 -3
  171. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -1
  172. package/dist/_dts/editor-blocks/src/widgets/link/draft.d.ts +44 -0
  173. package/dist/_dts/editor-blocks/src/widgets/link/presentation.d.ts +13 -0
  174. package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +14 -0
  175. package/dist/_dts/editor-blocks/src/widgets/link/useRoutableContent.d.ts +2 -0
  176. package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +5 -4
  177. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +1 -1
  178. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +13 -8
  179. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +6 -0
  180. package/dist/_dts/media-core/src/contentMediaAudit.d.ts +3 -2
  181. package/dist/_dts/media-core/src/fileStorage.d.ts +4 -3
  182. package/dist/_dts/media-core/src/index.d.ts +5 -0
  183. package/dist/_dts/media-core/src/media.d.ts +406 -0
  184. package/dist/_dts/media-core/src/mediaIdentifierSchema.d.ts +3 -0
  185. package/dist/_dts/media-core/src/mediaKinds.d.ts +2 -0
  186. package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +13 -1
  187. package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
  188. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +8 -21
  189. package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +28 -14
  190. package/dist/_dts/media-core/src/renderableMediaAssetAdmission.d.ts +15 -0
  191. package/dist/_dts/media-core/src/storageObjectKey.d.ts +12 -0
  192. package/dist/_dts/media-editor/src/CropDialog.d.ts +6 -3
  193. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
  194. package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -3
  195. package/dist/_dts/media-editor/src/cropEditorSource.d.ts +5 -7
  196. package/dist/_dts/media-editor/src/editorMediaState.d.ts +29 -0
  197. package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -2
  198. package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +4 -5
  199. package/dist/_dts/media-editor/src/types.d.ts +1 -1
  200. package/dist/_dts/media-editor/src/utils.d.ts +0 -1
  201. package/dist/_dts/media-react/src/components/cropChangePolicy.d.ts +4 -1
  202. package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -0
  203. package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -0
  204. package/dist/_dts/media-react/src/hooks/useSupabaseMediaUploader.d.ts +1 -1
  205. package/dist/_dts/media-react/src/internal/supabaseResumableUpload.d.ts +13 -0
  206. package/dist/_dts/preview-next/src/client/blocks/BlockBackgroundChooser.d.ts +2 -1
  207. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeSelectedMedia.d.ts +11 -12
  208. package/dist/_dts/preview-next/src/client/preview/previewModeRootAttribute.d.ts +11 -0
  209. package/dist/_dts/sdk/src/contracts/content.d.ts +2 -45
  210. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  211. package/dist/_dts/sdk/src/contracts/rendering.d.ts +3 -3
  212. package/dist/_dts/sdk/src/index.d.ts +1 -0
  213. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +0 -1
  214. package/dist/_dts/sdk/src/rendering/image.d.ts +14 -4
  215. package/dist/_dts/sdk/src/rendering/index.d.ts +5 -2
  216. package/dist/_dts/sdk/src/rendering/link.d.ts +5 -0
  217. package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +2 -4
  218. package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
  219. package/dist/_dts/sdk/src/version.d.ts +1 -1
  220. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  221. package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +3 -3
  222. package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +397 -26
  223. package/dist/_dts/theme-core/src/buttons/types.d.ts +21 -21
  224. package/dist/_dts/theme-core/src/cards/types.d.ts +34 -34
  225. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  226. package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
  227. package/dist/_dts/theme-core/src/lib/media.d.ts +2 -616
  228. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +261 -2619
  229. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +1 -1
  230. package/dist/_dts/theme-core/src/schema.d.ts +548 -3187
  231. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  232. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -9
  233. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  234. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  235. package/dist/_dts/theme-core/src/styles/skinTokens.d.ts +2 -2
  236. package/dist/_dts/theme-core/src/typography/schema.d.ts +2 -2
  237. package/dist/client/BookingMailingListNote-DrchYW1m.mjs +386 -0
  238. package/dist/client/{CardListItem-ZDLYh6dL.mjs → CardListItem-CC_GVmF6.mjs} +5 -5
  239. package/dist/client/CheckIcon-CpyXr-Kg.mjs +35 -0
  240. package/dist/client/{CheckboxChoice-M-3HycLw.mjs → CheckboxChoice-Dq30m3DO.mjs} +1 -1
  241. package/dist/client/{DemoBookingPortalAccess-BMtvPTWE.mjs → DemoBookingPortalAccess-ojwbVUmx.mjs} +85 -85
  242. package/dist/client/{EventCombined.client-DUm_DOxW.mjs → EventCombined.client-DyN0v0Xk.mjs} +7 -9
  243. package/dist/client/{EventEmbeddedCheckoutStep-DsNNzgRm.mjs → EventEmbeddedCheckoutStep-CgfpKc3n.mjs} +11 -10
  244. package/dist/client/{EventListing.client-DjNYGUVm.mjs → EventListing.client-CuOuvYMz.mjs} +2 -2
  245. package/dist/client/{LeafletStaticMap-DuFiOHq_.mjs → LeafletStaticMap-B0WhRr3j.mjs} +1 -1
  246. package/dist/client/{ModalShell-CqkBvBIC.mjs → ModalShell-BXzucfR6.mjs} +83 -12
  247. package/dist/client/{RichText-LjPCUGGi.mjs → RichText-C1fIXBzA.mjs} +50 -34
  248. package/dist/client/{ThemedButton-DZKjtaDD.mjs → ThemedButton-B7HFqFBg.mjs} +1 -2
  249. package/dist/client/{accordion-Qe--SILD.mjs → accordion-DCDVWSye.mjs} +1 -1
  250. package/dist/client/{bookingForm-3BCl4g_f.mjs → bookingForm-BJ3C4GlM.mjs} +321 -154
  251. package/dist/client/bookings.mjs +118607 -22429
  252. package/dist/client/{carousel-h2YjKOS2.mjs → carousel-BSCBhfHY.mjs} +2 -2
  253. package/dist/client/{carousel.client-BLrd4hmY.mjs → carousel.client-GEtOGsxo.mjs} +46 -41
  254. package/dist/client/{cart-5NeiigVd.mjs → cart-Yv-aAtck.mjs} +3 -3
  255. package/dist/client/{checkout-G4UWjOEw.mjs → checkout-B9xDkl30.mjs} +3 -3
  256. package/dist/client/client.mjs +37511 -33793
  257. package/dist/client/{context-GK4-AVAh.mjs → context-BOGe3rIA.mjs} +275 -10
  258. package/dist/client/{eventCalendar-Prw3Yo_L.mjs → eventCalendar-D6M0T9hs.mjs} +18 -17
  259. package/dist/client/{eventCombined-BUugi6__.mjs → eventCombined-NM4UFBq8.mjs} +4 -4
  260. package/dist/client/{eventDetails-CBHUda-R.mjs → eventDetails-f_FhV4O8.mjs} +3 -4
  261. package/dist/client/{eventListing-CQeG45Dg.mjs → eventListing-WLkfAROh.mjs} +4 -4
  262. package/dist/client/{eventRegistration-Dif3p3oJ.mjs → eventRegistration-D3ejfLvW.mjs} +2209 -2144
  263. package/dist/client/{form-Cf0WMtfG.mjs → form-D5Or2Jyu.mjs} +5 -6
  264. package/dist/client/{headerSection-Bqdr3JWp.mjs → headerSection-hWgnv27V.mjs} +9 -9
  265. package/dist/client/hooks.mjs +17278 -16106
  266. package/dist/client/{locationMap-BVvPou4O.mjs → locationMap-Di1K0O2S.mjs} +3 -4
  267. package/dist/client/{media-47fcnhzD.mjs → media-D29-F1u_.mjs} +183 -362
  268. package/dist/client/mediaContext-CwbbimYB.mjs +135 -0
  269. package/dist/client/{newsletterForm-Cx-1dnic.mjs → newsletterForm-CwxcwTNO.mjs} +5 -5
  270. package/dist/client/{productDetail-DaUMaJYk.mjs → productDetail-BLSnhPdA.mjs} +3 -3
  271. package/dist/client/{productList-BKQlWEKE.mjs → productList-oGytONOX.mjs} +3 -3
  272. package/dist/client/{propsDecoder-DO5iXphQ.mjs → propsDecoder-lf_dTeZS.mjs} +18659 -14473
  273. package/dist/client/renderableMediaAssetAdmission-CHkXYDC_.mjs +143 -0
  274. package/dist/client/rendering/client.mjs +58971 -55722
  275. package/dist/client/rendering/islands.mjs +20 -23
  276. package/dist/client/rendering.mjs +41610 -37917
  277. package/dist/client/{routeIslandApiConfig-BNm0Z3-g.mjs → routeIslandApiConfig-Bc_WVPS8.mjs} +1 -1
  278. package/dist/client/{shop-D7ytcFBC.mjs → shop-BQ3bR7fA.mjs} +16 -14
  279. package/dist/client/{shop-commerce-D68-hHy2.mjs → shop-commerce-DDPll6ZC.mjs} +9 -9
  280. package/dist/client/{shop-commerce-store-Cu7X2lyu.mjs → shop-commerce-store-DO-e1pTe.mjs} +1 -1
  281. package/dist/client/{shopShared-D12rxE69.mjs → shopShared-BylM9jh1.mjs} +5 -5
  282. package/dist/client/themePortalRoot-DS92SRVZ.mjs +47 -0
  283. package/dist/client/{TerminalPanel-DOTSUCO0.mjs → useDiscountCodeUi-B1Puub2v.mjs} +60 -77
  284. package/dist/client/{useEventPagination-jgKa67KV.mjs → useEventPagination-BBhkmQaT.mjs} +6 -8
  285. package/dist/preview-next/before-render.mjs +96 -4
  286. package/dist/preview-next/client/runtime.mjs +3 -3
  287. package/dist/preview-next/keepAlive.mjs +7 -0
  288. package/dist/preview-next/middleware.mjs +7 -0
  289. package/dist/{sdk-runtime-4cCWO_3i.mjs → sdk-runtime-DWCvhJGu.mjs} +1 -1
  290. package/dist/server/components.mjs +21820 -19902
  291. package/dist/server/config-validation.mjs +1786 -642
  292. package/dist/server/config.mjs +1786 -642
  293. package/dist/server/data.mjs +17220 -16076
  294. package/dist/server/index.mjs +234 -2
  295. package/dist/server/next.mjs +22505 -20528
  296. package/dist/server/page-converter.mjs +7587 -6572
  297. package/dist/server/prebuild.mjs +1 -1
  298. package/dist/server/rendering/server.mjs +20487 -19044
  299. package/dist/server/rendering.mjs +21844 -19901
  300. package/dist/server/routing.mjs +19186 -17961
  301. package/dist/server/server.mjs +1874 -695
  302. package/dist/server/theme-bridge.mjs +1371 -914
  303. package/dist/server/theme.mjs +154 -37
  304. package/dist/{spinner-tSdG9YvG.mjs → spinner-BYM-Y81w.mjs} +1 -1
  305. package/dist/styles/index.css +1088 -721
  306. package/package.json +1 -1
  307. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +0 -15
  308. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +0 -22
  309. package/dist/_dts/blocks/src/system/runtime/shared/components/SelectableOptionCard.d.ts +0 -30
  310. package/dist/client/BookingMailingListNote-DlDSs5Vm.mjs +0 -567
  311. package/dist/client/colorStyles-DTunOThj.mjs +0 -1316
  312. package/dist/client/pricing-CMD0kADd.mjs +0 -314
  313. package/dist/client/result-DRW7JWXz.mjs +0 -30
  314. package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
  315. package/dist/client/themePortalRoot-AGs4cE7t.mjs +0 -30
  316. package/dist/spinner-BL3kW9Uh.mjs +0 -803
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
- import { type Media, type PublicDownloadMediaType } from '../../../lib/media';
2
+ import { type PublicDownloadMediaType } from '../../../lib/media';
3
+ import { type RuntimeMedia } from './media';
3
4
  import { type BlockButtonRole } from '../../constants/buttonRoles';
4
5
  export type FileDownloadNodeProps = Readonly<{
5
- value?: Media | null;
6
+ value?: RuntimeMedia | null;
6
7
  title?: string | null;
7
8
  description?: string | null;
8
9
  buttonLabel?: string | null;
@@ -1,6 +1,10 @@
1
1
  import React from 'react';
2
- import { type ResolvedMediaTransform, type DirectImageUrlOptions, type RenderableMediaAsset, type RenderableMediaAssetIndex } from '../../../../../media-core/src/index';
2
+ import { type RuntimeMedia, type ManagedMediaResolution, type ResolvedMediaTransform, type DirectImageUrlOptions } from '../../../../../media-core/src/index';
3
3
  import type { Media } from '../../../lib/media';
4
+ import { type ResolveImageUrlContext } from './mediaContext';
5
+ export { buildMediaAssetIndex, buildResolveImageUrlContext, getCurrentResolveImageUrlContext, getSiteId, getSupabaseUrl, runWithMediaContext, setContextSupabaseUrl, setContextSiteId, setContextMediaAssetIndex, setContextMediaAssets, setContextResolveImageUrlContext, } from './mediaContext';
6
+ export type { MediaAssetIndex, MediaAssetIndexItem, ResolveImageUrlContext, ResolveImageUrlContextInput } from './mediaContext';
7
+ export type { RuntimeMedia } from '../../../../../media-core/src/index';
4
8
  /**
5
9
  * Options for image URL resolution.
6
10
  * Requires either dimensions or explicit original request.
@@ -18,24 +22,6 @@ export type ImageOptions = {
18
22
  } | {
19
23
  original: true;
20
24
  };
21
- export type ResolveImageUrlContext = {
22
- supabaseUrl?: string;
23
- siteId?: string;
24
- /**
25
- * Optional per-call media asset index for resolving identifier-only media values
26
- * without mutating persisted content shapes.
27
- */
28
- mediaAssetIndex?: MediaAssetIndex;
29
- };
30
- export type ResolveImageUrlContextInput = Readonly<{
31
- supabaseUrl?: string;
32
- siteId?: string;
33
- mediaAssetIndex?: MediaAssetIndex;
34
- mediaAssets?: readonly MediaAssetIndexItem[];
35
- }>;
36
- export type MediaAssetIndexItem = RenderableMediaAsset;
37
- export type MediaAssetIndex = RenderableMediaAssetIndex;
38
- export declare function buildMediaAssetIndex(assets: readonly MediaAssetIndexItem[] | undefined): MediaAssetIndex | undefined;
39
25
  export type ResolveImageSourceSetOptions = {
40
26
  widthCandidates?: readonly number[];
41
27
  sizes?: string;
@@ -78,9 +64,8 @@ export type MediaUrlResolution = Readonly<{
78
64
  assetId?: string;
79
65
  identifier?: string | null;
80
66
  }>;
81
- export declare function buildResolveImageUrlContext(input: ResolveImageUrlContextInput | undefined): ResolveImageUrlContext;
82
- export declare function resolveMediaStorageUrl(value: Media, context?: ResolveImageUrlContext | null, transformOptions?: DirectImageUrlOptions): string | undefined;
83
- export declare function resolveMediaStorageUrlResult(value: Media, context?: ResolveImageUrlContext | null, transformOptions?: DirectImageUrlOptions): MediaUrlResolution;
67
+ export declare function resolveMediaStorageUrl(value: RuntimeMedia, context?: ResolveImageUrlContext | null, transformOptions?: DirectImageUrlOptions): string | undefined;
68
+ export declare function resolveMediaStorageUrlResult(value: RuntimeMedia, context?: ResolveImageUrlContext | null, transformOptions?: DirectImageUrlOptions): MediaUrlResolution;
84
69
  /**
85
70
  * Common image size presets.
86
71
  * Use these for consistent sizing across the application.
@@ -111,68 +96,15 @@ export declare const ImagePresets: {
111
96
  readonly resize: "contain";
112
97
  };
113
98
  };
114
- /**
115
- * Media context for URL resolution.
116
- * Contains site-specific values needed to build storage URLs.
117
- */
118
- type MediaContext = {
119
- supabaseUrl?: string;
120
- siteId?: string;
121
- mediaAssetIndex?: MediaAssetIndex;
122
- };
123
- /**
124
- * Run a function with the given media context.
125
- * On server: Uses AsyncLocalStorage to isolate context per request.
126
- * On client: Temporarily sets module-level context for the duration of the call.
127
- *
128
- * @example
129
- * ```tsx
130
- * runWithMediaContext(
131
- * { supabaseUrl: 'https://...', siteId: 'abc-123' },
132
- * () => renderPage(page)
133
- * )
134
- * ```
135
- */
136
- export declare function runWithMediaContext<T>(context: MediaContext, fn: () => T): T;
137
- /**
138
- * Set the Supabase URL in the current context.
139
- * @deprecated Use runWithMediaContext instead for request isolation.
140
- */
141
- export declare function setContextSupabaseUrl(url: string | undefined): void;
142
- /**
143
- * Set the site ID in the current context.
144
- * @deprecated Use runWithMediaContext instead for request isolation.
145
- */
146
- export declare function setContextSiteId(siteId: string | undefined): void;
147
- export declare function setContextMediaAssetIndex(index: MediaAssetIndex | undefined): void;
148
- export declare function setContextResolveImageUrlContext(context: ResolveImageUrlContext | undefined): void;
149
- export declare function getCurrentResolveImageUrlContext(): ResolveImageUrlContext | undefined;
150
- export declare function setContextMediaAssets(assets: readonly MediaAssetIndexItem[] | undefined): void;
151
- /**
152
- * Get the Supabase URL for constructing direct storage URLs.
153
- * Used for serving images directly from Supabase storage CDN.
154
- *
155
- * Resolution order:
156
- * 1. Context URL (set via runWithMediaContext or setContextSupabaseUrl)
157
- * 2. Environment variable NEXT_PUBLIC_SUPABASE_URL
158
- *
159
- * SDK sites receive the URL from the API, so they don't need the env var.
160
- * Dashboard and frontend apps use the env var.
161
- */
162
- export declare function getSupabaseUrl(): string;
163
- /**
164
- * Get the site ID for constructing storage paths.
165
- * Required for relative path resolution.
166
- */
167
- export declare function getSiteId(): string | undefined;
168
- export declare function resolveVideoPosterUrl(value: Media, context?: ResolveImageUrlContext | null): string | undefined;
169
- export declare function resolveMediaWithContext<TMedia extends Media>(value: TMedia, context?: ResolveImageUrlContext | null): TMedia;
99
+ /** Resolve portable content without exposing runtime metadata as saved values. */
100
+ export declare function resolveMediaWithContext<TReference extends Media>(reference: TReference, context?: ResolveImageUrlContext | null): ManagedMediaResolution<TReference>;
101
+ export declare function resolveVideoPosterUrl(value: RuntimeMedia, context?: ResolveImageUrlContext | null): string | undefined;
170
102
  export type MediaImageLoading = NonNullable<React.ImgHTMLAttributes<HTMLImageElement>['loading']>;
171
103
  export type MediaImageFetchPriority = NonNullable<React.ImgHTMLAttributes<HTMLImageElement>['fetchPriority']>;
172
104
  export type MediaNodeProps = {
173
105
  "data-slot"?: string;
174
106
  "data-surface"?: string;
175
- value?: Media | null;
107
+ value?: RuntimeMedia | null;
176
108
  className?: string;
177
109
  style?: React.CSSProperties;
178
110
  children?: React.ReactNode;
@@ -196,7 +128,7 @@ export type MediaNodeProps = {
196
128
  imageResolveContext?: ResolveImageUrlContext | null;
197
129
  };
198
130
  export type VideoPlaybackMode = 'inline' | 'background';
199
- export declare function resolveMediaNodeResponsiveImage(value: Media, size: ImageOptions, style: React.CSSProperties | undefined, slot: {
131
+ export declare function resolveMediaNodeResponsiveImage(value: RuntimeMedia, size: ImageOptions, style: React.CSSProperties | undefined, slot: {
200
132
  fieldPath?: string;
201
133
  blockKind?: string | null;
202
134
  blockContent?: unknown;
@@ -207,14 +139,15 @@ export declare function resolveMediaNodeResponsiveImage(value: Media, size: Imag
207
139
  resolvedTransform?: ResolvedMediaTransform;
208
140
  isProxy?: boolean;
209
141
  };
210
- export declare function renderVideo(value: Media, className?: string, style?: React.CSSProperties, context?: ResolveImageUrlContext | null, options?: {
142
+ export declare function renderVideo(value: RuntimeMedia, className?: string, style?: React.CSSProperties, context?: ResolveImageUrlContext | null, options?: {
211
143
  playback?: VideoPlaybackMode;
212
144
  }): React.ReactElement | null;
213
- export declare function renderAudio(value: Media, className?: string, style?: React.CSSProperties, context?: ResolveImageUrlContext | null): React.ReactElement | null;
214
- export declare function computeMediaTransformStyle(value: Media, style?: React.CSSProperties, targetAspectRatio?: number | string, options?: {
145
+ export declare function resolvePublicMediaUrl(value: RuntimeMedia, context?: ResolveImageUrlContext | null): string | undefined;
146
+ export declare function renderAudio(value: RuntimeMedia, className?: string, style?: React.CSSProperties, context?: ResolveImageUrlContext | null): React.ReactElement | null;
147
+ export declare function computeMediaTransformStyle(value: RuntimeMedia, style?: React.CSSProperties, targetAspectRatio?: number | string, options?: {
215
148
  resolvedTransform?: ResolvedMediaTransform;
216
149
  isProxy?: boolean;
217
- }): React.CSSProperties | undefined;
150
+ }, context?: ResolveImageUrlContext | null): React.CSSProperties | undefined;
218
151
  export declare const computeHotspotStyle: typeof computeMediaTransformStyle;
219
152
  export declare function resolveTargetAspectRatio(size: ImageOptions): number | undefined;
220
153
  export declare function MediaPlaceholder({ className, style, fieldPath, authoring, }: {
@@ -246,10 +179,9 @@ export declare const MediaNode: React.FC<MediaNodeProps>;
246
179
  * resolveImageUrl(media, { original: true })
247
180
  * ```
248
181
  */
249
- export declare function resolveImageUrl(value: Media, options: ImageOptions, context?: ResolveImageUrlContext | null): string | undefined;
250
- export declare function resolveImageUrlResult(value: Media, options: ImageOptions, context?: ResolveImageUrlContext | null): MediaUrlResolution;
251
- export declare function resolveImageUrlWithContext(value: Media, options: ImageOptions, context?: ResolveImageUrlContext | null, transformAspectRatio?: number | string): string | undefined;
252
- export declare function resolveImageUrlWithContextResult(value: Media, options: ImageOptions, context?: ResolveImageUrlContext | null, transformAspectRatio?: number | string): MediaUrlResolution;
253
- export declare function resolveImageSourceSetWithContext(value: Media, options: ResolveImageSourceSetOptions, context?: ResolveImageUrlContext | null): ResolvedImageSourceSet | undefined;
182
+ export declare function resolveImageUrl(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null): string | undefined;
183
+ export declare function resolveImageUrlResult(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null): MediaUrlResolution;
184
+ export declare function resolveImageUrlWithContext(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null, transformAspectRatio?: number | string): string | undefined;
185
+ export declare function resolveImageUrlWithContextResult(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null, transformAspectRatio?: number | string): MediaUrlResolution;
186
+ export declare function resolveImageSourceSetWithContext(value: RuntimeMedia, options: ResolveImageSourceSetOptions, context?: ResolveImageUrlContext | null): ResolvedImageSourceSet | undefined;
254
187
  export declare function mediaImageHostProps(props: Pick<MediaNodeProps, 'value' | 'className' | 'loading' | 'fetchPriority' | 'data-slot' | 'data-surface'>, style: React.CSSProperties | undefined): React.ImgHTMLAttributes<HTMLImageElement> & Pick<MediaNodeProps, 'data-slot' | 'data-surface'>;
255
- export {};
@@ -0,0 +1,69 @@
1
+ import { type RenderableMediaAsset, type RenderableMediaAssetIndex } from '../../../../../media-core/src/index';
2
+ export type ResolveImageUrlContext = {
3
+ supabaseUrl?: string;
4
+ siteId?: string;
5
+ /**
6
+ * Optional per-call media asset index for resolving identifier-only media values
7
+ * without mutating persisted content shapes.
8
+ */
9
+ mediaAssetIndex?: MediaAssetIndex;
10
+ };
11
+ export type ResolveImageUrlContextInput = Readonly<{
12
+ supabaseUrl?: string;
13
+ siteId?: string;
14
+ mediaAssetIndex?: MediaAssetIndex;
15
+ mediaAssets?: readonly MediaAssetIndexItem[];
16
+ }>;
17
+ export type MediaAssetIndexItem = RenderableMediaAsset;
18
+ export type MediaAssetIndex = RenderableMediaAssetIndex;
19
+ export declare function buildMediaAssetIndex(assets: readonly MediaAssetIndexItem[] | undefined): MediaAssetIndex | undefined;
20
+ export declare function buildResolveImageUrlContext(input: ResolveImageUrlContextInput | undefined): ResolveImageUrlContext;
21
+ /**
22
+ * Media context for URL resolution.
23
+ * Contains site-specific values needed to build storage URLs.
24
+ */
25
+ type MediaContext = {
26
+ supabaseUrl?: string;
27
+ siteId?: string;
28
+ mediaAssetIndex?: MediaAssetIndex;
29
+ };
30
+ /**
31
+ * Run a function with the given media context.
32
+ * On server: Uses AsyncLocalStorage to isolate context per request.
33
+ * On client: Temporarily sets module-level context for the duration of the call.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * runWithMediaContext(
38
+ * { supabaseUrl: 'https://...', siteId: 'abc-123' },
39
+ * () => renderPage(page)
40
+ * )
41
+ * ```
42
+ */
43
+ export declare function runWithMediaContext<T>(context: MediaContext, fn: () => T): T;
44
+ export declare function setContextSupabaseUrl(url: string | undefined): void;
45
+ /** @deprecated Use runWithMediaContext for request isolation. */
46
+ export declare function setContextSiteId(siteId: string | undefined): void;
47
+ export declare function setContextMediaAssetIndex(index: MediaAssetIndex | undefined): void;
48
+ export declare function setContextResolveImageUrlContext(context: ResolveImageUrlContext | undefined): void;
49
+ export declare function getCurrentResolveImageUrlContext(): ResolveImageUrlContext | undefined;
50
+ export declare function setContextMediaAssets(assets: readonly MediaAssetIndexItem[] | undefined): void;
51
+ /**
52
+ * Get the Supabase URL for constructing direct storage URLs.
53
+ * Used for serving images directly from Supabase storage CDN.
54
+ *
55
+ * Resolution order:
56
+ * 1. Context URL (set via runWithMediaContext or setContextSupabaseUrl)
57
+ * 2. Environment variable NEXT_PUBLIC_SUPABASE_URL
58
+ *
59
+ * SDK sites receive the URL from the API, so they don't need the env var.
60
+ * Dashboard and frontend apps use the env var.
61
+ */
62
+ export declare function getSupabaseUrl(): string;
63
+ /**
64
+ * Get the site ID for constructing storage paths.
65
+ * Required for relative path resolution.
66
+ */
67
+ export declare function getSiteId(): string | undefined;
68
+ export declare function getMediaAssetIndex(context?: ResolveImageUrlContext): MediaAssetIndex | undefined;
69
+ export {};
@@ -1,4 +1,4 @@
1
- import type { BookingDepositRefundPolicy } from '../../../../../core/src/index';
1
+ import { type BookingDepositRefundPolicy, type BookingInstalmentPlanConfig } from '../../../../../core/src/index';
2
2
  export type BookingPaymentOptionCopy = Readonly<{
3
3
  title: string;
4
4
  description: string;
@@ -6,6 +6,8 @@ export type BookingPaymentOptionCopy = Readonly<{
6
6
  ctaLabel: string;
7
7
  }>;
8
8
  export declare function buildUpfrontBookingPaymentOptionCopy(formattedTotal: string): BookingPaymentOptionCopy;
9
+ /** Reused after booking; payment remains outside the platform. */
10
+ export declare const OFFLINE_BOOKING_PAYMENT_INSTRUCTIONS = "Pay the business later, outside the platform.";
9
11
  export declare function buildDeferredManualBookingPaymentOptionCopy(): BookingPaymentOptionCopy;
10
12
  export declare function buildInstalmentBookingPaymentOptionCopy(input: Readonly<{
11
13
  formattedDueToday: string;
@@ -19,3 +21,5 @@ export declare function buildFlexibleBalanceBookingPaymentOptionCopy(input: Read
19
21
  dueDateLabel: string;
20
22
  depositRefundability: BookingDepositRefundPolicy;
21
23
  }>): BookingPaymentOptionCopy;
24
+ /** Configured cadence for the existing instalment description. */
25
+ export declare function buildBookingInstalmentCadenceLabel(plan: BookingInstalmentPlanConfig): string;
@@ -1,17 +1,34 @@
1
1
  import { type ResolvedBookingCollectionOption } from '../../../../../commerce/src/purchase/index';
2
- import { type BookingPaymentCollectionOptionKind } from '../../../../../core/src/index';
2
+ import { type BookingPaymentCollectionOptionKind, type AppointmentBookingTerms } from '../../../../../core/src/index';
3
3
  export type BookingPaymentSelectionKind = BookingPaymentCollectionOptionKind;
4
4
  export type BookingPaymentOptionSummaryRow = Readonly<{
5
5
  label: string;
6
6
  value: string;
7
7
  }>;
8
+ /** The two figures a payment choice leads with, as numbers and as written. */
9
+ export type BookingPaymentOptionAmounts = Readonly<{
10
+ totalCents: number;
11
+ dueTodayCents: number;
12
+ formattedTotal: string;
13
+ formattedDueToday: string;
14
+ }>;
8
15
  export type BookingPaymentOptionViewModel = Readonly<{
9
16
  kind: BookingPaymentSelectionKind;
10
17
  /** Copy can describe full payment without changing the admitted collection kind. */
11
18
  presentationKind: BookingPaymentSelectionKind;
12
19
  title: string;
13
20
  description: string;
21
+ /** Total and Due today, then `termRows`: the full summary as written. */
14
22
  summaryRows: readonly BookingPaymentOptionSummaryRow[];
23
+ amounts: BookingPaymentOptionAmounts;
24
+ /** Structured balance facts; presentation labels never identify money. */
25
+ flexibleBalance: Readonly<{
26
+ remainingBalance: string;
27
+ balanceDueBy: string;
28
+ depositPolicy: string;
29
+ }> | null;
30
+ /** The terms beyond the two amounts (balance, deposit policy, schedule). */
31
+ termRows: readonly BookingPaymentOptionSummaryRow[];
15
32
  helperText?: string;
16
33
  ctaLabel: string;
17
34
  dueNowCents: number;
@@ -28,3 +45,22 @@ export declare function buildBookingPaymentSelectionViewModel(input: Readonly<{
28
45
  priceCurrency?: string | null;
29
46
  locale?: string;
30
47
  }>): BookingPaymentSelectionViewModel;
48
+ /**
49
+ * A payment choice's price for its row (issue 1581): the total when it's all
50
+ * paid now, "£18.00 due" when nothing is paid now, otherwise what's paid today.
51
+ */
52
+ export declare function paymentChoicePrice(amounts: BookingPaymentOptionAmounts): string;
53
+ /** The row's supporting lines: its description, the total when the price is today's part, then its terms. */
54
+ export declare function paymentChoiceDetails(input: Readonly<{
55
+ description: string;
56
+ amounts: BookingPaymentOptionAmounts;
57
+ termRows: readonly BookingPaymentOptionSummaryRow[];
58
+ helperText?: string;
59
+ }>): readonly string[];
60
+ /** Reviewed net amounts use the same payment facts and copy as the payment step. */
61
+ export declare function buildReviewedBookingPaymentViewModel(input: Readonly<{
62
+ terms: AppointmentBookingTerms;
63
+ bookingStartAt: string | null;
64
+ anchorAt: string;
65
+ locale?: string;
66
+ }>): BookingPaymentOptionViewModel | null;
@@ -22,13 +22,20 @@ export type ModalShellProps = Readonly<{
22
22
  titleClassName?: string;
23
23
  closeButtonClassName?: string;
24
24
  closeIcon?: React.ReactNode;
25
+ /**
26
+ * Where focus goes when the shell closes, given the element that opened it.
27
+ * By default the opener itself; a caller whose opener may not be focusable
28
+ * yet when the shell closes (an inert bar) decides its own destination.
29
+ */
30
+ returnFocus?: (opener: HTMLElement | null) => void;
25
31
  }>;
26
32
  /**
27
33
  * Shared, unopinionated modal shell for interactive runtime flows.
28
34
  *
29
35
  * Styling is supplied by the caller via class names, while the shell owns
30
- * focus, escape handling, body-scroll locking, overlay clicks, and optional
36
+ * focus (trapped inside, returned on close), escape handling for the
37
+ * innermost open shell, body-scroll locking, overlay clicks, and optional
31
38
  * portaling into a themed root.
32
39
  */
33
- export declare function ModalShell({ title, titleId, onClose, children, portalRoot, portal, portalWrapperClassName, portalWrapperProps, overlayClassName, modalClassName, renderSrOnlyTitle, renderHeader, headerClassName, titleClassName, closeButtonClassName, closeIcon, }: ModalShellProps): React.ReactNode;
40
+ export declare function ModalShell({ title, titleId, onClose, children, portalRoot, portal, portalWrapperClassName, portalWrapperProps, overlayClassName, modalClassName, renderSrOnlyTitle, renderHeader, headerClassName, titleClassName, closeButtonClassName, closeIcon, returnFocus, }: ModalShellProps): React.ReactNode;
34
41
  export {};
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ /**
3
+ * One way to pay, as a full-width row (issue 1581): the label and detail on
4
+ * the left, the price on the right. Event and appointment booking both
5
+ * render their payment choices through this.
6
+ */
7
+ export type PaymentChoiceRow = Readonly<{
8
+ id: string;
9
+ label: string;
10
+ /** Supporting lines under the label. */
11
+ details?: readonly string[];
12
+ /** What this choice costs, e.g. "£18.00" or "£18.00 due". */
13
+ price?: string | null;
14
+ selected: boolean;
15
+ disabled?: boolean;
16
+ /** Why a disabled row can't be chosen; shown in the row, not a tooltip. */
17
+ disabledReason?: string;
18
+ onSelect: () => void;
19
+ }>;
20
+ /**
21
+ * Payment choices as a radio group. Native radios give the whole row as the
22
+ * hit area and arrow-key movement between choices; the selected row takes the
23
+ * primary accent and disabled rows stay readable with their reason.
24
+ */
25
+ export declare function PaymentChoiceRows(props: Readonly<{
26
+ label: string;
27
+ rows: readonly PaymentChoiceRow[];
28
+ }>): React.ReactElement;
@@ -1,16 +1,14 @@
1
1
  /**
2
- * Shared step indicator component for registration wizards.
3
- * Shows numbered steps with current progress and completion state.
2
+ * Shared progress indicator for registration wizards (event and appointment
3
+ * booking): the current step's label, "Step N of M", and a thin bar.
4
4
  *
5
5
  * Two class channels can be emitted (independently or together):
6
6
  * - `emitSharedClasses` adds the shared registration-surface classes
7
- * (`rb-steps-nav`, `rb-step-circle`, ...) styled by
8
- * theme-core `blocks-static/registration-surface.css`.
9
- * - `classPrefix` adds block-prefixed classes (e.g. `er-step-circle`) — the
10
- * legacy styling channel and the stable hook surface for per-site theme CSS.
7
+ * (`rb-progress`, `rb-progress__fill`, ...) styled by theme-core
8
+ * `blocks-static/registration-surface.css`.
9
+ * - `classPrefix` adds block-prefixed classes (e.g. `er-progress`), kept as a
10
+ * stable hook surface for per-site theme CSS.
11
11
  *
12
- * Blocks opt in to the shared channel as part of their registration-surface
13
- * migration (issue 1174); until then a prefix-only render is unchanged output.
14
12
  * At least one channel must be enabled or the indicator renders unstyled.
15
13
  */
16
14
  /**
@@ -19,13 +19,13 @@ export { StateIcon } from './StateIcon';
19
19
  export type { LoggedInAsUserProps } from './LoggedInAsUser';
20
20
  export { MembershipHero } from './MembershipHero';
21
21
  export { ModalShell } from './ModalShell';
22
+ export { PaymentChoiceRows } from './PaymentChoiceRows';
23
+ export type { PaymentChoiceRow } from './PaymentChoiceRows';
22
24
  export type { ModalShellProps } from './ModalShell';
23
25
  export { TabBarFragment } from './TabBarFragment';
24
26
  export { TerminalPanel } from './TerminalPanel';
25
27
  export type { TerminalPanelProps, TerminalPanelTitleElement, } from './TerminalPanel';
26
28
  export { StepIndicator } from './StepIndicator';
27
29
  export type { StepIndicatorBaseProps, StepIndicatorProps, } from './StepIndicator';
28
- export { RB_OPTION_CARD_CLASSES, SelectableOptionCard, } from './SelectableOptionCard';
29
- export type { SelectableOptionCardProps } from './SelectableOptionCard';
30
30
  export { ThemedActionsButton, ThemedAuthoredButton, ThemedButton, ThemedButtonLink, ThemedButtonSpecimen, ThemedDownloadLink } from './ThemedButton';
31
31
  export type { ThemedActionsButtonProps, ThemedAuthoredButtonProps, ThemedButtonProps, ThemedButtonLinkProps, ThemedButtonSpecimenProps, ThemedDownloadLinkProps } from './ThemedButton';
@@ -8,5 +8,5 @@ export { DEFAULT_CURRENCY } from './types';
8
8
  export { BOOK_TARGET_PARAMS, buildCheckoutReturnUrls, resolveDedicatedBookingHref, resolveDedicatedBookingPath, resolveDedicatedBookingTarget, formatPrice, scrollToBlock, consumeSearchParam, consumeSearchParams, validateFormData, getStepNumber, } from './utils';
9
9
  export type { DedicatedBookingTarget, UniversalBookingRouteTarget, } from './utils';
10
10
  export { createBodyThemePortalRoot } from './utils';
11
- export { ActionRow, CheckIcon, ClockIcon, CrossIcon, BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES, DiscountCodeDisclosure, FieldValidationMessage, FeedbackMessage, getFieldValidationControlProps, MembershipHero, ModalShell, RB_OPTION_CARD_CLASSES, SelectableOptionCard, StateIcon, StepIndicator, TerminalPanel, } from './components';
12
- export type { ActionRowProps, SelectableOptionCardProps, DiscountCodeDisclosureProps, DiscountCodeDisclosureSurface, FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, FeedbackLiveMode, FeedbackMessageProps, FeedbackTone, ModalShellProps, StepIndicatorBaseProps, StepIndicatorProps, TerminalPanelProps, TerminalPanelTitleElement, } from './components';
11
+ export { ActionRow, CheckIcon, ClockIcon, CrossIcon, BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES, DiscountCodeDisclosure, FieldValidationMessage, FeedbackMessage, getFieldValidationControlProps, MembershipHero, ModalShell, StateIcon, StepIndicator, TerminalPanel, } from './components';
12
+ export type { ActionRowProps, DiscountCodeDisclosureProps, DiscountCodeDisclosureSurface, FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, FeedbackLiveMode, FeedbackMessageProps, FeedbackTone, ModalShellProps, StepIndicatorBaseProps, StepIndicatorProps, TerminalPanelProps, TerminalPanelTitleElement, } from './components';
@@ -1,19 +1,16 @@
1
- import { useBlockApi } from "../api";
2
- import type { ResolveWaitlistClaimResponse } from "../api/types";
1
+ import { useBlockApi } from '../api';
2
+ import { type WaitlistClaimCredential, type WaitlistClaimRequest, type WaitlistClaimLookup } from './useWaitlistClaim.state';
3
3
  export declare function getWaitlistClaimTokenFromUrl(): string | null;
4
4
  export declare function getWaitlistClaimEntryIdFromUrl(): string | null;
5
- export type UseWaitlistClaimResult = {
6
- token: string | null;
7
- entryId: string | null;
8
- claim: ResolveWaitlistClaimResponse | null;
9
- error: string | null;
10
- loginMessage: string | null;
11
- requiresPortalLogin: boolean;
12
- isLoading: boolean;
13
- };
5
+ export type UseWaitlistClaimResult = WaitlistClaimLookup | null;
14
6
  export type UseWaitlistClaimDeps = Readonly<{
15
7
  useBlockApi: typeof useBlockApi;
16
8
  }>;
9
+ /** Memoize only claim parameters; payment URL cleanup is not a new invitation. */
10
+ export declare function useWaitlistClaimCredential(): WaitlistClaimCredential | null;
11
+ /** Remove both alternatives, retaining all unrelated URL and history state. */
12
+ export declare function clearWaitlistClaimLocation(): void;
17
13
  export declare function useWaitlistClaim(): UseWaitlistClaimResult;
18
- export declare function useWaitlistClaimForToken(token: string | null): UseWaitlistClaimResult;
19
14
  export declare function useWaitlistClaimWithDeps(deps: UseWaitlistClaimDeps): UseWaitlistClaimResult;
15
+ export declare function useWaitlistClaimForRequest(request: WaitlistClaimRequest | null): UseWaitlistClaimResult;
16
+ export declare function useWaitlistClaimForRequestWithDeps(request: WaitlistClaimRequest | null, deps: UseWaitlistClaimDeps): UseWaitlistClaimResult;
@@ -1,4 +1,19 @@
1
1
  import type { ResolveWaitlistClaimResponse } from "../api/types";
2
+ export type WaitlistClaimCredential = Readonly<{
3
+ kind: 'emailedToken';
4
+ token: string;
5
+ }> | Readonly<{
6
+ kind: 'portalOwnedEntry';
7
+ entryId: string;
8
+ }>;
9
+ /** Object identity binds one asynchronous lookup to the draft that requested it. */
10
+ export type WaitlistClaimRequest = Readonly<{
11
+ credential: WaitlistClaimCredential;
12
+ }>;
13
+ export type WaitlistClaimLookup = Readonly<{
14
+ request: WaitlistClaimRequest;
15
+ state: WaitlistClaimState;
16
+ }>;
2
17
  export type WaitlistClaimResolveFailure = Readonly<{
3
18
  kind: "portal-login-required";
4
19
  message: string;
@@ -1,18 +1,13 @@
1
- /**
2
- * Create a portal root that preserves theme scope styling while escaping
3
- * local stacking contexts.
4
- *
5
- * Why this exists:
6
- * - Theme variables are applied via inline styles on the nearest `.theme-scope`.
7
- * - Some pages create stacking contexts (e.g. transformed hero decorations) that
8
- * can sit above fixed-position overlays rendered inside the normal tree.
9
- * - Portaling to `document.body` escapes stacking contexts, but loses theme scope.
10
- *
11
- * This helper creates a new `.theme-scope` element attached to `document.body`,
12
- * copying inline CSS vars + relevant data attrs from the current theme scope.
13
- */
14
- export type ThemePortalRoot = {
1
+ /** Mirror a theme scope on body-level portals, including live preview edits. */
2
+ export type ThemePortalRoot = Readonly<{
15
3
  root: HTMLElement;
16
4
  cleanup: () => void;
17
- };
5
+ }>;
6
+ type AttributeSnapshot = ReadonlyMap<string, string>;
7
+ type AttributeChanges = Readonly<{
8
+ set: AttributeSnapshot;
9
+ remove: readonly string[];
10
+ }>;
11
+ export declare function attributeChanges(prev: AttributeSnapshot, next: AttributeSnapshot): AttributeChanges;
18
12
  export declare function createBodyThemePortalRoot(sourceEl: Element): ThemePortalRoot | null;
13
+ export {};
@@ -12,3 +12,5 @@ export declare const builtinTransformDefinitions: import("./core").TransformDefi
12
12
  export declare const defaultTransforms: import("./core").TransformRegistry;
13
13
  export { boxStyleClassNames } from "./_utils/boxStyleClassNames";
14
14
  export { formattingTransforms, layoutTransforms, chromeLogoTransforms, uiTransforms, mediaTransforms, backgroundTransforms, linksTransforms, boxStylesTransforms, contentTransforms, headerRuntimeTransforms, };
15
+ export { resolveAuthoredLinkHref } from './links';
16
+ export type { LinkResolverContext } from '../../links/resolve';
@@ -1,4 +1,6 @@
1
1
  import type { TransformDefinition } from "./core";
2
+ import { type LinkResolverContext } from "../../links/resolve";
2
3
  export declare const resolveLinkTransform: TransformDefinition;
3
4
  export declare const linkLabelTransform: TransformDefinition;
4
5
  export declare const linksTransforms: TransformDefinition[];
6
+ export declare function resolveAuthoredLinkHref(value: unknown, context?: LinkResolverContext): string | null;
@@ -21,3 +21,5 @@ export declare function canInstalmentPlanCompleteBefore(input: Readonly<{
21
21
  deadline: string;
22
22
  schedule: readonly BookingInstalmentScheduleRow[];
23
23
  }>): boolean;
24
+ /** Later obligations are identified by their state, never their position. */
25
+ export declare function getBookingLaterInstalments(schedule: readonly BookingInstalmentScheduleRow[]): readonly BookingInstalmentScheduleRow[];
@@ -84,6 +84,12 @@ export declare function resolveAvailableBookingCollectionOptions(input: Readonly
84
84
  totalCents: number;
85
85
  }>): readonly ResolvedBookingCollectionOption[];
86
86
  export declare function isBookingCollectionEquivalentToUpfront(option: ResolvedBookingCollectionOption): boolean;
87
+ export declare function resolveBookingCollectionOptionFacts(input: Readonly<{
88
+ option: BookingPaymentCollectionOption;
89
+ totalCents: number;
90
+ anchorAt: string;
91
+ bookingStartAt: string | null;
92
+ }>): ResolvedBookingCollectionOption;
87
93
  /** Discounts change preview money, never an already admitted collection identity. */
88
94
  export declare function repriceBookingCollectionOptions(input: Readonly<{
89
95
  options: readonly ResolvedBookingCollectionOption[];
@@ -1,3 +1,5 @@
1
+ import { type ConfirmationPayment, type ConfirmationOrderItem } from './confirmationPayment';
2
+ export { settledOrderItemTotalCents } from './confirmationPayment';
1
3
  import type { OrderPaymentMethod } from './orderTypes';
2
4
  export type ConfirmationEmailPaymentSummary = Readonly<{
3
5
  kind: 'free';
@@ -21,7 +23,7 @@ export type ConfirmationEmailPaymentSummary = Readonly<{
21
23
  amountOutstandingCents?: number;
22
24
  dueAt?: string | null;
23
25
  currency: string;
24
- paymentMethod: Extract<OrderPaymentMethod, 'stripe' | 'store_credit' | 'mixed'>;
26
+ paymentMethod: Extract<OrderPaymentMethod, 'stripe' | 'store_credit' | 'mixed' | 'manual'>;
25
27
  }>;
26
28
  export type ConfirmationEmailTemplatePaymentFields = Readonly<{
27
29
  paymentMethod?: 'free' | 'pass' | 'membership' | 'stripe' | 'manual' | 'waived';
@@ -34,18 +36,10 @@ export type ConfirmationEmailTemplatePaymentFields = Readonly<{
34
36
  managedBalanceDueAt?: string | null;
35
37
  }>;
36
38
  type NonMonetaryConfirmationPaymentMethod = 'free' | 'pass' | 'membership';
37
- export declare function settledOrderItemTotalCents(item: Readonly<{
38
- netTotalCents: number | null;
39
- totalCents: number | null;
40
- creditCents: number | null;
41
- }>): number;
42
- export declare function buildOrderItemConfirmationEmailPaymentSummary(options: {
39
+ /** Email copy projection; this function never decides settlement. */
40
+ export declare function toConfirmationEmailPaymentSummary(payment: ConfirmationPayment): ConfirmationEmailPaymentSummary;
41
+ type EmailOrderPaymentInput = Readonly<{
43
42
  orderPaymentMethod: OrderPaymentMethod;
44
- item: Readonly<{
45
- netTotalCents: number | null;
46
- totalCents: number | null;
47
- creditCents: number | null;
48
- }>;
49
43
  currency: string;
50
44
  flexibleBalanceDueAt?: string | null;
51
45
  settlement: Readonly<{
@@ -54,7 +48,14 @@ export declare function buildOrderItemConfirmationEmailPaymentSummary(options: {
54
48
  kind: 'collected';
55
49
  collectedCents: number;
56
50
  }>;
57
- }): ConfirmationEmailPaymentSummary;
51
+ }>;
52
+ /** Legacy notification adapter, retained unchanged in meaning until #1587. */
53
+ export declare function buildOrderItemsConfirmationEmailPaymentSummary(options: EmailOrderPaymentInput & Readonly<{
54
+ items: readonly ConfirmationOrderItem[];
55
+ }>): ConfirmationEmailPaymentSummary;
56
+ export declare function buildOrderItemConfirmationEmailPaymentSummary(options: EmailOrderPaymentInput & Readonly<{
57
+ item: ConfirmationOrderItem;
58
+ }>): ConfirmationEmailPaymentSummary;
58
59
  export declare function buildEventRegistrationConfirmationEmailPaymentSummary(options: Readonly<{
59
60
  paymentMethod: NonMonetaryConfirmationPaymentMethod;
60
61
  passCreditsUsed?: number;
@@ -88,4 +89,3 @@ export declare function buildBypassedCheckoutConfirmationEmailPaymentSummary(opt
88
89
  currency: string;
89
90
  }>): ConfirmationEmailPaymentSummary;
90
91
  export declare function toConfirmationEmailTemplatePaymentFields(summary: ConfirmationEmailPaymentSummary | undefined): ConfirmationEmailTemplatePaymentFields;
91
- export {};