@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/server/data.mjs
CHANGED
|
@@ -57,6 +57,19 @@ const CURRENCY_LOCALE_BY_CODE = {
|
|
|
57
57
|
function resolveCurrencyLocale(currencyCode, override) {
|
|
58
58
|
return override ?? CURRENCY_LOCALE_BY_CODE[currencyCode] ?? "en";
|
|
59
59
|
}
|
|
60
|
+
function fractionDigitsFor(decimals, exactFormatter) {
|
|
61
|
+
switch (decimals) {
|
|
62
|
+
case "exact": return {};
|
|
63
|
+
case "auto": return {
|
|
64
|
+
minimumFractionDigits: 0,
|
|
65
|
+
maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
|
|
66
|
+
};
|
|
67
|
+
case "whole": return {
|
|
68
|
+
minimumFractionDigits: 0,
|
|
69
|
+
maximumFractionDigits: 0
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
60
73
|
/**
|
|
61
74
|
* The single currency-amount formatter for the product: minor units in,
|
|
62
75
|
* localized string out.
|
|
@@ -67,6 +80,13 @@ function resolveCurrencyLocale(currencyCode, override) {
|
|
|
67
80
|
* own `Intl.NumberFormat`.
|
|
68
81
|
*/
|
|
69
82
|
function formatCurrencyAmount(amountCents, currency, options) {
|
|
83
|
+
return formatCurrencyMajorUnits(amountCents / 100, currency, options);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* `formatCurrencyAmount` for an amount already in MAJOR units (29.99 = £29.99),
|
|
87
|
+
* such as a registrar price. Prefer minor units everywhere else.
|
|
88
|
+
*/
|
|
89
|
+
function formatCurrencyMajorUnits(amount, currency, options) {
|
|
70
90
|
const currencyCode = currency.toUpperCase();
|
|
71
91
|
const locale = resolveCurrencyLocale(currencyCode, options?.locale);
|
|
72
92
|
try {
|
|
@@ -74,17 +94,13 @@ function formatCurrencyAmount(amountCents, currency, options) {
|
|
|
74
94
|
style: "currency",
|
|
75
95
|
currency: currencyCode
|
|
76
96
|
});
|
|
77
|
-
const fractionDigits = options?.decimals === "auto" ? {
|
|
78
|
-
minimumFractionDigits: 0,
|
|
79
|
-
maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
|
|
80
|
-
} : {};
|
|
81
97
|
return new Intl.NumberFormat(locale, {
|
|
82
98
|
style: "currency",
|
|
83
99
|
currency: currencyCode,
|
|
84
|
-
...
|
|
85
|
-
}).format(
|
|
100
|
+
...fractionDigitsFor(options?.decimals ?? "exact", exactFormatter)
|
|
101
|
+
}).format(amount);
|
|
86
102
|
} catch {
|
|
87
|
-
return `${
|
|
103
|
+
return `${amount.toFixed(2)} ${currencyCode}`;
|
|
88
104
|
}
|
|
89
105
|
}
|
|
90
106
|
//#endregion
|
|
@@ -661,17 +677,35 @@ function parseMailingListRuntimeContext(value) {
|
|
|
661
677
|
if (!isRecord$10(value)) return invalidRuntimeContext();
|
|
662
678
|
if (value.tag === "not_configured") return ok({ tag: "not_configured" });
|
|
663
679
|
if (value.tag !== "configured") return invalidRuntimeContext();
|
|
680
|
+
return parseConfiguredRuntimeContext(value);
|
|
681
|
+
}
|
|
682
|
+
function parseConfiguredRuntimeContext(value) {
|
|
664
683
|
const revision = parseMailingListSetupRevision(value.revision);
|
|
665
684
|
const form = parseMailingListGlobalForm(value.form);
|
|
666
685
|
const provider = parseRuntimeProvider(value.provider);
|
|
667
|
-
|
|
686
|
+
const bookingSignup = parseBookingSignupOffer(value.bookingSignup);
|
|
687
|
+
if (revision === null || !form.ok || provider === null || bookingSignup === null) return invalidRuntimeContext();
|
|
668
688
|
return ok({
|
|
669
689
|
tag: "configured",
|
|
670
690
|
revision,
|
|
691
|
+
bookingSignup,
|
|
671
692
|
form: form.value,
|
|
672
693
|
provider
|
|
673
694
|
});
|
|
674
695
|
}
|
|
696
|
+
function parseBookingSignupOffer(value) {
|
|
697
|
+
if (value === void 0) return {
|
|
698
|
+
tag: "unavailable",
|
|
699
|
+
reason: "disabled"
|
|
700
|
+
};
|
|
701
|
+
if (!isRecord$10(value)) return null;
|
|
702
|
+
if (value.tag === "offered") return { tag: "offered" };
|
|
703
|
+
if (value.tag === "unavailable" && (value.reason === "disabled" || value.reason === "fields" || value.reason === "destination")) return {
|
|
704
|
+
tag: "unavailable",
|
|
705
|
+
reason: value.reason
|
|
706
|
+
};
|
|
707
|
+
return null;
|
|
708
|
+
}
|
|
675
709
|
function parseRuntimeProvider(value) {
|
|
676
710
|
if (!isRecord$10(value)) return null;
|
|
677
711
|
switch (value.provider) {
|
|
@@ -2347,13 +2381,16 @@ const SURFACE_FOREGROUND_CSS_VARS = {
|
|
|
2347
2381
|
text: "--rb-surface-text-color",
|
|
2348
2382
|
heading: "--rb-surface-heading-color",
|
|
2349
2383
|
link: "--rb-surface-link-color",
|
|
2384
|
+
linkHover: "--rb-surface-link-hover-color",
|
|
2350
2385
|
supporting: "--rb-surface-supporting-color"
|
|
2351
2386
|
};
|
|
2352
2387
|
const DEFAULT_SURFACE_TEXT_COLOR = "rgb(var(--tb-text, 17 24 39))";
|
|
2388
|
+
const DEFAULT_SURFACE_LINK_COLOR = "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))";
|
|
2353
2389
|
const DEFAULT_ROLE_FALLBACKS = {
|
|
2354
2390
|
text: DEFAULT_SURFACE_TEXT_COLOR,
|
|
2355
2391
|
heading: DEFAULT_SURFACE_TEXT_COLOR,
|
|
2356
|
-
link:
|
|
2392
|
+
link: DEFAULT_SURFACE_LINK_COLOR,
|
|
2393
|
+
linkHover: DEFAULT_SURFACE_LINK_COLOR,
|
|
2357
2394
|
supporting: "rgb(var(--tb-mutedText, 100 116 139))"
|
|
2358
2395
|
};
|
|
2359
2396
|
function requireSurfaceColorValue(role, value) {
|
|
@@ -2363,10 +2400,12 @@ function requireSurfaceColorValue(role, value) {
|
|
|
2363
2400
|
}
|
|
2364
2401
|
function completeSurfaceForegrounds(input) {
|
|
2365
2402
|
const text = requireSurfaceColorValue("text", input.text);
|
|
2403
|
+
const link = input.link === void 0 ? text : requireSurfaceColorValue("link", input.link);
|
|
2366
2404
|
return {
|
|
2367
2405
|
text,
|
|
2368
2406
|
heading: input.heading === void 0 ? text : requireSurfaceColorValue("heading", input.heading),
|
|
2369
|
-
link
|
|
2407
|
+
link,
|
|
2408
|
+
linkHover: input.linkHover === void 0 ? link : requireSurfaceColorValue("linkHover", input.linkHover),
|
|
2370
2409
|
supporting: input.supporting === void 0 ? text : requireSurfaceColorValue("supporting", input.supporting)
|
|
2371
2410
|
};
|
|
2372
2411
|
}
|
|
@@ -2374,6 +2413,7 @@ function surfaceForegroundValue(role, outsideProviderFallback = DEFAULT_ROLE_FAL
|
|
|
2374
2413
|
const roleVariable = SURFACE_FOREGROUND_CSS_VARS[role];
|
|
2375
2414
|
const fallback = requireSurfaceColorValue("fallback", outsideProviderFallback);
|
|
2376
2415
|
if (role === "text") return `var(${roleVariable}, ${fallback})`;
|
|
2416
|
+
if (role === "linkHover") return `var(${roleVariable}, ${surfaceForegroundValue("link", fallback)})`;
|
|
2377
2417
|
return `var(${roleVariable}, var(${SURFACE_FOREGROUND_CSS_VARS.text}, ${fallback}))`;
|
|
2378
2418
|
}
|
|
2379
2419
|
function surfaceForegroundValueWithOpacity(role, opacityPercent) {
|
|
@@ -2387,9 +2427,25 @@ function surfaceForegroundStyle(input) {
|
|
|
2387
2427
|
[SURFACE_FOREGROUND_CSS_VARS.text]: foregrounds.text,
|
|
2388
2428
|
[SURFACE_FOREGROUND_CSS_VARS.heading]: foregrounds.heading,
|
|
2389
2429
|
[SURFACE_FOREGROUND_CSS_VARS.link]: foregrounds.link,
|
|
2390
|
-
[SURFACE_FOREGROUND_CSS_VARS.
|
|
2430
|
+
[SURFACE_FOREGROUND_CSS_VARS.linkHover]: foregrounds.linkHover,
|
|
2431
|
+
[SURFACE_FOREGROUND_CSS_VARS.supporting]: foregrounds.supporting,
|
|
2432
|
+
"--rb-surface-link-hover-decoration": hoverDecoration(input)
|
|
2433
|
+
};
|
|
2434
|
+
}
|
|
2435
|
+
function surfaceForegroundInputFromResolved(foreground, color) {
|
|
2436
|
+
const { roles } = foreground;
|
|
2437
|
+
return {
|
|
2438
|
+
text: color(roles.text),
|
|
2439
|
+
heading: color(roles.heading),
|
|
2440
|
+
link: color(roles.link),
|
|
2441
|
+
linkHover: color(roles.linkHover),
|
|
2442
|
+
supporting: color(roles.supporting),
|
|
2443
|
+
hoverDecoration: foreground.hoverDecoration
|
|
2391
2444
|
};
|
|
2392
2445
|
}
|
|
2446
|
+
function hoverDecoration(input) {
|
|
2447
|
+
return input.hoverDecoration ?? "underline";
|
|
2448
|
+
}
|
|
2393
2449
|
//#endregion
|
|
2394
2450
|
//#region ../theme-core/src/buttons/constants.ts
|
|
2395
2451
|
/**
|
|
@@ -3246,6 +3302,64 @@ function parseAlpha(source) {
|
|
|
3246
3302
|
function isRgbChannel(value) {
|
|
3247
3303
|
return Number.isFinite(value) && value >= 0 && value <= 255;
|
|
3248
3304
|
}
|
|
3305
|
+
/**
|
|
3306
|
+
* Derive the hover foreground that belongs with a resolved resting foreground.
|
|
3307
|
+
*
|
|
3308
|
+
* A resting foreground is chosen to be legible against a known surface. A hover
|
|
3309
|
+
* state derived from it stays within a bounded distance of that colour, so it
|
|
3310
|
+
* inherits most of the resting colour's contrast margin instead of asserting
|
|
3311
|
+
* an unrelated brand colour that no one checked against the surface.
|
|
3312
|
+
*
|
|
3313
|
+
* That bounded-distance property is what lets this be used on a transparent
|
|
3314
|
+
* overlay header, where the backdrop is only partly knowable: the scrolled
|
|
3315
|
+
* state composites a 60% glass tint over arbitrary page content, so no
|
|
3316
|
+
* compile-time contrast proof is available there. Staying near a colour that
|
|
3317
|
+
* is already trusted in both states is a weaker claim than a contrast proof,
|
|
3318
|
+
* and it is one this function can actually keep.
|
|
3319
|
+
*
|
|
3320
|
+
* Returns `null` when the resting token is not a plain palette token — an
|
|
3321
|
+
* already-faded or raw value has no well-defined softening, and the caller
|
|
3322
|
+
* should leave hover alone rather than guess.
|
|
3323
|
+
*/
|
|
3324
|
+
function deriveForegroundHoverToken(restingToken) {
|
|
3325
|
+
const parts = parseColorTokenParts(restingToken);
|
|
3326
|
+
if (parts.kind !== "token") return null;
|
|
3327
|
+
if (parts.opacityPercent !== null) return null;
|
|
3328
|
+
return parseThemeColorToken(`${parts.token}/85`);
|
|
3329
|
+
}
|
|
3330
|
+
/**
|
|
3331
|
+
* Prefer an authored hover that survives every measured backdrop, then a
|
|
3332
|
+
* checked softening of the resting colour. A null backdrop set represents a
|
|
3333
|
+
* trusted treatment: only an explicit authored hover may change the colour.
|
|
3334
|
+
* When neither option works, retain the resting colour and underline it.
|
|
3335
|
+
*/
|
|
3336
|
+
function planForegroundHover(input) {
|
|
3337
|
+
const { restingToken, candidate, palette, backdrops } = input;
|
|
3338
|
+
if (candidate && candidate !== restingToken) {
|
|
3339
|
+
if (backdrops === null || survivesEveryBackdrop(candidate, palette, backdrops)) return {
|
|
3340
|
+
kind: "candidate",
|
|
3341
|
+
token: candidate,
|
|
3342
|
+
decoration: "initial"
|
|
3343
|
+
};
|
|
3344
|
+
}
|
|
3345
|
+
const softened = deriveForegroundHoverToken(restingToken);
|
|
3346
|
+
if (softened && backdrops && survivesEveryBackdrop(softened, palette, backdrops)) return {
|
|
3347
|
+
kind: "softened",
|
|
3348
|
+
token: softened,
|
|
3349
|
+
decoration: "initial"
|
|
3350
|
+
};
|
|
3351
|
+
return {
|
|
3352
|
+
kind: "resting",
|
|
3353
|
+
token: restingToken,
|
|
3354
|
+
decoration: "underline"
|
|
3355
|
+
};
|
|
3356
|
+
}
|
|
3357
|
+
function survivesEveryBackdrop(token, palette, backdrops) {
|
|
3358
|
+
return backdrops.length > 0 && backdrops.every((backdrop) => {
|
|
3359
|
+
const foreground = resolveOpaqueSurfaceHex(token, palette, backdrop);
|
|
3360
|
+
return foreground !== null && contrastRatio(foreground, backdrop) >= 4.5;
|
|
3361
|
+
});
|
|
3362
|
+
}
|
|
3249
3363
|
//#endregion
|
|
3250
3364
|
//#region ../theme-core/src/surfaces/resolveSurfaceForeground.ts
|
|
3251
3365
|
const FALLBACK_TEXT_TOKENS = [
|
|
@@ -3292,12 +3406,16 @@ function resolveSurfaceForeground(background, palette, candidates = {}, options
|
|
|
3292
3406
|
}
|
|
3293
3407
|
function foregroundCandidates(background, overrides) {
|
|
3294
3408
|
return {
|
|
3295
|
-
text: overrides.text
|
|
3296
|
-
heading: overrides.heading
|
|
3297
|
-
link: overrides.link
|
|
3298
|
-
|
|
3409
|
+
text: candidateOrBackground(overrides.text, background?.textColor),
|
|
3410
|
+
heading: candidateOrBackground(overrides.heading, background?.headingColor),
|
|
3411
|
+
link: candidateOrBackground(overrides.link, background?.linkColor),
|
|
3412
|
+
linkHover: candidateOrBackground(overrides.linkHover),
|
|
3413
|
+
supporting: candidateOrBackground(overrides.supporting, background?.supportingColor)
|
|
3299
3414
|
};
|
|
3300
3415
|
}
|
|
3416
|
+
function candidateOrBackground(candidate, backgroundValue) {
|
|
3417
|
+
return candidate ?? backgroundValue ?? null;
|
|
3418
|
+
}
|
|
3301
3419
|
function resolveDeterministicForeground(backgroundReference, candidates, palette, compositeBase) {
|
|
3302
3420
|
const backgroundHex = resolveOpaqueSurfaceHex(backgroundReference, palette, compositeBase);
|
|
3303
3421
|
if (!backgroundHex) return resolveTrustedTreatmentForeground(candidates, palette);
|
|
@@ -3309,29 +3427,51 @@ function resolveDeterministicForeground(backgroundReference, candidates, palette
|
|
|
3309
3427
|
...FALLBACK_TEXT_TOKENS
|
|
3310
3428
|
], backgroundHex, palette, derivedOnToken ? [derivedOnToken] : []);
|
|
3311
3429
|
if (!text) return { kind: "unknown" };
|
|
3312
|
-
return {
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
};
|
|
3430
|
+
return knownForeground({
|
|
3431
|
+
text,
|
|
3432
|
+
heading: safeTokenOr(candidates.heading, text, backgroundHex, palette),
|
|
3433
|
+
link: safeTokenOr(candidates.link, text, backgroundHex, palette),
|
|
3434
|
+
supporting: safeTokenOr(candidates.supporting, text, backgroundHex, palette)
|
|
3435
|
+
}, {
|
|
3436
|
+
kind: "measured",
|
|
3437
|
+
backdropHex: backgroundHex
|
|
3438
|
+
}, candidates.linkHover, palette);
|
|
3321
3439
|
}
|
|
3322
3440
|
function resolveTrustedTreatmentForeground(candidates, palette) {
|
|
3323
3441
|
const text = canonicalToken(candidates.text, palette);
|
|
3324
3442
|
if (!text) return { kind: "unknown" };
|
|
3443
|
+
return knownForeground({
|
|
3444
|
+
text,
|
|
3445
|
+
heading: canonicalToken(candidates.heading, palette) ?? text,
|
|
3446
|
+
link: canonicalToken(candidates.link, palette) ?? text,
|
|
3447
|
+
supporting: canonicalToken(candidates.supporting, palette) ?? text
|
|
3448
|
+
}, { kind: "trusted-treatment" }, candidates.linkHover, palette);
|
|
3449
|
+
}
|
|
3450
|
+
function knownForeground(roles, provenance, hoverCandidate, palette) {
|
|
3451
|
+
const hover = planForegroundHover({
|
|
3452
|
+
restingToken: roles.link,
|
|
3453
|
+
candidate: canonicalHoverToken(hoverCandidate, palette),
|
|
3454
|
+
palette,
|
|
3455
|
+
backdrops: provenance.kind === "measured" ? [provenance.backdropHex] : null
|
|
3456
|
+
});
|
|
3325
3457
|
return {
|
|
3326
3458
|
kind: "known",
|
|
3459
|
+
provenance,
|
|
3327
3460
|
roles: {
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
}
|
|
3461
|
+
...roles,
|
|
3462
|
+
linkHover: hover.token
|
|
3463
|
+
},
|
|
3464
|
+
hoverDecoration: hover.decoration
|
|
3333
3465
|
};
|
|
3334
3466
|
}
|
|
3467
|
+
function canonicalHoverToken(reference, palette) {
|
|
3468
|
+
const token = parseThemeColorToken(reference);
|
|
3469
|
+
if (token) {
|
|
3470
|
+
const parts = parseColorTokenParts(token);
|
|
3471
|
+
if (parts.kind === "token" && resolveConcreteColorHex(parts.token, palette)) return token;
|
|
3472
|
+
}
|
|
3473
|
+
return canonicalToken(reference, palette);
|
|
3474
|
+
}
|
|
3335
3475
|
function safeTokenOr(candidate, fallback, backgroundHex, palette) {
|
|
3336
3476
|
return firstSafeToken([candidate], backgroundHex, palette) ?? fallback;
|
|
3337
3477
|
}
|
|
@@ -6271,6 +6411,43 @@ const effectCompositionSchema = z.object({
|
|
|
6271
6411
|
/** Effects applied on focus */
|
|
6272
6412
|
focus: z.array(effectApplicationSchema).optional()
|
|
6273
6413
|
});
|
|
6414
|
+
const policiesById = {
|
|
6415
|
+
"darken-background": "other",
|
|
6416
|
+
"lighten-background": "other",
|
|
6417
|
+
"fade-background": "other",
|
|
6418
|
+
"opacity-reduce": "other",
|
|
6419
|
+
"animated-gradient": "other",
|
|
6420
|
+
"background-on-hover": "paired-hover",
|
|
6421
|
+
"background-on-hover-alpha": "paired-hover",
|
|
6422
|
+
"border-glow": "other",
|
|
6423
|
+
"drop-shadow": "other",
|
|
6424
|
+
"inner-shadow": "other",
|
|
6425
|
+
"neumorphic-shadow": "other",
|
|
6426
|
+
"outer-glow": "other",
|
|
6427
|
+
"retro-3d-shadow": "other",
|
|
6428
|
+
"scale-up": "other",
|
|
6429
|
+
"scale-down": "other",
|
|
6430
|
+
lift: "other",
|
|
6431
|
+
"press-down": "other",
|
|
6432
|
+
pop: "other",
|
|
6433
|
+
"aurora-glow": "other",
|
|
6434
|
+
"cosmic-stardust": "other",
|
|
6435
|
+
"gradient-border-fill": "other",
|
|
6436
|
+
"animated-gradient-border-fill": "other",
|
|
6437
|
+
"border-bottom-grow": "other",
|
|
6438
|
+
"gradient-text": "other",
|
|
6439
|
+
"text-color-change": "text-colour",
|
|
6440
|
+
"border-color-change": "other",
|
|
6441
|
+
"sketchy-border": "other",
|
|
6442
|
+
"pulse-animation": "other",
|
|
6443
|
+
"nav-underline": "underline",
|
|
6444
|
+
"nav-frosted-base": "other",
|
|
6445
|
+
"nav-frosted-hover": "other",
|
|
6446
|
+
"nav-frosted-active": "other"
|
|
6447
|
+
};
|
|
6448
|
+
function navEffectPolicy(effectId) {
|
|
6449
|
+
return policiesById[effectId] ?? null;
|
|
6450
|
+
}
|
|
6274
6451
|
//#endregion
|
|
6275
6452
|
//#region ../theme-core/src/navigation/types.ts
|
|
6276
6453
|
/**
|
|
@@ -6359,6 +6536,16 @@ const navLinkStyleSchema = z.object({
|
|
|
6359
6536
|
/** Composable effects */
|
|
6360
6537
|
effects: effectCompositionSchema.optional()
|
|
6361
6538
|
});
|
|
6539
|
+
function navLinkHoverColorCandidate(style) {
|
|
6540
|
+
const effect = style?.effects?.hover?.find((item) => navEffectPolicy(item.effectId) === "text-colour");
|
|
6541
|
+
return parseThemeColorToken(effect?.options?.hoverColorToken ?? style?.hoverColorToken);
|
|
6542
|
+
}
|
|
6543
|
+
function navLinkOwnsHoverForeground(style) {
|
|
6544
|
+
return style?.effects?.hover?.some((effect) => navEffectPolicy(effect.effectId) === "paired-hover") ?? false;
|
|
6545
|
+
}
|
|
6546
|
+
function navLinkOwnsUnderline(style) {
|
|
6547
|
+
return style?.effects?.hover?.some((effect) => navEffectPolicy(effect.effectId) === "underline") ?? false;
|
|
6548
|
+
}
|
|
6362
6549
|
//#endregion
|
|
6363
6550
|
//#region ../theme-core/src/customCss/validation.ts
|
|
6364
6551
|
/**
|
|
@@ -8214,7 +8401,6 @@ const publicEventBaseSchema = z.object({
|
|
|
8214
8401
|
description: z.string().nullable(),
|
|
8215
8402
|
content: z.object({ body: RichTextDocSchema.nullable().optional() }).optional(),
|
|
8216
8403
|
presentation: z.object({
|
|
8217
|
-
cardTitleOverride: z.string().nullable().optional(),
|
|
8218
8404
|
summary: z.string().nullable().optional(),
|
|
8219
8405
|
image: mediaSchema.nullable().optional()
|
|
8220
8406
|
}).optional(),
|
|
@@ -8247,6 +8433,7 @@ const publicEventBaseSchema = z.object({
|
|
|
8247
8433
|
"archived"
|
|
8248
8434
|
]).optional(),
|
|
8249
8435
|
timeZone: z.string(),
|
|
8436
|
+
siteTimeZone: z.string().optional(),
|
|
8250
8437
|
pricing: publicEventPricingSchema,
|
|
8251
8438
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
8252
8439
|
cancellationPolicy: z.object({ refunds: z.object({
|
|
@@ -8517,6 +8704,64 @@ function defineEndpointDefinitions(definitions) {
|
|
|
8517
8704
|
return definitions;
|
|
8518
8705
|
}
|
|
8519
8706
|
//#endregion
|
|
8707
|
+
//#region ../api/src/apiEndpointTypes.ts
|
|
8708
|
+
function allowedDemoMutationPolicy() {
|
|
8709
|
+
return {
|
|
8710
|
+
classification: "allowed",
|
|
8711
|
+
publicMessage: ""
|
|
8712
|
+
};
|
|
8713
|
+
}
|
|
8714
|
+
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
8715
|
+
if (publicMessage.trim() === "") throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
8716
|
+
return {
|
|
8717
|
+
classification,
|
|
8718
|
+
publicMessage
|
|
8719
|
+
};
|
|
8720
|
+
}
|
|
8721
|
+
//#endregion
|
|
8722
|
+
//#region ../api/src/demoMutationPolicies.ts
|
|
8723
|
+
const DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
|
|
8724
|
+
const DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
|
|
8725
|
+
blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
|
|
8726
|
+
const DEMO_MUTATION_ALLOWED = allowedDemoMutationPolicy();
|
|
8727
|
+
//#endregion
|
|
8728
|
+
//#region ../api/src/siteLifecycleEndpoints.ts
|
|
8729
|
+
const SITE_LIFECYCLE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
8730
|
+
createSite: {
|
|
8731
|
+
path: "/sites/manage",
|
|
8732
|
+
method: "POST",
|
|
8733
|
+
tags: ["site"],
|
|
8734
|
+
auth: "user",
|
|
8735
|
+
responseKind: "json",
|
|
8736
|
+
errors: []
|
|
8737
|
+
},
|
|
8738
|
+
createSiteManual: {
|
|
8739
|
+
path: "/sites/manual",
|
|
8740
|
+
method: "POST",
|
|
8741
|
+
tags: ["site"],
|
|
8742
|
+
auth: "user",
|
|
8743
|
+
responseKind: "json",
|
|
8744
|
+
errors: []
|
|
8745
|
+
},
|
|
8746
|
+
updateSite: {
|
|
8747
|
+
path: "/sites/manage",
|
|
8748
|
+
method: "PUT",
|
|
8749
|
+
tags: ["site"],
|
|
8750
|
+
auth: "user",
|
|
8751
|
+
responseKind: "json",
|
|
8752
|
+
errors: []
|
|
8753
|
+
},
|
|
8754
|
+
deleteSite: {
|
|
8755
|
+
path: "/sites/{siteId}",
|
|
8756
|
+
method: "DELETE",
|
|
8757
|
+
tags: ["site", "site-{siteId}"],
|
|
8758
|
+
auth: "user",
|
|
8759
|
+
responseKind: "json",
|
|
8760
|
+
errors: [],
|
|
8761
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
8762
|
+
}
|
|
8763
|
+
});
|
|
8764
|
+
//#endregion
|
|
8520
8765
|
//#region ../api/src/publicNewsletterEndpointDefinitions.ts
|
|
8521
8766
|
const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
8522
8767
|
subscribeNewsletter: {
|
|
@@ -8577,27 +8822,6 @@ const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
8577
8822
|
}
|
|
8578
8823
|
});
|
|
8579
8824
|
//#endregion
|
|
8580
|
-
//#region ../api/src/apiEndpointTypes.ts
|
|
8581
|
-
function allowedDemoMutationPolicy() {
|
|
8582
|
-
return {
|
|
8583
|
-
classification: "allowed",
|
|
8584
|
-
publicMessage: ""
|
|
8585
|
-
};
|
|
8586
|
-
}
|
|
8587
|
-
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
8588
|
-
if (publicMessage.trim() === "") throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
8589
|
-
return {
|
|
8590
|
-
classification,
|
|
8591
|
-
publicMessage
|
|
8592
|
-
};
|
|
8593
|
-
}
|
|
8594
|
-
//#endregion
|
|
8595
|
-
//#region ../api/src/demoMutationPolicies.ts
|
|
8596
|
-
const DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
|
|
8597
|
-
const DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
|
|
8598
|
-
blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
|
|
8599
|
-
const DEMO_MUTATION_ALLOWED = allowedDemoMutationPolicy();
|
|
8600
|
-
//#endregion
|
|
8601
8825
|
//#region ../api/src/cache-tags.ts
|
|
8602
8826
|
/**
|
|
8603
8827
|
* Tag templates for endpoint definitions (support `{param}` placeholders).
|
|
@@ -9624,6 +9848,20 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
9624
9848
|
responseKind: "json",
|
|
9625
9849
|
errors: ["auth:forbidden", "server:internal_error"]
|
|
9626
9850
|
},
|
|
9851
|
+
setMailingListBookingOptIn: {
|
|
9852
|
+
path: "/sites/{siteId}/mailing-list/setup/booking-opt-in",
|
|
9853
|
+
method: "PUT",
|
|
9854
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
9855
|
+
auth: "user",
|
|
9856
|
+
responseKind: "json",
|
|
9857
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
9858
|
+
errors: [
|
|
9859
|
+
"auth:forbidden",
|
|
9860
|
+
"validation:invalid_input",
|
|
9861
|
+
"resource:conflict",
|
|
9862
|
+
"server:internal_error"
|
|
9863
|
+
]
|
|
9864
|
+
},
|
|
9627
9865
|
getMailingListAuthoringContext: {
|
|
9628
9866
|
path: "/sites/{siteId}/mailing-list/authoring-context",
|
|
9629
9867
|
method: "GET",
|
|
@@ -10039,6 +10277,7 @@ const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10039
10277
|
responseKind: "json",
|
|
10040
10278
|
errors: [
|
|
10041
10279
|
"resource:not_found",
|
|
10280
|
+
"validation:invalid_input",
|
|
10042
10281
|
"resource:conflict",
|
|
10043
10282
|
"server:internal_error"
|
|
10044
10283
|
]
|
|
@@ -10493,28 +10732,6 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10493
10732
|
"resource:conflict",
|
|
10494
10733
|
"server:internal_error"
|
|
10495
10734
|
]
|
|
10496
|
-
},
|
|
10497
|
-
/**
|
|
10498
|
-
* The Content tab's one write: the short introduction, image and
|
|
10499
|
-
* description of an event's page, published without its layout.
|
|
10500
|
-
*/
|
|
10501
|
-
saveEventPageWords: {
|
|
10502
|
-
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
|
|
10503
|
-
method: "PUT",
|
|
10504
|
-
tags: [
|
|
10505
|
-
TAG_TEMPLATES.siteCollection,
|
|
10506
|
-
TAG_TEMPLATES.siteRoutableContent,
|
|
10507
|
-
TAG_TEMPLATES.pageSurfaceById
|
|
10508
|
-
],
|
|
10509
|
-
auth: "user",
|
|
10510
|
-
responseKind: "json",
|
|
10511
|
-
errors: [
|
|
10512
|
-
"auth:forbidden",
|
|
10513
|
-
"validation:invalid_input",
|
|
10514
|
-
"resource:not_found",
|
|
10515
|
-
"resource:conflict",
|
|
10516
|
-
"server:internal_error"
|
|
10517
|
-
]
|
|
10518
10735
|
}
|
|
10519
10736
|
});
|
|
10520
10737
|
//#endregion
|
|
@@ -10939,6 +11156,15 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10939
11156
|
auth: "user",
|
|
10940
11157
|
responseKind: "json"
|
|
10941
11158
|
},
|
|
11159
|
+
/** Continue on Free from the onboarding card page; only the attempt's owner. */
|
|
11160
|
+
continueOnboardingOnFree: {
|
|
11161
|
+
path: "/onboarding/attempts/{attemptToken}/plan/free",
|
|
11162
|
+
method: "POST",
|
|
11163
|
+
tags: ["billing"],
|
|
11164
|
+
auth: "user",
|
|
11165
|
+
errors: [],
|
|
11166
|
+
responseKind: "json"
|
|
11167
|
+
},
|
|
10942
11168
|
createBillingPortalSession: {
|
|
10943
11169
|
path: "/billing/portal/session",
|
|
10944
11170
|
method: "POST",
|
|
@@ -10948,6 +11174,209 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10948
11174
|
}
|
|
10949
11175
|
});
|
|
10950
11176
|
//#endregion
|
|
11177
|
+
//#region ../api/src/editLeaseEndpoints.ts
|
|
11178
|
+
const path = "/sites/{siteId}/edit-leases/{nodeType}/{nodeId}";
|
|
11179
|
+
const lifecycleErrors = [
|
|
11180
|
+
"auth:lease_required",
|
|
11181
|
+
"auth:forbidden",
|
|
11182
|
+
"resource:not_found",
|
|
11183
|
+
"validation:invalid_input",
|
|
11184
|
+
"server:internal_error"
|
|
11185
|
+
];
|
|
11186
|
+
const EDIT_LEASE_ENDPOINT_DEFINITIONS = {
|
|
11187
|
+
readEditLease: {
|
|
11188
|
+
path,
|
|
11189
|
+
method: "GET",
|
|
11190
|
+
editLease: "lifecycle",
|
|
11191
|
+
errors: lifecycleErrors,
|
|
11192
|
+
auth: "user",
|
|
11193
|
+
responseKind: "json"
|
|
11194
|
+
},
|
|
11195
|
+
acquireEditLease: {
|
|
11196
|
+
path,
|
|
11197
|
+
method: "POST",
|
|
11198
|
+
editLease: "lifecycle",
|
|
11199
|
+
errors: lifecycleErrors,
|
|
11200
|
+
auth: "user",
|
|
11201
|
+
responseKind: "json"
|
|
11202
|
+
},
|
|
11203
|
+
takeOverEditLease: {
|
|
11204
|
+
path,
|
|
11205
|
+
method: "PUT",
|
|
11206
|
+
editLease: "lifecycle",
|
|
11207
|
+
errors: lifecycleErrors,
|
|
11208
|
+
auth: "user",
|
|
11209
|
+
responseKind: "json"
|
|
11210
|
+
},
|
|
11211
|
+
heartbeatEditLease: {
|
|
11212
|
+
path,
|
|
11213
|
+
method: "PATCH",
|
|
11214
|
+
editLease: "lifecycle",
|
|
11215
|
+
errors: [...lifecycleErrors, "auth:lease_lost"],
|
|
11216
|
+
auth: "user",
|
|
11217
|
+
responseKind: "json"
|
|
11218
|
+
},
|
|
11219
|
+
releaseEditLease: {
|
|
11220
|
+
path,
|
|
11221
|
+
method: "DELETE",
|
|
11222
|
+
editLease: "lifecycle",
|
|
11223
|
+
errors: lifecycleErrors,
|
|
11224
|
+
auth: "user",
|
|
11225
|
+
responseKind: "json"
|
|
11226
|
+
}
|
|
11227
|
+
};
|
|
11228
|
+
//#endregion
|
|
11229
|
+
//#region ../api/src/pageSurfaceEditorEndpoints.ts
|
|
11230
|
+
const surfaceTags = [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById];
|
|
11231
|
+
const PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS = {
|
|
11232
|
+
getPageSurfaceEditorDocument: {
|
|
11233
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
|
|
11234
|
+
method: "GET",
|
|
11235
|
+
errors: [
|
|
11236
|
+
"auth:forbidden",
|
|
11237
|
+
"validation:invalid_input",
|
|
11238
|
+
"resource:not_found",
|
|
11239
|
+
"resource:conflict",
|
|
11240
|
+
"server:internal_error"
|
|
11241
|
+
],
|
|
11242
|
+
tags: surfaceTags,
|
|
11243
|
+
auth: "user",
|
|
11244
|
+
responseKind: "json"
|
|
11245
|
+
},
|
|
11246
|
+
updatePageSurfaceDraftContent: {
|
|
11247
|
+
editLease: "managed",
|
|
11248
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
|
|
11249
|
+
method: "PUT",
|
|
11250
|
+
errors: [
|
|
11251
|
+
"validation:invalid_input",
|
|
11252
|
+
"resource:not_found",
|
|
11253
|
+
"resource:conflict",
|
|
11254
|
+
"server:internal_error"
|
|
11255
|
+
],
|
|
11256
|
+
tags: surfaceTags,
|
|
11257
|
+
auth: "user",
|
|
11258
|
+
responseKind: "json"
|
|
11259
|
+
},
|
|
11260
|
+
discardPageSurfaceDraftContent: {
|
|
11261
|
+
editLease: "managed",
|
|
11262
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content/draft",
|
|
11263
|
+
method: "DELETE",
|
|
11264
|
+
errors: [
|
|
11265
|
+
"validation:invalid_input",
|
|
11266
|
+
"resource:not_found",
|
|
11267
|
+
"resource:conflict",
|
|
11268
|
+
"server:internal_error"
|
|
11269
|
+
],
|
|
11270
|
+
tags: surfaceTags,
|
|
11271
|
+
auth: "user",
|
|
11272
|
+
responseKind: "json"
|
|
11273
|
+
},
|
|
11274
|
+
updatePageSurfaceRouteMetadata: {
|
|
11275
|
+
editLease: "managed",
|
|
11276
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/metadata",
|
|
11277
|
+
method: "PATCH",
|
|
11278
|
+
errors: [
|
|
11279
|
+
"validation:invalid_input",
|
|
11280
|
+
"resource:not_found",
|
|
11281
|
+
"resource:conflict",
|
|
11282
|
+
"server:internal_error"
|
|
11283
|
+
],
|
|
11284
|
+
tags: [
|
|
11285
|
+
TAG_TEMPLATES.siteCollection,
|
|
11286
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
11287
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
11288
|
+
],
|
|
11289
|
+
auth: "user",
|
|
11290
|
+
responseKind: "json"
|
|
11291
|
+
},
|
|
11292
|
+
publishPageSurface: {
|
|
11293
|
+
editLease: "managed",
|
|
11294
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/publication",
|
|
11295
|
+
method: "POST",
|
|
11296
|
+
errors: [
|
|
11297
|
+
"auth:forbidden",
|
|
11298
|
+
"validation:invalid_input",
|
|
11299
|
+
"resource:not_found",
|
|
11300
|
+
"resource:conflict",
|
|
11301
|
+
"server:internal_error"
|
|
11302
|
+
],
|
|
11303
|
+
tags: [
|
|
11304
|
+
TAG_TEMPLATES.siteCollection,
|
|
11305
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
11306
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
11307
|
+
],
|
|
11308
|
+
auth: "user",
|
|
11309
|
+
responseKind: "json"
|
|
11310
|
+
},
|
|
11311
|
+
saveEventContentTab: {
|
|
11312
|
+
editLease: "managed",
|
|
11313
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/event-content",
|
|
11314
|
+
method: "PUT",
|
|
11315
|
+
errors: [
|
|
11316
|
+
"auth:forbidden",
|
|
11317
|
+
"validation:invalid_input",
|
|
11318
|
+
"resource:not_found",
|
|
11319
|
+
"resource:conflict",
|
|
11320
|
+
"server:internal_error"
|
|
11321
|
+
],
|
|
11322
|
+
tags: [
|
|
11323
|
+
TAG_TEMPLATES.siteCollection,
|
|
11324
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
11325
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
11326
|
+
],
|
|
11327
|
+
auth: "user",
|
|
11328
|
+
responseKind: "json"
|
|
11329
|
+
}
|
|
11330
|
+
};
|
|
11331
|
+
//#endregion
|
|
11332
|
+
//#region ../api/src/bookingPeopleEndpointDefinitions.ts
|
|
11333
|
+
/**
|
|
11334
|
+
* People endpoints (#1356): the People list, its CSV export, and deleting a
|
|
11335
|
+
* person when nothing is attached to them.
|
|
11336
|
+
*/
|
|
11337
|
+
const BOOKING_PEOPLE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
11338
|
+
listPeople: {
|
|
11339
|
+
path: "/sites/{siteId}/bookings/people",
|
|
11340
|
+
method: "GET",
|
|
11341
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
11342
|
+
auth: "user",
|
|
11343
|
+
responseKind: "json",
|
|
11344
|
+
errors: ["server:internal_error"]
|
|
11345
|
+
},
|
|
11346
|
+
exportPeopleCsv: {
|
|
11347
|
+
path: "/sites/{siteId}/bookings/people/export.csv",
|
|
11348
|
+
method: "GET",
|
|
11349
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
11350
|
+
auth: "user",
|
|
11351
|
+
errors: [],
|
|
11352
|
+
responseKind: "blob"
|
|
11353
|
+
},
|
|
11354
|
+
checkPersonDeletion: {
|
|
11355
|
+
path: "/sites/{siteId}/bookings/people/{personId}/deletion-check",
|
|
11356
|
+
method: "GET",
|
|
11357
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
11358
|
+
auth: "user",
|
|
11359
|
+
responseKind: "json",
|
|
11360
|
+
errors: [
|
|
11361
|
+
"auth:forbidden",
|
|
11362
|
+
"resource:not_found",
|
|
11363
|
+
"server:internal_error"
|
|
11364
|
+
]
|
|
11365
|
+
},
|
|
11366
|
+
deletePerson: {
|
|
11367
|
+
path: "/sites/{siteId}/bookings/people/{personId}",
|
|
11368
|
+
method: "DELETE",
|
|
11369
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
11370
|
+
auth: "user",
|
|
11371
|
+
responseKind: "json",
|
|
11372
|
+
errors: [
|
|
11373
|
+
"auth:forbidden",
|
|
11374
|
+
"resource:not_found",
|
|
11375
|
+
"server:internal_error"
|
|
11376
|
+
]
|
|
11377
|
+
}
|
|
11378
|
+
});
|
|
11379
|
+
//#endregion
|
|
10951
11380
|
//#region ../api/src/clientErrorReporting.ts
|
|
10952
11381
|
const CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
|
|
10953
11382
|
path: "/client/error-report",
|
|
@@ -10983,6 +11412,7 @@ z.object({
|
|
|
10983
11412
|
sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
|
|
10984
11413
|
}).strict();
|
|
10985
11414
|
({
|
|
11415
|
+
...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
|
|
10986
11416
|
...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
|
|
10987
11417
|
...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
10988
11418
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
@@ -10991,12 +11421,14 @@ z.object({
|
|
|
10991
11421
|
...GIFTING_ENDPOINT_DEFINITIONS,
|
|
10992
11422
|
...PUBLIC_READ_ENDPOINT_DEFINITIONS,
|
|
10993
11423
|
...BILLING_ENDPOINT_DEFINITIONS,
|
|
11424
|
+
...EDIT_LEASE_ENDPOINT_DEFINITIONS,
|
|
11425
|
+
...PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS,
|
|
10994
11426
|
...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS
|
|
10995
11427
|
}), TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, { ...SITE_API_KEY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, {
|
|
10996
11428
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
10997
11429
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
10998
11430
|
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
10999
|
-
}, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.
|
|
11431
|
+
}, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...BOOKING_PEOPLE_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS }, { ...SDK_EVENT_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
|
|
11000
11432
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
11001
11433
|
z.object({
|
|
11002
11434
|
accessToken: z.string().min(1).max(4096),
|
|
@@ -17285,6 +17717,14 @@ const blockDesignFallback = {
|
|
|
17285
17717
|
};
|
|
17286
17718
|
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
17287
17719
|
//#endregion
|
|
17720
|
+
//#region ../theme-core/src/header/rootPaint.ts
|
|
17721
|
+
/** The nav container takes precedence when a floating header also has one. */
|
|
17722
|
+
function headerRootPaint(header) {
|
|
17723
|
+
const navContainerType = header?.navContainer?.type ?? "none";
|
|
17724
|
+
if (navContainerType === "glass" || navContainerType === "pill") return "contained-nav";
|
|
17725
|
+
return header?.variant === "floating" ? "overlay" : "own-surface";
|
|
17726
|
+
}
|
|
17727
|
+
//#endregion
|
|
17288
17728
|
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
17289
17729
|
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
17290
17730
|
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
@@ -17464,6 +17904,259 @@ z.object(headerPreferencesShape).omit({
|
|
|
17464
17904
|
structure: true
|
|
17465
17905
|
}).strict();
|
|
17466
17906
|
//#endregion
|
|
17907
|
+
//#region ../theme-core/src/navigation/presets.ts
|
|
17908
|
+
/**
|
|
17909
|
+
* Built-in nav link style presets
|
|
17910
|
+
*
|
|
17911
|
+
* Each preset uses composable effects to achieve its look.
|
|
17912
|
+
*/
|
|
17913
|
+
const NAV_LINK_PRESETS = {
|
|
17914
|
+
/**
|
|
17915
|
+
* Minimal - subtle color change on hover
|
|
17916
|
+
*/
|
|
17917
|
+
minimal: {
|
|
17918
|
+
name: "Minimal",
|
|
17919
|
+
typography: "body",
|
|
17920
|
+
fontWeight: "medium",
|
|
17921
|
+
textTransform: "none",
|
|
17922
|
+
italic: false,
|
|
17923
|
+
colorToken: "text",
|
|
17924
|
+
hoverColorToken: "primary",
|
|
17925
|
+
padding: "none",
|
|
17926
|
+
borderRadius: "none",
|
|
17927
|
+
effects: { hover: [{
|
|
17928
|
+
effectId: "text-color-change",
|
|
17929
|
+
options: { hoverColorToken: "primary" }
|
|
17930
|
+
}] }
|
|
17931
|
+
},
|
|
17932
|
+
/**
|
|
17933
|
+
* Underline - static underline appears on hover
|
|
17934
|
+
*/
|
|
17935
|
+
underline: {
|
|
17936
|
+
name: "Underline",
|
|
17937
|
+
typography: "body",
|
|
17938
|
+
fontWeight: "medium",
|
|
17939
|
+
textTransform: "none",
|
|
17940
|
+
italic: false,
|
|
17941
|
+
colorToken: "text",
|
|
17942
|
+
padding: "none",
|
|
17943
|
+
borderRadius: "none",
|
|
17944
|
+
effects: { hover: [{
|
|
17945
|
+
effectId: "nav-underline",
|
|
17946
|
+
options: { style: "static" }
|
|
17947
|
+
}] }
|
|
17948
|
+
},
|
|
17949
|
+
/**
|
|
17950
|
+
* Underline Grow - animated underline grows from center on hover
|
|
17951
|
+
*/
|
|
17952
|
+
"underline-grow": {
|
|
17953
|
+
name: "Underline Grow",
|
|
17954
|
+
typography: "body",
|
|
17955
|
+
fontWeight: "medium",
|
|
17956
|
+
textTransform: "none",
|
|
17957
|
+
italic: false,
|
|
17958
|
+
colorToken: "text",
|
|
17959
|
+
padding: "none",
|
|
17960
|
+
borderRadius: "none",
|
|
17961
|
+
effects: { hover: [{
|
|
17962
|
+
effectId: "nav-underline",
|
|
17963
|
+
options: { style: "grow" }
|
|
17964
|
+
}] }
|
|
17965
|
+
},
|
|
17966
|
+
/**
|
|
17967
|
+
* Capsule - pill-shaped background on hover
|
|
17968
|
+
*/
|
|
17969
|
+
capsule: {
|
|
17970
|
+
name: "Capsule",
|
|
17971
|
+
typography: "body",
|
|
17972
|
+
fontWeight: "medium",
|
|
17973
|
+
textTransform: "none",
|
|
17974
|
+
italic: false,
|
|
17975
|
+
colorToken: "text",
|
|
17976
|
+
padding: "compact",
|
|
17977
|
+
borderRadius: "full",
|
|
17978
|
+
effects: {
|
|
17979
|
+
hover: [{
|
|
17980
|
+
effectId: "background-on-hover-alpha",
|
|
17981
|
+
options: {
|
|
17982
|
+
colorToken: "primary",
|
|
17983
|
+
opacity: 10
|
|
17984
|
+
}
|
|
17985
|
+
}],
|
|
17986
|
+
active: [{
|
|
17987
|
+
effectId: "background-on-hover-alpha",
|
|
17988
|
+
options: {
|
|
17989
|
+
colorToken: "primary",
|
|
17990
|
+
opacity: 15
|
|
17991
|
+
}
|
|
17992
|
+
}]
|
|
17993
|
+
}
|
|
17994
|
+
},
|
|
17995
|
+
/**
|
|
17996
|
+
* Solid - solid background color on hover
|
|
17997
|
+
*/
|
|
17998
|
+
solid: {
|
|
17999
|
+
name: "Solid",
|
|
18000
|
+
typography: "body",
|
|
18001
|
+
fontWeight: "medium",
|
|
18002
|
+
textTransform: "none",
|
|
18003
|
+
italic: false,
|
|
18004
|
+
colorToken: "text",
|
|
18005
|
+
padding: "compact",
|
|
18006
|
+
borderRadius: "none",
|
|
18007
|
+
effects: {
|
|
18008
|
+
hover: [{
|
|
18009
|
+
effectId: "background-on-hover",
|
|
18010
|
+
options: {
|
|
18011
|
+
colorToken: "primary",
|
|
18012
|
+
textColorToken: "primaryForeground"
|
|
18013
|
+
}
|
|
18014
|
+
}],
|
|
18015
|
+
active: [{
|
|
18016
|
+
effectId: "background-on-hover",
|
|
18017
|
+
options: {
|
|
18018
|
+
colorToken: "primary",
|
|
18019
|
+
textColorToken: "primaryForeground"
|
|
18020
|
+
}
|
|
18021
|
+
}]
|
|
18022
|
+
}
|
|
18023
|
+
},
|
|
18024
|
+
/**
|
|
18025
|
+
* Scale - gentle scale-up on hover
|
|
18026
|
+
*/
|
|
18027
|
+
scale: {
|
|
18028
|
+
name: "Scale",
|
|
18029
|
+
typography: "body",
|
|
18030
|
+
fontWeight: "medium",
|
|
18031
|
+
textTransform: "none",
|
|
18032
|
+
italic: false,
|
|
18033
|
+
colorToken: "text",
|
|
18034
|
+
padding: "none",
|
|
18035
|
+
borderRadius: "none",
|
|
18036
|
+
effects: { hover: [{
|
|
18037
|
+
effectId: "scale-up",
|
|
18038
|
+
options: { scale: 1.05 }
|
|
18039
|
+
}] }
|
|
18040
|
+
},
|
|
18041
|
+
/**
|
|
18042
|
+
* Frosted - semi-transparent glass-like background
|
|
18043
|
+
*/
|
|
18044
|
+
frosted: {
|
|
18045
|
+
name: "Frosted",
|
|
18046
|
+
typography: "body",
|
|
18047
|
+
fontWeight: "medium",
|
|
18048
|
+
textTransform: "none",
|
|
18049
|
+
italic: false,
|
|
18050
|
+
colorToken: "text",
|
|
18051
|
+
padding: "compact",
|
|
18052
|
+
borderRadius: "md",
|
|
18053
|
+
effects: {
|
|
18054
|
+
base: [{ effectId: "nav-frosted-base" }],
|
|
18055
|
+
hover: [{ effectId: "nav-frosted-hover" }],
|
|
18056
|
+
active: [{ effectId: "nav-frosted-active" }]
|
|
18057
|
+
}
|
|
18058
|
+
}
|
|
18059
|
+
};
|
|
18060
|
+
/**
|
|
18061
|
+
* Get a nav link style preset by ID
|
|
18062
|
+
*/
|
|
18063
|
+
function getNavLinkPreset(presetId) {
|
|
18064
|
+
return NAV_LINK_PRESETS[presetId];
|
|
18065
|
+
}
|
|
18066
|
+
Object.keys(NAV_LINK_PRESETS);
|
|
18067
|
+
//#endregion
|
|
18068
|
+
//#region ../theme-core/src/header/legacyNavLinkStyle.ts
|
|
18069
|
+
function buildLegacyHeaderNavLinkStyle(header, contrastTreatment, navTextSize) {
|
|
18070
|
+
const navStyle = header.navStyle ?? "minimal";
|
|
18071
|
+
const basePreset = getNavLinkPreset(navStyle);
|
|
18072
|
+
if (!basePreset) return null;
|
|
18073
|
+
const style = {
|
|
18074
|
+
...basePreset,
|
|
18075
|
+
fontWeight: header.navWeight ?? basePreset.fontWeight,
|
|
18076
|
+
colorToken: (header.navColor ?? header.textColor)?.trim() || basePreset.colorToken,
|
|
18077
|
+
...contrastTreatment ? { contrastTreatment } : {},
|
|
18078
|
+
...navTextSize ? { textSize: navTextSize } : {}
|
|
18079
|
+
};
|
|
18080
|
+
if (header.navWeight === "bold" && navStyle === "solid") style.textTransform = "uppercase";
|
|
18081
|
+
applyLegacyGlassTreatment(style, header, navStyle);
|
|
18082
|
+
return style;
|
|
18083
|
+
}
|
|
18084
|
+
function applyLegacyGlassTreatment(style, header, navStyle) {
|
|
18085
|
+
if (header.navContainer?.type !== "glass" || navStyle !== "minimal") return;
|
|
18086
|
+
style.borderRadius = "full";
|
|
18087
|
+
style.effects = {
|
|
18088
|
+
...style.effects,
|
|
18089
|
+
hover: glassStateEffects(10),
|
|
18090
|
+
active: glassStateEffects(18)
|
|
18091
|
+
};
|
|
18092
|
+
}
|
|
18093
|
+
function glassStateEffects(opacity) {
|
|
18094
|
+
return [{
|
|
18095
|
+
effectId: "background-on-hover-alpha",
|
|
18096
|
+
options: {
|
|
18097
|
+
colorToken: "neutral-50",
|
|
18098
|
+
opacity
|
|
18099
|
+
}
|
|
18100
|
+
}, {
|
|
18101
|
+
effectId: "text-color-change",
|
|
18102
|
+
options: { hoverColorToken: "neutral-50" }
|
|
18103
|
+
}];
|
|
18104
|
+
}
|
|
18105
|
+
//#endregion
|
|
18106
|
+
//#region ../theme-core/src/header/openingForegroundProjection.ts
|
|
18107
|
+
function readOpeningForegroundProjection(header) {
|
|
18108
|
+
return header?.__runtimeOpeningForeground ?? null;
|
|
18109
|
+
}
|
|
18110
|
+
//#endregion
|
|
18111
|
+
//#region ../theme-core/src/header/effectiveNavLinkStyle.ts
|
|
18112
|
+
function effectiveHeaderNavLinkStyle(header, contrastTreatment = null, navTextSize = null) {
|
|
18113
|
+
if (!header) return null;
|
|
18114
|
+
if (!header.navLinkStyle) return buildLegacyHeaderNavLinkStyle(header, contrastTreatment, navTextSize);
|
|
18115
|
+
return {
|
|
18116
|
+
...header.navLinkStyle,
|
|
18117
|
+
...contrastTreatment ? { contrastTreatment } : {},
|
|
18118
|
+
...navTextSize ? { textSize: navTextSize } : {}
|
|
18119
|
+
};
|
|
18120
|
+
}
|
|
18121
|
+
function headerForegroundCandidates(header) {
|
|
18122
|
+
if (!header) return {};
|
|
18123
|
+
const style = effectiveHeaderNavLinkStyle(header);
|
|
18124
|
+
return {
|
|
18125
|
+
text: header.textColor ?? header.background?.textColor,
|
|
18126
|
+
link: style?.colorToken ?? header.navColor ?? header.textColor,
|
|
18127
|
+
linkHover: navLinkHoverColorCandidate(style)
|
|
18128
|
+
};
|
|
18129
|
+
}
|
|
18130
|
+
function headerLeafTextColor(header) {
|
|
18131
|
+
if (!header) return "text";
|
|
18132
|
+
return header.textColor ?? header.navColor ?? header.background?.textColor ?? header.navLinkStyle?.colorToken ?? "text";
|
|
18133
|
+
}
|
|
18134
|
+
/** Transparent chrome must reset the whole contract on its own root. */
|
|
18135
|
+
function transparentHeaderForegroundInput(header, palette) {
|
|
18136
|
+
const projection = readOpeningForegroundProjection(header);
|
|
18137
|
+
if (projection?.kind === "known") return surfaceForegroundInputFromResolved(projection, rgbColorValue);
|
|
18138
|
+
return authoredTransparentHeaderForegroundInput(header, palette);
|
|
18139
|
+
}
|
|
18140
|
+
function authoredTransparentHeaderForegroundInput(header, palette) {
|
|
18141
|
+
const text = headerLeafTextColor(header);
|
|
18142
|
+
const style = effectiveHeaderNavLinkStyle(header);
|
|
18143
|
+
const link = style?.colorToken ?? text;
|
|
18144
|
+
const restingToken = parseThemeColorToken(link) ?? parseThemeColorToken("text");
|
|
18145
|
+
if (!restingToken) throw new Error("Built-in text colour token is invalid");
|
|
18146
|
+
const hover = planForegroundHover({
|
|
18147
|
+
restingToken,
|
|
18148
|
+
candidate: navLinkOwnsHoverForeground(style) ? null : navLinkHoverColorCandidate(style),
|
|
18149
|
+
palette,
|
|
18150
|
+
backdrops: null
|
|
18151
|
+
});
|
|
18152
|
+
return {
|
|
18153
|
+
text: rgbColorValue(text),
|
|
18154
|
+
link: rgbColorValue(link),
|
|
18155
|
+
linkHover: rgbColorValue(hover.token),
|
|
18156
|
+
hoverDecoration: navLinkOwnsUnderline(style) ? "initial" : hover.decoration
|
|
18157
|
+
};
|
|
18158
|
+
}
|
|
18159
|
+
//#endregion
|
|
17467
18160
|
//#region ../theme-core/src/site-styles/pageDesignAuthority.ts
|
|
17468
18161
|
const nonEmptyStringSchema = z.string().min(1);
|
|
17469
18162
|
const blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
|
|
@@ -17616,6 +18309,28 @@ z.object({
|
|
|
17616
18309
|
motion: z.enum(themeTokenRecipeOptions.motion)
|
|
17617
18310
|
});
|
|
17618
18311
|
//#endregion
|
|
18312
|
+
//#region ../theme-core/src/footer/effectiveNavLinkStyle.ts
|
|
18313
|
+
function effectiveFooterNavLinkStyle(footer) {
|
|
18314
|
+
if (!footer) return null;
|
|
18315
|
+
if (footer.navLinkStyle) return footer.navLinkStyle;
|
|
18316
|
+
const basePreset = getNavLinkPreset(footer.navStyle ?? "minimal");
|
|
18317
|
+
if (!basePreset) return null;
|
|
18318
|
+
return {
|
|
18319
|
+
...basePreset,
|
|
18320
|
+
fontWeight: footer.navWeight ?? basePreset.fontWeight,
|
|
18321
|
+
colorToken: footer.navColor?.trim() || basePreset.colorToken
|
|
18322
|
+
};
|
|
18323
|
+
}
|
|
18324
|
+
function footerForegroundCandidates(footer, proseHoverCandidate) {
|
|
18325
|
+
if (!footer) return {};
|
|
18326
|
+
const style = effectiveFooterNavLinkStyle(footer);
|
|
18327
|
+
return {
|
|
18328
|
+
text: footer.background?.textColor,
|
|
18329
|
+
link: style?.colorToken ?? footer.navColor ?? footer.background?.textColor,
|
|
18330
|
+
linkHover: navLinkOwnsHoverForeground(style) ? proseHoverCandidate : navLinkHoverColorCandidate(style)
|
|
18331
|
+
};
|
|
18332
|
+
}
|
|
18333
|
+
//#endregion
|
|
17619
18334
|
//#region ../theme-core/src/siteChromeOverlayClearance.ts
|
|
17620
18335
|
const SITE_CHROME_VISIBLE_HEADER_ATTR = "data-site-chrome-visible-header";
|
|
17621
18336
|
//#endregion
|
|
@@ -20389,33 +21104,28 @@ function resolveBackgroundColorValue(value, context) {
|
|
|
20389
21104
|
//#endregion
|
|
20390
21105
|
//#region ../blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.ts
|
|
20391
21106
|
const contextualButtonStylesCache = /* @__PURE__ */ new WeakMap();
|
|
20392
|
-
function resolveHeaderLeafTextColor(header) {
|
|
20393
|
-
return header?.textColor ?? header?.navColor ?? header?.background?.textColor ?? header?.navLinkStyle?.colorToken ?? "text";
|
|
20394
|
-
}
|
|
20395
21107
|
function resolveHeaderRootForeground(header, palette, isTransparent) {
|
|
20396
|
-
if (isTransparent) return { kind: "unknown" };
|
|
21108
|
+
if (isTransparent) return readOpeningForegroundProjection(header) ?? { kind: "unknown" };
|
|
20397
21109
|
const background = header?.background;
|
|
20398
21110
|
return resolveSurfaceForeground(background ?? {
|
|
20399
21111
|
type: "color",
|
|
20400
21112
|
color: "surface"
|
|
20401
|
-
}, palette,
|
|
20402
|
-
|
|
20403
|
-
|
|
20404
|
-
|
|
21113
|
+
}, palette, headerForegroundCandidates(header));
|
|
21114
|
+
}
|
|
21115
|
+
function resolveFooterRootForeground(footer, palette, proseHoverCandidate) {
|
|
21116
|
+
return resolveSurfaceForeground(footer?.background ?? {
|
|
21117
|
+
type: "color",
|
|
21118
|
+
color: "surface"
|
|
21119
|
+
}, palette, footerForegroundCandidates(footer, proseHoverCandidate), { compositeBase: "background" });
|
|
20405
21120
|
}
|
|
20406
21121
|
function resolveSurfaceForegroundStyles(value, context, options) {
|
|
20407
21122
|
const input = parseBackgroundContent(value);
|
|
20408
|
-
const foreground = input ? resolveSurfaceForeground(input, context.theme.palette, {}, { compositeBase: options?.fallbackToken }) : { kind: "unknown" };
|
|
21123
|
+
const foreground = input ? resolveSurfaceForeground(input, context.theme.palette, { linkHover: context.proseHoverCandidate }, { compositeBase: options?.fallbackToken }) : { kind: "unknown" };
|
|
20409
21124
|
const buttonStyles = resolveContextualButtonStyles(input, foreground, context, options);
|
|
20410
21125
|
if (foreground.kind === "unknown") return buttonStyles;
|
|
20411
21126
|
return {
|
|
20412
21127
|
...buttonStyles,
|
|
20413
|
-
...surfaceForegroundStyle(
|
|
20414
|
-
text: resolveBackgroundColorValue(foreground.roles.text, context),
|
|
20415
|
-
heading: resolveBackgroundColorValue(foreground.roles.heading, context),
|
|
20416
|
-
link: resolveBackgroundColorValue(foreground.roles.link, context),
|
|
20417
|
-
supporting: resolveBackgroundColorValue(foreground.roles.supporting, context)
|
|
20418
|
-
})
|
|
21128
|
+
...surfaceForegroundStyle(surfaceForegroundInputFromResolved(foreground, (token) => resolveBackgroundColorValue(token, context)))
|
|
20419
21129
|
};
|
|
20420
21130
|
}
|
|
20421
21131
|
function resolveContextualButtonStyles(background, foreground, context, options) {
|
|
@@ -26231,10 +26941,7 @@ function resolveBackgroundVisualStyles(backgroundColor, defaultToken = "surface"
|
|
|
26231
26941
|
};
|
|
26232
26942
|
}
|
|
26233
26943
|
function resolveHeaderVisualStyles(header) {
|
|
26234
|
-
|
|
26235
|
-
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
26236
|
-
const hasOverlayVariant = header?.variant === "floating";
|
|
26237
|
-
if (hasContainedNav || hasOverlayVariant) return {
|
|
26944
|
+
if (headerRootPaint(header) !== "own-surface") return {
|
|
26238
26945
|
backgroundToken: "transparent",
|
|
26239
26946
|
isTransparent: true
|
|
26240
26947
|
};
|
|
@@ -26245,23 +26952,7 @@ function resolveHeaderVisualStyles(header) {
|
|
|
26245
26952
|
}
|
|
26246
26953
|
function resolvedForegroundStyle(foreground) {
|
|
26247
26954
|
if (foreground.kind === "unknown") return void 0;
|
|
26248
|
-
|
|
26249
|
-
return surfaceForegroundStyle({
|
|
26250
|
-
text: rgbColorValue(roles.text),
|
|
26251
|
-
heading: rgbColorValue(roles.heading),
|
|
26252
|
-
link: rgbColorValue(roles.link),
|
|
26253
|
-
supporting: rgbColorValue(roles.supporting)
|
|
26254
|
-
});
|
|
26255
|
-
}
|
|
26256
|
-
function resolveFooterRootForeground(footer, palette) {
|
|
26257
|
-
const background = footer?.background;
|
|
26258
|
-
return resolveSurfaceForeground(background ?? {
|
|
26259
|
-
type: "color",
|
|
26260
|
-
color: "surface"
|
|
26261
|
-
}, palette, {
|
|
26262
|
-
text: background?.textColor,
|
|
26263
|
-
link: footer?.navLinkStyle?.colorToken ?? footer?.navColor ?? background?.textColor
|
|
26264
|
-
});
|
|
26955
|
+
return surfaceForegroundStyle(surfaceForegroundInputFromResolved(foreground, rgbColorValue));
|
|
26265
26956
|
}
|
|
26266
26957
|
function footerBottomBarBorderWidthStyle(width) {
|
|
26267
26958
|
if (!width) return void 0;
|
|
@@ -26288,8 +26979,7 @@ const headerRootClassTransform = {
|
|
|
26288
26979
|
const placement = planSiteChromePlacement(parseHeaderPositioning(content.positioning));
|
|
26289
26980
|
const header = asPartialObject(value);
|
|
26290
26981
|
const visuals = resolveHeaderVisualStyles(header);
|
|
26291
|
-
const
|
|
26292
|
-
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
26982
|
+
const hasContainedNav = headerRootPaint(header) === "contained-nav";
|
|
26293
26983
|
const backgroundClass = visuals.isTransparent || hasContainedNav ? "rb-bg-transparent" : null;
|
|
26294
26984
|
const classes = [config.base, backgroundClass];
|
|
26295
26985
|
if (!hasContainedNav) {
|
|
@@ -26332,7 +27022,7 @@ const headerRootStyleTransform = {
|
|
|
26332
27022
|
run: (value, _options, context) => {
|
|
26333
27023
|
const header = asPartialObject(value);
|
|
26334
27024
|
const visuals = resolveHeaderVisualStyles(header);
|
|
26335
|
-
return mergeStyles(resolvedForegroundStyle(resolveHeaderRootForeground(header, context.theme.palette, visuals.isTransparent)) ?? { color: rgbColorValue(
|
|
27025
|
+
return mergeStyles(resolvedForegroundStyle(resolveHeaderRootForeground(header, context.theme.palette, visuals.isTransparent)) ?? (visuals.isTransparent ? surfaceForegroundStyle(transparentHeaderForegroundInput(header, context.theme.palette)) : { color: rgbColorValue(headerLeafTextColor(header)) }), borderColorStyle(header?.border?.colorToken ?? "border"));
|
|
26336
27026
|
}
|
|
26337
27027
|
};
|
|
26338
27028
|
const headerSectionBackgroundTransform = {
|
|
@@ -26340,9 +27030,7 @@ const headerSectionBackgroundTransform = {
|
|
|
26340
27030
|
kind: "string",
|
|
26341
27031
|
summary: "Resolve the inner site-header section background token",
|
|
26342
27032
|
run: (value) => {
|
|
26343
|
-
|
|
26344
|
-
const navContainerType = header?.navContainer?.type ?? "none";
|
|
26345
|
-
return header?.variant === "floating" || navContainerType === "glass" || navContainerType === "pill" ? "raw:transparent" : "background";
|
|
27033
|
+
return headerRootPaint(asPartialObject(value)) !== "own-surface" ? "raw:transparent" : "background";
|
|
26346
27034
|
}
|
|
26347
27035
|
};
|
|
26348
27036
|
const footerRootStyleTransform = {
|
|
@@ -26360,7 +27048,7 @@ const footerRootStyleTransform = {
|
|
|
26360
27048
|
styleParts.push(backgroundColorStyle(token));
|
|
26361
27049
|
}
|
|
26362
27050
|
}
|
|
26363
|
-
styleParts.push(resolvedForegroundStyle(resolveFooterRootForeground(footer, context.theme.palette)));
|
|
27051
|
+
styleParts.push(resolvedForegroundStyle(resolveFooterRootForeground(footer, context.theme.palette, context.proseHoverCandidate)));
|
|
26364
27052
|
styleParts.push(borderColorStyle("border"));
|
|
26365
27053
|
return mergeStyles(...styleParts);
|
|
26366
27054
|
}
|
|
@@ -26422,22 +27110,28 @@ const footerBottomBarStyleTransform = {
|
|
|
26422
27110
|
run: (value, _options, context) => {
|
|
26423
27111
|
const footer = asPartialObject(value);
|
|
26424
27112
|
const bottomBar = footer?.bottomBar;
|
|
26425
|
-
|
|
26426
|
-
const background = bottomBar?.background;
|
|
26427
|
-
if (background?.type === "color") styleParts.push(backgroundColorStyle(background.color ?? "surface"));
|
|
26428
|
-
styleParts.push(borderColorStyle(bottomBar?.borderTop?.colorToken ?? "border"), footerBottomBarBorderWidthStyle(bottomBar?.borderTop?.width));
|
|
26429
|
-
const foreground = resolveSurfaceForeground(background?.type === "color" ? background : {
|
|
26430
|
-
type: "color",
|
|
26431
|
-
color: "transparent"
|
|
26432
|
-
}, context.theme.palette, {
|
|
26433
|
-
text: bottomBar?.textColor,
|
|
26434
|
-
link: footer?.bottomTextLinkStyle?.colorToken ?? bottomBar?.textColor
|
|
26435
|
-
});
|
|
26436
|
-
if (background?.type === "color") styleParts.push(resolvedForegroundStyle(foreground));
|
|
26437
|
-
else if (bottomBar?.textColor) styleParts.push(textColorStyle(bottomBar.textColor));
|
|
26438
|
-
return mergeStyles(...styleParts);
|
|
27113
|
+
return mergeStyles(bottomBar?.background?.type === "color" ? backgroundColorStyle(bottomBar.background.color ?? "surface") : void 0, borderColorStyle(bottomBar?.borderTop?.colorToken ?? "border"), footerBottomBarBorderWidthStyle(bottomBar?.borderTop?.width), footerBottomBarForegroundStyle(footer, context.theme.palette));
|
|
26439
27114
|
}
|
|
26440
27115
|
};
|
|
27116
|
+
function footerBottomBarForegroundStyle(footer, palette) {
|
|
27117
|
+
if (!footer?.bottomBar) return void 0;
|
|
27118
|
+
const bar = footer.bottomBar;
|
|
27119
|
+
if (bar.background?.type !== "color") return backgroundlessBottomBarForegroundStyle(footer);
|
|
27120
|
+
return resolvedForegroundStyle(resolveSurfaceForeground(bar.background, palette, {
|
|
27121
|
+
text: bar.textColor,
|
|
27122
|
+
link: footer.bottomTextLinkStyle?.colorToken ?? bar.textColor,
|
|
27123
|
+
linkHover: footer.bottomTextLinkStyle?.hoverColorToken
|
|
27124
|
+
}, { compositeBase: measuredFooterBackdrop(footer, palette) }));
|
|
27125
|
+
}
|
|
27126
|
+
function backgroundlessBottomBarForegroundStyle(footer) {
|
|
27127
|
+
if (footer.background?.contentOwner === "site-chrome-editor") return;
|
|
27128
|
+
const textColor = footer.bottomBar?.textColor;
|
|
27129
|
+
return textColor ? textColorStyle(textColor) : void 0;
|
|
27130
|
+
}
|
|
27131
|
+
function measuredFooterBackdrop(footer, palette) {
|
|
27132
|
+
const foreground = resolveFooterRootForeground(footer, palette);
|
|
27133
|
+
return foreground.kind === "known" && foreground.provenance.kind === "measured" ? foreground.provenance.backdropHex : null;
|
|
27134
|
+
}
|
|
26441
27135
|
const footerSplitMainClassTransform = {
|
|
26442
27136
|
id: "layout.footerSplitMainClass",
|
|
26443
27137
|
kind: "string",
|
|
@@ -26533,7 +27227,7 @@ function chromeSurfaceTextToken(surface, theme, palette) {
|
|
|
26533
27227
|
case "header-root": {
|
|
26534
27228
|
const header = theme.header;
|
|
26535
27229
|
const foreground = resolveHeaderRootForeground(header, palette, resolveHeaderVisualStyles(header).isTransparent);
|
|
26536
|
-
return foreground.kind === "known" ? foreground.roles.text :
|
|
27230
|
+
return foreground.kind === "known" ? foreground.roles.text : headerLeafTextColor(header);
|
|
26537
27231
|
}
|
|
26538
27232
|
case "header-mobile-panel": return theme.header?.dropdownStyle?.textColor ?? "text";
|
|
26539
27233
|
case "footer-root": {
|
|
@@ -28606,13 +29300,19 @@ const bookingDescription = richText({}, bind("content.description"), when("conte
|
|
|
28606
29300
|
* that hydration never rewrites.
|
|
28607
29301
|
*/
|
|
28608
29302
|
const bookingWizard = bookingForm(withApiBindings({
|
|
29303
|
+
demoEmailSuppressed: { $bind: {
|
|
29304
|
+
from: "$root.demoEmailSuppressed",
|
|
29305
|
+
fallback: false
|
|
29306
|
+
} },
|
|
28609
29307
|
portalToken: { $bind: {
|
|
28610
29308
|
from: "$root.portalToken",
|
|
28611
29309
|
fallback: null
|
|
28612
29310
|
} },
|
|
28613
29311
|
formId: { $bind: { from: "content.formId" } },
|
|
28614
29312
|
form: { $bind: { from: "data.form" } },
|
|
28615
|
-
services: { $bind: { from: "data.services" } }
|
|
29313
|
+
services: { $bind: { from: "data.services" } },
|
|
29314
|
+
mailingList: { $bind: { from: "$root.mailingList" } },
|
|
29315
|
+
siteName: { $bind: { from: "$root.siteName" } }
|
|
28616
29316
|
}));
|
|
28617
29317
|
/** Both variants sit in the same section shell; only the inner layout differs. */
|
|
28618
29318
|
function bookingSection(children) {
|
|
@@ -29517,6 +30217,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
|
|
|
29517
30217
|
];
|
|
29518
30218
|
const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
|
|
29519
30219
|
const eventRegistrationHydrationSchemaShape = {
|
|
30220
|
+
demoEmailSuppressed: z.boolean().optional(),
|
|
29520
30221
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
29521
30222
|
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
29522
30223
|
maxTickets: z.string().optional(),
|
|
@@ -29528,7 +30229,13 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
29528
30229
|
spamProtectionEnabled: z.boolean().optional(),
|
|
29529
30230
|
supportEmail: z.string().optional(),
|
|
29530
30231
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
29531
|
-
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
30232
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional(),
|
|
30233
|
+
mailingList: z.unknown().transform((value) => {
|
|
30234
|
+
if (value === void 0) return void 0;
|
|
30235
|
+
const parsed = parseMailingListRuntimeContext(value);
|
|
30236
|
+
return parsed.ok ? parsed.value : void 0;
|
|
30237
|
+
}),
|
|
30238
|
+
siteName: z.string().optional()
|
|
29532
30239
|
};
|
|
29533
30240
|
const eventRegistrationEventSourceSchema = z.discriminatedUnion("kind", [z.object({
|
|
29534
30241
|
kind: z.literal("loaded"),
|
|
@@ -29691,6 +30398,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
29691
30398
|
...eventSource,
|
|
29692
30399
|
events: [...scopedSourceEvents]
|
|
29693
30400
|
} : eventSource,
|
|
30401
|
+
demoEmailSuppressed: source.demoEmailSuppressed,
|
|
29694
30402
|
maxTickets: source.maxTickets ?? void 0,
|
|
29695
30403
|
showVenue: source.showVenue,
|
|
29696
30404
|
showCapacity: source.showCapacity,
|
|
@@ -29700,7 +30408,9 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
29700
30408
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
29701
30409
|
supportEmail: source.supportEmail,
|
|
29702
30410
|
sitePasses: source.sitePasses ?? null,
|
|
29703
|
-
siteMemberships: source.siteMemberships ?? null
|
|
30411
|
+
siteMemberships: source.siteMemberships ?? null,
|
|
30412
|
+
mailingList: source.mailingList,
|
|
30413
|
+
siteName: source.siteName
|
|
29704
30414
|
}
|
|
29705
30415
|
};
|
|
29706
30416
|
}
|
|
@@ -29817,8 +30527,8 @@ const eventRegistrationBlockDefinition = {
|
|
|
29817
30527
|
description: "Message shown after successful registration",
|
|
29818
30528
|
required: false,
|
|
29819
30529
|
multiline: true,
|
|
29820
|
-
|
|
29821
|
-
|
|
30530
|
+
maxLength: 500,
|
|
30531
|
+
ui: { placeholder: "Thank you for registering! Check your email for confirmation details." }
|
|
29822
30532
|
},
|
|
29823
30533
|
{
|
|
29824
30534
|
id: "buttonText",
|
|
@@ -29839,6 +30549,10 @@ const eventRegistrationBlockDefinition = {
|
|
|
29839
30549
|
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
29840
30550
|
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
29841
30551
|
eventRegistration(withApiBindings({
|
|
30552
|
+
demoEmailSuppressed: { $bind: {
|
|
30553
|
+
from: "$root.demoEmailSuppressed",
|
|
30554
|
+
fallback: false
|
|
30555
|
+
} },
|
|
29842
30556
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
29843
30557
|
occurrenceContext: { $bind: { from: "$root.occurrenceContext" } },
|
|
29844
30558
|
subject: { $bind: { from: "$root.subject" } },
|
|
@@ -29868,6 +30582,8 @@ const eventRegistrationBlockDefinition = {
|
|
|
29868
30582
|
events: { $bind: { from: "data.events" } },
|
|
29869
30583
|
wholeSeriesRunEvents: { $bind: { from: "data.wholeSeriesRunEvents" } },
|
|
29870
30584
|
loaderFailures: { $bind: { from: "$root.loaderFailures" } },
|
|
30585
|
+
mailingList: { $bind: { from: "$root.mailingList" } },
|
|
30586
|
+
siteName: { $bind: { from: "$root.siteName" } },
|
|
29871
30587
|
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
29872
30588
|
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
29873
30589
|
stage: { $bind: {
|
|
@@ -35199,6 +35915,7 @@ const shopSourceSchema = z.object({
|
|
|
35199
35915
|
memberships: z.array(publicMembershipProductSchema).nullable().optional(),
|
|
35200
35916
|
products: z.array(publicProductSchema).nullable().optional(),
|
|
35201
35917
|
siteId: z.string().optional(),
|
|
35918
|
+
demoEmailSuppressed: z.boolean().optional(),
|
|
35202
35919
|
apiBaseUrl: z.string().optional(),
|
|
35203
35920
|
readAuthority: browserReadAuthoritySchema.optional(),
|
|
35204
35921
|
stage: previewStageSchema.optional()
|
|
@@ -35318,7 +36035,8 @@ const checkoutDisplaySchema = z.object({
|
|
|
35318
36035
|
const passesMembershipsHydrationSchema = z.object({
|
|
35319
36036
|
memberships: z.array(publicMembershipProductSchema),
|
|
35320
36037
|
passPurchaseMode: z.enum(["add_to_cart", "buy_now"]),
|
|
35321
|
-
buttonVariant: blockButtonRoleSchema
|
|
36038
|
+
buttonVariant: blockButtonRoleSchema,
|
|
36039
|
+
demoEmailSuppressed: z.boolean().optional()
|
|
35322
36040
|
});
|
|
35323
36041
|
const productListHydrationSchema = z.object({
|
|
35324
36042
|
products: z.array(publicProductSchema),
|
|
@@ -35340,7 +36058,8 @@ const cartHydrationSchema = z.object({
|
|
|
35340
36058
|
});
|
|
35341
36059
|
const checkoutHydrationSchema = z.object({
|
|
35342
36060
|
emptyStateText: z.string(),
|
|
35343
|
-
submitButtonText: z.string()
|
|
36061
|
+
submitButtonText: z.string(),
|
|
36062
|
+
demoEmailSuppressed: z.boolean().optional()
|
|
35344
36063
|
});
|
|
35345
36064
|
const passesMembershipsRenderSchema = z.object({
|
|
35346
36065
|
display: passesMembershipsDisplaySchema,
|
|
@@ -35399,7 +36118,8 @@ const shopBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
35399
36118
|
hydration: {
|
|
35400
36119
|
memberships: source.showMemberships === false ? [] : source.memberships ?? [],
|
|
35401
36120
|
passPurchaseMode,
|
|
35402
|
-
buttonVariant: source.buttonVariant ?? "primary"
|
|
36121
|
+
buttonVariant: source.buttonVariant ?? "primary",
|
|
36122
|
+
demoEmailSuppressed: source.demoEmailSuppressed
|
|
35403
36123
|
}
|
|
35404
36124
|
};
|
|
35405
36125
|
}
|
|
@@ -35492,7 +36212,8 @@ const checkoutBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
35492
36212
|
}),
|
|
35493
36213
|
hydration: {
|
|
35494
36214
|
emptyStateText: source.emptyStateText ?? "Add something to your cart to continue.",
|
|
35495
|
-
submitButtonText: source.submitButtonText ?? "Checkout"
|
|
36215
|
+
submitButtonText: source.submitButtonText ?? "Checkout",
|
|
36216
|
+
demoEmailSuppressed: source.demoEmailSuppressed
|
|
35496
36217
|
}
|
|
35497
36218
|
})
|
|
35498
36219
|
});
|
|
@@ -35710,6 +36431,10 @@ const shopBlockDefinition = {
|
|
|
35710
36431
|
spacing: "spacious",
|
|
35711
36432
|
children: sectionContainer([shop(withApiBindings({
|
|
35712
36433
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
36434
|
+
demoEmailSuppressed: { $bind: {
|
|
36435
|
+
from: "$root.demoEmailSuppressed",
|
|
36436
|
+
fallback: false
|
|
36437
|
+
} },
|
|
35713
36438
|
mode: "passes-memberships",
|
|
35714
36439
|
showPasses: { $bind: {
|
|
35715
36440
|
from: "content.showPasses",
|
|
@@ -36252,6 +36977,10 @@ const checkoutBlockDefinition = {
|
|
|
36252
36977
|
baseClass: "",
|
|
36253
36978
|
spacing: "spacious",
|
|
36254
36979
|
children: sectionContainer([checkout(withApiBindings({
|
|
36980
|
+
demoEmailSuppressed: { $bind: {
|
|
36981
|
+
from: "$root.demoEmailSuppressed",
|
|
36982
|
+
fallback: false
|
|
36983
|
+
} },
|
|
36255
36984
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
36256
36985
|
mode: "checkout",
|
|
36257
36986
|
heading: { $bind: {
|
|
@@ -36884,65 +37613,67 @@ const editorialSplitLayout = styledSection({
|
|
|
36884
37613
|
spacing: "comfortable",
|
|
36885
37614
|
background: "surface"
|
|
36886
37615
|
});
|
|
36887
|
-
const
|
|
36888
|
-
|
|
36889
|
-
|
|
36890
|
-
|
|
36891
|
-
|
|
36892
|
-
|
|
36893
|
-
|
|
36894
|
-
|
|
36895
|
-
|
|
36896
|
-
|
|
36897
|
-
|
|
36898
|
-
|
|
36899
|
-
|
|
36900
|
-
|
|
36901
|
-
|
|
36902
|
-
|
|
36903
|
-
|
|
36904
|
-
|
|
36905
|
-
|
|
36906
|
-
|
|
36907
|
-
|
|
36908
|
-
|
|
36909
|
-
|
|
36910
|
-
|
|
36911
|
-
|
|
36912
|
-
description: "Vertical layout with fields stacked"
|
|
36913
|
-
},
|
|
36914
|
-
inline: {
|
|
36915
|
-
label: "Inline",
|
|
36916
|
-
description: "Horizontal layout (email + button side by side)"
|
|
36917
|
-
},
|
|
36918
|
-
"editorial-split": {
|
|
36919
|
-
label: "Editorial split",
|
|
36920
|
-
description: "Copy and form in balanced side-by-side columns, stacked on mobile."
|
|
36921
|
-
}
|
|
36922
|
-
},
|
|
36923
|
-
styleTokens: {
|
|
36924
|
-
background: "surface",
|
|
36925
|
-
typography: "body",
|
|
36926
|
-
spacing: "md"
|
|
37616
|
+
const newsletterSignupManifest = createBlockManifest({
|
|
37617
|
+
id: "block.newsletter-signup",
|
|
37618
|
+
title: "Newsletter Signup",
|
|
37619
|
+
titleSource: "title",
|
|
37620
|
+
description: "Newsletter subscription form with configurable field presets.",
|
|
37621
|
+
category: "interactive",
|
|
37622
|
+
contentSource: { kind: "inline" },
|
|
37623
|
+
fragments: [{
|
|
37624
|
+
fragment: newsletterCopyFragment,
|
|
37625
|
+
fieldPriority: 0
|
|
37626
|
+
}, {
|
|
37627
|
+
fragment: newsletterFormFragment,
|
|
37628
|
+
fieldPriority: 1
|
|
37629
|
+
}],
|
|
37630
|
+
layout: stackedLayout,
|
|
37631
|
+
variants: {
|
|
37632
|
+
stacked: stackedLayout,
|
|
37633
|
+
inline: inlineLayout,
|
|
37634
|
+
"editorial-split": editorialSplitLayout
|
|
37635
|
+
},
|
|
37636
|
+
defaultVariant: "stacked",
|
|
37637
|
+
variantOptions: {
|
|
37638
|
+
stacked: {
|
|
37639
|
+
label: "Stacked",
|
|
37640
|
+
description: "Vertical layout with fields stacked"
|
|
36927
37641
|
},
|
|
36928
|
-
|
|
36929
|
-
|
|
36930
|
-
|
|
36931
|
-
animation: false,
|
|
36932
|
-
paletteHidden: false
|
|
37642
|
+
inline: {
|
|
37643
|
+
label: "Inline",
|
|
37644
|
+
description: "Horizontal layout (email + button side by side)"
|
|
36933
37645
|
},
|
|
36934
|
-
|
|
36935
|
-
"
|
|
36936
|
-
"
|
|
36937
|
-
|
|
36938
|
-
|
|
36939
|
-
|
|
36940
|
-
|
|
36941
|
-
|
|
36942
|
-
|
|
36943
|
-
|
|
36944
|
-
|
|
36945
|
-
|
|
37646
|
+
"editorial-split": {
|
|
37647
|
+
label: "Editorial split",
|
|
37648
|
+
description: "Copy and form in balanced side-by-side columns, stacked on mobile."
|
|
37649
|
+
}
|
|
37650
|
+
},
|
|
37651
|
+
styleTokens: {
|
|
37652
|
+
background: "surface",
|
|
37653
|
+
typography: "body",
|
|
37654
|
+
spacing: "md"
|
|
37655
|
+
},
|
|
37656
|
+
behaviours: {
|
|
37657
|
+
supportsThemeSwitching: true,
|
|
37658
|
+
inlineEditing: false,
|
|
37659
|
+
animation: false,
|
|
37660
|
+
paletteHidden: false
|
|
37661
|
+
},
|
|
37662
|
+
tags: [
|
|
37663
|
+
"newsletter",
|
|
37664
|
+
"signup",
|
|
37665
|
+
"email",
|
|
37666
|
+
"subscribe",
|
|
37667
|
+
"subscription",
|
|
37668
|
+
"mailchimp",
|
|
37669
|
+
"marketing",
|
|
37670
|
+
"lead-capture"
|
|
37671
|
+
],
|
|
37672
|
+
icon: "Mail"
|
|
37673
|
+
});
|
|
37674
|
+
[...(newsletterSignupManifest.fields ?? []).map((field) => field.id)];
|
|
37675
|
+
const newsletterSignupBlockDefinition = {
|
|
37676
|
+
manifest: newsletterSignupManifest,
|
|
36946
37677
|
runtime: newsletterFormBlockRuntime
|
|
36947
37678
|
};
|
|
36948
37679
|
//#endregion
|