@riverbankcms/sdk 0.146.0 → 0.148.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 +28 -0
- package/dist/{PreviewEditorSidebar-kg2r2Fyi.mjs → PreviewEditorSidebar-DvEPG3Z2.mjs} +249 -172
- package/dist/{PreviewEditorUI-sWMLp5dT.mjs → PreviewEditorUI-D6eb6fkx.mjs} +68 -60
- package/dist/{PreviewQueryProvider-Cg51xq1w.mjs → PreviewQueryProvider-5znTyJuz.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-h2ti3Hch.mjs → SdkPreviewModeRuntime-DJ6utQ_R.mjs} +1180 -475
- package/dist/{SiteChromeCustomizeContext-DEACFH9m.mjs → SiteChromeCustomizeContext-CFJYh6vo.mjs} +199078 -193767
- package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -33
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +18 -3
- package/dist/_dts/api/src/accessAdmin.d.ts +0 -4
- package/dist/_dts/api/src/accountApi.d.ts +6 -6
- package/dist/_dts/api/src/admin.d.ts +22 -22
- package/dist/_dts/api/src/aiPatch.d.ts +2 -2
- package/dist/_dts/api/src/aiPlayground.d.ts +1 -0
- package/dist/_dts/api/src/analytics.d.ts +2 -2
- package/dist/_dts/api/src/apiEndpointTypes.d.ts +2 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
- package/dist/_dts/api/src/auth.d.ts +10 -10
- package/dist/_dts/api/src/availability.d.ts +6 -6
- package/dist/_dts/api/src/billing.d.ts +42 -15
- package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/billingEndpointTypes.d.ts +15 -6
- package/dist/_dts/api/src/blocks.d.ts +15 -14
- package/dist/_dts/api/src/blocksKeys.d.ts +2 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +16 -2
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -13
- package/dist/_dts/api/src/bookingOperations.d.ts +6 -48
- package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
- package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +12 -49
- package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
- package/dist/_dts/api/src/bookings.d.ts +8 -7
- package/dist/_dts/api/src/calendar.d.ts +9 -9
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -6
- package/dist/_dts/api/src/common/envelope.d.ts +2 -2
- package/dist/_dts/api/src/content-editor.d.ts +2 -2
- package/dist/_dts/api/src/contentEntries.d.ts +17 -48
- package/dist/_dts/api/src/contentRuntime.d.ts +51 -37
- package/dist/_dts/api/src/contentTypes.d.ts +11 -11
- package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +6 -6
- package/dist/_dts/api/src/documentLifecycle.d.ts +67 -0
- package/dist/_dts/api/src/domains.d.ts +16 -16
- package/dist/_dts/api/src/editLeaseEndpoints.d.ts +72 -0
- package/dist/_dts/api/src/emailSettings.d.ts +4 -4
- package/dist/_dts/api/src/endpoints.d.ts +725 -607
- package/dist/_dts/api/src/eventEmailTemplates.d.ts +2 -2
- package/dist/_dts/api/src/eventManagementContracts.d.ts +48 -8
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +1 -9
- package/dist/_dts/api/src/eventPageWords.d.ts +7 -12
- package/dist/_dts/api/src/footerSettings.d.ts +6 -6
- package/dist/_dts/api/src/index.d.ts +8 -6
- package/dist/_dts/api/src/indexCoreTypes.d.ts +2 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +1 -6
- package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
- package/dist/_dts/api/src/navigation.d.ts +5 -5
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +15 -0
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +19 -0
- package/dist/_dts/api/src/pageSurfaceEditorEndpoints.d.ts +55 -0
- package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +28 -7
- package/dist/_dts/api/src/pages.d.ts +7 -7
- package/dist/_dts/api/src/performance.d.ts +1 -1
- package/dist/_dts/api/src/public/index.d.ts +1 -1
- package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +50 -0
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +4 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
- package/dist/_dts/api/src/redirects.d.ts +3 -3
- package/dist/_dts/api/src/request.d.ts +10 -1
- package/dist/_dts/api/src/resources.d.ts +4 -4
- package/dist/_dts/api/src/routes.d.ts +8 -3
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +15 -1
- package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +21 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +5 -28
- package/dist/_dts/api/src/sdkCourseBooking.d.ts +4 -4
- package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +1 -1
- package/dist/_dts/api/src/sdkEventOccurrenceRequestContracts.d.ts +43 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +4 -2
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +8 -1
- package/dist/_dts/api/src/seo.d.ts +4 -4
- package/dist/_dts/api/src/services.d.ts +4 -4
- package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +19 -25
- package/dist/_dts/api/src/siteMembers.d.ts +10 -10
- package/dist/_dts/api/src/siteOnboarding.d.ts +16 -14
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -3
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -12
- package/dist/_dts/api/src/siteRuntimeEntry.d.ts +31 -0
- package/dist/_dts/billing/src/checkout/platform.d.ts +77 -0
- package/dist/_dts/billing/src/components/index.d.ts +25 -40
- package/dist/_dts/billing/src/membership/index.d.ts +1 -3
- package/dist/_dts/billing/src/plans/entitlements.d.ts +80 -0
- package/dist/_dts/billing/src/plans/registry.d.ts +16 -16
- package/dist/_dts/billing/src/plans/standing.d.ts +9 -2
- package/dist/_dts/billing/src/plans/types.d.ts +5 -15
- package/dist/_dts/billing/src/site-arrangements.d.ts +2 -2
- package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +2 -4
- package/dist/_dts/billing/src/subscriptions/store.d.ts +17 -11
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +6 -7
- package/dist/_dts/block-form/src/backend/types.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
- package/dist/_dts/blocks/src/client/events.d.ts +3 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -4
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +18 -9
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +4 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +0 -2
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +6 -1
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +36 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +18 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/usePolling.d.ts +7 -48
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.checkout-return-context.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.payment-confirmation.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +17 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-actions.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +7 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +18 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +37 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +16 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCardPresentations.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +2 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DemoBookingPortalAccess.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DemoPortalSignInLink.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/demoBookingPassStorage.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/demoPortalMagicLink.d.ts +29 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
- package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
- package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -7
- package/dist/_dts/content-editor/src/controller/EditLeaseController.d.ts +39 -0
- package/dist/_dts/content-editor/src/controller/EditorWriteGate.d.ts +38 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +25 -61
- package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseBanner.d.ts +7 -0
- package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseControllers.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/deriveEditorUnpublishedState.d.ts +6 -0
- package/dist/_dts/content-editor/src/controller/documentValueBaseline.d.ts +25 -0
- package/dist/_dts/content-editor/src/controller/editLeaseLossSignal.d.ts +6 -0
- package/dist/_dts/content-editor/src/controller/editLeaseNotice.d.ts +28 -0
- package/dist/_dts/content-editor/src/controller/editorClientId.d.ts +2 -0
- package/dist/_dts/content-editor/src/controller/editorEditability.d.ts +38 -0
- package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +34 -0
- package/dist/_dts/content-editor/src/controller/normalizedMetadataBaseline.d.ts +29 -0
- package/dist/_dts/content-editor/src/controller/pageSurfaceDocumentBaselines.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/pageSurfaceLifecycle.d.ts +11 -0
- package/dist/_dts/content-editor/src/controller/planDocumentBaselineRefresh.d.ts +19 -0
- package/dist/_dts/content-editor/src/controller/readDocumentLeaseBaselines.d.ts +19 -0
- package/dist/_dts/content-editor/src/controller/refreshDocumentLeaseBaseline.d.ts +12 -0
- package/dist/_dts/content-editor/src/controller/refreshLinkedEntry.d.ts +17 -0
- package/dist/_dts/content-editor/src/controller/replayRestoredEditorEffects.d.ts +2 -3
- package/dist/_dts/content-editor/src/controller/routeWrites.d.ts +26 -0
- package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +16 -17
- package/dist/_dts/content-editor/src/controller/useBlockedPublishPlan.d.ts +6 -2
- package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +3 -3
- package/dist/_dts/content-editor/src/controller/useEntryValueAutosaves.d.ts +21 -0
- package/dist/_dts/content-editor/src/controller/useInitialEditorUiStore.d.ts +24 -0
- package/dist/_dts/content-editor/src/controller/useServerBaselineReconciliation.d.ts +17 -0
- package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/applyBlockedPublishPlan.d.ts +5 -1
- package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +8 -47
- package/dist/_dts/content-editor/src/hooks/editLeaseMachine.d.ts +120 -0
- package/dist/_dts/content-editor/src/hooks/publishability.d.ts +6 -10
- package/dist/_dts/content-editor/src/hooks/useAutosaveStatus.d.ts +3 -0
- package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +5 -15
- package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +7 -5
- package/dist/_dts/content-editor/src/hooks/useEditLease.d.ts +28 -0
- package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +25 -39
- package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +17 -19
- package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +5 -8
- package/dist/_dts/content-editor/src/hooks/useValueAutosave.d.ts +64 -0
- package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +0 -7
- package/dist/_dts/content-editor/src/index.d.ts +26 -7
- package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +12 -0
- package/dist/_dts/content-editor/src/linkedEntries/owner.d.ts +9 -0
- package/dist/_dts/content-editor/src/liveDrafts/draftProjection.d.ts +66 -0
- package/dist/_dts/content-editor/src/liveDrafts/linkedSaveHandovers.d.ts +37 -0
- package/dist/_dts/content-editor/src/liveDrafts/remoteDraftOverlay.d.ts +113 -0
- package/dist/_dts/content-editor/src/liveDrafts/useLiveDrafts.d.ts +32 -0
- package/dist/_dts/content-editor/src/liveDrafts/useRetentionTicks.d.ts +7 -0
- package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +6 -0
- package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +1 -0
- package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +96 -19
- package/dist/_dts/content-editor/src/services/editorApiClient.d.ts +13 -0
- package/dist/_dts/content-editor/src/services/index.d.ts +2 -0
- package/dist/_dts/content-editor/src/services/pageSurfaceEditorServices.d.ts +23 -0
- package/dist/_dts/content-editor/src/sync/flushValues.d.ts +13 -0
- package/dist/_dts/content-editor/src/sync/lifecycleFailure.d.ts +51 -0
- package/dist/_dts/content-editor/src/sync/runLifecycle.d.ts +64 -0
- package/dist/_dts/content-editor/src/sync/schedulerValues.d.ts +27 -0
- package/dist/_dts/content-editor/src/sync/sendPlanning.d.ts +104 -0
- package/dist/_dts/content-editor/src/sync/valueSync.d.ts +114 -0
- package/dist/_dts/content-editor/src/ui/blockCollection.d.ts +8 -0
- package/dist/_dts/content-editor/src/ui/documentLifecycle.d.ts +18 -0
- package/dist/_dts/content-editor/src/ui/editorLeaseUiState.d.ts +7 -0
- package/dist/_dts/content-editor/src/ui/editorRefresh.d.ts +82 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +102 -127
- package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +126 -72
- package/dist/_dts/content-editor/src/ui/editorValueSnapshot.d.ts +18 -0
- package/dist/_dts/content-editor/src/ui/serverBlockAdmission.d.ts +26 -0
- package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +16 -27
- package/dist/_dts/content-editor/src/ui/stores/blockVersionsStore.d.ts +24 -0
- package/dist/_dts/content-editor/src/ui/stores/linkedEntryLeaseStore.d.ts +54 -0
- package/dist/_dts/content-editor/src/ui/stores/linkedSaveHandoversStore.d.ts +11 -0
- package/dist/_dts/content-editor/src/ui/stores/remoteDraftsStore.d.ts +10 -0
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +63 -3
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +2 -2
- package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -4
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -4
- package/dist/_dts/content-model/src/definitions/shared.d.ts +11 -2
- package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
- package/dist/_dts/content-model/src/entry-slots/serializeAllowedBlocks.d.ts +2 -0
- package/dist/_dts/content-model/src/metadataConfig.d.ts +10 -38
- package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
- package/dist/_dts/content-model/src/types.d.ts +0 -1
- package/dist/_dts/core/src/block-content-identity.d.ts +49 -1
- package/dist/_dts/core/src/branded.d.ts +12 -0
- package/dist/_dts/core/src/currency-format.d.ts +8 -2
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +2 -2
- package/dist/_dts/core/src/demo-warm-pool-target.d.ts +8 -0
- package/dist/_dts/core/src/edit-lease.d.ts +55 -0
- package/dist/_dts/core/src/editor-state.d.ts +38 -13
- package/dist/_dts/core/src/editor-value-sync.d.ts +79 -0
- package/dist/_dts/core/src/html-entities.d.ts +6 -0
- package/dist/_dts/core/src/index.d.ts +5 -1
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
- package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -0
- package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
- package/dist/_dts/core/src/participants.d.ts +0 -38
- package/dist/_dts/core/src/uuid.d.ts +7 -5
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +261 -175
- package/dist/_dts/editor/src/EditorProvider.d.ts +5 -0
- package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +14 -0
- package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +1 -0
- package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +0 -1
- package/dist/_dts/editor/src/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +10 -9
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardFrame.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/applyExtendedFieldDefaults.d.ts +3 -4
- package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +4 -8
- package/dist/_dts/editor-blocks/src/block-editor/editorBlockItem.d.ts +23 -0
- package/dist/_dts/editor-blocks/src/block-editor/generatedIconApplyCoordination.d.ts +2 -7
- package/dist/_dts/editor-blocks/src/block-editor/hooks/applyBlockStructureChange.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +14 -5
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +21 -19
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -10
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +8 -16
- package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +6 -16
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +37 -9
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +3 -2
- package/dist/_dts/media-core/src/fileStorage.d.ts +4 -0
- package/dist/_dts/media-editor/src/context.d.ts +1 -1
- package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -2
- package/dist/_dts/media-editor/src/provider.d.ts +3 -2
- package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
- package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +8 -3
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +10 -6
- package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +22 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/entryFieldRebinding.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +11 -1
- package/dist/_dts/preview-next/src/client/blocks/renderPrecedence.d.ts +17 -0
- package/dist/_dts/preview-next/src/client/blocks/useLinkedSaveHandoverRetention.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewAccessBanners.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +24 -14
- package/dist/_dts/preview-next/src/client/preview/PreviewLeaseEditingMode.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +9 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeAutosave.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +3 -4
- package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/usePreviewCustomizeWorkflowState.d.ts +4 -0
- package/dist/_dts/realtime/src/client.d.ts +3 -0
- package/dist/_dts/realtime/src/draftChannel.d.ts +91 -0
- package/dist/_dts/realtime/src/drafts.d.ts +210 -0
- package/dist/_dts/realtime/src/index.d.ts +3 -0
- package/dist/_dts/realtime/src/leaseChangeSubscriptions.d.ts +8 -0
- package/dist/_dts/realtime/src/types.d.ts +113 -0
- package/dist/_dts/realtime/src/useDraftChannel.d.ts +34 -0
- package/dist/_dts/realtime/src/useSiteRealtimeReload.d.ts +27 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -55
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +4 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
- package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
- package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
- package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
- package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
- package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
- package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
- package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
- package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
- package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
- package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
- package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
- package/dist/_dts/ui/src/badge.d.ts +2 -1
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
- package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
- package/dist/_dts/ui/src/combobox.d.ts +26 -1
- package/dist/_dts/ui/src/date-picker.d.ts +5 -8
- package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
- package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
- package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
- package/dist/_dts/ui/src/index.d.ts +4 -1
- package/dist/_dts/ui/src/native-select.d.ts +8 -0
- package/dist/_dts/ui/src/popover.d.ts +7 -1
- package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
- package/dist/_dts/ui/src/surface.d.ts +1 -1
- package/dist/client/{BookingConsentAgreement-BQKL045f.mjs → BookingMailingListNote-CzRt2dF_.mjs} +110 -97
- package/dist/client/{CheckboxChoice--W2n6yKs.mjs → CheckboxChoice-B33MqoUo.mjs} +1 -1
- package/dist/client/DemoBookingPortalAccess-mxqwap3f.mjs +344 -0
- package/dist/client/{EventCombined.client-BdRjVbhH.mjs → EventCombined.client-CDb11igO.mjs} +7 -7
- package/dist/client/{EventListing.client-DBxC6xOU.mjs → EventListing.client-EgYhzKPa.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-mHEJKrTs.mjs → LeafletStaticMap-gtmtaA2b.mjs} +1 -1
- package/dist/client/{scrollToBlock-BNgaEUpo.mjs → TerminalPanel-DvNUP5ot.mjs} +77 -77
- package/dist/client/{ThemedButton-CE5KYT6z.mjs → ThemedButton-C7CeUJjW.mjs} +2 -2
- package/dist/client/{accordion-BEQNSptH.mjs → accordion-kjvt49rA.mjs} +1 -1
- package/dist/client/{bookingForm-AMr-s5vw.mjs → bookingForm-pbRZordh.mjs} +411 -141
- package/dist/client/bookings.mjs +966 -396
- package/dist/client/{carousel-Bbt_QgJy.mjs → carousel-f4Zbmicv.mjs} +2 -2
- package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
- package/dist/client/{cart-CnWi30zJ.mjs → cart-DO20An50.mjs} +3 -3
- package/dist/client/{checkout-f3nkWgd4.mjs → checkout-Du5amDR_.mjs} +3 -3
- package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-CXhko2Rv.mjs} +1 -1
- package/dist/client/client.mjs +3837 -2202
- package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
- package/dist/client/{context-Bc8T6pCe.mjs → context-eW97E945.mjs} +4 -3
- package/dist/client/{dates-DUsCEzLb.mjs → dates-jPCirRea.mjs} +56 -11
- package/dist/client/{eventCalendar-CKwgXui5.mjs → eventCalendar-C2M-iE4j.mjs} +10 -10
- package/dist/client/{eventCombined-CBAOSTGR.mjs → eventCombined-W6ns3LHg.mjs} +4 -4
- package/dist/client/{eventDetails-Dh-_WiBD.mjs → eventDetails-CR-GT0f0.mjs} +4 -4
- package/dist/client/{eventListing-CA3frIH5.mjs → eventListing-BK8AfYZz.mjs} +4 -4
- package/dist/client/{eventRegistration-BHtsgdcg.mjs → eventRegistration-BJSd4KUu.mjs} +461 -266
- package/dist/client/{form-C2h3YAcg.mjs → form-BvpfbQaT.mjs} +5 -5
- package/dist/client/{headerSection-lwMuMTH9.mjs → headerSection-I5sUQ8x-.mjs} +3 -3
- package/dist/client/hooks.mjs +909 -163
- package/dist/client/{locationMap-DJ2bLODV.mjs → locationMap-BLvwf9_f.mjs} +4 -4
- package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
- package/dist/client/{media-BtJ37tzS.mjs → media-Cl38iOMI.mjs} +11 -4
- package/dist/client/{newsletterForm-8Pu5K32g.mjs → newsletterForm-DrQ2weE8.mjs} +6 -6
- package/dist/client/{pricing-HHx3IgBz.mjs → pricing-BES87mrR.mjs} +1 -1
- package/dist/client/{productDetail-C_1odnAf.mjs → productDetail-Url9jcc5.mjs} +3 -3
- package/dist/client/{productList-CtCv-Nmx.mjs → productList-DE7ngEZJ.mjs} +3 -3
- package/dist/client/{propsDecoder-Dcgsncxb.mjs → propsDecoder-D1OtGXDV.mjs} +140 -22
- package/dist/client/rendering/client.mjs +2366 -997
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +4607 -2884
- package/dist/client/{routeIslandApiConfig-CWLP7wu3.mjs → routeIslandApiConfig-BG9Y-SHg.mjs} +1 -1
- package/dist/client/{shop-DQXrQ8kJ.mjs → shop-CJkuySJ3.mjs} +126 -79
- package/dist/client/{shop-commerce-B88zmWWo.mjs → shop-commerce-4rKj5n9h.mjs} +26 -14
- package/dist/client/{shop-commerce-store-DtSfkKuX.mjs → shop-commerce-store-Bxm75Pg6.mjs} +1 -1
- package/dist/client/{shopShared-cuaONpkJ.mjs → shopShared-DpoQDWfz.mjs} +5 -5
- package/dist/client/{useEventFilters-Bukew6Gb.mjs → useEventFilters-D8HliSqR.mjs} +33 -18
- package/dist/preview-next/before-render.mjs +314 -133
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +53 -2
- package/dist/preview-next/editor-chrome.css +7 -4
- package/dist/preview-next/keepAlive.mjs +314 -133
- package/dist/preview-next/middleware.mjs +314 -133
- package/dist/{previewAuthStore-h5IgbSp4.mjs → previewAuthStore-BXXF3hhW.mjs} +316 -133
- package/dist/{sdk-runtime-DTc1uIXn.mjs → sdk-runtime-C2a05WjL.mjs} +2 -2
- package/dist/{separator-BpHS1KZK.mjs → separator-CuNhBAhS.mjs} +1 -1
- package/dist/server/components.mjs +6888 -6157
- package/dist/server/config-validation.mjs +931 -199
- package/dist/server/config.mjs +931 -199
- package/dist/server/data.mjs +929 -198
- package/dist/server/index.mjs +317 -134
- package/dist/server/navigation.mjs +13 -2
- package/dist/server/next.mjs +5003 -4340
- package/dist/server/page-converter.mjs +160 -78
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +6421 -5687
- package/dist/server/rendering.mjs +7683 -6933
- package/dist/server/routing.mjs +1035 -338
- package/dist/server/server.mjs +946 -256
- package/dist/server/theme-bridge.mjs +66 -17
- package/dist/server/theme.mjs +5 -1
- package/dist/styles/index.css +32 -4
- package/package.json +1 -1
- package/dist/_dts/billing/src/plans/display.d.ts +0 -15
- package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +0 -4
- package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +0 -16
- package/dist/_dts/content-editor/src/controller/driver.d.ts +0 -14
- package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +0 -7
- package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +0 -29
- package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +0 -26
- package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +0 -64
- package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +0 -48
- package/dist/_dts/content-editor/src/types.d.ts +0 -44
- package/dist/_dts/core/src/participant-identity.d.ts +0 -135
- package/dist/client/DiscountCodeDisclosure-CsOtjFY7.mjs +0 -137
package/dist/client/{BookingConsentAgreement-BQKL045f.mjs → BookingMailingListNote-CzRt2dF_.mjs}
RENAMED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { n as
|
|
2
|
+
import { Cn as formatCurrencyAmount, Wt as assertNever$2 } from "./propsDecoder-D1OtGXDV.mjs";
|
|
3
|
+
import { i as CheckIcon } from "./TerminalPanel-DvNUP5ot.mjs";
|
|
4
|
+
import { n as getBookingMailingListNoteCopy } from "./mailingListSignupCopy-DZSHZrm6.mjs";
|
|
5
|
+
import { n as RichText } from "./checkoutUrls-CXhko2Rv.mjs";
|
|
5
6
|
import { useCallback, useEffect, useReducer, useRef } from "react";
|
|
6
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
8
|
//#region ../core/src/date-math.ts
|
|
@@ -442,67 +443,24 @@ function pollingReducer(state, action) {
|
|
|
442
443
|
* Provides a reusable polling mechanism with configurable intervals,
|
|
443
444
|
* max attempts, and completion detection. Used by usePaymentVerification
|
|
444
445
|
* and other hooks that need to poll for status changes.
|
|
445
|
-
*
|
|
446
|
-
* @example
|
|
447
|
-
* ```tsx
|
|
448
|
-
* const polling = usePolling(shouldPoll ? {
|
|
449
|
-
* pollFn: () => api.getStatus(id),
|
|
450
|
-
* isComplete: (result) => result.status === 'done',
|
|
451
|
-
* } : null);
|
|
452
|
-
*
|
|
453
|
-
* useEffect(() => {
|
|
454
|
-
* if (polling.status === 'completed') {
|
|
455
|
-
* handleSuccess(polling.result);
|
|
456
|
-
* }
|
|
457
|
-
* }, [polling.status]);
|
|
458
|
-
* ```
|
|
459
446
|
*/
|
|
460
447
|
const DEFAULT_MAX_ATTEMPTS = 10;
|
|
461
448
|
const DEFAULT_POLL_INTERVAL = 1e3;
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
* ```tsx
|
|
478
|
-
* // BAD - inline object creates new identity every render
|
|
479
|
-
* usePolling({
|
|
480
|
-
* pollFn: () => api.getStatus(id),
|
|
481
|
-
* isComplete: (result) => result.status === 'done',
|
|
482
|
-
* });
|
|
483
|
-
*
|
|
484
|
-
* // GOOD - memoized config, stable identity
|
|
485
|
-
* const pollConfig = useMemo(() => shouldPoll ? {
|
|
486
|
-
* pollFn: () => api.getStatus(id),
|
|
487
|
-
* isComplete: (result) => result.status === 'done',
|
|
488
|
-
* } : null, [shouldPoll, api, id]);
|
|
489
|
-
*
|
|
490
|
-
* usePolling(pollConfig);
|
|
491
|
-
* ```
|
|
492
|
-
*
|
|
493
|
-
* @param config - Configuration for polling, or null to stop
|
|
494
|
-
* @returns Polling result with status, data, and retry function
|
|
495
|
-
*/
|
|
496
|
-
function usePolling(config) {
|
|
497
|
-
const [state, dispatch] = useReducer(pollingReducer, void 0, createInitialPollingState);
|
|
498
|
-
const attemptsRef = useRef(0);
|
|
499
|
-
const timeoutRef = useRef(null);
|
|
500
|
-
const isPollingRef = useRef(false);
|
|
501
|
-
const isActiveRef = useRef(false);
|
|
502
|
-
const generationRef = useRef(0);
|
|
503
|
-
const configRef = useRef(config);
|
|
504
|
-
configRef.current = config;
|
|
505
|
-
const cleanup = useCallback(() => {
|
|
449
|
+
function usePollingRuntime(config) {
|
|
450
|
+
const runtime = {
|
|
451
|
+
configRef: useRef(config),
|
|
452
|
+
attemptsRef: useRef(0),
|
|
453
|
+
timeoutRef: useRef(null),
|
|
454
|
+
isPollingRef: useRef(false),
|
|
455
|
+
isActiveRef: useRef(false),
|
|
456
|
+
generationRef: useRef(0)
|
|
457
|
+
};
|
|
458
|
+
runtime.configRef.current = config;
|
|
459
|
+
return runtime;
|
|
460
|
+
}
|
|
461
|
+
function usePollingCleanup(runtime) {
|
|
462
|
+
const { isActiveRef, generationRef, timeoutRef, isPollingRef } = runtime;
|
|
463
|
+
return useCallback(() => {
|
|
506
464
|
isActiveRef.current = false;
|
|
507
465
|
generationRef.current += 1;
|
|
508
466
|
if (timeoutRef.current) {
|
|
@@ -510,16 +468,27 @@ function usePolling(config) {
|
|
|
510
468
|
timeoutRef.current = null;
|
|
511
469
|
}
|
|
512
470
|
isPollingRef.current = false;
|
|
513
|
-
}, [
|
|
514
|
-
|
|
471
|
+
}, [
|
|
472
|
+
generationRef,
|
|
473
|
+
isActiveRef,
|
|
474
|
+
isPollingRef,
|
|
475
|
+
timeoutRef
|
|
476
|
+
]);
|
|
477
|
+
}
|
|
478
|
+
function usePollingReset(runtime, dispatch) {
|
|
479
|
+
const { attemptsRef } = runtime;
|
|
480
|
+
return useCallback(() => {
|
|
515
481
|
dispatch({ type: "polling-reset" });
|
|
516
482
|
attemptsRef.current = 0;
|
|
517
|
-
}, []);
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
483
|
+
}, [attemptsRef, dispatch]);
|
|
484
|
+
}
|
|
485
|
+
function usePollingRequest(runtime, dispatch, cleanup) {
|
|
486
|
+
const { configRef, attemptsRef, isPollingRef, isActiveRef, generationRef } = runtime;
|
|
487
|
+
return useCallback(async () => {
|
|
488
|
+
const config = configRef.current;
|
|
489
|
+
if (!config) return true;
|
|
521
490
|
if (isPollingRef.current) return false;
|
|
522
|
-
const maxAttempts =
|
|
491
|
+
const maxAttempts = config.maxAttempts ?? DEFAULT_MAX_ATTEMPTS;
|
|
523
492
|
if (attemptsRef.current >= maxAttempts) {
|
|
524
493
|
dispatch({ type: "polling-timed-out" });
|
|
525
494
|
cleanup();
|
|
@@ -529,81 +498,115 @@ function usePolling(config) {
|
|
|
529
498
|
attemptsRef.current += 1;
|
|
530
499
|
const generation = generationRef.current;
|
|
531
500
|
try {
|
|
532
|
-
const
|
|
533
|
-
if (generation !== generationRef.current || !isActiveRef.current)
|
|
534
|
-
|
|
535
|
-
return true;
|
|
536
|
-
}
|
|
537
|
-
if (cfg.isFailed?.(data)) {
|
|
501
|
+
const result = await config.pollFn();
|
|
502
|
+
if (generation !== generationRef.current || !isActiveRef.current) return true;
|
|
503
|
+
if (config.isFailed?.(result)) {
|
|
538
504
|
dispatch({
|
|
539
505
|
type: "polling-failed",
|
|
540
|
-
result
|
|
506
|
+
result
|
|
541
507
|
});
|
|
542
508
|
cleanup();
|
|
543
509
|
return true;
|
|
544
510
|
}
|
|
545
|
-
if (
|
|
511
|
+
if (config.isComplete(result)) {
|
|
546
512
|
dispatch({
|
|
547
513
|
type: "polling-completed",
|
|
548
|
-
result
|
|
514
|
+
result
|
|
549
515
|
});
|
|
550
516
|
cleanup();
|
|
551
517
|
return true;
|
|
552
518
|
}
|
|
553
519
|
dispatch({
|
|
554
520
|
type: "polling-progressed",
|
|
555
|
-
result
|
|
521
|
+
result
|
|
556
522
|
});
|
|
557
523
|
isPollingRef.current = false;
|
|
558
524
|
return false;
|
|
559
|
-
} catch (
|
|
560
|
-
if (generation !== generationRef.current || !isActiveRef.current)
|
|
561
|
-
|
|
562
|
-
return true;
|
|
563
|
-
}
|
|
564
|
-
if (err instanceof Error) dispatch({
|
|
525
|
+
} catch (error) {
|
|
526
|
+
if (generation !== generationRef.current || !isActiveRef.current) return true;
|
|
527
|
+
if (error instanceof Error) dispatch({
|
|
565
528
|
type: "polling-request-failed",
|
|
566
|
-
error
|
|
529
|
+
error
|
|
567
530
|
});
|
|
568
531
|
isPollingRef.current = false;
|
|
569
532
|
return false;
|
|
570
533
|
}
|
|
571
|
-
}, [
|
|
572
|
-
|
|
534
|
+
}, [
|
|
535
|
+
attemptsRef,
|
|
536
|
+
cleanup,
|
|
537
|
+
configRef,
|
|
538
|
+
dispatch,
|
|
539
|
+
generationRef,
|
|
540
|
+
isActiveRef,
|
|
541
|
+
isPollingRef
|
|
542
|
+
]);
|
|
543
|
+
}
|
|
544
|
+
function usePollingScheduler(runtime, poll) {
|
|
545
|
+
const { attemptsRef, configRef, isActiveRef, timeoutRef } = runtime;
|
|
546
|
+
return useCallback(() => {
|
|
573
547
|
if (!isActiveRef.current) return;
|
|
574
|
-
const pollInterval = configRef.current?.interval ?? DEFAULT_POLL_INTERVAL;
|
|
575
548
|
const doPoll = async () => {
|
|
576
|
-
if (!await poll() && isActiveRef.current)
|
|
549
|
+
if (!await poll() && isActiveRef.current) {
|
|
550
|
+
const configuredInterval = configRef.current?.interval;
|
|
551
|
+
const interval = typeof configuredInterval === "function" ? configuredInterval(attemptsRef.current) : configuredInterval ?? DEFAULT_POLL_INTERVAL;
|
|
552
|
+
timeoutRef.current = setTimeout(doPoll, interval);
|
|
553
|
+
}
|
|
577
554
|
};
|
|
578
555
|
doPoll();
|
|
579
|
-
}, [
|
|
556
|
+
}, [
|
|
557
|
+
attemptsRef,
|
|
558
|
+
configRef,
|
|
559
|
+
isActiveRef,
|
|
560
|
+
poll,
|
|
561
|
+
timeoutRef
|
|
562
|
+
]);
|
|
563
|
+
}
|
|
564
|
+
function usePollingCycle(config, runtime, dispatch) {
|
|
565
|
+
const cleanup = usePollingCleanup(runtime);
|
|
566
|
+
const resetState = usePollingReset(runtime, dispatch);
|
|
567
|
+
const schedulePoll = usePollingScheduler(runtime, usePollingRequest(runtime, dispatch, cleanup));
|
|
568
|
+
const pollingEnabled = config !== null;
|
|
580
569
|
useEffect(() => {
|
|
581
|
-
if (!
|
|
570
|
+
if (!pollingEnabled) {
|
|
582
571
|
cleanup();
|
|
583
572
|
dispatch({ type: "polling-went-idle" });
|
|
584
573
|
return;
|
|
585
574
|
}
|
|
586
575
|
resetState();
|
|
587
|
-
isActiveRef.current = true;
|
|
576
|
+
runtime.isActiveRef.current = true;
|
|
588
577
|
schedulePoll();
|
|
589
578
|
return cleanup;
|
|
590
579
|
}, [
|
|
591
|
-
config,
|
|
592
580
|
cleanup,
|
|
581
|
+
dispatch,
|
|
582
|
+
pollingEnabled,
|
|
593
583
|
resetState,
|
|
584
|
+
config?.restartKey ?? null,
|
|
585
|
+
runtime.isActiveRef,
|
|
594
586
|
schedulePoll
|
|
595
587
|
]);
|
|
596
|
-
|
|
597
|
-
if (!configRef.current) return;
|
|
588
|
+
return useCallback(() => {
|
|
589
|
+
if (!runtime.configRef.current) return;
|
|
598
590
|
cleanup();
|
|
599
591
|
resetState();
|
|
600
|
-
isActiveRef.current = true;
|
|
592
|
+
runtime.isActiveRef.current = true;
|
|
601
593
|
schedulePoll();
|
|
602
594
|
}, [
|
|
603
595
|
cleanup,
|
|
604
596
|
resetState,
|
|
597
|
+
runtime.configRef,
|
|
598
|
+
runtime.isActiveRef,
|
|
605
599
|
schedulePoll
|
|
606
600
|
]);
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Polls until the operation completes, fails, times out, or becomes disabled.
|
|
604
|
+
* Config objects may be rebuilt across renders; change restartKey to begin a
|
|
605
|
+
* new operation and reset its attempt budget.
|
|
606
|
+
*/
|
|
607
|
+
function usePolling(config) {
|
|
608
|
+
const [state, dispatch] = useReducer(pollingReducer, void 0, createInitialPollingState);
|
|
609
|
+
const retry = usePollingCycle(config, usePollingRuntime(config), dispatch);
|
|
607
610
|
return {
|
|
608
611
|
status: config ? state.tag : "idle",
|
|
609
612
|
result: config ? state.result : null,
|
|
@@ -697,4 +700,14 @@ function BookingConsentAgreement({ agreement, showTitle = true, title, titleId }
|
|
|
697
700
|
})] });
|
|
698
701
|
}
|
|
699
702
|
//#endregion
|
|
700
|
-
|
|
703
|
+
//#region ../blocks/src/system/runtime/shared/components/BookingMailingListNote.tsx
|
|
704
|
+
function BookingMailingListNote(props) {
|
|
705
|
+
const copy = getBookingMailingListNoteCopy(props.note, props.context);
|
|
706
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
707
|
+
role: "status",
|
|
708
|
+
className: props.className,
|
|
709
|
+
children: [/* @__PURE__ */ jsx("p", { children: copy.title }), copy.detail ? /* @__PURE__ */ jsx("p", { children: copy.detail }) : null]
|
|
710
|
+
});
|
|
711
|
+
}
|
|
712
|
+
//#endregion
|
|
713
|
+
export { buildBookingPaymentSelectionViewModel as a, usePolling as i, BookingConsentAgreement as n, resolveBookingPaymentDueNowCents as o, StepIndicator as r, formatPrice as s, BookingMailingListNote as t };
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { n as useBlockApi, r as BlockApiError } from "./context-eW97E945.mjs";
|
|
3
|
+
import { t as ThemedButton } from "./ThemedButton-C7CeUJjW.mjs";
|
|
4
|
+
import React, { useId } from "react";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region ../blocks/src/system/runtime/shared/utils/demoBookingPassStorage.ts
|
|
7
|
+
const STORAGE_KEY = "riverbank:demo-booking-passes:v1";
|
|
8
|
+
const CHECKOUT_RETURN_EMAIL_KEY = "riverbank:demo-booking-checkout-email:v1";
|
|
9
|
+
const MAX_STORED_PASSES = 10;
|
|
10
|
+
function normalizeDemoBookingEmail(email) {
|
|
11
|
+
return email.trim().toLowerCase();
|
|
12
|
+
}
|
|
13
|
+
function storeDemoBookingPass(email, pass) {
|
|
14
|
+
try {
|
|
15
|
+
const normalizedEmail = normalizeDemoBookingEmail(email);
|
|
16
|
+
if (!normalizedEmail || !pass) return;
|
|
17
|
+
const current = readStoredDemoBookingPasses();
|
|
18
|
+
const updated = [{
|
|
19
|
+
email: normalizedEmail,
|
|
20
|
+
pass
|
|
21
|
+
}, ...current.filter((entry) => entry.email !== normalizedEmail)].slice(0, MAX_STORED_PASSES);
|
|
22
|
+
window.localStorage.setItem(STORAGE_KEY, JSON.stringify(updated));
|
|
23
|
+
} catch {}
|
|
24
|
+
}
|
|
25
|
+
function storeDemoBookingPassIfAvailable(email, pass) {
|
|
26
|
+
if (email && pass) storeDemoBookingPass(email, pass);
|
|
27
|
+
}
|
|
28
|
+
function getDemoBookingPass(email) {
|
|
29
|
+
try {
|
|
30
|
+
const normalizedEmail = normalizeDemoBookingEmail(email);
|
|
31
|
+
return readStoredDemoBookingPasses().find((entry) => entry.email === normalizedEmail)?.pass ?? null;
|
|
32
|
+
} catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function storeDemoBookingCheckoutReturn(email, pass) {
|
|
37
|
+
const normalizedEmail = normalizeDemoBookingEmail(email);
|
|
38
|
+
if (!normalizedEmail) return;
|
|
39
|
+
storeDemoBookingPassIfAvailable(normalizedEmail, pass);
|
|
40
|
+
try {
|
|
41
|
+
window.sessionStorage.setItem(CHECKOUT_RETURN_EMAIL_KEY, normalizedEmail);
|
|
42
|
+
} catch {}
|
|
43
|
+
}
|
|
44
|
+
function readDemoBookingCheckoutReturnEmail() {
|
|
45
|
+
try {
|
|
46
|
+
const email = window.sessionStorage.getItem(CHECKOUT_RETURN_EMAIL_KEY);
|
|
47
|
+
window.sessionStorage.removeItem(CHECKOUT_RETURN_EMAIL_KEY);
|
|
48
|
+
return email ? normalizeDemoBookingEmail(email) : null;
|
|
49
|
+
} catch {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function readStoredDemoBookingPasses() {
|
|
54
|
+
try {
|
|
55
|
+
const raw = window.localStorage.getItem(STORAGE_KEY);
|
|
56
|
+
if (!raw) return [];
|
|
57
|
+
const parsed = JSON.parse(raw);
|
|
58
|
+
return Array.isArray(parsed) ? parsed.filter(isStoredDemoBookingPass) : [];
|
|
59
|
+
} catch {
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function isStoredDemoBookingPass(value) {
|
|
64
|
+
if (!isRecord(value)) return false;
|
|
65
|
+
const record = value;
|
|
66
|
+
return typeof record.email === "string" && record.email.length > 0 && typeof record.pass === "string" && record.pass.length > 0;
|
|
67
|
+
}
|
|
68
|
+
function isRecord(value) {
|
|
69
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region ../blocks/src/system/runtime/api/types/discounts.ts
|
|
73
|
+
function discountAvailabilityHasDiscounts(availability) {
|
|
74
|
+
return availability.type !== "none";
|
|
75
|
+
}
|
|
76
|
+
function discountAvailabilityAllowsManualEntry(availability) {
|
|
77
|
+
return "manualCodeEntryAllowed" in availability && availability.manualCodeEntryAllowed;
|
|
78
|
+
}
|
|
79
|
+
function getAutoAppliedDiscountPreview(availability) {
|
|
80
|
+
switch (availability.type) {
|
|
81
|
+
case "none":
|
|
82
|
+
case "manual": return null;
|
|
83
|
+
case "auto":
|
|
84
|
+
case "auto_and_manual": return availability.autoAppliedDiscount;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region ../blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.tsx
|
|
89
|
+
const BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES = { "event-registration": {
|
|
90
|
+
root: "er-discount",
|
|
91
|
+
toggle: "er-discount__toggle",
|
|
92
|
+
form: "er-discount__form",
|
|
93
|
+
label: "er-discount__label",
|
|
94
|
+
row: "er-discount__row",
|
|
95
|
+
input: "er-discount__input",
|
|
96
|
+
apply: "er-discount__apply",
|
|
97
|
+
remove: "er-discount__remove",
|
|
98
|
+
hint: "er-discount__hint",
|
|
99
|
+
feedback: "er-discount__feedback"
|
|
100
|
+
} };
|
|
101
|
+
const themeFormClasses = {
|
|
102
|
+
root: "rb-flex rb-flex-col rb-gap-2 rb-mb-4",
|
|
103
|
+
toggle: `${["button", "link"].join("-")} rb-self-start`,
|
|
104
|
+
form: "rb-flex rb-flex-col rb-gap-2",
|
|
105
|
+
label: "form-label",
|
|
106
|
+
row: "rb-flex rb-flex-col rb-gap-2 rb-sm-flex-row",
|
|
107
|
+
input: "form-input",
|
|
108
|
+
apply: "",
|
|
109
|
+
remove: "",
|
|
110
|
+
hint: "rb-caption status-muted",
|
|
111
|
+
feedback: "rb-caption"
|
|
112
|
+
};
|
|
113
|
+
function getDiscountCodeDisclosureClasses(surface) {
|
|
114
|
+
if (surface === "theme-form") return themeFormClasses;
|
|
115
|
+
return BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES[surface];
|
|
116
|
+
}
|
|
117
|
+
function DiscountActionButton(props) {
|
|
118
|
+
return props.surface === "theme-form" ? /* @__PURE__ */ jsx(ThemedButton, {
|
|
119
|
+
type: "button",
|
|
120
|
+
variant: "secondary",
|
|
121
|
+
size: "sm",
|
|
122
|
+
label: props.label,
|
|
123
|
+
onClick: props.onClick,
|
|
124
|
+
disabled: props.disabled
|
|
125
|
+
}) : /* @__PURE__ */ jsx("button", {
|
|
126
|
+
type: "button",
|
|
127
|
+
className: props.className,
|
|
128
|
+
onClick: props.onClick,
|
|
129
|
+
disabled: props.disabled,
|
|
130
|
+
children: props.label
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
function DiscountCodeDisclosure({ surface, isOpen, code, onOpen, onChange, onRemove, onApply, id, toggleLabel = "Have a discount code?", label = "Discount code", placeholder = "Enter code", applyLabel = "Apply", removeLabel = "Remove", hint = "Applied at checkout.", feedback = null, isApplying = false, applyDisabled = false, disabled = false }) {
|
|
134
|
+
const generatedId = useId();
|
|
135
|
+
const inputId = id ?? `discount-code-${generatedId}`;
|
|
136
|
+
const classes = getDiscountCodeDisclosureClasses(surface);
|
|
137
|
+
const handleChange = (event) => {
|
|
138
|
+
onChange(event.target.value);
|
|
139
|
+
};
|
|
140
|
+
const handleKeyDown = (event) => {
|
|
141
|
+
if (!onApply || event.key !== "Enter") return;
|
|
142
|
+
event.preventDefault();
|
|
143
|
+
onApply();
|
|
144
|
+
};
|
|
145
|
+
const feedbackClassName = feedback ? `${classes.feedback} status-${feedback.tone}` : classes.feedback;
|
|
146
|
+
return /* @__PURE__ */ jsx("div", {
|
|
147
|
+
className: classes.root,
|
|
148
|
+
children: !isOpen ? /* @__PURE__ */ jsx("button", {
|
|
149
|
+
type: "button",
|
|
150
|
+
className: classes.toggle,
|
|
151
|
+
onClick: onOpen,
|
|
152
|
+
children: toggleLabel
|
|
153
|
+
}) : /* @__PURE__ */ jsxs("div", {
|
|
154
|
+
className: classes.form,
|
|
155
|
+
children: [
|
|
156
|
+
/* @__PURE__ */ jsx("label", {
|
|
157
|
+
htmlFor: inputId,
|
|
158
|
+
className: classes.label,
|
|
159
|
+
children: label
|
|
160
|
+
}),
|
|
161
|
+
/* @__PURE__ */ jsxs("div", {
|
|
162
|
+
className: classes.row,
|
|
163
|
+
children: [
|
|
164
|
+
/* @__PURE__ */ jsx("input", {
|
|
165
|
+
id: inputId,
|
|
166
|
+
className: classes.input,
|
|
167
|
+
value: code,
|
|
168
|
+
onChange: handleChange,
|
|
169
|
+
onKeyDown: handleKeyDown,
|
|
170
|
+
placeholder,
|
|
171
|
+
autoComplete: "off",
|
|
172
|
+
disabled: disabled || isApplying
|
|
173
|
+
}),
|
|
174
|
+
onApply ? /* @__PURE__ */ jsx(DiscountActionButton, {
|
|
175
|
+
surface,
|
|
176
|
+
className: classes.apply,
|
|
177
|
+
label: isApplying ? "Applying..." : applyLabel,
|
|
178
|
+
onClick: onApply,
|
|
179
|
+
disabled: disabled || isApplying || applyDisabled
|
|
180
|
+
}) : null,
|
|
181
|
+
/* @__PURE__ */ jsx(DiscountActionButton, {
|
|
182
|
+
surface,
|
|
183
|
+
className: classes.remove,
|
|
184
|
+
label: removeLabel,
|
|
185
|
+
onClick: onRemove,
|
|
186
|
+
disabled: disabled || isApplying
|
|
187
|
+
})
|
|
188
|
+
]
|
|
189
|
+
}),
|
|
190
|
+
/* @__PURE__ */ jsx("p", {
|
|
191
|
+
className: classes.hint,
|
|
192
|
+
children: hint
|
|
193
|
+
}),
|
|
194
|
+
feedback ? /* @__PURE__ */ jsx("p", {
|
|
195
|
+
className: feedbackClassName,
|
|
196
|
+
role: feedback.tone === "error" ? "alert" : "status",
|
|
197
|
+
children: feedback.message
|
|
198
|
+
}) : null
|
|
199
|
+
]
|
|
200
|
+
})
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
//#endregion
|
|
204
|
+
//#region ../blocks/src/system/runtime/shared/utils/demoPortalMagicLink.ts
|
|
205
|
+
const CUSTOMER_PORTAL_PATH = "/portal";
|
|
206
|
+
function buildPortalCallbackUrl(origin, redirectTo) {
|
|
207
|
+
const url = new URL("/api/portal/callback", origin);
|
|
208
|
+
url.searchParams.set("redirect_to", redirectTo);
|
|
209
|
+
return url.toString();
|
|
210
|
+
}
|
|
211
|
+
async function requestDemoPortalMagicLink(input) {
|
|
212
|
+
const email = normalizeDemoBookingEmail(input.email);
|
|
213
|
+
const pass = getDemoBookingPass(email);
|
|
214
|
+
const request = {
|
|
215
|
+
email,
|
|
216
|
+
redirectUrl: input.redirectUrl,
|
|
217
|
+
...pass ? { demoBookingPass: pass } : {}
|
|
218
|
+
};
|
|
219
|
+
try {
|
|
220
|
+
const response = await input.send(request);
|
|
221
|
+
if ("kind" in response) return {
|
|
222
|
+
kind: "refused",
|
|
223
|
+
message: response.message
|
|
224
|
+
};
|
|
225
|
+
return "demoSignInUrl" in response ? {
|
|
226
|
+
kind: "demo_sign_in",
|
|
227
|
+
url: response.demoSignInUrl
|
|
228
|
+
} : { kind: "email_sent" };
|
|
229
|
+
} catch (error) {
|
|
230
|
+
if (error instanceof BlockApiError && error.tag === "demo_email_not_booked_here") return {
|
|
231
|
+
kind: "refused",
|
|
232
|
+
message: error.message
|
|
233
|
+
};
|
|
234
|
+
throw error;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
//#endregion
|
|
238
|
+
//#region ../blocks/src/system/runtime/shared/components/DemoBookingPortalAccess.tsx
|
|
239
|
+
const SUPPRESSED_CONFIRMATION_NOTE = "This is a demo, so we haven’t sent a confirmation email. You can still see your booking in the customer portal.";
|
|
240
|
+
function BookingConfirmation(props) {
|
|
241
|
+
const content = renderConfirmationMessage((props.demoEmailSuppressed ? [props.copy.message] : [props.copy.message, props.copy.defaultEmailSentence ?? ""]).filter((part) => part.trim().length > 0).join(" "), props.messagePresentation);
|
|
242
|
+
if (!props.demoEmailSuppressed) return content;
|
|
243
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [content, /* @__PURE__ */ jsx(DemoBookingPortalAccess, {
|
|
244
|
+
email: props.email,
|
|
245
|
+
noteClassName: props.noteClassName,
|
|
246
|
+
showConfirmationNote: props.showConfirmationNote
|
|
247
|
+
})] });
|
|
248
|
+
}
|
|
249
|
+
function DemoBookingPortalAccess(props) {
|
|
250
|
+
const { state, openPortal } = useDemoBookingPortalAccess(props.email);
|
|
251
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
252
|
+
className: "rb-mt-4 rb-flex rb-flex-col rb-items-start rb-gap-3",
|
|
253
|
+
"data-testid": "demo-booking-portal-access",
|
|
254
|
+
children: [
|
|
255
|
+
props.showConfirmationNote === false ? null : /* @__PURE__ */ jsx("p", {
|
|
256
|
+
className: props.noteClassName ?? "ab-text",
|
|
257
|
+
children: SUPPRESSED_CONFIRMATION_NOTE
|
|
258
|
+
}),
|
|
259
|
+
/* @__PURE__ */ jsx(ThemedButton, {
|
|
260
|
+
type: "button",
|
|
261
|
+
variant: "default",
|
|
262
|
+
size: "md",
|
|
263
|
+
label: state.tag === "opening" ? "Opening…" : "Open the customer portal",
|
|
264
|
+
disabled: state.tag === "opening",
|
|
265
|
+
onClick: openPortal
|
|
266
|
+
}),
|
|
267
|
+
state.tag === "refused" ? /* @__PURE__ */ jsx("p", {
|
|
268
|
+
role: "alert",
|
|
269
|
+
children: state.message
|
|
270
|
+
}) : null,
|
|
271
|
+
state.tag === "error" ? /* @__PURE__ */ jsx("p", {
|
|
272
|
+
role: "alert",
|
|
273
|
+
children: state.message
|
|
274
|
+
}) : null
|
|
275
|
+
]
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
function renderConfirmationMessage(message, presentation) {
|
|
279
|
+
if (!message) return null;
|
|
280
|
+
switch (presentation.kind) {
|
|
281
|
+
case "paragraph": return /* @__PURE__ */ jsx("p", {
|
|
282
|
+
className: presentation.className,
|
|
283
|
+
children: message
|
|
284
|
+
});
|
|
285
|
+
case "plain": return message;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
function useDemoBookingPortalAccess(email) {
|
|
289
|
+
const api = useBlockApi();
|
|
290
|
+
const [state, setState] = React.useState({ tag: "idle" });
|
|
291
|
+
const openPortal = async () => {
|
|
292
|
+
if (state.tag === "opening") return;
|
|
293
|
+
if (!email) {
|
|
294
|
+
setState({
|
|
295
|
+
tag: "error",
|
|
296
|
+
message: "We couldn’t open the customer portal. Please try again."
|
|
297
|
+
});
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
setState({ tag: "opening" });
|
|
301
|
+
try {
|
|
302
|
+
const result = await requestDemoPortalMagicLink({
|
|
303
|
+
email,
|
|
304
|
+
redirectUrl: buildPortalCallbackUrl(window.location.origin, CUSTOMER_PORTAL_PATH),
|
|
305
|
+
send: (request) => api.sendMagicLink(request)
|
|
306
|
+
});
|
|
307
|
+
switch (result.kind) {
|
|
308
|
+
case "demo_sign_in":
|
|
309
|
+
window.location.assign(result.url);
|
|
310
|
+
return;
|
|
311
|
+
case "refused":
|
|
312
|
+
setState({
|
|
313
|
+
tag: "refused",
|
|
314
|
+
message: result.message
|
|
315
|
+
});
|
|
316
|
+
return;
|
|
317
|
+
case "email_sent":
|
|
318
|
+
setState({ tag: "idle" });
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
} catch (error) {
|
|
322
|
+
setState(handlePortalAccessError(error));
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
return {
|
|
326
|
+
state,
|
|
327
|
+
openPortal
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
function handlePortalAccessError(error) {
|
|
331
|
+
if (error instanceof BlockApiError && error.tag === "demo_email_not_booked_here") return {
|
|
332
|
+
tag: "refused",
|
|
333
|
+
message: error.message
|
|
334
|
+
};
|
|
335
|
+
return error instanceof BlockApiError ? {
|
|
336
|
+
tag: "error",
|
|
337
|
+
message: error.message
|
|
338
|
+
} : {
|
|
339
|
+
tag: "error",
|
|
340
|
+
message: "We couldn’t open the customer portal. Please try again."
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
//#endregion
|
|
344
|
+
export { requestDemoPortalMagicLink as a, discountAvailabilityHasDiscounts as c, storeDemoBookingCheckoutReturn as d, storeDemoBookingPass as f, buildPortalCallbackUrl as i, getAutoAppliedDiscountPreview as l, DemoBookingPortalAccess as n, DiscountCodeDisclosure as o, storeDemoBookingPassIfAvailable as p, CUSTOMER_PORTAL_PATH as r, discountAvailabilityAllowsManualEntry as s, BookingConfirmation as t, readDemoBookingCheckoutReturnEmail as u };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { O as clsx } from "./colorStyles-
|
|
3
|
-
import { $ as getContainerClass, B as calendarWindowBounds, I as calendarMonthDate, J as getEventRuntimeFiltersKey, K as getBlockApiReadStage, L as calendarMonthKey, Q as getCardOrientation, R as calendarPageResponseError, U as planCalendarMonthRanges, V as calendarWindowMonths$1,
|
|
4
|
-
import { a as EventCardClient, i as EventPaginatedListView, n as useEventPagination, o as EventFilters, r as toError, s as formatEventTeacherLine, t as useEventFilters } from "./useEventFilters-
|
|
5
|
-
import { o as formatEventRemainingPlaces, p as isEventFull, t as formatEventPrice } from "./pricing-
|
|
6
|
-
import {
|
|
7
|
-
import { n as useBlockApi } from "./context-
|
|
8
|
-
import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-
|
|
2
|
+
import { O as clsx } from "./colorStyles-j5U9v5JA.mjs";
|
|
3
|
+
import { $ as getContainerClass, B as calendarWindowBounds, I as calendarMonthDate, J as getEventRuntimeFiltersKey, K as getBlockApiReadStage, L as calendarMonthKey, Q as getCardOrientation, R as calendarPageResponseError, U as planCalendarMonthRanges, V as calendarWindowMonths$1, at as getDayOfWeek, ct as isSameCalendarDay, et as MONTH_NAMES, it as formatDateKey, ln as getLocalScheduleDate, lt as isToday, nt as addMonths, ot as getOrderedDayNames, q as buildEventRuntimeFilters, rt as buildCalendarViewport, sn as formatLocalScheduleDate, ut as shiftCalendarAnchorDate, z as calendarQueryKey } from "./propsDecoder-D1OtGXDV.mjs";
|
|
4
|
+
import { a as EventCardClient, i as EventPaginatedListView, n as useEventPagination, o as EventFilters, r as toError, s as formatEventTeacherLine, t as useEventFilters } from "./useEventFilters-D8HliSqR.mjs";
|
|
5
|
+
import { o as formatEventRemainingPlaces, p as isEventFull, t as formatEventPrice } from "./pricing-BES87mrR.mjs";
|
|
6
|
+
import { c as groupEventsByDate, f as resolveEventCta, l as resolveEventTimeZone, n as formatDate, p as resolveEventLinkProps, s as formatTime } from "./dates-jPCirRea.mjs";
|
|
7
|
+
import { n as useBlockApi } from "./context-eW97E945.mjs";
|
|
8
|
+
import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-C7CeUJjW.mjs";
|
|
9
9
|
import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
|
|
10
10
|
import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
|
|
11
11
|
import React, { createContext, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { q as buildEventRuntimeFilters } from "./propsDecoder-
|
|
3
|
-
import { i as EventPaginatedListView, n as useEventPagination, o as EventFilters, t as useEventFilters } from "./useEventFilters-
|
|
2
|
+
import { q as buildEventRuntimeFilters } from "./propsDecoder-D1OtGXDV.mjs";
|
|
3
|
+
import { i as EventPaginatedListView, n as useEventPagination, o as EventFilters, t as useEventFilters } from "./useEventFilters-D8HliSqR.mjs";
|
|
4
4
|
import { useId, useMemo } from "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
//#region ../blocks/src/system/runtime/nodes/events/EventListing.client.tsx
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { Ut as isRecord } from "./propsDecoder-D1OtGXDV.mjs";
|
|
3
3
|
import { useEffect, useRef, useState } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region ../blocks/src/system/runtime/nodes/shared/LeafletStaticMap.tsx
|