@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
@@ -0,0 +1,65 @@
1
+ import { type NonNegativeCents, type Result } from '../../../core/src/index';
2
+ import type { z } from 'zod';
3
+ import { confirmationPaymentSchema, type paymentBalanceSchema } from './confirmationPaymentSchema';
4
+ import { type OrderPaymentPositionInconsistency, type PaymentTerms } from './orderPaymentState';
5
+ import type { OrderPaymentMethod } from './orderTypes';
6
+ import type { CurrencyCode } from './settlement';
7
+ export type PaymentBalance = z.infer<typeof paymentBalanceSchema>;
8
+ export type ConfirmationPayment = z.infer<typeof confirmationPaymentSchema>;
9
+ type MonetaryMethod = Extract<OrderPaymentMethod, 'stripe' | 'store_credit' | 'mixed' | 'manual'>;
10
+ export type ConfirmationPaymentIssue = OrderPaymentPositionInconsistency | Readonly<{
11
+ kind: 'missing_settlement_evidence';
12
+ }> | Readonly<{
13
+ kind: 'ambiguous_booking_allocation';
14
+ }> | Readonly<{
15
+ kind: 'invalid_pass_credits';
16
+ }>;
17
+ export type ConfirmationPaymentInput = Readonly<{
18
+ kind: 'free' | 'waived';
19
+ }> | Readonly<{
20
+ kind: 'pass';
21
+ passName?: string | null;
22
+ passCreditsUsed?: number | null;
23
+ }> | Readonly<{
24
+ kind: 'membership';
25
+ membershipName?: string | null;
26
+ }> | Readonly<{
27
+ kind: 'monetary';
28
+ paymentMethod: MonetaryMethod;
29
+ currency: CurrencyCode;
30
+ cashDueCents: NonNegativeCents;
31
+ cashPaidCents: NonNegativeCents;
32
+ creditPaidCents: NonNegativeCents;
33
+ waivedCents: NonNegativeCents;
34
+ terms: PaymentTerms;
35
+ }>;
36
+ /** Public payment evidence returns only schema-valid decisions. Legacy email
37
+ * snapshots deliberately use the amount calculation below instead of this boundary.
38
+ */
39
+ export declare function buildConfirmationPayment(input: ConfirmationPaymentInput): Result<ConfirmationPayment, ConfirmationPaymentIssue>;
40
+ export type ConfirmationOrderItem = Readonly<{
41
+ netTotalCents: number | null;
42
+ totalCents: number | null;
43
+ creditCents: number | null;
44
+ }>;
45
+ export declare function settledOrderItemTotalCents(item: ConfirmationOrderItem): number;
46
+ /** Historical notification amounts, not a validated public payment decision.
47
+ * Preserve HEAD's raw snapshot numbers; strict evidence validation belongs to
48
+ * the public read boundary, not notification-plan construction (#1587).
49
+ */
50
+ export declare function calculateOrderItemsConfirmationPaymentAmounts(input: Readonly<{
51
+ items: readonly ConfirmationOrderItem[];
52
+ settlement: Readonly<{
53
+ kind: 'settled_in_full';
54
+ }> | Readonly<{
55
+ kind: 'collected';
56
+ collectedCents: number;
57
+ }>;
58
+ }>): Readonly<{
59
+ amountPaidCents: number;
60
+ amountOutstandingCents: number;
61
+ }>;
62
+ export declare function collectedOrderItemsConfirmationCents<TItem extends Readonly<{
63
+ id: string;
64
+ }>>(items: readonly TItem[], collectedCentsByOrderItemId: Readonly<Record<string, number>>): number;
65
+ export {};
@@ -0,0 +1,66 @@
1
+ import { z } from 'zod';
2
+ export declare const paymentBalanceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ kind: z.ZodLiteral<"settled">;
4
+ }, z.core.$strict>, z.ZodObject<{
5
+ kind: z.ZodLiteral<"due">;
6
+ amountCents: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("../../../core/src/index").PositiveCents, number>>;
7
+ dueAt: z.ZodNullable<z.ZodString>;
8
+ }, z.core.$strict>], "kind">;
9
+ export declare const confirmationPaymentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
10
+ kind: z.ZodLiteral<"free">;
11
+ balance: z.ZodObject<{
12
+ kind: z.ZodLiteral<"settled">;
13
+ }, z.core.$strict>;
14
+ }, z.core.$strict>, z.ZodObject<{
15
+ kind: z.ZodLiteral<"waived">;
16
+ balance: z.ZodObject<{
17
+ kind: z.ZodLiteral<"settled">;
18
+ }, z.core.$strict>;
19
+ }, z.core.$strict>, z.ZodObject<{
20
+ kind: z.ZodLiteral<"pass">;
21
+ passName: z.ZodNullable<z.ZodString>;
22
+ passCreditsUsed: z.ZodNullable<z.ZodNumber>;
23
+ balance: z.ZodObject<{
24
+ kind: z.ZodLiteral<"settled">;
25
+ }, z.core.$strict>;
26
+ }, z.core.$strict>, z.ZodObject<{
27
+ kind: z.ZodLiteral<"membership">;
28
+ membershipName: z.ZodNullable<z.ZodString>;
29
+ balance: z.ZodObject<{
30
+ kind: z.ZodLiteral<"settled">;
31
+ }, z.core.$strict>;
32
+ }, z.core.$strict>, z.ZodObject<{
33
+ kind: z.ZodLiteral<"manual_due">;
34
+ currency: z.ZodPipe<z.ZodString, z.ZodTransform<import("./settlement").CurrencyCode, string>>;
35
+ balance: z.ZodObject<{
36
+ kind: z.ZodLiteral<"due">;
37
+ amountCents: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("../../../core/src/index").PositiveCents, number>>;
38
+ dueAt: z.ZodNullable<z.ZodString>;
39
+ }, z.core.$strict>;
40
+ }, z.core.$strict>, z.ZodObject<{
41
+ balance: z.ZodObject<{
42
+ kind: z.ZodLiteral<"due">;
43
+ amountCents: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("../../../core/src/index").PositiveCents, number>>;
44
+ dueAt: z.ZodNullable<z.ZodString>;
45
+ }, z.core.$strict>;
46
+ amountPaidCents: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("../../../core/src/index").NonNegativeCents, number>>;
47
+ currency: z.ZodPipe<z.ZodString, z.ZodTransform<import("./settlement").CurrencyCode, string>>;
48
+ kind: z.ZodLiteral<"managed_balance_due">;
49
+ }, z.core.$strict>, z.ZodObject<{
50
+ paymentMethod: z.ZodEnum<{
51
+ mixed: "mixed";
52
+ manual: "manual";
53
+ stripe: "stripe";
54
+ store_credit: "store_credit";
55
+ }>;
56
+ balance: z.ZodDiscriminatedUnion<[z.ZodObject<{
57
+ kind: z.ZodLiteral<"settled">;
58
+ }, z.core.$strict>, z.ZodObject<{
59
+ kind: z.ZodLiteral<"due">;
60
+ amountCents: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("../../../core/src/index").PositiveCents, number>>;
61
+ dueAt: z.ZodNullable<z.ZodString>;
62
+ }, z.core.$strict>], "kind">;
63
+ amountPaidCents: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("../../../core/src/index").NonNegativeCents, number>>;
64
+ currency: z.ZodPipe<z.ZodString, z.ZodTransform<import("./settlement").CurrencyCode, string>>;
65
+ kind: z.ZodLiteral<"monetary">;
66
+ }, z.core.$strict>], "kind">;
@@ -20,6 +20,8 @@ export * from './checkoutStripeSessionPlanning';
20
20
  export * from './checkoutSessionMetadata';
21
21
  export * from './canonicalRefundPlanner';
22
22
  export * from './confirmationEmailPayment';
23
+ export * from './confirmationPayment';
24
+ export * from './confirmationPaymentSchema';
23
25
  export * from './discountApplication';
24
26
  export * from './oneTimeCheckoutPlanning';
25
27
  export * from './order-number';
@@ -111,6 +111,14 @@ export type OrderPaymentPositionInput = Readonly<{
111
111
  }> | null;
112
112
  hasCollectionFailure?: boolean;
113
113
  }>;
114
+ /** Amount arithmetic shared by strict payment evidence and tolerant email snapshots.
115
+ * Snapshots historically clamp overcollection to zero; the strict decision below
116
+ * checks collectability before using the same calculation.
117
+ */
118
+ export declare function calculateOutstandingOrderAmountCents(input: Readonly<{
119
+ totalCents: number;
120
+ settledCents: number;
121
+ }>): number;
114
122
  export declare function calculateOrderBalanceDueCents(input: Readonly<{
115
123
  grandTotalCents: NonNegativeCents;
116
124
  paidCents: NonNegativeCents;
@@ -12,14 +12,14 @@ declare const BaseContentFieldSchema: z.ZodObject<{
12
12
  text: "text";
13
13
  group: "group";
14
14
  url: "url";
15
+ file: "file";
16
+ datetime: "datetime";
15
17
  textarea: "textarea";
16
18
  select: "select";
17
19
  media: "media";
18
20
  reference: "reference";
19
- repeater: "repeater";
20
- file: "file";
21
- datetime: "datetime";
22
21
  button: "button";
22
+ repeater: "repeater";
23
23
  richText: "richText";
24
24
  }>;
25
25
  label: z.ZodOptional<z.ZodString>;
@@ -150,11 +150,11 @@ export declare const DEFAULT_TEMPLATE_DEFINITIONS: {
150
150
  readonly blockKind: "block.event-registration";
151
151
  readonly scope: "entry";
152
152
  readonly content: {
153
- readonly heading: "Register for this event";
153
+ readonly heading: "";
154
154
  readonly maxTickets: "5";
155
155
  readonly showVenue: true;
156
156
  readonly showCapacity: true;
157
- readonly buttonText: "Complete Registration";
157
+ readonly buttonText: "Book your place";
158
158
  readonly buttonVariant: "primary";
159
159
  };
160
160
  readonly bindings: {
@@ -0,0 +1,20 @@
1
+ import type { BookingPaymentCollectionOption } from './booking-payment-options';
2
+ /** Customer disclosure only: amounts are acceptance ceilings, never settlement inputs. */
3
+ export type AppointmentBookingTerms = Readonly<{
4
+ currency: string;
5
+ totalCents: number;
6
+ dueNowCents: number;
7
+ laterPaymentAmountsCents: readonly number[];
8
+ paymentOption: BookingPaymentCollectionOption | Readonly<{
9
+ kind: 'not_required';
10
+ }>;
11
+ promisedDiscountId?: string | null;
12
+ }>;
13
+ export type AppointmentBookingReviewReason = 'amount_increased' | 'payment_terms_changed' | 'discount_unavailable';
14
+ export type AppointmentBookingReview = Readonly<{
15
+ terms: AppointmentBookingTerms;
16
+ subtotalCents: number;
17
+ discountCents: number;
18
+ creditCents: number;
19
+ reason: AppointmentBookingReviewReason;
20
+ }>;
@@ -519,4 +519,74 @@ export declare const bookingPaymentOptionsChoiceSchema: z.ZodDiscriminatedUnion<
519
519
  }, z.core.$strip>], "kind">>;
520
520
  }, z.core.$strip>;
521
521
  }, z.core.$strict>], "source">;
522
+ /** Strict evidence shape; accepts configured rules but no materialised schedule metadata. */
523
+ export declare const appointmentBookingTermsSchema: z.ZodObject<{
524
+ currency: z.ZodString;
525
+ totalCents: z.ZodNumber;
526
+ dueNowCents: z.ZodNumber;
527
+ laterPaymentAmountsCents: z.ZodArray<z.ZodNumber>;
528
+ paymentOption: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
529
+ kind: z.ZodLiteral<"upfront">;
530
+ }, z.core.$strict>, z.ZodObject<{
531
+ kind: z.ZodLiteral<"deferred_manual">;
532
+ }, z.core.$strict>, z.ZodObject<{
533
+ kind: z.ZodLiteral<"instalment_plan">;
534
+ plan: z.ZodDiscriminatedUnion<[z.ZodObject<{
535
+ kind: z.ZodLiteral<"deposit_plus_one_remainder">;
536
+ depositAmountCents: z.ZodNumber;
537
+ depositRefundability: z.ZodEnum<{
538
+ refundable: "refundable";
539
+ non_refundable: "non_refundable";
540
+ }>;
541
+ remainderDueCount: z.ZodNumber;
542
+ intervalUnit: z.ZodEnum<{
543
+ day: "day";
544
+ week: "week";
545
+ month: "month";
546
+ }>;
547
+ }, z.core.$strict>, z.ZodObject<{
548
+ kind: z.ZodLiteral<"deposit_plus_scheduled_instalments">;
549
+ depositAmountCents: z.ZodNumber;
550
+ depositRefundability: z.ZodEnum<{
551
+ refundable: "refundable";
552
+ non_refundable: "non_refundable";
553
+ }>;
554
+ instalmentCount: z.ZodNumber;
555
+ intervalCount: z.ZodNumber;
556
+ intervalUnit: z.ZodEnum<{
557
+ day: "day";
558
+ week: "week";
559
+ month: "month";
560
+ }>;
561
+ }, z.core.$strict>, z.ZodObject<{
562
+ kind: z.ZodLiteral<"equal_scheduled_instalments">;
563
+ instalmentCount: z.ZodNumber;
564
+ intervalCount: z.ZodNumber;
565
+ intervalUnit: z.ZodEnum<{
566
+ day: "day";
567
+ week: "week";
568
+ month: "month";
569
+ }>;
570
+ }, z.core.$strict>], "kind">;
571
+ }, z.core.$strict>, z.ZodObject<{
572
+ kind: z.ZodLiteral<"flexible_balance">;
573
+ config: z.ZodObject<{
574
+ upfrontAmountCents: z.ZodNumber;
575
+ dueDateRule: z.ZodDiscriminatedUnion<[z.ZodObject<{
576
+ kind: z.ZodLiteral<"relative_to_start_date">;
577
+ daysBeforeStart: z.ZodNumber;
578
+ }, z.core.$strict>, z.ZodObject<{
579
+ kind: z.ZodLiteral<"fixed_calendar_date">;
580
+ dueAt: z.ZodString;
581
+ }, z.core.$strict>], "kind">;
582
+ depositRefundability: z.ZodEnum<{
583
+ refundable: "refundable";
584
+ non_refundable: "non_refundable";
585
+ }>;
586
+ }, z.core.$strict>;
587
+ }, z.core.$strict>], "kind">, z.ZodObject<{
588
+ kind: z.ZodLiteral<"not_required">;
589
+ }, z.core.$strict>]>;
590
+ promisedDiscountId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
591
+ }, z.core.$strict>;
522
592
  export {};
@@ -139,7 +139,6 @@ export type DemoLifecycleAuditEventId = Brand<string, 'DemoLifecycleAuditEventId
139
139
  export type DemoRuntimeId = Brand<string, 'DemoRuntimeId'>;
140
140
  export type DemoCapability = Brand<string, 'DemoCapability'>;
141
141
  export type DemoPaymentFlowId = Brand<string, 'DemoPaymentFlowId'>;
142
- export type DemoClaimTtlHours = Brand<number, 'DemoClaimTtlHours'>;
143
142
  export type GiftingOfferId = Brand<string, 'GiftingOfferId'>;
144
143
  export type GiftingInstrumentId = Brand<string, 'GiftingInstrumentId'>;
145
144
  export type BookingRequirementId = Brand<string, 'BookingRequirementId'>;
@@ -278,7 +277,6 @@ export declare const unsafeAsDemoLifecycleAuditEventId: (id: string) => DemoLife
278
277
  export declare const unsafeAsDemoRuntimeId: (id: string) => DemoRuntimeId;
279
278
  export declare const unsafeAsDemoCapability: (value: string) => DemoCapability;
280
279
  export declare const unsafeAsDemoPaymentFlowId: (id: string) => DemoPaymentFlowId;
281
- export declare const unsafeAsDemoClaimTtlHours: (value: number) => DemoClaimTtlHours;
282
280
  export declare const unsafeAsGiftingOfferId: (id: string) => GiftingOfferId;
283
281
  export declare const unsafeAsGiftingInstrumentId: (id: string) => GiftingInstrumentId;
284
282
  export declare const unsafeAsBookingRequirementId: (id: string) => BookingRequirementId;
@@ -4,7 +4,7 @@ export type DemoClaimAccessInstance = Readonly<{
4
4
  status: DemoInstanceStatus;
5
5
  }>;
6
6
  export type DemoClaimAccessClaim = Readonly<{
7
- status: DemoClaimStatus;
7
+ status: Exclude<DemoClaimStatus, 'preparing'>;
8
8
  expiresAt: string;
9
9
  }> | null;
10
10
  export declare function deriveDemoClaimAccessState(input: Readonly<{
@@ -0,0 +1,18 @@
1
+ import type { DemoClaimId, DemoBlueprintVersionId, SiteId } from './branded';
2
+ export type DemoClaimReadiness = Readonly<{
3
+ status: 'preparing';
4
+ claimId: DemoClaimId;
5
+ blueprintVersionId: DemoBlueprintVersionId;
6
+ }> | Readonly<{
7
+ status: 'ready';
8
+ claimId: DemoClaimId;
9
+ blueprintVersionId: DemoBlueprintVersionId;
10
+ siteId: SiteId;
11
+ expiresAt: string;
12
+ }> | Readonly<{
13
+ status: 'ended';
14
+ claimId: DemoClaimId;
15
+ }> | Readonly<{
16
+ status: 'setup_failed';
17
+ claimId: DemoClaimId;
18
+ }>;
@@ -2,7 +2,7 @@ export declare const demoBlueprintStatusValues: readonly ["draft", "published",
2
2
  export type DemoBlueprintStatus = (typeof demoBlueprintStatusValues)[number];
3
3
  export declare const demoInstanceStatusValues: readonly ["warming", "available", "claimed", "expired", "showcase", "failed"];
4
4
  export type DemoInstanceStatus = (typeof demoInstanceStatusValues)[number];
5
- export declare const demoClaimStatusValues: readonly ["active", "expired", "released"];
5
+ export declare const demoClaimStatusValues: readonly ["preparing", "active", "expired", "released"];
6
6
  export type DemoClaimStatus = (typeof demoClaimStatusValues)[number];
7
7
  export declare const demoBlueprintArtifactKindValues: readonly ["recipe"];
8
8
  export type DemoBlueprintArtifactKind = (typeof demoBlueprintArtifactKindValues)[number];
@@ -1,5 +1,5 @@
1
1
  import { type Result } from './result';
2
- export declare const DEFAULT_DEMO_WARM_POOL_TARGET = 0;
2
+ export declare const DEFAULT_DEMO_WARM_POOL_TARGET = 1;
3
3
  export declare const MAX_DEMO_WARM_POOL_TARGET = 20;
4
4
  export type DemoWarmPoolTargetError = Readonly<{
5
5
  kind: 'invalid_demo_warm_pool_target';
@@ -15,12 +15,14 @@ export * from './event-page-surface-subject';
15
15
  export * from './event-page-selection';
16
16
  export * from './public-event-booking-availability';
17
17
  export * from './money-input';
18
+ export * from './ticket-quantity';
18
19
  export * from './booking-flexible-balance';
19
20
  export * from './booking-refunds';
20
21
  export * from './booking-instalments';
21
22
  export * from './booking-instalment-deposit';
22
23
  export * from './booking-live-payment-terms';
23
24
  export * from './booking-payment-options';
25
+ export * from './appointment-booking-terms';
24
26
  export * from './booking-date-time';
25
27
  export * from './booking-consent';
26
28
  export * from './appointment-service-categories';
@@ -54,6 +56,7 @@ export * from './mailing-list-identifiers';
54
56
  export * from './mailing-list-setup';
55
57
  export * from './mailing-list-setup-parser';
56
58
  export * from './mailing-list-targeting';
59
+ export * from './mailing-list-targeting-availability';
57
60
  export * from './mailing-list-runtime';
58
61
  export * from './mailing-list-targeting-parser';
59
62
  export * from './mailing-list-submission';
@@ -86,3 +89,4 @@ export * from './navigation-portal-labels';
86
89
  export * from './event-preset-vocabulary';
87
90
  export * from './event-catalogue';
88
91
  export * from './patch';
92
+ export * from './demo-claim-readiness';
@@ -1,6 +1,6 @@
1
1
  import type { BrevoListId, MailchimpAudienceId, MailchimpInterestId } from './mailing-list-identifiers';
2
2
  import { type Result } from './result';
3
- import type { MailingListGlobalForm, MailingListSetupRevision, NativeMailingListTopicId } from './mailing-list-setup';
3
+ import type { MailingListGlobalForm, MailingListSetupRevision, NativeMailingListTopicId, NewsletterAudience } from './mailing-list-setup';
4
4
  export type MailingListRuntimeContext = Readonly<{
5
5
  tag: 'not_configured';
6
6
  }> | Readonly<{
@@ -12,7 +12,7 @@ export type MailingListRuntimeContext = Readonly<{
12
12
  }>;
13
13
  export type MailingListRuntimeProvider = Readonly<{
14
14
  provider: 'native';
15
- defaultTopicId: NativeMailingListTopicId;
15
+ defaultAudience: NewsletterAudience;
16
16
  topics: readonly Readonly<{
17
17
  id: NativeMailingListTopicId;
18
18
  name: string;
@@ -1,5 +1,12 @@
1
- import type { ConfiguredMailingListProvider, MailingListGlobalForm, MailingListSetupRevision, MailingListSiteSetup } from './mailing-list-setup';
1
+ import type { ConfiguredMailingListProvider, MailingListGlobalForm, MailingListSetupRevision, MailingListSiteSetup, NewsletterAudience } from './mailing-list-setup';
2
2
  import { type Result } from './result';
3
+ import { z } from 'zod';
4
+ export declare const newsletterAudienceSchema: z.ZodPipe<z.ZodUnknown, z.ZodTransform<Readonly<{
5
+ kind: "general";
6
+ }> | Readonly<{
7
+ kind: "topic";
8
+ topicId: import("./mailing-list-setup").NativeMailingListTopicId;
9
+ }>, unknown>>;
3
10
  export type MailingListSetupParseError = Readonly<{
4
11
  tag: 'invalid_mailing_list_setup';
5
12
  field: 'shape' | 'tag' | 'siteId' | 'revision' | 'form' | 'provider' | 'connectionId' | 'accountId' | 'defaultTargetId' | 'confirmation';
@@ -11,4 +18,5 @@ export type MailingListGlobalFormParseError = Readonly<{
11
18
  export declare function parseMailingListGlobalForm(value: unknown): Result<MailingListGlobalForm, MailingListGlobalFormParseError>;
12
19
  export declare function parseMailingListSiteSetup(value: unknown): Result<MailingListSiteSetup, MailingListSetupParseError>;
13
20
  export declare function parseConfiguredMailingListProvider(value: unknown): Result<ConfiguredMailingListProvider, MailingListSetupParseError>;
21
+ export declare function parseNewsletterAudience(value: unknown): Result<NewsletterAudience, 'invalid_newsletter_audience'>;
14
22
  export declare function parseMailingListSetupRevision(value: unknown): MailingListSetupRevision | null;
@@ -5,6 +5,14 @@ export type MailingListProvider = 'native' | 'mailchimp' | 'brevo';
5
5
  /** The name shown to people for each provider; the native one is the product brand. */
6
6
  export declare function mailingListProviderName(provider: MailingListProvider): string;
7
7
  export type NativeMailingListTopicId = NewsletterListId;
8
+ /** An explicit subscription scope; absence of a topic never grants general consent. */
9
+ export type NewsletterAudience = Readonly<{
10
+ kind: 'general';
11
+ }> | Readonly<{
12
+ kind: 'topic';
13
+ topicId: NativeMailingListTopicId;
14
+ }>;
15
+ export declare function sameNewsletterAudience(left: NewsletterAudience, right: NewsletterAudience): boolean;
8
16
  export type MailingListSetupRevision = Brand<number, 'MailingListSetupRevision'>;
9
17
  export type MailingListProfileField = 'name' | 'first_name' | 'last_name' | 'company' | 'phone';
10
18
  export type MailingListGlobalFields = Readonly<{
@@ -48,7 +56,7 @@ export type BrevoConfirmation = Readonly<{
48
56
  }>;
49
57
  export type NativeMailingListSetup = Readonly<{
50
58
  provider: 'native';
51
- defaultTopicId: NativeMailingListTopicId;
59
+ defaultAudience: NewsletterAudience;
52
60
  confirmation: ToggleConfirmation;
53
61
  }>;
54
62
  export type MailchimpMailingListSetup = Readonly<{
@@ -185,7 +185,7 @@ export type MailingListPublicSignupResponse = Readonly<{
185
185
  reason: 'profile_rejected';
186
186
  }> | Readonly<{
187
187
  tag: 'unavailable';
188
- reason: 'configuration_unavailable' | 'stale_configuration' | 'authentication_failed' | 'target_unavailable' | 'rate_limited' | 'temporarily_unavailable';
188
+ reason: 'confirmation_email_failed' | 'configuration_unavailable' | 'stale_configuration' | 'authentication_failed' | 'target_unavailable' | 'rate_limited' | 'temporarily_unavailable';
189
189
  }> | Readonly<{
190
190
  tag: 'uncertain';
191
191
  reason: 'deadline_exceeded' | 'network_interrupted';
@@ -0,0 +1,68 @@
1
+ import type { MailingListRuntimeContext, MailingListRuntimeProvider } from './mailing-list-runtime';
2
+ import { type MailingListDefaultTargeting, type MailingListPlacementTargeting } from './mailing-list-targeting';
3
+ type CustomTargeting = Exclude<MailingListPlacementTargeting, {
4
+ mode: 'default';
5
+ }>;
6
+ type Catalog<P extends MailingListRuntimeProvider['provider']> = Extract<MailingListRuntimeProvider, {
7
+ provider: P;
8
+ }>;
9
+ type Targeting<P extends CustomTargeting['provider']> = Extract<CustomTargeting, {
10
+ provider: P;
11
+ }>;
12
+ type Choice = Readonly<{
13
+ id: string | number;
14
+ name: string;
15
+ }>;
16
+ type MailchimpAudience = Catalog<'mailchimp'>['audiences'][number];
17
+ /** Provider and placement stay correlated after the assessment has matched them. */
18
+ export type MailingListMatchedTargeting = Readonly<{
19
+ provider: 'native';
20
+ catalog: Catalog<'native'>;
21
+ targeting: Targeting<'native'>;
22
+ }> | Readonly<{
23
+ provider: 'brevo';
24
+ catalog: Catalog<'brevo'>;
25
+ targeting: Targeting<'brevo'>;
26
+ }> | Readonly<{
27
+ provider: 'mailchimp';
28
+ catalog: Catalog<'mailchimp'>;
29
+ targeting: Targeting<'mailchimp'>;
30
+ audience: MailchimpAudience;
31
+ }>;
32
+ export type MailingListResolvedCustomTargeting = MailingListMatchedTargeting & Readonly<{
33
+ mode: 'custom';
34
+ choices: readonly Choice[];
35
+ selectedChoices: readonly Choice[];
36
+ }>;
37
+ export type MailingListResolvedTargeting = MailingListResolvedCustomTargeting | Readonly<{
38
+ mode: 'default';
39
+ provider: MailingListRuntimeProvider['provider'];
40
+ targeting: MailingListDefaultTargeting;
41
+ destination: Choice;
42
+ }>;
43
+ export type MailingListMissingAudienceTargeting = Readonly<{
44
+ mode: 'custom';
45
+ provider: 'mailchimp';
46
+ catalog: Catalog<'mailchimp'>;
47
+ targeting: Targeting<'mailchimp'>;
48
+ }>;
49
+ export type MailingListTargetingAvailability = Readonly<{
50
+ tag: 'available';
51
+ value: MailingListResolvedTargeting;
52
+ }> | Readonly<{
53
+ tag: 'unavailable';
54
+ reason: 'setup_missing' | 'provider_mismatch' | 'default_missing';
55
+ targeting: MailingListPlacementTargeting;
56
+ }> | Readonly<{
57
+ tag: 'unavailable';
58
+ reason: 'audience_missing';
59
+ value: MailingListMissingAudienceTargeting;
60
+ }> | Readonly<{
61
+ tag: 'unavailable';
62
+ reason: 'choices_missing';
63
+ missingIds: readonly (string | number)[];
64
+ value: MailingListResolvedCustomTargeting;
65
+ }>;
66
+ export declare function resolveMailingListDefaultDestination(provider: MailingListRuntimeProvider): Choice | null;
67
+ export declare function assessMailingListTargeting(context: MailingListRuntimeContext | undefined, targeting: MailingListPlacementTargeting): MailingListTargetingAvailability;
68
+ export {};
@@ -5,10 +5,19 @@ import { type Result } from './result';
5
5
  export type MailingListDefaultTargeting = Readonly<{
6
6
  mode: 'default';
7
7
  }>;
8
+ export type NativeMailingListAudience = Readonly<{
9
+ kind: 'general';
10
+ }> | Readonly<{
11
+ kind: 'topics';
12
+ topicIds: ReadonlyNonEmptyArray<NativeMailingListTopicId>;
13
+ }>;
14
+ export declare const DEFAULT_MAILING_LIST_TARGETING: MailingListDefaultTargeting;
8
15
  export type NativeMailingListCustomTargeting = Readonly<{
9
16
  mode: 'custom';
10
17
  provider: 'native';
11
18
  selection: Readonly<{
19
+ tag: 'general';
20
+ }> | Readonly<{
12
21
  tag: 'fixed';
13
22
  topicIds: ReadonlyNonEmptyArray<NativeMailingListTopicId>;
14
23
  }> | Readonly<{
@@ -41,6 +50,7 @@ export type MailchimpMailingListCustomTargeting = Readonly<{
41
50
  }>;
42
51
  export type MailingListPlacementTargeting = MailingListDefaultTargeting | NativeMailingListCustomTargeting | BrevoMailingListCustomTargeting | MailchimpMailingListCustomTargeting;
43
52
  export declare function sameMailingListPlacementTargeting(left: MailingListPlacementTargeting, right: MailingListPlacementTargeting): boolean;
53
+ export declare function mailingListTargetingChoiceIds(targeting: Exclude<MailingListPlacementTargeting, MailingListDefaultTargeting>): readonly (string | number)[];
44
54
  export type MailingListVisitorSelection = Readonly<{
45
55
  provider: 'native';
46
56
  topicIds: readonly NativeMailingListTopicId[];
@@ -53,7 +63,7 @@ export type MailingListVisitorSelection = Readonly<{
53
63
  }>;
54
64
  export type ResolvedMailingListTarget = Readonly<{
55
65
  provider: 'native';
56
- topicIds: ReadonlyNonEmptyArray<NativeMailingListTopicId>;
66
+ audience: NativeMailingListAudience;
57
67
  }> | Readonly<{
58
68
  provider: 'brevo';
59
69
  listIds: ReadonlyNonEmptyArray<BrevoListId>;
@@ -0,0 +1,13 @@
1
+ import type { Brand } from './branded';
2
+ import { type Result } from './result';
3
+ /** A whole number of booked places, at least one. */
4
+ export type PositiveTicketQuantity = Brand<number, 'PositiveTicketQuantity'>;
5
+ export declare function toPositiveTicketQuantity(value: number): Result<PositiveTicketQuantity, 'invalid_quantity'>;
6
+ /**
7
+ * The places a booking holds: the sum of its ticket lines' quantities. The one
8
+ * derivation for selections, persisted lines and a booking outcome's lines;
9
+ * null when the total is not a positive whole number.
10
+ */
11
+ export declare function deriveTotalTicketQuantity(lines: readonly Readonly<{
12
+ quantity: number;
13
+ }>[]): PositiveTicketQuantity | null;