@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.
- package/CHANGELOG.md +52 -0
- package/dist/{EventEmbeddedCheckoutStep-BBHbM22D.mjs → EventEmbeddedCheckoutStep-veN-QiAE.mjs} +10 -9
- package/dist/{PreviewEditorSidebar-BHplI9HE.mjs → PreviewEditorSidebar-jI_4DTZY.mjs} +4 -3
- package/dist/{PreviewEditorUI-DuyN8nsD.mjs → PreviewEditorUI-ORkVZhfu.mjs} +5 -4
- package/dist/{SdkPreviewModeRuntime-CR5ypwxJ.mjs → SdkPreviewModeRuntime-DaNqevI1.mjs} +341 -164
- package/dist/{SiteChromeCustomizeContext-D5t6joF_.mjs → SiteChromeCustomizeContext-CgNuBHC0.mjs} +27124 -39230
- package/dist/ThemedButton-X2UxhW6F.mjs +16525 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +52 -52
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +2357 -7859
- package/dist/_dts/api/src/bookingOperations.d.ts +5 -3
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +4 -0
- package/dist/_dts/api/src/communications.d.ts +19 -5
- package/dist/_dts/api/src/endpoints.d.ts +7 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/navigation/types.d.ts +7 -0
- package/dist/_dts/api/src/navigation.d.ts +1 -1
- package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +10 -1
- package/dist/_dts/api/src/sdkThemeWire.d.ts +186 -1434
- package/dist/_dts/api/src/shared-contracts.d.ts +10 -0
- package/dist/_dts/api/src/siteAssets.d.ts +1 -0
- package/dist/_dts/api/src/siteInfrastructure.d.ts +2 -1
- package/dist/_dts/api/src/teamMembers.d.ts +2 -27
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +3 -13
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
- package/dist/_dts/blocks/src/definitions.d.ts +1 -1
- package/dist/_dts/blocks/src/index.d.ts +2 -0
- package/dist/_dts/blocks/src/lib/media.d.ts +1 -0
- package/dist/_dts/blocks/src/lib/picsum.d.ts +2 -2
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +1 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -1
- package/dist/_dts/blocks/src/primitives/content/utils/sanitizeHref.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +212 -804
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +7 -2
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +45 -45
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +4 -7
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +6 -6
- package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +377 -1
- package/dist/_dts/blocks/src/system/helpers/backgroundMedia.d.ts +6 -2
- package/dist/_dts/blocks/src/system/helpers/normalizeMailingListBlockContent.d.ts +2 -0
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -3
- package/dist/_dts/blocks/src/system/layout/repeaterGrid.d.ts +12 -5
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +3 -3
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
- package/dist/_dts/blocks/src/system/registry.d.ts +14 -2
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -5
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/api/schemas/events.d.ts +971 -0
- package/dist/_dts/blocks/src/system/runtime/api/schemas/waitlist-claims.d.ts +42 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +10 -2
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +10 -136
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFlowController.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingSubmission.state.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +5 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +50 -202
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +51 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +6 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.hooks.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.state.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/BookingEntryViews.d.ts +42 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +19 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/GuestDetailsSection.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentStatusStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SingleTicketEntitlementNote.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/VerifyingTimeoutStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingCardDisplay.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingEntry.d.ts +154 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingFocus.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/finishedBooking.d.ts +77 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/offeringNoun.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +33 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDisplay.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDraft.state.d.ts +60 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +58 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +17 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +23 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useBookingBarFacts.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationRecoveryRequest.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +4 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +1563 -31
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +2 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +147 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +50 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +6 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +85 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +53 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CardListItem.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/MonthLookView.d.ts +10 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +290 -882
- package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +22 -90
- package/dist/_dts/blocks/src/system/runtime/nodes/mediaContext.d.ts +69 -0
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +5 -1
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +37 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +9 -2
- package/dist/_dts/blocks/src/system/runtime/shared/components/PaymentChoiceRows.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +6 -8
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +9 -12
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/themePortalRoot.d.ts +10 -15
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +6 -0
- package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +14 -14
- package/dist/_dts/commerce/src/purchase/confirmationPayment.d.ts +65 -0
- package/dist/_dts/commerce/src/purchase/confirmationPaymentSchema.d.ts +66 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +8 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
- package/dist/_dts/content-model/src/templates/defaults.d.ts +2 -2
- package/dist/_dts/core/src/appointment-booking-terms.d.ts +20 -0
- package/dist/_dts/core/src/booking-payment-schemas.d.ts +70 -0
- package/dist/_dts/core/src/branded.d.ts +0 -2
- package/dist/_dts/core/src/demo-claim-access.d.ts +1 -1
- package/dist/_dts/core/src/demo-claim-readiness.d.ts +18 -0
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +1 -1
- package/dist/_dts/core/src/demo-warm-pool-target.d.ts +1 -1
- package/dist/_dts/core/src/index.d.ts +4 -0
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +2 -2
- package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +9 -1
- package/dist/_dts/core/src/mailing-list-setup.d.ts +9 -1
- package/dist/_dts/core/src/mailing-list-submission.d.ts +1 -1
- package/dist/_dts/core/src/mailing-list-targeting-availability.d.ts +68 -0
- package/dist/_dts/core/src/mailing-list-targeting.d.ts +11 -1
- package/dist/_dts/core/src/ticket-quantity.d.ts +13 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +106 -36
- package/dist/_dts/editor/src/chrome/chromeLayers.d.ts +7 -0
- package/dist/_dts/editor/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/media/admitEditorMediaField.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/widgets/link/LinkAddressInput.d.ts +8 -0
- package/dist/_dts/editor-blocks/src/widgets/link/LinkContentList.d.ts +12 -0
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +5 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +8 -2
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +4 -3
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/draft.d.ts +44 -0
- package/dist/_dts/editor-blocks/src/widgets/link/presentation.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +14 -0
- package/dist/_dts/editor-blocks/src/widgets/link/useRoutableContent.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +5 -4
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +13 -8
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +6 -0
- package/dist/_dts/media-core/src/contentMediaAudit.d.ts +3 -2
- package/dist/_dts/media-core/src/fileStorage.d.ts +4 -3
- package/dist/_dts/media-core/src/index.d.ts +5 -0
- package/dist/_dts/media-core/src/media.d.ts +406 -0
- package/dist/_dts/media-core/src/mediaIdentifierSchema.d.ts +3 -0
- package/dist/_dts/media-core/src/mediaKinds.d.ts +2 -0
- package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +13 -1
- package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
- package/dist/_dts/media-core/src/portableMediaReferences.d.ts +8 -21
- package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +28 -14
- package/dist/_dts/media-core/src/renderableMediaAssetAdmission.d.ts +15 -0
- package/dist/_dts/media-core/src/storageObjectKey.d.ts +12 -0
- package/dist/_dts/media-editor/src/CropDialog.d.ts +6 -3
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -3
- package/dist/_dts/media-editor/src/cropEditorSource.d.ts +5 -7
- package/dist/_dts/media-editor/src/editorMediaState.d.ts +29 -0
- package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -2
- package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +4 -5
- package/dist/_dts/media-editor/src/types.d.ts +1 -1
- package/dist/_dts/media-editor/src/utils.d.ts +0 -1
- package/dist/_dts/media-react/src/components/cropChangePolicy.d.ts +4 -1
- package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -0
- package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -0
- package/dist/_dts/media-react/src/hooks/useSupabaseMediaUploader.d.ts +1 -1
- package/dist/_dts/media-react/src/internal/supabaseResumableUpload.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/blocks/BlockBackgroundChooser.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeSelectedMedia.d.ts +11 -12
- package/dist/_dts/preview-next/src/client/preview/previewModeRootAttribute.d.ts +11 -0
- package/dist/_dts/sdk/src/contracts/content.d.ts +2 -45
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/rendering.d.ts +3 -3
- package/dist/_dts/sdk/src/index.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/image.d.ts +14 -4
- package/dist/_dts/sdk/src/rendering/index.d.ts +5 -2
- package/dist/_dts/sdk/src/rendering/link.d.ts +5 -0
- package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +2 -4
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +3 -3
- package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +397 -26
- package/dist/_dts/theme-core/src/buttons/types.d.ts +21 -21
- package/dist/_dts/theme-core/src/cards/types.d.ts +34 -34
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/lib/media.d.ts +2 -616
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +261 -2619
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +548 -3187
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -9
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/styles/skinTokens.d.ts +2 -2
- package/dist/_dts/theme-core/src/typography/schema.d.ts +2 -2
- package/dist/client/BookingMailingListNote-DrchYW1m.mjs +386 -0
- package/dist/client/{CardListItem-ZDLYh6dL.mjs → CardListItem-CC_GVmF6.mjs} +5 -5
- package/dist/client/CheckIcon-CpyXr-Kg.mjs +35 -0
- package/dist/client/{CheckboxChoice-M-3HycLw.mjs → CheckboxChoice-Dq30m3DO.mjs} +1 -1
- package/dist/client/{DemoBookingPortalAccess-BMtvPTWE.mjs → DemoBookingPortalAccess-ojwbVUmx.mjs} +85 -85
- package/dist/client/{EventCombined.client-DUm_DOxW.mjs → EventCombined.client-DyN0v0Xk.mjs} +7 -9
- package/dist/client/{EventEmbeddedCheckoutStep-DsNNzgRm.mjs → EventEmbeddedCheckoutStep-CgfpKc3n.mjs} +11 -10
- package/dist/client/{EventListing.client-DjNYGUVm.mjs → EventListing.client-CuOuvYMz.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DuFiOHq_.mjs → LeafletStaticMap-B0WhRr3j.mjs} +1 -1
- package/dist/client/{ModalShell-CqkBvBIC.mjs → ModalShell-BXzucfR6.mjs} +83 -12
- package/dist/client/{RichText-LjPCUGGi.mjs → RichText-C1fIXBzA.mjs} +50 -34
- package/dist/client/{ThemedButton-DZKjtaDD.mjs → ThemedButton-B7HFqFBg.mjs} +1 -2
- package/dist/client/{accordion-Qe--SILD.mjs → accordion-DCDVWSye.mjs} +1 -1
- package/dist/client/{bookingForm-3BCl4g_f.mjs → bookingForm-BJ3C4GlM.mjs} +321 -154
- package/dist/client/bookings.mjs +118607 -22429
- package/dist/client/{carousel-h2YjKOS2.mjs → carousel-BSCBhfHY.mjs} +2 -2
- package/dist/client/{carousel.client-BLrd4hmY.mjs → carousel.client-GEtOGsxo.mjs} +46 -41
- package/dist/client/{cart-5NeiigVd.mjs → cart-Yv-aAtck.mjs} +3 -3
- package/dist/client/{checkout-G4UWjOEw.mjs → checkout-B9xDkl30.mjs} +3 -3
- package/dist/client/client.mjs +37511 -33793
- package/dist/client/{context-GK4-AVAh.mjs → context-BOGe3rIA.mjs} +275 -10
- package/dist/client/{eventCalendar-Prw3Yo_L.mjs → eventCalendar-D6M0T9hs.mjs} +18 -17
- package/dist/client/{eventCombined-BUugi6__.mjs → eventCombined-NM4UFBq8.mjs} +4 -4
- package/dist/client/{eventDetails-CBHUda-R.mjs → eventDetails-f_FhV4O8.mjs} +3 -4
- package/dist/client/{eventListing-CQeG45Dg.mjs → eventListing-WLkfAROh.mjs} +4 -4
- package/dist/client/{eventRegistration-Dif3p3oJ.mjs → eventRegistration-D3ejfLvW.mjs} +2209 -2144
- package/dist/client/{form-Cf0WMtfG.mjs → form-D5Or2Jyu.mjs} +5 -6
- package/dist/client/{headerSection-Bqdr3JWp.mjs → headerSection-hWgnv27V.mjs} +9 -9
- package/dist/client/hooks.mjs +17278 -16106
- package/dist/client/{locationMap-BVvPou4O.mjs → locationMap-Di1K0O2S.mjs} +3 -4
- package/dist/client/{media-47fcnhzD.mjs → media-D29-F1u_.mjs} +183 -362
- package/dist/client/mediaContext-CwbbimYB.mjs +135 -0
- package/dist/client/{newsletterForm-Cx-1dnic.mjs → newsletterForm-CwxcwTNO.mjs} +5 -5
- package/dist/client/{productDetail-DaUMaJYk.mjs → productDetail-BLSnhPdA.mjs} +3 -3
- package/dist/client/{productList-BKQlWEKE.mjs → productList-oGytONOX.mjs} +3 -3
- package/dist/client/{propsDecoder-DO5iXphQ.mjs → propsDecoder-lf_dTeZS.mjs} +18659 -14473
- package/dist/client/renderableMediaAssetAdmission-CHkXYDC_.mjs +143 -0
- package/dist/client/rendering/client.mjs +58971 -55722
- package/dist/client/rendering/islands.mjs +20 -23
- package/dist/client/rendering.mjs +41610 -37917
- package/dist/client/{routeIslandApiConfig-BNm0Z3-g.mjs → routeIslandApiConfig-Bc_WVPS8.mjs} +1 -1
- package/dist/client/{shop-D7ytcFBC.mjs → shop-BQ3bR7fA.mjs} +16 -14
- package/dist/client/{shop-commerce-D68-hHy2.mjs → shop-commerce-DDPll6ZC.mjs} +9 -9
- package/dist/client/{shop-commerce-store-Cu7X2lyu.mjs → shop-commerce-store-DO-e1pTe.mjs} +1 -1
- package/dist/client/{shopShared-D12rxE69.mjs → shopShared-BylM9jh1.mjs} +5 -5
- package/dist/client/themePortalRoot-DS92SRVZ.mjs +47 -0
- package/dist/client/{TerminalPanel-DOTSUCO0.mjs → useDiscountCodeUi-B1Puub2v.mjs} +60 -77
- package/dist/client/{useEventPagination-jgKa67KV.mjs → useEventPagination-BBhkmQaT.mjs} +6 -8
- package/dist/preview-next/before-render.mjs +96 -4
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/preview-next/keepAlive.mjs +7 -0
- package/dist/preview-next/middleware.mjs +7 -0
- package/dist/{sdk-runtime-4cCWO_3i.mjs → sdk-runtime-DWCvhJGu.mjs} +1 -1
- package/dist/server/components.mjs +21820 -19902
- package/dist/server/config-validation.mjs +1786 -642
- package/dist/server/config.mjs +1786 -642
- package/dist/server/data.mjs +17220 -16076
- package/dist/server/index.mjs +234 -2
- package/dist/server/next.mjs +22505 -20528
- package/dist/server/page-converter.mjs +7587 -6572
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +20487 -19044
- package/dist/server/rendering.mjs +21844 -19901
- package/dist/server/routing.mjs +19186 -17961
- package/dist/server/server.mjs +1874 -695
- package/dist/server/theme-bridge.mjs +1371 -914
- package/dist/server/theme.mjs +154 -37
- package/dist/{spinner-tSdG9YvG.mjs → spinner-BYM-Y81w.mjs} +1 -1
- package/dist/styles/index.css +1088 -721
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +0 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +0 -22
- package/dist/_dts/blocks/src/system/runtime/shared/components/SelectableOptionCard.d.ts +0 -30
- package/dist/client/BookingMailingListNote-DlDSs5Vm.mjs +0 -567
- package/dist/client/colorStyles-DTunOThj.mjs +0 -1316
- package/dist/client/pricing-CMD0kADd.mjs +0 -314
- package/dist/client/result-DRW7JWXz.mjs +0 -30
- package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
- package/dist/client/themePortalRoot-AGs4cE7t.mjs +0 -30
- package/dist/spinner-BL3kW9Uh.mjs +0 -803
package/package.json
CHANGED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Order summary component for the event registration wizard.
|
|
3
|
-
* Displays event details and total throughout the checkout flow.
|
|
4
|
-
* Uses CSS grid areas for responsive positioning (sidebar on desktop, top on mobile).
|
|
5
|
-
*/
|
|
6
|
-
type OrderSummaryProps = {
|
|
7
|
-
eventTitle: string;
|
|
8
|
-
eventDate: string;
|
|
9
|
-
ticketCount: number;
|
|
10
|
-
totalPrice: number;
|
|
11
|
-
currency: string;
|
|
12
|
-
className?: string;
|
|
13
|
-
};
|
|
14
|
-
export declare function OrderSummary({ eventTitle, eventDate, ticketCount, totalPrice, currency, className, }: OrderSummaryProps): import("react").JSX.Element;
|
|
15
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { type Dispatch, type SetStateAction } from 'react';
|
|
2
|
-
import type { ResolveWaitlistClaimResponse } from '../../api/types';
|
|
3
|
-
import type { EventTicketSelectionLine, FormData, Guest, RegistrationEvent, RegistrationStep } from './types';
|
|
4
|
-
import type { EventRegistrationErrorAction } from '../../../../../../commerce/src/purchase/index';
|
|
5
|
-
export type WaitlistClaimRestorationSetters = Readonly<{
|
|
6
|
-
setErrorAction?: (action: EventRegistrationErrorAction) => void;
|
|
7
|
-
setErrorMessage: Dispatch<SetStateAction<string>>;
|
|
8
|
-
setStep: (step: RegistrationStep) => void;
|
|
9
|
-
setSelectedEvent: Dispatch<SetStateAction<RegistrationEvent | null>>;
|
|
10
|
-
setAttendanceMode: Dispatch<SetStateAction<'in_person' | 'online' | null>>;
|
|
11
|
-
setTicketSelections: Dispatch<SetStateAction<EventTicketSelectionLine[]>>;
|
|
12
|
-
setSlidingAmountInput: Dispatch<SetStateAction<string>>;
|
|
13
|
-
setTicketsCount: (count: number) => void;
|
|
14
|
-
setFormData: Dispatch<SetStateAction<FormData>>;
|
|
15
|
-
setGuests: Dispatch<SetStateAction<Guest[]>>;
|
|
16
|
-
}>;
|
|
17
|
-
export declare function useWaitlistClaimRestoration(input: Readonly<{
|
|
18
|
-
claim: ResolveWaitlistClaimResponse | null;
|
|
19
|
-
scopedEvents: readonly RegistrationEvent[];
|
|
20
|
-
occurrenceContextId?: string;
|
|
21
|
-
setters: WaitlistClaimRestorationSetters;
|
|
22
|
-
}>): void;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* Class-name preset applying the shared registration-surface option-card
|
|
4
|
-
* styling (`registration-surface.css`). Spread these and supply the
|
|
5
|
-
* block-specific content class names (icon/label/detail) alongside.
|
|
6
|
-
*/
|
|
7
|
-
export declare const RB_OPTION_CARD_CLASSES: {
|
|
8
|
-
readonly baseClassName: "rb-option-card";
|
|
9
|
-
readonly selectedClassName: "rb-option-card--selected";
|
|
10
|
-
readonly disabledClassName: "rb-option-card--disabled";
|
|
11
|
-
};
|
|
12
|
-
export type SelectableOptionCardProps = {
|
|
13
|
-
baseClassName: string;
|
|
14
|
-
selectedClassName: string;
|
|
15
|
-
disabledClassName: string;
|
|
16
|
-
iconClassName: string;
|
|
17
|
-
labelClassName: string;
|
|
18
|
-
detailClassName: string;
|
|
19
|
-
icon: React.ReactNode;
|
|
20
|
-
label: React.ReactNode;
|
|
21
|
-
detail: React.ReactNode;
|
|
22
|
-
selected: boolean;
|
|
23
|
-
disabled?: boolean;
|
|
24
|
-
tooltip?: string;
|
|
25
|
-
extraClassNames?: Array<string | false | null | undefined>;
|
|
26
|
-
onClick?: () => void;
|
|
27
|
-
renderCheck?: () => React.ReactNode;
|
|
28
|
-
renderDisabledTooltip?: (tooltip: string) => React.ReactNode;
|
|
29
|
-
};
|
|
30
|
-
export declare function SelectableOptionCard(props: SelectableOptionCardProps): React.JSX.Element;
|
|
@@ -1,567 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { Gn as formatCurrencyAmount, In as getBookingInstalmentPlanIntervalCount, gn as isBookingCollectionEquivalentToUpfront, rn as assertNever } from "./propsDecoder-DO5iXphQ.mjs";
|
|
3
|
-
import { r as CheckIcon } from "./TerminalPanel-DOTSUCO0.mjs";
|
|
4
|
-
import { n as getBookingMailingListNoteCopy } from "./mailingListSignupCopy-DZSHZrm6.mjs";
|
|
5
|
-
import { t as RichText } from "./RichText-LjPCUGGi.mjs";
|
|
6
|
-
import { useCallback, useEffect, useReducer, useRef, useState } from "react";
|
|
7
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
//#region ../blocks/src/system/runtime/hooks/useBookingNowIso.ts
|
|
9
|
-
/**
|
|
10
|
-
* The moment a booking or registration flow opened, as an ISO timestamp.
|
|
11
|
-
*
|
|
12
|
-
* Payment previews take this as their "now" so the pure view-model builders
|
|
13
|
-
* never read the clock themselves. It's captured once per mount, which keeps
|
|
14
|
-
* memoised previews stable across renders.
|
|
15
|
-
*/
|
|
16
|
-
function useBookingNowIso() {
|
|
17
|
-
const [nowIso] = useState(() => (/* @__PURE__ */ new Date()).toISOString());
|
|
18
|
-
return nowIso;
|
|
19
|
-
}
|
|
20
|
-
//#endregion
|
|
21
|
-
//#region ../blocks/src/system/runtime/shared/bookingPaymentOptionCopy.ts
|
|
22
|
-
function buildUpfrontBookingPaymentOptionCopy(formattedTotal) {
|
|
23
|
-
return {
|
|
24
|
-
title: "Pay in full",
|
|
25
|
-
description: "Pay everything today and your booking is confirmed.",
|
|
26
|
-
ctaLabel: `Pay ${formattedTotal} now`
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function buildDeferredManualBookingPaymentOptionCopy() {
|
|
30
|
-
return {
|
|
31
|
-
title: "Pay offline",
|
|
32
|
-
description: "Book now and pay the business later, outside the platform.",
|
|
33
|
-
helperText: "Nothing is due today.",
|
|
34
|
-
ctaLabel: "Book now"
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
function buildInstalmentBookingPaymentOptionCopy(input) {
|
|
38
|
-
return {
|
|
39
|
-
title: "Payment plan",
|
|
40
|
-
description: describeInstalmentPlanCopy(input),
|
|
41
|
-
helperText: "You can pay the rest early any time in your customer portal.",
|
|
42
|
-
ctaLabel: `Pay ${input.formattedDueToday} now`
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
function describeInstalmentPlanCopy(input) {
|
|
46
|
-
if (input.depositRefundability) return `Pay ${input.formattedDueToday} today, then continue with scheduled payments. Your deposit is ${formatDepositRefundabilityLabel(input.depositRefundability)}.`;
|
|
47
|
-
if (input.futurePaymentCount === 0) return `Pay ${input.formattedDueToday} today.`;
|
|
48
|
-
if (input.futurePaymentCount === 1) return `Pay ${input.formattedDueToday} today, then one more payment later.`;
|
|
49
|
-
const formattedFirstFuture = input.formattedFirstFuture ?? input.formattedDueToday;
|
|
50
|
-
return `Pay ${input.formattedDueToday} today, then ${input.futurePaymentCount} more ${input.cadenceLabel} payments from ${formattedFirstFuture}.`;
|
|
51
|
-
}
|
|
52
|
-
function buildFlexibleBalanceBookingPaymentOptionCopy(input) {
|
|
53
|
-
return {
|
|
54
|
-
title: "Deposit now, pay the rest later",
|
|
55
|
-
description: `Pay ${input.formattedDueToday} today, then pay the remaining balance any time before ${input.dueDateLabel}. Your deposit is ${formatDepositRefundabilityLabel(input.depositRefundability)}.`,
|
|
56
|
-
helperText: "You can return in your customer portal to pay the rest before the due date.",
|
|
57
|
-
ctaLabel: `Pay ${input.formattedDueToday} now`
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
function formatDepositRefundabilityLabel(depositRefundability) {
|
|
61
|
-
return depositRefundability === "non_refundable" ? "non-refundable" : "refundable";
|
|
62
|
-
}
|
|
63
|
-
//#endregion
|
|
64
|
-
//#region ../blocks/src/system/runtime/shared/utils/formatting.ts
|
|
65
|
-
/**
|
|
66
|
-
* Shared Formatting Utilities
|
|
67
|
-
*
|
|
68
|
-
* Currency and date formatting helpers for registration blocks.
|
|
69
|
-
*/
|
|
70
|
-
/**
|
|
71
|
-
* Format a price in cents to a localized currency string.
|
|
72
|
-
*
|
|
73
|
-
* @param cents - Price in cents
|
|
74
|
-
* @param currency - ISO 4217 currency code (e.g., 'USD', 'GBP')
|
|
75
|
-
* @param locale - Optional locale override (defaults to the currency's locale)
|
|
76
|
-
* @returns Formatted price string (e.g., "£100.00")
|
|
77
|
-
*/
|
|
78
|
-
function formatPrice(cents, currency = "GBP", locale) {
|
|
79
|
-
return formatCurrencyAmount(cents, currency, { locale });
|
|
80
|
-
}
|
|
81
|
-
//#endregion
|
|
82
|
-
//#region ../blocks/src/system/runtime/shared/bookingPaymentOptions.ts
|
|
83
|
-
function buildBookingPaymentSelectionViewModel(input) {
|
|
84
|
-
const currency = input.priceCurrency ?? "USD";
|
|
85
|
-
const allowedOptions = input.availableOptions;
|
|
86
|
-
const mode = allowedOptions.length > 1 ? "choice_required" : "single_option";
|
|
87
|
-
return {
|
|
88
|
-
mode,
|
|
89
|
-
sectionTitle: mode === "choice_required" ? "Choose how you'd like to pay" : "Payment",
|
|
90
|
-
serviceTitle: input.serviceTitle,
|
|
91
|
-
options: allowedOptions.map((option) => ({
|
|
92
|
-
...buildBookingPaymentOptionViewModel({
|
|
93
|
-
option,
|
|
94
|
-
currency,
|
|
95
|
-
locale: input.locale
|
|
96
|
-
}),
|
|
97
|
-
dueNowCents: option.dueNowCents
|
|
98
|
-
}))
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
function buildBookingPaymentOptionViewModel(input) {
|
|
102
|
-
if (isBookingCollectionEquivalentToUpfront(input.option)) return buildFullPaymentOptionViewModel(input);
|
|
103
|
-
switch (input.option.kind) {
|
|
104
|
-
case "upfront": return buildFullPaymentOptionViewModel(input);
|
|
105
|
-
case "deferred_manual": {
|
|
106
|
-
const formattedTotal = formatPrice(input.option.totalCents, input.currency, input.locale);
|
|
107
|
-
const copy = buildDeferredManualBookingPaymentOptionCopy();
|
|
108
|
-
return {
|
|
109
|
-
kind: "deferred_manual",
|
|
110
|
-
presentationKind: "deferred_manual",
|
|
111
|
-
title: copy.title,
|
|
112
|
-
description: copy.description,
|
|
113
|
-
summaryRows: [{
|
|
114
|
-
label: "Total",
|
|
115
|
-
value: formattedTotal
|
|
116
|
-
}, {
|
|
117
|
-
label: "Due today",
|
|
118
|
-
value: formatPrice(0, input.currency, input.locale)
|
|
119
|
-
}],
|
|
120
|
-
helperText: copy.helperText,
|
|
121
|
-
ctaLabel: copy.ctaLabel
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
case "instalment_plan": {
|
|
125
|
-
const futureRows = input.option.schedule.slice(1);
|
|
126
|
-
const dueToday = input.option.dueNowCents;
|
|
127
|
-
const formattedTotal = formatPrice(input.option.totalCents, input.currency, input.locale);
|
|
128
|
-
const formattedDueToday = formatPrice(dueToday, input.currency, input.locale);
|
|
129
|
-
const depositRefundability = input.option.depositRefundability;
|
|
130
|
-
const copy = buildInstalmentBookingPaymentOptionCopy({
|
|
131
|
-
formattedDueToday,
|
|
132
|
-
futurePaymentCount: futureRows.length,
|
|
133
|
-
formattedFirstFuture: futureRows[0] ? formatPrice(futureRows[0].amountCents, input.currency, input.locale) : null,
|
|
134
|
-
cadenceLabel: getPaymentCadenceLabel(input.option.plan),
|
|
135
|
-
depositRefundability
|
|
136
|
-
});
|
|
137
|
-
return {
|
|
138
|
-
kind: "instalment_plan",
|
|
139
|
-
presentationKind: "instalment_plan",
|
|
140
|
-
title: copy.title,
|
|
141
|
-
description: copy.description,
|
|
142
|
-
summaryRows: [
|
|
143
|
-
{
|
|
144
|
-
label: "Total",
|
|
145
|
-
value: formattedTotal
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
label: "Due today",
|
|
149
|
-
value: formattedDueToday
|
|
150
|
-
},
|
|
151
|
-
...depositRefundability ? [{
|
|
152
|
-
label: "Deposit policy",
|
|
153
|
-
value: depositRefundability === "non_refundable" ? "Non-refundable" : "Refundable"
|
|
154
|
-
}] : [],
|
|
155
|
-
...futureRows.map((row) => ({
|
|
156
|
-
label: formatScheduleDate(row.dueAt, input.locale),
|
|
157
|
-
value: formatPrice(row.amountCents, input.currency, input.locale)
|
|
158
|
-
}))
|
|
159
|
-
],
|
|
160
|
-
helperText: copy.helperText,
|
|
161
|
-
ctaLabel: copy.ctaLabel
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
case "flexible_balance": {
|
|
165
|
-
const dueToday = input.option.dueNowCents;
|
|
166
|
-
const remainingBalance = input.option.remainingBalanceCents;
|
|
167
|
-
const formattedTotal = formatPrice(input.option.totalCents, input.currency, input.locale);
|
|
168
|
-
const formattedDueToday = formatPrice(dueToday, input.currency, input.locale);
|
|
169
|
-
const formattedRemainingBalance = formatPrice(remainingBalance, input.currency, input.locale);
|
|
170
|
-
const dueAt = input.option.balanceDueAt;
|
|
171
|
-
const copy = buildFlexibleBalanceBookingPaymentOptionCopy({
|
|
172
|
-
formattedDueToday,
|
|
173
|
-
dueDateLabel: formatScheduleDate(dueAt, input.locale),
|
|
174
|
-
depositRefundability: input.option.config.depositRefundability
|
|
175
|
-
});
|
|
176
|
-
return {
|
|
177
|
-
kind: "flexible_balance",
|
|
178
|
-
presentationKind: "flexible_balance",
|
|
179
|
-
title: copy.title,
|
|
180
|
-
description: copy.description,
|
|
181
|
-
summaryRows: [
|
|
182
|
-
{
|
|
183
|
-
label: "Total",
|
|
184
|
-
value: formattedTotal
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
label: "Due today",
|
|
188
|
-
value: formattedDueToday
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
label: "Remaining balance",
|
|
192
|
-
value: formattedRemainingBalance
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
label: "Balance due by",
|
|
196
|
-
value: formatScheduleDate(dueAt, input.locale)
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
label: "Deposit policy",
|
|
200
|
-
value: input.option.config.depositRefundability === "non_refundable" ? "Non-refundable" : "Refundable"
|
|
201
|
-
}
|
|
202
|
-
],
|
|
203
|
-
helperText: copy.helperText,
|
|
204
|
-
ctaLabel: copy.ctaLabel
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
default: return assertNever(input.option);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
function getPaymentCadenceLabel(plan) {
|
|
211
|
-
const intervalCount = getBookingInstalmentPlanIntervalCount(plan);
|
|
212
|
-
const unitLabel = intervalCount === 1 ? plan.intervalUnit : `${plan.intervalUnit}s`;
|
|
213
|
-
return intervalCount === 1 ? unitLabel : `every ${intervalCount} ${unitLabel}`;
|
|
214
|
-
}
|
|
215
|
-
function formatScheduleDate(isoString, locale) {
|
|
216
|
-
const date = new Date(isoString);
|
|
217
|
-
if (!Number.isFinite(date.getTime())) return isoString;
|
|
218
|
-
return new Intl.DateTimeFormat(locale, { dateStyle: "medium" }).format(date);
|
|
219
|
-
}
|
|
220
|
-
function buildFullPaymentOptionViewModel(input) {
|
|
221
|
-
const formattedTotal = formatPrice(input.option.totalCents, input.currency, input.locale);
|
|
222
|
-
const copy = buildUpfrontBookingPaymentOptionCopy(formattedTotal);
|
|
223
|
-
return {
|
|
224
|
-
kind: input.option.kind,
|
|
225
|
-
presentationKind: "upfront",
|
|
226
|
-
...copy,
|
|
227
|
-
summaryRows: [{
|
|
228
|
-
label: "Total",
|
|
229
|
-
value: formattedTotal
|
|
230
|
-
}, {
|
|
231
|
-
label: "Due today",
|
|
232
|
-
value: formattedTotal
|
|
233
|
-
}]
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
//#endregion
|
|
237
|
-
//#region ../blocks/src/system/runtime/hooks/usePolling.state.ts
|
|
238
|
-
function createInitialPollingState() {
|
|
239
|
-
return {
|
|
240
|
-
tag: "idle",
|
|
241
|
-
result: null,
|
|
242
|
-
error: null
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
function pollingReducer(state, action) {
|
|
246
|
-
switch (action.type) {
|
|
247
|
-
case "polling-went-idle": return createInitialPollingState();
|
|
248
|
-
case "polling-reset": return {
|
|
249
|
-
tag: "polling",
|
|
250
|
-
result: null,
|
|
251
|
-
error: null
|
|
252
|
-
};
|
|
253
|
-
case "polling-progressed": return {
|
|
254
|
-
tag: "polling",
|
|
255
|
-
result: action.result,
|
|
256
|
-
error: null
|
|
257
|
-
};
|
|
258
|
-
case "polling-completed": return {
|
|
259
|
-
tag: "completed",
|
|
260
|
-
result: action.result,
|
|
261
|
-
error: null
|
|
262
|
-
};
|
|
263
|
-
case "polling-failed": return {
|
|
264
|
-
tag: "failed",
|
|
265
|
-
result: action.result,
|
|
266
|
-
error: null
|
|
267
|
-
};
|
|
268
|
-
case "polling-request-failed": switch (state.tag) {
|
|
269
|
-
case "idle": return {
|
|
270
|
-
tag: "polling",
|
|
271
|
-
result: null,
|
|
272
|
-
error: action.error
|
|
273
|
-
};
|
|
274
|
-
case "polling": return {
|
|
275
|
-
tag: "polling",
|
|
276
|
-
result: state.result,
|
|
277
|
-
error: action.error
|
|
278
|
-
};
|
|
279
|
-
case "completed":
|
|
280
|
-
case "failed":
|
|
281
|
-
case "timeout": return state;
|
|
282
|
-
default: return assertNever(state);
|
|
283
|
-
}
|
|
284
|
-
case "polling-timed-out": return {
|
|
285
|
-
tag: "timeout",
|
|
286
|
-
result: state.result,
|
|
287
|
-
error: /* @__PURE__ */ new Error("Polling timed out")
|
|
288
|
-
};
|
|
289
|
-
default: return assertNever(action);
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
//#endregion
|
|
293
|
-
//#region ../blocks/src/system/runtime/hooks/usePolling.ts
|
|
294
|
-
/**
|
|
295
|
-
* Generic polling hook for async operations.
|
|
296
|
-
*
|
|
297
|
-
* Provides a reusable polling mechanism with configurable intervals,
|
|
298
|
-
* max attempts, and completion detection. Used by usePaymentVerification
|
|
299
|
-
* and other hooks that need to poll for status changes.
|
|
300
|
-
*/
|
|
301
|
-
const DEFAULT_MAX_ATTEMPTS = 10;
|
|
302
|
-
const DEFAULT_POLL_INTERVAL = 1e3;
|
|
303
|
-
function usePollingRuntime(config) {
|
|
304
|
-
const runtime = {
|
|
305
|
-
configRef: useRef(config),
|
|
306
|
-
attemptsRef: useRef(0),
|
|
307
|
-
timeoutRef: useRef(null),
|
|
308
|
-
isPollingRef: useRef(false),
|
|
309
|
-
isActiveRef: useRef(false),
|
|
310
|
-
generationRef: useRef(0)
|
|
311
|
-
};
|
|
312
|
-
runtime.configRef.current = config;
|
|
313
|
-
return runtime;
|
|
314
|
-
}
|
|
315
|
-
function usePollingCleanup(runtime) {
|
|
316
|
-
const { isActiveRef, generationRef, timeoutRef, isPollingRef } = runtime;
|
|
317
|
-
return useCallback(() => {
|
|
318
|
-
isActiveRef.current = false;
|
|
319
|
-
generationRef.current += 1;
|
|
320
|
-
if (timeoutRef.current) {
|
|
321
|
-
clearTimeout(timeoutRef.current);
|
|
322
|
-
timeoutRef.current = null;
|
|
323
|
-
}
|
|
324
|
-
isPollingRef.current = false;
|
|
325
|
-
}, [
|
|
326
|
-
generationRef,
|
|
327
|
-
isActiveRef,
|
|
328
|
-
isPollingRef,
|
|
329
|
-
timeoutRef
|
|
330
|
-
]);
|
|
331
|
-
}
|
|
332
|
-
function usePollingReset(runtime, dispatch) {
|
|
333
|
-
const { attemptsRef } = runtime;
|
|
334
|
-
return useCallback(() => {
|
|
335
|
-
dispatch({ type: "polling-reset" });
|
|
336
|
-
attemptsRef.current = 0;
|
|
337
|
-
}, [attemptsRef, dispatch]);
|
|
338
|
-
}
|
|
339
|
-
function usePollingRequest(runtime, dispatch, cleanup) {
|
|
340
|
-
const { configRef, attemptsRef, isPollingRef, isActiveRef, generationRef } = runtime;
|
|
341
|
-
return useCallback(async () => {
|
|
342
|
-
const config = configRef.current;
|
|
343
|
-
if (!config) return true;
|
|
344
|
-
if (isPollingRef.current) return false;
|
|
345
|
-
const maxAttempts = config.maxAttempts ?? DEFAULT_MAX_ATTEMPTS;
|
|
346
|
-
if (attemptsRef.current >= maxAttempts) {
|
|
347
|
-
dispatch({ type: "polling-timed-out" });
|
|
348
|
-
cleanup();
|
|
349
|
-
return true;
|
|
350
|
-
}
|
|
351
|
-
isPollingRef.current = true;
|
|
352
|
-
attemptsRef.current += 1;
|
|
353
|
-
const generation = generationRef.current;
|
|
354
|
-
try {
|
|
355
|
-
const result = await config.pollFn();
|
|
356
|
-
if (generation !== generationRef.current || !isActiveRef.current) return true;
|
|
357
|
-
if (config.isFailed?.(result)) {
|
|
358
|
-
dispatch({
|
|
359
|
-
type: "polling-failed",
|
|
360
|
-
result
|
|
361
|
-
});
|
|
362
|
-
cleanup();
|
|
363
|
-
return true;
|
|
364
|
-
}
|
|
365
|
-
if (config.isComplete(result)) {
|
|
366
|
-
dispatch({
|
|
367
|
-
type: "polling-completed",
|
|
368
|
-
result
|
|
369
|
-
});
|
|
370
|
-
cleanup();
|
|
371
|
-
return true;
|
|
372
|
-
}
|
|
373
|
-
dispatch({
|
|
374
|
-
type: "polling-progressed",
|
|
375
|
-
result
|
|
376
|
-
});
|
|
377
|
-
isPollingRef.current = false;
|
|
378
|
-
return false;
|
|
379
|
-
} catch (error) {
|
|
380
|
-
if (generation !== generationRef.current || !isActiveRef.current) return true;
|
|
381
|
-
if (error instanceof Error) dispatch({
|
|
382
|
-
type: "polling-request-failed",
|
|
383
|
-
error
|
|
384
|
-
});
|
|
385
|
-
isPollingRef.current = false;
|
|
386
|
-
return false;
|
|
387
|
-
}
|
|
388
|
-
}, [
|
|
389
|
-
attemptsRef,
|
|
390
|
-
cleanup,
|
|
391
|
-
configRef,
|
|
392
|
-
dispatch,
|
|
393
|
-
generationRef,
|
|
394
|
-
isActiveRef,
|
|
395
|
-
isPollingRef
|
|
396
|
-
]);
|
|
397
|
-
}
|
|
398
|
-
function usePollingScheduler(runtime, poll) {
|
|
399
|
-
const { attemptsRef, configRef, isActiveRef, timeoutRef } = runtime;
|
|
400
|
-
return useCallback(() => {
|
|
401
|
-
if (!isActiveRef.current) return;
|
|
402
|
-
const doPoll = async () => {
|
|
403
|
-
if (!await poll() && isActiveRef.current) {
|
|
404
|
-
const configuredInterval = configRef.current?.interval;
|
|
405
|
-
const interval = typeof configuredInterval === "function" ? configuredInterval(attemptsRef.current) : configuredInterval ?? DEFAULT_POLL_INTERVAL;
|
|
406
|
-
timeoutRef.current = setTimeout(doPoll, interval);
|
|
407
|
-
}
|
|
408
|
-
};
|
|
409
|
-
doPoll();
|
|
410
|
-
}, [
|
|
411
|
-
attemptsRef,
|
|
412
|
-
configRef,
|
|
413
|
-
isActiveRef,
|
|
414
|
-
poll,
|
|
415
|
-
timeoutRef
|
|
416
|
-
]);
|
|
417
|
-
}
|
|
418
|
-
function usePollingCycle(config, runtime, dispatch) {
|
|
419
|
-
const cleanup = usePollingCleanup(runtime);
|
|
420
|
-
const resetState = usePollingReset(runtime, dispatch);
|
|
421
|
-
const schedulePoll = usePollingScheduler(runtime, usePollingRequest(runtime, dispatch, cleanup));
|
|
422
|
-
const pollingEnabled = config !== null;
|
|
423
|
-
useEffect(() => {
|
|
424
|
-
if (!pollingEnabled) {
|
|
425
|
-
cleanup();
|
|
426
|
-
dispatch({ type: "polling-went-idle" });
|
|
427
|
-
return;
|
|
428
|
-
}
|
|
429
|
-
resetState();
|
|
430
|
-
runtime.isActiveRef.current = true;
|
|
431
|
-
schedulePoll();
|
|
432
|
-
return cleanup;
|
|
433
|
-
}, [
|
|
434
|
-
cleanup,
|
|
435
|
-
dispatch,
|
|
436
|
-
pollingEnabled,
|
|
437
|
-
resetState,
|
|
438
|
-
config?.restartKey ?? null,
|
|
439
|
-
runtime.isActiveRef,
|
|
440
|
-
schedulePoll
|
|
441
|
-
]);
|
|
442
|
-
return useCallback(() => {
|
|
443
|
-
if (!runtime.configRef.current) return;
|
|
444
|
-
cleanup();
|
|
445
|
-
resetState();
|
|
446
|
-
runtime.isActiveRef.current = true;
|
|
447
|
-
schedulePoll();
|
|
448
|
-
}, [
|
|
449
|
-
cleanup,
|
|
450
|
-
resetState,
|
|
451
|
-
runtime.configRef,
|
|
452
|
-
runtime.isActiveRef,
|
|
453
|
-
schedulePoll
|
|
454
|
-
]);
|
|
455
|
-
}
|
|
456
|
-
/**
|
|
457
|
-
* Polls until the operation completes, fails, times out, or becomes disabled.
|
|
458
|
-
* Config objects may be rebuilt across renders; change restartKey to begin a
|
|
459
|
-
* new operation and reset its attempt budget.
|
|
460
|
-
*/
|
|
461
|
-
function usePolling(config) {
|
|
462
|
-
const [state, dispatch] = useReducer(pollingReducer, void 0, createInitialPollingState);
|
|
463
|
-
const retry = usePollingCycle(config, usePollingRuntime(config), dispatch);
|
|
464
|
-
return {
|
|
465
|
-
status: config ? state.tag : "idle",
|
|
466
|
-
result: config ? state.result : null,
|
|
467
|
-
error: config ? state.error : null,
|
|
468
|
-
retry
|
|
469
|
-
};
|
|
470
|
-
}
|
|
471
|
-
//#endregion
|
|
472
|
-
//#region ../blocks/src/system/runtime/shared/components/StepIndicator.tsx
|
|
473
|
-
/**
|
|
474
|
-
* Shared step indicator component for registration wizards.
|
|
475
|
-
* Shows numbered steps with current progress and completion state.
|
|
476
|
-
*
|
|
477
|
-
* Two class channels can be emitted (independently or together):
|
|
478
|
-
* - `emitSharedClasses` adds the shared registration-surface classes
|
|
479
|
-
* (`rb-steps-nav`, `rb-step-circle`, ...) styled by
|
|
480
|
-
* theme-core `blocks-static/registration-surface.css`.
|
|
481
|
-
* - `classPrefix` adds block-prefixed classes (e.g. `er-step-circle`) — the
|
|
482
|
-
* legacy styling channel and the stable hook surface for per-site theme CSS.
|
|
483
|
-
*
|
|
484
|
-
* Blocks opt in to the shared channel as part of their registration-surface
|
|
485
|
-
* migration (issue 1174); until then a prefix-only render is unchanged output.
|
|
486
|
-
* At least one channel must be enabled or the indicator renders unstyled.
|
|
487
|
-
*/
|
|
488
|
-
function buildClassChannels(slot, classPrefix, emitSharedClasses) {
|
|
489
|
-
const classes = [];
|
|
490
|
-
if (emitSharedClasses) classes.push(`rb-${slot}`);
|
|
491
|
-
if (classPrefix) classes.push(`${classPrefix}-${slot}`);
|
|
492
|
-
return classes;
|
|
493
|
-
}
|
|
494
|
-
function StepIndicator({ currentStep, totalSteps, stepLabels, classPrefix, emitSharedClasses }) {
|
|
495
|
-
const slotClass = (slot, modifier) => {
|
|
496
|
-
const base = buildClassChannels(slot, classPrefix, emitSharedClasses);
|
|
497
|
-
if (!modifier) return base.join(" ");
|
|
498
|
-
const modified = buildClassChannels(`${slot}--${modifier}`, classPrefix, emitSharedClasses);
|
|
499
|
-
return [...base, ...modified].join(" ");
|
|
500
|
-
};
|
|
501
|
-
return /* @__PURE__ */ jsx("nav", {
|
|
502
|
-
"aria-label": "Registration progress",
|
|
503
|
-
className: slotClass("steps-nav"),
|
|
504
|
-
children: /* @__PURE__ */ jsx("ol", {
|
|
505
|
-
className: slotClass("steps"),
|
|
506
|
-
children: Array.from({ length: totalSteps }, (_, i) => {
|
|
507
|
-
const stepNum = i + 1;
|
|
508
|
-
const isActive = stepNum === currentStep;
|
|
509
|
-
const isComplete = stepNum < currentStep;
|
|
510
|
-
return /* @__PURE__ */ jsxs("li", {
|
|
511
|
-
className: slotClass("step"),
|
|
512
|
-
"aria-current": isActive ? "step" : void 0,
|
|
513
|
-
children: [
|
|
514
|
-
/* @__PURE__ */ jsx("div", {
|
|
515
|
-
className: slotClass("step-circle", isActive ? "active" : isComplete ? "completed" : void 0),
|
|
516
|
-
children: isComplete ? /* @__PURE__ */ jsx(CheckIcon, {
|
|
517
|
-
className: slotClass("step-check"),
|
|
518
|
-
strokeWidth: 3
|
|
519
|
-
}) : stepNum
|
|
520
|
-
}),
|
|
521
|
-
stepLabels?.[i] && /* @__PURE__ */ jsx("span", {
|
|
522
|
-
className: slotClass("step-label", isActive ? "active" : void 0),
|
|
523
|
-
children: stepLabels[i]
|
|
524
|
-
}),
|
|
525
|
-
stepNum < totalSteps && /* @__PURE__ */ jsx("div", {
|
|
526
|
-
className: slotClass("step-connector", isComplete ? "completed" : void 0),
|
|
527
|
-
"aria-hidden": "true"
|
|
528
|
-
})
|
|
529
|
-
]
|
|
530
|
-
}, i);
|
|
531
|
-
})
|
|
532
|
-
})
|
|
533
|
-
});
|
|
534
|
-
}
|
|
535
|
-
//#endregion
|
|
536
|
-
//#region ../blocks/src/system/runtime/shared/components/BookingConsentAgreement.tsx
|
|
537
|
-
function BookingConsentAgreement({ agreement, showTitle = true, title, titleId }) {
|
|
538
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [showTitle ? /* @__PURE__ */ jsxs("div", {
|
|
539
|
-
id: titleId,
|
|
540
|
-
className: "form-label",
|
|
541
|
-
children: [title, /* @__PURE__ */ jsx("span", {
|
|
542
|
-
className: "required-marker",
|
|
543
|
-
children: "*"
|
|
544
|
-
})]
|
|
545
|
-
}) : null, /* @__PURE__ */ jsx("div", {
|
|
546
|
-
role: "group",
|
|
547
|
-
"aria-label": showTitle ? void 0 : title,
|
|
548
|
-
"aria-labelledby": showTitle ? titleId : void 0,
|
|
549
|
-
children: /* @__PURE__ */ jsx(RichText, {
|
|
550
|
-
doc: agreement,
|
|
551
|
-
linkTarget: "new-tab",
|
|
552
|
-
className: "rb-prose rb-max-w-none"
|
|
553
|
-
})
|
|
554
|
-
})] });
|
|
555
|
-
}
|
|
556
|
-
//#endregion
|
|
557
|
-
//#region ../blocks/src/system/runtime/shared/components/BookingMailingListNote.tsx
|
|
558
|
-
function BookingMailingListNote(props) {
|
|
559
|
-
const copy = getBookingMailingListNoteCopy(props.note, props.context);
|
|
560
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
561
|
-
role: "status",
|
|
562
|
-
className: props.className,
|
|
563
|
-
children: [/* @__PURE__ */ jsx("p", { children: copy.title }), copy.detail ? /* @__PURE__ */ jsx("p", { children: copy.detail }) : null]
|
|
564
|
-
});
|
|
565
|
-
}
|
|
566
|
-
//#endregion
|
|
567
|
-
export { buildBookingPaymentSelectionViewModel as a, usePolling as i, BookingConsentAgreement as n, formatPrice as o, StepIndicator as r, useBookingNowIso as s, BookingMailingListNote as t };
|