@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
|
@@ -18,6 +18,64 @@ function defineEndpointDefinitions(definitions) {
|
|
|
18
18
|
return definitions;
|
|
19
19
|
}
|
|
20
20
|
//#endregion
|
|
21
|
+
//#region ../api/src/apiEndpointTypes.ts
|
|
22
|
+
function allowedDemoMutationPolicy() {
|
|
23
|
+
return {
|
|
24
|
+
classification: "allowed",
|
|
25
|
+
publicMessage: ""
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
29
|
+
if (publicMessage.trim() === "") throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
30
|
+
return {
|
|
31
|
+
classification,
|
|
32
|
+
publicMessage
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region ../api/src/demoMutationPolicies.ts
|
|
37
|
+
const DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
|
|
38
|
+
const DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
|
|
39
|
+
blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
|
|
40
|
+
const DEMO_MUTATION_ALLOWED = allowedDemoMutationPolicy();
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region ../api/src/siteLifecycleEndpoints.ts
|
|
43
|
+
const SITE_LIFECYCLE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
44
|
+
createSite: {
|
|
45
|
+
path: "/sites/manage",
|
|
46
|
+
method: "POST",
|
|
47
|
+
tags: ["site"],
|
|
48
|
+
auth: "user",
|
|
49
|
+
responseKind: "json",
|
|
50
|
+
errors: []
|
|
51
|
+
},
|
|
52
|
+
createSiteManual: {
|
|
53
|
+
path: "/sites/manual",
|
|
54
|
+
method: "POST",
|
|
55
|
+
tags: ["site"],
|
|
56
|
+
auth: "user",
|
|
57
|
+
responseKind: "json",
|
|
58
|
+
errors: []
|
|
59
|
+
},
|
|
60
|
+
updateSite: {
|
|
61
|
+
path: "/sites/manage",
|
|
62
|
+
method: "PUT",
|
|
63
|
+
tags: ["site"],
|
|
64
|
+
auth: "user",
|
|
65
|
+
responseKind: "json",
|
|
66
|
+
errors: []
|
|
67
|
+
},
|
|
68
|
+
deleteSite: {
|
|
69
|
+
path: "/sites/{siteId}",
|
|
70
|
+
method: "DELETE",
|
|
71
|
+
tags: ["site", "site-{siteId}"],
|
|
72
|
+
auth: "user",
|
|
73
|
+
responseKind: "json",
|
|
74
|
+
errors: [],
|
|
75
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
//#endregion
|
|
21
79
|
//#region ../api/src/publicNewsletterEndpointDefinitions.ts
|
|
22
80
|
const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
23
81
|
subscribeNewsletter: {
|
|
@@ -78,27 +136,6 @@ const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
78
136
|
}
|
|
79
137
|
});
|
|
80
138
|
//#endregion
|
|
81
|
-
//#region ../api/src/apiEndpointTypes.ts
|
|
82
|
-
function allowedDemoMutationPolicy() {
|
|
83
|
-
return {
|
|
84
|
-
classification: "allowed",
|
|
85
|
-
publicMessage: ""
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
89
|
-
if (publicMessage.trim() === "") throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
90
|
-
return {
|
|
91
|
-
classification,
|
|
92
|
-
publicMessage
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
//#endregion
|
|
96
|
-
//#region ../api/src/demoMutationPolicies.ts
|
|
97
|
-
const DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
|
|
98
|
-
const DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
|
|
99
|
-
blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
|
|
100
|
-
const DEMO_MUTATION_ALLOWED = allowedDemoMutationPolicy();
|
|
101
|
-
//#endregion
|
|
102
139
|
//#region ../api/src/cache-tags.ts
|
|
103
140
|
/**
|
|
104
141
|
* Tag templates for endpoint definitions (support `{param}` placeholders).
|
|
@@ -1125,6 +1162,20 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1125
1162
|
responseKind: "json",
|
|
1126
1163
|
errors: ["auth:forbidden", "server:internal_error"]
|
|
1127
1164
|
},
|
|
1165
|
+
setMailingListBookingOptIn: {
|
|
1166
|
+
path: "/sites/{siteId}/mailing-list/setup/booking-opt-in",
|
|
1167
|
+
method: "PUT",
|
|
1168
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1169
|
+
auth: "user",
|
|
1170
|
+
responseKind: "json",
|
|
1171
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
1172
|
+
errors: [
|
|
1173
|
+
"auth:forbidden",
|
|
1174
|
+
"validation:invalid_input",
|
|
1175
|
+
"resource:conflict",
|
|
1176
|
+
"server:internal_error"
|
|
1177
|
+
]
|
|
1178
|
+
},
|
|
1128
1179
|
getMailingListAuthoringContext: {
|
|
1129
1180
|
path: "/sites/{siteId}/mailing-list/authoring-context",
|
|
1130
1181
|
method: "GET",
|
|
@@ -1540,6 +1591,7 @@ const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1540
1591
|
responseKind: "json",
|
|
1541
1592
|
errors: [
|
|
1542
1593
|
"resource:not_found",
|
|
1594
|
+
"validation:invalid_input",
|
|
1543
1595
|
"resource:conflict",
|
|
1544
1596
|
"server:internal_error"
|
|
1545
1597
|
]
|
|
@@ -1646,6 +1698,19 @@ const CURRENCY_LOCALE_BY_CODE = {
|
|
|
1646
1698
|
function resolveCurrencyLocale(currencyCode, override) {
|
|
1647
1699
|
return override ?? CURRENCY_LOCALE_BY_CODE[currencyCode] ?? "en";
|
|
1648
1700
|
}
|
|
1701
|
+
function fractionDigitsFor(decimals, exactFormatter) {
|
|
1702
|
+
switch (decimals) {
|
|
1703
|
+
case "exact": return {};
|
|
1704
|
+
case "auto": return {
|
|
1705
|
+
minimumFractionDigits: 0,
|
|
1706
|
+
maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
|
|
1707
|
+
};
|
|
1708
|
+
case "whole": return {
|
|
1709
|
+
minimumFractionDigits: 0,
|
|
1710
|
+
maximumFractionDigits: 0
|
|
1711
|
+
};
|
|
1712
|
+
}
|
|
1713
|
+
}
|
|
1649
1714
|
/**
|
|
1650
1715
|
* The single currency-amount formatter for the product: minor units in,
|
|
1651
1716
|
* localized string out.
|
|
@@ -1656,6 +1721,13 @@ function resolveCurrencyLocale(currencyCode, override) {
|
|
|
1656
1721
|
* own `Intl.NumberFormat`.
|
|
1657
1722
|
*/
|
|
1658
1723
|
function formatCurrencyAmount(amountCents, currency, options) {
|
|
1724
|
+
return formatCurrencyMajorUnits(amountCents / 100, currency, options);
|
|
1725
|
+
}
|
|
1726
|
+
/**
|
|
1727
|
+
* `formatCurrencyAmount` for an amount already in MAJOR units (29.99 = £29.99),
|
|
1728
|
+
* such as a registrar price. Prefer minor units everywhere else.
|
|
1729
|
+
*/
|
|
1730
|
+
function formatCurrencyMajorUnits(amount, currency, options) {
|
|
1659
1731
|
const currencyCode = currency.toUpperCase();
|
|
1660
1732
|
const locale = resolveCurrencyLocale(currencyCode, options?.locale);
|
|
1661
1733
|
try {
|
|
@@ -1663,17 +1735,13 @@ function formatCurrencyAmount(amountCents, currency, options) {
|
|
|
1663
1735
|
style: "currency",
|
|
1664
1736
|
currency: currencyCode
|
|
1665
1737
|
});
|
|
1666
|
-
const fractionDigits = options?.decimals === "auto" ? {
|
|
1667
|
-
minimumFractionDigits: 0,
|
|
1668
|
-
maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
|
|
1669
|
-
} : {};
|
|
1670
1738
|
return new Intl.NumberFormat(locale, {
|
|
1671
1739
|
style: "currency",
|
|
1672
1740
|
currency: currencyCode,
|
|
1673
|
-
...
|
|
1674
|
-
}).format(
|
|
1741
|
+
...fractionDigitsFor(options?.decimals ?? "exact", exactFormatter)
|
|
1742
|
+
}).format(amount);
|
|
1675
1743
|
} catch {
|
|
1676
|
-
return `${
|
|
1744
|
+
return `${amount.toFixed(2)} ${currencyCode}`;
|
|
1677
1745
|
}
|
|
1678
1746
|
}
|
|
1679
1747
|
//#endregion
|
|
@@ -2250,17 +2318,35 @@ function parseMailingListRuntimeContext(value) {
|
|
|
2250
2318
|
if (!isRecord$8(value)) return invalidRuntimeContext();
|
|
2251
2319
|
if (value.tag === "not_configured") return ok({ tag: "not_configured" });
|
|
2252
2320
|
if (value.tag !== "configured") return invalidRuntimeContext();
|
|
2321
|
+
return parseConfiguredRuntimeContext(value);
|
|
2322
|
+
}
|
|
2323
|
+
function parseConfiguredRuntimeContext(value) {
|
|
2253
2324
|
const revision = parseMailingListSetupRevision(value.revision);
|
|
2254
2325
|
const form = parseMailingListGlobalForm(value.form);
|
|
2255
2326
|
const provider = parseRuntimeProvider(value.provider);
|
|
2256
|
-
|
|
2327
|
+
const bookingSignup = parseBookingSignupOffer(value.bookingSignup);
|
|
2328
|
+
if (revision === null || !form.ok || provider === null || bookingSignup === null) return invalidRuntimeContext();
|
|
2257
2329
|
return ok({
|
|
2258
2330
|
tag: "configured",
|
|
2259
2331
|
revision,
|
|
2332
|
+
bookingSignup,
|
|
2260
2333
|
form: form.value,
|
|
2261
2334
|
provider
|
|
2262
2335
|
});
|
|
2263
2336
|
}
|
|
2337
|
+
function parseBookingSignupOffer(value) {
|
|
2338
|
+
if (value === void 0) return {
|
|
2339
|
+
tag: "unavailable",
|
|
2340
|
+
reason: "disabled"
|
|
2341
|
+
};
|
|
2342
|
+
if (!isRecord$8(value)) return null;
|
|
2343
|
+
if (value.tag === "offered") return { tag: "offered" };
|
|
2344
|
+
if (value.tag === "unavailable" && (value.reason === "disabled" || value.reason === "fields" || value.reason === "destination")) return {
|
|
2345
|
+
tag: "unavailable",
|
|
2346
|
+
reason: value.reason
|
|
2347
|
+
};
|
|
2348
|
+
return null;
|
|
2349
|
+
}
|
|
2264
2350
|
function parseRuntimeProvider(value) {
|
|
2265
2351
|
if (!isRecord$8(value)) return null;
|
|
2266
2352
|
switch (value.provider) {
|
|
@@ -3295,28 +3381,6 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3295
3381
|
"resource:conflict",
|
|
3296
3382
|
"server:internal_error"
|
|
3297
3383
|
]
|
|
3298
|
-
},
|
|
3299
|
-
/**
|
|
3300
|
-
* The Content tab's one write: the short introduction, image and
|
|
3301
|
-
* description of an event's page, published without its layout.
|
|
3302
|
-
*/
|
|
3303
|
-
saveEventPageWords: {
|
|
3304
|
-
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
|
|
3305
|
-
method: "PUT",
|
|
3306
|
-
tags: [
|
|
3307
|
-
TAG_TEMPLATES.siteCollection,
|
|
3308
|
-
TAG_TEMPLATES.siteRoutableContent,
|
|
3309
|
-
TAG_TEMPLATES.pageSurfaceById
|
|
3310
|
-
],
|
|
3311
|
-
auth: "user",
|
|
3312
|
-
responseKind: "json",
|
|
3313
|
-
errors: [
|
|
3314
|
-
"auth:forbidden",
|
|
3315
|
-
"validation:invalid_input",
|
|
3316
|
-
"resource:not_found",
|
|
3317
|
-
"resource:conflict",
|
|
3318
|
-
"server:internal_error"
|
|
3319
|
-
]
|
|
3320
3384
|
}
|
|
3321
3385
|
});
|
|
3322
3386
|
//#endregion
|
|
@@ -3741,6 +3805,15 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3741
3805
|
auth: "user",
|
|
3742
3806
|
responseKind: "json"
|
|
3743
3807
|
},
|
|
3808
|
+
/** Continue on Free from the onboarding card page; only the attempt's owner. */
|
|
3809
|
+
continueOnboardingOnFree: {
|
|
3810
|
+
path: "/onboarding/attempts/{attemptToken}/plan/free",
|
|
3811
|
+
method: "POST",
|
|
3812
|
+
tags: ["billing"],
|
|
3813
|
+
auth: "user",
|
|
3814
|
+
errors: [],
|
|
3815
|
+
responseKind: "json"
|
|
3816
|
+
},
|
|
3744
3817
|
createBillingPortalSession: {
|
|
3745
3818
|
path: "/billing/portal/session",
|
|
3746
3819
|
method: "POST",
|
|
@@ -3750,6 +3823,209 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3750
3823
|
}
|
|
3751
3824
|
});
|
|
3752
3825
|
//#endregion
|
|
3826
|
+
//#region ../api/src/editLeaseEndpoints.ts
|
|
3827
|
+
const path = "/sites/{siteId}/edit-leases/{nodeType}/{nodeId}";
|
|
3828
|
+
const lifecycleErrors = [
|
|
3829
|
+
"auth:lease_required",
|
|
3830
|
+
"auth:forbidden",
|
|
3831
|
+
"resource:not_found",
|
|
3832
|
+
"validation:invalid_input",
|
|
3833
|
+
"server:internal_error"
|
|
3834
|
+
];
|
|
3835
|
+
const EDIT_LEASE_ENDPOINT_DEFINITIONS = {
|
|
3836
|
+
readEditLease: {
|
|
3837
|
+
path,
|
|
3838
|
+
method: "GET",
|
|
3839
|
+
editLease: "lifecycle",
|
|
3840
|
+
errors: lifecycleErrors,
|
|
3841
|
+
auth: "user",
|
|
3842
|
+
responseKind: "json"
|
|
3843
|
+
},
|
|
3844
|
+
acquireEditLease: {
|
|
3845
|
+
path,
|
|
3846
|
+
method: "POST",
|
|
3847
|
+
editLease: "lifecycle",
|
|
3848
|
+
errors: lifecycleErrors,
|
|
3849
|
+
auth: "user",
|
|
3850
|
+
responseKind: "json"
|
|
3851
|
+
},
|
|
3852
|
+
takeOverEditLease: {
|
|
3853
|
+
path,
|
|
3854
|
+
method: "PUT",
|
|
3855
|
+
editLease: "lifecycle",
|
|
3856
|
+
errors: lifecycleErrors,
|
|
3857
|
+
auth: "user",
|
|
3858
|
+
responseKind: "json"
|
|
3859
|
+
},
|
|
3860
|
+
heartbeatEditLease: {
|
|
3861
|
+
path,
|
|
3862
|
+
method: "PATCH",
|
|
3863
|
+
editLease: "lifecycle",
|
|
3864
|
+
errors: [...lifecycleErrors, "auth:lease_lost"],
|
|
3865
|
+
auth: "user",
|
|
3866
|
+
responseKind: "json"
|
|
3867
|
+
},
|
|
3868
|
+
releaseEditLease: {
|
|
3869
|
+
path,
|
|
3870
|
+
method: "DELETE",
|
|
3871
|
+
editLease: "lifecycle",
|
|
3872
|
+
errors: lifecycleErrors,
|
|
3873
|
+
auth: "user",
|
|
3874
|
+
responseKind: "json"
|
|
3875
|
+
}
|
|
3876
|
+
};
|
|
3877
|
+
//#endregion
|
|
3878
|
+
//#region ../api/src/pageSurfaceEditorEndpoints.ts
|
|
3879
|
+
const surfaceTags = [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById];
|
|
3880
|
+
const PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS = {
|
|
3881
|
+
getPageSurfaceEditorDocument: {
|
|
3882
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
|
|
3883
|
+
method: "GET",
|
|
3884
|
+
errors: [
|
|
3885
|
+
"auth:forbidden",
|
|
3886
|
+
"validation:invalid_input",
|
|
3887
|
+
"resource:not_found",
|
|
3888
|
+
"resource:conflict",
|
|
3889
|
+
"server:internal_error"
|
|
3890
|
+
],
|
|
3891
|
+
tags: surfaceTags,
|
|
3892
|
+
auth: "user",
|
|
3893
|
+
responseKind: "json"
|
|
3894
|
+
},
|
|
3895
|
+
updatePageSurfaceDraftContent: {
|
|
3896
|
+
editLease: "managed",
|
|
3897
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
|
|
3898
|
+
method: "PUT",
|
|
3899
|
+
errors: [
|
|
3900
|
+
"validation:invalid_input",
|
|
3901
|
+
"resource:not_found",
|
|
3902
|
+
"resource:conflict",
|
|
3903
|
+
"server:internal_error"
|
|
3904
|
+
],
|
|
3905
|
+
tags: surfaceTags,
|
|
3906
|
+
auth: "user",
|
|
3907
|
+
responseKind: "json"
|
|
3908
|
+
},
|
|
3909
|
+
discardPageSurfaceDraftContent: {
|
|
3910
|
+
editLease: "managed",
|
|
3911
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content/draft",
|
|
3912
|
+
method: "DELETE",
|
|
3913
|
+
errors: [
|
|
3914
|
+
"validation:invalid_input",
|
|
3915
|
+
"resource:not_found",
|
|
3916
|
+
"resource:conflict",
|
|
3917
|
+
"server:internal_error"
|
|
3918
|
+
],
|
|
3919
|
+
tags: surfaceTags,
|
|
3920
|
+
auth: "user",
|
|
3921
|
+
responseKind: "json"
|
|
3922
|
+
},
|
|
3923
|
+
updatePageSurfaceRouteMetadata: {
|
|
3924
|
+
editLease: "managed",
|
|
3925
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/metadata",
|
|
3926
|
+
method: "PATCH",
|
|
3927
|
+
errors: [
|
|
3928
|
+
"validation:invalid_input",
|
|
3929
|
+
"resource:not_found",
|
|
3930
|
+
"resource:conflict",
|
|
3931
|
+
"server:internal_error"
|
|
3932
|
+
],
|
|
3933
|
+
tags: [
|
|
3934
|
+
TAG_TEMPLATES.siteCollection,
|
|
3935
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
3936
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
3937
|
+
],
|
|
3938
|
+
auth: "user",
|
|
3939
|
+
responseKind: "json"
|
|
3940
|
+
},
|
|
3941
|
+
publishPageSurface: {
|
|
3942
|
+
editLease: "managed",
|
|
3943
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/publication",
|
|
3944
|
+
method: "POST",
|
|
3945
|
+
errors: [
|
|
3946
|
+
"auth:forbidden",
|
|
3947
|
+
"validation:invalid_input",
|
|
3948
|
+
"resource:not_found",
|
|
3949
|
+
"resource:conflict",
|
|
3950
|
+
"server:internal_error"
|
|
3951
|
+
],
|
|
3952
|
+
tags: [
|
|
3953
|
+
TAG_TEMPLATES.siteCollection,
|
|
3954
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
3955
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
3956
|
+
],
|
|
3957
|
+
auth: "user",
|
|
3958
|
+
responseKind: "json"
|
|
3959
|
+
},
|
|
3960
|
+
saveEventContentTab: {
|
|
3961
|
+
editLease: "managed",
|
|
3962
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/event-content",
|
|
3963
|
+
method: "PUT",
|
|
3964
|
+
errors: [
|
|
3965
|
+
"auth:forbidden",
|
|
3966
|
+
"validation:invalid_input",
|
|
3967
|
+
"resource:not_found",
|
|
3968
|
+
"resource:conflict",
|
|
3969
|
+
"server:internal_error"
|
|
3970
|
+
],
|
|
3971
|
+
tags: [
|
|
3972
|
+
TAG_TEMPLATES.siteCollection,
|
|
3973
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
3974
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
3975
|
+
],
|
|
3976
|
+
auth: "user",
|
|
3977
|
+
responseKind: "json"
|
|
3978
|
+
}
|
|
3979
|
+
};
|
|
3980
|
+
//#endregion
|
|
3981
|
+
//#region ../api/src/bookingPeopleEndpointDefinitions.ts
|
|
3982
|
+
/**
|
|
3983
|
+
* People endpoints (#1356): the People list, its CSV export, and deleting a
|
|
3984
|
+
* person when nothing is attached to them.
|
|
3985
|
+
*/
|
|
3986
|
+
const BOOKING_PEOPLE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
3987
|
+
listPeople: {
|
|
3988
|
+
path: "/sites/{siteId}/bookings/people",
|
|
3989
|
+
method: "GET",
|
|
3990
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
3991
|
+
auth: "user",
|
|
3992
|
+
responseKind: "json",
|
|
3993
|
+
errors: ["server:internal_error"]
|
|
3994
|
+
},
|
|
3995
|
+
exportPeopleCsv: {
|
|
3996
|
+
path: "/sites/{siteId}/bookings/people/export.csv",
|
|
3997
|
+
method: "GET",
|
|
3998
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
3999
|
+
auth: "user",
|
|
4000
|
+
errors: [],
|
|
4001
|
+
responseKind: "blob"
|
|
4002
|
+
},
|
|
4003
|
+
checkPersonDeletion: {
|
|
4004
|
+
path: "/sites/{siteId}/bookings/people/{personId}/deletion-check",
|
|
4005
|
+
method: "GET",
|
|
4006
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
4007
|
+
auth: "user",
|
|
4008
|
+
responseKind: "json",
|
|
4009
|
+
errors: [
|
|
4010
|
+
"auth:forbidden",
|
|
4011
|
+
"resource:not_found",
|
|
4012
|
+
"server:internal_error"
|
|
4013
|
+
]
|
|
4014
|
+
},
|
|
4015
|
+
deletePerson: {
|
|
4016
|
+
path: "/sites/{siteId}/bookings/people/{personId}",
|
|
4017
|
+
method: "DELETE",
|
|
4018
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
4019
|
+
auth: "user",
|
|
4020
|
+
responseKind: "json",
|
|
4021
|
+
errors: [
|
|
4022
|
+
"auth:forbidden",
|
|
4023
|
+
"resource:not_found",
|
|
4024
|
+
"server:internal_error"
|
|
4025
|
+
]
|
|
4026
|
+
}
|
|
4027
|
+
});
|
|
4028
|
+
//#endregion
|
|
3753
4029
|
//#region ../api/src/clientErrorReporting.ts
|
|
3754
4030
|
const CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
|
|
3755
4031
|
path: "/client/error-report",
|
|
@@ -3785,6 +4061,7 @@ z.object({
|
|
|
3785
4061
|
sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
|
|
3786
4062
|
}).strict();
|
|
3787
4063
|
({
|
|
4064
|
+
...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
|
|
3788
4065
|
...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
|
|
3789
4066
|
...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
3790
4067
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
@@ -3793,12 +4070,14 @@ z.object({
|
|
|
3793
4070
|
...GIFTING_ENDPOINT_DEFINITIONS,
|
|
3794
4071
|
...PUBLIC_READ_ENDPOINT_DEFINITIONS,
|
|
3795
4072
|
...BILLING_ENDPOINT_DEFINITIONS,
|
|
4073
|
+
...EDIT_LEASE_ENDPOINT_DEFINITIONS,
|
|
4074
|
+
...PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS,
|
|
3796
4075
|
...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS
|
|
3797
4076
|
}), 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, {
|
|
3798
4077
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
3799
4078
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
3800
4079
|
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
3801
|
-
}, 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.
|
|
4080
|
+
}, 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 };
|
|
3802
4081
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
3803
4082
|
z.object({
|
|
3804
4083
|
accessToken: z.string().min(1).max(4096),
|
|
@@ -6299,13 +6578,16 @@ const SURFACE_FOREGROUND_CSS_VARS = {
|
|
|
6299
6578
|
text: "--rb-surface-text-color",
|
|
6300
6579
|
heading: "--rb-surface-heading-color",
|
|
6301
6580
|
link: "--rb-surface-link-color",
|
|
6581
|
+
linkHover: "--rb-surface-link-hover-color",
|
|
6302
6582
|
supporting: "--rb-surface-supporting-color"
|
|
6303
6583
|
};
|
|
6304
6584
|
const DEFAULT_SURFACE_TEXT_COLOR = "rgb(var(--tb-text, 17 24 39))";
|
|
6585
|
+
const DEFAULT_SURFACE_LINK_COLOR = "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))";
|
|
6305
6586
|
const DEFAULT_ROLE_FALLBACKS = {
|
|
6306
6587
|
text: DEFAULT_SURFACE_TEXT_COLOR,
|
|
6307
6588
|
heading: DEFAULT_SURFACE_TEXT_COLOR,
|
|
6308
|
-
link:
|
|
6589
|
+
link: DEFAULT_SURFACE_LINK_COLOR,
|
|
6590
|
+
linkHover: DEFAULT_SURFACE_LINK_COLOR,
|
|
6309
6591
|
supporting: "rgb(var(--tb-mutedText, 100 116 139))"
|
|
6310
6592
|
};
|
|
6311
6593
|
function requireSurfaceColorValue(role, value) {
|
|
@@ -6315,10 +6597,12 @@ function requireSurfaceColorValue(role, value) {
|
|
|
6315
6597
|
}
|
|
6316
6598
|
function completeSurfaceForegrounds(input) {
|
|
6317
6599
|
const text = requireSurfaceColorValue("text", input.text);
|
|
6600
|
+
const link = input.link === void 0 ? text : requireSurfaceColorValue("link", input.link);
|
|
6318
6601
|
return {
|
|
6319
6602
|
text,
|
|
6320
6603
|
heading: input.heading === void 0 ? text : requireSurfaceColorValue("heading", input.heading),
|
|
6321
|
-
link
|
|
6604
|
+
link,
|
|
6605
|
+
linkHover: input.linkHover === void 0 ? link : requireSurfaceColorValue("linkHover", input.linkHover),
|
|
6322
6606
|
supporting: input.supporting === void 0 ? text : requireSurfaceColorValue("supporting", input.supporting)
|
|
6323
6607
|
};
|
|
6324
6608
|
}
|
|
@@ -6326,6 +6610,7 @@ function surfaceForegroundValue(role, outsideProviderFallback = DEFAULT_ROLE_FAL
|
|
|
6326
6610
|
const roleVariable = SURFACE_FOREGROUND_CSS_VARS[role];
|
|
6327
6611
|
const fallback = requireSurfaceColorValue("fallback", outsideProviderFallback);
|
|
6328
6612
|
if (role === "text") return `var(${roleVariable}, ${fallback})`;
|
|
6613
|
+
if (role === "linkHover") return `var(${roleVariable}, ${surfaceForegroundValue("link", fallback)})`;
|
|
6329
6614
|
return `var(${roleVariable}, var(${SURFACE_FOREGROUND_CSS_VARS.text}, ${fallback}))`;
|
|
6330
6615
|
}
|
|
6331
6616
|
function surfaceForegroundValueWithOpacity(role, opacityPercent) {
|
|
@@ -6339,9 +6624,25 @@ function surfaceForegroundStyle(input) {
|
|
|
6339
6624
|
[SURFACE_FOREGROUND_CSS_VARS.text]: foregrounds.text,
|
|
6340
6625
|
[SURFACE_FOREGROUND_CSS_VARS.heading]: foregrounds.heading,
|
|
6341
6626
|
[SURFACE_FOREGROUND_CSS_VARS.link]: foregrounds.link,
|
|
6342
|
-
[SURFACE_FOREGROUND_CSS_VARS.
|
|
6627
|
+
[SURFACE_FOREGROUND_CSS_VARS.linkHover]: foregrounds.linkHover,
|
|
6628
|
+
[SURFACE_FOREGROUND_CSS_VARS.supporting]: foregrounds.supporting,
|
|
6629
|
+
"--rb-surface-link-hover-decoration": hoverDecoration(input)
|
|
6343
6630
|
};
|
|
6344
6631
|
}
|
|
6632
|
+
function surfaceForegroundInputFromResolved(foreground, color) {
|
|
6633
|
+
const { roles } = foreground;
|
|
6634
|
+
return {
|
|
6635
|
+
text: color(roles.text),
|
|
6636
|
+
heading: color(roles.heading),
|
|
6637
|
+
link: color(roles.link),
|
|
6638
|
+
linkHover: color(roles.linkHover),
|
|
6639
|
+
supporting: color(roles.supporting),
|
|
6640
|
+
hoverDecoration: foreground.hoverDecoration
|
|
6641
|
+
};
|
|
6642
|
+
}
|
|
6643
|
+
function hoverDecoration(input) {
|
|
6644
|
+
return input.hoverDecoration ?? "underline";
|
|
6645
|
+
}
|
|
6345
6646
|
//#endregion
|
|
6346
6647
|
//#region ../theme-core/src/buttons/constants.ts
|
|
6347
6648
|
/**
|
|
@@ -7096,6 +7397,64 @@ function parseAlpha(source) {
|
|
|
7096
7397
|
function isRgbChannel(value) {
|
|
7097
7398
|
return Number.isFinite(value) && value >= 0 && value <= 255;
|
|
7098
7399
|
}
|
|
7400
|
+
/**
|
|
7401
|
+
* Derive the hover foreground that belongs with a resolved resting foreground.
|
|
7402
|
+
*
|
|
7403
|
+
* A resting foreground is chosen to be legible against a known surface. A hover
|
|
7404
|
+
* state derived from it stays within a bounded distance of that colour, so it
|
|
7405
|
+
* inherits most of the resting colour's contrast margin instead of asserting
|
|
7406
|
+
* an unrelated brand colour that no one checked against the surface.
|
|
7407
|
+
*
|
|
7408
|
+
* That bounded-distance property is what lets this be used on a transparent
|
|
7409
|
+
* overlay header, where the backdrop is only partly knowable: the scrolled
|
|
7410
|
+
* state composites a 60% glass tint over arbitrary page content, so no
|
|
7411
|
+
* compile-time contrast proof is available there. Staying near a colour that
|
|
7412
|
+
* is already trusted in both states is a weaker claim than a contrast proof,
|
|
7413
|
+
* and it is one this function can actually keep.
|
|
7414
|
+
*
|
|
7415
|
+
* Returns `null` when the resting token is not a plain palette token — an
|
|
7416
|
+
* already-faded or raw value has no well-defined softening, and the caller
|
|
7417
|
+
* should leave hover alone rather than guess.
|
|
7418
|
+
*/
|
|
7419
|
+
function deriveForegroundHoverToken(restingToken) {
|
|
7420
|
+
const parts = parseColorTokenParts(restingToken);
|
|
7421
|
+
if (parts.kind !== "token") return null;
|
|
7422
|
+
if (parts.opacityPercent !== null) return null;
|
|
7423
|
+
return parseThemeColorToken(`${parts.token}/85`);
|
|
7424
|
+
}
|
|
7425
|
+
/**
|
|
7426
|
+
* Prefer an authored hover that survives every measured backdrop, then a
|
|
7427
|
+
* checked softening of the resting colour. A null backdrop set represents a
|
|
7428
|
+
* trusted treatment: only an explicit authored hover may change the colour.
|
|
7429
|
+
* When neither option works, retain the resting colour and underline it.
|
|
7430
|
+
*/
|
|
7431
|
+
function planForegroundHover(input) {
|
|
7432
|
+
const { restingToken, candidate, palette, backdrops } = input;
|
|
7433
|
+
if (candidate && candidate !== restingToken) {
|
|
7434
|
+
if (backdrops === null || survivesEveryBackdrop(candidate, palette, backdrops)) return {
|
|
7435
|
+
kind: "candidate",
|
|
7436
|
+
token: candidate,
|
|
7437
|
+
decoration: "initial"
|
|
7438
|
+
};
|
|
7439
|
+
}
|
|
7440
|
+
const softened = deriveForegroundHoverToken(restingToken);
|
|
7441
|
+
if (softened && backdrops && survivesEveryBackdrop(softened, palette, backdrops)) return {
|
|
7442
|
+
kind: "softened",
|
|
7443
|
+
token: softened,
|
|
7444
|
+
decoration: "initial"
|
|
7445
|
+
};
|
|
7446
|
+
return {
|
|
7447
|
+
kind: "resting",
|
|
7448
|
+
token: restingToken,
|
|
7449
|
+
decoration: "underline"
|
|
7450
|
+
};
|
|
7451
|
+
}
|
|
7452
|
+
function survivesEveryBackdrop(token, palette, backdrops) {
|
|
7453
|
+
return backdrops.length > 0 && backdrops.every((backdrop) => {
|
|
7454
|
+
const foreground = resolveOpaqueSurfaceHex(token, palette, backdrop);
|
|
7455
|
+
return foreground !== null && contrastRatio(foreground, backdrop) >= 4.5;
|
|
7456
|
+
});
|
|
7457
|
+
}
|
|
7099
7458
|
//#endregion
|
|
7100
7459
|
//#region ../theme-core/src/surfaces/resolveSurfaceForeground.ts
|
|
7101
7460
|
const FALLBACK_TEXT_TOKENS = [
|
|
@@ -7142,12 +7501,16 @@ function resolveSurfaceForeground(background, palette, candidates = {}, options
|
|
|
7142
7501
|
}
|
|
7143
7502
|
function foregroundCandidates(background, overrides) {
|
|
7144
7503
|
return {
|
|
7145
|
-
text: overrides.text
|
|
7146
|
-
heading: overrides.heading
|
|
7147
|
-
link: overrides.link
|
|
7148
|
-
|
|
7504
|
+
text: candidateOrBackground(overrides.text, background?.textColor),
|
|
7505
|
+
heading: candidateOrBackground(overrides.heading, background?.headingColor),
|
|
7506
|
+
link: candidateOrBackground(overrides.link, background?.linkColor),
|
|
7507
|
+
linkHover: candidateOrBackground(overrides.linkHover),
|
|
7508
|
+
supporting: candidateOrBackground(overrides.supporting, background?.supportingColor)
|
|
7149
7509
|
};
|
|
7150
7510
|
}
|
|
7511
|
+
function candidateOrBackground(candidate, backgroundValue) {
|
|
7512
|
+
return candidate ?? backgroundValue ?? null;
|
|
7513
|
+
}
|
|
7151
7514
|
function resolveDeterministicForeground(backgroundReference, candidates, palette, compositeBase) {
|
|
7152
7515
|
const backgroundHex = resolveOpaqueSurfaceHex(backgroundReference, palette, compositeBase);
|
|
7153
7516
|
if (!backgroundHex) return resolveTrustedTreatmentForeground(candidates, palette);
|
|
@@ -7159,29 +7522,51 @@ function resolveDeterministicForeground(backgroundReference, candidates, palette
|
|
|
7159
7522
|
...FALLBACK_TEXT_TOKENS
|
|
7160
7523
|
], backgroundHex, palette, derivedOnToken ? [derivedOnToken] : []);
|
|
7161
7524
|
if (!text) return { kind: "unknown" };
|
|
7162
|
-
return {
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
|
|
7166
|
-
|
|
7167
|
-
|
|
7168
|
-
|
|
7169
|
-
|
|
7170
|
-
};
|
|
7525
|
+
return knownForeground({
|
|
7526
|
+
text,
|
|
7527
|
+
heading: safeTokenOr(candidates.heading, text, backgroundHex, palette),
|
|
7528
|
+
link: safeTokenOr(candidates.link, text, backgroundHex, palette),
|
|
7529
|
+
supporting: safeTokenOr(candidates.supporting, text, backgroundHex, palette)
|
|
7530
|
+
}, {
|
|
7531
|
+
kind: "measured",
|
|
7532
|
+
backdropHex: backgroundHex
|
|
7533
|
+
}, candidates.linkHover, palette);
|
|
7171
7534
|
}
|
|
7172
7535
|
function resolveTrustedTreatmentForeground(candidates, palette) {
|
|
7173
7536
|
const text = canonicalToken(candidates.text, palette);
|
|
7174
7537
|
if (!text) return { kind: "unknown" };
|
|
7538
|
+
return knownForeground({
|
|
7539
|
+
text,
|
|
7540
|
+
heading: canonicalToken(candidates.heading, palette) ?? text,
|
|
7541
|
+
link: canonicalToken(candidates.link, palette) ?? text,
|
|
7542
|
+
supporting: canonicalToken(candidates.supporting, palette) ?? text
|
|
7543
|
+
}, { kind: "trusted-treatment" }, candidates.linkHover, palette);
|
|
7544
|
+
}
|
|
7545
|
+
function knownForeground(roles, provenance, hoverCandidate, palette) {
|
|
7546
|
+
const hover = planForegroundHover({
|
|
7547
|
+
restingToken: roles.link,
|
|
7548
|
+
candidate: canonicalHoverToken(hoverCandidate, palette),
|
|
7549
|
+
palette,
|
|
7550
|
+
backdrops: provenance.kind === "measured" ? [provenance.backdropHex] : null
|
|
7551
|
+
});
|
|
7175
7552
|
return {
|
|
7176
7553
|
kind: "known",
|
|
7554
|
+
provenance,
|
|
7177
7555
|
roles: {
|
|
7178
|
-
|
|
7179
|
-
|
|
7180
|
-
|
|
7181
|
-
|
|
7182
|
-
}
|
|
7556
|
+
...roles,
|
|
7557
|
+
linkHover: hover.token
|
|
7558
|
+
},
|
|
7559
|
+
hoverDecoration: hover.decoration
|
|
7183
7560
|
};
|
|
7184
7561
|
}
|
|
7562
|
+
function canonicalHoverToken(reference, palette) {
|
|
7563
|
+
const token = parseThemeColorToken(reference);
|
|
7564
|
+
if (token) {
|
|
7565
|
+
const parts = parseColorTokenParts(token);
|
|
7566
|
+
if (parts.kind === "token" && resolveConcreteColorHex(parts.token, palette)) return token;
|
|
7567
|
+
}
|
|
7568
|
+
return canonicalToken(reference, palette);
|
|
7569
|
+
}
|
|
7185
7570
|
function safeTokenOr(candidate, fallback, backgroundHex, palette) {
|
|
7186
7571
|
return firstSafeToken([candidate], backgroundHex, palette) ?? fallback;
|
|
7187
7572
|
}
|
|
@@ -10121,6 +10506,43 @@ const effectCompositionSchema = z.object({
|
|
|
10121
10506
|
/** Effects applied on focus */
|
|
10122
10507
|
focus: z.array(effectApplicationSchema).optional()
|
|
10123
10508
|
});
|
|
10509
|
+
const policiesById = {
|
|
10510
|
+
"darken-background": "other",
|
|
10511
|
+
"lighten-background": "other",
|
|
10512
|
+
"fade-background": "other",
|
|
10513
|
+
"opacity-reduce": "other",
|
|
10514
|
+
"animated-gradient": "other",
|
|
10515
|
+
"background-on-hover": "paired-hover",
|
|
10516
|
+
"background-on-hover-alpha": "paired-hover",
|
|
10517
|
+
"border-glow": "other",
|
|
10518
|
+
"drop-shadow": "other",
|
|
10519
|
+
"inner-shadow": "other",
|
|
10520
|
+
"neumorphic-shadow": "other",
|
|
10521
|
+
"outer-glow": "other",
|
|
10522
|
+
"retro-3d-shadow": "other",
|
|
10523
|
+
"scale-up": "other",
|
|
10524
|
+
"scale-down": "other",
|
|
10525
|
+
lift: "other",
|
|
10526
|
+
"press-down": "other",
|
|
10527
|
+
pop: "other",
|
|
10528
|
+
"aurora-glow": "other",
|
|
10529
|
+
"cosmic-stardust": "other",
|
|
10530
|
+
"gradient-border-fill": "other",
|
|
10531
|
+
"animated-gradient-border-fill": "other",
|
|
10532
|
+
"border-bottom-grow": "other",
|
|
10533
|
+
"gradient-text": "other",
|
|
10534
|
+
"text-color-change": "text-colour",
|
|
10535
|
+
"border-color-change": "other",
|
|
10536
|
+
"sketchy-border": "other",
|
|
10537
|
+
"pulse-animation": "other",
|
|
10538
|
+
"nav-underline": "underline",
|
|
10539
|
+
"nav-frosted-base": "other",
|
|
10540
|
+
"nav-frosted-hover": "other",
|
|
10541
|
+
"nav-frosted-active": "other"
|
|
10542
|
+
};
|
|
10543
|
+
function navEffectPolicy(effectId) {
|
|
10544
|
+
return policiesById[effectId] ?? null;
|
|
10545
|
+
}
|
|
10124
10546
|
//#endregion
|
|
10125
10547
|
//#region ../theme-core/src/navigation/types.ts
|
|
10126
10548
|
/**
|
|
@@ -10209,6 +10631,16 @@ const navLinkStyleSchema = z.object({
|
|
|
10209
10631
|
/** Composable effects */
|
|
10210
10632
|
effects: effectCompositionSchema.optional()
|
|
10211
10633
|
});
|
|
10634
|
+
function navLinkHoverColorCandidate(style) {
|
|
10635
|
+
const effect = style?.effects?.hover?.find((item) => navEffectPolicy(item.effectId) === "text-colour");
|
|
10636
|
+
return parseThemeColorToken(effect?.options?.hoverColorToken ?? style?.hoverColorToken);
|
|
10637
|
+
}
|
|
10638
|
+
function navLinkOwnsHoverForeground(style) {
|
|
10639
|
+
return style?.effects?.hover?.some((effect) => navEffectPolicy(effect.effectId) === "paired-hover") ?? false;
|
|
10640
|
+
}
|
|
10641
|
+
function navLinkOwnsUnderline(style) {
|
|
10642
|
+
return style?.effects?.hover?.some((effect) => navEffectPolicy(effect.effectId) === "underline") ?? false;
|
|
10643
|
+
}
|
|
10212
10644
|
//#endregion
|
|
10213
10645
|
//#region ../theme-core/src/customCss/validation.ts
|
|
10214
10646
|
/**
|
|
@@ -16397,6 +16829,14 @@ const blockDesignFallback = {
|
|
|
16397
16829
|
};
|
|
16398
16830
|
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
16399
16831
|
//#endregion
|
|
16832
|
+
//#region ../theme-core/src/header/rootPaint.ts
|
|
16833
|
+
/** The nav container takes precedence when a floating header also has one. */
|
|
16834
|
+
function headerRootPaint(header) {
|
|
16835
|
+
const navContainerType = header?.navContainer?.type ?? "none";
|
|
16836
|
+
if (navContainerType === "glass" || navContainerType === "pill") return "contained-nav";
|
|
16837
|
+
return header?.variant === "floating" ? "overlay" : "own-surface";
|
|
16838
|
+
}
|
|
16839
|
+
//#endregion
|
|
16400
16840
|
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
16401
16841
|
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
16402
16842
|
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
@@ -16576,6 +17016,259 @@ z.object(headerPreferencesShape).omit({
|
|
|
16576
17016
|
structure: true
|
|
16577
17017
|
}).strict();
|
|
16578
17018
|
//#endregion
|
|
17019
|
+
//#region ../theme-core/src/navigation/presets.ts
|
|
17020
|
+
/**
|
|
17021
|
+
* Built-in nav link style presets
|
|
17022
|
+
*
|
|
17023
|
+
* Each preset uses composable effects to achieve its look.
|
|
17024
|
+
*/
|
|
17025
|
+
const NAV_LINK_PRESETS = {
|
|
17026
|
+
/**
|
|
17027
|
+
* Minimal - subtle color change on hover
|
|
17028
|
+
*/
|
|
17029
|
+
minimal: {
|
|
17030
|
+
name: "Minimal",
|
|
17031
|
+
typography: "body",
|
|
17032
|
+
fontWeight: "medium",
|
|
17033
|
+
textTransform: "none",
|
|
17034
|
+
italic: false,
|
|
17035
|
+
colorToken: "text",
|
|
17036
|
+
hoverColorToken: "primary",
|
|
17037
|
+
padding: "none",
|
|
17038
|
+
borderRadius: "none",
|
|
17039
|
+
effects: { hover: [{
|
|
17040
|
+
effectId: "text-color-change",
|
|
17041
|
+
options: { hoverColorToken: "primary" }
|
|
17042
|
+
}] }
|
|
17043
|
+
},
|
|
17044
|
+
/**
|
|
17045
|
+
* Underline - static underline appears on hover
|
|
17046
|
+
*/
|
|
17047
|
+
underline: {
|
|
17048
|
+
name: "Underline",
|
|
17049
|
+
typography: "body",
|
|
17050
|
+
fontWeight: "medium",
|
|
17051
|
+
textTransform: "none",
|
|
17052
|
+
italic: false,
|
|
17053
|
+
colorToken: "text",
|
|
17054
|
+
padding: "none",
|
|
17055
|
+
borderRadius: "none",
|
|
17056
|
+
effects: { hover: [{
|
|
17057
|
+
effectId: "nav-underline",
|
|
17058
|
+
options: { style: "static" }
|
|
17059
|
+
}] }
|
|
17060
|
+
},
|
|
17061
|
+
/**
|
|
17062
|
+
* Underline Grow - animated underline grows from center on hover
|
|
17063
|
+
*/
|
|
17064
|
+
"underline-grow": {
|
|
17065
|
+
name: "Underline Grow",
|
|
17066
|
+
typography: "body",
|
|
17067
|
+
fontWeight: "medium",
|
|
17068
|
+
textTransform: "none",
|
|
17069
|
+
italic: false,
|
|
17070
|
+
colorToken: "text",
|
|
17071
|
+
padding: "none",
|
|
17072
|
+
borderRadius: "none",
|
|
17073
|
+
effects: { hover: [{
|
|
17074
|
+
effectId: "nav-underline",
|
|
17075
|
+
options: { style: "grow" }
|
|
17076
|
+
}] }
|
|
17077
|
+
},
|
|
17078
|
+
/**
|
|
17079
|
+
* Capsule - pill-shaped background on hover
|
|
17080
|
+
*/
|
|
17081
|
+
capsule: {
|
|
17082
|
+
name: "Capsule",
|
|
17083
|
+
typography: "body",
|
|
17084
|
+
fontWeight: "medium",
|
|
17085
|
+
textTransform: "none",
|
|
17086
|
+
italic: false,
|
|
17087
|
+
colorToken: "text",
|
|
17088
|
+
padding: "compact",
|
|
17089
|
+
borderRadius: "full",
|
|
17090
|
+
effects: {
|
|
17091
|
+
hover: [{
|
|
17092
|
+
effectId: "background-on-hover-alpha",
|
|
17093
|
+
options: {
|
|
17094
|
+
colorToken: "primary",
|
|
17095
|
+
opacity: 10
|
|
17096
|
+
}
|
|
17097
|
+
}],
|
|
17098
|
+
active: [{
|
|
17099
|
+
effectId: "background-on-hover-alpha",
|
|
17100
|
+
options: {
|
|
17101
|
+
colorToken: "primary",
|
|
17102
|
+
opacity: 15
|
|
17103
|
+
}
|
|
17104
|
+
}]
|
|
17105
|
+
}
|
|
17106
|
+
},
|
|
17107
|
+
/**
|
|
17108
|
+
* Solid - solid background color on hover
|
|
17109
|
+
*/
|
|
17110
|
+
solid: {
|
|
17111
|
+
name: "Solid",
|
|
17112
|
+
typography: "body",
|
|
17113
|
+
fontWeight: "medium",
|
|
17114
|
+
textTransform: "none",
|
|
17115
|
+
italic: false,
|
|
17116
|
+
colorToken: "text",
|
|
17117
|
+
padding: "compact",
|
|
17118
|
+
borderRadius: "none",
|
|
17119
|
+
effects: {
|
|
17120
|
+
hover: [{
|
|
17121
|
+
effectId: "background-on-hover",
|
|
17122
|
+
options: {
|
|
17123
|
+
colorToken: "primary",
|
|
17124
|
+
textColorToken: "primaryForeground"
|
|
17125
|
+
}
|
|
17126
|
+
}],
|
|
17127
|
+
active: [{
|
|
17128
|
+
effectId: "background-on-hover",
|
|
17129
|
+
options: {
|
|
17130
|
+
colorToken: "primary",
|
|
17131
|
+
textColorToken: "primaryForeground"
|
|
17132
|
+
}
|
|
17133
|
+
}]
|
|
17134
|
+
}
|
|
17135
|
+
},
|
|
17136
|
+
/**
|
|
17137
|
+
* Scale - gentle scale-up on hover
|
|
17138
|
+
*/
|
|
17139
|
+
scale: {
|
|
17140
|
+
name: "Scale",
|
|
17141
|
+
typography: "body",
|
|
17142
|
+
fontWeight: "medium",
|
|
17143
|
+
textTransform: "none",
|
|
17144
|
+
italic: false,
|
|
17145
|
+
colorToken: "text",
|
|
17146
|
+
padding: "none",
|
|
17147
|
+
borderRadius: "none",
|
|
17148
|
+
effects: { hover: [{
|
|
17149
|
+
effectId: "scale-up",
|
|
17150
|
+
options: { scale: 1.05 }
|
|
17151
|
+
}] }
|
|
17152
|
+
},
|
|
17153
|
+
/**
|
|
17154
|
+
* Frosted - semi-transparent glass-like background
|
|
17155
|
+
*/
|
|
17156
|
+
frosted: {
|
|
17157
|
+
name: "Frosted",
|
|
17158
|
+
typography: "body",
|
|
17159
|
+
fontWeight: "medium",
|
|
17160
|
+
textTransform: "none",
|
|
17161
|
+
italic: false,
|
|
17162
|
+
colorToken: "text",
|
|
17163
|
+
padding: "compact",
|
|
17164
|
+
borderRadius: "md",
|
|
17165
|
+
effects: {
|
|
17166
|
+
base: [{ effectId: "nav-frosted-base" }],
|
|
17167
|
+
hover: [{ effectId: "nav-frosted-hover" }],
|
|
17168
|
+
active: [{ effectId: "nav-frosted-active" }]
|
|
17169
|
+
}
|
|
17170
|
+
}
|
|
17171
|
+
};
|
|
17172
|
+
/**
|
|
17173
|
+
* Get a nav link style preset by ID
|
|
17174
|
+
*/
|
|
17175
|
+
function getNavLinkPreset(presetId) {
|
|
17176
|
+
return NAV_LINK_PRESETS[presetId];
|
|
17177
|
+
}
|
|
17178
|
+
Object.keys(NAV_LINK_PRESETS);
|
|
17179
|
+
//#endregion
|
|
17180
|
+
//#region ../theme-core/src/header/legacyNavLinkStyle.ts
|
|
17181
|
+
function buildLegacyHeaderNavLinkStyle(header, contrastTreatment, navTextSize) {
|
|
17182
|
+
const navStyle = header.navStyle ?? "minimal";
|
|
17183
|
+
const basePreset = getNavLinkPreset(navStyle);
|
|
17184
|
+
if (!basePreset) return null;
|
|
17185
|
+
const style = {
|
|
17186
|
+
...basePreset,
|
|
17187
|
+
fontWeight: header.navWeight ?? basePreset.fontWeight,
|
|
17188
|
+
colorToken: (header.navColor ?? header.textColor)?.trim() || basePreset.colorToken,
|
|
17189
|
+
...contrastTreatment ? { contrastTreatment } : {},
|
|
17190
|
+
...navTextSize ? { textSize: navTextSize } : {}
|
|
17191
|
+
};
|
|
17192
|
+
if (header.navWeight === "bold" && navStyle === "solid") style.textTransform = "uppercase";
|
|
17193
|
+
applyLegacyGlassTreatment(style, header, navStyle);
|
|
17194
|
+
return style;
|
|
17195
|
+
}
|
|
17196
|
+
function applyLegacyGlassTreatment(style, header, navStyle) {
|
|
17197
|
+
if (header.navContainer?.type !== "glass" || navStyle !== "minimal") return;
|
|
17198
|
+
style.borderRadius = "full";
|
|
17199
|
+
style.effects = {
|
|
17200
|
+
...style.effects,
|
|
17201
|
+
hover: glassStateEffects(10),
|
|
17202
|
+
active: glassStateEffects(18)
|
|
17203
|
+
};
|
|
17204
|
+
}
|
|
17205
|
+
function glassStateEffects(opacity) {
|
|
17206
|
+
return [{
|
|
17207
|
+
effectId: "background-on-hover-alpha",
|
|
17208
|
+
options: {
|
|
17209
|
+
colorToken: "neutral-50",
|
|
17210
|
+
opacity
|
|
17211
|
+
}
|
|
17212
|
+
}, {
|
|
17213
|
+
effectId: "text-color-change",
|
|
17214
|
+
options: { hoverColorToken: "neutral-50" }
|
|
17215
|
+
}];
|
|
17216
|
+
}
|
|
17217
|
+
//#endregion
|
|
17218
|
+
//#region ../theme-core/src/header/openingForegroundProjection.ts
|
|
17219
|
+
function readOpeningForegroundProjection(header) {
|
|
17220
|
+
return header?.__runtimeOpeningForeground ?? null;
|
|
17221
|
+
}
|
|
17222
|
+
//#endregion
|
|
17223
|
+
//#region ../theme-core/src/header/effectiveNavLinkStyle.ts
|
|
17224
|
+
function effectiveHeaderNavLinkStyle(header, contrastTreatment = null, navTextSize = null) {
|
|
17225
|
+
if (!header) return null;
|
|
17226
|
+
if (!header.navLinkStyle) return buildLegacyHeaderNavLinkStyle(header, contrastTreatment, navTextSize);
|
|
17227
|
+
return {
|
|
17228
|
+
...header.navLinkStyle,
|
|
17229
|
+
...contrastTreatment ? { contrastTreatment } : {},
|
|
17230
|
+
...navTextSize ? { textSize: navTextSize } : {}
|
|
17231
|
+
};
|
|
17232
|
+
}
|
|
17233
|
+
function headerForegroundCandidates(header) {
|
|
17234
|
+
if (!header) return {};
|
|
17235
|
+
const style = effectiveHeaderNavLinkStyle(header);
|
|
17236
|
+
return {
|
|
17237
|
+
text: header.textColor ?? header.background?.textColor,
|
|
17238
|
+
link: style?.colorToken ?? header.navColor ?? header.textColor,
|
|
17239
|
+
linkHover: navLinkHoverColorCandidate(style)
|
|
17240
|
+
};
|
|
17241
|
+
}
|
|
17242
|
+
function headerLeafTextColor(header) {
|
|
17243
|
+
if (!header) return "text";
|
|
17244
|
+
return header.textColor ?? header.navColor ?? header.background?.textColor ?? header.navLinkStyle?.colorToken ?? "text";
|
|
17245
|
+
}
|
|
17246
|
+
/** Transparent chrome must reset the whole contract on its own root. */
|
|
17247
|
+
function transparentHeaderForegroundInput(header, palette) {
|
|
17248
|
+
const projection = readOpeningForegroundProjection(header);
|
|
17249
|
+
if (projection?.kind === "known") return surfaceForegroundInputFromResolved(projection, rgbColorValue);
|
|
17250
|
+
return authoredTransparentHeaderForegroundInput(header, palette);
|
|
17251
|
+
}
|
|
17252
|
+
function authoredTransparentHeaderForegroundInput(header, palette) {
|
|
17253
|
+
const text = headerLeafTextColor(header);
|
|
17254
|
+
const style = effectiveHeaderNavLinkStyle(header);
|
|
17255
|
+
const link = style?.colorToken ?? text;
|
|
17256
|
+
const restingToken = parseThemeColorToken(link) ?? parseThemeColorToken("text");
|
|
17257
|
+
if (!restingToken) throw new Error("Built-in text colour token is invalid");
|
|
17258
|
+
const hover = planForegroundHover({
|
|
17259
|
+
restingToken,
|
|
17260
|
+
candidate: navLinkOwnsHoverForeground(style) ? null : navLinkHoverColorCandidate(style),
|
|
17261
|
+
palette,
|
|
17262
|
+
backdrops: null
|
|
17263
|
+
});
|
|
17264
|
+
return {
|
|
17265
|
+
text: rgbColorValue(text),
|
|
17266
|
+
link: rgbColorValue(link),
|
|
17267
|
+
linkHover: rgbColorValue(hover.token),
|
|
17268
|
+
hoverDecoration: navLinkOwnsUnderline(style) ? "initial" : hover.decoration
|
|
17269
|
+
};
|
|
17270
|
+
}
|
|
17271
|
+
//#endregion
|
|
16579
17272
|
//#region ../theme-core/src/site-styles/pageDesignAuthority.ts
|
|
16580
17273
|
const nonEmptyStringSchema = z.string().min(1);
|
|
16581
17274
|
const blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
|
|
@@ -16728,6 +17421,28 @@ z.object({
|
|
|
16728
17421
|
motion: z.enum(themeTokenRecipeOptions.motion)
|
|
16729
17422
|
});
|
|
16730
17423
|
//#endregion
|
|
17424
|
+
//#region ../theme-core/src/footer/effectiveNavLinkStyle.ts
|
|
17425
|
+
function effectiveFooterNavLinkStyle(footer) {
|
|
17426
|
+
if (!footer) return null;
|
|
17427
|
+
if (footer.navLinkStyle) return footer.navLinkStyle;
|
|
17428
|
+
const basePreset = getNavLinkPreset(footer.navStyle ?? "minimal");
|
|
17429
|
+
if (!basePreset) return null;
|
|
17430
|
+
return {
|
|
17431
|
+
...basePreset,
|
|
17432
|
+
fontWeight: footer.navWeight ?? basePreset.fontWeight,
|
|
17433
|
+
colorToken: footer.navColor?.trim() || basePreset.colorToken
|
|
17434
|
+
};
|
|
17435
|
+
}
|
|
17436
|
+
function footerForegroundCandidates(footer, proseHoverCandidate) {
|
|
17437
|
+
if (!footer) return {};
|
|
17438
|
+
const style = effectiveFooterNavLinkStyle(footer);
|
|
17439
|
+
return {
|
|
17440
|
+
text: footer.background?.textColor,
|
|
17441
|
+
link: style?.colorToken ?? footer.navColor ?? footer.background?.textColor,
|
|
17442
|
+
linkHover: navLinkOwnsHoverForeground(style) ? proseHoverCandidate : navLinkHoverColorCandidate(style)
|
|
17443
|
+
};
|
|
17444
|
+
}
|
|
17445
|
+
//#endregion
|
|
16731
17446
|
//#region ../theme-core/src/siteChromeOverlayClearance.ts
|
|
16732
17447
|
const SITE_CHROME_VISIBLE_HEADER_ATTR = "data-site-chrome-visible-header";
|
|
16733
17448
|
//#endregion
|
|
@@ -19701,33 +20416,28 @@ function resolveBackgroundColorValue(value, context) {
|
|
|
19701
20416
|
//#endregion
|
|
19702
20417
|
//#region ../blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.ts
|
|
19703
20418
|
const contextualButtonStylesCache = /* @__PURE__ */ new WeakMap();
|
|
19704
|
-
function resolveHeaderLeafTextColor(header) {
|
|
19705
|
-
return header?.textColor ?? header?.navColor ?? header?.background?.textColor ?? header?.navLinkStyle?.colorToken ?? "text";
|
|
19706
|
-
}
|
|
19707
20419
|
function resolveHeaderRootForeground(header, palette, isTransparent) {
|
|
19708
|
-
if (isTransparent) return { kind: "unknown" };
|
|
20420
|
+
if (isTransparent) return readOpeningForegroundProjection(header) ?? { kind: "unknown" };
|
|
19709
20421
|
const background = header?.background;
|
|
19710
20422
|
return resolveSurfaceForeground(background ?? {
|
|
19711
20423
|
type: "color",
|
|
19712
20424
|
color: "surface"
|
|
19713
|
-
}, palette,
|
|
19714
|
-
|
|
19715
|
-
|
|
19716
|
-
|
|
20425
|
+
}, palette, headerForegroundCandidates(header));
|
|
20426
|
+
}
|
|
20427
|
+
function resolveFooterRootForeground(footer, palette, proseHoverCandidate) {
|
|
20428
|
+
return resolveSurfaceForeground(footer?.background ?? {
|
|
20429
|
+
type: "color",
|
|
20430
|
+
color: "surface"
|
|
20431
|
+
}, palette, footerForegroundCandidates(footer, proseHoverCandidate), { compositeBase: "background" });
|
|
19717
20432
|
}
|
|
19718
20433
|
function resolveSurfaceForegroundStyles(value, context, options) {
|
|
19719
20434
|
const input = parseBackgroundContent(value);
|
|
19720
|
-
const foreground = input ? resolveSurfaceForeground(input, context.theme.palette, {}, { compositeBase: options?.fallbackToken }) : { kind: "unknown" };
|
|
20435
|
+
const foreground = input ? resolveSurfaceForeground(input, context.theme.palette, { linkHover: context.proseHoverCandidate }, { compositeBase: options?.fallbackToken }) : { kind: "unknown" };
|
|
19721
20436
|
const buttonStyles = resolveContextualButtonStyles(input, foreground, context, options);
|
|
19722
20437
|
if (foreground.kind === "unknown") return buttonStyles;
|
|
19723
20438
|
return {
|
|
19724
20439
|
...buttonStyles,
|
|
19725
|
-
...surfaceForegroundStyle(
|
|
19726
|
-
text: resolveBackgroundColorValue(foreground.roles.text, context),
|
|
19727
|
-
heading: resolveBackgroundColorValue(foreground.roles.heading, context),
|
|
19728
|
-
link: resolveBackgroundColorValue(foreground.roles.link, context),
|
|
19729
|
-
supporting: resolveBackgroundColorValue(foreground.roles.supporting, context)
|
|
19730
|
-
})
|
|
20440
|
+
...surfaceForegroundStyle(surfaceForegroundInputFromResolved(foreground, (token) => resolveBackgroundColorValue(token, context)))
|
|
19731
20441
|
};
|
|
19732
20442
|
}
|
|
19733
20443
|
function resolveContextualButtonStyles(background, foreground, context, options) {
|
|
@@ -25543,10 +26253,7 @@ function resolveBackgroundVisualStyles(backgroundColor, defaultToken = "surface"
|
|
|
25543
26253
|
};
|
|
25544
26254
|
}
|
|
25545
26255
|
function resolveHeaderVisualStyles(header) {
|
|
25546
|
-
|
|
25547
|
-
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
25548
|
-
const hasOverlayVariant = header?.variant === "floating";
|
|
25549
|
-
if (hasContainedNav || hasOverlayVariant) return {
|
|
26256
|
+
if (headerRootPaint(header) !== "own-surface") return {
|
|
25550
26257
|
backgroundToken: "transparent",
|
|
25551
26258
|
isTransparent: true
|
|
25552
26259
|
};
|
|
@@ -25557,23 +26264,7 @@ function resolveHeaderVisualStyles(header) {
|
|
|
25557
26264
|
}
|
|
25558
26265
|
function resolvedForegroundStyle(foreground) {
|
|
25559
26266
|
if (foreground.kind === "unknown") return void 0;
|
|
25560
|
-
|
|
25561
|
-
return surfaceForegroundStyle({
|
|
25562
|
-
text: rgbColorValue(roles.text),
|
|
25563
|
-
heading: rgbColorValue(roles.heading),
|
|
25564
|
-
link: rgbColorValue(roles.link),
|
|
25565
|
-
supporting: rgbColorValue(roles.supporting)
|
|
25566
|
-
});
|
|
25567
|
-
}
|
|
25568
|
-
function resolveFooterRootForeground(footer, palette) {
|
|
25569
|
-
const background = footer?.background;
|
|
25570
|
-
return resolveSurfaceForeground(background ?? {
|
|
25571
|
-
type: "color",
|
|
25572
|
-
color: "surface"
|
|
25573
|
-
}, palette, {
|
|
25574
|
-
text: background?.textColor,
|
|
25575
|
-
link: footer?.navLinkStyle?.colorToken ?? footer?.navColor ?? background?.textColor
|
|
25576
|
-
});
|
|
26267
|
+
return surfaceForegroundStyle(surfaceForegroundInputFromResolved(foreground, rgbColorValue));
|
|
25577
26268
|
}
|
|
25578
26269
|
function footerBottomBarBorderWidthStyle(width) {
|
|
25579
26270
|
if (!width) return void 0;
|
|
@@ -25600,8 +26291,7 @@ const headerRootClassTransform = {
|
|
|
25600
26291
|
const placement = planSiteChromePlacement(parseHeaderPositioning(content.positioning));
|
|
25601
26292
|
const header = asPartialObject(value);
|
|
25602
26293
|
const visuals = resolveHeaderVisualStyles(header);
|
|
25603
|
-
const
|
|
25604
|
-
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
26294
|
+
const hasContainedNav = headerRootPaint(header) === "contained-nav";
|
|
25605
26295
|
const backgroundClass = visuals.isTransparent || hasContainedNav ? "rb-bg-transparent" : null;
|
|
25606
26296
|
const classes = [config.base, backgroundClass];
|
|
25607
26297
|
if (!hasContainedNav) {
|
|
@@ -25644,7 +26334,7 @@ const headerRootStyleTransform = {
|
|
|
25644
26334
|
run: (value, _options, context) => {
|
|
25645
26335
|
const header = asPartialObject(value);
|
|
25646
26336
|
const visuals = resolveHeaderVisualStyles(header);
|
|
25647
|
-
return mergeStyles(resolvedForegroundStyle(resolveHeaderRootForeground(header, context.theme.palette, visuals.isTransparent)) ?? { color: rgbColorValue(
|
|
26337
|
+
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"));
|
|
25648
26338
|
}
|
|
25649
26339
|
};
|
|
25650
26340
|
const headerSectionBackgroundTransform = {
|
|
@@ -25652,9 +26342,7 @@ const headerSectionBackgroundTransform = {
|
|
|
25652
26342
|
kind: "string",
|
|
25653
26343
|
summary: "Resolve the inner site-header section background token",
|
|
25654
26344
|
run: (value) => {
|
|
25655
|
-
|
|
25656
|
-
const navContainerType = header?.navContainer?.type ?? "none";
|
|
25657
|
-
return header?.variant === "floating" || navContainerType === "glass" || navContainerType === "pill" ? "raw:transparent" : "background";
|
|
26345
|
+
return headerRootPaint(asPartialObject(value)) !== "own-surface" ? "raw:transparent" : "background";
|
|
25658
26346
|
}
|
|
25659
26347
|
};
|
|
25660
26348
|
const footerRootStyleTransform = {
|
|
@@ -25672,7 +26360,7 @@ const footerRootStyleTransform = {
|
|
|
25672
26360
|
styleParts.push(backgroundColorStyle(token));
|
|
25673
26361
|
}
|
|
25674
26362
|
}
|
|
25675
|
-
styleParts.push(resolvedForegroundStyle(resolveFooterRootForeground(footer, context.theme.palette)));
|
|
26363
|
+
styleParts.push(resolvedForegroundStyle(resolveFooterRootForeground(footer, context.theme.palette, context.proseHoverCandidate)));
|
|
25676
26364
|
styleParts.push(borderColorStyle("border"));
|
|
25677
26365
|
return mergeStyles(...styleParts);
|
|
25678
26366
|
}
|
|
@@ -25734,22 +26422,28 @@ const footerBottomBarStyleTransform = {
|
|
|
25734
26422
|
run: (value, _options, context) => {
|
|
25735
26423
|
const footer = asPartialObject(value);
|
|
25736
26424
|
const bottomBar = footer?.bottomBar;
|
|
25737
|
-
|
|
25738
|
-
const background = bottomBar?.background;
|
|
25739
|
-
if (background?.type === "color") styleParts.push(backgroundColorStyle(background.color ?? "surface"));
|
|
25740
|
-
styleParts.push(borderColorStyle(bottomBar?.borderTop?.colorToken ?? "border"), footerBottomBarBorderWidthStyle(bottomBar?.borderTop?.width));
|
|
25741
|
-
const foreground = resolveSurfaceForeground(background?.type === "color" ? background : {
|
|
25742
|
-
type: "color",
|
|
25743
|
-
color: "transparent"
|
|
25744
|
-
}, context.theme.palette, {
|
|
25745
|
-
text: bottomBar?.textColor,
|
|
25746
|
-
link: footer?.bottomTextLinkStyle?.colorToken ?? bottomBar?.textColor
|
|
25747
|
-
});
|
|
25748
|
-
if (background?.type === "color") styleParts.push(resolvedForegroundStyle(foreground));
|
|
25749
|
-
else if (bottomBar?.textColor) styleParts.push(textColorStyle(bottomBar.textColor));
|
|
25750
|
-
return mergeStyles(...styleParts);
|
|
26425
|
+
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));
|
|
25751
26426
|
}
|
|
25752
26427
|
};
|
|
26428
|
+
function footerBottomBarForegroundStyle(footer, palette) {
|
|
26429
|
+
if (!footer?.bottomBar) return void 0;
|
|
26430
|
+
const bar = footer.bottomBar;
|
|
26431
|
+
if (bar.background?.type !== "color") return backgroundlessBottomBarForegroundStyle(footer);
|
|
26432
|
+
return resolvedForegroundStyle(resolveSurfaceForeground(bar.background, palette, {
|
|
26433
|
+
text: bar.textColor,
|
|
26434
|
+
link: footer.bottomTextLinkStyle?.colorToken ?? bar.textColor,
|
|
26435
|
+
linkHover: footer.bottomTextLinkStyle?.hoverColorToken
|
|
26436
|
+
}, { compositeBase: measuredFooterBackdrop(footer, palette) }));
|
|
26437
|
+
}
|
|
26438
|
+
function backgroundlessBottomBarForegroundStyle(footer) {
|
|
26439
|
+
if (footer.background?.contentOwner === "site-chrome-editor") return;
|
|
26440
|
+
const textColor = footer.bottomBar?.textColor;
|
|
26441
|
+
return textColor ? textColorStyle(textColor) : void 0;
|
|
26442
|
+
}
|
|
26443
|
+
function measuredFooterBackdrop(footer, palette) {
|
|
26444
|
+
const foreground = resolveFooterRootForeground(footer, palette);
|
|
26445
|
+
return foreground.kind === "known" && foreground.provenance.kind === "measured" ? foreground.provenance.backdropHex : null;
|
|
26446
|
+
}
|
|
25753
26447
|
const footerSplitMainClassTransform = {
|
|
25754
26448
|
id: "layout.footerSplitMainClass",
|
|
25755
26449
|
kind: "string",
|
|
@@ -25845,7 +26539,7 @@ function chromeSurfaceTextToken(surface, theme, palette) {
|
|
|
25845
26539
|
case "header-root": {
|
|
25846
26540
|
const header = theme.header;
|
|
25847
26541
|
const foreground = resolveHeaderRootForeground(header, palette, resolveHeaderVisualStyles(header).isTransparent);
|
|
25848
|
-
return foreground.kind === "known" ? foreground.roles.text :
|
|
26542
|
+
return foreground.kind === "known" ? foreground.roles.text : headerLeafTextColor(header);
|
|
25849
26543
|
}
|
|
25850
26544
|
case "header-mobile-panel": return theme.header?.dropdownStyle?.textColor ?? "text";
|
|
25851
26545
|
case "footer-root": {
|
|
@@ -27926,13 +28620,19 @@ const bookingDescription = richText({}, bind("content.description"), when("conte
|
|
|
27926
28620
|
* that hydration never rewrites.
|
|
27927
28621
|
*/
|
|
27928
28622
|
const bookingWizard = bookingForm(withApiBindings({
|
|
28623
|
+
demoEmailSuppressed: { $bind: {
|
|
28624
|
+
from: "$root.demoEmailSuppressed",
|
|
28625
|
+
fallback: false
|
|
28626
|
+
} },
|
|
27929
28627
|
portalToken: { $bind: {
|
|
27930
28628
|
from: "$root.portalToken",
|
|
27931
28629
|
fallback: null
|
|
27932
28630
|
} },
|
|
27933
28631
|
formId: { $bind: { from: "content.formId" } },
|
|
27934
28632
|
form: { $bind: { from: "data.form" } },
|
|
27935
|
-
services: { $bind: { from: "data.services" } }
|
|
28633
|
+
services: { $bind: { from: "data.services" } },
|
|
28634
|
+
mailingList: { $bind: { from: "$root.mailingList" } },
|
|
28635
|
+
siteName: { $bind: { from: "$root.siteName" } }
|
|
27936
28636
|
}));
|
|
27937
28637
|
/** Both variants sit in the same section shell; only the inner layout differs. */
|
|
27938
28638
|
function bookingSection(children) {
|
|
@@ -28727,7 +29427,6 @@ const publicEventBaseSchema = z.object({
|
|
|
28727
29427
|
description: z.string().nullable(),
|
|
28728
29428
|
content: z.object({ body: RichTextDocSchema.nullable().optional() }).optional(),
|
|
28729
29429
|
presentation: z.object({
|
|
28730
|
-
cardTitleOverride: z.string().nullable().optional(),
|
|
28731
29430
|
summary: z.string().nullable().optional(),
|
|
28732
29431
|
image: mediaSchema.nullable().optional()
|
|
28733
29432
|
}).optional(),
|
|
@@ -28760,6 +29459,7 @@ const publicEventBaseSchema = z.object({
|
|
|
28760
29459
|
"archived"
|
|
28761
29460
|
]).optional(),
|
|
28762
29461
|
timeZone: z.string(),
|
|
29462
|
+
siteTimeZone: z.string().optional(),
|
|
28763
29463
|
pricing: publicEventPricingSchema,
|
|
28764
29464
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28765
29465
|
cancellationPolicy: z.object({ refunds: z.object({
|
|
@@ -29423,6 +30123,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
|
|
|
29423
30123
|
];
|
|
29424
30124
|
const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
|
|
29425
30125
|
const eventRegistrationHydrationSchemaShape = {
|
|
30126
|
+
demoEmailSuppressed: z.boolean().optional(),
|
|
29426
30127
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
29427
30128
|
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
29428
30129
|
maxTickets: z.string().optional(),
|
|
@@ -29434,7 +30135,13 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
29434
30135
|
spamProtectionEnabled: z.boolean().optional(),
|
|
29435
30136
|
supportEmail: z.string().optional(),
|
|
29436
30137
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
29437
|
-
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
30138
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional(),
|
|
30139
|
+
mailingList: z.unknown().transform((value) => {
|
|
30140
|
+
if (value === void 0) return void 0;
|
|
30141
|
+
const parsed = parseMailingListRuntimeContext(value);
|
|
30142
|
+
return parsed.ok ? parsed.value : void 0;
|
|
30143
|
+
}),
|
|
30144
|
+
siteName: z.string().optional()
|
|
29438
30145
|
};
|
|
29439
30146
|
const eventRegistrationEventSourceSchema = z.discriminatedUnion("kind", [z.object({
|
|
29440
30147
|
kind: z.literal("loaded"),
|
|
@@ -29597,6 +30304,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
29597
30304
|
...eventSource,
|
|
29598
30305
|
events: [...scopedSourceEvents]
|
|
29599
30306
|
} : eventSource,
|
|
30307
|
+
demoEmailSuppressed: source.demoEmailSuppressed,
|
|
29600
30308
|
maxTickets: source.maxTickets ?? void 0,
|
|
29601
30309
|
showVenue: source.showVenue,
|
|
29602
30310
|
showCapacity: source.showCapacity,
|
|
@@ -29606,7 +30314,9 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
29606
30314
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
29607
30315
|
supportEmail: source.supportEmail,
|
|
29608
30316
|
sitePasses: source.sitePasses ?? null,
|
|
29609
|
-
siteMemberships: source.siteMemberships ?? null
|
|
30317
|
+
siteMemberships: source.siteMemberships ?? null,
|
|
30318
|
+
mailingList: source.mailingList,
|
|
30319
|
+
siteName: source.siteName
|
|
29610
30320
|
}
|
|
29611
30321
|
};
|
|
29612
30322
|
}
|
|
@@ -29723,8 +30433,8 @@ const eventRegistrationBlockDefinition = {
|
|
|
29723
30433
|
description: "Message shown after successful registration",
|
|
29724
30434
|
required: false,
|
|
29725
30435
|
multiline: true,
|
|
29726
|
-
|
|
29727
|
-
|
|
30436
|
+
maxLength: 500,
|
|
30437
|
+
ui: { placeholder: "Thank you for registering! Check your email for confirmation details." }
|
|
29728
30438
|
},
|
|
29729
30439
|
{
|
|
29730
30440
|
id: "buttonText",
|
|
@@ -29745,6 +30455,10 @@ const eventRegistrationBlockDefinition = {
|
|
|
29745
30455
|
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
29746
30456
|
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
29747
30457
|
eventRegistration(withApiBindings({
|
|
30458
|
+
demoEmailSuppressed: { $bind: {
|
|
30459
|
+
from: "$root.demoEmailSuppressed",
|
|
30460
|
+
fallback: false
|
|
30461
|
+
} },
|
|
29748
30462
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
29749
30463
|
occurrenceContext: { $bind: { from: "$root.occurrenceContext" } },
|
|
29750
30464
|
subject: { $bind: { from: "$root.subject" } },
|
|
@@ -29774,6 +30488,8 @@ const eventRegistrationBlockDefinition = {
|
|
|
29774
30488
|
events: { $bind: { from: "data.events" } },
|
|
29775
30489
|
wholeSeriesRunEvents: { $bind: { from: "data.wholeSeriesRunEvents" } },
|
|
29776
30490
|
loaderFailures: { $bind: { from: "$root.loaderFailures" } },
|
|
30491
|
+
mailingList: { $bind: { from: "$root.mailingList" } },
|
|
30492
|
+
siteName: { $bind: { from: "$root.siteName" } },
|
|
29777
30493
|
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
29778
30494
|
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
29779
30495
|
stage: { $bind: {
|
|
@@ -34972,6 +35688,7 @@ const shopSourceSchema = z.object({
|
|
|
34972
35688
|
memberships: z.array(publicMembershipProductSchema).nullable().optional(),
|
|
34973
35689
|
products: z.array(publicProductSchema).nullable().optional(),
|
|
34974
35690
|
siteId: z.string().optional(),
|
|
35691
|
+
demoEmailSuppressed: z.boolean().optional(),
|
|
34975
35692
|
apiBaseUrl: z.string().optional(),
|
|
34976
35693
|
readAuthority: browserReadAuthoritySchema.optional(),
|
|
34977
35694
|
stage: previewStageSchema.optional()
|
|
@@ -35091,7 +35808,8 @@ const checkoutDisplaySchema = z.object({
|
|
|
35091
35808
|
const passesMembershipsHydrationSchema = z.object({
|
|
35092
35809
|
memberships: z.array(publicMembershipProductSchema),
|
|
35093
35810
|
passPurchaseMode: z.enum(["add_to_cart", "buy_now"]),
|
|
35094
|
-
buttonVariant: blockButtonRoleSchema
|
|
35811
|
+
buttonVariant: blockButtonRoleSchema,
|
|
35812
|
+
demoEmailSuppressed: z.boolean().optional()
|
|
35095
35813
|
});
|
|
35096
35814
|
const productListHydrationSchema = z.object({
|
|
35097
35815
|
products: z.array(publicProductSchema),
|
|
@@ -35113,7 +35831,8 @@ const cartHydrationSchema = z.object({
|
|
|
35113
35831
|
});
|
|
35114
35832
|
const checkoutHydrationSchema = z.object({
|
|
35115
35833
|
emptyStateText: z.string(),
|
|
35116
|
-
submitButtonText: z.string()
|
|
35834
|
+
submitButtonText: z.string(),
|
|
35835
|
+
demoEmailSuppressed: z.boolean().optional()
|
|
35117
35836
|
});
|
|
35118
35837
|
const passesMembershipsRenderSchema = z.object({
|
|
35119
35838
|
display: passesMembershipsDisplaySchema,
|
|
@@ -35172,7 +35891,8 @@ const shopBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
35172
35891
|
hydration: {
|
|
35173
35892
|
memberships: source.showMemberships === false ? [] : source.memberships ?? [],
|
|
35174
35893
|
passPurchaseMode,
|
|
35175
|
-
buttonVariant: source.buttonVariant ?? "primary"
|
|
35894
|
+
buttonVariant: source.buttonVariant ?? "primary",
|
|
35895
|
+
demoEmailSuppressed: source.demoEmailSuppressed
|
|
35176
35896
|
}
|
|
35177
35897
|
};
|
|
35178
35898
|
}
|
|
@@ -35265,7 +35985,8 @@ const checkoutBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
35265
35985
|
}),
|
|
35266
35986
|
hydration: {
|
|
35267
35987
|
emptyStateText: source.emptyStateText ?? "Add something to your cart to continue.",
|
|
35268
|
-
submitButtonText: source.submitButtonText ?? "Checkout"
|
|
35988
|
+
submitButtonText: source.submitButtonText ?? "Checkout",
|
|
35989
|
+
demoEmailSuppressed: source.demoEmailSuppressed
|
|
35269
35990
|
}
|
|
35270
35991
|
})
|
|
35271
35992
|
});
|
|
@@ -35483,6 +36204,10 @@ const shopBlockDefinition = {
|
|
|
35483
36204
|
spacing: "spacious",
|
|
35484
36205
|
children: sectionContainer([shop(withApiBindings({
|
|
35485
36206
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
36207
|
+
demoEmailSuppressed: { $bind: {
|
|
36208
|
+
from: "$root.demoEmailSuppressed",
|
|
36209
|
+
fallback: false
|
|
36210
|
+
} },
|
|
35486
36211
|
mode: "passes-memberships",
|
|
35487
36212
|
showPasses: { $bind: {
|
|
35488
36213
|
from: "content.showPasses",
|
|
@@ -36025,6 +36750,10 @@ const checkoutBlockDefinition = {
|
|
|
36025
36750
|
baseClass: "",
|
|
36026
36751
|
spacing: "spacious",
|
|
36027
36752
|
children: sectionContainer([checkout(withApiBindings({
|
|
36753
|
+
demoEmailSuppressed: { $bind: {
|
|
36754
|
+
from: "$root.demoEmailSuppressed",
|
|
36755
|
+
fallback: false
|
|
36756
|
+
} },
|
|
36028
36757
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
36029
36758
|
mode: "checkout",
|
|
36030
36759
|
heading: { $bind: {
|
|
@@ -36657,65 +37386,67 @@ const editorialSplitLayout = styledSection({
|
|
|
36657
37386
|
spacing: "comfortable",
|
|
36658
37387
|
background: "surface"
|
|
36659
37388
|
});
|
|
36660
|
-
const
|
|
36661
|
-
|
|
36662
|
-
|
|
36663
|
-
|
|
36664
|
-
|
|
36665
|
-
|
|
36666
|
-
|
|
36667
|
-
|
|
36668
|
-
|
|
36669
|
-
|
|
36670
|
-
|
|
36671
|
-
|
|
36672
|
-
|
|
36673
|
-
|
|
36674
|
-
|
|
36675
|
-
|
|
36676
|
-
|
|
36677
|
-
|
|
36678
|
-
|
|
36679
|
-
|
|
36680
|
-
|
|
36681
|
-
|
|
36682
|
-
|
|
36683
|
-
|
|
36684
|
-
|
|
36685
|
-
description: "Vertical layout with fields stacked"
|
|
36686
|
-
},
|
|
36687
|
-
inline: {
|
|
36688
|
-
label: "Inline",
|
|
36689
|
-
description: "Horizontal layout (email + button side by side)"
|
|
36690
|
-
},
|
|
36691
|
-
"editorial-split": {
|
|
36692
|
-
label: "Editorial split",
|
|
36693
|
-
description: "Copy and form in balanced side-by-side columns, stacked on mobile."
|
|
36694
|
-
}
|
|
36695
|
-
},
|
|
36696
|
-
styleTokens: {
|
|
36697
|
-
background: "surface",
|
|
36698
|
-
typography: "body",
|
|
36699
|
-
spacing: "md"
|
|
37389
|
+
const newsletterSignupManifest = createBlockManifest({
|
|
37390
|
+
id: "block.newsletter-signup",
|
|
37391
|
+
title: "Newsletter Signup",
|
|
37392
|
+
titleSource: "title",
|
|
37393
|
+
description: "Newsletter subscription form with configurable field presets.",
|
|
37394
|
+
category: "interactive",
|
|
37395
|
+
contentSource: { kind: "inline" },
|
|
37396
|
+
fragments: [{
|
|
37397
|
+
fragment: newsletterCopyFragment,
|
|
37398
|
+
fieldPriority: 0
|
|
37399
|
+
}, {
|
|
37400
|
+
fragment: newsletterFormFragment,
|
|
37401
|
+
fieldPriority: 1
|
|
37402
|
+
}],
|
|
37403
|
+
layout: stackedLayout,
|
|
37404
|
+
variants: {
|
|
37405
|
+
stacked: stackedLayout,
|
|
37406
|
+
inline: inlineLayout,
|
|
37407
|
+
"editorial-split": editorialSplitLayout
|
|
37408
|
+
},
|
|
37409
|
+
defaultVariant: "stacked",
|
|
37410
|
+
variantOptions: {
|
|
37411
|
+
stacked: {
|
|
37412
|
+
label: "Stacked",
|
|
37413
|
+
description: "Vertical layout with fields stacked"
|
|
36700
37414
|
},
|
|
36701
|
-
|
|
36702
|
-
|
|
36703
|
-
|
|
36704
|
-
animation: false,
|
|
36705
|
-
paletteHidden: false
|
|
37415
|
+
inline: {
|
|
37416
|
+
label: "Inline",
|
|
37417
|
+
description: "Horizontal layout (email + button side by side)"
|
|
36706
37418
|
},
|
|
36707
|
-
|
|
36708
|
-
"
|
|
36709
|
-
"
|
|
36710
|
-
|
|
36711
|
-
|
|
36712
|
-
|
|
36713
|
-
|
|
36714
|
-
|
|
36715
|
-
|
|
36716
|
-
|
|
36717
|
-
|
|
36718
|
-
|
|
37419
|
+
"editorial-split": {
|
|
37420
|
+
label: "Editorial split",
|
|
37421
|
+
description: "Copy and form in balanced side-by-side columns, stacked on mobile."
|
|
37422
|
+
}
|
|
37423
|
+
},
|
|
37424
|
+
styleTokens: {
|
|
37425
|
+
background: "surface",
|
|
37426
|
+
typography: "body",
|
|
37427
|
+
spacing: "md"
|
|
37428
|
+
},
|
|
37429
|
+
behaviours: {
|
|
37430
|
+
supportsThemeSwitching: true,
|
|
37431
|
+
inlineEditing: false,
|
|
37432
|
+
animation: false,
|
|
37433
|
+
paletteHidden: false
|
|
37434
|
+
},
|
|
37435
|
+
tags: [
|
|
37436
|
+
"newsletter",
|
|
37437
|
+
"signup",
|
|
37438
|
+
"email",
|
|
37439
|
+
"subscribe",
|
|
37440
|
+
"subscription",
|
|
37441
|
+
"mailchimp",
|
|
37442
|
+
"marketing",
|
|
37443
|
+
"lead-capture"
|
|
37444
|
+
],
|
|
37445
|
+
icon: "Mail"
|
|
37446
|
+
});
|
|
37447
|
+
[...(newsletterSignupManifest.fields ?? []).map((field) => field.id)];
|
|
37448
|
+
const newsletterSignupBlockDefinition = {
|
|
37449
|
+
manifest: newsletterSignupManifest,
|
|
36719
37450
|
runtime: newsletterFormBlockRuntime
|
|
36720
37451
|
};
|
|
36721
37452
|
//#endregion
|
|
@@ -38757,7 +39488,8 @@ const BOOKING_FORM_DATA_RESERVED_KEYS = /* @__PURE__ */ new Set([
|
|
|
38757
39488
|
"discountCode",
|
|
38758
39489
|
"selectedSlidingAmountInput",
|
|
38759
39490
|
"selectedCollectionOptionKind",
|
|
38760
|
-
"selectedAppointmentPackageId"
|
|
39491
|
+
"selectedAppointmentPackageId",
|
|
39492
|
+
"mailingListOptIn"
|
|
38761
39493
|
]);
|
|
38762
39494
|
function isBookingFormDataReservedKey(value) {
|
|
38763
39495
|
return BOOKING_FORM_DATA_RESERVED_KEYS.has(value);
|