@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
@@ -2,6 +2,6 @@ import { type ThemeColorToken } from '../tokens';
2
2
  export declare const backgroundAppearanceQuickColorTokenNames: readonly ["background", "surface", "muted", "primary", "secondary", "accent"];
3
3
  export declare const backgroundAppearanceBaseColorTokenNames: readonly ["background", "surface", "surfaceAlt", "muted", "primary", "secondary", "accent", "neutral"];
4
4
  export declare const backgroundAppearanceShadeableColorTokenNames: readonly ["primary", "secondary", "accent", "neutral"];
5
- export declare const backgroundAppearanceColorTokenNames: readonly ("surface" | "background" | "primary" | "secondary" | "accent" | "surfaceAlt" | "muted" | "neutral" | "neutral-600" | "neutral-500" | "neutral-50" | "neutral-900" | "primary-50" | "primary-500" | "primary-900" | "secondary-50" | "secondary-500" | "secondary-900" | "accent-50" | "accent-500" | "accent-900" | "neutral-100" | "primary-400" | "neutral-300" | "neutral-950" | "neutral-800" | "primary-800" | "primary-700" | "neutral-700" | "primary-300" | "primary-600" | "secondary-600" | "accent-600" | "accent-400" | "neutral-200" | "secondary-400" | "neutral-400" | "primary-100" | "primary-200" | "primary-950" | "secondary-100" | "secondary-200" | "secondary-300" | "secondary-700" | "secondary-800" | "secondary-950" | "accent-100" | "accent-200" | "accent-300" | "accent-700" | "accent-800" | "accent-950")[];
6
- export declare const backgroundAppearanceAdvancedColorTokenNames: ("surface" | "background" | "primary" | "secondary" | "accent" | "surfaceAlt" | "muted" | "neutral" | "neutral-600" | "neutral-500" | "neutral-50" | "neutral-900" | "primary-50" | "primary-500" | "primary-900" | "secondary-50" | "secondary-500" | "secondary-900" | "accent-50" | "accent-500" | "accent-900" | "neutral-100" | "primary-400" | "neutral-300" | "neutral-950" | "neutral-800" | "primary-800" | "primary-700" | "neutral-700" | "primary-300" | "primary-600" | "secondary-600" | "accent-600" | "accent-400" | "neutral-200" | "secondary-400" | "neutral-400" | "primary-100" | "primary-200" | "primary-950" | "secondary-100" | "secondary-200" | "secondary-300" | "secondary-700" | "secondary-800" | "secondary-950" | "accent-100" | "accent-200" | "accent-300" | "accent-700" | "accent-800" | "accent-950")[];
5
+ export declare const backgroundAppearanceColorTokenNames: readonly ("surface" | "background" | "primary" | "secondary" | "accent" | "surfaceAlt" | "muted" | "neutral" | "neutral-50" | "neutral-900" | "primary-50" | "primary-500" | "primary-900" | "secondary-50" | "secondary-500" | "secondary-900" | "accent-50" | "accent-500" | "accent-900" | "neutral-100" | "neutral-600" | "primary-400" | "neutral-300" | "neutral-950" | "neutral-800" | "neutral-700" | "primary-300" | "primary-600" | "secondary-600" | "accent-600" | "accent-400" | "neutral-200" | "secondary-400" | "neutral-400" | "primary-100" | "neutral-500" | "primary-800" | "primary-700" | "primary-200" | "primary-950" | "secondary-100" | "secondary-200" | "secondary-300" | "secondary-700" | "secondary-800" | "secondary-950" | "accent-100" | "accent-200" | "accent-300" | "accent-700" | "accent-800" | "accent-950")[];
6
+ export declare const backgroundAppearanceAdvancedColorTokenNames: ("surface" | "background" | "primary" | "secondary" | "accent" | "surfaceAlt" | "muted" | "neutral" | "neutral-50" | "neutral-900" | "primary-50" | "primary-500" | "primary-900" | "secondary-50" | "secondary-500" | "secondary-900" | "accent-50" | "accent-500" | "accent-900" | "neutral-100" | "neutral-600" | "primary-400" | "neutral-300" | "neutral-950" | "neutral-800" | "neutral-700" | "primary-300" | "primary-600" | "secondary-600" | "accent-600" | "accent-400" | "neutral-200" | "secondary-400" | "neutral-400" | "primary-100" | "neutral-500" | "primary-800" | "primary-700" | "primary-200" | "primary-950" | "secondary-100" | "secondary-200" | "secondary-300" | "secondary-700" | "secondary-800" | "secondary-950" | "accent-100" | "accent-200" | "accent-300" | "accent-700" | "accent-800" | "accent-950")[];
7
7
  export declare function parseBackgroundAppearanceColorToken(value: unknown): ThemeColorToken | null;
@@ -1,36 +1,36 @@
1
1
  import type { Ground } from './cardRoleVocabulary';
2
- import { type BoxBackground } from '../boxBackgroundSchema';
2
+ import { type RuntimeBoxBackground } from '../boxBackgroundSchema';
3
3
  import { type ResolvedSurfaceForeground } from '../surfaces';
4
4
  import type { CompiledBlockRuntimeFields } from './runtimeCompiler';
5
5
  type CanonicalRuntimeBackground = Readonly<{
6
6
  kind: 'none';
7
7
  }> | Readonly<{
8
8
  kind: 'block-authored';
9
- background: BoxBackground;
9
+ background: RuntimeBoxBackground;
10
10
  }> | Readonly<{
11
11
  kind: 'page-design-override';
12
- background: BoxBackground;
12
+ background: RuntimeBoxBackground;
13
13
  }>;
14
14
  export type ResolvedSectionBackground = Readonly<{
15
15
  kind: 'override';
16
- background: BoxBackground;
16
+ background: RuntimeBoxBackground;
17
17
  }> | Readonly<{
18
18
  kind: 'authored-media';
19
- background: BoxBackground;
19
+ background: RuntimeBoxBackground;
20
20
  }> | Readonly<{
21
21
  kind: 'look-surface';
22
- background: BoxBackground;
22
+ background: RuntimeBoxBackground;
23
23
  }> | Readonly<{
24
24
  kind: 'authored-colour';
25
- background: BoxBackground;
25
+ background: RuntimeBoxBackground;
26
26
  }> | Readonly<{
27
27
  kind: 'rhythm';
28
- background: BoxBackground;
28
+ background: RuntimeBoxBackground;
29
29
  }> | Readonly<{
30
30
  kind: 'base';
31
31
  }>;
32
32
  export declare function parseCanonicalRuntimeBackground(content: Record<string, unknown>): CanonicalRuntimeBackground;
33
- export declare function resolveSectionBackground(source: CanonicalRuntimeBackground, lookDefault: NonNullable<NonNullable<CompiledBlockRuntimeFields['_sectionStyles']>['background']> | null | undefined, rhythm?: BoxBackground | null, arrangementHeroPhoto?: Readonly<{
33
+ export declare function resolveSectionBackground(source: CanonicalRuntimeBackground, lookDefault: NonNullable<NonNullable<CompiledBlockRuntimeFields['_sectionStyles']>['background']> | null | undefined, rhythm?: RuntimeBoxBackground | null, arrangementHeroPhoto?: Readonly<{
34
34
  paintsGround: boolean;
35
35
  }>): ResolvedSectionBackground;
36
36
  export declare function resolveSectionForeground(background: ResolvedSectionBackground, palette: Readonly<Record<string, string>>): ResolvedSurfaceForeground;
@@ -22,8 +22,8 @@ export declare const styleTagsSchema: z.ZodObject<{
22
22
  }>>;
23
23
  motion: z.ZodOptional<z.ZodEnum<{
24
24
  standard: "standard";
25
- expressive: "expressive";
26
25
  subtle: "subtle";
26
+ expressive: "expressive";
27
27
  }>>;
28
28
  era: z.ZodOptional<z.ZodEnum<{
29
29
  editorial: "editorial";
@@ -45,8 +45,8 @@ export declare const themeTokenRecipesSchema: z.ZodObject<{
45
45
  }>;
46
46
  motion: z.ZodEnum<{
47
47
  none: "none";
48
- expressive: "expressive";
49
48
  subtle: "subtle";
49
+ expressive: "expressive";
50
50
  }>;
51
51
  }, z.core.$strip>;
52
52
  export declare const defaultThemeTokenRecipes: {
@@ -3,6 +3,7 @@ export declare const skinTokenNames: readonly ["radius", "rule", "mark-length",
3
3
  export declare const skinTokensSchema: z.ZodRecord<z.ZodEnum<{
4
4
  main: "main";
5
5
  radius: "radius";
6
+ rotation: "rotation";
6
7
  rule: "rule";
7
8
  "mark-length": "mark-length";
8
9
  "mark-weight": "mark-weight";
@@ -11,7 +12,6 @@ export declare const skinTokensSchema: z.ZodRecord<z.ZodEnum<{
11
12
  "copy-gap": "copy-gap";
12
13
  "stack-gap": "stack-gap";
13
14
  "shadow-offset": "shadow-offset";
14
- rotation: "rotation";
15
15
  wrap: "wrap";
16
16
  margin: "margin";
17
17
  rail: "rail";
@@ -31,6 +31,7 @@ export declare const themeLookMetadataSchema: z.ZodObject<{
31
31
  skinTokens: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
32
32
  main: "main";
33
33
  radius: "radius";
34
+ rotation: "rotation";
34
35
  rule: "rule";
35
36
  "mark-length": "mark-length";
36
37
  "mark-weight": "mark-weight";
@@ -39,7 +40,6 @@ export declare const themeLookMetadataSchema: z.ZodObject<{
39
40
  "copy-gap": "copy-gap";
40
41
  "stack-gap": "stack-gap";
41
42
  "shadow-offset": "shadow-offset";
42
- rotation: "rotation";
43
43
  wrap: "wrap";
44
44
  margin: "margin";
45
45
  rail: "rail";
@@ -89,8 +89,8 @@ export declare const typographySchema: z.ZodObject<{
89
89
  relaxed: "relaxed";
90
90
  }>;
91
91
  case: z.ZodNullable<z.ZodEnum<{
92
- normal: "normal";
93
92
  uppercase: "uppercase";
93
+ normal: "normal";
94
94
  smallCaps: "smallCaps";
95
95
  }>>;
96
96
  italic: z.ZodNullable<z.ZodBoolean>;
@@ -344,8 +344,8 @@ export declare const typographySchema: z.ZodObject<{
344
344
  wide: "wide";
345
345
  }>>;
346
346
  case: z.ZodOptional<z.ZodEnum<{
347
- normal: "normal";
348
347
  uppercase: "uppercase";
348
+ normal: "normal";
349
349
  }>>;
350
350
  }, z.core.$strip>>;
351
351
  }, z.core.$strip>;
@@ -0,0 +1,386 @@
1
+ "use client";
2
+ import { Lr as assertNever } from "./propsDecoder-lf_dTeZS.mjs";
3
+ import { n as getBookingMailingListNoteCopy } from "./mailingListSignupCopy-DZSHZrm6.mjs";
4
+ import { t as RichText } from "./RichText-C1fIXBzA.mjs";
5
+ import { useCallback, useEffect, useId, useReducer, useRef, useState } from "react";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+ //#region ../blocks/src/system/runtime/shared/components/StepIndicator.tsx
8
+ function slotClasses(slot, classPrefix, emitSharedClasses) {
9
+ return [emitSharedClasses ? `rb-${slot}` : null, classPrefix ? `${classPrefix}-${slot}` : null].filter((name) => name !== null).join(" ");
10
+ }
11
+ function StepIndicator({ currentStep, totalSteps, stepLabels, classPrefix, emitSharedClasses }) {
12
+ const slot = (name) => slotClasses(name, classPrefix, emitSharedClasses);
13
+ const current = Math.min(Math.max(currentStep, 1), Math.max(totalSteps, 1));
14
+ const label = stepLabels?.[current - 1];
15
+ const percent = Math.round(current / Math.max(totalSteps, 1) * 100);
16
+ return /* @__PURE__ */ jsxs("nav", {
17
+ "aria-label": "Booking progress",
18
+ className: slot("progress"),
19
+ children: [/* @__PURE__ */ jsxs("div", {
20
+ className: slot("progress__head"),
21
+ children: [label ? /* @__PURE__ */ jsx("span", {
22
+ className: slot("progress__label"),
23
+ "aria-current": "step",
24
+ children: label
25
+ }) : null, /* @__PURE__ */ jsxs("span", {
26
+ className: slot("progress__count"),
27
+ children: [
28
+ "Step ",
29
+ current,
30
+ " of ",
31
+ totalSteps
32
+ ]
33
+ })]
34
+ }), /* @__PURE__ */ jsx("div", {
35
+ className: slot("progress__track"),
36
+ role: "progressbar",
37
+ "aria-valuemin": 1,
38
+ "aria-valuemax": totalSteps,
39
+ "aria-valuenow": current,
40
+ "aria-label": label ? `${label}, step ${current} of ${totalSteps}` : `Step ${current} of ${totalSteps}`,
41
+ children: /* @__PURE__ */ jsx("div", {
42
+ className: slot("progress__fill"),
43
+ style: { width: `${percent}%` }
44
+ })
45
+ })]
46
+ });
47
+ }
48
+ //#endregion
49
+ //#region ../blocks/src/system/runtime/hooks/useBookingNowIso.ts
50
+ /**
51
+ * The moment a booking or registration flow opened, as an ISO timestamp.
52
+ *
53
+ * Payment previews take this as their "now" so the pure view-model builders
54
+ * never read the clock themselves. It's captured once per mount, which keeps
55
+ * memoised previews stable across renders.
56
+ */
57
+ function useBookingNowIso() {
58
+ const [nowIso] = useState(() => (/* @__PURE__ */ new Date()).toISOString());
59
+ return nowIso;
60
+ }
61
+ //#endregion
62
+ //#region ../blocks/src/system/runtime/hooks/usePolling.state.ts
63
+ function createInitialPollingState() {
64
+ return {
65
+ tag: "idle",
66
+ result: null,
67
+ error: null
68
+ };
69
+ }
70
+ function pollingReducer(state, action) {
71
+ switch (action.type) {
72
+ case "polling-went-idle": return createInitialPollingState();
73
+ case "polling-reset": return {
74
+ tag: "polling",
75
+ result: null,
76
+ error: null
77
+ };
78
+ case "polling-progressed": return {
79
+ tag: "polling",
80
+ result: action.result,
81
+ error: null
82
+ };
83
+ case "polling-completed": return {
84
+ tag: "completed",
85
+ result: action.result,
86
+ error: null
87
+ };
88
+ case "polling-failed": return {
89
+ tag: "failed",
90
+ result: action.result,
91
+ error: null
92
+ };
93
+ case "polling-request-failed": switch (state.tag) {
94
+ case "idle": return {
95
+ tag: "polling",
96
+ result: null,
97
+ error: action.error
98
+ };
99
+ case "polling": return {
100
+ tag: "polling",
101
+ result: state.result,
102
+ error: action.error
103
+ };
104
+ case "completed":
105
+ case "failed":
106
+ case "timeout": return state;
107
+ default: return assertNever(state);
108
+ }
109
+ case "polling-timed-out": return {
110
+ tag: "timeout",
111
+ result: state.result,
112
+ error: /* @__PURE__ */ new Error("Polling timed out")
113
+ };
114
+ default: return assertNever(action);
115
+ }
116
+ }
117
+ //#endregion
118
+ //#region ../blocks/src/system/runtime/hooks/usePolling.ts
119
+ /**
120
+ * Generic polling hook for async operations.
121
+ *
122
+ * Provides a reusable polling mechanism with configurable intervals,
123
+ * max attempts, and completion detection. Used by usePaymentVerification
124
+ * and other hooks that need to poll for status changes.
125
+ */
126
+ const DEFAULT_MAX_ATTEMPTS = 10;
127
+ const DEFAULT_POLL_INTERVAL = 1e3;
128
+ function usePollingRuntime(config) {
129
+ const runtime = {
130
+ configRef: useRef(config),
131
+ attemptsRef: useRef(0),
132
+ timeoutRef: useRef(null),
133
+ isPollingRef: useRef(false),
134
+ isActiveRef: useRef(false),
135
+ generationRef: useRef(0)
136
+ };
137
+ runtime.configRef.current = config;
138
+ return runtime;
139
+ }
140
+ function usePollingCleanup(runtime) {
141
+ const { isActiveRef, generationRef, timeoutRef, isPollingRef } = runtime;
142
+ return useCallback(() => {
143
+ isActiveRef.current = false;
144
+ generationRef.current += 1;
145
+ if (timeoutRef.current) {
146
+ clearTimeout(timeoutRef.current);
147
+ timeoutRef.current = null;
148
+ }
149
+ isPollingRef.current = false;
150
+ }, [
151
+ generationRef,
152
+ isActiveRef,
153
+ isPollingRef,
154
+ timeoutRef
155
+ ]);
156
+ }
157
+ function usePollingReset(runtime, dispatch) {
158
+ const { attemptsRef } = runtime;
159
+ return useCallback(() => {
160
+ dispatch({ type: "polling-reset" });
161
+ attemptsRef.current = 0;
162
+ }, [attemptsRef, dispatch]);
163
+ }
164
+ function usePollingRequest(runtime, dispatch, cleanup) {
165
+ const { configRef, attemptsRef, isPollingRef, isActiveRef, generationRef } = runtime;
166
+ return useCallback(async () => {
167
+ const config = configRef.current;
168
+ if (!config) return true;
169
+ if (isPollingRef.current) return false;
170
+ const maxAttempts = config.maxAttempts ?? DEFAULT_MAX_ATTEMPTS;
171
+ if (attemptsRef.current >= maxAttempts) {
172
+ dispatch({ type: "polling-timed-out" });
173
+ cleanup();
174
+ return true;
175
+ }
176
+ isPollingRef.current = true;
177
+ attemptsRef.current += 1;
178
+ const generation = generationRef.current;
179
+ try {
180
+ const result = await config.pollFn();
181
+ if (generation !== generationRef.current || !isActiveRef.current) return true;
182
+ if (config.isFailed?.(result)) {
183
+ dispatch({
184
+ type: "polling-failed",
185
+ result
186
+ });
187
+ cleanup();
188
+ return true;
189
+ }
190
+ if (config.isComplete(result)) {
191
+ dispatch({
192
+ type: "polling-completed",
193
+ result
194
+ });
195
+ cleanup();
196
+ return true;
197
+ }
198
+ dispatch({
199
+ type: "polling-progressed",
200
+ result
201
+ });
202
+ isPollingRef.current = false;
203
+ return false;
204
+ } catch (error) {
205
+ if (generation !== generationRef.current || !isActiveRef.current) return true;
206
+ if (error instanceof Error) dispatch({
207
+ type: "polling-request-failed",
208
+ error
209
+ });
210
+ isPollingRef.current = false;
211
+ return false;
212
+ }
213
+ }, [
214
+ attemptsRef,
215
+ cleanup,
216
+ configRef,
217
+ dispatch,
218
+ generationRef,
219
+ isActiveRef,
220
+ isPollingRef
221
+ ]);
222
+ }
223
+ function usePollingScheduler(runtime, poll) {
224
+ const { attemptsRef, configRef, isActiveRef, timeoutRef } = runtime;
225
+ return useCallback(() => {
226
+ if (!isActiveRef.current) return;
227
+ const doPoll = async () => {
228
+ if (!await poll() && isActiveRef.current) {
229
+ const configuredInterval = configRef.current?.interval;
230
+ const interval = typeof configuredInterval === "function" ? configuredInterval(attemptsRef.current) : configuredInterval ?? DEFAULT_POLL_INTERVAL;
231
+ timeoutRef.current = setTimeout(doPoll, interval);
232
+ }
233
+ };
234
+ doPoll();
235
+ }, [
236
+ attemptsRef,
237
+ configRef,
238
+ isActiveRef,
239
+ poll,
240
+ timeoutRef
241
+ ]);
242
+ }
243
+ function usePollingCycle(config, runtime, dispatch) {
244
+ const cleanup = usePollingCleanup(runtime);
245
+ const resetState = usePollingReset(runtime, dispatch);
246
+ const schedulePoll = usePollingScheduler(runtime, usePollingRequest(runtime, dispatch, cleanup));
247
+ const pollingEnabled = config !== null;
248
+ useEffect(() => {
249
+ if (!pollingEnabled) {
250
+ cleanup();
251
+ dispatch({ type: "polling-went-idle" });
252
+ return;
253
+ }
254
+ resetState();
255
+ runtime.isActiveRef.current = true;
256
+ schedulePoll();
257
+ return cleanup;
258
+ }, [
259
+ cleanup,
260
+ dispatch,
261
+ pollingEnabled,
262
+ resetState,
263
+ config?.restartKey ?? null,
264
+ runtime.isActiveRef,
265
+ schedulePoll
266
+ ]);
267
+ return useCallback(() => {
268
+ if (!runtime.configRef.current) return;
269
+ cleanup();
270
+ resetState();
271
+ runtime.isActiveRef.current = true;
272
+ schedulePoll();
273
+ }, [
274
+ cleanup,
275
+ resetState,
276
+ runtime.configRef,
277
+ runtime.isActiveRef,
278
+ schedulePoll
279
+ ]);
280
+ }
281
+ /**
282
+ * Polls until the operation completes, fails, times out, or becomes disabled.
283
+ * Config objects may be rebuilt across renders; change restartKey to begin a
284
+ * new operation and reset its attempt budget.
285
+ */
286
+ function usePolling(config) {
287
+ const [state, dispatch] = useReducer(pollingReducer, void 0, createInitialPollingState);
288
+ const retry = usePollingCycle(config, usePollingRuntime(config), dispatch);
289
+ return {
290
+ status: config ? state.tag : "idle",
291
+ result: config ? state.result : null,
292
+ error: config ? state.error : null,
293
+ retry
294
+ };
295
+ }
296
+ //#endregion
297
+ //#region ../blocks/src/system/runtime/shared/components/PaymentChoiceRows.tsx
298
+ /**
299
+ * Payment choices as a radio group. Native radios give the whole row as the
300
+ * hit area and arrow-key movement between choices; the selected row takes the
301
+ * primary accent and disabled rows stay readable with their reason.
302
+ */
303
+ function PaymentChoiceRows(props) {
304
+ const name = useId();
305
+ return /* @__PURE__ */ jsx("div", {
306
+ className: "rb-pay-choices",
307
+ role: "radiogroup",
308
+ "aria-label": props.label,
309
+ children: props.rows.map((row) => {
310
+ const selected = row.selected && !row.disabled;
311
+ return /* @__PURE__ */ jsxs("label", {
312
+ className: [
313
+ "rb-pay-choice",
314
+ selected && "rb-pay-choice--selected",
315
+ row.disabled && "rb-pay-choice--disabled"
316
+ ].filter(Boolean).join(" "),
317
+ children: [
318
+ /* @__PURE__ */ jsx("input", {
319
+ type: "radio",
320
+ className: "rb-pay-choice__radio",
321
+ name,
322
+ value: row.id,
323
+ checked: selected,
324
+ disabled: row.disabled,
325
+ onChange: row.onSelect,
326
+ onClick: selected ? row.onSelect : void 0
327
+ }),
328
+ /* @__PURE__ */ jsxs("span", {
329
+ className: "rb-pay-choice__body",
330
+ children: [
331
+ /* @__PURE__ */ jsx("span", {
332
+ className: "rb-pay-choice__label",
333
+ children: row.label
334
+ }),
335
+ (row.details ?? []).map((detail) => /* @__PURE__ */ jsx("span", {
336
+ className: "rb-pay-choice__detail",
337
+ children: detail
338
+ }, detail)),
339
+ row.disabled && row.disabledReason ? /* @__PURE__ */ jsx("span", {
340
+ className: "rb-pay-choice__reason",
341
+ children: row.disabledReason
342
+ }) : null
343
+ ]
344
+ }),
345
+ row.price ? /* @__PURE__ */ jsx("span", {
346
+ className: "rb-pay-choice__price",
347
+ children: row.price
348
+ }) : null
349
+ ]
350
+ }, row.id);
351
+ })
352
+ });
353
+ }
354
+ //#endregion
355
+ //#region ../blocks/src/system/runtime/shared/components/BookingConsentAgreement.tsx
356
+ function BookingConsentAgreement({ agreement, showTitle = true, title, titleId }) {
357
+ return /* @__PURE__ */ jsxs(Fragment, { children: [showTitle ? /* @__PURE__ */ jsxs("div", {
358
+ id: titleId,
359
+ className: "form-label",
360
+ children: [title, /* @__PURE__ */ jsx("span", {
361
+ className: "required-marker",
362
+ children: "*"
363
+ })]
364
+ }) : null, /* @__PURE__ */ jsx("div", {
365
+ role: "group",
366
+ "aria-label": showTitle ? void 0 : title,
367
+ "aria-labelledby": showTitle ? titleId : void 0,
368
+ children: /* @__PURE__ */ jsx(RichText, {
369
+ doc: agreement,
370
+ linkTarget: "new-tab",
371
+ className: "rb-prose rb-max-w-none"
372
+ })
373
+ })] });
374
+ }
375
+ //#endregion
376
+ //#region ../blocks/src/system/runtime/shared/components/BookingMailingListNote.tsx
377
+ function BookingMailingListNote(props) {
378
+ const copy = getBookingMailingListNoteCopy(props.note, props.context);
379
+ return /* @__PURE__ */ jsxs("div", {
380
+ role: "status",
381
+ className: props.className,
382
+ children: [/* @__PURE__ */ jsx("p", { children: copy.title }), copy.detail ? /* @__PURE__ */ jsx("p", { children: copy.detail }) : null]
383
+ });
384
+ }
385
+ //#endregion
386
+ export { useBookingNowIso as a, usePolling as i, BookingConsentAgreement as n, StepIndicator as o, PaymentChoiceRows as r, BookingMailingListNote as t };
@@ -1,7 +1,7 @@
1
- import { Kn as assertNever, Ot as listLookSlot, Tt as resolveRuntimeEventDestination } from "./propsDecoder-DO5iXphQ.mjs";
2
- import { a as getCurrentResolveImageUrlContext, c as renderVideo, i as computeMediaTransformStyle, n as MediaPlaceholder, o as mediaImageHostProps, s as renderAudio, t as ImagePresets, u as resolveMediaNodeResponsiveImage } from "./media-47fcnhzD.mjs";
3
- import { n as ThemedButtonLink } from "./ThemedButton-DZKjtaDD.mjs";
4
- import { a as canJoinEventWaitlistOnAnyMode, p as isEventFull } from "./pricing-CMD0kADd.mjs";
1
+ import { $n as resolveRuntimeEventDestination, fr as listLookSlot, ji as assertNever, sr as isEventFull, tr as canJoinEventWaitlistOnAnyMode } from "./propsDecoder-lf_dTeZS.mjs";
2
+ import { a as renderAudio, c as resolveMediaNodeResponsiveImage, i as mediaImageHostProps, n as MediaPlaceholder, o as renderVideo, r as computeMediaTransformStyle, t as ImagePresets } from "./media-D29-F1u_.mjs";
3
+ import { n as getCurrentResolveImageUrlContext } from "./mediaContext-CwbbimYB.mjs";
4
+ import { n as ThemedButtonLink } from "./ThemedButton-B7HFqFBg.mjs";
5
5
  import "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region ../blocks/src/system/runtime/nodes/events/domain/cta.ts
@@ -98,7 +98,7 @@ const MediaNodeServer = ({ value, "data-slot": dataSlot, "data-surface": dataSur
98
98
  const computedStyle = computeMediaTransformStyle(value, style, transformAspectRatio, {
99
99
  resolvedTransform,
100
100
  isProxy
101
- });
101
+ }, imageResolveContext);
102
102
  return /* @__PURE__ */ jsx("img", {
103
103
  ...mediaImageHostProps({
104
104
  value,
@@ -0,0 +1,35 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ //#region ../blocks/src/system/runtime/shared/utils/scrollToBlock.ts
3
+ /**
4
+ * Scroll to a block element by its anchor ID.
5
+ *
6
+ * Uses requestAnimationFrame to defer scrolling until after
7
+ * layout shifts (lazy images, fonts, etc.) have settled.
8
+ */
9
+ function scrollToBlock(anchorId) {
10
+ requestAnimationFrame(() => {
11
+ document.getElementById(anchorId)?.scrollIntoView({
12
+ behavior: "smooth",
13
+ block: "start"
14
+ });
15
+ });
16
+ }
17
+ //#endregion
18
+ //#region ../blocks/src/system/runtime/shared/components/CheckIcon.tsx
19
+ function CheckIcon({ className, strokeWidth = 2 }) {
20
+ return /* @__PURE__ */ jsx("svg", {
21
+ fill: "none",
22
+ strokeLinecap: "round",
23
+ strokeLinejoin: "round",
24
+ strokeWidth,
25
+ viewBox: "0 0 24 24",
26
+ stroke: "currentColor",
27
+ className,
28
+ width: "1em",
29
+ height: "1em",
30
+ "aria-hidden": "true",
31
+ children: /* @__PURE__ */ jsx("path", { d: "M5 13l4 4L19 7" })
32
+ });
33
+ }
34
+ //#endregion
35
+ export { scrollToBlock as n, CheckIcon as t };
@@ -1,4 +1,4 @@
1
- import { r as clsx } from "./result-DRW7JWXz.mjs";
1
+ import { ni as clsx } from "./propsDecoder-lf_dTeZS.mjs";
2
2
  import "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region ../blocks/src/system/runtime/shared/components/CheckboxChoice.tsx