@riverbankcms/sdk 0.147.0 → 0.149.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 +16 -0
- package/README.md +1 -1
- package/dist/{PreviewEditorSidebar-DtpB3_sS.mjs → PreviewEditorSidebar-DBKln68M.mjs} +301 -205
- package/dist/{PreviewEditorUI-DxTLgaHo.mjs → PreviewEditorUI-DpRX4Mum.mjs} +68 -63
- package/dist/{PreviewQueryProvider-Dd4dxOiU.mjs → PreviewQueryProvider-C0mndwHB.mjs} +3 -3
- package/dist/{SdkPreviewModeRuntime-DMMNCngt.mjs → SdkPreviewModeRuntime-DJPmPY-r.mjs} +1247 -541
- package/dist/{SiteChromeCustomizeContext-DQXZXiqS.mjs → SiteChromeCustomizeContext-JYA0cJ_Z.mjs} +209720 -204978
- package/dist/_dts/ai/src/contracts/proposals.d.ts +0 -33
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +0 -3
- package/dist/_dts/api/src/accessAdmin.d.ts +0 -4
- package/dist/_dts/api/src/accountApi.d.ts +1 -1
- 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 +33 -50
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -6
- package/dist/_dts/api/src/bookingOperations.d.ts +9 -11
- package/dist/_dts/api/src/bookingRecords.d.ts +16 -11
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +5 -5
- package/dist/_dts/api/src/bookings.d.ts +7 -7
- package/dist/_dts/api/src/calendar.d.ts +9 -9
- package/dist/_dts/api/src/clientErrorReporting.d.ts +11 -0
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -8
- package/dist/_dts/api/src/common/cancellation.d.ts +23 -0
- 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/customerMembershipOutcomes.d.ts +1 -1
- 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 +135 -51
- package/dist/_dts/api/src/eventEmailTemplates.d.ts +2 -2
- package/dist/_dts/api/src/eventManagementContracts.d.ts +29 -7
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +0 -8
- 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 -7
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/navigation.d.ts +5 -5
- 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 +4 -2
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +6 -29
- package/dist/_dts/api/src/redirects.d.ts +3 -3
- package/dist/_dts/api/src/request.d.ts +11 -2
- 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 +1 -2
- 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/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 +9 -2
- 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/siteManagementEndpoints.d.ts +15 -8
- package/dist/_dts/api/src/siteMembers.d.ts +10 -10
- package/dist/_dts/api/src/siteOnboarding.d.ts +14 -0
- package/dist/_dts/api/src/siteOperations.d.ts +6 -2
- 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/client/events.d.ts +3 -0
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +54 -14
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +4 -13
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +9 -8
- 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 +28 -28
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +7 -2
- package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +84 -160
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +31 -4
- 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 +4 -2
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +6 -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 +72 -12
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +36 -6
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingNowIso.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +3 -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 +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.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.state.d.ts +17 -2
- 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 +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +14 -2
- 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/PaymentSelectionStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +2 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -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 +29 -29
- 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 +54 -6
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +7 -2
- 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/utils/demoBookingPassStorage.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/demoPortalMagicLink.d.ts +29 -0
- package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +54 -0
- package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +58 -13
- package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +16 -21
- package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +23 -40
- package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +2 -2
- package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +5 -4
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +1 -3
- package/dist/_dts/commerce/src/purchase/membershipOrderItemMetadata.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +9 -4
- package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +13 -1
- package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +5 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +3 -1
- package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +7 -1
- package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +2 -2
- package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +6 -0
- package/dist/_dts/commerce/src/purchase/types.d.ts +2 -1
- 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/editLeaseHandover.d.ts +30 -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/lib/browserStorage.d.ts +5 -0
- 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/booking-flexible-balance.d.ts +2 -2
- package/dist/_dts/core/src/booking-instalment-deposit.d.ts +20 -0
- package/dist/_dts/core/src/booking-live-payment-terms.d.ts +72 -0
- package/dist/_dts/core/src/booking-payment-options.d.ts +24 -0
- package/dist/_dts/core/src/booking-payment-schemas.d.ts +522 -0
- package/dist/_dts/core/src/branded.d.ts +15 -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 +60 -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 +7 -0
- package/dist/_dts/core/src/uuid.d.ts +7 -5
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +456 -189
- 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/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/MediaPickerDialog.d.ts +3 -1
- package/dist/_dts/media-editor/src/MediaPickerMiniDialog.d.ts +10 -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/index.d.ts +2 -0
- 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/composer/mergeDrafts.d.ts +8 -3
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +6 -3
- 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 +23 -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/preview-next/src/client/previewAuthStore.d.ts +7 -0
- package/dist/_dts/preview-next/src/constants.d.ts +4 -0
- package/dist/_dts/preview-next/src/keepAlive.d.ts +1 -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 +1 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -12
- 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/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +0 -5
- package/dist/_dts/ui/src/color-picker.d.ts +1 -1
- package/dist/_dts/ui/src/palette/useHexDraft.d.ts +7 -0
- package/dist/client/{BookingMailingListNote-1n4Ch_u_.mjs → BookingMailingListNote-Cr3EeTP5.mjs} +504 -163
- package/dist/client/DemoBookingPortalAccess-BFGB1Fay.mjs +344 -0
- package/dist/client/{EventCombined.client-C0pgma9y.mjs → EventCombined.client-DKYV0_ft.mjs} +6 -6
- package/dist/client/{EventListing.client-4fhLOvHP.mjs → EventListing.client-B9UIcEYc.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DScC4F3w.mjs → LeafletStaticMap-CFLPkP0K.mjs} +1 -1
- package/dist/client/{TerminalPanel-B5ZUsYhe.mjs → TerminalPanel-JjmgxEsR.mjs} +1 -1
- package/dist/client/{ThemedButton-DoVIV1Ao.mjs → ThemedButton-CKV1Jh2m.mjs} +1 -1
- package/dist/client/{accordion-CoT5g7zo.mjs → accordion-DXWIfT3T.mjs} +1 -1
- package/dist/client/{bookingForm-BWxB46xD.mjs → bookingForm-CjZgHNvv.mjs} +216 -63
- package/dist/client/bookings.mjs +1187 -692
- package/dist/client/{carousel-DtNYWFd3.mjs → carousel-DSLikmvZ.mjs} +1 -1
- package/dist/client/{cart-z4qZih1Y.mjs → cart-HDjWReFt.mjs} +3 -3
- package/dist/client/{checkout-DpL7euFH.mjs → checkout-CUvRZA3W.mjs} +3 -3
- package/dist/client/{checkoutUrls-BEfR7kVu.mjs → checkoutUrls-CXhko2Rv.mjs} +1 -1
- package/dist/client/client.mjs +2711 -1684
- package/dist/client/{context-C8TinPJc.mjs → context-DFmaZa-Q.mjs} +4 -3
- package/dist/client/{dates-vwwxTeB0.mjs → dates-BBep1JnF.mjs} +56 -11
- package/dist/client/{eventCalendar-DIbHfJXO.mjs → eventCalendar-zEobhxo4.mjs} +9 -9
- package/dist/client/{eventCombined-DoGMJ6cg.mjs → eventCombined-Dp7bz5k-.mjs} +4 -4
- package/dist/client/{eventDetails-BjN9v6a1.mjs → eventDetails-FE-zqTt7.mjs} +4 -4
- package/dist/client/{eventListing-DajjWgOv.mjs → eventListing-BMt5snal.mjs} +4 -4
- package/dist/client/{eventRegistration-DMq9gMA-.mjs → eventRegistration-O6ZxHfOb.mjs} +422 -570
- package/dist/client/{form-Qf6qTbos.mjs → form-DFa1D8vt.mjs} +3 -3
- package/dist/client/{headerSection-D7qJrqFX.mjs → headerSection-CmjHLR-N.mjs} +3 -3
- package/dist/client/hooks.mjs +414 -182
- package/dist/client/{locationMap-CCF9-t_0.mjs → locationMap-BXKP_lGh.mjs} +3 -3
- package/dist/client/{media-CwBGetqC.mjs → media-Cl38iOMI.mjs} +10 -3
- package/dist/client/{newsletterForm-DzCLSP4S.mjs → newsletterForm-CU-HmxGx.mjs} +3 -3
- package/dist/client/{pricing-Cgxv2KLC.mjs → pricing-KEAEsibq.mjs} +1 -1
- package/dist/client/{productDetail-ru9w5GHx.mjs → productDetail-Ckp7MGnt.mjs} +3 -3
- package/dist/client/{productList-zaapKSl-.mjs → productList-D91V0sYa.mjs} +3 -3
- package/dist/client/{propsDecoder-CwvvNOHx.mjs → propsDecoder-DZd6RJeA.mjs} +244 -94
- package/dist/client/rendering/client.mjs +2656 -1705
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +3430 -2352
- package/dist/client/{routeIslandApiConfig-BwVFo0Y4.mjs → routeIslandApiConfig-E1EkhhYY.mjs} +1 -1
- package/dist/client/{shop-mktkXvbV.mjs → shop-4F2jLQPI.mjs} +131 -85
- package/dist/client/{shop-commerce-De7gEnkA.mjs → shop-commerce-BbfCJjB3.mjs} +25 -13
- package/dist/client/{shop-commerce-store-B3MCxIBW.mjs → shop-commerce-store-vicweP2K.mjs} +1 -1
- package/dist/client/{shopShared-TqExh235.mjs → shopShared-DlONJt0T.mjs} +4 -4
- package/dist/client/{useEventFilters-n_OjkIjX.mjs → useEventFilters-COYyL3m7.mjs} +32 -17
- package/dist/preview-next/before-render.mjs +207 -105
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/constants.mjs +5 -1
- package/dist/preview-next/index.mjs +5 -1
- package/dist/preview-next/keepAlive.mjs +341 -165
- package/dist/preview-next/middleware.mjs +207 -105
- package/dist/{previewAuthStore-C_EHQ5XA.mjs → previewAuthStore-BBmV7UsW.mjs} +243 -112
- package/dist/{sdk-runtime-BIkJg5y1.mjs → sdk-runtime-CwvFFjB-.mjs} +2 -2
- package/dist/{separator-C9qDP95Z.mjs → separator-ByL72zUT.mjs} +1 -1
- package/dist/server/components.mjs +1839 -1475
- package/dist/server/config-validation.mjs +381 -166
- package/dist/server/config.mjs +381 -166
- package/dist/server/data.mjs +381 -166
- package/dist/server/index.mjs +214 -110
- package/dist/server/next.mjs +663 -351
- package/dist/server/page-converter.mjs +198 -79
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1536 -1169
- package/dist/server/rendering.mjs +2432 -2068
- package/dist/server/routing.mjs +456 -173
- package/dist/server/server.mjs +447 -267
- package/package.json +1 -1
- package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +0 -123
- package/dist/_dts/billing/src/plans/display.d.ts +0 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +0 -3
- package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +0 -10
- package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +0 -55
- package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +0 -24
- 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/client/DiscountCodeDisclosure-CKJtz0mY.mjs +0 -137
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { G as createHostedBlockApiConfig } from "./propsDecoder-
|
|
1
|
+
import { G as createHostedBlockApiConfig } from "./propsDecoder-DZd6RJeA.mjs";
|
|
2
2
|
//#region src/rendering/islands/enhancers/routeIslandApiConfig.ts
|
|
3
3
|
function buildRouteIslandApiConfig({ apiBaseUrl, portalToken, previewToken, siteId, stage, readAuthority }) {
|
|
4
4
|
if (readAuthority) return createHostedBlockApiConfig({
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { n as useBlockApi } from "./context-
|
|
4
|
-
import {
|
|
5
|
-
import { a as useDiscountCodeUi, i as CheckIcon, n as StateIcon, r as scrollToBlock, t as TerminalPanel } from "./TerminalPanel-
|
|
6
|
-
import { t as ThemedButton } from "./ThemedButton-
|
|
2
|
+
import { Tn as assertNever$1, Wt as assertNever, kt as getShopSuccessCopy, o as formatCommercePrice, s as formatInterval, t as defineIslandPropsDecoder } from "./propsDecoder-DZd6RJeA.mjs";
|
|
3
|
+
import { n as useBlockApi } from "./context-DFmaZa-Q.mjs";
|
|
4
|
+
import { d as storeDemoBookingCheckoutReturn, o as DiscountCodeDisclosure, t as BookingConfirmation, u as readDemoBookingCheckoutReturnEmail } from "./DemoBookingPortalAccess-BFGB1Fay.mjs";
|
|
5
|
+
import { a as useDiscountCodeUi, i as CheckIcon, n as StateIcon, r as scrollToBlock, t as TerminalPanel } from "./TerminalPanel-JjmgxEsR.mjs";
|
|
6
|
+
import { t as ThemedButton } from "./ThemedButton-CKV1Jh2m.mjs";
|
|
7
7
|
import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
|
|
8
8
|
import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
|
|
9
9
|
import { n as consumeSearchParams } from "./urlParams-D71VXFGx.mjs";
|
|
10
10
|
import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
|
|
11
|
-
import { _ as MembershipCardView, a as getDiscountApplyFeedback, b as PassesMembershipsSectionView, d as planDirectShopCheckoutRequest, i as getAppliedDiscountCode, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, t as mountShopBlockIsland, v as PassCardView, y as PassPurchaseUnavailable } from "./shopShared-
|
|
12
|
-
import { t as addPassToCommerceCart } from "./shop-commerce-store-
|
|
11
|
+
import { _ as MembershipCardView, a as getDiscountApplyFeedback, b as PassesMembershipsSectionView, d as planDirectShopCheckoutRequest, i as getAppliedDiscountCode, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, t as mountShopBlockIsland, v as PassCardView, y as PassPurchaseUnavailable } from "./shopShared-DlONJt0T.mjs";
|
|
12
|
+
import { t as addPassToCommerceCart } from "./shop-commerce-store-vicweP2K.mjs";
|
|
13
13
|
import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
|
|
14
14
|
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
15
15
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -133,6 +133,109 @@ function getOpenCheckout(state) {
|
|
|
133
133
|
//#endregion
|
|
134
134
|
//#region ../blocks/src/system/runtime/nodes/shop.client.tsx
|
|
135
135
|
const SHOP_ANCHOR_ID = "shop";
|
|
136
|
+
function ShopCheckoutReturnNotice(props) {
|
|
137
|
+
const succeeded = props.notice.kind === "success";
|
|
138
|
+
const copy = getShopSuccessCopy(succeeded ? "success" : "cancelled");
|
|
139
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(TerminalPanel, {
|
|
140
|
+
tone: succeeded ? "success" : "warning",
|
|
141
|
+
className: "shop__return",
|
|
142
|
+
titleClassName: "shop__return-title",
|
|
143
|
+
bodyClassName: "shop__return-text",
|
|
144
|
+
icon: /* @__PURE__ */ jsx(StateIcon, {
|
|
145
|
+
variant: succeeded ? "success" : "warning",
|
|
146
|
+
children: succeeded ? /* @__PURE__ */ jsx(CheckIcon, {}) : /* @__PURE__ */ jsx(CrossIcon, {})
|
|
147
|
+
}),
|
|
148
|
+
title: succeeded ? "Payment successful" : "Payment cancelled",
|
|
149
|
+
body: /* @__PURE__ */ jsx(BookingConfirmation, {
|
|
150
|
+
demoEmailSuppressed: succeeded && props.demoEmailSuppressed,
|
|
151
|
+
email: props.email,
|
|
152
|
+
copy,
|
|
153
|
+
messagePresentation: { kind: "plain" },
|
|
154
|
+
noteClassName: "shop__return-text"
|
|
155
|
+
}),
|
|
156
|
+
actions: /* @__PURE__ */ jsx(ThemedButton, {
|
|
157
|
+
type: "button",
|
|
158
|
+
variant: "secondary",
|
|
159
|
+
size: "sm",
|
|
160
|
+
extraClassName: "shop__return-dismiss",
|
|
161
|
+
label: "Dismiss",
|
|
162
|
+
onClick: props.onDismiss
|
|
163
|
+
})
|
|
164
|
+
}) });
|
|
165
|
+
}
|
|
166
|
+
function handleShopCheckoutResult(input) {
|
|
167
|
+
switch (input.result.type) {
|
|
168
|
+
case "duplicate_membership_warning":
|
|
169
|
+
input.dispatch({
|
|
170
|
+
type: "submitDuplicateWarning",
|
|
171
|
+
warning: input.result
|
|
172
|
+
});
|
|
173
|
+
return;
|
|
174
|
+
case "bypassed":
|
|
175
|
+
if (input.result.demoBookingPass) storeDemoBookingCheckoutReturn(input.checkout.form.email, input.result.demoBookingPass);
|
|
176
|
+
window.location.href = input.successUrl;
|
|
177
|
+
return;
|
|
178
|
+
case "redirect":
|
|
179
|
+
if (input.result.demoBookingPass) storeDemoBookingCheckoutReturn(input.checkout.form.email, input.result.demoBookingPass);
|
|
180
|
+
window.location.href = input.result.checkoutUrl;
|
|
181
|
+
return;
|
|
182
|
+
default: return assertNever$1(input.result);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
function buildDirectShopCheckoutPlan(input) {
|
|
186
|
+
const successUrl = new URL(input.currentUrl);
|
|
187
|
+
successUrl.searchParams.set("checkout", "success");
|
|
188
|
+
successUrl.searchParams.set("product", input.checkout.item.product.id);
|
|
189
|
+
const cancelUrl = new URL(input.currentUrl);
|
|
190
|
+
cancelUrl.searchParams.set("checkout", "cancelled");
|
|
191
|
+
const form = {
|
|
192
|
+
...input.checkout.form,
|
|
193
|
+
discountCode: input.manualCodeEntryAllowed ? getAppliedDiscountCode(input.discountApply) ?? "" : ""
|
|
194
|
+
};
|
|
195
|
+
return {
|
|
196
|
+
successUrl: successUrl.toString(),
|
|
197
|
+
command: planDirectShopCheckoutRequest({
|
|
198
|
+
productType: input.checkout.item.productType,
|
|
199
|
+
productId: input.checkout.item.product.id,
|
|
200
|
+
form,
|
|
201
|
+
successUrl: successUrl.toString(),
|
|
202
|
+
cancelUrl: cancelUrl.toString(),
|
|
203
|
+
confirmDuplicate: input.confirmDuplicate
|
|
204
|
+
})
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
async function submitDirectShopCheckout(input) {
|
|
208
|
+
const checkout = input.checkout;
|
|
209
|
+
if (!checkout) return;
|
|
210
|
+
input.dispatch({ type: "submitStarted" });
|
|
211
|
+
try {
|
|
212
|
+
const attempt = buildDirectShopCheckoutPlan({
|
|
213
|
+
checkout,
|
|
214
|
+
currentUrl: window.location.href,
|
|
215
|
+
confirmDuplicate: input.confirmDuplicate,
|
|
216
|
+
discountApply: input.discountApply,
|
|
217
|
+
manualCodeEntryAllowed: input.manualCodeEntryAllowed
|
|
218
|
+
});
|
|
219
|
+
if (!attempt.command.ok) {
|
|
220
|
+
input.dispatch({
|
|
221
|
+
type: "submitFailed",
|
|
222
|
+
error: attempt.command.error.message
|
|
223
|
+
});
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
handleShopCheckoutResult({
|
|
227
|
+
result: await input.api.createShopCheckout(attempt.command.value),
|
|
228
|
+
checkout,
|
|
229
|
+
successUrl: attempt.successUrl,
|
|
230
|
+
dispatch: input.dispatch
|
|
231
|
+
});
|
|
232
|
+
} catch (error) {
|
|
233
|
+
input.dispatch({
|
|
234
|
+
type: "submitFailed",
|
|
235
|
+
error: error instanceof Error ? error.message : "An error occurred"
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
}
|
|
136
239
|
function ShopClient(props) {
|
|
137
240
|
return /* @__PURE__ */ jsx(PassesMembershipsController, { render: props.render });
|
|
138
241
|
}
|
|
@@ -182,6 +285,7 @@ function PassesMembershipsController({ render }) {
|
|
|
182
285
|
const [discountApply, dispatchDiscountApply] = React.useReducer(discountApplyReducer, initialDiscountApplyState);
|
|
183
286
|
const passAddFeedback = useTransientShopAddFeedback();
|
|
184
287
|
const [modalPortalRoot, setModalPortalRoot] = useState(null);
|
|
288
|
+
const [checkoutReturnEmail, setCheckoutReturnEmail] = useState(null);
|
|
185
289
|
const shopRootRef = useRef(null);
|
|
186
290
|
const emailInputRef = useRef(null);
|
|
187
291
|
const focusedCheckoutKeyRef = useRef(null);
|
|
@@ -276,6 +380,7 @@ function PassesMembershipsController({ render }) {
|
|
|
276
380
|
if (!checkoutStatus) return;
|
|
277
381
|
scrollToBlock(SHOP_ANCHOR_ID);
|
|
278
382
|
if (checkoutStatus === "success") {
|
|
383
|
+
setCheckoutReturnEmail(readDemoBookingCheckoutReturnEmail());
|
|
279
384
|
dispatch({
|
|
280
385
|
type: "setReturnNotice",
|
|
281
386
|
notice: { kind: "success" }
|
|
@@ -287,58 +392,14 @@ function PassesMembershipsController({ render }) {
|
|
|
287
392
|
notice: { kind: "cancelled" }
|
|
288
393
|
});
|
|
289
394
|
}, []);
|
|
290
|
-
const submitCheckout = useCallback(
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
const cancelUrl = new URL(currentUrl);
|
|
299
|
-
cancelUrl.searchParams.set("checkout", "cancelled");
|
|
300
|
-
const form = {
|
|
301
|
-
...checkout.form,
|
|
302
|
-
discountCode: discountUi.manualCodeEntryAllowed ? getAppliedDiscountCode(discountApply) ?? "" : ""
|
|
303
|
-
};
|
|
304
|
-
const command = planDirectShopCheckoutRequest({
|
|
305
|
-
productType: checkout.item.productType,
|
|
306
|
-
productId: checkout.item.product.id,
|
|
307
|
-
form,
|
|
308
|
-
successUrl: successUrl.toString(),
|
|
309
|
-
cancelUrl: cancelUrl.toString(),
|
|
310
|
-
confirmDuplicate
|
|
311
|
-
});
|
|
312
|
-
if (!command.ok) {
|
|
313
|
-
dispatch({
|
|
314
|
-
type: "submitFailed",
|
|
315
|
-
error: command.error.message
|
|
316
|
-
});
|
|
317
|
-
return;
|
|
318
|
-
}
|
|
319
|
-
const result = await api.createShopCheckout(command.value);
|
|
320
|
-
switch (result.type) {
|
|
321
|
-
case "duplicate_membership_warning":
|
|
322
|
-
dispatch({
|
|
323
|
-
type: "submitDuplicateWarning",
|
|
324
|
-
warning: result
|
|
325
|
-
});
|
|
326
|
-
return;
|
|
327
|
-
case "bypassed":
|
|
328
|
-
window.location.href = successUrl.toString();
|
|
329
|
-
return;
|
|
330
|
-
case "redirect":
|
|
331
|
-
window.location.href = result.checkoutUrl;
|
|
332
|
-
return;
|
|
333
|
-
default: return assertNever$1(result);
|
|
334
|
-
}
|
|
335
|
-
} catch (submitError) {
|
|
336
|
-
dispatch({
|
|
337
|
-
type: "submitFailed",
|
|
338
|
-
error: submitError instanceof Error ? submitError.message : "An error occurred"
|
|
339
|
-
});
|
|
340
|
-
}
|
|
341
|
-
}, [
|
|
395
|
+
const submitCheckout = useCallback((confirmDuplicate = false) => submitDirectShopCheckout({
|
|
396
|
+
checkout,
|
|
397
|
+
confirmDuplicate,
|
|
398
|
+
api,
|
|
399
|
+
discountApply,
|
|
400
|
+
manualCodeEntryAllowed: discountUi.manualCodeEntryAllowed,
|
|
401
|
+
dispatch
|
|
402
|
+
}), [
|
|
342
403
|
api,
|
|
343
404
|
checkout,
|
|
344
405
|
discountApply,
|
|
@@ -365,26 +426,12 @@ function PassesMembershipsController({ render }) {
|
|
|
365
426
|
ref: shopRootRef,
|
|
366
427
|
children: /* @__PURE__ */ jsx(PassesMembershipsSectionView, {
|
|
367
428
|
display,
|
|
368
|
-
beforeContent:
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
variant: state.returnNotice.kind === "success" ? "success" : "warning",
|
|
375
|
-
children: state.returnNotice.kind === "success" ? /* @__PURE__ */ jsx(CheckIcon, {}) : /* @__PURE__ */ jsx(CrossIcon, {})
|
|
376
|
-
}),
|
|
377
|
-
title: state.returnNotice.kind === "success" ? "Payment successful" : "Payment cancelled",
|
|
378
|
-
body: state.returnNotice.kind === "success" ? "Check your email for confirmation." : "You can try again whenever you’re ready.",
|
|
379
|
-
actions: /* @__PURE__ */ jsx(ThemedButton, {
|
|
380
|
-
type: "button",
|
|
381
|
-
variant: "secondary",
|
|
382
|
-
size: "sm",
|
|
383
|
-
extraClassName: "shop__return-dismiss",
|
|
384
|
-
label: "Dismiss",
|
|
385
|
-
onClick: () => dispatch({ type: "clearReturnNotice" })
|
|
386
|
-
})
|
|
387
|
-
}) : null }),
|
|
429
|
+
beforeContent: state.returnNotice ? /* @__PURE__ */ jsx(ShopCheckoutReturnNotice, {
|
|
430
|
+
notice: state.returnNotice,
|
|
431
|
+
demoEmailSuppressed: hydration.demoEmailSuppressed === true,
|
|
432
|
+
email: checkoutReturnEmail,
|
|
433
|
+
onDismiss: () => dispatch({ type: "clearReturnNotice" })
|
|
434
|
+
}) : null,
|
|
388
435
|
passCards: display.passes.map((passDisplay) => {
|
|
389
436
|
return /* @__PURE__ */ jsx(PassProductCard, {
|
|
390
437
|
display: passDisplay,
|
|
@@ -394,19 +441,18 @@ function PassesMembershipsController({ render }) {
|
|
|
394
441
|
}, passDisplay.id);
|
|
395
442
|
}),
|
|
396
443
|
membershipCards: display.memberships.map((membershipDisplay) => {
|
|
397
|
-
const
|
|
398
|
-
if (!membership) return null;
|
|
444
|
+
const { action } = membershipDisplay;
|
|
399
445
|
return /* @__PURE__ */ jsx(MembershipCardView, {
|
|
400
446
|
display: membershipDisplay,
|
|
401
|
-
action: /* @__PURE__ */ jsx(ThemedButton, {
|
|
447
|
+
action: action.kind === "unavailable" ? /* @__PURE__ */ jsx(PassPurchaseUnavailable, { label: action.label }) : /* @__PURE__ */ jsx(ThemedButton, {
|
|
402
448
|
type: "button",
|
|
403
449
|
variant: hydration.buttonVariant,
|
|
404
450
|
size: "md",
|
|
405
451
|
extraClassName: "shop__cta",
|
|
406
|
-
label:
|
|
407
|
-
onClick: () => handleSubscribe(
|
|
452
|
+
label: action.label,
|
|
453
|
+
onClick: () => handleSubscribe(action.product)
|
|
408
454
|
})
|
|
409
|
-
},
|
|
455
|
+
}, membershipDisplay.id);
|
|
410
456
|
})
|
|
411
457
|
})
|
|
412
458
|
}), checkout ? /* @__PURE__ */ jsx(ModalShell, {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { n as useBlockApi } from "./context-
|
|
4
|
-
import {
|
|
5
|
-
import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-
|
|
2
|
+
import { Gt as clearWorkflowFeedback, Ht as RichTextDocSchema, Wt as assertNever, Yt as reportWorkflowError, a as buildProductDetailDisplay, bt as logger, d as deriveCommerceCheckoutState, i as buildProductCardDisplay, n as getShopDisplayForItems, o as formatCommercePrice, p as productItemKey, u as buildProductCartItem } from "./propsDecoder-DZd6RJeA.mjs";
|
|
3
|
+
import { n as useBlockApi } from "./context-DFmaZa-Q.mjs";
|
|
4
|
+
import { d as storeDemoBookingCheckoutReturn, n as DemoBookingPortalAccess, o as DiscountCodeDisclosure, u as readDemoBookingCheckoutReturnEmail } from "./DemoBookingPortalAccess-BFGB1Fay.mjs";
|
|
5
|
+
import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-CKV1Jh2m.mjs";
|
|
6
6
|
import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
|
|
7
|
-
import { n as RichText, t as buildCheckoutReturnUrls } from "./checkoutUrls-
|
|
7
|
+
import { n as RichText, t as buildCheckoutReturnUrls } from "./checkoutUrls-CXhko2Rv.mjs";
|
|
8
8
|
import { t as consumeSearchParam } from "./urlParams-D71VXFGx.mjs";
|
|
9
9
|
import { t as CarouselNodeClient } from "./carousel.client-A2lG-9od.mjs";
|
|
10
10
|
import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
|
|
11
|
-
import { C as ProductGalleryFrameView, S as ProductDetailView, T as VariantSelectView, a as getDiscountApplyFeedback, c as aggregateCartDiscountUiState, f as planUnifiedCheckoutRequest, g as CheckoutShellView, h as CartShellView, i as getAppliedDiscountCode, l as checkoutFormForDiscountUiState, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, u as planCartDiscountAvailabilityRequests, w as ProductListSectionView, x as ProductCardView } from "./shopShared-
|
|
12
|
-
import { n as useCommerceCart } from "./shop-commerce-store-
|
|
11
|
+
import { C as ProductGalleryFrameView, S as ProductDetailView, T as VariantSelectView, a as getDiscountApplyFeedback, c as aggregateCartDiscountUiState, f as planUnifiedCheckoutRequest, g as CheckoutShellView, h as CartShellView, i as getAppliedDiscountCode, l as checkoutFormForDiscountUiState, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, u as planCartDiscountAvailabilityRequests, w as ProductListSectionView, x as ProductCardView } from "./shopShared-DlONJt0T.mjs";
|
|
12
|
+
import { n as useCommerceCart } from "./shop-commerce-store-vicweP2K.mjs";
|
|
13
13
|
import * as React$1 from "react";
|
|
14
14
|
import { useEffect, useState } from "react";
|
|
15
15
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -267,14 +267,26 @@ function CartController(props) {
|
|
|
267
267
|
})] })
|
|
268
268
|
});
|
|
269
269
|
}
|
|
270
|
+
function ShopCheckoutNoticeView(props) {
|
|
271
|
+
if (!props.notice) return null;
|
|
272
|
+
const succeeded = props.notice === "success";
|
|
273
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(FeedbackMessage, {
|
|
274
|
+
tone: succeeded ? "success" : "warning",
|
|
275
|
+
className: "rb-mb-4 rb-rounded-xl rb-border rb-p-4",
|
|
276
|
+
role: "status",
|
|
277
|
+
children: succeeded ? "Payment successful." : "Checkout cancelled."
|
|
278
|
+
}), succeeded && props.demoEmailSuppressed ? /* @__PURE__ */ jsx(DemoBookingPortalAccess, { email: props.email }) : null] });
|
|
279
|
+
}
|
|
270
280
|
function CheckoutController(props) {
|
|
271
281
|
const api = useBlockApi();
|
|
272
282
|
const cart = useCommerceCart(api.config.siteId);
|
|
273
283
|
const [state, dispatch] = React$1.useReducer(shopCheckoutReducer, initialShopCheckoutState);
|
|
284
|
+
const [checkoutReturnEmail, setCheckoutReturnEmail] = React$1.useState(null);
|
|
274
285
|
const [discountApply, dispatchDiscountApply] = React$1.useReducer(discountApplyReducer, initialDiscountApplyState);
|
|
275
286
|
React$1.useEffect(() => {
|
|
276
287
|
const checkout = consumeSearchParam("checkout");
|
|
277
288
|
if (checkout === "success") {
|
|
289
|
+
setCheckoutReturnEmail(readDemoBookingCheckoutReturnEmail());
|
|
278
290
|
cart.clear();
|
|
279
291
|
dispatch({
|
|
280
292
|
type: "setNotice",
|
|
@@ -334,6 +346,7 @@ function CheckoutController(props) {
|
|
|
334
346
|
return;
|
|
335
347
|
}
|
|
336
348
|
const result = await api.createUnifiedCheckout(command.value);
|
|
349
|
+
if (result.demoBookingPass) storeDemoBookingCheckoutReturn(state.form.email, result.demoBookingPass);
|
|
337
350
|
if (result.type === "redirect") {
|
|
338
351
|
window.location.href = result.checkoutUrl;
|
|
339
352
|
return;
|
|
@@ -352,12 +365,11 @@ function CheckoutController(props) {
|
|
|
352
365
|
};
|
|
353
366
|
return /* @__PURE__ */ jsx(CheckoutShellView, {
|
|
354
367
|
display,
|
|
355
|
-
notice:
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
}) : null,
|
|
368
|
+
notice: /* @__PURE__ */ jsx(ShopCheckoutNoticeView, {
|
|
369
|
+
notice: state.notice,
|
|
370
|
+
demoEmailSuppressed: props.render.hydration.demoEmailSuppressed === true,
|
|
371
|
+
email: checkoutReturnEmail
|
|
372
|
+
}),
|
|
361
373
|
body: /* @__PURE__ */ jsxs("form", {
|
|
362
374
|
className: "rb-flex rb-flex-col rb-gap-4",
|
|
363
375
|
onSubmit: handleSubmit,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { c as EMPTY_COMMERCE_CART_STATE, f as parseStoredCommerceCartState, l as buildPassCartItem, m as reduceCommerceCart } from "./propsDecoder-
|
|
2
|
+
import { c as EMPTY_COMMERCE_CART_STATE, f as parseStoredCommerceCartState, l as buildPassCartItem, m as reduceCommerceCart } from "./propsDecoder-DZd6RJeA.mjs";
|
|
3
3
|
import * as React$1 from "react";
|
|
4
4
|
//#region ../blocks/src/system/runtime/nodes/shop-commerce-store.ts
|
|
5
5
|
const EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { D as ok, E as err } from "./colorStyles-j5U9v5JA.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { t as BlockApiProvider } from "./context-
|
|
5
|
-
import {
|
|
3
|
+
import { Wt as assertNever } from "./propsDecoder-DZd6RJeA.mjs";
|
|
4
|
+
import { t as BlockApiProvider } from "./context-DFmaZa-Q.mjs";
|
|
5
|
+
import { c as discountAvailabilityHasDiscounts, l as getAutoAppliedDiscountPreview, s as discountAvailabilityAllowsManualEntry } from "./DemoBookingPortalAccess-BFGB1Fay.mjs";
|
|
6
6
|
import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
|
|
7
7
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
8
|
-
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-
|
|
8
|
+
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-E1EkhhYY.mjs";
|
|
9
9
|
import * as React$1 from "react";
|
|
10
10
|
import { useCallback } from "react";
|
|
11
11
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { d as hexToRgb, u as relativeLuminance } from "./colorStyles-j5U9v5JA.mjs";
|
|
3
|
-
import { F as resolveSpacing, J as getEventRuntimeFiltersKey, K as getBlockApiReadStage, N as SEMANTIC_SPACING_VALUES, P as isSemanticSpacing,
|
|
4
|
-
import { a as getCurrentResolveImageUrlContext, i as computeMediaTransformStyle, l as resolveMediaNodeResponsiveImage, n as MediaPlaceholder, o as renderAudio, s as renderVideo, t as ImagePresets } from "./media-
|
|
5
|
-
import { o as formatEventRemainingPlaces, t as formatEventPrice } from "./pricing-
|
|
6
|
-
import { a as
|
|
7
|
-
import { n as useBlockApi } from "./context-
|
|
8
|
-
import { n as ThemedButtonLink, r as ClockIcon, t as ThemedButton } from "./ThemedButton-
|
|
9
|
-
import { t as LeafletStaticMap } from "./LeafletStaticMap-
|
|
3
|
+
import { F as resolveSpacing, J as getEventRuntimeFiltersKey, K as getBlockApiReadStage, N as SEMANTIC_SPACING_VALUES, P as isSemanticSpacing, Wt as assertNever, X as normalizeCsvString, Y as normalizeCsvIds, Z as normalizeOptionalId, gt as resolveTokenOrCssColorValue, ht as resolveOnColorForThemeToken, mt as isCssColorLiteral, pt as boxBackgroundSchema, yt as normalizeCardRole } from "./propsDecoder-DZd6RJeA.mjs";
|
|
4
|
+
import { a as getCurrentResolveImageUrlContext, i as computeMediaTransformStyle, l as resolveMediaNodeResponsiveImage, n as MediaPlaceholder, o as renderAudio, s as renderVideo, t as ImagePresets } from "./media-Cl38iOMI.mjs";
|
|
5
|
+
import { o as formatEventRemainingPlaces, t as formatEventPrice } from "./pricing-KEAEsibq.mjs";
|
|
6
|
+
import { a as formatEventNextDateFact, f as resolveEventCta, n as formatDate, o as formatEventTimeRange, p as resolveEventLinkProps, r as formatEventCompactDateRail, s as formatTime, t as eventDateOptions } from "./dates-BBep1JnF.mjs";
|
|
7
|
+
import { n as useBlockApi } from "./context-DFmaZa-Q.mjs";
|
|
8
|
+
import { n as ThemedButtonLink, r as ClockIcon, t as ThemedButton } from "./ThemedButton-CKV1Jh2m.mjs";
|
|
9
|
+
import { t as LeafletStaticMap } from "./LeafletStaticMap-CFLPkP0K.mjs";
|
|
10
10
|
import { useCallback, useEffect, useId, useMemo, useReducer, useRef, useState } from "react";
|
|
11
11
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
12
|
//#region ../theme-core/src/palette/utils/textColor.ts
|
|
@@ -454,6 +454,13 @@ function CalendarIcon({ className, size = 16, strokeWidth = 2 }) {
|
|
|
454
454
|
}
|
|
455
455
|
//#endregion
|
|
456
456
|
//#region ../blocks/src/system/runtime/nodes/events/shared/EventCard.tsx
|
|
457
|
+
/** The category's badge, when the event has a category. */
|
|
458
|
+
function eventCardCategoryBadge(category) {
|
|
459
|
+
return category ? {
|
|
460
|
+
label: category.name,
|
|
461
|
+
style: getCategoryBadgeStyle(category.color ?? null)
|
|
462
|
+
} : null;
|
|
463
|
+
}
|
|
457
464
|
/**
|
|
458
465
|
* EventCard Component
|
|
459
466
|
*
|
|
@@ -462,24 +469,19 @@ function CalendarIcon({ className, size = 16, strokeWidth = 2 }) {
|
|
|
462
469
|
*
|
|
463
470
|
* This component is server-safe (uses no client APIs like Intl).
|
|
464
471
|
*/
|
|
465
|
-
const EventCard = ({ event, cardRole = "default", buttonVariant = "primary", buttonText, showVenue = true, showMap = true, mapSlot, allowMap = true, showCapacity = true, showImage = true, showCategory = true, showSummary = true, orientation = "vertical", presentation, headingLevel }) => {
|
|
472
|
+
const EventCard = ({ event, cardRole = "default", buttonVariant = "primary", buttonText, showVenue = true, showMap = true, mapSlot, allowMap = true, showCapacity = true, showImage = true, showCategory = true, showSummary = true, orientation = "vertical", presentation, headingLevel, imageResolveContext }) => {
|
|
466
473
|
const { presentation: cardPresentation, presentationClass, headingLevel: cardHeadingLevel } = resolveEventCardOptions({
|
|
467
474
|
presentation,
|
|
468
475
|
headingLevel
|
|
469
476
|
});
|
|
470
|
-
const
|
|
471
|
-
const formattedDate = formatDate(event.startsAt, { timeZone });
|
|
472
|
-
const formattedTime = `${formatTime(event.startsAt, { timeZone })} - ${formatTime(event.endsAt, { timeZone })}`;
|
|
477
|
+
const { formattedDate, formattedTime } = formatEventCardWhen(event);
|
|
473
478
|
const cta = resolveEventCta(event, buttonText);
|
|
474
479
|
const cardClass = boxStyleClassNames({ role: cardRole }, { baseClass: "event-card" });
|
|
475
480
|
const title = event.title;
|
|
476
481
|
const summary = event.presentation?.summary ?? event.description;
|
|
477
482
|
const image = event.presentation?.image ?? null;
|
|
478
483
|
const category = event.eventCategory;
|
|
479
|
-
const categoryBadge =
|
|
480
|
-
label: category.name,
|
|
481
|
-
style: getCategoryBadgeStyle(category.color ?? null)
|
|
482
|
-
} : null;
|
|
484
|
+
const categoryBadge = showCategory ? eventCardCategoryBadge(category) : null;
|
|
483
485
|
const hasImage = Boolean(showImage && image);
|
|
484
486
|
const dateFact = resolveEventCardDateFact({
|
|
485
487
|
event,
|
|
@@ -498,7 +500,8 @@ const EventCard = ({ event, cardRole = "default", buttonVariant = "primary", but
|
|
|
498
500
|
categoryId: category?.id,
|
|
499
501
|
dateFact,
|
|
500
502
|
hasImage,
|
|
501
|
-
image
|
|
503
|
+
image,
|
|
504
|
+
imageResolveContext
|
|
502
505
|
}), /* @__PURE__ */ jsx(EventCardContent, {
|
|
503
506
|
allowMap,
|
|
504
507
|
buttonVariant,
|
|
@@ -546,7 +549,8 @@ function EventCardMedia(props) {
|
|
|
546
549
|
/* @__PURE__ */ jsx(MediaNodeServer, {
|
|
547
550
|
value: props.image,
|
|
548
551
|
className: "event-card-image",
|
|
549
|
-
size: ImagePresets.card
|
|
552
|
+
size: ImagePresets.card,
|
|
553
|
+
imageResolveContext: props.imageResolveContext
|
|
550
554
|
}),
|
|
551
555
|
props.categoryBadge && /* @__PURE__ */ jsx("span", {
|
|
552
556
|
className: "event-category-badge event-category-badge--overlay",
|
|
@@ -661,6 +665,17 @@ function resolveEventCardOptions(props) {
|
|
|
661
665
|
headingLevel: props.headingLevel ?? 3
|
|
662
666
|
};
|
|
663
667
|
}
|
|
668
|
+
/**
|
|
669
|
+
* The card's date and times, written the way the event's place writes them
|
|
670
|
+
* ("Friday, 16 October 2026" and "10:00 to 16:00" in the UK).
|
|
671
|
+
*/
|
|
672
|
+
function formatEventCardWhen(event) {
|
|
673
|
+
const options = eventDateOptions(event);
|
|
674
|
+
return {
|
|
675
|
+
formattedDate: formatDate(event.startsAt, options),
|
|
676
|
+
formattedTime: formatEventTimeRange(event, options)
|
|
677
|
+
};
|
|
678
|
+
}
|
|
664
679
|
function resolveEventCardDateFact(props) {
|
|
665
680
|
if (!props.showImage || props.image || props.presentation !== "catalogue") return null;
|
|
666
681
|
return formatEventNextDateFact(props.event);
|