@riverbankcms/sdk 0.146.0 → 0.148.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/{PreviewEditorSidebar-kg2r2Fyi.mjs → PreviewEditorSidebar-DvEPG3Z2.mjs} +249 -172
- package/dist/{PreviewEditorUI-sWMLp5dT.mjs → PreviewEditorUI-D6eb6fkx.mjs} +68 -60
- package/dist/{PreviewQueryProvider-Cg51xq1w.mjs → PreviewQueryProvider-5znTyJuz.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-h2ti3Hch.mjs → SdkPreviewModeRuntime-DJ6utQ_R.mjs} +1180 -475
- package/dist/{SiteChromeCustomizeContext-DEACFH9m.mjs → SiteChromeCustomizeContext-CFJYh6vo.mjs} +199078 -193767
- package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -33
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +18 -3
- package/dist/_dts/api/src/accessAdmin.d.ts +0 -4
- package/dist/_dts/api/src/accountApi.d.ts +6 -6
- package/dist/_dts/api/src/admin.d.ts +22 -22
- package/dist/_dts/api/src/aiPatch.d.ts +2 -2
- package/dist/_dts/api/src/aiPlayground.d.ts +1 -0
- package/dist/_dts/api/src/analytics.d.ts +2 -2
- package/dist/_dts/api/src/apiEndpointTypes.d.ts +2 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
- package/dist/_dts/api/src/auth.d.ts +10 -10
- package/dist/_dts/api/src/availability.d.ts +6 -6
- package/dist/_dts/api/src/billing.d.ts +42 -15
- package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/billingEndpointTypes.d.ts +15 -6
- package/dist/_dts/api/src/blocks.d.ts +15 -14
- package/dist/_dts/api/src/blocksKeys.d.ts +2 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +16 -2
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -13
- package/dist/_dts/api/src/bookingOperations.d.ts +6 -48
- package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
- package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +12 -49
- package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
- package/dist/_dts/api/src/bookings.d.ts +8 -7
- package/dist/_dts/api/src/calendar.d.ts +9 -9
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -6
- package/dist/_dts/api/src/common/envelope.d.ts +2 -2
- package/dist/_dts/api/src/content-editor.d.ts +2 -2
- package/dist/_dts/api/src/contentEntries.d.ts +17 -48
- package/dist/_dts/api/src/contentRuntime.d.ts +51 -37
- package/dist/_dts/api/src/contentTypes.d.ts +11 -11
- package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +6 -6
- package/dist/_dts/api/src/documentLifecycle.d.ts +67 -0
- package/dist/_dts/api/src/domains.d.ts +16 -16
- package/dist/_dts/api/src/editLeaseEndpoints.d.ts +72 -0
- package/dist/_dts/api/src/emailSettings.d.ts +4 -4
- package/dist/_dts/api/src/endpoints.d.ts +725 -607
- package/dist/_dts/api/src/eventEmailTemplates.d.ts +2 -2
- package/dist/_dts/api/src/eventManagementContracts.d.ts +48 -8
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +1 -9
- package/dist/_dts/api/src/eventPageWords.d.ts +7 -12
- package/dist/_dts/api/src/footerSettings.d.ts +6 -6
- package/dist/_dts/api/src/index.d.ts +8 -6
- package/dist/_dts/api/src/indexCoreTypes.d.ts +2 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +1 -6
- package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
- package/dist/_dts/api/src/navigation.d.ts +5 -5
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +15 -0
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +19 -0
- package/dist/_dts/api/src/pageSurfaceEditorEndpoints.d.ts +55 -0
- package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +28 -7
- package/dist/_dts/api/src/pages.d.ts +7 -7
- package/dist/_dts/api/src/performance.d.ts +1 -1
- package/dist/_dts/api/src/public/index.d.ts +1 -1
- package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +50 -0
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +4 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
- package/dist/_dts/api/src/redirects.d.ts +3 -3
- package/dist/_dts/api/src/request.d.ts +10 -1
- package/dist/_dts/api/src/resources.d.ts +4 -4
- package/dist/_dts/api/src/routes.d.ts +8 -3
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +15 -1
- package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +21 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +5 -28
- package/dist/_dts/api/src/sdkCourseBooking.d.ts +4 -4
- package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +1 -1
- package/dist/_dts/api/src/sdkEventOccurrenceRequestContracts.d.ts +43 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +4 -2
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +8 -1
- package/dist/_dts/api/src/seo.d.ts +4 -4
- package/dist/_dts/api/src/services.d.ts +4 -4
- package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +19 -25
- package/dist/_dts/api/src/siteMembers.d.ts +10 -10
- package/dist/_dts/api/src/siteOnboarding.d.ts +16 -14
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -3
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -12
- package/dist/_dts/api/src/siteRuntimeEntry.d.ts +31 -0
- package/dist/_dts/billing/src/checkout/platform.d.ts +77 -0
- package/dist/_dts/billing/src/components/index.d.ts +25 -40
- package/dist/_dts/billing/src/membership/index.d.ts +1 -3
- package/dist/_dts/billing/src/plans/entitlements.d.ts +80 -0
- package/dist/_dts/billing/src/plans/registry.d.ts +16 -16
- package/dist/_dts/billing/src/plans/standing.d.ts +9 -2
- package/dist/_dts/billing/src/plans/types.d.ts +5 -15
- package/dist/_dts/billing/src/site-arrangements.d.ts +2 -2
- package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +2 -4
- package/dist/_dts/billing/src/subscriptions/store.d.ts +17 -11
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +6 -7
- package/dist/_dts/block-form/src/backend/types.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
- package/dist/_dts/blocks/src/client/events.d.ts +3 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -4
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +18 -9
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +4 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +0 -2
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +6 -1
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +36 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +18 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/usePolling.d.ts +7 -48
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.checkout-return-context.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.payment-confirmation.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +17 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-actions.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +7 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +18 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +37 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +16 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCardPresentations.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +2 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DemoBookingPortalAccess.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DemoPortalSignInLink.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/demoBookingPassStorage.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/demoPortalMagicLink.d.ts +29 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
- package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
- package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -7
- package/dist/_dts/content-editor/src/controller/EditLeaseController.d.ts +39 -0
- package/dist/_dts/content-editor/src/controller/EditorWriteGate.d.ts +38 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +25 -61
- package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseBanner.d.ts +7 -0
- package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseControllers.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/deriveEditorUnpublishedState.d.ts +6 -0
- package/dist/_dts/content-editor/src/controller/documentValueBaseline.d.ts +25 -0
- package/dist/_dts/content-editor/src/controller/editLeaseLossSignal.d.ts +6 -0
- package/dist/_dts/content-editor/src/controller/editLeaseNotice.d.ts +28 -0
- package/dist/_dts/content-editor/src/controller/editorClientId.d.ts +2 -0
- package/dist/_dts/content-editor/src/controller/editorEditability.d.ts +38 -0
- package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +34 -0
- package/dist/_dts/content-editor/src/controller/normalizedMetadataBaseline.d.ts +29 -0
- package/dist/_dts/content-editor/src/controller/pageSurfaceDocumentBaselines.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/pageSurfaceLifecycle.d.ts +11 -0
- package/dist/_dts/content-editor/src/controller/planDocumentBaselineRefresh.d.ts +19 -0
- package/dist/_dts/content-editor/src/controller/readDocumentLeaseBaselines.d.ts +19 -0
- package/dist/_dts/content-editor/src/controller/refreshDocumentLeaseBaseline.d.ts +12 -0
- package/dist/_dts/content-editor/src/controller/refreshLinkedEntry.d.ts +17 -0
- package/dist/_dts/content-editor/src/controller/replayRestoredEditorEffects.d.ts +2 -3
- package/dist/_dts/content-editor/src/controller/routeWrites.d.ts +26 -0
- package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +16 -17
- package/dist/_dts/content-editor/src/controller/useBlockedPublishPlan.d.ts +6 -2
- package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +3 -3
- package/dist/_dts/content-editor/src/controller/useEntryValueAutosaves.d.ts +21 -0
- package/dist/_dts/content-editor/src/controller/useInitialEditorUiStore.d.ts +24 -0
- package/dist/_dts/content-editor/src/controller/useServerBaselineReconciliation.d.ts +17 -0
- package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/applyBlockedPublishPlan.d.ts +5 -1
- package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +8 -47
- package/dist/_dts/content-editor/src/hooks/editLeaseMachine.d.ts +120 -0
- package/dist/_dts/content-editor/src/hooks/publishability.d.ts +6 -10
- package/dist/_dts/content-editor/src/hooks/useAutosaveStatus.d.ts +3 -0
- package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +5 -15
- package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +7 -5
- package/dist/_dts/content-editor/src/hooks/useEditLease.d.ts +28 -0
- package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +25 -39
- package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +17 -19
- package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +5 -8
- package/dist/_dts/content-editor/src/hooks/useValueAutosave.d.ts +64 -0
- package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +0 -7
- package/dist/_dts/content-editor/src/index.d.ts +26 -7
- package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +12 -0
- package/dist/_dts/content-editor/src/linkedEntries/owner.d.ts +9 -0
- package/dist/_dts/content-editor/src/liveDrafts/draftProjection.d.ts +66 -0
- package/dist/_dts/content-editor/src/liveDrafts/linkedSaveHandovers.d.ts +37 -0
- package/dist/_dts/content-editor/src/liveDrafts/remoteDraftOverlay.d.ts +113 -0
- package/dist/_dts/content-editor/src/liveDrafts/useLiveDrafts.d.ts +32 -0
- package/dist/_dts/content-editor/src/liveDrafts/useRetentionTicks.d.ts +7 -0
- package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +6 -0
- package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +1 -0
- package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +96 -19
- package/dist/_dts/content-editor/src/services/editorApiClient.d.ts +13 -0
- package/dist/_dts/content-editor/src/services/index.d.ts +2 -0
- package/dist/_dts/content-editor/src/services/pageSurfaceEditorServices.d.ts +23 -0
- package/dist/_dts/content-editor/src/sync/flushValues.d.ts +13 -0
- package/dist/_dts/content-editor/src/sync/lifecycleFailure.d.ts +51 -0
- package/dist/_dts/content-editor/src/sync/runLifecycle.d.ts +64 -0
- package/dist/_dts/content-editor/src/sync/schedulerValues.d.ts +27 -0
- package/dist/_dts/content-editor/src/sync/sendPlanning.d.ts +104 -0
- package/dist/_dts/content-editor/src/sync/valueSync.d.ts +114 -0
- package/dist/_dts/content-editor/src/ui/blockCollection.d.ts +8 -0
- package/dist/_dts/content-editor/src/ui/documentLifecycle.d.ts +18 -0
- package/dist/_dts/content-editor/src/ui/editorLeaseUiState.d.ts +7 -0
- package/dist/_dts/content-editor/src/ui/editorRefresh.d.ts +82 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +102 -127
- package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +126 -72
- package/dist/_dts/content-editor/src/ui/editorValueSnapshot.d.ts +18 -0
- package/dist/_dts/content-editor/src/ui/serverBlockAdmission.d.ts +26 -0
- package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +16 -27
- package/dist/_dts/content-editor/src/ui/stores/blockVersionsStore.d.ts +24 -0
- package/dist/_dts/content-editor/src/ui/stores/linkedEntryLeaseStore.d.ts +54 -0
- package/dist/_dts/content-editor/src/ui/stores/linkedSaveHandoversStore.d.ts +11 -0
- package/dist/_dts/content-editor/src/ui/stores/remoteDraftsStore.d.ts +10 -0
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +63 -3
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +2 -2
- package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -4
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -4
- package/dist/_dts/content-model/src/definitions/shared.d.ts +11 -2
- package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
- package/dist/_dts/content-model/src/entry-slots/serializeAllowedBlocks.d.ts +2 -0
- package/dist/_dts/content-model/src/metadataConfig.d.ts +10 -38
- package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
- package/dist/_dts/content-model/src/types.d.ts +0 -1
- package/dist/_dts/core/src/block-content-identity.d.ts +49 -1
- package/dist/_dts/core/src/branded.d.ts +12 -0
- package/dist/_dts/core/src/currency-format.d.ts +8 -2
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +2 -2
- package/dist/_dts/core/src/demo-warm-pool-target.d.ts +8 -0
- package/dist/_dts/core/src/edit-lease.d.ts +55 -0
- package/dist/_dts/core/src/editor-state.d.ts +38 -13
- package/dist/_dts/core/src/editor-value-sync.d.ts +79 -0
- package/dist/_dts/core/src/html-entities.d.ts +6 -0
- package/dist/_dts/core/src/index.d.ts +5 -1
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
- package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -0
- package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
- package/dist/_dts/core/src/participants.d.ts +0 -38
- package/dist/_dts/core/src/uuid.d.ts +7 -5
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +261 -175
- package/dist/_dts/editor/src/EditorProvider.d.ts +5 -0
- package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +14 -0
- package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +1 -0
- package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +0 -1
- package/dist/_dts/editor/src/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +10 -9
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardFrame.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/applyExtendedFieldDefaults.d.ts +3 -4
- package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +4 -8
- package/dist/_dts/editor-blocks/src/block-editor/editorBlockItem.d.ts +23 -0
- package/dist/_dts/editor-blocks/src/block-editor/generatedIconApplyCoordination.d.ts +2 -7
- package/dist/_dts/editor-blocks/src/block-editor/hooks/applyBlockStructureChange.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +14 -5
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +21 -19
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -10
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +8 -16
- package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +6 -16
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +37 -9
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +3 -2
- package/dist/_dts/media-core/src/fileStorage.d.ts +4 -0
- package/dist/_dts/media-editor/src/context.d.ts +1 -1
- package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -2
- package/dist/_dts/media-editor/src/provider.d.ts +3 -2
- package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
- package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +8 -3
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +10 -6
- package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +22 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/entryFieldRebinding.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +11 -1
- package/dist/_dts/preview-next/src/client/blocks/renderPrecedence.d.ts +17 -0
- package/dist/_dts/preview-next/src/client/blocks/useLinkedSaveHandoverRetention.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewAccessBanners.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +24 -14
- package/dist/_dts/preview-next/src/client/preview/PreviewLeaseEditingMode.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +9 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeAutosave.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +3 -4
- package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/usePreviewCustomizeWorkflowState.d.ts +4 -0
- package/dist/_dts/realtime/src/client.d.ts +3 -0
- package/dist/_dts/realtime/src/draftChannel.d.ts +91 -0
- package/dist/_dts/realtime/src/drafts.d.ts +210 -0
- package/dist/_dts/realtime/src/index.d.ts +3 -0
- package/dist/_dts/realtime/src/leaseChangeSubscriptions.d.ts +8 -0
- package/dist/_dts/realtime/src/types.d.ts +113 -0
- package/dist/_dts/realtime/src/useDraftChannel.d.ts +34 -0
- package/dist/_dts/realtime/src/useSiteRealtimeReload.d.ts +27 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -55
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +4 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
- package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
- package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
- package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
- package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
- package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
- package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
- package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
- package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
- package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
- package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
- package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
- package/dist/_dts/ui/src/badge.d.ts +2 -1
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
- package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
- package/dist/_dts/ui/src/combobox.d.ts +26 -1
- package/dist/_dts/ui/src/date-picker.d.ts +5 -8
- package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
- package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
- package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
- package/dist/_dts/ui/src/index.d.ts +4 -1
- package/dist/_dts/ui/src/native-select.d.ts +8 -0
- package/dist/_dts/ui/src/popover.d.ts +7 -1
- package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
- package/dist/_dts/ui/src/surface.d.ts +1 -1
- package/dist/client/{BookingConsentAgreement-BQKL045f.mjs → BookingMailingListNote-CzRt2dF_.mjs} +110 -97
- package/dist/client/{CheckboxChoice--W2n6yKs.mjs → CheckboxChoice-B33MqoUo.mjs} +1 -1
- package/dist/client/DemoBookingPortalAccess-mxqwap3f.mjs +344 -0
- package/dist/client/{EventCombined.client-BdRjVbhH.mjs → EventCombined.client-CDb11igO.mjs} +7 -7
- package/dist/client/{EventListing.client-DBxC6xOU.mjs → EventListing.client-EgYhzKPa.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-mHEJKrTs.mjs → LeafletStaticMap-gtmtaA2b.mjs} +1 -1
- package/dist/client/{scrollToBlock-BNgaEUpo.mjs → TerminalPanel-DvNUP5ot.mjs} +77 -77
- package/dist/client/{ThemedButton-CE5KYT6z.mjs → ThemedButton-C7CeUJjW.mjs} +2 -2
- package/dist/client/{accordion-BEQNSptH.mjs → accordion-kjvt49rA.mjs} +1 -1
- package/dist/client/{bookingForm-AMr-s5vw.mjs → bookingForm-pbRZordh.mjs} +411 -141
- package/dist/client/bookings.mjs +966 -396
- package/dist/client/{carousel-Bbt_QgJy.mjs → carousel-f4Zbmicv.mjs} +2 -2
- package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
- package/dist/client/{cart-CnWi30zJ.mjs → cart-DO20An50.mjs} +3 -3
- package/dist/client/{checkout-f3nkWgd4.mjs → checkout-Du5amDR_.mjs} +3 -3
- package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-CXhko2Rv.mjs} +1 -1
- package/dist/client/client.mjs +3837 -2202
- package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
- package/dist/client/{context-Bc8T6pCe.mjs → context-eW97E945.mjs} +4 -3
- package/dist/client/{dates-DUsCEzLb.mjs → dates-jPCirRea.mjs} +56 -11
- package/dist/client/{eventCalendar-CKwgXui5.mjs → eventCalendar-C2M-iE4j.mjs} +10 -10
- package/dist/client/{eventCombined-CBAOSTGR.mjs → eventCombined-W6ns3LHg.mjs} +4 -4
- package/dist/client/{eventDetails-Dh-_WiBD.mjs → eventDetails-CR-GT0f0.mjs} +4 -4
- package/dist/client/{eventListing-CA3frIH5.mjs → eventListing-BK8AfYZz.mjs} +4 -4
- package/dist/client/{eventRegistration-BHtsgdcg.mjs → eventRegistration-BJSd4KUu.mjs} +461 -266
- package/dist/client/{form-C2h3YAcg.mjs → form-BvpfbQaT.mjs} +5 -5
- package/dist/client/{headerSection-lwMuMTH9.mjs → headerSection-I5sUQ8x-.mjs} +3 -3
- package/dist/client/hooks.mjs +909 -163
- package/dist/client/{locationMap-DJ2bLODV.mjs → locationMap-BLvwf9_f.mjs} +4 -4
- package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
- package/dist/client/{media-BtJ37tzS.mjs → media-Cl38iOMI.mjs} +11 -4
- package/dist/client/{newsletterForm-8Pu5K32g.mjs → newsletterForm-DrQ2weE8.mjs} +6 -6
- package/dist/client/{pricing-HHx3IgBz.mjs → pricing-BES87mrR.mjs} +1 -1
- package/dist/client/{productDetail-C_1odnAf.mjs → productDetail-Url9jcc5.mjs} +3 -3
- package/dist/client/{productList-CtCv-Nmx.mjs → productList-DE7ngEZJ.mjs} +3 -3
- package/dist/client/{propsDecoder-Dcgsncxb.mjs → propsDecoder-D1OtGXDV.mjs} +140 -22
- package/dist/client/rendering/client.mjs +2366 -997
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +4607 -2884
- package/dist/client/{routeIslandApiConfig-CWLP7wu3.mjs → routeIslandApiConfig-BG9Y-SHg.mjs} +1 -1
- package/dist/client/{shop-DQXrQ8kJ.mjs → shop-CJkuySJ3.mjs} +126 -79
- package/dist/client/{shop-commerce-B88zmWWo.mjs → shop-commerce-4rKj5n9h.mjs} +26 -14
- package/dist/client/{shop-commerce-store-DtSfkKuX.mjs → shop-commerce-store-Bxm75Pg6.mjs} +1 -1
- package/dist/client/{shopShared-cuaONpkJ.mjs → shopShared-DpoQDWfz.mjs} +5 -5
- package/dist/client/{useEventFilters-Bukew6Gb.mjs → useEventFilters-D8HliSqR.mjs} +33 -18
- package/dist/preview-next/before-render.mjs +314 -133
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +53 -2
- package/dist/preview-next/editor-chrome.css +7 -4
- package/dist/preview-next/keepAlive.mjs +314 -133
- package/dist/preview-next/middleware.mjs +314 -133
- package/dist/{previewAuthStore-h5IgbSp4.mjs → previewAuthStore-BXXF3hhW.mjs} +316 -133
- package/dist/{sdk-runtime-DTc1uIXn.mjs → sdk-runtime-C2a05WjL.mjs} +2 -2
- package/dist/{separator-BpHS1KZK.mjs → separator-CuNhBAhS.mjs} +1 -1
- package/dist/server/components.mjs +6888 -6157
- package/dist/server/config-validation.mjs +931 -199
- package/dist/server/config.mjs +931 -199
- package/dist/server/data.mjs +929 -198
- package/dist/server/index.mjs +317 -134
- package/dist/server/navigation.mjs +13 -2
- package/dist/server/next.mjs +5003 -4340
- package/dist/server/page-converter.mjs +160 -78
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +6421 -5687
- package/dist/server/rendering.mjs +7683 -6933
- package/dist/server/routing.mjs +1035 -338
- package/dist/server/server.mjs +946 -256
- package/dist/server/theme-bridge.mjs +66 -17
- package/dist/server/theme.mjs +5 -1
- package/dist/styles/index.css +32 -4
- package/package.json +1 -1
- package/dist/_dts/billing/src/plans/display.d.ts +0 -15
- package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +0 -4
- package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +0 -16
- package/dist/_dts/content-editor/src/controller/driver.d.ts +0 -14
- package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +0 -7
- package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +0 -29
- package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +0 -26
- package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +0 -64
- package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +0 -48
- package/dist/_dts/content-editor/src/types.d.ts +0 -44
- package/dist/_dts/core/src/participant-identity.d.ts +0 -135
- package/dist/client/DiscountCodeDisclosure-CsOtjFY7.mjs +0 -137
package/dist/server/config.mjs
CHANGED
|
@@ -63,6 +63,64 @@ function defineEndpointDefinitions(definitions) {
|
|
|
63
63
|
return definitions;
|
|
64
64
|
}
|
|
65
65
|
//#endregion
|
|
66
|
+
//#region ../api/src/apiEndpointTypes.ts
|
|
67
|
+
function allowedDemoMutationPolicy() {
|
|
68
|
+
return {
|
|
69
|
+
classification: "allowed",
|
|
70
|
+
publicMessage: ""
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
74
|
+
if (publicMessage.trim() === "") throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
75
|
+
return {
|
|
76
|
+
classification,
|
|
77
|
+
publicMessage
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region ../api/src/demoMutationPolicies.ts
|
|
82
|
+
const DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
|
|
83
|
+
const DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
|
|
84
|
+
blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
|
|
85
|
+
const DEMO_MUTATION_ALLOWED = allowedDemoMutationPolicy();
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region ../api/src/siteLifecycleEndpoints.ts
|
|
88
|
+
const SITE_LIFECYCLE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
89
|
+
createSite: {
|
|
90
|
+
path: "/sites/manage",
|
|
91
|
+
method: "POST",
|
|
92
|
+
tags: ["site"],
|
|
93
|
+
auth: "user",
|
|
94
|
+
responseKind: "json",
|
|
95
|
+
errors: []
|
|
96
|
+
},
|
|
97
|
+
createSiteManual: {
|
|
98
|
+
path: "/sites/manual",
|
|
99
|
+
method: "POST",
|
|
100
|
+
tags: ["site"],
|
|
101
|
+
auth: "user",
|
|
102
|
+
responseKind: "json",
|
|
103
|
+
errors: []
|
|
104
|
+
},
|
|
105
|
+
updateSite: {
|
|
106
|
+
path: "/sites/manage",
|
|
107
|
+
method: "PUT",
|
|
108
|
+
tags: ["site"],
|
|
109
|
+
auth: "user",
|
|
110
|
+
responseKind: "json",
|
|
111
|
+
errors: []
|
|
112
|
+
},
|
|
113
|
+
deleteSite: {
|
|
114
|
+
path: "/sites/{siteId}",
|
|
115
|
+
method: "DELETE",
|
|
116
|
+
tags: ["site", "site-{siteId}"],
|
|
117
|
+
auth: "user",
|
|
118
|
+
responseKind: "json",
|
|
119
|
+
errors: [],
|
|
120
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
//#endregion
|
|
66
124
|
//#region ../api/src/publicNewsletterEndpointDefinitions.ts
|
|
67
125
|
const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
68
126
|
subscribeNewsletter: {
|
|
@@ -123,27 +181,6 @@ const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
123
181
|
}
|
|
124
182
|
});
|
|
125
183
|
//#endregion
|
|
126
|
-
//#region ../api/src/apiEndpointTypes.ts
|
|
127
|
-
function allowedDemoMutationPolicy() {
|
|
128
|
-
return {
|
|
129
|
-
classification: "allowed",
|
|
130
|
-
publicMessage: ""
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
134
|
-
if (publicMessage.trim() === "") throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
135
|
-
return {
|
|
136
|
-
classification,
|
|
137
|
-
publicMessage
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
//#endregion
|
|
141
|
-
//#region ../api/src/demoMutationPolicies.ts
|
|
142
|
-
const DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
|
|
143
|
-
const DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
|
|
144
|
-
blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
|
|
145
|
-
const DEMO_MUTATION_ALLOWED = allowedDemoMutationPolicy();
|
|
146
|
-
//#endregion
|
|
147
184
|
//#region ../api/src/cache-tags.ts
|
|
148
185
|
/**
|
|
149
186
|
* Tag templates for endpoint definitions (support `{param}` placeholders).
|
|
@@ -1170,6 +1207,20 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1170
1207
|
responseKind: "json",
|
|
1171
1208
|
errors: ["auth:forbidden", "server:internal_error"]
|
|
1172
1209
|
},
|
|
1210
|
+
setMailingListBookingOptIn: {
|
|
1211
|
+
path: "/sites/{siteId}/mailing-list/setup/booking-opt-in",
|
|
1212
|
+
method: "PUT",
|
|
1213
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1214
|
+
auth: "user",
|
|
1215
|
+
responseKind: "json",
|
|
1216
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
1217
|
+
errors: [
|
|
1218
|
+
"auth:forbidden",
|
|
1219
|
+
"validation:invalid_input",
|
|
1220
|
+
"resource:conflict",
|
|
1221
|
+
"server:internal_error"
|
|
1222
|
+
]
|
|
1223
|
+
},
|
|
1173
1224
|
getMailingListAuthoringContext: {
|
|
1174
1225
|
path: "/sites/{siteId}/mailing-list/authoring-context",
|
|
1175
1226
|
method: "GET",
|
|
@@ -1585,6 +1636,7 @@ const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1585
1636
|
responseKind: "json",
|
|
1586
1637
|
errors: [
|
|
1587
1638
|
"resource:not_found",
|
|
1639
|
+
"validation:invalid_input",
|
|
1588
1640
|
"resource:conflict",
|
|
1589
1641
|
"server:internal_error"
|
|
1590
1642
|
]
|
|
@@ -1691,6 +1743,19 @@ const CURRENCY_LOCALE_BY_CODE = {
|
|
|
1691
1743
|
function resolveCurrencyLocale(currencyCode, override) {
|
|
1692
1744
|
return override ?? CURRENCY_LOCALE_BY_CODE[currencyCode] ?? "en";
|
|
1693
1745
|
}
|
|
1746
|
+
function fractionDigitsFor(decimals, exactFormatter) {
|
|
1747
|
+
switch (decimals) {
|
|
1748
|
+
case "exact": return {};
|
|
1749
|
+
case "auto": return {
|
|
1750
|
+
minimumFractionDigits: 0,
|
|
1751
|
+
maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
|
|
1752
|
+
};
|
|
1753
|
+
case "whole": return {
|
|
1754
|
+
minimumFractionDigits: 0,
|
|
1755
|
+
maximumFractionDigits: 0
|
|
1756
|
+
};
|
|
1757
|
+
}
|
|
1758
|
+
}
|
|
1694
1759
|
/**
|
|
1695
1760
|
* The single currency-amount formatter for the product: minor units in,
|
|
1696
1761
|
* localized string out.
|
|
@@ -1701,6 +1766,13 @@ function resolveCurrencyLocale(currencyCode, override) {
|
|
|
1701
1766
|
* own `Intl.NumberFormat`.
|
|
1702
1767
|
*/
|
|
1703
1768
|
function formatCurrencyAmount(amountCents, currency, options) {
|
|
1769
|
+
return formatCurrencyMajorUnits(amountCents / 100, currency, options);
|
|
1770
|
+
}
|
|
1771
|
+
/**
|
|
1772
|
+
* `formatCurrencyAmount` for an amount already in MAJOR units (29.99 = £29.99),
|
|
1773
|
+
* such as a registrar price. Prefer minor units everywhere else.
|
|
1774
|
+
*/
|
|
1775
|
+
function formatCurrencyMajorUnits(amount, currency, options) {
|
|
1704
1776
|
const currencyCode = currency.toUpperCase();
|
|
1705
1777
|
const locale = resolveCurrencyLocale(currencyCode, options?.locale);
|
|
1706
1778
|
try {
|
|
@@ -1708,17 +1780,13 @@ function formatCurrencyAmount(amountCents, currency, options) {
|
|
|
1708
1780
|
style: "currency",
|
|
1709
1781
|
currency: currencyCode
|
|
1710
1782
|
});
|
|
1711
|
-
const fractionDigits = options?.decimals === "auto" ? {
|
|
1712
|
-
minimumFractionDigits: 0,
|
|
1713
|
-
maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
|
|
1714
|
-
} : {};
|
|
1715
1783
|
return new Intl.NumberFormat(locale, {
|
|
1716
1784
|
style: "currency",
|
|
1717
1785
|
currency: currencyCode,
|
|
1718
|
-
...
|
|
1719
|
-
}).format(
|
|
1786
|
+
...fractionDigitsFor(options?.decimals ?? "exact", exactFormatter)
|
|
1787
|
+
}).format(amount);
|
|
1720
1788
|
} catch {
|
|
1721
|
-
return `${
|
|
1789
|
+
return `${amount.toFixed(2)} ${currencyCode}`;
|
|
1722
1790
|
}
|
|
1723
1791
|
}
|
|
1724
1792
|
//#endregion
|
|
@@ -2327,17 +2395,35 @@ function parseMailingListRuntimeContext(value) {
|
|
|
2327
2395
|
if (!isRecord$8(value)) return invalidRuntimeContext();
|
|
2328
2396
|
if (value.tag === "not_configured") return ok({ tag: "not_configured" });
|
|
2329
2397
|
if (value.tag !== "configured") return invalidRuntimeContext();
|
|
2398
|
+
return parseConfiguredRuntimeContext(value);
|
|
2399
|
+
}
|
|
2400
|
+
function parseConfiguredRuntimeContext(value) {
|
|
2330
2401
|
const revision = parseMailingListSetupRevision(value.revision);
|
|
2331
2402
|
const form = parseMailingListGlobalForm(value.form);
|
|
2332
2403
|
const provider = parseRuntimeProvider(value.provider);
|
|
2333
|
-
|
|
2404
|
+
const bookingSignup = parseBookingSignupOffer(value.bookingSignup);
|
|
2405
|
+
if (revision === null || !form.ok || provider === null || bookingSignup === null) return invalidRuntimeContext();
|
|
2334
2406
|
return ok({
|
|
2335
2407
|
tag: "configured",
|
|
2336
2408
|
revision,
|
|
2409
|
+
bookingSignup,
|
|
2337
2410
|
form: form.value,
|
|
2338
2411
|
provider
|
|
2339
2412
|
});
|
|
2340
2413
|
}
|
|
2414
|
+
function parseBookingSignupOffer(value) {
|
|
2415
|
+
if (value === void 0) return {
|
|
2416
|
+
tag: "unavailable",
|
|
2417
|
+
reason: "disabled"
|
|
2418
|
+
};
|
|
2419
|
+
if (!isRecord$8(value)) return null;
|
|
2420
|
+
if (value.tag === "offered") return { tag: "offered" };
|
|
2421
|
+
if (value.tag === "unavailable" && (value.reason === "disabled" || value.reason === "fields" || value.reason === "destination")) return {
|
|
2422
|
+
tag: "unavailable",
|
|
2423
|
+
reason: value.reason
|
|
2424
|
+
};
|
|
2425
|
+
return null;
|
|
2426
|
+
}
|
|
2341
2427
|
function parseRuntimeProvider(value) {
|
|
2342
2428
|
if (!isRecord$8(value)) return null;
|
|
2343
2429
|
switch (value.provider) {
|
|
@@ -3372,28 +3458,6 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3372
3458
|
"resource:conflict",
|
|
3373
3459
|
"server:internal_error"
|
|
3374
3460
|
]
|
|
3375
|
-
},
|
|
3376
|
-
/**
|
|
3377
|
-
* The Content tab's one write: the short introduction, image and
|
|
3378
|
-
* description of an event's page, published without its layout.
|
|
3379
|
-
*/
|
|
3380
|
-
saveEventPageWords: {
|
|
3381
|
-
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
|
|
3382
|
-
method: "PUT",
|
|
3383
|
-
tags: [
|
|
3384
|
-
TAG_TEMPLATES.siteCollection,
|
|
3385
|
-
TAG_TEMPLATES.siteRoutableContent,
|
|
3386
|
-
TAG_TEMPLATES.pageSurfaceById
|
|
3387
|
-
],
|
|
3388
|
-
auth: "user",
|
|
3389
|
-
responseKind: "json",
|
|
3390
|
-
errors: [
|
|
3391
|
-
"auth:forbidden",
|
|
3392
|
-
"validation:invalid_input",
|
|
3393
|
-
"resource:not_found",
|
|
3394
|
-
"resource:conflict",
|
|
3395
|
-
"server:internal_error"
|
|
3396
|
-
]
|
|
3397
3461
|
}
|
|
3398
3462
|
});
|
|
3399
3463
|
//#endregion
|
|
@@ -3818,6 +3882,15 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3818
3882
|
auth: "user",
|
|
3819
3883
|
responseKind: "json"
|
|
3820
3884
|
},
|
|
3885
|
+
/** Continue on Free from the onboarding card page; only the attempt's owner. */
|
|
3886
|
+
continueOnboardingOnFree: {
|
|
3887
|
+
path: "/onboarding/attempts/{attemptToken}/plan/free",
|
|
3888
|
+
method: "POST",
|
|
3889
|
+
tags: ["billing"],
|
|
3890
|
+
auth: "user",
|
|
3891
|
+
errors: [],
|
|
3892
|
+
responseKind: "json"
|
|
3893
|
+
},
|
|
3821
3894
|
createBillingPortalSession: {
|
|
3822
3895
|
path: "/billing/portal/session",
|
|
3823
3896
|
method: "POST",
|
|
@@ -3827,6 +3900,209 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3827
3900
|
}
|
|
3828
3901
|
});
|
|
3829
3902
|
//#endregion
|
|
3903
|
+
//#region ../api/src/editLeaseEndpoints.ts
|
|
3904
|
+
const path = "/sites/{siteId}/edit-leases/{nodeType}/{nodeId}";
|
|
3905
|
+
const lifecycleErrors = [
|
|
3906
|
+
"auth:lease_required",
|
|
3907
|
+
"auth:forbidden",
|
|
3908
|
+
"resource:not_found",
|
|
3909
|
+
"validation:invalid_input",
|
|
3910
|
+
"server:internal_error"
|
|
3911
|
+
];
|
|
3912
|
+
const EDIT_LEASE_ENDPOINT_DEFINITIONS = {
|
|
3913
|
+
readEditLease: {
|
|
3914
|
+
path,
|
|
3915
|
+
method: "GET",
|
|
3916
|
+
editLease: "lifecycle",
|
|
3917
|
+
errors: lifecycleErrors,
|
|
3918
|
+
auth: "user",
|
|
3919
|
+
responseKind: "json"
|
|
3920
|
+
},
|
|
3921
|
+
acquireEditLease: {
|
|
3922
|
+
path,
|
|
3923
|
+
method: "POST",
|
|
3924
|
+
editLease: "lifecycle",
|
|
3925
|
+
errors: lifecycleErrors,
|
|
3926
|
+
auth: "user",
|
|
3927
|
+
responseKind: "json"
|
|
3928
|
+
},
|
|
3929
|
+
takeOverEditLease: {
|
|
3930
|
+
path,
|
|
3931
|
+
method: "PUT",
|
|
3932
|
+
editLease: "lifecycle",
|
|
3933
|
+
errors: lifecycleErrors,
|
|
3934
|
+
auth: "user",
|
|
3935
|
+
responseKind: "json"
|
|
3936
|
+
},
|
|
3937
|
+
heartbeatEditLease: {
|
|
3938
|
+
path,
|
|
3939
|
+
method: "PATCH",
|
|
3940
|
+
editLease: "lifecycle",
|
|
3941
|
+
errors: [...lifecycleErrors, "auth:lease_lost"],
|
|
3942
|
+
auth: "user",
|
|
3943
|
+
responseKind: "json"
|
|
3944
|
+
},
|
|
3945
|
+
releaseEditLease: {
|
|
3946
|
+
path,
|
|
3947
|
+
method: "DELETE",
|
|
3948
|
+
editLease: "lifecycle",
|
|
3949
|
+
errors: lifecycleErrors,
|
|
3950
|
+
auth: "user",
|
|
3951
|
+
responseKind: "json"
|
|
3952
|
+
}
|
|
3953
|
+
};
|
|
3954
|
+
//#endregion
|
|
3955
|
+
//#region ../api/src/pageSurfaceEditorEndpoints.ts
|
|
3956
|
+
const surfaceTags = [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById];
|
|
3957
|
+
const PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS = {
|
|
3958
|
+
getPageSurfaceEditorDocument: {
|
|
3959
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
|
|
3960
|
+
method: "GET",
|
|
3961
|
+
errors: [
|
|
3962
|
+
"auth:forbidden",
|
|
3963
|
+
"validation:invalid_input",
|
|
3964
|
+
"resource:not_found",
|
|
3965
|
+
"resource:conflict",
|
|
3966
|
+
"server:internal_error"
|
|
3967
|
+
],
|
|
3968
|
+
tags: surfaceTags,
|
|
3969
|
+
auth: "user",
|
|
3970
|
+
responseKind: "json"
|
|
3971
|
+
},
|
|
3972
|
+
updatePageSurfaceDraftContent: {
|
|
3973
|
+
editLease: "managed",
|
|
3974
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
|
|
3975
|
+
method: "PUT",
|
|
3976
|
+
errors: [
|
|
3977
|
+
"validation:invalid_input",
|
|
3978
|
+
"resource:not_found",
|
|
3979
|
+
"resource:conflict",
|
|
3980
|
+
"server:internal_error"
|
|
3981
|
+
],
|
|
3982
|
+
tags: surfaceTags,
|
|
3983
|
+
auth: "user",
|
|
3984
|
+
responseKind: "json"
|
|
3985
|
+
},
|
|
3986
|
+
discardPageSurfaceDraftContent: {
|
|
3987
|
+
editLease: "managed",
|
|
3988
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content/draft",
|
|
3989
|
+
method: "DELETE",
|
|
3990
|
+
errors: [
|
|
3991
|
+
"validation:invalid_input",
|
|
3992
|
+
"resource:not_found",
|
|
3993
|
+
"resource:conflict",
|
|
3994
|
+
"server:internal_error"
|
|
3995
|
+
],
|
|
3996
|
+
tags: surfaceTags,
|
|
3997
|
+
auth: "user",
|
|
3998
|
+
responseKind: "json"
|
|
3999
|
+
},
|
|
4000
|
+
updatePageSurfaceRouteMetadata: {
|
|
4001
|
+
editLease: "managed",
|
|
4002
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/metadata",
|
|
4003
|
+
method: "PATCH",
|
|
4004
|
+
errors: [
|
|
4005
|
+
"validation:invalid_input",
|
|
4006
|
+
"resource:not_found",
|
|
4007
|
+
"resource:conflict",
|
|
4008
|
+
"server:internal_error"
|
|
4009
|
+
],
|
|
4010
|
+
tags: [
|
|
4011
|
+
TAG_TEMPLATES.siteCollection,
|
|
4012
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
4013
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
4014
|
+
],
|
|
4015
|
+
auth: "user",
|
|
4016
|
+
responseKind: "json"
|
|
4017
|
+
},
|
|
4018
|
+
publishPageSurface: {
|
|
4019
|
+
editLease: "managed",
|
|
4020
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/publication",
|
|
4021
|
+
method: "POST",
|
|
4022
|
+
errors: [
|
|
4023
|
+
"auth:forbidden",
|
|
4024
|
+
"validation:invalid_input",
|
|
4025
|
+
"resource:not_found",
|
|
4026
|
+
"resource:conflict",
|
|
4027
|
+
"server:internal_error"
|
|
4028
|
+
],
|
|
4029
|
+
tags: [
|
|
4030
|
+
TAG_TEMPLATES.siteCollection,
|
|
4031
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
4032
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
4033
|
+
],
|
|
4034
|
+
auth: "user",
|
|
4035
|
+
responseKind: "json"
|
|
4036
|
+
},
|
|
4037
|
+
saveEventContentTab: {
|
|
4038
|
+
editLease: "managed",
|
|
4039
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/event-content",
|
|
4040
|
+
method: "PUT",
|
|
4041
|
+
errors: [
|
|
4042
|
+
"auth:forbidden",
|
|
4043
|
+
"validation:invalid_input",
|
|
4044
|
+
"resource:not_found",
|
|
4045
|
+
"resource:conflict",
|
|
4046
|
+
"server:internal_error"
|
|
4047
|
+
],
|
|
4048
|
+
tags: [
|
|
4049
|
+
TAG_TEMPLATES.siteCollection,
|
|
4050
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
4051
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
4052
|
+
],
|
|
4053
|
+
auth: "user",
|
|
4054
|
+
responseKind: "json"
|
|
4055
|
+
}
|
|
4056
|
+
};
|
|
4057
|
+
//#endregion
|
|
4058
|
+
//#region ../api/src/bookingPeopleEndpointDefinitions.ts
|
|
4059
|
+
/**
|
|
4060
|
+
* People endpoints (#1356): the People list, its CSV export, and deleting a
|
|
4061
|
+
* person when nothing is attached to them.
|
|
4062
|
+
*/
|
|
4063
|
+
const BOOKING_PEOPLE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
4064
|
+
listPeople: {
|
|
4065
|
+
path: "/sites/{siteId}/bookings/people",
|
|
4066
|
+
method: "GET",
|
|
4067
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
4068
|
+
auth: "user",
|
|
4069
|
+
responseKind: "json",
|
|
4070
|
+
errors: ["server:internal_error"]
|
|
4071
|
+
},
|
|
4072
|
+
exportPeopleCsv: {
|
|
4073
|
+
path: "/sites/{siteId}/bookings/people/export.csv",
|
|
4074
|
+
method: "GET",
|
|
4075
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
4076
|
+
auth: "user",
|
|
4077
|
+
errors: [],
|
|
4078
|
+
responseKind: "blob"
|
|
4079
|
+
},
|
|
4080
|
+
checkPersonDeletion: {
|
|
4081
|
+
path: "/sites/{siteId}/bookings/people/{personId}/deletion-check",
|
|
4082
|
+
method: "GET",
|
|
4083
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
4084
|
+
auth: "user",
|
|
4085
|
+
responseKind: "json",
|
|
4086
|
+
errors: [
|
|
4087
|
+
"auth:forbidden",
|
|
4088
|
+
"resource:not_found",
|
|
4089
|
+
"server:internal_error"
|
|
4090
|
+
]
|
|
4091
|
+
},
|
|
4092
|
+
deletePerson: {
|
|
4093
|
+
path: "/sites/{siteId}/bookings/people/{personId}",
|
|
4094
|
+
method: "DELETE",
|
|
4095
|
+
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
4096
|
+
auth: "user",
|
|
4097
|
+
responseKind: "json",
|
|
4098
|
+
errors: [
|
|
4099
|
+
"auth:forbidden",
|
|
4100
|
+
"resource:not_found",
|
|
4101
|
+
"server:internal_error"
|
|
4102
|
+
]
|
|
4103
|
+
}
|
|
4104
|
+
});
|
|
4105
|
+
//#endregion
|
|
3830
4106
|
//#region ../api/src/clientErrorReporting.ts
|
|
3831
4107
|
const CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
|
|
3832
4108
|
path: "/client/error-report",
|
|
@@ -3862,6 +4138,7 @@ z.object({
|
|
|
3862
4138
|
sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
|
|
3863
4139
|
}).strict();
|
|
3864
4140
|
({
|
|
4141
|
+
...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
|
|
3865
4142
|
...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
|
|
3866
4143
|
...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
3867
4144
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
@@ -3870,12 +4147,14 @@ z.object({
|
|
|
3870
4147
|
...GIFTING_ENDPOINT_DEFINITIONS,
|
|
3871
4148
|
...PUBLIC_READ_ENDPOINT_DEFINITIONS,
|
|
3872
4149
|
...BILLING_ENDPOINT_DEFINITIONS,
|
|
4150
|
+
...EDIT_LEASE_ENDPOINT_DEFINITIONS,
|
|
4151
|
+
...PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS,
|
|
3873
4152
|
...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS
|
|
3874
4153
|
}), 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, {
|
|
3875
4154
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
3876
4155
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
3877
4156
|
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
3878
|
-
}, 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.
|
|
4157
|
+
}, 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 };
|
|
3879
4158
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
3880
4159
|
z.object({
|
|
3881
4160
|
accessToken: z.string().min(1).max(4096),
|
|
@@ -6376,13 +6655,16 @@ const SURFACE_FOREGROUND_CSS_VARS = {
|
|
|
6376
6655
|
text: "--rb-surface-text-color",
|
|
6377
6656
|
heading: "--rb-surface-heading-color",
|
|
6378
6657
|
link: "--rb-surface-link-color",
|
|
6658
|
+
linkHover: "--rb-surface-link-hover-color",
|
|
6379
6659
|
supporting: "--rb-surface-supporting-color"
|
|
6380
6660
|
};
|
|
6381
6661
|
const DEFAULT_SURFACE_TEXT_COLOR = "rgb(var(--tb-text, 17 24 39))";
|
|
6662
|
+
const DEFAULT_SURFACE_LINK_COLOR = "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))";
|
|
6382
6663
|
const DEFAULT_ROLE_FALLBACKS = {
|
|
6383
6664
|
text: DEFAULT_SURFACE_TEXT_COLOR,
|
|
6384
6665
|
heading: DEFAULT_SURFACE_TEXT_COLOR,
|
|
6385
|
-
link:
|
|
6666
|
+
link: DEFAULT_SURFACE_LINK_COLOR,
|
|
6667
|
+
linkHover: DEFAULT_SURFACE_LINK_COLOR,
|
|
6386
6668
|
supporting: "rgb(var(--tb-mutedText, 100 116 139))"
|
|
6387
6669
|
};
|
|
6388
6670
|
function requireSurfaceColorValue(role, value) {
|
|
@@ -6392,10 +6674,12 @@ function requireSurfaceColorValue(role, value) {
|
|
|
6392
6674
|
}
|
|
6393
6675
|
function completeSurfaceForegrounds(input) {
|
|
6394
6676
|
const text = requireSurfaceColorValue("text", input.text);
|
|
6677
|
+
const link = input.link === void 0 ? text : requireSurfaceColorValue("link", input.link);
|
|
6395
6678
|
return {
|
|
6396
6679
|
text,
|
|
6397
6680
|
heading: input.heading === void 0 ? text : requireSurfaceColorValue("heading", input.heading),
|
|
6398
|
-
link
|
|
6681
|
+
link,
|
|
6682
|
+
linkHover: input.linkHover === void 0 ? link : requireSurfaceColorValue("linkHover", input.linkHover),
|
|
6399
6683
|
supporting: input.supporting === void 0 ? text : requireSurfaceColorValue("supporting", input.supporting)
|
|
6400
6684
|
};
|
|
6401
6685
|
}
|
|
@@ -6403,6 +6687,7 @@ function surfaceForegroundValue(role, outsideProviderFallback = DEFAULT_ROLE_FAL
|
|
|
6403
6687
|
const roleVariable = SURFACE_FOREGROUND_CSS_VARS[role];
|
|
6404
6688
|
const fallback = requireSurfaceColorValue("fallback", outsideProviderFallback);
|
|
6405
6689
|
if (role === "text") return `var(${roleVariable}, ${fallback})`;
|
|
6690
|
+
if (role === "linkHover") return `var(${roleVariable}, ${surfaceForegroundValue("link", fallback)})`;
|
|
6406
6691
|
return `var(${roleVariable}, var(${SURFACE_FOREGROUND_CSS_VARS.text}, ${fallback}))`;
|
|
6407
6692
|
}
|
|
6408
6693
|
function surfaceForegroundValueWithOpacity(role, opacityPercent) {
|
|
@@ -6416,9 +6701,25 @@ function surfaceForegroundStyle(input) {
|
|
|
6416
6701
|
[SURFACE_FOREGROUND_CSS_VARS.text]: foregrounds.text,
|
|
6417
6702
|
[SURFACE_FOREGROUND_CSS_VARS.heading]: foregrounds.heading,
|
|
6418
6703
|
[SURFACE_FOREGROUND_CSS_VARS.link]: foregrounds.link,
|
|
6419
|
-
[SURFACE_FOREGROUND_CSS_VARS.
|
|
6704
|
+
[SURFACE_FOREGROUND_CSS_VARS.linkHover]: foregrounds.linkHover,
|
|
6705
|
+
[SURFACE_FOREGROUND_CSS_VARS.supporting]: foregrounds.supporting,
|
|
6706
|
+
"--rb-surface-link-hover-decoration": hoverDecoration(input)
|
|
6707
|
+
};
|
|
6708
|
+
}
|
|
6709
|
+
function surfaceForegroundInputFromResolved(foreground, color) {
|
|
6710
|
+
const { roles } = foreground;
|
|
6711
|
+
return {
|
|
6712
|
+
text: color(roles.text),
|
|
6713
|
+
heading: color(roles.heading),
|
|
6714
|
+
link: color(roles.link),
|
|
6715
|
+
linkHover: color(roles.linkHover),
|
|
6716
|
+
supporting: color(roles.supporting),
|
|
6717
|
+
hoverDecoration: foreground.hoverDecoration
|
|
6420
6718
|
};
|
|
6421
6719
|
}
|
|
6720
|
+
function hoverDecoration(input) {
|
|
6721
|
+
return input.hoverDecoration ?? "underline";
|
|
6722
|
+
}
|
|
6422
6723
|
//#endregion
|
|
6423
6724
|
//#region ../theme-core/src/buttons/constants.ts
|
|
6424
6725
|
/**
|
|
@@ -7173,6 +7474,64 @@ function parseAlpha(source) {
|
|
|
7173
7474
|
function isRgbChannel(value) {
|
|
7174
7475
|
return Number.isFinite(value) && value >= 0 && value <= 255;
|
|
7175
7476
|
}
|
|
7477
|
+
/**
|
|
7478
|
+
* Derive the hover foreground that belongs with a resolved resting foreground.
|
|
7479
|
+
*
|
|
7480
|
+
* A resting foreground is chosen to be legible against a known surface. A hover
|
|
7481
|
+
* state derived from it stays within a bounded distance of that colour, so it
|
|
7482
|
+
* inherits most of the resting colour's contrast margin instead of asserting
|
|
7483
|
+
* an unrelated brand colour that no one checked against the surface.
|
|
7484
|
+
*
|
|
7485
|
+
* That bounded-distance property is what lets this be used on a transparent
|
|
7486
|
+
* overlay header, where the backdrop is only partly knowable: the scrolled
|
|
7487
|
+
* state composites a 60% glass tint over arbitrary page content, so no
|
|
7488
|
+
* compile-time contrast proof is available there. Staying near a colour that
|
|
7489
|
+
* is already trusted in both states is a weaker claim than a contrast proof,
|
|
7490
|
+
* and it is one this function can actually keep.
|
|
7491
|
+
*
|
|
7492
|
+
* Returns `null` when the resting token is not a plain palette token — an
|
|
7493
|
+
* already-faded or raw value has no well-defined softening, and the caller
|
|
7494
|
+
* should leave hover alone rather than guess.
|
|
7495
|
+
*/
|
|
7496
|
+
function deriveForegroundHoverToken(restingToken) {
|
|
7497
|
+
const parts = parseColorTokenParts(restingToken);
|
|
7498
|
+
if (parts.kind !== "token") return null;
|
|
7499
|
+
if (parts.opacityPercent !== null) return null;
|
|
7500
|
+
return parseThemeColorToken(`${parts.token}/85`);
|
|
7501
|
+
}
|
|
7502
|
+
/**
|
|
7503
|
+
* Prefer an authored hover that survives every measured backdrop, then a
|
|
7504
|
+
* checked softening of the resting colour. A null backdrop set represents a
|
|
7505
|
+
* trusted treatment: only an explicit authored hover may change the colour.
|
|
7506
|
+
* When neither option works, retain the resting colour and underline it.
|
|
7507
|
+
*/
|
|
7508
|
+
function planForegroundHover(input) {
|
|
7509
|
+
const { restingToken, candidate, palette, backdrops } = input;
|
|
7510
|
+
if (candidate && candidate !== restingToken) {
|
|
7511
|
+
if (backdrops === null || survivesEveryBackdrop(candidate, palette, backdrops)) return {
|
|
7512
|
+
kind: "candidate",
|
|
7513
|
+
token: candidate,
|
|
7514
|
+
decoration: "initial"
|
|
7515
|
+
};
|
|
7516
|
+
}
|
|
7517
|
+
const softened = deriveForegroundHoverToken(restingToken);
|
|
7518
|
+
if (softened && backdrops && survivesEveryBackdrop(softened, palette, backdrops)) return {
|
|
7519
|
+
kind: "softened",
|
|
7520
|
+
token: softened,
|
|
7521
|
+
decoration: "initial"
|
|
7522
|
+
};
|
|
7523
|
+
return {
|
|
7524
|
+
kind: "resting",
|
|
7525
|
+
token: restingToken,
|
|
7526
|
+
decoration: "underline"
|
|
7527
|
+
};
|
|
7528
|
+
}
|
|
7529
|
+
function survivesEveryBackdrop(token, palette, backdrops) {
|
|
7530
|
+
return backdrops.length > 0 && backdrops.every((backdrop) => {
|
|
7531
|
+
const foreground = resolveOpaqueSurfaceHex(token, palette, backdrop);
|
|
7532
|
+
return foreground !== null && contrastRatio(foreground, backdrop) >= 4.5;
|
|
7533
|
+
});
|
|
7534
|
+
}
|
|
7176
7535
|
//#endregion
|
|
7177
7536
|
//#region ../theme-core/src/surfaces/resolveSurfaceForeground.ts
|
|
7178
7537
|
const FALLBACK_TEXT_TOKENS = [
|
|
@@ -7219,12 +7578,16 @@ function resolveSurfaceForeground(background, palette, candidates = {}, options
|
|
|
7219
7578
|
}
|
|
7220
7579
|
function foregroundCandidates(background, overrides) {
|
|
7221
7580
|
return {
|
|
7222
|
-
text: overrides.text
|
|
7223
|
-
heading: overrides.heading
|
|
7224
|
-
link: overrides.link
|
|
7225
|
-
|
|
7581
|
+
text: candidateOrBackground(overrides.text, background?.textColor),
|
|
7582
|
+
heading: candidateOrBackground(overrides.heading, background?.headingColor),
|
|
7583
|
+
link: candidateOrBackground(overrides.link, background?.linkColor),
|
|
7584
|
+
linkHover: candidateOrBackground(overrides.linkHover),
|
|
7585
|
+
supporting: candidateOrBackground(overrides.supporting, background?.supportingColor)
|
|
7226
7586
|
};
|
|
7227
7587
|
}
|
|
7588
|
+
function candidateOrBackground(candidate, backgroundValue) {
|
|
7589
|
+
return candidate ?? backgroundValue ?? null;
|
|
7590
|
+
}
|
|
7228
7591
|
function resolveDeterministicForeground(backgroundReference, candidates, palette, compositeBase) {
|
|
7229
7592
|
const backgroundHex = resolveOpaqueSurfaceHex(backgroundReference, palette, compositeBase);
|
|
7230
7593
|
if (!backgroundHex) return resolveTrustedTreatmentForeground(candidates, palette);
|
|
@@ -7236,29 +7599,51 @@ function resolveDeterministicForeground(backgroundReference, candidates, palette
|
|
|
7236
7599
|
...FALLBACK_TEXT_TOKENS
|
|
7237
7600
|
], backgroundHex, palette, derivedOnToken ? [derivedOnToken] : []);
|
|
7238
7601
|
if (!text) return { kind: "unknown" };
|
|
7239
|
-
return {
|
|
7240
|
-
|
|
7241
|
-
|
|
7242
|
-
|
|
7243
|
-
|
|
7244
|
-
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
};
|
|
7602
|
+
return knownForeground({
|
|
7603
|
+
text,
|
|
7604
|
+
heading: safeTokenOr(candidates.heading, text, backgroundHex, palette),
|
|
7605
|
+
link: safeTokenOr(candidates.link, text, backgroundHex, palette),
|
|
7606
|
+
supporting: safeTokenOr(candidates.supporting, text, backgroundHex, palette)
|
|
7607
|
+
}, {
|
|
7608
|
+
kind: "measured",
|
|
7609
|
+
backdropHex: backgroundHex
|
|
7610
|
+
}, candidates.linkHover, palette);
|
|
7248
7611
|
}
|
|
7249
7612
|
function resolveTrustedTreatmentForeground(candidates, palette) {
|
|
7250
7613
|
const text = canonicalToken(candidates.text, palette);
|
|
7251
7614
|
if (!text) return { kind: "unknown" };
|
|
7615
|
+
return knownForeground({
|
|
7616
|
+
text,
|
|
7617
|
+
heading: canonicalToken(candidates.heading, palette) ?? text,
|
|
7618
|
+
link: canonicalToken(candidates.link, palette) ?? text,
|
|
7619
|
+
supporting: canonicalToken(candidates.supporting, palette) ?? text
|
|
7620
|
+
}, { kind: "trusted-treatment" }, candidates.linkHover, palette);
|
|
7621
|
+
}
|
|
7622
|
+
function knownForeground(roles, provenance, hoverCandidate, palette) {
|
|
7623
|
+
const hover = planForegroundHover({
|
|
7624
|
+
restingToken: roles.link,
|
|
7625
|
+
candidate: canonicalHoverToken(hoverCandidate, palette),
|
|
7626
|
+
palette,
|
|
7627
|
+
backdrops: provenance.kind === "measured" ? [provenance.backdropHex] : null
|
|
7628
|
+
});
|
|
7252
7629
|
return {
|
|
7253
7630
|
kind: "known",
|
|
7631
|
+
provenance,
|
|
7254
7632
|
roles: {
|
|
7255
|
-
|
|
7256
|
-
|
|
7257
|
-
|
|
7258
|
-
|
|
7259
|
-
}
|
|
7633
|
+
...roles,
|
|
7634
|
+
linkHover: hover.token
|
|
7635
|
+
},
|
|
7636
|
+
hoverDecoration: hover.decoration
|
|
7260
7637
|
};
|
|
7261
7638
|
}
|
|
7639
|
+
function canonicalHoverToken(reference, palette) {
|
|
7640
|
+
const token = parseThemeColorToken(reference);
|
|
7641
|
+
if (token) {
|
|
7642
|
+
const parts = parseColorTokenParts(token);
|
|
7643
|
+
if (parts.kind === "token" && resolveConcreteColorHex(parts.token, palette)) return token;
|
|
7644
|
+
}
|
|
7645
|
+
return canonicalToken(reference, palette);
|
|
7646
|
+
}
|
|
7262
7647
|
function safeTokenOr(candidate, fallback, backgroundHex, palette) {
|
|
7263
7648
|
return firstSafeToken([candidate], backgroundHex, palette) ?? fallback;
|
|
7264
7649
|
}
|
|
@@ -10198,6 +10583,43 @@ const effectCompositionSchema = z.object({
|
|
|
10198
10583
|
/** Effects applied on focus */
|
|
10199
10584
|
focus: z.array(effectApplicationSchema).optional()
|
|
10200
10585
|
});
|
|
10586
|
+
const policiesById = {
|
|
10587
|
+
"darken-background": "other",
|
|
10588
|
+
"lighten-background": "other",
|
|
10589
|
+
"fade-background": "other",
|
|
10590
|
+
"opacity-reduce": "other",
|
|
10591
|
+
"animated-gradient": "other",
|
|
10592
|
+
"background-on-hover": "paired-hover",
|
|
10593
|
+
"background-on-hover-alpha": "paired-hover",
|
|
10594
|
+
"border-glow": "other",
|
|
10595
|
+
"drop-shadow": "other",
|
|
10596
|
+
"inner-shadow": "other",
|
|
10597
|
+
"neumorphic-shadow": "other",
|
|
10598
|
+
"outer-glow": "other",
|
|
10599
|
+
"retro-3d-shadow": "other",
|
|
10600
|
+
"scale-up": "other",
|
|
10601
|
+
"scale-down": "other",
|
|
10602
|
+
lift: "other",
|
|
10603
|
+
"press-down": "other",
|
|
10604
|
+
pop: "other",
|
|
10605
|
+
"aurora-glow": "other",
|
|
10606
|
+
"cosmic-stardust": "other",
|
|
10607
|
+
"gradient-border-fill": "other",
|
|
10608
|
+
"animated-gradient-border-fill": "other",
|
|
10609
|
+
"border-bottom-grow": "other",
|
|
10610
|
+
"gradient-text": "other",
|
|
10611
|
+
"text-color-change": "text-colour",
|
|
10612
|
+
"border-color-change": "other",
|
|
10613
|
+
"sketchy-border": "other",
|
|
10614
|
+
"pulse-animation": "other",
|
|
10615
|
+
"nav-underline": "underline",
|
|
10616
|
+
"nav-frosted-base": "other",
|
|
10617
|
+
"nav-frosted-hover": "other",
|
|
10618
|
+
"nav-frosted-active": "other"
|
|
10619
|
+
};
|
|
10620
|
+
function navEffectPolicy(effectId) {
|
|
10621
|
+
return policiesById[effectId] ?? null;
|
|
10622
|
+
}
|
|
10201
10623
|
//#endregion
|
|
10202
10624
|
//#region ../theme-core/src/navigation/types.ts
|
|
10203
10625
|
/**
|
|
@@ -10286,6 +10708,16 @@ const navLinkStyleSchema = z.object({
|
|
|
10286
10708
|
/** Composable effects */
|
|
10287
10709
|
effects: effectCompositionSchema.optional()
|
|
10288
10710
|
});
|
|
10711
|
+
function navLinkHoverColorCandidate(style) {
|
|
10712
|
+
const effect = style?.effects?.hover?.find((item) => navEffectPolicy(item.effectId) === "text-colour");
|
|
10713
|
+
return parseThemeColorToken(effect?.options?.hoverColorToken ?? style?.hoverColorToken);
|
|
10714
|
+
}
|
|
10715
|
+
function navLinkOwnsHoverForeground(style) {
|
|
10716
|
+
return style?.effects?.hover?.some((effect) => navEffectPolicy(effect.effectId) === "paired-hover") ?? false;
|
|
10717
|
+
}
|
|
10718
|
+
function navLinkOwnsUnderline(style) {
|
|
10719
|
+
return style?.effects?.hover?.some((effect) => navEffectPolicy(effect.effectId) === "underline") ?? false;
|
|
10720
|
+
}
|
|
10289
10721
|
//#endregion
|
|
10290
10722
|
//#region ../theme-core/src/customCss/validation.ts
|
|
10291
10723
|
/**
|
|
@@ -16474,6 +16906,14 @@ const blockDesignFallback = {
|
|
|
16474
16906
|
};
|
|
16475
16907
|
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
16476
16908
|
//#endregion
|
|
16909
|
+
//#region ../theme-core/src/header/rootPaint.ts
|
|
16910
|
+
/** The nav container takes precedence when a floating header also has one. */
|
|
16911
|
+
function headerRootPaint(header) {
|
|
16912
|
+
const navContainerType = header?.navContainer?.type ?? "none";
|
|
16913
|
+
if (navContainerType === "glass" || navContainerType === "pill") return "contained-nav";
|
|
16914
|
+
return header?.variant === "floating" ? "overlay" : "own-surface";
|
|
16915
|
+
}
|
|
16916
|
+
//#endregion
|
|
16477
16917
|
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
16478
16918
|
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
16479
16919
|
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
@@ -16653,6 +17093,259 @@ z.object(headerPreferencesShape).omit({
|
|
|
16653
17093
|
structure: true
|
|
16654
17094
|
}).strict();
|
|
16655
17095
|
//#endregion
|
|
17096
|
+
//#region ../theme-core/src/navigation/presets.ts
|
|
17097
|
+
/**
|
|
17098
|
+
* Built-in nav link style presets
|
|
17099
|
+
*
|
|
17100
|
+
* Each preset uses composable effects to achieve its look.
|
|
17101
|
+
*/
|
|
17102
|
+
const NAV_LINK_PRESETS = {
|
|
17103
|
+
/**
|
|
17104
|
+
* Minimal - subtle color change on hover
|
|
17105
|
+
*/
|
|
17106
|
+
minimal: {
|
|
17107
|
+
name: "Minimal",
|
|
17108
|
+
typography: "body",
|
|
17109
|
+
fontWeight: "medium",
|
|
17110
|
+
textTransform: "none",
|
|
17111
|
+
italic: false,
|
|
17112
|
+
colorToken: "text",
|
|
17113
|
+
hoverColorToken: "primary",
|
|
17114
|
+
padding: "none",
|
|
17115
|
+
borderRadius: "none",
|
|
17116
|
+
effects: { hover: [{
|
|
17117
|
+
effectId: "text-color-change",
|
|
17118
|
+
options: { hoverColorToken: "primary" }
|
|
17119
|
+
}] }
|
|
17120
|
+
},
|
|
17121
|
+
/**
|
|
17122
|
+
* Underline - static underline appears on hover
|
|
17123
|
+
*/
|
|
17124
|
+
underline: {
|
|
17125
|
+
name: "Underline",
|
|
17126
|
+
typography: "body",
|
|
17127
|
+
fontWeight: "medium",
|
|
17128
|
+
textTransform: "none",
|
|
17129
|
+
italic: false,
|
|
17130
|
+
colorToken: "text",
|
|
17131
|
+
padding: "none",
|
|
17132
|
+
borderRadius: "none",
|
|
17133
|
+
effects: { hover: [{
|
|
17134
|
+
effectId: "nav-underline",
|
|
17135
|
+
options: { style: "static" }
|
|
17136
|
+
}] }
|
|
17137
|
+
},
|
|
17138
|
+
/**
|
|
17139
|
+
* Underline Grow - animated underline grows from center on hover
|
|
17140
|
+
*/
|
|
17141
|
+
"underline-grow": {
|
|
17142
|
+
name: "Underline Grow",
|
|
17143
|
+
typography: "body",
|
|
17144
|
+
fontWeight: "medium",
|
|
17145
|
+
textTransform: "none",
|
|
17146
|
+
italic: false,
|
|
17147
|
+
colorToken: "text",
|
|
17148
|
+
padding: "none",
|
|
17149
|
+
borderRadius: "none",
|
|
17150
|
+
effects: { hover: [{
|
|
17151
|
+
effectId: "nav-underline",
|
|
17152
|
+
options: { style: "grow" }
|
|
17153
|
+
}] }
|
|
17154
|
+
},
|
|
17155
|
+
/**
|
|
17156
|
+
* Capsule - pill-shaped background on hover
|
|
17157
|
+
*/
|
|
17158
|
+
capsule: {
|
|
17159
|
+
name: "Capsule",
|
|
17160
|
+
typography: "body",
|
|
17161
|
+
fontWeight: "medium",
|
|
17162
|
+
textTransform: "none",
|
|
17163
|
+
italic: false,
|
|
17164
|
+
colorToken: "text",
|
|
17165
|
+
padding: "compact",
|
|
17166
|
+
borderRadius: "full",
|
|
17167
|
+
effects: {
|
|
17168
|
+
hover: [{
|
|
17169
|
+
effectId: "background-on-hover-alpha",
|
|
17170
|
+
options: {
|
|
17171
|
+
colorToken: "primary",
|
|
17172
|
+
opacity: 10
|
|
17173
|
+
}
|
|
17174
|
+
}],
|
|
17175
|
+
active: [{
|
|
17176
|
+
effectId: "background-on-hover-alpha",
|
|
17177
|
+
options: {
|
|
17178
|
+
colorToken: "primary",
|
|
17179
|
+
opacity: 15
|
|
17180
|
+
}
|
|
17181
|
+
}]
|
|
17182
|
+
}
|
|
17183
|
+
},
|
|
17184
|
+
/**
|
|
17185
|
+
* Solid - solid background color on hover
|
|
17186
|
+
*/
|
|
17187
|
+
solid: {
|
|
17188
|
+
name: "Solid",
|
|
17189
|
+
typography: "body",
|
|
17190
|
+
fontWeight: "medium",
|
|
17191
|
+
textTransform: "none",
|
|
17192
|
+
italic: false,
|
|
17193
|
+
colorToken: "text",
|
|
17194
|
+
padding: "compact",
|
|
17195
|
+
borderRadius: "none",
|
|
17196
|
+
effects: {
|
|
17197
|
+
hover: [{
|
|
17198
|
+
effectId: "background-on-hover",
|
|
17199
|
+
options: {
|
|
17200
|
+
colorToken: "primary",
|
|
17201
|
+
textColorToken: "primaryForeground"
|
|
17202
|
+
}
|
|
17203
|
+
}],
|
|
17204
|
+
active: [{
|
|
17205
|
+
effectId: "background-on-hover",
|
|
17206
|
+
options: {
|
|
17207
|
+
colorToken: "primary",
|
|
17208
|
+
textColorToken: "primaryForeground"
|
|
17209
|
+
}
|
|
17210
|
+
}]
|
|
17211
|
+
}
|
|
17212
|
+
},
|
|
17213
|
+
/**
|
|
17214
|
+
* Scale - gentle scale-up on hover
|
|
17215
|
+
*/
|
|
17216
|
+
scale: {
|
|
17217
|
+
name: "Scale",
|
|
17218
|
+
typography: "body",
|
|
17219
|
+
fontWeight: "medium",
|
|
17220
|
+
textTransform: "none",
|
|
17221
|
+
italic: false,
|
|
17222
|
+
colorToken: "text",
|
|
17223
|
+
padding: "none",
|
|
17224
|
+
borderRadius: "none",
|
|
17225
|
+
effects: { hover: [{
|
|
17226
|
+
effectId: "scale-up",
|
|
17227
|
+
options: { scale: 1.05 }
|
|
17228
|
+
}] }
|
|
17229
|
+
},
|
|
17230
|
+
/**
|
|
17231
|
+
* Frosted - semi-transparent glass-like background
|
|
17232
|
+
*/
|
|
17233
|
+
frosted: {
|
|
17234
|
+
name: "Frosted",
|
|
17235
|
+
typography: "body",
|
|
17236
|
+
fontWeight: "medium",
|
|
17237
|
+
textTransform: "none",
|
|
17238
|
+
italic: false,
|
|
17239
|
+
colorToken: "text",
|
|
17240
|
+
padding: "compact",
|
|
17241
|
+
borderRadius: "md",
|
|
17242
|
+
effects: {
|
|
17243
|
+
base: [{ effectId: "nav-frosted-base" }],
|
|
17244
|
+
hover: [{ effectId: "nav-frosted-hover" }],
|
|
17245
|
+
active: [{ effectId: "nav-frosted-active" }]
|
|
17246
|
+
}
|
|
17247
|
+
}
|
|
17248
|
+
};
|
|
17249
|
+
/**
|
|
17250
|
+
* Get a nav link style preset by ID
|
|
17251
|
+
*/
|
|
17252
|
+
function getNavLinkPreset(presetId) {
|
|
17253
|
+
return NAV_LINK_PRESETS[presetId];
|
|
17254
|
+
}
|
|
17255
|
+
Object.keys(NAV_LINK_PRESETS);
|
|
17256
|
+
//#endregion
|
|
17257
|
+
//#region ../theme-core/src/header/legacyNavLinkStyle.ts
|
|
17258
|
+
function buildLegacyHeaderNavLinkStyle(header, contrastTreatment, navTextSize) {
|
|
17259
|
+
const navStyle = header.navStyle ?? "minimal";
|
|
17260
|
+
const basePreset = getNavLinkPreset(navStyle);
|
|
17261
|
+
if (!basePreset) return null;
|
|
17262
|
+
const style = {
|
|
17263
|
+
...basePreset,
|
|
17264
|
+
fontWeight: header.navWeight ?? basePreset.fontWeight,
|
|
17265
|
+
colorToken: (header.navColor ?? header.textColor)?.trim() || basePreset.colorToken,
|
|
17266
|
+
...contrastTreatment ? { contrastTreatment } : {},
|
|
17267
|
+
...navTextSize ? { textSize: navTextSize } : {}
|
|
17268
|
+
};
|
|
17269
|
+
if (header.navWeight === "bold" && navStyle === "solid") style.textTransform = "uppercase";
|
|
17270
|
+
applyLegacyGlassTreatment(style, header, navStyle);
|
|
17271
|
+
return style;
|
|
17272
|
+
}
|
|
17273
|
+
function applyLegacyGlassTreatment(style, header, navStyle) {
|
|
17274
|
+
if (header.navContainer?.type !== "glass" || navStyle !== "minimal") return;
|
|
17275
|
+
style.borderRadius = "full";
|
|
17276
|
+
style.effects = {
|
|
17277
|
+
...style.effects,
|
|
17278
|
+
hover: glassStateEffects(10),
|
|
17279
|
+
active: glassStateEffects(18)
|
|
17280
|
+
};
|
|
17281
|
+
}
|
|
17282
|
+
function glassStateEffects(opacity) {
|
|
17283
|
+
return [{
|
|
17284
|
+
effectId: "background-on-hover-alpha",
|
|
17285
|
+
options: {
|
|
17286
|
+
colorToken: "neutral-50",
|
|
17287
|
+
opacity
|
|
17288
|
+
}
|
|
17289
|
+
}, {
|
|
17290
|
+
effectId: "text-color-change",
|
|
17291
|
+
options: { hoverColorToken: "neutral-50" }
|
|
17292
|
+
}];
|
|
17293
|
+
}
|
|
17294
|
+
//#endregion
|
|
17295
|
+
//#region ../theme-core/src/header/openingForegroundProjection.ts
|
|
17296
|
+
function readOpeningForegroundProjection(header) {
|
|
17297
|
+
return header?.__runtimeOpeningForeground ?? null;
|
|
17298
|
+
}
|
|
17299
|
+
//#endregion
|
|
17300
|
+
//#region ../theme-core/src/header/effectiveNavLinkStyle.ts
|
|
17301
|
+
function effectiveHeaderNavLinkStyle(header, contrastTreatment = null, navTextSize = null) {
|
|
17302
|
+
if (!header) return null;
|
|
17303
|
+
if (!header.navLinkStyle) return buildLegacyHeaderNavLinkStyle(header, contrastTreatment, navTextSize);
|
|
17304
|
+
return {
|
|
17305
|
+
...header.navLinkStyle,
|
|
17306
|
+
...contrastTreatment ? { contrastTreatment } : {},
|
|
17307
|
+
...navTextSize ? { textSize: navTextSize } : {}
|
|
17308
|
+
};
|
|
17309
|
+
}
|
|
17310
|
+
function headerForegroundCandidates(header) {
|
|
17311
|
+
if (!header) return {};
|
|
17312
|
+
const style = effectiveHeaderNavLinkStyle(header);
|
|
17313
|
+
return {
|
|
17314
|
+
text: header.textColor ?? header.background?.textColor,
|
|
17315
|
+
link: style?.colorToken ?? header.navColor ?? header.textColor,
|
|
17316
|
+
linkHover: navLinkHoverColorCandidate(style)
|
|
17317
|
+
};
|
|
17318
|
+
}
|
|
17319
|
+
function headerLeafTextColor(header) {
|
|
17320
|
+
if (!header) return "text";
|
|
17321
|
+
return header.textColor ?? header.navColor ?? header.background?.textColor ?? header.navLinkStyle?.colorToken ?? "text";
|
|
17322
|
+
}
|
|
17323
|
+
/** Transparent chrome must reset the whole contract on its own root. */
|
|
17324
|
+
function transparentHeaderForegroundInput(header, palette) {
|
|
17325
|
+
const projection = readOpeningForegroundProjection(header);
|
|
17326
|
+
if (projection?.kind === "known") return surfaceForegroundInputFromResolved(projection, rgbColorValue);
|
|
17327
|
+
return authoredTransparentHeaderForegroundInput(header, palette);
|
|
17328
|
+
}
|
|
17329
|
+
function authoredTransparentHeaderForegroundInput(header, palette) {
|
|
17330
|
+
const text = headerLeafTextColor(header);
|
|
17331
|
+
const style = effectiveHeaderNavLinkStyle(header);
|
|
17332
|
+
const link = style?.colorToken ?? text;
|
|
17333
|
+
const restingToken = parseThemeColorToken(link) ?? parseThemeColorToken("text");
|
|
17334
|
+
if (!restingToken) throw new Error("Built-in text colour token is invalid");
|
|
17335
|
+
const hover = planForegroundHover({
|
|
17336
|
+
restingToken,
|
|
17337
|
+
candidate: navLinkOwnsHoverForeground(style) ? null : navLinkHoverColorCandidate(style),
|
|
17338
|
+
palette,
|
|
17339
|
+
backdrops: null
|
|
17340
|
+
});
|
|
17341
|
+
return {
|
|
17342
|
+
text: rgbColorValue(text),
|
|
17343
|
+
link: rgbColorValue(link),
|
|
17344
|
+
linkHover: rgbColorValue(hover.token),
|
|
17345
|
+
hoverDecoration: navLinkOwnsUnderline(style) ? "initial" : hover.decoration
|
|
17346
|
+
};
|
|
17347
|
+
}
|
|
17348
|
+
//#endregion
|
|
16656
17349
|
//#region ../theme-core/src/site-styles/pageDesignAuthority.ts
|
|
16657
17350
|
const nonEmptyStringSchema = z.string().min(1);
|
|
16658
17351
|
const blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
|
|
@@ -16805,6 +17498,28 @@ z.object({
|
|
|
16805
17498
|
motion: z.enum(themeTokenRecipeOptions.motion)
|
|
16806
17499
|
});
|
|
16807
17500
|
//#endregion
|
|
17501
|
+
//#region ../theme-core/src/footer/effectiveNavLinkStyle.ts
|
|
17502
|
+
function effectiveFooterNavLinkStyle(footer) {
|
|
17503
|
+
if (!footer) return null;
|
|
17504
|
+
if (footer.navLinkStyle) return footer.navLinkStyle;
|
|
17505
|
+
const basePreset = getNavLinkPreset(footer.navStyle ?? "minimal");
|
|
17506
|
+
if (!basePreset) return null;
|
|
17507
|
+
return {
|
|
17508
|
+
...basePreset,
|
|
17509
|
+
fontWeight: footer.navWeight ?? basePreset.fontWeight,
|
|
17510
|
+
colorToken: footer.navColor?.trim() || basePreset.colorToken
|
|
17511
|
+
};
|
|
17512
|
+
}
|
|
17513
|
+
function footerForegroundCandidates(footer, proseHoverCandidate) {
|
|
17514
|
+
if (!footer) return {};
|
|
17515
|
+
const style = effectiveFooterNavLinkStyle(footer);
|
|
17516
|
+
return {
|
|
17517
|
+
text: footer.background?.textColor,
|
|
17518
|
+
link: style?.colorToken ?? footer.navColor ?? footer.background?.textColor,
|
|
17519
|
+
linkHover: navLinkOwnsHoverForeground(style) ? proseHoverCandidate : navLinkHoverColorCandidate(style)
|
|
17520
|
+
};
|
|
17521
|
+
}
|
|
17522
|
+
//#endregion
|
|
16808
17523
|
//#region ../theme-core/src/siteChromeOverlayClearance.ts
|
|
16809
17524
|
const SITE_CHROME_VISIBLE_HEADER_ATTR = "data-site-chrome-visible-header";
|
|
16810
17525
|
//#endregion
|
|
@@ -19778,33 +20493,28 @@ function resolveBackgroundColorValue(value, context) {
|
|
|
19778
20493
|
//#endregion
|
|
19779
20494
|
//#region ../blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.ts
|
|
19780
20495
|
const contextualButtonStylesCache = /* @__PURE__ */ new WeakMap();
|
|
19781
|
-
function resolveHeaderLeafTextColor(header) {
|
|
19782
|
-
return header?.textColor ?? header?.navColor ?? header?.background?.textColor ?? header?.navLinkStyle?.colorToken ?? "text";
|
|
19783
|
-
}
|
|
19784
20496
|
function resolveHeaderRootForeground(header, palette, isTransparent) {
|
|
19785
|
-
if (isTransparent) return { kind: "unknown" };
|
|
20497
|
+
if (isTransparent) return readOpeningForegroundProjection(header) ?? { kind: "unknown" };
|
|
19786
20498
|
const background = header?.background;
|
|
19787
20499
|
return resolveSurfaceForeground(background ?? {
|
|
19788
20500
|
type: "color",
|
|
19789
20501
|
color: "surface"
|
|
19790
|
-
}, palette,
|
|
19791
|
-
|
|
19792
|
-
|
|
19793
|
-
|
|
20502
|
+
}, palette, headerForegroundCandidates(header));
|
|
20503
|
+
}
|
|
20504
|
+
function resolveFooterRootForeground(footer, palette, proseHoverCandidate) {
|
|
20505
|
+
return resolveSurfaceForeground(footer?.background ?? {
|
|
20506
|
+
type: "color",
|
|
20507
|
+
color: "surface"
|
|
20508
|
+
}, palette, footerForegroundCandidates(footer, proseHoverCandidate), { compositeBase: "background" });
|
|
19794
20509
|
}
|
|
19795
20510
|
function resolveSurfaceForegroundStyles(value, context, options) {
|
|
19796
20511
|
const input = parseBackgroundContent(value);
|
|
19797
|
-
const foreground = input ? resolveSurfaceForeground(input, context.theme.palette, {}, { compositeBase: options?.fallbackToken }) : { kind: "unknown" };
|
|
20512
|
+
const foreground = input ? resolveSurfaceForeground(input, context.theme.palette, { linkHover: context.proseHoverCandidate }, { compositeBase: options?.fallbackToken }) : { kind: "unknown" };
|
|
19798
20513
|
const buttonStyles = resolveContextualButtonStyles(input, foreground, context, options);
|
|
19799
20514
|
if (foreground.kind === "unknown") return buttonStyles;
|
|
19800
20515
|
return {
|
|
19801
20516
|
...buttonStyles,
|
|
19802
|
-
...surfaceForegroundStyle(
|
|
19803
|
-
text: resolveBackgroundColorValue(foreground.roles.text, context),
|
|
19804
|
-
heading: resolveBackgroundColorValue(foreground.roles.heading, context),
|
|
19805
|
-
link: resolveBackgroundColorValue(foreground.roles.link, context),
|
|
19806
|
-
supporting: resolveBackgroundColorValue(foreground.roles.supporting, context)
|
|
19807
|
-
})
|
|
20517
|
+
...surfaceForegroundStyle(surfaceForegroundInputFromResolved(foreground, (token) => resolveBackgroundColorValue(token, context)))
|
|
19808
20518
|
};
|
|
19809
20519
|
}
|
|
19810
20520
|
function resolveContextualButtonStyles(background, foreground, context, options) {
|
|
@@ -25620,10 +26330,7 @@ function resolveBackgroundVisualStyles(backgroundColor, defaultToken = "surface"
|
|
|
25620
26330
|
};
|
|
25621
26331
|
}
|
|
25622
26332
|
function resolveHeaderVisualStyles(header) {
|
|
25623
|
-
|
|
25624
|
-
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
25625
|
-
const hasOverlayVariant = header?.variant === "floating";
|
|
25626
|
-
if (hasContainedNav || hasOverlayVariant) return {
|
|
26333
|
+
if (headerRootPaint(header) !== "own-surface") return {
|
|
25627
26334
|
backgroundToken: "transparent",
|
|
25628
26335
|
isTransparent: true
|
|
25629
26336
|
};
|
|
@@ -25634,23 +26341,7 @@ function resolveHeaderVisualStyles(header) {
|
|
|
25634
26341
|
}
|
|
25635
26342
|
function resolvedForegroundStyle(foreground) {
|
|
25636
26343
|
if (foreground.kind === "unknown") return void 0;
|
|
25637
|
-
|
|
25638
|
-
return surfaceForegroundStyle({
|
|
25639
|
-
text: rgbColorValue(roles.text),
|
|
25640
|
-
heading: rgbColorValue(roles.heading),
|
|
25641
|
-
link: rgbColorValue(roles.link),
|
|
25642
|
-
supporting: rgbColorValue(roles.supporting)
|
|
25643
|
-
});
|
|
25644
|
-
}
|
|
25645
|
-
function resolveFooterRootForeground(footer, palette) {
|
|
25646
|
-
const background = footer?.background;
|
|
25647
|
-
return resolveSurfaceForeground(background ?? {
|
|
25648
|
-
type: "color",
|
|
25649
|
-
color: "surface"
|
|
25650
|
-
}, palette, {
|
|
25651
|
-
text: background?.textColor,
|
|
25652
|
-
link: footer?.navLinkStyle?.colorToken ?? footer?.navColor ?? background?.textColor
|
|
25653
|
-
});
|
|
26344
|
+
return surfaceForegroundStyle(surfaceForegroundInputFromResolved(foreground, rgbColorValue));
|
|
25654
26345
|
}
|
|
25655
26346
|
function footerBottomBarBorderWidthStyle(width) {
|
|
25656
26347
|
if (!width) return void 0;
|
|
@@ -25677,8 +26368,7 @@ const headerRootClassTransform = {
|
|
|
25677
26368
|
const placement = planSiteChromePlacement(parseHeaderPositioning(content.positioning));
|
|
25678
26369
|
const header = asPartialObject(value);
|
|
25679
26370
|
const visuals = resolveHeaderVisualStyles(header);
|
|
25680
|
-
const
|
|
25681
|
-
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
26371
|
+
const hasContainedNav = headerRootPaint(header) === "contained-nav";
|
|
25682
26372
|
const backgroundClass = visuals.isTransparent || hasContainedNav ? "rb-bg-transparent" : null;
|
|
25683
26373
|
const classes = [config.base, backgroundClass];
|
|
25684
26374
|
if (!hasContainedNav) {
|
|
@@ -25721,7 +26411,7 @@ const headerRootStyleTransform = {
|
|
|
25721
26411
|
run: (value, _options, context) => {
|
|
25722
26412
|
const header = asPartialObject(value);
|
|
25723
26413
|
const visuals = resolveHeaderVisualStyles(header);
|
|
25724
|
-
return mergeStyles(resolvedForegroundStyle(resolveHeaderRootForeground(header, context.theme.palette, visuals.isTransparent)) ?? { color: rgbColorValue(
|
|
26414
|
+
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"));
|
|
25725
26415
|
}
|
|
25726
26416
|
};
|
|
25727
26417
|
const headerSectionBackgroundTransform = {
|
|
@@ -25729,9 +26419,7 @@ const headerSectionBackgroundTransform = {
|
|
|
25729
26419
|
kind: "string",
|
|
25730
26420
|
summary: "Resolve the inner site-header section background token",
|
|
25731
26421
|
run: (value) => {
|
|
25732
|
-
|
|
25733
|
-
const navContainerType = header?.navContainer?.type ?? "none";
|
|
25734
|
-
return header?.variant === "floating" || navContainerType === "glass" || navContainerType === "pill" ? "raw:transparent" : "background";
|
|
26422
|
+
return headerRootPaint(asPartialObject(value)) !== "own-surface" ? "raw:transparent" : "background";
|
|
25735
26423
|
}
|
|
25736
26424
|
};
|
|
25737
26425
|
const footerRootStyleTransform = {
|
|
@@ -25749,7 +26437,7 @@ const footerRootStyleTransform = {
|
|
|
25749
26437
|
styleParts.push(backgroundColorStyle(token));
|
|
25750
26438
|
}
|
|
25751
26439
|
}
|
|
25752
|
-
styleParts.push(resolvedForegroundStyle(resolveFooterRootForeground(footer, context.theme.palette)));
|
|
26440
|
+
styleParts.push(resolvedForegroundStyle(resolveFooterRootForeground(footer, context.theme.palette, context.proseHoverCandidate)));
|
|
25753
26441
|
styleParts.push(borderColorStyle("border"));
|
|
25754
26442
|
return mergeStyles(...styleParts);
|
|
25755
26443
|
}
|
|
@@ -25811,22 +26499,28 @@ const footerBottomBarStyleTransform = {
|
|
|
25811
26499
|
run: (value, _options, context) => {
|
|
25812
26500
|
const footer = asPartialObject(value);
|
|
25813
26501
|
const bottomBar = footer?.bottomBar;
|
|
25814
|
-
|
|
25815
|
-
const background = bottomBar?.background;
|
|
25816
|
-
if (background?.type === "color") styleParts.push(backgroundColorStyle(background.color ?? "surface"));
|
|
25817
|
-
styleParts.push(borderColorStyle(bottomBar?.borderTop?.colorToken ?? "border"), footerBottomBarBorderWidthStyle(bottomBar?.borderTop?.width));
|
|
25818
|
-
const foreground = resolveSurfaceForeground(background?.type === "color" ? background : {
|
|
25819
|
-
type: "color",
|
|
25820
|
-
color: "transparent"
|
|
25821
|
-
}, context.theme.palette, {
|
|
25822
|
-
text: bottomBar?.textColor,
|
|
25823
|
-
link: footer?.bottomTextLinkStyle?.colorToken ?? bottomBar?.textColor
|
|
25824
|
-
});
|
|
25825
|
-
if (background?.type === "color") styleParts.push(resolvedForegroundStyle(foreground));
|
|
25826
|
-
else if (bottomBar?.textColor) styleParts.push(textColorStyle(bottomBar.textColor));
|
|
25827
|
-
return mergeStyles(...styleParts);
|
|
26502
|
+
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));
|
|
25828
26503
|
}
|
|
25829
26504
|
};
|
|
26505
|
+
function footerBottomBarForegroundStyle(footer, palette) {
|
|
26506
|
+
if (!footer?.bottomBar) return void 0;
|
|
26507
|
+
const bar = footer.bottomBar;
|
|
26508
|
+
if (bar.background?.type !== "color") return backgroundlessBottomBarForegroundStyle(footer);
|
|
26509
|
+
return resolvedForegroundStyle(resolveSurfaceForeground(bar.background, palette, {
|
|
26510
|
+
text: bar.textColor,
|
|
26511
|
+
link: footer.bottomTextLinkStyle?.colorToken ?? bar.textColor,
|
|
26512
|
+
linkHover: footer.bottomTextLinkStyle?.hoverColorToken
|
|
26513
|
+
}, { compositeBase: measuredFooterBackdrop(footer, palette) }));
|
|
26514
|
+
}
|
|
26515
|
+
function backgroundlessBottomBarForegroundStyle(footer) {
|
|
26516
|
+
if (footer.background?.contentOwner === "site-chrome-editor") return;
|
|
26517
|
+
const textColor = footer.bottomBar?.textColor;
|
|
26518
|
+
return textColor ? textColorStyle(textColor) : void 0;
|
|
26519
|
+
}
|
|
26520
|
+
function measuredFooterBackdrop(footer, palette) {
|
|
26521
|
+
const foreground = resolveFooterRootForeground(footer, palette);
|
|
26522
|
+
return foreground.kind === "known" && foreground.provenance.kind === "measured" ? foreground.provenance.backdropHex : null;
|
|
26523
|
+
}
|
|
25830
26524
|
const footerSplitMainClassTransform = {
|
|
25831
26525
|
id: "layout.footerSplitMainClass",
|
|
25832
26526
|
kind: "string",
|
|
@@ -25922,7 +26616,7 @@ function chromeSurfaceTextToken(surface, theme, palette) {
|
|
|
25922
26616
|
case "header-root": {
|
|
25923
26617
|
const header = theme.header;
|
|
25924
26618
|
const foreground = resolveHeaderRootForeground(header, palette, resolveHeaderVisualStyles(header).isTransparent);
|
|
25925
|
-
return foreground.kind === "known" ? foreground.roles.text :
|
|
26619
|
+
return foreground.kind === "known" ? foreground.roles.text : headerLeafTextColor(header);
|
|
25926
26620
|
}
|
|
25927
26621
|
case "header-mobile-panel": return theme.header?.dropdownStyle?.textColor ?? "text";
|
|
25928
26622
|
case "footer-root": {
|
|
@@ -28003,13 +28697,19 @@ const bookingDescription = richText({}, bind("content.description"), when("conte
|
|
|
28003
28697
|
* that hydration never rewrites.
|
|
28004
28698
|
*/
|
|
28005
28699
|
const bookingWizard = bookingForm(withApiBindings({
|
|
28700
|
+
demoEmailSuppressed: { $bind: {
|
|
28701
|
+
from: "$root.demoEmailSuppressed",
|
|
28702
|
+
fallback: false
|
|
28703
|
+
} },
|
|
28006
28704
|
portalToken: { $bind: {
|
|
28007
28705
|
from: "$root.portalToken",
|
|
28008
28706
|
fallback: null
|
|
28009
28707
|
} },
|
|
28010
28708
|
formId: { $bind: { from: "content.formId" } },
|
|
28011
28709
|
form: { $bind: { from: "data.form" } },
|
|
28012
|
-
services: { $bind: { from: "data.services" } }
|
|
28710
|
+
services: { $bind: { from: "data.services" } },
|
|
28711
|
+
mailingList: { $bind: { from: "$root.mailingList" } },
|
|
28712
|
+
siteName: { $bind: { from: "$root.siteName" } }
|
|
28013
28713
|
}));
|
|
28014
28714
|
/** Both variants sit in the same section shell; only the inner layout differs. */
|
|
28015
28715
|
function bookingSection(children) {
|
|
@@ -28804,7 +29504,6 @@ const publicEventBaseSchema = z.object({
|
|
|
28804
29504
|
description: z.string().nullable(),
|
|
28805
29505
|
content: z.object({ body: RichTextDocSchema.nullable().optional() }).optional(),
|
|
28806
29506
|
presentation: z.object({
|
|
28807
|
-
cardTitleOverride: z.string().nullable().optional(),
|
|
28808
29507
|
summary: z.string().nullable().optional(),
|
|
28809
29508
|
image: mediaSchema.nullable().optional()
|
|
28810
29509
|
}).optional(),
|
|
@@ -28837,6 +29536,7 @@ const publicEventBaseSchema = z.object({
|
|
|
28837
29536
|
"archived"
|
|
28838
29537
|
]).optional(),
|
|
28839
29538
|
timeZone: z.string(),
|
|
29539
|
+
siteTimeZone: z.string().optional(),
|
|
28840
29540
|
pricing: publicEventPricingSchema,
|
|
28841
29541
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28842
29542
|
cancellationPolicy: z.object({ refunds: z.object({
|
|
@@ -29500,6 +30200,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
|
|
|
29500
30200
|
];
|
|
29501
30201
|
const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
|
|
29502
30202
|
const eventRegistrationHydrationSchemaShape = {
|
|
30203
|
+
demoEmailSuppressed: z.boolean().optional(),
|
|
29503
30204
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
29504
30205
|
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
29505
30206
|
maxTickets: z.string().optional(),
|
|
@@ -29511,7 +30212,13 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
29511
30212
|
spamProtectionEnabled: z.boolean().optional(),
|
|
29512
30213
|
supportEmail: z.string().optional(),
|
|
29513
30214
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
29514
|
-
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
30215
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional(),
|
|
30216
|
+
mailingList: z.unknown().transform((value) => {
|
|
30217
|
+
if (value === void 0) return void 0;
|
|
30218
|
+
const parsed = parseMailingListRuntimeContext(value);
|
|
30219
|
+
return parsed.ok ? parsed.value : void 0;
|
|
30220
|
+
}),
|
|
30221
|
+
siteName: z.string().optional()
|
|
29515
30222
|
};
|
|
29516
30223
|
const eventRegistrationEventSourceSchema = z.discriminatedUnion("kind", [z.object({
|
|
29517
30224
|
kind: z.literal("loaded"),
|
|
@@ -29674,6 +30381,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
29674
30381
|
...eventSource,
|
|
29675
30382
|
events: [...scopedSourceEvents]
|
|
29676
30383
|
} : eventSource,
|
|
30384
|
+
demoEmailSuppressed: source.demoEmailSuppressed,
|
|
29677
30385
|
maxTickets: source.maxTickets ?? void 0,
|
|
29678
30386
|
showVenue: source.showVenue,
|
|
29679
30387
|
showCapacity: source.showCapacity,
|
|
@@ -29683,7 +30391,9 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
29683
30391
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
29684
30392
|
supportEmail: source.supportEmail,
|
|
29685
30393
|
sitePasses: source.sitePasses ?? null,
|
|
29686
|
-
siteMemberships: source.siteMemberships ?? null
|
|
30394
|
+
siteMemberships: source.siteMemberships ?? null,
|
|
30395
|
+
mailingList: source.mailingList,
|
|
30396
|
+
siteName: source.siteName
|
|
29687
30397
|
}
|
|
29688
30398
|
};
|
|
29689
30399
|
}
|
|
@@ -29800,8 +30510,8 @@ const eventRegistrationBlockDefinition = {
|
|
|
29800
30510
|
description: "Message shown after successful registration",
|
|
29801
30511
|
required: false,
|
|
29802
30512
|
multiline: true,
|
|
29803
|
-
|
|
29804
|
-
|
|
30513
|
+
maxLength: 500,
|
|
30514
|
+
ui: { placeholder: "Thank you for registering! Check your email for confirmation details." }
|
|
29805
30515
|
},
|
|
29806
30516
|
{
|
|
29807
30517
|
id: "buttonText",
|
|
@@ -29822,6 +30532,10 @@ const eventRegistrationBlockDefinition = {
|
|
|
29822
30532
|
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
29823
30533
|
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
29824
30534
|
eventRegistration(withApiBindings({
|
|
30535
|
+
demoEmailSuppressed: { $bind: {
|
|
30536
|
+
from: "$root.demoEmailSuppressed",
|
|
30537
|
+
fallback: false
|
|
30538
|
+
} },
|
|
29825
30539
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
29826
30540
|
occurrenceContext: { $bind: { from: "$root.occurrenceContext" } },
|
|
29827
30541
|
subject: { $bind: { from: "$root.subject" } },
|
|
@@ -29851,6 +30565,8 @@ const eventRegistrationBlockDefinition = {
|
|
|
29851
30565
|
events: { $bind: { from: "data.events" } },
|
|
29852
30566
|
wholeSeriesRunEvents: { $bind: { from: "data.wholeSeriesRunEvents" } },
|
|
29853
30567
|
loaderFailures: { $bind: { from: "$root.loaderFailures" } },
|
|
30568
|
+
mailingList: { $bind: { from: "$root.mailingList" } },
|
|
30569
|
+
siteName: { $bind: { from: "$root.siteName" } },
|
|
29854
30570
|
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
29855
30571
|
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
29856
30572
|
stage: { $bind: {
|
|
@@ -35049,6 +35765,7 @@ const shopSourceSchema = z.object({
|
|
|
35049
35765
|
memberships: z.array(publicMembershipProductSchema).nullable().optional(),
|
|
35050
35766
|
products: z.array(publicProductSchema).nullable().optional(),
|
|
35051
35767
|
siteId: z.string().optional(),
|
|
35768
|
+
demoEmailSuppressed: z.boolean().optional(),
|
|
35052
35769
|
apiBaseUrl: z.string().optional(),
|
|
35053
35770
|
readAuthority: browserReadAuthoritySchema.optional(),
|
|
35054
35771
|
stage: previewStageSchema.optional()
|
|
@@ -35168,7 +35885,8 @@ const checkoutDisplaySchema = z.object({
|
|
|
35168
35885
|
const passesMembershipsHydrationSchema = z.object({
|
|
35169
35886
|
memberships: z.array(publicMembershipProductSchema),
|
|
35170
35887
|
passPurchaseMode: z.enum(["add_to_cart", "buy_now"]),
|
|
35171
|
-
buttonVariant: blockButtonRoleSchema
|
|
35888
|
+
buttonVariant: blockButtonRoleSchema,
|
|
35889
|
+
demoEmailSuppressed: z.boolean().optional()
|
|
35172
35890
|
});
|
|
35173
35891
|
const productListHydrationSchema = z.object({
|
|
35174
35892
|
products: z.array(publicProductSchema),
|
|
@@ -35190,7 +35908,8 @@ const cartHydrationSchema = z.object({
|
|
|
35190
35908
|
});
|
|
35191
35909
|
const checkoutHydrationSchema = z.object({
|
|
35192
35910
|
emptyStateText: z.string(),
|
|
35193
|
-
submitButtonText: z.string()
|
|
35911
|
+
submitButtonText: z.string(),
|
|
35912
|
+
demoEmailSuppressed: z.boolean().optional()
|
|
35194
35913
|
});
|
|
35195
35914
|
const passesMembershipsRenderSchema = z.object({
|
|
35196
35915
|
display: passesMembershipsDisplaySchema,
|
|
@@ -35249,7 +35968,8 @@ const shopBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
35249
35968
|
hydration: {
|
|
35250
35969
|
memberships: source.showMemberships === false ? [] : source.memberships ?? [],
|
|
35251
35970
|
passPurchaseMode,
|
|
35252
|
-
buttonVariant: source.buttonVariant ?? "primary"
|
|
35971
|
+
buttonVariant: source.buttonVariant ?? "primary",
|
|
35972
|
+
demoEmailSuppressed: source.demoEmailSuppressed
|
|
35253
35973
|
}
|
|
35254
35974
|
};
|
|
35255
35975
|
}
|
|
@@ -35342,7 +36062,8 @@ const checkoutBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
35342
36062
|
}),
|
|
35343
36063
|
hydration: {
|
|
35344
36064
|
emptyStateText: source.emptyStateText ?? "Add something to your cart to continue.",
|
|
35345
|
-
submitButtonText: source.submitButtonText ?? "Checkout"
|
|
36065
|
+
submitButtonText: source.submitButtonText ?? "Checkout",
|
|
36066
|
+
demoEmailSuppressed: source.demoEmailSuppressed
|
|
35346
36067
|
}
|
|
35347
36068
|
})
|
|
35348
36069
|
});
|
|
@@ -35560,6 +36281,10 @@ const shopBlockDefinition = {
|
|
|
35560
36281
|
spacing: "spacious",
|
|
35561
36282
|
children: sectionContainer([shop(withApiBindings({
|
|
35562
36283
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
36284
|
+
demoEmailSuppressed: { $bind: {
|
|
36285
|
+
from: "$root.demoEmailSuppressed",
|
|
36286
|
+
fallback: false
|
|
36287
|
+
} },
|
|
35563
36288
|
mode: "passes-memberships",
|
|
35564
36289
|
showPasses: { $bind: {
|
|
35565
36290
|
from: "content.showPasses",
|
|
@@ -36102,6 +36827,10 @@ const checkoutBlockDefinition = {
|
|
|
36102
36827
|
baseClass: "",
|
|
36103
36828
|
spacing: "spacious",
|
|
36104
36829
|
children: sectionContainer([checkout(withApiBindings({
|
|
36830
|
+
demoEmailSuppressed: { $bind: {
|
|
36831
|
+
from: "$root.demoEmailSuppressed",
|
|
36832
|
+
fallback: false
|
|
36833
|
+
} },
|
|
36105
36834
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
36106
36835
|
mode: "checkout",
|
|
36107
36836
|
heading: { $bind: {
|
|
@@ -36734,65 +37463,67 @@ const editorialSplitLayout = styledSection({
|
|
|
36734
37463
|
spacing: "comfortable",
|
|
36735
37464
|
background: "surface"
|
|
36736
37465
|
});
|
|
36737
|
-
const
|
|
36738
|
-
|
|
36739
|
-
|
|
36740
|
-
|
|
36741
|
-
|
|
36742
|
-
|
|
36743
|
-
|
|
36744
|
-
|
|
36745
|
-
|
|
36746
|
-
|
|
36747
|
-
|
|
36748
|
-
|
|
36749
|
-
|
|
36750
|
-
|
|
36751
|
-
|
|
36752
|
-
|
|
36753
|
-
|
|
36754
|
-
|
|
36755
|
-
|
|
36756
|
-
|
|
36757
|
-
|
|
36758
|
-
|
|
36759
|
-
|
|
36760
|
-
|
|
36761
|
-
|
|
36762
|
-
description: "Vertical layout with fields stacked"
|
|
36763
|
-
},
|
|
36764
|
-
inline: {
|
|
36765
|
-
label: "Inline",
|
|
36766
|
-
description: "Horizontal layout (email + button side by side)"
|
|
36767
|
-
},
|
|
36768
|
-
"editorial-split": {
|
|
36769
|
-
label: "Editorial split",
|
|
36770
|
-
description: "Copy and form in balanced side-by-side columns, stacked on mobile."
|
|
36771
|
-
}
|
|
36772
|
-
},
|
|
36773
|
-
styleTokens: {
|
|
36774
|
-
background: "surface",
|
|
36775
|
-
typography: "body",
|
|
36776
|
-
spacing: "md"
|
|
37466
|
+
const newsletterSignupManifest = createBlockManifest({
|
|
37467
|
+
id: "block.newsletter-signup",
|
|
37468
|
+
title: "Newsletter Signup",
|
|
37469
|
+
titleSource: "title",
|
|
37470
|
+
description: "Newsletter subscription form with configurable field presets.",
|
|
37471
|
+
category: "interactive",
|
|
37472
|
+
contentSource: { kind: "inline" },
|
|
37473
|
+
fragments: [{
|
|
37474
|
+
fragment: newsletterCopyFragment,
|
|
37475
|
+
fieldPriority: 0
|
|
37476
|
+
}, {
|
|
37477
|
+
fragment: newsletterFormFragment,
|
|
37478
|
+
fieldPriority: 1
|
|
37479
|
+
}],
|
|
37480
|
+
layout: stackedLayout,
|
|
37481
|
+
variants: {
|
|
37482
|
+
stacked: stackedLayout,
|
|
37483
|
+
inline: inlineLayout,
|
|
37484
|
+
"editorial-split": editorialSplitLayout
|
|
37485
|
+
},
|
|
37486
|
+
defaultVariant: "stacked",
|
|
37487
|
+
variantOptions: {
|
|
37488
|
+
stacked: {
|
|
37489
|
+
label: "Stacked",
|
|
37490
|
+
description: "Vertical layout with fields stacked"
|
|
36777
37491
|
},
|
|
36778
|
-
|
|
36779
|
-
|
|
36780
|
-
|
|
36781
|
-
animation: false,
|
|
36782
|
-
paletteHidden: false
|
|
37492
|
+
inline: {
|
|
37493
|
+
label: "Inline",
|
|
37494
|
+
description: "Horizontal layout (email + button side by side)"
|
|
36783
37495
|
},
|
|
36784
|
-
|
|
36785
|
-
"
|
|
36786
|
-
"
|
|
36787
|
-
|
|
36788
|
-
|
|
36789
|
-
|
|
36790
|
-
|
|
36791
|
-
|
|
36792
|
-
|
|
36793
|
-
|
|
36794
|
-
|
|
36795
|
-
|
|
37496
|
+
"editorial-split": {
|
|
37497
|
+
label: "Editorial split",
|
|
37498
|
+
description: "Copy and form in balanced side-by-side columns, stacked on mobile."
|
|
37499
|
+
}
|
|
37500
|
+
},
|
|
37501
|
+
styleTokens: {
|
|
37502
|
+
background: "surface",
|
|
37503
|
+
typography: "body",
|
|
37504
|
+
spacing: "md"
|
|
37505
|
+
},
|
|
37506
|
+
behaviours: {
|
|
37507
|
+
supportsThemeSwitching: true,
|
|
37508
|
+
inlineEditing: false,
|
|
37509
|
+
animation: false,
|
|
37510
|
+
paletteHidden: false
|
|
37511
|
+
},
|
|
37512
|
+
tags: [
|
|
37513
|
+
"newsletter",
|
|
37514
|
+
"signup",
|
|
37515
|
+
"email",
|
|
37516
|
+
"subscribe",
|
|
37517
|
+
"subscription",
|
|
37518
|
+
"mailchimp",
|
|
37519
|
+
"marketing",
|
|
37520
|
+
"lead-capture"
|
|
37521
|
+
],
|
|
37522
|
+
icon: "Mail"
|
|
37523
|
+
});
|
|
37524
|
+
[...(newsletterSignupManifest.fields ?? []).map((field) => field.id)];
|
|
37525
|
+
const newsletterSignupBlockDefinition = {
|
|
37526
|
+
manifest: newsletterSignupManifest,
|
|
36796
37527
|
runtime: newsletterFormBlockRuntime
|
|
36797
37528
|
};
|
|
36798
37529
|
//#endregion
|
|
@@ -38834,7 +39565,8 @@ const BOOKING_FORM_DATA_RESERVED_KEYS = /* @__PURE__ */ new Set([
|
|
|
38834
39565
|
"discountCode",
|
|
38835
39566
|
"selectedSlidingAmountInput",
|
|
38836
39567
|
"selectedCollectionOptionKind",
|
|
38837
|
-
"selectedAppointmentPackageId"
|
|
39568
|
+
"selectedAppointmentPackageId",
|
|
39569
|
+
"mailingListOptIn"
|
|
38838
39570
|
]);
|
|
38839
39571
|
function isBookingFormDataReservedKey(value) {
|
|
38840
39572
|
return BOOKING_FORM_DATA_RESERVED_KEYS.has(value);
|