@riverbankcms/sdk 0.143.0 → 0.145.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/dist/{PreviewEditorSidebar-DROGfMKi.mjs → PreviewEditorSidebar-O-V6Pl5a.mjs} +20 -26
- package/dist/{PreviewEditorUI-BaRjhFu-.mjs → PreviewEditorUI-1UlX_9cw.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-BxGwdOCV.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-OIABYLES.mjs → SdkPreviewModeRuntime-DYbA_4iv.mjs} +431 -351
- package/dist/{SiteChromeCustomizeContext-ohjTvZbc.mjs → SiteChromeCustomizeContext-CNTKQ9nx.mjs} +3989 -2769
- package/dist/_dts/ai/src/contracts/proposals.d.ts +4719 -66
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +429 -6
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
- package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
- package/dist/_dts/api/src/billing.d.ts +1 -1
- package/dist/_dts/api/src/billingEndpointTypes.d.ts +8 -2
- package/dist/_dts/api/src/bookingConfig.d.ts +3 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -12
- package/dist/_dts/api/src/communications.d.ts +14 -22
- package/dist/_dts/api/src/contentRuntime.d.ts +2 -0
- package/dist/_dts/api/src/endpoints.d.ts +105 -58
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +2 -0
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -4
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +0 -23
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
- package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
- package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
- package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
- package/dist/_dts/api/src/sdkSettingsContracts.d.ts +8 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -6
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -8
- package/dist/_dts/api/src/siteSettings.d.ts +17 -7
- package/dist/_dts/api/src/types.d.ts +2 -1
- package/dist/_dts/billing/src/membership/index.d.ts +3 -0
- package/dist/_dts/block-form/src/backend/types.d.ts +14 -0
- package/dist/_dts/block-form/src/client/index.d.ts +1 -0
- package/dist/_dts/block-form/src/context/RepeaterHostActionsContext.d.ts +30 -0
- package/dist/_dts/block-form/src/context/index.d.ts +1 -0
- package/dist/_dts/block-form/src/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +4 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +5 -2
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +11 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useEmptyStateFocusAfterRemoval.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +15 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +5 -2
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +58 -10
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
- package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -0
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/constants/events.d.ts +10 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/api/context.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/api/readAuthority.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -13
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -6
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +9 -4
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +7 -24
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +2 -1
- 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/EventRegistrationWizardActions.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +7 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +6 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/header-control.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +6 -21
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/ThemedButton.d.ts +58 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/chromeLogo.d.ts +23 -0
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +3 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +4 -1
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
- package/dist/_dts/core/src/editor-state.d.ts +6 -0
- package/dist/_dts/core/src/event-catalogue.d.ts +27 -0
- package/dist/_dts/core/src/event-preset-vocabulary.d.ts +7 -0
- package/dist/_dts/core/src/index.d.ts +3 -0
- package/dist/_dts/core/src/public-profile.d.ts +9 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +676 -241
- package/dist/_dts/db/src/schemas/forms.d.ts +286 -2
- package/dist/_dts/editor-blocks/src/block-editor/{BlockCardHeader.d.ts → BlockCardFrame.d.ts} +11 -3
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +6 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
- package/dist/_dts/logger/src/console.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
- package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +1 -0
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +4 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
- package/dist/_dts/sdk/src/navigation/index.d.ts +27 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +21 -15
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/client.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +7 -1
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/islands/enhancers/shopShared.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
- 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/affordanceSuppression.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/classNames.d.ts +3 -13
- package/dist/_dts/theme-core/src/customCss/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/customCss/patch.d.ts +0 -5
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
- package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
- package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
- package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/surfaces/logoVariant.d.ts +26 -0
- package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +10 -0
- package/dist/_dts/ui/src/editor-item-card.d.ts +116 -0
- package/dist/_dts/ui/src/index.d.ts +1 -0
- package/dist/client/{BookingConsentAgreement-BoCtvzzu.mjs → BookingConsentAgreement-DlVOmpW4.mjs} +4 -55
- package/dist/client/{DiscountCodeDisclosure-B5S30nZk.mjs → DiscountCodeDisclosure-T9q623PQ.mjs} +27 -17
- package/dist/client/{EventCombined.client-CeZ2-zSt.mjs → EventCombined.client-DnsUeONl.mjs} +54 -46
- package/dist/client/{EventListing.client-DJN3j8B3.mjs → EventListing.client-CNBFqJS4.mjs} +3 -4
- package/dist/client/{LeafletStaticMap-RjtGzDQT.mjs → LeafletStaticMap-C7higg52.mjs} +1 -1
- package/dist/client/ThemedButton-LAJTNrS8.mjs +412 -0
- package/dist/client/{accordion-DOmnDoyg.mjs → accordion-BcNF9TjX.mjs} +1 -1
- package/dist/client/{bookingForm-C0vk7pgS.mjs → bookingForm-BUaQ3S03.mjs} +161 -75
- package/dist/client/bookings.mjs +392 -182
- package/dist/client/{carousel-BZJ7pno3.mjs → carousel-CTdF6e0V.mjs} +2 -2
- package/dist/client/{carousel.client-DQTjCVQT.mjs → carousel.client-jahpU9Vz.mjs} +1 -1
- package/dist/client/{cart-CaeVAHJl.mjs → cart-pGtyf_XU.mjs} +3 -3
- package/dist/client/{checkout-7wmoNDtG.mjs → checkout-Da9WSn7Y.mjs} +3 -3
- package/dist/client/{checkoutUrls-FL6lRkrt.mjs → checkoutUrls-CW3-78uu.mjs} +1 -1
- package/dist/client/client.mjs +3819 -2717
- package/dist/client/{colorStyles-3013aRAY.mjs → colorStyles-CuJBiS-1.mjs} +16 -4
- package/dist/client/{context-BOimxE3U.mjs → context-BFeY_Wbm.mjs} +24 -8
- package/dist/client/{dates-BnzVksi4.mjs → dates-BhwVSxDg.mjs} +2 -2
- package/dist/client/{eventCalendar-l-fpaslC.mjs → eventCalendar-BAtdnR4s.mjs} +39 -50
- package/dist/client/{eventCombined-DGGvssK6.mjs → eventCombined-RksA3tRC.mjs} +5 -4
- package/dist/client/{eventDetails-DRiCm_hL.mjs → eventDetails-BB9hB4wR.mjs} +4 -4
- package/dist/client/{eventListing-dph8loYX.mjs → eventListing-BpJBkviM.mjs} +5 -4
- package/dist/client/{eventRegistration-ClBohmbY.mjs → eventRegistration-B18jFq_o.mjs} +83 -68
- package/dist/client/{form-BLVVAnd3.mjs → form-Dodt8Y8t.mjs} +9 -10
- package/dist/client/{headerSection-DHy4C8Ix.mjs → headerSection-B0qj9ttg.mjs} +23 -30
- package/dist/client/hooks.mjs +807 -162
- package/dist/client/{locationMap-6HuS28ck.mjs → locationMap-gn-iMk7a.mjs} +9 -10
- package/dist/client/{media-DHpfFwd3.mjs → media-BtJ37tzS.mjs} +1 -1
- package/dist/client/{newsletterForm-xOdcOhZP.mjs → newsletterForm-oByLdFkr.mjs} +31 -11
- package/dist/client/{pricing-ChinRYFt.mjs → pricing-BOU0_Hai.mjs} +1 -1
- package/dist/client/{productDetail-0chA5gbK.mjs → productDetail-D9v1zH2j.mjs} +3 -3
- package/dist/client/{productList-OoINA0h1.mjs → productList-D-mItx1n.mjs} +3 -3
- package/dist/client/{propsDecoder-CIZ-hbIG.mjs → propsDecoder-C3TP_z4x.mjs} +158 -61
- package/dist/client/rendering/client.mjs +2785 -2000
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3855 -2694
- package/dist/client/{routeIslandApiConfig-UNsfPcYq.mjs → routeIslandApiConfig-DzN1W0sq.mjs} +8 -1
- package/dist/client/{scrollToBlock-BPZl0gPZ.mjs → scrollToBlock-CWs8EIdo.mjs} +1 -1
- package/dist/client/{shop-CLJFqNIq.mjs → shop-Dufw7N7o.mjs} +45 -58
- package/dist/client/{shop-commerce-PpANg5wB.mjs → shop-commerce-gklw_hLF.mjs} +42 -55
- package/dist/client/{shop-commerce-store-TA_Kz2ku.mjs → shop-commerce-store-Sf1eyTaZ.mjs} +1 -1
- package/dist/client/{shopShared-DzcFcA5g.mjs → shopShared-B5nyA41S.mjs} +6 -5
- package/dist/client/{useEventFilters-CFU21QZo.mjs → useEventFilters-CLL829vy.mjs} +66 -355
- package/dist/preview-next/before-render.mjs +147 -77
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-chrome.css +8 -0
- package/dist/preview-next/keepAlive.mjs +147 -77
- package/dist/preview-next/middleware.mjs +147 -77
- package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-BxAFlu-j.mjs} +147 -77
- package/dist/{sdk-runtime-CDKl0Fr7.mjs → sdk-runtime-D0uZFev7.mjs} +2 -2
- package/dist/{separator-BTp96X32.mjs → separator-EvdCAn4V.mjs} +1 -1
- package/dist/server/components.mjs +2548 -1607
- package/dist/server/config-validation.mjs +794 -160
- package/dist/server/config.mjs +794 -160
- package/dist/server/data.mjs +806 -161
- package/dist/server/index.mjs +167 -85
- package/dist/server/navigation.mjs +28 -1
- package/dist/server/next.mjs +14930 -14036
- package/dist/server/page-converter.mjs +494 -113
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2537 -1590
- package/dist/server/rendering.mjs +2571 -1618
- package/dist/server/routing.mjs +918 -200
- package/dist/server/server.mjs +819 -205
- package/dist/server/theme-bridge.mjs +1232 -28
- package/dist/server/theme.mjs +6 -4
- package/dist/styles/index.css +6 -0
- package/package.json +2 -1
package/dist/server/config.mjs
CHANGED
|
@@ -54,6 +54,75 @@ const footerModeSchema = z.enum([
|
|
|
54
54
|
"none"
|
|
55
55
|
]);
|
|
56
56
|
//#endregion
|
|
57
|
+
//#region ../api/src/defineEndpointDefinitions.ts
|
|
58
|
+
/**
|
|
59
|
+
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
60
|
+
* method, and parameter contract for the typed URL builders.
|
|
61
|
+
*/
|
|
62
|
+
function defineEndpointDefinitions(definitions) {
|
|
63
|
+
return definitions;
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region ../api/src/publicNewsletterEndpointDefinitions.ts
|
|
67
|
+
const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
68
|
+
subscribeNewsletter: {
|
|
69
|
+
path: "/public/sites/{siteId}/newsletter/subscribe",
|
|
70
|
+
method: "POST",
|
|
71
|
+
tags: ["public-newsletter-{siteId}"],
|
|
72
|
+
auth: "public",
|
|
73
|
+
responseKind: "json"
|
|
74
|
+
},
|
|
75
|
+
confirmNewsletter: {
|
|
76
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
77
|
+
method: "GET",
|
|
78
|
+
tags: ["public-newsletter-{siteId}"],
|
|
79
|
+
auth: "public",
|
|
80
|
+
responseKind: "text"
|
|
81
|
+
},
|
|
82
|
+
unsubscribeNewsletter: {
|
|
83
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
84
|
+
method: "GET",
|
|
85
|
+
tags: ["public-newsletter-{siteId}"],
|
|
86
|
+
auth: "public",
|
|
87
|
+
responseKind: "text"
|
|
88
|
+
},
|
|
89
|
+
unsubscribeNewsletterPost: {
|
|
90
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
91
|
+
method: "POST",
|
|
92
|
+
tags: ["public-newsletter-{siteId}"],
|
|
93
|
+
auth: "public",
|
|
94
|
+
responseKind: "text"
|
|
95
|
+
},
|
|
96
|
+
confirmNewsletterPost: {
|
|
97
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
98
|
+
method: "POST",
|
|
99
|
+
tags: ["public-newsletter-{siteId}"],
|
|
100
|
+
auth: "public",
|
|
101
|
+
responseKind: "text"
|
|
102
|
+
},
|
|
103
|
+
getNewsletterPreferences: {
|
|
104
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
105
|
+
method: "GET",
|
|
106
|
+
tags: ["public-newsletter-{siteId}"],
|
|
107
|
+
auth: "public",
|
|
108
|
+
responseKind: "text"
|
|
109
|
+
},
|
|
110
|
+
saveNewsletterPreferences: {
|
|
111
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
112
|
+
method: "POST",
|
|
113
|
+
tags: ["public-newsletter-{siteId}"],
|
|
114
|
+
auth: "public",
|
|
115
|
+
responseKind: "text"
|
|
116
|
+
},
|
|
117
|
+
getNewsletterArchive: {
|
|
118
|
+
path: "/public/sites/{siteId}/newsletter/archive/{token}",
|
|
119
|
+
method: "GET",
|
|
120
|
+
tags: ["public-newsletter-{siteId}"],
|
|
121
|
+
auth: "public",
|
|
122
|
+
responseKind: "text"
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
//#endregion
|
|
57
126
|
//#region ../api/src/apiEndpointTypes.ts
|
|
58
127
|
function allowedDemoMutationPolicy() {
|
|
59
128
|
return {
|
|
@@ -145,17 +214,85 @@ const SDK_ENTRY_READ_ENDPOINTS = {
|
|
|
145
214
|
}
|
|
146
215
|
};
|
|
147
216
|
//#endregion
|
|
148
|
-
//#region ../api/src/defineEndpointDefinitions.ts
|
|
149
|
-
/**
|
|
150
|
-
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
151
|
-
* method, and parameter contract for the typed URL builders.
|
|
152
|
-
*/
|
|
153
|
-
function defineEndpointDefinitions(definitions) {
|
|
154
|
-
return definitions;
|
|
155
|
-
}
|
|
156
|
-
//#endregion
|
|
157
217
|
//#region ../api/src/appointmentEndpointDefinitions.ts
|
|
158
218
|
const APPOINTMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
219
|
+
...defineEndpointDefinitions({
|
|
220
|
+
listGroupedAppointmentServices: {
|
|
221
|
+
path: "/sites/{siteId}/bookings/services/grouped",
|
|
222
|
+
method: "GET",
|
|
223
|
+
auth: "user",
|
|
224
|
+
responseKind: "json",
|
|
225
|
+
errors: ["server:internal_error"]
|
|
226
|
+
},
|
|
227
|
+
reorderAppointmentServices: {
|
|
228
|
+
path: "/sites/{siteId}/bookings/services/order",
|
|
229
|
+
method: "PUT",
|
|
230
|
+
auth: "user",
|
|
231
|
+
responseKind: "json",
|
|
232
|
+
errors: [
|
|
233
|
+
"validation:invalid_input",
|
|
234
|
+
"auth:forbidden",
|
|
235
|
+
"resource:not_found",
|
|
236
|
+
"resource:conflict",
|
|
237
|
+
"server:internal_error"
|
|
238
|
+
]
|
|
239
|
+
},
|
|
240
|
+
listAppointmentServiceCategories: {
|
|
241
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
242
|
+
method: "GET",
|
|
243
|
+
auth: "user",
|
|
244
|
+
responseKind: "json",
|
|
245
|
+
errors: ["server:internal_error"]
|
|
246
|
+
},
|
|
247
|
+
createAppointmentServiceCategory: {
|
|
248
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
249
|
+
method: "POST",
|
|
250
|
+
auth: "user",
|
|
251
|
+
responseKind: "json",
|
|
252
|
+
errors: [
|
|
253
|
+
"validation:invalid_input",
|
|
254
|
+
"auth:forbidden",
|
|
255
|
+
"resource:conflict",
|
|
256
|
+
"server:internal_error"
|
|
257
|
+
]
|
|
258
|
+
},
|
|
259
|
+
updateAppointmentServiceCategory: {
|
|
260
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
261
|
+
method: "PUT",
|
|
262
|
+
auth: "user",
|
|
263
|
+
responseKind: "json",
|
|
264
|
+
errors: [
|
|
265
|
+
"validation:invalid_input",
|
|
266
|
+
"auth:forbidden",
|
|
267
|
+
"resource:not_found",
|
|
268
|
+
"resource:conflict",
|
|
269
|
+
"server:internal_error"
|
|
270
|
+
]
|
|
271
|
+
},
|
|
272
|
+
deleteAppointmentServiceCategory: {
|
|
273
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
274
|
+
method: "DELETE",
|
|
275
|
+
auth: "user",
|
|
276
|
+
responseKind: "json",
|
|
277
|
+
errors: [
|
|
278
|
+
"auth:forbidden",
|
|
279
|
+
"resource:not_found",
|
|
280
|
+
"server:internal_error"
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
reorderAppointmentServiceCategories: {
|
|
284
|
+
path: "/sites/{siteId}/bookings/service-categories/order",
|
|
285
|
+
method: "PUT",
|
|
286
|
+
auth: "user",
|
|
287
|
+
responseKind: "json",
|
|
288
|
+
errors: [
|
|
289
|
+
"validation:invalid_input",
|
|
290
|
+
"auth:forbidden",
|
|
291
|
+
"resource:conflict",
|
|
292
|
+
"server:internal_error"
|
|
293
|
+
]
|
|
294
|
+
}
|
|
295
|
+
}),
|
|
159
296
|
listAppointmentResources: {
|
|
160
297
|
path: "/sites/{siteId}/bookings/resources",
|
|
161
298
|
method: "GET",
|
|
@@ -1303,39 +1440,6 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1303
1440
|
auth: "user",
|
|
1304
1441
|
responseKind: "json",
|
|
1305
1442
|
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1306
|
-
},
|
|
1307
|
-
listNewsletterSendJobs: {
|
|
1308
|
-
path: "/sites/{siteId}/newsletter/jobs",
|
|
1309
|
-
method: "GET",
|
|
1310
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1311
|
-
auth: "user",
|
|
1312
|
-
responseKind: "json"
|
|
1313
|
-
},
|
|
1314
|
-
retryNewsletterSendJob: {
|
|
1315
|
-
path: "/sites/{siteId}/newsletter/jobs/{jobId}/retry",
|
|
1316
|
-
method: "POST",
|
|
1317
|
-
errors: [
|
|
1318
|
-
"validation:invalid_input",
|
|
1319
|
-
"resource:not_found",
|
|
1320
|
-
"auth:forbidden",
|
|
1321
|
-
"server:internal_error"
|
|
1322
|
-
],
|
|
1323
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1324
|
-
auth: "user",
|
|
1325
|
-
responseKind: "json"
|
|
1326
|
-
},
|
|
1327
|
-
cancelNewsletterSendJob: {
|
|
1328
|
-
path: "/sites/{siteId}/newsletter/jobs/{jobId}/cancel",
|
|
1329
|
-
method: "POST",
|
|
1330
|
-
errors: [
|
|
1331
|
-
"validation:invalid_input",
|
|
1332
|
-
"resource:not_found",
|
|
1333
|
-
"auth:forbidden",
|
|
1334
|
-
"server:internal_error"
|
|
1335
|
-
],
|
|
1336
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1337
|
-
auth: "user",
|
|
1338
|
-
responseKind: "json"
|
|
1339
1443
|
}
|
|
1340
1444
|
});
|
|
1341
1445
|
//#endregion
|
|
@@ -3443,6 +3547,7 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3443
3547
|
}
|
|
3444
3548
|
});
|
|
3445
3549
|
({
|
|
3550
|
+
...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
3446
3551
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
3447
3552
|
...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
|
|
3448
3553
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
@@ -3682,6 +3787,8 @@ z.discriminatedUnion("kind", navigationLinkInputSchemaOptions);
|
|
|
3682
3787
|
//#endregion
|
|
3683
3788
|
//#region ../theme-core/src/palette/utils/colorConversion.ts
|
|
3684
3789
|
const clamp01 = (x) => Math.max(0, Math.min(1, x));
|
|
3790
|
+
const mod = (a, n) => (a % n + n) % n;
|
|
3791
|
+
const deg = (x) => mod(x, 360);
|
|
3685
3792
|
function hexToRgb(hex) {
|
|
3686
3793
|
const h = hex.replace(/^#/, "");
|
|
3687
3794
|
const m = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
|
|
@@ -3704,6 +3811,45 @@ function srgbToLinear(u) {
|
|
|
3704
3811
|
function linearToSrgb(x) {
|
|
3705
3812
|
return clamp01(x <= .0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - .055) * 255;
|
|
3706
3813
|
}
|
|
3814
|
+
function rgbToHsl(r, g, b) {
|
|
3815
|
+
const R = r / 255, G = g / 255, B = b / 255;
|
|
3816
|
+
const max = Math.max(R, G, B), min = Math.min(R, G, B);
|
|
3817
|
+
const d = max - min;
|
|
3818
|
+
let h = 0;
|
|
3819
|
+
if (d !== 0) {
|
|
3820
|
+
switch (max) {
|
|
3821
|
+
case R:
|
|
3822
|
+
h = (G - B) / d + (G < B ? 6 : 0);
|
|
3823
|
+
break;
|
|
3824
|
+
case G:
|
|
3825
|
+
h = (B - R) / d + 2;
|
|
3826
|
+
break;
|
|
3827
|
+
case B:
|
|
3828
|
+
h = (R - G) / d + 4;
|
|
3829
|
+
break;
|
|
3830
|
+
}
|
|
3831
|
+
h *= 60;
|
|
3832
|
+
}
|
|
3833
|
+
const l = (max + min) / 2;
|
|
3834
|
+
const s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));
|
|
3835
|
+
return {
|
|
3836
|
+
h,
|
|
3837
|
+
s,
|
|
3838
|
+
l
|
|
3839
|
+
};
|
|
3840
|
+
}
|
|
3841
|
+
function srgbToOklab(r, g, b) {
|
|
3842
|
+
const R = srgbToLinear(r), G = srgbToLinear(g), B = srgbToLinear(b);
|
|
3843
|
+
const l = .4122214708 * R + .5363325363 * G + .0514459929 * B;
|
|
3844
|
+
const m = .2119034982 * R + .6806995451 * G + .1073969566 * B;
|
|
3845
|
+
const s = .0883024619 * R + .2817188376 * G + .6299787005 * B;
|
|
3846
|
+
const l_ = Math.cbrt(l), m_ = Math.cbrt(m), s_ = Math.cbrt(s);
|
|
3847
|
+
return {
|
|
3848
|
+
L: .2104542553 * l_ + .793617785 * m_ - .0040720468 * s_,
|
|
3849
|
+
a: 1.9779984951 * l_ - 2.428592205 * m_ + .4505937099 * s_,
|
|
3850
|
+
b: .0259040371 * l_ + .7827717662 * m_ - .808675766 * s_
|
|
3851
|
+
};
|
|
3852
|
+
}
|
|
3707
3853
|
function oklabToSrgb(L, a, b) {
|
|
3708
3854
|
const l_ = Math.pow(L + .3963377774 * a + .2158037573 * b, 3);
|
|
3709
3855
|
const m_ = Math.pow(L - .1055613458 * a - .0638541728 * b, 3);
|
|
@@ -3717,6 +3863,14 @@ function oklabToSrgb(L, a, b) {
|
|
|
3717
3863
|
b: linearToSrgb(B)
|
|
3718
3864
|
};
|
|
3719
3865
|
}
|
|
3866
|
+
function oklabToOklch(L, a, b) {
|
|
3867
|
+
const C = Math.sqrt(a * a + b * b);
|
|
3868
|
+
return {
|
|
3869
|
+
L,
|
|
3870
|
+
C,
|
|
3871
|
+
h: C < 1e-7 ? 0 : deg(Math.atan2(b, a) * 180 / Math.PI)
|
|
3872
|
+
};
|
|
3873
|
+
}
|
|
3720
3874
|
function oklchToOklab(L, C, h) {
|
|
3721
3875
|
const hr = h * Math.PI / 180;
|
|
3722
3876
|
return {
|
|
@@ -3725,6 +3879,27 @@ function oklchToOklab(L, C, h) {
|
|
|
3725
3879
|
b: C * Math.sin(hr)
|
|
3726
3880
|
};
|
|
3727
3881
|
}
|
|
3882
|
+
function featuresFromHex(hex) {
|
|
3883
|
+
const { r, g, b } = hexToRgb(hex);
|
|
3884
|
+
const { h, s, l } = rgbToHsl(r, g, b);
|
|
3885
|
+
const { L, a, b: b2 } = srgbToOklab(r, g, b);
|
|
3886
|
+
const { L: okL, C: okC, h: okH } = oklabToOklch(L, a, b2);
|
|
3887
|
+
return {
|
|
3888
|
+
r,
|
|
3889
|
+
g,
|
|
3890
|
+
b,
|
|
3891
|
+
h,
|
|
3892
|
+
s,
|
|
3893
|
+
l,
|
|
3894
|
+
v: Math.max(r, g, b) / 255,
|
|
3895
|
+
Y: .2126 * srgbToLinear(r) + .7152 * srgbToLinear(g) + .0722 * srgbToLinear(b),
|
|
3896
|
+
chroma: s,
|
|
3897
|
+
okL,
|
|
3898
|
+
okC,
|
|
3899
|
+
okH,
|
|
3900
|
+
hex
|
|
3901
|
+
};
|
|
3902
|
+
}
|
|
3728
3903
|
function relativeLuminance(r, g, b) {
|
|
3729
3904
|
const R = srgbToLinear(r), G = srgbToLinear(g), B = srgbToLinear(b);
|
|
3730
3905
|
return .2126 * R + .7152 * G + .0722 * B;
|
|
@@ -6808,6 +6983,36 @@ function normalizedReference(value) {
|
|
|
6808
6983
|
return normalized.length > 0 ? normalized : null;
|
|
6809
6984
|
}
|
|
6810
6985
|
//#endregion
|
|
6986
|
+
//#region ../theme-core/src/surfaces/logoVariant.ts
|
|
6987
|
+
/** Concrete hex behind a plain, opaque palette token, or null otherwise. */
|
|
6988
|
+
function opaquePaletteHexForToken(expandedPalette, token) {
|
|
6989
|
+
if (!token) return null;
|
|
6990
|
+
const parts = parseColorTokenParts(token);
|
|
6991
|
+
if (parts.kind !== "token" || parts.opacityPercent !== null) return null;
|
|
6992
|
+
return expandedPalette[parts.token] ?? null;
|
|
6993
|
+
}
|
|
6994
|
+
/**
|
|
6995
|
+
* Tone of the surface a foreground token was resolved for.
|
|
6996
|
+
*
|
|
6997
|
+
* A token with opacity has no known underlay to composite against, and a raw
|
|
6998
|
+
* or unrecognised token has no palette hex, so both are `unknown` rather than
|
|
6999
|
+
* a guess.
|
|
7000
|
+
*/
|
|
7001
|
+
function surfaceToneFromForegroundToken(expandedPalette, foregroundToken) {
|
|
7002
|
+
const hex = opaquePaletteHexForToken(expandedPalette, foregroundToken);
|
|
7003
|
+
if (!hex) return "unknown";
|
|
7004
|
+
return featuresFromHex(hex).Y >= .5 ? "dark" : "light";
|
|
7005
|
+
}
|
|
7006
|
+
/**
|
|
7007
|
+
* The logo to draw on a surface of the given tone. A missing variant falls
|
|
7008
|
+
* back to the other one, and an unknown tone uses the light-backgrounds logo,
|
|
7009
|
+
* which is what every site rendered before variants existed.
|
|
7010
|
+
*/
|
|
7011
|
+
function selectLogoVariant(tone, variants) {
|
|
7012
|
+
const { forLightBackgrounds, forDarkBackgrounds } = variants;
|
|
7013
|
+
return tone === "dark" ? forDarkBackgrounds ?? forLightBackgrounds : forLightBackgrounds ?? forDarkBackgrounds;
|
|
7014
|
+
}
|
|
7015
|
+
//#endregion
|
|
6811
7016
|
//#region ../theme-core/src/utils/colorStyles.ts
|
|
6812
7017
|
const COLOR_VAR_PREFIX = "--tb-";
|
|
6813
7018
|
function parseToken(source) {
|
|
@@ -6859,16 +7064,28 @@ function backgroundColorStyle(token) {
|
|
|
6859
7064
|
return { backgroundColor: rgbColorValue(token) };
|
|
6860
7065
|
}
|
|
6861
7066
|
/**
|
|
7067
|
+
* Converts a text color token to a CSS color value that follows the enclosing
|
|
7068
|
+
* surface. The semantic text tokens (`text`, `heading`, `mutedText`) resolve
|
|
7069
|
+
* to the surface foreground variables, so text adapts when a section's
|
|
7070
|
+
* background changes; any other token is a fixed theme color.
|
|
7071
|
+
*
|
|
7072
|
+
* @param token - Theme color token
|
|
7073
|
+
* @returns CSS color value
|
|
7074
|
+
*/
|
|
7075
|
+
function textColorValue(token) {
|
|
7076
|
+
const parsed = parseToken(token);
|
|
7077
|
+
const surfaceRole = parsed.raw ? null : surfaceRoleForTextToken(parsed.token);
|
|
7078
|
+
if (!surfaceRole) return rgbColorValue(token);
|
|
7079
|
+
return parsed.opacityPercent === void 0 ? surfaceForegroundValue(surfaceRole) : surfaceForegroundValueWithOpacity(surfaceRole, parsed.opacityPercent);
|
|
7080
|
+
}
|
|
7081
|
+
/**
|
|
6862
7082
|
* Creates a text color style object from a theme token.
|
|
6863
7083
|
*
|
|
6864
7084
|
* @param token - Theme color token
|
|
6865
7085
|
* @returns CSSProperties with color
|
|
6866
7086
|
*/
|
|
6867
7087
|
function textColorStyle(token) {
|
|
6868
|
-
|
|
6869
|
-
const surfaceRole = parsed.raw ? null : surfaceRoleForTextToken(parsed.token);
|
|
6870
|
-
if (surfaceRole) return { color: parsed.opacityPercent === void 0 ? surfaceForegroundValue(surfaceRole) : surfaceForegroundValueWithOpacity(surfaceRole, parsed.opacityPercent) };
|
|
6871
|
-
return { color: rgbColorValue(token) };
|
|
7088
|
+
return { color: textColorValue(token) };
|
|
6872
7089
|
}
|
|
6873
7090
|
/**
|
|
6874
7091
|
* Creates a border color style object from a theme token.
|
|
@@ -10053,6 +10270,15 @@ function asSiteStyleId(value) {
|
|
|
10053
10270
|
function asDesignSystemTemplateId(value) {
|
|
10054
10271
|
return brandNonEmptyString(value, "DesignSystemTemplateId");
|
|
10055
10272
|
}
|
|
10273
|
+
function toNonEmptyReadonlyArray(values) {
|
|
10274
|
+
const [first, ...rest] = values;
|
|
10275
|
+
return first === void 0 ? null : [first, ...rest];
|
|
10276
|
+
}
|
|
10277
|
+
function requireNonEmptyReadonlyArray(values, message = "Expected a non-empty array.") {
|
|
10278
|
+
const result = toNonEmptyReadonlyArray(values);
|
|
10279
|
+
if (!result) throw new Error(message);
|
|
10280
|
+
return result;
|
|
10281
|
+
}
|
|
10056
10282
|
function makeBoundaryId(previousBlockId, nextBlockId) {
|
|
10057
10283
|
return asDesignBoundaryId(`boundary:${encodeURIComponent(previousBlockId)}:${encodeURIComponent(nextBlockId)}`);
|
|
10058
10284
|
}
|
|
@@ -10255,16 +10481,18 @@ const themeV2RuntimeStyleFieldNames = [
|
|
|
10255
10481
|
"_frameStyles",
|
|
10256
10482
|
"_sectionStyles",
|
|
10257
10483
|
"_containerStyles",
|
|
10258
|
-
"_cardStyles"
|
|
10259
|
-
"_transitionStyles",
|
|
10260
|
-
"styleGroup"
|
|
10484
|
+
"_cardStyles"
|
|
10261
10485
|
];
|
|
10262
10486
|
const themeV2BlockSpecificRawStyleFieldNames = [
|
|
10263
10487
|
"_contentCardStyles",
|
|
10264
10488
|
"_heroLayoutStyles",
|
|
10265
10489
|
"_textCardStyles"
|
|
10266
10490
|
];
|
|
10267
|
-
const themeV2NormalEditorRawStyleFieldNames = [
|
|
10491
|
+
const themeV2NormalEditorRawStyleFieldNames = [
|
|
10492
|
+
...themeV2RuntimeStyleFieldNames,
|
|
10493
|
+
...themeV2BlockSpecificRawStyleFieldNames,
|
|
10494
|
+
"styleGroup"
|
|
10495
|
+
];
|
|
10268
10496
|
new Set(themeV2NormalEditorRawStyleFieldNames);
|
|
10269
10497
|
[...themeV2RuntimeStyleFieldNames, ...themeV2BlockSpecificRawStyleFieldNames];
|
|
10270
10498
|
const pageDesignEditorBackgroundOverrideOwner = "page-design-editor";
|
|
@@ -11990,11 +12218,260 @@ function cardRoleFromLegacyVocabulary(value) {
|
|
|
11990
12218
|
*/
|
|
11991
12219
|
const cardRoleWithLegacyAliasSchema = z.preprocess((value) => cardRoleFromLegacyVocabulary(value) ?? value, cardRoleSchema);
|
|
11992
12220
|
//#endregion
|
|
11993
|
-
//#region ../theme-core/src/site-styles/
|
|
11994
|
-
|
|
11995
|
-
|
|
11996
|
-
|
|
11997
|
-
|
|
12221
|
+
//#region ../theme-core/src/site-styles/transitionCatalogue.ts
|
|
12222
|
+
/**
|
|
12223
|
+
* Family order for pickers. Entries below are listed family by family in this
|
|
12224
|
+
* same order, so the flat option list and the grouped families agree.
|
|
12225
|
+
*/
|
|
12226
|
+
const transitionCatalogueFamilies = [
|
|
12227
|
+
{
|
|
12228
|
+
id: "gradient",
|
|
12229
|
+
label: "Gradient"
|
|
12230
|
+
},
|
|
12231
|
+
{
|
|
12232
|
+
id: "wave",
|
|
12233
|
+
label: "Wave"
|
|
12234
|
+
},
|
|
12235
|
+
{
|
|
12236
|
+
id: "angle",
|
|
12237
|
+
label: "Angle"
|
|
12238
|
+
}
|
|
12239
|
+
];
|
|
12240
|
+
const mediumHeight = "6rem + 2px";
|
|
12241
|
+
const compactHeight = "4.5rem + 2px";
|
|
12242
|
+
const largeHeight = "7rem + 2px";
|
|
12243
|
+
/**
|
|
12244
|
+
* The single source of transition vocabulary. Order is significant: it is the
|
|
12245
|
+
* order of `boundaryOptions` (after `none`) and of each family's variants,
|
|
12246
|
+
* which persisted pins, page-flow presets and the editor picker all rely on.
|
|
12247
|
+
*
|
|
12248
|
+
* Shapes match what `generateLayoutCss` draws today. Structured
|
|
12249
|
+
* amplitude/frequency treatments (issue 826) extend this list later.
|
|
12250
|
+
*/
|
|
12251
|
+
const transitionCatalogueEntries = defineExactCatalog()([
|
|
12252
|
+
{
|
|
12253
|
+
intent: "soft-fade-short",
|
|
12254
|
+
optionId: asBoundaryOptionId("break:soft"),
|
|
12255
|
+
family: "gradient",
|
|
12256
|
+
variantId: "soft",
|
|
12257
|
+
label: "Soft",
|
|
12258
|
+
variantLabel: "Soft",
|
|
12259
|
+
treatment: {
|
|
12260
|
+
kind: "soft-fade",
|
|
12261
|
+
height: "medium",
|
|
12262
|
+
curve: "soft"
|
|
12263
|
+
},
|
|
12264
|
+
size: "medium",
|
|
12265
|
+
heightExpression: mediumHeight,
|
|
12266
|
+
shape: { kind: "fade" }
|
|
12267
|
+
},
|
|
12268
|
+
{
|
|
12269
|
+
intent: "soft-fade-long",
|
|
12270
|
+
optionId: asBoundaryOptionId("break:spacious"),
|
|
12271
|
+
family: "gradient",
|
|
12272
|
+
variantId: "spacious",
|
|
12273
|
+
label: "Spacious",
|
|
12274
|
+
variantLabel: "Spacious",
|
|
12275
|
+
treatment: {
|
|
12276
|
+
kind: "soft-fade",
|
|
12277
|
+
height: "large",
|
|
12278
|
+
curve: "spacious"
|
|
12279
|
+
},
|
|
12280
|
+
size: "spacious",
|
|
12281
|
+
heightExpression: "10rem",
|
|
12282
|
+
shape: { kind: "fade" }
|
|
12283
|
+
},
|
|
12284
|
+
{
|
|
12285
|
+
intent: "soft-fade-expansive",
|
|
12286
|
+
optionId: asBoundaryOptionId("break:expansive"),
|
|
12287
|
+
family: "gradient",
|
|
12288
|
+
variantId: "expansive",
|
|
12289
|
+
label: "Expansive",
|
|
12290
|
+
variantLabel: "Expansive",
|
|
12291
|
+
treatment: {
|
|
12292
|
+
kind: "soft-fade",
|
|
12293
|
+
height: "expansive",
|
|
12294
|
+
curve: "expansive"
|
|
12295
|
+
},
|
|
12296
|
+
size: "expansive",
|
|
12297
|
+
heightExpression: "14rem",
|
|
12298
|
+
shape: { kind: "fade" }
|
|
12299
|
+
},
|
|
12300
|
+
{
|
|
12301
|
+
intent: "wave-edge-balanced",
|
|
12302
|
+
optionId: asBoundaryOptionId("break:wave-balanced"),
|
|
12303
|
+
family: "wave",
|
|
12304
|
+
variantId: "balanced",
|
|
12305
|
+
label: "Balanced wave",
|
|
12306
|
+
variantLabel: "Balanced",
|
|
12307
|
+
treatment: {
|
|
12308
|
+
kind: "wave-edge",
|
|
12309
|
+
height: "medium",
|
|
12310
|
+
amplitude: "balanced",
|
|
12311
|
+
rhythm: "double",
|
|
12312
|
+
symmetry: "symmetrical"
|
|
12313
|
+
},
|
|
12314
|
+
size: "medium",
|
|
12315
|
+
heightExpression: mediumHeight,
|
|
12316
|
+
shape: {
|
|
12317
|
+
kind: "wave",
|
|
12318
|
+
mask: "balanced"
|
|
12319
|
+
}
|
|
12320
|
+
},
|
|
12321
|
+
{
|
|
12322
|
+
intent: "wave-edge",
|
|
12323
|
+
optionId: asBoundaryOptionId("break:wave"),
|
|
12324
|
+
family: "wave",
|
|
12325
|
+
variantId: "classic",
|
|
12326
|
+
label: "Classic wave",
|
|
12327
|
+
variantLabel: "Classic",
|
|
12328
|
+
treatment: {
|
|
12329
|
+
kind: "wave-edge",
|
|
12330
|
+
height: "medium",
|
|
12331
|
+
amplitude: "balanced",
|
|
12332
|
+
rhythm: "double",
|
|
12333
|
+
symmetry: "asymmetrical"
|
|
12334
|
+
},
|
|
12335
|
+
size: "medium",
|
|
12336
|
+
heightExpression: mediumHeight,
|
|
12337
|
+
shape: {
|
|
12338
|
+
kind: "wave",
|
|
12339
|
+
mask: "classic"
|
|
12340
|
+
}
|
|
12341
|
+
},
|
|
12342
|
+
{
|
|
12343
|
+
intent: "wave-edge-gentle",
|
|
12344
|
+
optionId: asBoundaryOptionId("break:wave-gentle"),
|
|
12345
|
+
family: "wave",
|
|
12346
|
+
variantId: "gentle",
|
|
12347
|
+
label: "Gentle wave",
|
|
12348
|
+
variantLabel: "Gentle",
|
|
12349
|
+
treatment: {
|
|
12350
|
+
kind: "wave-edge",
|
|
12351
|
+
height: "compact",
|
|
12352
|
+
amplitude: "subtle",
|
|
12353
|
+
rhythm: "single",
|
|
12354
|
+
symmetry: "symmetrical"
|
|
12355
|
+
},
|
|
12356
|
+
size: "compact",
|
|
12357
|
+
heightExpression: compactHeight,
|
|
12358
|
+
shape: {
|
|
12359
|
+
kind: "wave",
|
|
12360
|
+
mask: "gentle"
|
|
12361
|
+
}
|
|
12362
|
+
},
|
|
12363
|
+
{
|
|
12364
|
+
intent: "wave-edge-bold",
|
|
12365
|
+
optionId: asBoundaryOptionId("break:wave-bold"),
|
|
12366
|
+
family: "wave",
|
|
12367
|
+
variantId: "bold",
|
|
12368
|
+
label: "Bold wave",
|
|
12369
|
+
variantLabel: "Bold",
|
|
12370
|
+
treatment: {
|
|
12371
|
+
kind: "wave-edge",
|
|
12372
|
+
height: "large",
|
|
12373
|
+
amplitude: "bold",
|
|
12374
|
+
rhythm: "double",
|
|
12375
|
+
symmetry: "symmetrical"
|
|
12376
|
+
},
|
|
12377
|
+
size: "large",
|
|
12378
|
+
heightExpression: largeHeight,
|
|
12379
|
+
shape: {
|
|
12380
|
+
kind: "wave",
|
|
12381
|
+
mask: "bold"
|
|
12382
|
+
}
|
|
12383
|
+
},
|
|
12384
|
+
{
|
|
12385
|
+
intent: "wave-edge-drift",
|
|
12386
|
+
optionId: asBoundaryOptionId("break:wave-drift"),
|
|
12387
|
+
family: "wave",
|
|
12388
|
+
variantId: "drift",
|
|
12389
|
+
label: "Drift wave",
|
|
12390
|
+
variantLabel: "Drift",
|
|
12391
|
+
treatment: {
|
|
12392
|
+
kind: "wave-edge",
|
|
12393
|
+
height: "medium",
|
|
12394
|
+
amplitude: "balanced",
|
|
12395
|
+
rhythm: "double",
|
|
12396
|
+
symmetry: "drift"
|
|
12397
|
+
},
|
|
12398
|
+
size: "medium",
|
|
12399
|
+
heightExpression: mediumHeight,
|
|
12400
|
+
shape: {
|
|
12401
|
+
kind: "wave",
|
|
12402
|
+
mask: "drift"
|
|
12403
|
+
}
|
|
12404
|
+
},
|
|
12405
|
+
{
|
|
12406
|
+
intent: "angle-edge-subtle",
|
|
12407
|
+
optionId: asBoundaryOptionId("break:angle-subtle"),
|
|
12408
|
+
family: "angle",
|
|
12409
|
+
variantId: "subtle",
|
|
12410
|
+
label: "Subtle angle",
|
|
12411
|
+
variantLabel: "Subtle",
|
|
12412
|
+
treatment: {
|
|
12413
|
+
kind: "angle-edge",
|
|
12414
|
+
height: "compact",
|
|
12415
|
+
slope: "subtle",
|
|
12416
|
+
direction: "forward"
|
|
12417
|
+
},
|
|
12418
|
+
size: "compact",
|
|
12419
|
+
heightExpression: compactHeight,
|
|
12420
|
+
shape: {
|
|
12421
|
+
kind: "angle",
|
|
12422
|
+
polygon: {
|
|
12423
|
+
startTopPercent: 34,
|
|
12424
|
+
endTopPercent: 18
|
|
12425
|
+
}
|
|
12426
|
+
}
|
|
12427
|
+
},
|
|
12428
|
+
{
|
|
12429
|
+
intent: "angle-edge",
|
|
12430
|
+
optionId: asBoundaryOptionId("break:angle-balanced"),
|
|
12431
|
+
family: "angle",
|
|
12432
|
+
variantId: "balanced",
|
|
12433
|
+
label: "Balanced angle",
|
|
12434
|
+
variantLabel: "Balanced",
|
|
12435
|
+
treatment: {
|
|
12436
|
+
kind: "angle-edge",
|
|
12437
|
+
height: "medium",
|
|
12438
|
+
slope: "balanced",
|
|
12439
|
+
direction: "forward"
|
|
12440
|
+
},
|
|
12441
|
+
size: "medium",
|
|
12442
|
+
heightExpression: mediumHeight,
|
|
12443
|
+
shape: {
|
|
12444
|
+
kind: "angle",
|
|
12445
|
+
polygon: {
|
|
12446
|
+
startTopPercent: 42,
|
|
12447
|
+
endTopPercent: 8
|
|
12448
|
+
}
|
|
12449
|
+
}
|
|
12450
|
+
},
|
|
12451
|
+
{
|
|
12452
|
+
intent: "angle-edge-steep",
|
|
12453
|
+
optionId: asBoundaryOptionId("break:angle-steep"),
|
|
12454
|
+
family: "angle",
|
|
12455
|
+
variantId: "steep",
|
|
12456
|
+
label: "Steep angle",
|
|
12457
|
+
variantLabel: "Steep",
|
|
12458
|
+
treatment: {
|
|
12459
|
+
kind: "angle-edge",
|
|
12460
|
+
height: "large",
|
|
12461
|
+
slope: "steep",
|
|
12462
|
+
direction: "forward"
|
|
12463
|
+
},
|
|
12464
|
+
size: "large",
|
|
12465
|
+
heightExpression: largeHeight,
|
|
12466
|
+
shape: {
|
|
12467
|
+
kind: "angle",
|
|
12468
|
+
polygon: {
|
|
12469
|
+
startTopPercent: 54,
|
|
12470
|
+
endTopPercent: 0
|
|
12471
|
+
}
|
|
12472
|
+
}
|
|
12473
|
+
}
|
|
12474
|
+
]);
|
|
11998
12475
|
//#endregion
|
|
11999
12476
|
//#region ../theme-core/src/site-styles/sectionTransitions.ts
|
|
12000
12477
|
function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
@@ -12005,42 +12482,106 @@ function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
|
12005
12482
|
reserveCss: `calc((${heightExpression}) / 2)`
|
|
12006
12483
|
};
|
|
12007
12484
|
}
|
|
12008
|
-
|
|
12485
|
+
new Map(transitionCatalogueEntries.map((entry) => [entry.intent, entry]));
|
|
12486
|
+
new Map(transitionCatalogueEntries.map((entry) => [entry.intent, boundaryRuntimeMetrics(entry.family, entry.size, entry.heightExpression)]));
|
|
12487
|
+
/**
|
|
12488
|
+
* The catalogue's compile-time coverage check guarantees an entry per
|
|
12489
|
+
* decorative intent, so a miss here is a broken invariant, not bad input.
|
|
12490
|
+
*/
|
|
12491
|
+
function requireCatalogueValue(values, intent) {
|
|
12492
|
+
const value = values.get(intent);
|
|
12493
|
+
if (value === void 0) throw new Error(`Transition catalogue has no entry for ${intent}`);
|
|
12494
|
+
return value;
|
|
12495
|
+
}
|
|
12009
12496
|
const noneBoundaryOption = {
|
|
12010
12497
|
id: asBoundaryOptionId("break:none"),
|
|
12011
12498
|
label: "None",
|
|
12012
12499
|
transitionAfter: "none",
|
|
12013
12500
|
treatment: { kind: "none" }
|
|
12014
12501
|
};
|
|
12015
|
-
const
|
|
12016
|
-
id:
|
|
12017
|
-
label:
|
|
12018
|
-
transitionAfter:
|
|
12019
|
-
treatment:
|
|
12020
|
-
|
|
12021
|
-
|
|
12022
|
-
|
|
12023
|
-
|
|
12502
|
+
const boundaryOptionByIntent = new Map(transitionCatalogueEntries.map((entry) => [entry.intent, {
|
|
12503
|
+
id: entry.optionId,
|
|
12504
|
+
label: entry.label,
|
|
12505
|
+
transitionAfter: entry.intent,
|
|
12506
|
+
treatment: entry.treatment
|
|
12507
|
+
}]));
|
|
12508
|
+
function boundaryOptionForTransitionIntent(intent) {
|
|
12509
|
+
return requireCatalogueValue(boundaryOptionByIntent, intent);
|
|
12510
|
+
}
|
|
12511
|
+
const softBoundaryOption = boundaryOptionForTransitionIntent("soft-fade-short");
|
|
12512
|
+
const spaciousBoundaryOption = boundaryOptionForTransitionIntent("soft-fade-long");
|
|
12513
|
+
boundaryOptionForTransitionIntent("soft-fade-expansive");
|
|
12514
|
+
boundaryOptionForTransitionIntent("wave-edge");
|
|
12515
|
+
boundaryOptionForTransitionIntent("wave-edge-balanced");
|
|
12516
|
+
boundaryOptionForTransitionIntent("wave-edge-gentle");
|
|
12517
|
+
boundaryOptionForTransitionIntent("wave-edge-bold");
|
|
12518
|
+
boundaryOptionForTransitionIntent("wave-edge-drift");
|
|
12519
|
+
boundaryOptionForTransitionIntent("angle-edge-subtle");
|
|
12520
|
+
boundaryOptionForTransitionIntent("angle-edge");
|
|
12521
|
+
boundaryOptionForTransitionIntent("angle-edge-steep");
|
|
12522
|
+
/**
|
|
12523
|
+
* Must remain non-empty; downstream code indexes `[0]` as the documented default.
|
|
12524
|
+
*/
|
|
12525
|
+
const boundaryOptions = [noneBoundaryOption, ...transitionCatalogueEntries.map((entry) => boundaryOptionForTransitionIntent(entry.intent))];
|
|
12526
|
+
const noneTransitionVariant = {
|
|
12527
|
+
familyId: "none",
|
|
12528
|
+
variantId: "none",
|
|
12529
|
+
label: "None",
|
|
12530
|
+
boundaryOption: noneBoundaryOption
|
|
12024
12531
|
};
|
|
12025
|
-
|
|
12026
|
-
|
|
12027
|
-
|
|
12028
|
-
|
|
12029
|
-
|
|
12030
|
-
|
|
12031
|
-
|
|
12032
|
-
|
|
12033
|
-
|
|
12532
|
+
function transitionVariantForEntry(entry) {
|
|
12533
|
+
return {
|
|
12534
|
+
familyId: entry.family,
|
|
12535
|
+
variantId: entry.variantId,
|
|
12536
|
+
label: entry.variantLabel,
|
|
12537
|
+
boundaryOption: boundaryOptionForTransitionIntent(entry.intent)
|
|
12538
|
+
};
|
|
12539
|
+
}
|
|
12540
|
+
const sectionTransitionFamilies = [{
|
|
12541
|
+
id: "none",
|
|
12542
|
+
label: "None",
|
|
12543
|
+
variants: [noneTransitionVariant]
|
|
12544
|
+
}, ...transitionCatalogueFamilies.map((family) => ({
|
|
12545
|
+
id: family.id,
|
|
12546
|
+
label: family.label,
|
|
12547
|
+
variants: requireNonEmptyReadonlyArray(transitionCatalogueEntries.filter((entry) => entry.family === family.id).map(transitionVariantForEntry), `Transition family ${family.id} has no catalogue entries.`)
|
|
12548
|
+
}))];
|
|
12549
|
+
new Map(boundaryOptions.map((option) => [option.id, option]));
|
|
12550
|
+
new Map(boundaryOptions.map((option) => [stableTreatmentKey(option.treatment), option]));
|
|
12551
|
+
new Map(sectionTransitionFamilies.flatMap((family) => family.variants.map((variant) => [variant.boundaryOption.id, variant])));
|
|
12552
|
+
new Map(sectionTransitionFamilies.map((family) => [family.id, family]));
|
|
12553
|
+
function stableTreatmentKey(treatment) {
|
|
12554
|
+
switch (treatment.kind) {
|
|
12555
|
+
case "none": return "none";
|
|
12556
|
+
case "soft-fade": return `${treatment.kind}:${treatment.height}:${treatment.curve}`;
|
|
12557
|
+
case "wave-edge": return [
|
|
12558
|
+
treatment.kind,
|
|
12559
|
+
treatment.height,
|
|
12560
|
+
treatment.amplitude,
|
|
12561
|
+
treatment.rhythm,
|
|
12562
|
+
treatment.symmetry
|
|
12563
|
+
].join(":");
|
|
12564
|
+
case "angle-edge": return [
|
|
12565
|
+
treatment.kind,
|
|
12566
|
+
treatment.height,
|
|
12567
|
+
treatment.slope,
|
|
12568
|
+
treatment.direction
|
|
12569
|
+
].join(":");
|
|
12570
|
+
case "legacy-unsupported": return `${treatment.kind}:${treatment.boundaryOptionId}`;
|
|
12571
|
+
}
|
|
12572
|
+
}
|
|
12573
|
+
requireThemeColorToken$1("background");
|
|
12574
|
+
function requireThemeColorToken$1(value) {
|
|
12575
|
+
const token = parseThemeColorToken(value);
|
|
12576
|
+
if (!token) throw new Error(`Expected a theme color token. Received: ${value}`);
|
|
12577
|
+
return token;
|
|
12578
|
+
}
|
|
12579
|
+
//#endregion
|
|
12580
|
+
//#region ../theme-core/src/site-styles/compilationPlan.ts
|
|
12581
|
+
const defaultHeaderBrandPreferences = {
|
|
12582
|
+
brandDisplay: "auto",
|
|
12583
|
+
logoSize: "auto"
|
|
12034
12584
|
};
|
|
12035
|
-
asBoundaryOptionId("break:expansive");
|
|
12036
|
-
asBoundaryOptionId("break:wave");
|
|
12037
|
-
asBoundaryOptionId("break:wave-balanced");
|
|
12038
|
-
asBoundaryOptionId("break:wave-gentle");
|
|
12039
|
-
asBoundaryOptionId("break:wave-bold");
|
|
12040
|
-
asBoundaryOptionId("break:wave-drift");
|
|
12041
|
-
asBoundaryOptionId("break:angle-subtle");
|
|
12042
|
-
asBoundaryOptionId("break:angle-balanced");
|
|
12043
|
-
asBoundaryOptionId("break:angle-steep");
|
|
12044
12585
|
asBoundaryOptionId("break:unknown");
|
|
12045
12586
|
const pageDesignUserPinnedAppearanceChoiceSchema = z.object({
|
|
12046
12587
|
kind: z.literal("user-pinned"),
|
|
@@ -12167,14 +12708,11 @@ function validateUniquePageDesignPins(intent, ctx) {
|
|
|
12167
12708
|
label: "block Look pin"
|
|
12168
12709
|
});
|
|
12169
12710
|
addDuplicateStringIssues(ctx, {
|
|
12170
|
-
values: intent.boundaryPins.map((pin) =>
|
|
12711
|
+
values: intent.boundaryPins.map((pin) => makeBoundaryId(pin.previousBlockId, pin.nextBlockId)),
|
|
12171
12712
|
path: ["boundaryPins"],
|
|
12172
12713
|
label: "boundary pin"
|
|
12173
12714
|
});
|
|
12174
12715
|
}
|
|
12175
|
-
function boundaryKey(previousBlockId, nextBlockId) {
|
|
12176
|
-
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
12177
|
-
}
|
|
12178
12716
|
//#endregion
|
|
12179
12717
|
//#region ../theme-core/src/accordions/siteStyleDefaults.ts
|
|
12180
12718
|
/**
|
|
@@ -13802,6 +14340,13 @@ z.object({
|
|
|
13802
14340
|
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
13803
14341
|
authority: styleAuthoritySchema
|
|
13804
14342
|
}).strict();
|
|
14343
|
+
asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
|
|
14344
|
+
asPageFlowPresetId("generated-default");
|
|
14345
|
+
asSiteStyleId("site-style:south-west-twerk-school");
|
|
14346
|
+
asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
14347
|
+
asLayoutVariantKey("classic");
|
|
14348
|
+
asLayoutVariantKey("micro");
|
|
14349
|
+
asBoundaryOptionId("break:wave");
|
|
13805
14350
|
//#endregion
|
|
13806
14351
|
//#region ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
13807
14352
|
function defineSectionForegroundRuntimeTokens(input) {
|
|
@@ -13825,7 +14370,7 @@ function defineComponentRuntimeRules(rules) {
|
|
|
13825
14370
|
}
|
|
13826
14371
|
/**
|
|
13827
14372
|
* Default design rules translate semantic page-level choices into the current
|
|
13828
|
-
* runtime's section background
|
|
14373
|
+
* runtime's section background vocabulary.
|
|
13829
14374
|
*/
|
|
13830
14375
|
const defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
13831
14376
|
sectionSurfaces: {
|
|
@@ -13860,8 +14405,7 @@ const defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
13860
14405
|
color: "surface",
|
|
13861
14406
|
opacity: .88
|
|
13862
14407
|
}
|
|
13863
|
-
}
|
|
13864
|
-
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
14408
|
+
}
|
|
13865
14409
|
});
|
|
13866
14410
|
/**
|
|
13867
14411
|
* Default component rules translate frame and item-surface semantics into the
|
|
@@ -15596,19 +16140,11 @@ const curatedSiteStyles = [
|
|
|
15596
16140
|
})
|
|
15597
16141
|
];
|
|
15598
16142
|
new Map(curatedSiteStyles.map((style) => [style.id, style]));
|
|
15599
|
-
asPageFlowPresetId("generated-default");
|
|
15600
|
-
asSiteStyleId("site-style:south-west-twerk-school");
|
|
15601
|
-
asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
15602
|
-
asLayoutVariantKey("classic");
|
|
15603
|
-
asLayoutVariantKey("micro");
|
|
15604
|
-
asBoundaryOptionId("break:wave");
|
|
15605
|
-
asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
|
|
15606
16143
|
//#endregion
|
|
15607
16144
|
//#region ../theme-core/src/site-styles/resolver.ts
|
|
15608
16145
|
const blockDesignFallback = {
|
|
15609
16146
|
sectionSurface: "base",
|
|
15610
16147
|
contentFrame: plainFrame,
|
|
15611
|
-
transitionAfter: "none",
|
|
15612
16148
|
sectionHeight: "default",
|
|
15613
16149
|
heroLegibility: "none",
|
|
15614
16150
|
imageSurfaceTreatment: { kind: "none" },
|
|
@@ -15619,7 +16155,7 @@ const blockDesignFallback = {
|
|
|
15619
16155
|
accordionIconTreatment: null,
|
|
15620
16156
|
composition: null
|
|
15621
16157
|
};
|
|
15622
|
-
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.
|
|
16158
|
+
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
15623
16159
|
//#endregion
|
|
15624
16160
|
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
15625
16161
|
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
@@ -16431,7 +16967,8 @@ const siteOptionSources = [
|
|
|
16431
16967
|
"eventCategories",
|
|
16432
16968
|
"eventSeries",
|
|
16433
16969
|
"venues",
|
|
16434
|
-
"staffMembers"
|
|
16970
|
+
"staffMembers",
|
|
16971
|
+
"appointmentServiceCategories"
|
|
16435
16972
|
];
|
|
16436
16973
|
const mediaDeliverySchema = z.object({
|
|
16437
16974
|
sizes: z.string().optional(),
|
|
@@ -18680,9 +19217,7 @@ function navRow(opts) {
|
|
|
18680
19217
|
rel: { $bind: { from: `${childItemName}.rel` } },
|
|
18681
19218
|
"data-active": { $bind: { from: `${childItemName}.active` } }
|
|
18682
19219
|
}, [text({ as: "span" }, bind(`${childItemName}.label`))], repeat(`${itemName}.children`, childItemName));
|
|
18683
|
-
const dropdown = el("div", { className: "nav-dropdown rb-relative" }, [
|
|
18684
|
-
type: "button",
|
|
18685
|
-
variantId: "",
|
|
19220
|
+
const dropdown = el("div", { className: "nav-dropdown rb-relative" }, [el("headerControl", {
|
|
18686
19221
|
className: prependClassName("nav-dropdown-trigger", linkClassName),
|
|
18687
19222
|
"aria-haspopup": "menu",
|
|
18688
19223
|
"aria-expanded": "false",
|
|
@@ -18750,9 +19285,7 @@ function navColumn(opts) {
|
|
|
18750
19285
|
const dropdown = el("div", {
|
|
18751
19286
|
className: "nav-mobile-dropdown",
|
|
18752
19287
|
"data-nav-mobile-dropdown": "true"
|
|
18753
|
-
}, [
|
|
18754
|
-
type: "button",
|
|
18755
|
-
variantId: "",
|
|
19288
|
+
}, [el("headerControl", {
|
|
18756
19289
|
className: triggerClassName,
|
|
18757
19290
|
"aria-expanded": "false",
|
|
18758
19291
|
"aria-controls": childrenId,
|
|
@@ -25059,6 +25592,49 @@ const layoutTransforms = [
|
|
|
25059
25592
|
footerLogoMediaClassTransform,
|
|
25060
25593
|
footerLogoTextVisibleTransform
|
|
25061
25594
|
];
|
|
25595
|
+
//#endregion
|
|
25596
|
+
//#region ../blocks/src/system/transforms/registry/chromeLogo.ts
|
|
25597
|
+
const chromeLogoSchema = z.object({ surface: z.enum([
|
|
25598
|
+
"header-root",
|
|
25599
|
+
"header-mobile-panel",
|
|
25600
|
+
"footer-root"
|
|
25601
|
+
]) });
|
|
25602
|
+
/** The brand foreground shares the logo's surface; navigation may own a separate capsule. */
|
|
25603
|
+
function chromeSurfaceTextToken(surface, theme, palette) {
|
|
25604
|
+
switch (surface) {
|
|
25605
|
+
case "header-root": {
|
|
25606
|
+
const header = theme.header;
|
|
25607
|
+
const foreground = resolveHeaderRootForeground(header, palette, resolveHeaderVisualStyles(header).isTransparent);
|
|
25608
|
+
return foreground.kind === "known" ? foreground.roles.text : resolveHeaderLeafTextColor(header);
|
|
25609
|
+
}
|
|
25610
|
+
case "header-mobile-panel": return theme.header?.dropdownStyle?.textColor ?? "text";
|
|
25611
|
+
case "footer-root": {
|
|
25612
|
+
const foreground = resolveFooterRootForeground(theme.footer, palette);
|
|
25613
|
+
return foreground.kind === "known" ? foreground.roles.text : void 0;
|
|
25614
|
+
}
|
|
25615
|
+
}
|
|
25616
|
+
}
|
|
25617
|
+
function readChromeTheme(viewModel) {
|
|
25618
|
+
return asPartialObject(asPartialObject(viewModel?.["$root"])?.theme) ?? {};
|
|
25619
|
+
}
|
|
25620
|
+
function resolveChromeSurfaceTone(surface, context) {
|
|
25621
|
+
return surfaceToneFromForegroundToken(context.theme.palette, chromeSurfaceTextToken(surface, readChromeTheme(context.viewModel), context.theme.palette));
|
|
25622
|
+
}
|
|
25623
|
+
const chromeLogoTransforms = [{
|
|
25624
|
+
id: "layout.chromeLogo",
|
|
25625
|
+
kind: "formatter",
|
|
25626
|
+
summary: "Select the light- or dark-background site logo for a header or footer surface",
|
|
25627
|
+
schema: chromeLogoSchema,
|
|
25628
|
+
run: (value, options, context) => {
|
|
25629
|
+
const content = asPartialObject(value);
|
|
25630
|
+
const variants = asPartialObject(content?.logoVariants);
|
|
25631
|
+
if (!variants) return content?.logo ?? null;
|
|
25632
|
+
return selectLogoVariant(resolveChromeSurfaceTone(options.surface, context), {
|
|
25633
|
+
forLightBackgrounds: variants.forLightBackgrounds ?? null,
|
|
25634
|
+
forDarkBackgrounds: variants.forDarkBackgrounds ?? null
|
|
25635
|
+
});
|
|
25636
|
+
}
|
|
25637
|
+
}];
|
|
25062
25638
|
const headerRuntimeTransforms = [{
|
|
25063
25639
|
id: "layout.headerRuntimeContract",
|
|
25064
25640
|
kind: "formatter",
|
|
@@ -25266,46 +25842,42 @@ const whenTransformed = (from, transformId, equals = true) => (node) => ({
|
|
|
25266
25842
|
equals
|
|
25267
25843
|
}
|
|
25268
25844
|
});
|
|
25269
|
-
|
|
25845
|
+
/** Draw whichever site logo suits the surface this row sits on. */
|
|
25846
|
+
const bindChromeLogo = (surface) => bind("content", { transforms: [{
|
|
25847
|
+
id: "layout.chromeLogo",
|
|
25848
|
+
options: { surface }
|
|
25849
|
+
}] });
|
|
25850
|
+
/**
|
|
25851
|
+
* The brand link. The logo is chosen per surface because the open mobile menu
|
|
25852
|
+
* paints its own background, which may be the opposite tone to the header.
|
|
25853
|
+
*/
|
|
25854
|
+
const createLogoRow = (surface) => link({
|
|
25270
25855
|
href: "/",
|
|
25271
25856
|
className: bindProp("$root.theme.header.logo", {
|
|
25272
25857
|
transforms: pipe(tx("layout.headerLogoClass")),
|
|
25273
25858
|
fallback: "header-logo rb-flex rb-min-w-0 rb-items-center rb-gap-3 rb-no-underline rb-transition-opacity rb-hover-opacity-80"
|
|
25274
25859
|
})
|
|
25275
|
-
}, [
|
|
25276
|
-
|
|
25277
|
-
|
|
25278
|
-
|
|
25279
|
-
|
|
25280
|
-
|
|
25281
|
-
|
|
25282
|
-
|
|
25283
|
-
}) }, when("site.logo"), bind("site.logo"))], when("content.logo", { not: true })),
|
|
25284
|
-
text({
|
|
25285
|
-
as: "strong",
|
|
25286
|
-
className: "header-logo-text rb-truncate"
|
|
25287
|
-
}, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))
|
|
25288
|
-
]);
|
|
25860
|
+
}, [media({ className: bindProp("$root.theme.header.logo", {
|
|
25861
|
+
transforms: pipe(tx("layout.headerLogoMediaClass", { base: "rb-header-logo-sm rb-w-auto rb-transition-all rb-duration-300" })),
|
|
25862
|
+
fallback: "rb-header-logo-sm rb-w-auto rb-transition-all rb-duration-300"
|
|
25863
|
+
}) }, when("content.logo"), bindChromeLogo(surface)), text({
|
|
25864
|
+
as: "strong",
|
|
25865
|
+
className: "header-logo-text rb-truncate"
|
|
25866
|
+
}, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))]);
|
|
25867
|
+
const logoRow = createLogoRow("header-root");
|
|
25289
25868
|
const centeredLogoRow = link({
|
|
25290
25869
|
href: "/",
|
|
25291
25870
|
className: bindProp("$root.theme.header.logo", {
|
|
25292
25871
|
transforms: pipe(tx("layout.headerLogoClass", { base: "header-logo rb-flex rb-items-center rb-justify-center rb-gap-3 rb-text-center rb-no-underline rb-transition-opacity rb-hover-opacity-80" })),
|
|
25293
25872
|
fallback: "header-logo rb-flex rb-items-center rb-justify-center rb-gap-3 rb-text-center rb-no-underline rb-transition-opacity rb-hover-opacity-80"
|
|
25294
25873
|
})
|
|
25295
|
-
}, [
|
|
25296
|
-
|
|
25297
|
-
|
|
25298
|
-
|
|
25299
|
-
|
|
25300
|
-
|
|
25301
|
-
|
|
25302
|
-
fallback: "rb-header-logo-lg rb-w-auto rb-transition-all rb-duration-300"
|
|
25303
|
-
}) }, when("site.logo"), bind("site.logo"))], when("content.logo", { not: true })),
|
|
25304
|
-
text({
|
|
25305
|
-
as: "strong",
|
|
25306
|
-
className: "header-logo-text"
|
|
25307
|
-
}, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))
|
|
25308
|
-
]);
|
|
25874
|
+
}, [media({ className: bindProp("$root.theme.header.logo", {
|
|
25875
|
+
transforms: pipe(tx("layout.headerLogoMediaClass", { base: "rb-header-logo-lg rb-w-auto rb-transition-all rb-duration-300" })),
|
|
25876
|
+
fallback: "rb-header-logo-lg rb-w-auto rb-transition-all rb-duration-300"
|
|
25877
|
+
}) }, when("content.logo"), bindChromeLogo("header-root")), text({
|
|
25878
|
+
as: "strong",
|
|
25879
|
+
className: "header-logo-text"
|
|
25880
|
+
}, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))]);
|
|
25309
25881
|
const createNavRow = (className, align = "end") => navRow({
|
|
25310
25882
|
className: `${className} header-nav-row`,
|
|
25311
25883
|
align,
|
|
@@ -25345,10 +25917,8 @@ const mobileToggleIcon = stack({
|
|
|
25345
25917
|
}
|
|
25346
25918
|
]);
|
|
25347
25919
|
const mobileToggleButton = {
|
|
25348
|
-
type: "
|
|
25920
|
+
type: "headerControl",
|
|
25349
25921
|
props: {
|
|
25350
|
-
type: "button",
|
|
25351
|
-
variantId: "",
|
|
25352
25922
|
className: `nav-mobile-toggle ${mobileOnlyDisplay("inline-flex")} rb-h-10 rb-w-10 rb-items-center rb-justify-center rb-rounded-md transition-theme-standard`,
|
|
25353
25923
|
"aria-label": "Open menu",
|
|
25354
25924
|
"aria-expanded": "false",
|
|
@@ -25358,10 +25928,8 @@ const mobileToggleButton = {
|
|
|
25358
25928
|
children: [mobileToggleIcon]
|
|
25359
25929
|
};
|
|
25360
25930
|
const mobileOverlayToggleButton = {
|
|
25361
|
-
type: "
|
|
25931
|
+
type: "headerControl",
|
|
25362
25932
|
props: {
|
|
25363
|
-
type: "button",
|
|
25364
|
-
variantId: "",
|
|
25365
25933
|
className: "nav-mobile-toggle rb-inline-flex rb-h-10 rb-w-10 rb-items-center rb-justify-center rb-rounded-md transition-theme-standard",
|
|
25366
25934
|
"aria-label": "Open menu",
|
|
25367
25935
|
"aria-expanded": "false",
|
|
@@ -25385,7 +25953,7 @@ const mobileOverlayHeader = inline({
|
|
|
25385
25953
|
align: "center",
|
|
25386
25954
|
justify: "between",
|
|
25387
25955
|
style: borderColorStyle("border")
|
|
25388
|
-
}, [
|
|
25956
|
+
}, [createLogoRow("header-mobile-panel"), mobileOverlayToggleButton]);
|
|
25389
25957
|
const mobileOverlayBody = stack({
|
|
25390
25958
|
className: "rb-flex-1 rb-px-6 rb-py-6",
|
|
25391
25959
|
gap: "md",
|
|
@@ -25572,7 +26140,10 @@ const brandLogo = link({
|
|
|
25572
26140
|
options: { base: "rb-h-10 rb-w-auto" }
|
|
25573
26141
|
}],
|
|
25574
26142
|
fallback: "rb-h-10 rb-w-auto"
|
|
25575
|
-
} } }, when("module.showLogo", { equals: true }), when("content.logo"), bind("content
|
|
26143
|
+
} } }, when("module.showLogo", { equals: true }), when("content.logo"), bind("content", { transforms: [{
|
|
26144
|
+
id: "layout.chromeLogo",
|
|
26145
|
+
options: { surface: "footer-root" }
|
|
26146
|
+
}] })), text({
|
|
25576
26147
|
as: "strong",
|
|
25577
26148
|
className: "footer-logo-text rb-nav-text"
|
|
25578
26149
|
}, when("module.showTitle", { equals: true }), bind("site.title", { fallback: "Your Site" }))], when("module.kind", { equals: "brand" }));
|
|
@@ -27265,6 +27836,15 @@ const appointmentServicesBlockDefinition = {
|
|
|
27265
27836
|
required: false,
|
|
27266
27837
|
ui: { intent: "content" }
|
|
27267
27838
|
},
|
|
27839
|
+
createSiteOptionSelectField({
|
|
27840
|
+
id: "categoryId",
|
|
27841
|
+
label: "Category",
|
|
27842
|
+
description: "Show one category (with its heading and intro), or leave it on All categories to show everything grouped.",
|
|
27843
|
+
required: false,
|
|
27844
|
+
multiple: false,
|
|
27845
|
+
optionSource: "appointmentServiceCategories",
|
|
27846
|
+
ui: { intent: "content" }
|
|
27847
|
+
}),
|
|
27268
27848
|
sectionStylesField({
|
|
27269
27849
|
id: "_sectionStyles",
|
|
27270
27850
|
label: "Section styles",
|
|
@@ -27299,6 +27879,7 @@ const appointmentServicesBlockDefinition = {
|
|
|
27299
27879
|
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
27300
27880
|
el("appointment-services", {
|
|
27301
27881
|
sectionHeading: { $bind: { from: "content.heading" } },
|
|
27882
|
+
categoryId: { $bind: { from: "content.categoryId" } },
|
|
27302
27883
|
services: { $bind: { from: "data.services" } },
|
|
27303
27884
|
pathname: { $bind: { from: "$root.pathname" } },
|
|
27304
27885
|
servicePathPrefix: { $bind: { from: "$root.appointmentServicePathPrefix" } }
|
|
@@ -28288,6 +28869,12 @@ const occurrenceContextSchema = z.object({
|
|
|
28288
28869
|
capacityOverride: z.number().nullable().optional(),
|
|
28289
28870
|
overrides: z.record(z.string(), z.unknown()).nullable().optional()
|
|
28290
28871
|
}).nullable();
|
|
28872
|
+
//#endregion
|
|
28873
|
+
//#region ../blocks/src/system/runtime/api/readAuthority.ts
|
|
28874
|
+
const browserReadAuthoritySchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("published") }).strict(), z.object({
|
|
28875
|
+
kind: z.literal("preview"),
|
|
28876
|
+
token: z.string().min(1)
|
|
28877
|
+
}).strict()]);
|
|
28291
28878
|
const unsupportedEventRegistrationPageSurfaceSubjectSchema = z.object({
|
|
28292
28879
|
kind: z.literal("unsupported"),
|
|
28293
28880
|
reason: z.enum([
|
|
@@ -28398,6 +28985,33 @@ function normalizeEventCalendarDisplayMode$1(input) {
|
|
|
28398
28985
|
if (isEventCalendarDisplayMode(input.variant)) return input.variant;
|
|
28399
28986
|
return isEventCalendarDisplayMode(input.displayMode) ? input.displayMode : void 0;
|
|
28400
28987
|
}
|
|
28988
|
+
/** One closed authority for the projections required by each rendered mode. */
|
|
28989
|
+
function resolveEventCalendarReadPlan(input) {
|
|
28990
|
+
const mode = normalizeEventCalendarDisplayMode$1(input) ?? "combined";
|
|
28991
|
+
switch (mode) {
|
|
28992
|
+
case "combined": return {
|
|
28993
|
+
mode,
|
|
28994
|
+
jobs: "both",
|
|
28995
|
+
readProfile: "listing-card"
|
|
28996
|
+
};
|
|
28997
|
+
case "list": return {
|
|
28998
|
+
mode,
|
|
28999
|
+
jobs: "list",
|
|
29000
|
+
readProfile: "listing-card"
|
|
29001
|
+
};
|
|
29002
|
+
case "calendar": return {
|
|
29003
|
+
mode,
|
|
29004
|
+
jobs: "calendar",
|
|
29005
|
+
readProfile: "listing-card"
|
|
29006
|
+
};
|
|
29007
|
+
case "timetable":
|
|
29008
|
+
case "week-board": return {
|
|
29009
|
+
mode,
|
|
29010
|
+
jobs: "calendar",
|
|
29011
|
+
readProfile: "timetable"
|
|
29012
|
+
};
|
|
29013
|
+
}
|
|
29014
|
+
}
|
|
28401
29015
|
function isEventCalendarDefaultView(value) {
|
|
28402
29016
|
return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
|
|
28403
29017
|
}
|
|
@@ -28592,6 +29206,7 @@ const eventRegistrationSourceSchema = z.object({
|
|
|
28592
29206
|
apiBaseUrl: z.string().optional(),
|
|
28593
29207
|
portalToken: z.string().nullable().optional(),
|
|
28594
29208
|
previewToken: z.string().nullable().optional(),
|
|
29209
|
+
readAuthority: browserReadAuthoritySchema.optional(),
|
|
28595
29210
|
...eventRegistrationHydrationSchemaShape,
|
|
28596
29211
|
events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28597
29212
|
wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
@@ -28629,6 +29244,7 @@ z.object({
|
|
|
28629
29244
|
apiBaseUrl: z.string().optional(),
|
|
28630
29245
|
portalToken: z.string().nullable().optional(),
|
|
28631
29246
|
previewToken: z.string().nullable().optional(),
|
|
29247
|
+
readAuthority: browserReadAuthoritySchema.optional(),
|
|
28632
29248
|
stage: previewStageSchema.optional()
|
|
28633
29249
|
});
|
|
28634
29250
|
function buildEventRegistrationDisplayFromScopedEvents(source, scopedSourceEvents) {
|
|
@@ -28887,6 +29503,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
28887
29503
|
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
28888
29504
|
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
28889
29505
|
eventRegistration(withApiBindings({
|
|
29506
|
+
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
28890
29507
|
occurrenceContext: { $bind: { from: "$root.occurrenceContext" } },
|
|
28891
29508
|
subject: { $bind: { from: "$root.subject" } },
|
|
28892
29509
|
portalToken: { $bind: {
|
|
@@ -29519,8 +30136,7 @@ function resolveEventListPaginationAction(input) {
|
|
|
29519
30136
|
//#endregion
|
|
29520
30137
|
//#region ../blocks/src/system/blocks/events/shared/calendarWindow.ts
|
|
29521
30138
|
function resolveCalendarReadProfile(content) {
|
|
29522
|
-
|
|
29523
|
-
return mode === "timetable" || mode === "week-board" ? "timetable" : "listing-card";
|
|
30139
|
+
return resolveEventCalendarReadPlan(content).readProfile;
|
|
29524
30140
|
}
|
|
29525
30141
|
/** Runtime picker sentinels and bound loader IDs must describe the same query. */
|
|
29526
30142
|
function normalizeCalendarFilterId(value) {
|
|
@@ -29630,6 +30246,7 @@ const eventCollectionSourceSchemaShape = {
|
|
|
29630
30246
|
events: z.array(publicEventSchema).nullable().optional(),
|
|
29631
30247
|
siteId: z.string(),
|
|
29632
30248
|
apiBaseUrl: z.string().optional(),
|
|
30249
|
+
readAuthority: browserReadAuthoritySchema.optional(),
|
|
29633
30250
|
stage: previewStageSchema.optional(),
|
|
29634
30251
|
listLayout: eventLayoutSchema.optional(),
|
|
29635
30252
|
listColumns: columnOptionSchema.optional(),
|
|
@@ -29682,7 +30299,6 @@ const eventCollectionDisplaySchemaShape = {
|
|
|
29682
30299
|
const eventCollectionHydrationSchema = z.object({
|
|
29683
30300
|
siteId: z.string(),
|
|
29684
30301
|
calendarWindow: calendarWindowPageSchema.optional(),
|
|
29685
|
-
stage: previewStageSchema.optional(),
|
|
29686
30302
|
prefetchedEvents: z.boolean(),
|
|
29687
30303
|
eventSurface: eventSurfaceScopeSchema$1,
|
|
29688
30304
|
filterEventPresets: z.string().nullable(),
|
|
@@ -29757,7 +30373,6 @@ function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date())
|
|
|
29757
30373
|
return {
|
|
29758
30374
|
calendarWindow: source.calendarWindow ?? void 0,
|
|
29759
30375
|
siteId: source.siteId,
|
|
29760
|
-
stage: source.stage,
|
|
29761
30376
|
prefetchedEvents: source.events != null,
|
|
29762
30377
|
eventSurface: selected ? "all" : normalizeEventSurfaceScope(source.eventSurface),
|
|
29763
30378
|
filterEventPresets: selected ? null : normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
@@ -29777,6 +30392,7 @@ const eventListingSourceSchema = z.object({
|
|
|
29777
30392
|
events: z.array(publicEventSchema).nullable().optional(),
|
|
29778
30393
|
siteId: z.string(),
|
|
29779
30394
|
apiBaseUrl: z.string().optional(),
|
|
30395
|
+
readAuthority: browserReadAuthoritySchema.optional(),
|
|
29780
30396
|
stage: previewStageSchema.optional(),
|
|
29781
30397
|
layout: eventLayoutSchema.optional(),
|
|
29782
30398
|
columns: columnOptionSchema.optional(),
|
|
@@ -29817,7 +30433,6 @@ const eventListingDisplaySchema = z.object({
|
|
|
29817
30433
|
});
|
|
29818
30434
|
const eventListingHydrationSchema = z.object({
|
|
29819
30435
|
siteId: z.string(),
|
|
29820
|
-
stage: previewStageSchema.optional(),
|
|
29821
30436
|
eventsPerPage: eventPageSizeSchema,
|
|
29822
30437
|
paginationAction: eventListPaginationActionSchema,
|
|
29823
30438
|
showFilters: z.boolean(),
|
|
@@ -29840,6 +30455,7 @@ const eventListingRenderSchema = z.object({
|
|
|
29840
30455
|
z.object({
|
|
29841
30456
|
siteId: z.string(),
|
|
29842
30457
|
apiBaseUrl: z.string().optional(),
|
|
30458
|
+
readAuthority: browserReadAuthoritySchema.optional(),
|
|
29843
30459
|
stage: previewStageSchema.optional()
|
|
29844
30460
|
});
|
|
29845
30461
|
const eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
@@ -29874,7 +30490,6 @@ const eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
29874
30490
|
},
|
|
29875
30491
|
hydration: {
|
|
29876
30492
|
siteId: source.siteId,
|
|
29877
|
-
stage: source.stage,
|
|
29878
30493
|
eventsPerPage: pageSize,
|
|
29879
30494
|
paginationAction: resolveEventListPaginationAction({
|
|
29880
30495
|
paginationMode: source.paginationMode,
|
|
@@ -30156,6 +30771,7 @@ const eventListingBlockDefinition = {
|
|
|
30156
30771
|
rootType: "stack",
|
|
30157
30772
|
rootProps: { gap: "lg" },
|
|
30158
30773
|
children: [...eventSectionHeaderLayoutNodes(), el("event-listing", withApiBindings({
|
|
30774
|
+
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
30159
30775
|
events: { $bind: { from: "data.events" } },
|
|
30160
30776
|
stage: { $bind: {
|
|
30161
30777
|
from: "$root.previewStage",
|
|
@@ -30353,6 +30969,7 @@ const eventCalendarRenderSchema = z.object({
|
|
|
30353
30969
|
z.object({
|
|
30354
30970
|
siteId: z.string(),
|
|
30355
30971
|
apiBaseUrl: z.string().optional(),
|
|
30972
|
+
readAuthority: browserReadAuthoritySchema.optional(),
|
|
30356
30973
|
stage: previewStageSchema.optional()
|
|
30357
30974
|
});
|
|
30358
30975
|
/**
|
|
@@ -30374,7 +30991,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
30374
30991
|
listColumns: source.listColumns ?? source.columns
|
|
30375
30992
|
}),
|
|
30376
30993
|
kind: "event-calendar",
|
|
30377
|
-
displayMode:
|
|
30994
|
+
displayMode: resolveEventCalendarReadPlan(source).mode,
|
|
30378
30995
|
className: source.className ?? null,
|
|
30379
30996
|
events: (source.events ?? []).slice().sort((left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()),
|
|
30380
30997
|
boardTitle: normalizeOptionalText(source.boardTitle),
|
|
@@ -30391,13 +31008,16 @@ const eventCalendarBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
30391
31008
|
source: createZodCodec(eventCalendarSourceSchema),
|
|
30392
31009
|
render: createZodCodec(eventCalendarRenderSchema)
|
|
30393
31010
|
},
|
|
30394
|
-
buildRender: (source) =>
|
|
30395
|
-
|
|
30396
|
-
|
|
30397
|
-
|
|
30398
|
-
|
|
30399
|
-
|
|
30400
|
-
|
|
31011
|
+
buildRender: (source) => {
|
|
31012
|
+
const plan = resolveEventCalendarReadPlan(source);
|
|
31013
|
+
return {
|
|
31014
|
+
display: buildEventCalendarDisplay(source.calendarWindow && plan.jobs === "calendar" ? {
|
|
31015
|
+
...source,
|
|
31016
|
+
events: source.calendarWindow.events
|
|
31017
|
+
} : source),
|
|
31018
|
+
hydration: buildEventCollectionHydration(source)
|
|
31019
|
+
};
|
|
31020
|
+
}
|
|
30401
31021
|
});
|
|
30402
31022
|
//#endregion
|
|
30403
31023
|
//#region ../blocks/src/system/blocks/events/eventCalendarDataLoaders.ts
|
|
@@ -30547,6 +31167,7 @@ const eventCalendarLayout = [styledSection({
|
|
|
30547
31167
|
rootType: "stack",
|
|
30548
31168
|
rootProps: { gap: "lg" },
|
|
30549
31169
|
children: [...eventSectionHeaderLayoutNodes({ splitClassName: "event-section-head event-section-head--split" }), el("event-calendar", withApiBindings({
|
|
31170
|
+
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
30550
31171
|
events: { $bind: { from: "data.events" } },
|
|
30551
31172
|
calendarWindow: { $bind: { from: "data.calendarWindow" } },
|
|
30552
31173
|
stage: { $bind: {
|
|
@@ -34110,6 +34731,7 @@ const shopSourceSchema = z.object({
|
|
|
34110
34731
|
products: z.array(publicProductSchema).nullable().optional(),
|
|
34111
34732
|
siteId: z.string().optional(),
|
|
34112
34733
|
apiBaseUrl: z.string().optional(),
|
|
34734
|
+
readAuthority: browserReadAuthoritySchema.optional(),
|
|
34113
34735
|
stage: previewStageSchema.optional()
|
|
34114
34736
|
});
|
|
34115
34737
|
const productVariantOptionDisplaySchema = z.object({
|
|
@@ -34277,6 +34899,7 @@ function resolveShowPricePerCredit(source) {
|
|
|
34277
34899
|
z.object({
|
|
34278
34900
|
siteId: z.string().optional(),
|
|
34279
34901
|
apiBaseUrl: z.string().optional(),
|
|
34902
|
+
readAuthority: browserReadAuthoritySchema.optional(),
|
|
34280
34903
|
stage: previewStageSchema.optional()
|
|
34281
34904
|
});
|
|
34282
34905
|
const shopBlockRuntime = defineProgressiveBlockRuntime({
|
|
@@ -34617,6 +35240,7 @@ const shopBlockDefinition = {
|
|
|
34617
35240
|
baseClass: "",
|
|
34618
35241
|
spacing: "spacious",
|
|
34619
35242
|
children: sectionContainer([shop(withApiBindings({
|
|
35243
|
+
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
34620
35244
|
mode: "passes-memberships",
|
|
34621
35245
|
showPasses: { $bind: {
|
|
34622
35246
|
from: "content.showPasses",
|
|
@@ -34815,6 +35439,7 @@ const productListBlockDefinition = {
|
|
|
34815
35439
|
baseClass: "",
|
|
34816
35440
|
spacing: "spacious",
|
|
34817
35441
|
children: sectionContainer([productList(withApiBindings({
|
|
35442
|
+
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
34818
35443
|
mode: "product-list",
|
|
34819
35444
|
heading: { $bind: {
|
|
34820
35445
|
from: "content.heading",
|
|
@@ -34957,6 +35582,7 @@ const productDetailBlockDefinition = {
|
|
|
34957
35582
|
baseClass: "",
|
|
34958
35583
|
spacing: "spacious",
|
|
34959
35584
|
children: sectionContainer([productDetail(withApiBindings({
|
|
35585
|
+
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
34960
35586
|
mode: "product-detail",
|
|
34961
35587
|
heading: { $bind: {
|
|
34962
35588
|
from: "content.heading",
|
|
@@ -35073,6 +35699,7 @@ const cartBlockDefinition = {
|
|
|
35073
35699
|
baseClass: "",
|
|
35074
35700
|
spacing: "spacious",
|
|
35075
35701
|
children: sectionContainer([cart(withApiBindings({
|
|
35702
|
+
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
35076
35703
|
mode: "cart",
|
|
35077
35704
|
heading: { $bind: {
|
|
35078
35705
|
from: "content.heading",
|
|
@@ -35156,6 +35783,7 @@ const checkoutBlockDefinition = {
|
|
|
35156
35783
|
baseClass: "",
|
|
35157
35784
|
spacing: "spacious",
|
|
35158
35785
|
children: sectionContainer([checkout(withApiBindings({
|
|
35786
|
+
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
35159
35787
|
mode: "checkout",
|
|
35160
35788
|
heading: { $bind: {
|
|
35161
35789
|
from: "content.heading",
|
|
@@ -37816,8 +38444,8 @@ const builtinTransformDefinitions = [
|
|
|
37816
38444
|
summary: "Choose the read projection required by the calendar display mode",
|
|
37817
38445
|
schema: z.object({ job: z.enum(["list", "calendar"]) }),
|
|
37818
38446
|
run(value, options) {
|
|
37819
|
-
const
|
|
37820
|
-
return
|
|
38447
|
+
const plan = resolveEventCalendarReadPlan(asPartialObject(value) ?? {});
|
|
38448
|
+
return plan.jobs === "both" || plan.jobs === options.job;
|
|
37821
38449
|
}
|
|
37822
38450
|
},
|
|
37823
38451
|
{
|
|
@@ -37830,6 +38458,7 @@ const builtinTransformDefinitions = [
|
|
|
37830
38458
|
},
|
|
37831
38459
|
...formattingTransforms,
|
|
37832
38460
|
...layoutTransforms,
|
|
38461
|
+
...chromeLogoTransforms,
|
|
37833
38462
|
...uiTransforms,
|
|
37834
38463
|
...mediaTransforms,
|
|
37835
38464
|
...backgroundTransforms,
|
|
@@ -38598,7 +39227,12 @@ const appointmentSetupServiceDraftSchema = z.object({
|
|
|
38598
39227
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38599
39228
|
timezone: z.string().trim().min(1).nullable(),
|
|
38600
39229
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38601
|
-
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
39230
|
+
assignment: appointmentSetupServiceAssignmentDraftSchema,
|
|
39231
|
+
/**
|
|
39232
|
+
* The service's category, or null for "Other" (issue 1403). Omitted leaves
|
|
39233
|
+
* an existing service's category alone and puts a new one in "Other".
|
|
39234
|
+
*/
|
|
39235
|
+
categoryId: z.string().uuid().nullable().optional()
|
|
38602
39236
|
}).superRefine((service, ctx) => {
|
|
38603
39237
|
if (service.payment.kind !== "free" && (service.priceAmount === null || service.priceAmount <= 0)) ctx.addIssue({
|
|
38604
39238
|
code: "custom",
|