@riverbankcms/sdk 0.135.1 → 0.137.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 +114 -0
- package/README.md +4 -8
- package/dist/{PreviewEditorSidebar-D4p_5TdY.mjs → PreviewEditorSidebar-Bn6cONPa.mjs} +8 -8
- package/dist/{PreviewEditorUI-D0cRoTX1.mjs → PreviewEditorUI-LAwXZPSx.mjs} +3 -3
- package/dist/{PreviewQueryProvider-DcgaESkm.mjs → PreviewQueryProvider-ztQUdsNo.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BKLtM3Nz.mjs → SdkPreviewModeRuntime-BbbGsI_v.mjs} +621 -238
- package/dist/{SiteChromeCustomizeContext-61X2m7QV.mjs → SiteChromeCustomizeContext-BbkNSt5a.mjs} +5041 -2407
- package/dist/_dts/ai/src/contracts/proposals.d.ts +18 -850
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +412 -2316
- package/dist/_dts/ai/src/designer/themePatch.d.ts +5 -10
- package/dist/_dts/api/src/accessAdmin.d.ts +1 -9
- package/dist/_dts/api/src/accountApi.d.ts +49 -2
- package/dist/_dts/api/src/contentRuntime.d.ts +7 -4
- package/dist/_dts/api/src/domainConnection.d.ts +41 -0
- package/dist/_dts/api/src/endpoints.d.ts +201 -181
- package/dist/_dts/api/src/index.d.ts +5 -3
- package/dist/_dts/api/src/media.d.ts +19 -2
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +7 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +26 -0
- package/dist/_dts/api/src/sdkBlockContentAdmission.d.ts +5 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +2 -15
- package/dist/_dts/api/src/sdkMediaContracts.d.ts +40 -0
- package/dist/_dts/api/src/sdkMediaEndpointDefinitions.d.ts +61 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +21 -436
- package/dist/_dts/api/src/siteInfrastructure.d.ts +17 -23
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +7 -21
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +27 -3
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +37 -17
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +2 -3
- package/dist/_dts/block-form/src/utils/slug.d.ts +6 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +13 -7
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +48 -0
- package/dist/_dts/blocks/src/definitions.d.ts +14 -0
- package/dist/_dts/blocks/src/index.d.ts +4 -3
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +49 -0
- package/dist/_dts/blocks/src/pageRendererBlockSupport.d.ts +75 -0
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +2 -0
- package/dist/_dts/blocks/src/server.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +78 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +2 -18
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +103 -16
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +19 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +52 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +47 -21
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +38 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ErrorStep.d.ts +3 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/VerifyingTimeoutStep.d.ts +3 -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.planning.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorPresentation.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +25 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +8 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +40 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +43 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/capacity.d.ts +164 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/cta.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +47 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/people.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/pricing.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarNavigationChevron.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModalContext.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/OfferingTitle.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +31 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +9 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listingLayout.d.ts +23 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +4 -3
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -1
- package/dist/_dts/calendar/src/grid.d.ts +24 -66
- package/dist/_dts/calendar/src/index.d.ts +2 -2
- package/dist/_dts/calendar/src/timetable.d.ts +5 -9
- package/dist/_dts/commerce/src/purchase/allocation.d.ts +11 -0
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +57 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +3 -0
- package/dist/_dts/commerce/src/purchase/settlement.d.ts +33 -0
- package/dist/_dts/commerce/src/purchase/stripeCheckoutReturnUrl.d.ts +8 -0
- package/dist/_dts/content-model/src/templates/defaults.d.ts +6 -0
- package/dist/_dts/core/src/slug.d.ts +20 -5
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +8 -40
- package/dist/_dts/db/src/index.d.ts +1 -0
- package/dist/_dts/db/src/utils/postgrestFilter.d.ts +2 -0
- package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +4 -0
- package/dist/_dts/media-core/src/fileDomain.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlSaveRequest.d.ts +51 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +24 -2
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +23 -1
- package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +8 -0
- package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +6 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +7 -2
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +10 -6
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/footerPageOutline.d.ts +3 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +3 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +17 -0
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +9 -3
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/overrideResolution.d.ts +7 -4
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
- package/dist/_dts/theme-core/src/data.d.ts +12 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/gradients/types.d.ts +5 -0
- package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +25 -2
- package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -6
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +9 -810
- package/dist/_dts/theme-core/src/schema.d.ts +460 -1285
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +43 -3
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +223 -1
- package/dist/_dts/theme-core/src/site-styles/headerBrandPresentation.d.ts +63 -0
- package/dist/_dts/theme-core/src/site-styles/headerBytesComparison.d.ts +30 -0
- package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +50 -1
- package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +48 -38
- package/dist/_dts/theme-core/src/site-styles/headerLayoutStyles.d.ts +10 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutTypes.d.ts +8 -5
- package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerPreferences.d.ts +162 -0
- package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +73 -0
- package/dist/_dts/theme-core/src/site-styles/headerRecompile.d.ts +118 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +25 -2
- package/dist/_dts/theme-core/src/site-styles/headerStyleDefaults.d.ts +465 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleRecipe.d.ts +168 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +20 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +43 -2
- package/dist/client/{BookingConsentAgreement-Bz9znbpn.mjs → BookingConsentAgreement--_fUCZe-.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-35Ru8yB9.mjs → DiscountCodeDisclosure-BMipSoDJ.mjs} +1 -1
- package/dist/client/{EventCombined.client-BKB0ZxRR.mjs → EventCombined.client-CwJOxn7A.mjs} +274 -278
- package/dist/client/{EventListing.client-Dx8I21ok.mjs → EventListing.client-eVwiylPW.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CEWx-Bhe.mjs → LeafletStaticMap-IKenna5u.mjs} +1 -1
- package/dist/client/{accordion-KIDsKTwS.mjs → accordion-MGAO3PuE.mjs} +1 -1
- package/dist/client/{bookingForm-D96Rmp-5.mjs → bookingForm-CudlQPUu.mjs} +5 -5
- package/dist/client/bookings.mjs +476 -98
- package/dist/client/capacity-BW00PO7s.mjs +271 -0
- package/dist/client/{carousel-YwUgyL66.mjs → carousel-BrbGJ2Jl.mjs} +1 -1
- package/dist/client/{cart-BbwuNrUT.mjs → cart-Bq5eU0xZ.mjs} +3 -3
- package/dist/client/{checkout-hp1ucmEY.mjs → checkout-BAFVRdrK.mjs} +3 -3
- package/dist/client/client.mjs +4641 -2721
- package/dist/client/{context-DljQn8L5.mjs → context-DCkiHVdD.mjs} +20 -5
- package/dist/client/dates-2RPXHQy4.mjs +264 -0
- package/dist/client/{eventCalendar-DU4iNLpo.mjs → eventCalendar-B0O-hPF7.mjs} +261 -126
- package/dist/client/{eventCombined-CZuupW8m.mjs → eventCombined-DCkDaoDI.mjs} +3 -3
- package/dist/client/{eventDetails-DPQWwCIi.mjs → eventDetails-D8GG2dnD.mjs} +7 -4
- package/dist/client/{eventListing-C7oMidwS.mjs → eventListing-3ssV_bxz.mjs} +3 -3
- package/dist/client/{eventRegistration-zEiunlUs.mjs → eventRegistration-bPQo3kVw.mjs} +610 -313
- package/dist/client/{form-D2KIyCVJ.mjs → form-qMv8RDkk.mjs} +2 -2
- package/dist/client/{headerSection-CK5uChUK.mjs → headerSection-CH0Sc5hX.mjs} +2 -2
- package/dist/client/hooks.mjs +2514 -308
- package/dist/client/{locationMap-DLQNH1ln.mjs → locationMap-0_xlBnNI.mjs} +2 -2
- package/dist/client/{newsletterForm-ZuhIG7fZ.mjs → newsletterForm-NUW7m9RI.mjs} +2 -2
- package/dist/client/{productDetail-7hIcGeae.mjs → productDetail-FBEOM7jW.mjs} +3 -3
- package/dist/client/{productList-T4Cii1ot.mjs → productList-R0OSGhnn.mjs} +3 -3
- package/dist/client/{propsDecoder-mB0aC_Fi.mjs → propsDecoder-pYvx_Srl.mjs} +179 -401
- package/dist/client/rendering/client.mjs +3496 -2223
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +4400 -2510
- package/dist/client/{scrollToBlock-Du5mHgvL.mjs → scrollToBlock-ByQv96M2.mjs} +1 -1
- package/dist/client/{shop-B5zAcKZn.mjs → shop-RUG9DmRE.mjs} +6 -6
- package/dist/client/{shop-commerce-BKBZB6l5.mjs → shop-commerce-B76Jz23B.mjs} +5 -5
- package/dist/client/{shop-commerce-store-Cq4qlNtQ.mjs → shop-commerce-store-QuQNdDsD.mjs} +1 -1
- package/dist/client/{shopShared-DYGzEs9D.mjs → shopShared-vXU1omwJ.mjs} +3 -3
- package/dist/client/{useEventFilters-Bphkda8m.mjs → useEventFilters-ByuU6HLA.mjs} +33 -18
- package/dist/preview-next/before-render.mjs +86 -51
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +86 -51
- package/dist/preview-next/middleware.mjs +86 -51
- package/dist/{previewAuthStore-C7ksxt5b.mjs → previewAuthStore-L_cKW8Sb.mjs} +86 -51
- package/dist/{sdk-runtime-BbIC8G4J.mjs → sdk-runtime-sUMr5d70.mjs} +2 -2
- package/dist/{separator-CadhAtI7.mjs → separator-BIHkie5i.mjs} +1 -1
- package/dist/server/components.mjs +4397 -2960
- package/dist/server/config-validation.mjs +354 -145
- package/dist/server/config.mjs +354 -145
- package/dist/server/data.mjs +354 -144
- package/dist/server/index.mjs +201 -55
- package/dist/server/manifest.mjs +0 -1
- package/dist/server/next.mjs +4046 -2611
- package/dist/server/page-converter.mjs +225 -122
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4105 -2636
- package/dist/server/rendering.mjs +4522 -3087
- package/dist/server/routing.mjs +3289 -1637
- package/dist/server/server.mjs +23175 -21079
- package/dist/server/theme-bridge.mjs +708 -272
- package/dist/server/theme.mjs +29 -25
- package/dist/styles/index.css +624 -181
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +0 -48
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +0 -100
- /package/dist/_dts/blocks/src/system/runtime/nodes/events/{shared → domain}/destination.d.ts +0 -0
package/dist/server/config.mjs
CHANGED
|
@@ -1243,6 +1243,13 @@ const PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1243
1243
|
//#endregion
|
|
1244
1244
|
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
1245
1245
|
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1246
|
+
resolvePublicEventCheckoutReturn: {
|
|
1247
|
+
path: "/public/sites/{siteId}/events/checkout-return",
|
|
1248
|
+
method: "POST",
|
|
1249
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-checkout"],
|
|
1250
|
+
auth: "public",
|
|
1251
|
+
responseKind: "json"
|
|
1252
|
+
},
|
|
1246
1253
|
getPublicEventRegistrationOptions: {
|
|
1247
1254
|
path: "/public/sites/{siteId}/events/registration-options",
|
|
1248
1255
|
method: "POST",
|
|
@@ -1627,6 +1634,83 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1627
1634
|
errors: ["validation:invalid_input", "server:internal_error"]
|
|
1628
1635
|
}
|
|
1629
1636
|
});
|
|
1637
|
+
//#endregion
|
|
1638
|
+
//#region ../api/src/sdkMediaEndpointDefinitions.ts
|
|
1639
|
+
const SDK_MEDIA_ENDPOINT_DEFINITIONS = {
|
|
1640
|
+
sdkMediaExists: {
|
|
1641
|
+
path: "/sdk/{siteId}/media/exists",
|
|
1642
|
+
method: "POST",
|
|
1643
|
+
errors: ["validation:invalid_input"],
|
|
1644
|
+
auth: "service",
|
|
1645
|
+
responseKind: "json"
|
|
1646
|
+
},
|
|
1647
|
+
sdkMediaFindByChecksum: {
|
|
1648
|
+
path: "/sdk/{siteId}/media/find-by-checksum",
|
|
1649
|
+
method: "POST",
|
|
1650
|
+
errors: ["server:internal_error"],
|
|
1651
|
+
auth: "service",
|
|
1652
|
+
responseKind: "json"
|
|
1653
|
+
},
|
|
1654
|
+
sdkMediaResolve: {
|
|
1655
|
+
path: "/sdk/{siteId}/media/resolve",
|
|
1656
|
+
method: "POST",
|
|
1657
|
+
errors: ["server:internal_error"],
|
|
1658
|
+
auth: "service",
|
|
1659
|
+
responseKind: "json"
|
|
1660
|
+
},
|
|
1661
|
+
sdkMediaList: {
|
|
1662
|
+
path: "/sdk/{siteId}/media",
|
|
1663
|
+
method: "GET",
|
|
1664
|
+
auth: "service",
|
|
1665
|
+
responseKind: "json"
|
|
1666
|
+
},
|
|
1667
|
+
sdkMediaDownload: {
|
|
1668
|
+
path: "/sdk/{siteId}/media/{identifier}/download",
|
|
1669
|
+
method: "GET",
|
|
1670
|
+
auth: "service",
|
|
1671
|
+
responseKind: "json"
|
|
1672
|
+
},
|
|
1673
|
+
sdkMediaDeletePreview: {
|
|
1674
|
+
path: "/sdk/{siteId}/media/{identifier}/delete-preview",
|
|
1675
|
+
method: "POST",
|
|
1676
|
+
auth: "service",
|
|
1677
|
+
responseKind: "json"
|
|
1678
|
+
},
|
|
1679
|
+
sdkMediaDeleteApply: {
|
|
1680
|
+
path: "/sdk/{siteId}/media/{identifier}",
|
|
1681
|
+
method: "DELETE",
|
|
1682
|
+
auth: "service",
|
|
1683
|
+
responseKind: "json"
|
|
1684
|
+
},
|
|
1685
|
+
sdkMediaUploadUrl: {
|
|
1686
|
+
path: "/sdk/{siteId}/media/upload-url",
|
|
1687
|
+
method: "POST",
|
|
1688
|
+
errors: [
|
|
1689
|
+
"resource:not_found",
|
|
1690
|
+
"validation:invalid_input",
|
|
1691
|
+
"resource:conflict",
|
|
1692
|
+
"validation:payload_too_large",
|
|
1693
|
+
"billing:plan_limit_exceeded",
|
|
1694
|
+
"server:internal_error"
|
|
1695
|
+
],
|
|
1696
|
+
auth: "service",
|
|
1697
|
+
responseKind: "json"
|
|
1698
|
+
},
|
|
1699
|
+
sdkMediaUploadFinalize: {
|
|
1700
|
+
path: "/sdk/{siteId}/media/upload",
|
|
1701
|
+
method: "POST",
|
|
1702
|
+
errors: [
|
|
1703
|
+
"resource:not_found",
|
|
1704
|
+
"validation:invalid_input",
|
|
1705
|
+
"resource:conflict",
|
|
1706
|
+
"validation:payload_too_large",
|
|
1707
|
+
"billing:plan_limit_exceeded",
|
|
1708
|
+
"server:internal_error"
|
|
1709
|
+
],
|
|
1710
|
+
auth: "service",
|
|
1711
|
+
responseKind: "json"
|
|
1712
|
+
}
|
|
1713
|
+
};
|
|
1630
1714
|
({
|
|
1631
1715
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
1632
1716
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
@@ -1635,7 +1719,7 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1635
1719
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
1636
1720
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
1637
1721
|
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
1638
|
-
}, 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.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, 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.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.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.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.formById, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEventFilters, { ...PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicTeamMembers, TAG_TEMPLATES.publicWholeSeriesOfferings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicPasses, TAG_TEMPLATES.publicMemberships, TAG_TEMPLATES.publicProducts, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
|
|
1722
|
+
}, 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.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, 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.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.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.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.formById, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEventFilters, { ...PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicTeamMembers, TAG_TEMPLATES.publicWholeSeriesOfferings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicPasses, TAG_TEMPLATES.publicMemberships, TAG_TEMPLATES.publicProducts, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
|
|
1639
1723
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
1640
1724
|
z.object({
|
|
1641
1725
|
accessToken: z.string().min(1).max(4096),
|
|
@@ -1974,6 +2058,9 @@ function getZonedDateTimeParts(date, timeZone) {
|
|
|
1974
2058
|
function formatDateKey(date) {
|
|
1975
2059
|
return `${String(date.year).padStart(4, "0")}-${String(date.month).padStart(2, "0")}-${String(date.day).padStart(2, "0")}`;
|
|
1976
2060
|
}
|
|
2061
|
+
function toBookingTimeZone(timeZone) {
|
|
2062
|
+
return getSafeTimeZone(timeZone);
|
|
2063
|
+
}
|
|
1977
2064
|
function parseUtcIsoDateTimeString(value) {
|
|
1978
2065
|
const normalized = value.trim();
|
|
1979
2066
|
const hasUtcSuffix = normalized.endsWith("Z");
|
|
@@ -8522,6 +8609,11 @@ const gradientConfigSchema = z.object({
|
|
|
8522
8609
|
position: z.string().optional(),
|
|
8523
8610
|
stops: z.array(gradientStopSchema).min(2)
|
|
8524
8611
|
});
|
|
8612
|
+
const gradientsSchema = z.object({
|
|
8613
|
+
button: z.string().min(1).nullable().optional(),
|
|
8614
|
+
hero: z.string().min(1).nullable().optional(),
|
|
8615
|
+
background: z.string().min(1).nullable().optional()
|
|
8616
|
+
});
|
|
8525
8617
|
//#endregion
|
|
8526
8618
|
//#region ../theme-core/src/interactive/baseSchema.ts
|
|
8527
8619
|
/**
|
|
@@ -9222,12 +9314,8 @@ const legacyHeaderVariantValues = Object.keys(legacyHeaderVariants);
|
|
|
9222
9314
|
* `@riverbankcms/api` is `z.input<typeof themeSchema>`, so a widened input here
|
|
9223
9315
|
* would leak straight into a public type.
|
|
9224
9316
|
*
|
|
9225
|
-
*
|
|
9226
|
-
*
|
|
9227
|
-
* `apps/dashboard/src/server/services/sites/runtimeSiteResponse.ts` returns the
|
|
9228
|
-
* raw database JSON asserted as `Theme` with no parse, so a theme still
|
|
9229
|
-
* carrying a legacy spelling reaches the theme editor un-aliased. That gap
|
|
9230
|
-
* predates this alias and is harmless while persisted usage is zero.
|
|
9317
|
+
* Persisted runtime themes are admitted through `parseThemeForPersistence`
|
|
9318
|
+
* before reaching consumers, so legacy spellings normalize at that boundary.
|
|
9231
9319
|
*/
|
|
9232
9320
|
const headerVariantWithLegacyAliasSchema = z.enum([...headerVariantValues, ...legacyHeaderVariantValues]).transform((value) => value in legacyHeaderVariants ? legacyHeaderVariants[value] : value);
|
|
9233
9321
|
const BREAKPOINT_LG = 1024;
|
|
@@ -9279,11 +9367,30 @@ const headerContainerSchema = z.object({
|
|
|
9279
9367
|
tint: z.string().nullable().optional(),
|
|
9280
9368
|
opacity: z.number().min(0).max(1).default(.12)
|
|
9281
9369
|
}).optional();
|
|
9282
|
-
|
|
9370
|
+
//#endregion
|
|
9371
|
+
//#region ../theme-core/src/header/interactionPalette.ts
|
|
9372
|
+
/**
|
|
9373
|
+
* The palettes that fill the nav link with a colour on hover and focus. Each
|
|
9374
|
+
* one names a background/foreground token pair.
|
|
9375
|
+
*/
|
|
9376
|
+
const headerInteractionPillPaletteValues = [
|
|
9283
9377
|
"primary",
|
|
9284
9378
|
"secondary",
|
|
9285
9379
|
"accent"
|
|
9286
|
-
]
|
|
9380
|
+
];
|
|
9381
|
+
/**
|
|
9382
|
+
* "No pill": the nav link keeps whatever hover treatment its recipe compiled,
|
|
9383
|
+
* and the palette step writes nothing at all (#1318 Phase 4c decision 2).
|
|
9384
|
+
*
|
|
9385
|
+
* It exists because "a colour change on hover, no filled background" was not
|
|
9386
|
+
* expressible in the vocabulary, and it is what
|
|
9387
|
+
* `anna-raven-therapy-and-yoga` and `kirtan-lucy` have rendered since before
|
|
9388
|
+
* the palette existed. Without it those two rows can only be classified as a
|
|
9389
|
+
* conscious visual change.
|
|
9390
|
+
*/
|
|
9391
|
+
const headerInteractionQuietPalette = "quiet";
|
|
9392
|
+
const headerInteractionPaletteValues = [...headerInteractionPillPaletteValues, headerInteractionQuietPalette];
|
|
9393
|
+
const headerInteractionPaletteSchema = z.enum(headerInteractionPaletteValues);
|
|
9287
9394
|
//#endregion
|
|
9288
9395
|
//#region ../theme-core/src/boxBackgroundSchema.ts
|
|
9289
9396
|
const boxBackgroundOverlaySchema = z.preprocess(normalizeAuthoringOpacity, z.discriminatedUnion("type", [
|
|
@@ -9665,11 +9772,12 @@ const inputStyle = z.object({
|
|
|
9665
9772
|
]),
|
|
9666
9773
|
label: z.enum(["inside", "above"])
|
|
9667
9774
|
});
|
|
9668
|
-
const
|
|
9775
|
+
const headerPositioningValues = [
|
|
9669
9776
|
"static",
|
|
9670
9777
|
"sticky",
|
|
9671
9778
|
"fixed"
|
|
9672
|
-
]
|
|
9779
|
+
];
|
|
9780
|
+
const headerPositioning = z.enum(headerPositioningValues);
|
|
9673
9781
|
const headerNavStyle = z.enum([
|
|
9674
9782
|
"minimal",
|
|
9675
9783
|
"underline",
|
|
@@ -9686,7 +9794,6 @@ const navFontWeight = z.enum([
|
|
|
9686
9794
|
"bold"
|
|
9687
9795
|
]);
|
|
9688
9796
|
const headerMaxWidth = z.enum(["container", "full"]);
|
|
9689
|
-
const headerBarFrame = z.enum(["full-bleed", "inset-shell"]);
|
|
9690
9797
|
const headerBorderSchema = componentBorderSchema.extend({ position: z.enum([
|
|
9691
9798
|
"bottom",
|
|
9692
9799
|
"top",
|
|
@@ -9715,12 +9822,6 @@ const headerLogoTextSchema = z.object({
|
|
|
9715
9822
|
]).optional(),
|
|
9716
9823
|
hideOnShrink: z.boolean().optional()
|
|
9717
9824
|
}).optional();
|
|
9718
|
-
const navEffectsSchema = z.object({
|
|
9719
|
-
underlineGradient: z.boolean().default(false),
|
|
9720
|
-
glow: z.boolean().default(false),
|
|
9721
|
-
glowColor: z.string().optional(),
|
|
9722
|
-
neumorphic: z.boolean().default(false)
|
|
9723
|
-
}).optional();
|
|
9724
9825
|
const dropdownStyleSchema = z.object({
|
|
9725
9826
|
background: themeColorTokenSchema.default("surface"),
|
|
9726
9827
|
textColor: themeColorTokenSchema.default("text"),
|
|
@@ -9811,10 +9912,8 @@ const headerSchema = z.object({
|
|
|
9811
9912
|
variant: headerVariantWithLegacyAliasSchema,
|
|
9812
9913
|
positioning: headerPositioning,
|
|
9813
9914
|
shrinkOnScroll: z.boolean(),
|
|
9814
|
-
maxWidth: headerMaxWidth,
|
|
9815
|
-
barFrame: headerBarFrame.optional(),
|
|
9915
|
+
maxWidth: headerMaxWidth.default("container"),
|
|
9816
9916
|
scrollTreatment: headerScrollTreatmentSchema,
|
|
9817
|
-
logoOverride: mediaSchema.nullable().optional(),
|
|
9818
9917
|
background: headerBackgroundSchema.default({
|
|
9819
9918
|
type: "color",
|
|
9820
9919
|
color: "surface"
|
|
@@ -9826,13 +9925,11 @@ const headerSchema = z.object({
|
|
|
9826
9925
|
navFontRole: z.enum(["body", "heading"]).optional(),
|
|
9827
9926
|
navTextSize: navLinkStyleSchema.shape.textSize,
|
|
9828
9927
|
interactionPalette: headerInteractionPaletteSchema.optional(),
|
|
9829
|
-
navPlacement: z.enum(["end", "center"]).optional(),
|
|
9830
9928
|
container: headerContainerSchema,
|
|
9831
9929
|
border: headerBorderSchema,
|
|
9832
9930
|
shadow: componentShadowSchema.optional(),
|
|
9833
9931
|
logo: logoStyleSchema,
|
|
9834
9932
|
logoText: headerLogoTextSchema,
|
|
9835
|
-
navEffects: navEffectsSchema,
|
|
9836
9933
|
navContainer: navContainerSchema,
|
|
9837
9934
|
navLinkStyle: navLinkStyleSchema.optional(),
|
|
9838
9935
|
ctaGap: headerCtaGapSchema.optional(),
|
|
@@ -10014,11 +10111,6 @@ const bodyTextSchema = z.object({ intro: z.object({
|
|
|
10014
10111
|
paragraphSize: bodyTextIntroTypographySizeSchema.optional(),
|
|
10015
10112
|
headingSize: bodyTextIntroTypographySizeSchema.optional()
|
|
10016
10113
|
}).optional() }).optional();
|
|
10017
|
-
const gradientsSchema = z.object({
|
|
10018
|
-
button: z.string().min(1).nullable().optional(),
|
|
10019
|
-
hero: z.string().min(1).nullable().optional(),
|
|
10020
|
-
background: z.string().min(1).nullable().optional()
|
|
10021
|
-
});
|
|
10022
10114
|
/**
|
|
10023
10115
|
* Testimonial quote-mark treatment, owned by the site style (analogous to the
|
|
10024
10116
|
* accordion icon). `style` is the coarse selector; the optional fields fine-tune
|
|
@@ -10899,6 +10991,12 @@ function cardRoleFromLegacyVocabulary(value) {
|
|
|
10899
10991
|
*/
|
|
10900
10992
|
const cardRoleWithLegacyAliasSchema = z.preprocess((value) => cardRoleFromLegacyVocabulary(value) ?? value, cardRoleSchema);
|
|
10901
10993
|
//#endregion
|
|
10994
|
+
//#region ../theme-core/src/site-styles/compilationPlan.ts
|
|
10995
|
+
const defaultHeaderBrandPreferences = {
|
|
10996
|
+
brandDisplay: "auto",
|
|
10997
|
+
logoSize: "auto"
|
|
10998
|
+
};
|
|
10999
|
+
//#endregion
|
|
10902
11000
|
//#region ../theme-core/src/site-styles/sectionTransitions.ts
|
|
10903
11001
|
function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
10904
11002
|
return {
|
|
@@ -11825,27 +11923,6 @@ function asHeaderStyleId(value) {
|
|
|
11825
11923
|
return value;
|
|
11826
11924
|
}
|
|
11827
11925
|
//#endregion
|
|
11828
|
-
//#region ../theme-core/src/site-styles/headerInteractionPalette.ts
|
|
11829
|
-
const clearSplitInteractionPalette = defineLookOptionGroup({
|
|
11830
|
-
id: "interaction-palette",
|
|
11831
|
-
label: "Hover colour",
|
|
11832
|
-
defaultOptionId: "accent",
|
|
11833
|
-
options: [
|
|
11834
|
-
{
|
|
11835
|
-
id: "accent",
|
|
11836
|
-
label: "Accent"
|
|
11837
|
-
},
|
|
11838
|
-
{
|
|
11839
|
-
id: "primary",
|
|
11840
|
-
label: "Primary"
|
|
11841
|
-
},
|
|
11842
|
-
{
|
|
11843
|
-
id: "secondary",
|
|
11844
|
-
label: "Secondary"
|
|
11845
|
-
}
|
|
11846
|
-
]
|
|
11847
|
-
});
|
|
11848
|
-
//#endregion
|
|
11849
11926
|
//#region ../theme-core/src/site-styles/headerLayoutCatalog.ts
|
|
11850
11927
|
const titleOnlyLogoAccommodation = {
|
|
11851
11928
|
pattern: "title-only",
|
|
@@ -11965,6 +12042,12 @@ const overlayLogoAccommodations = [
|
|
|
11965
12042
|
inlineMarkWithTitleLogoAccommodation,
|
|
11966
12043
|
unbackedOverlayLogoAccommodation
|
|
11967
12044
|
];
|
|
12045
|
+
const allCuratedLogoAccommodations = [
|
|
12046
|
+
...inlineClassicLogoAccommodations,
|
|
12047
|
+
...centeredLogoAccommodations,
|
|
12048
|
+
...overlayLogoAccommodations
|
|
12049
|
+
];
|
|
12050
|
+
new Set(allCuratedLogoAccommodations.filter((option) => option.providesBacking === true).map((option) => option.pattern));
|
|
11968
12051
|
const headerLayoutCatalog = defineExactCatalog()([
|
|
11969
12052
|
{
|
|
11970
12053
|
id: asHeaderLayoutId("classic"),
|
|
@@ -12005,43 +12088,37 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
12005
12088
|
id: asHeaderStyleId("minimal"),
|
|
12006
12089
|
label: "Minimal",
|
|
12007
12090
|
description: "Quiet surface with simple color-change navigation.",
|
|
12008
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12009
|
-
navTypography: "plain"
|
|
12091
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12010
12092
|
},
|
|
12011
12093
|
{
|
|
12012
12094
|
id: asHeaderStyleId("fine-line"),
|
|
12013
12095
|
label: "Seamless",
|
|
12014
12096
|
description: "Borderless surface with underline hover for a quieter page transition.",
|
|
12015
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12016
|
-
navTypography: "plain"
|
|
12097
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12017
12098
|
},
|
|
12018
12099
|
{
|
|
12019
12100
|
id: asHeaderStyleId("soft-bar"),
|
|
12020
12101
|
label: "Soft Bar",
|
|
12021
12102
|
description: "Soft tinted surface with gentle pill hover states.",
|
|
12022
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12023
|
-
navTypography: "plain"
|
|
12103
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12024
12104
|
},
|
|
12025
12105
|
{
|
|
12026
12106
|
id: asHeaderStyleId("pill-nav"),
|
|
12027
12107
|
label: "Pill Nav",
|
|
12028
12108
|
description: "A calm pill navigation rail over a neutral header.",
|
|
12029
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12030
|
-
navTypography: "plain"
|
|
12109
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12031
12110
|
},
|
|
12032
12111
|
{
|
|
12033
12112
|
id: asHeaderStyleId("brand-bar"),
|
|
12034
12113
|
label: "Brand Bar",
|
|
12035
12114
|
description: "Solid brand surface with high-contrast navigation.",
|
|
12036
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12037
|
-
navTypography: "brand-caps"
|
|
12115
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12038
12116
|
},
|
|
12039
12117
|
{
|
|
12040
12118
|
id: asHeaderStyleId("brand-underline"),
|
|
12041
12119
|
label: "Brand Underline",
|
|
12042
12120
|
description: "Brand surface with underline-grow navigation.",
|
|
12043
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12044
|
-
navTypography: "brand-caps"
|
|
12121
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12045
12122
|
},
|
|
12046
12123
|
{
|
|
12047
12124
|
id: asHeaderStyleId("brand-pill"),
|
|
@@ -12051,73 +12128,82 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
12051
12128
|
"classic",
|
|
12052
12129
|
"centered",
|
|
12053
12130
|
"floating"
|
|
12054
|
-
])
|
|
12055
|
-
navTypography: "brand-caps"
|
|
12131
|
+
])
|
|
12056
12132
|
},
|
|
12057
12133
|
{
|
|
12058
12134
|
id: asHeaderStyleId("brand-capsule"),
|
|
12059
12135
|
label: "Brand Capsule",
|
|
12060
12136
|
description: "Solid brand chrome designed as a floating capsule, with quiet-caps nav, a soft pill active state, and an inverted CTA pill.",
|
|
12061
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12062
|
-
navTypography: "quiet-caps"
|
|
12137
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12063
12138
|
},
|
|
12064
12139
|
{
|
|
12065
12140
|
id: asHeaderStyleId("serif-line"),
|
|
12066
12141
|
label: "Serif Line",
|
|
12067
12142
|
description: "Typographic logo treatment with understated underline navigation.",
|
|
12068
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12069
|
-
navTypography: "heading"
|
|
12143
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12070
12144
|
},
|
|
12071
12145
|
{
|
|
12072
12146
|
id: asHeaderStyleId("flat-tabs"),
|
|
12073
12147
|
label: "Flat Tabs",
|
|
12074
12148
|
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
12075
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12076
|
-
navTypography: "quiet-caps"
|
|
12149
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12077
12150
|
},
|
|
12078
12151
|
{
|
|
12079
12152
|
id: asHeaderStyleId("glass"),
|
|
12080
12153
|
label: "Glass",
|
|
12081
12154
|
description: "Translucent chrome with frosted navigation backing.",
|
|
12082
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12083
|
-
navTypography: "plain"
|
|
12155
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12084
12156
|
},
|
|
12085
12157
|
{
|
|
12086
12158
|
id: asHeaderStyleId("minimal-surface"),
|
|
12087
12159
|
label: "Clear Split",
|
|
12088
12160
|
description: "Floating logo with transparent navigation and no shared shell.",
|
|
12089
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12090
|
-
navTypography: "plain",
|
|
12091
|
-
openingForegroundTarget: "all",
|
|
12092
|
-
scrollTreatment: "contrast-glass",
|
|
12093
|
-
interactionPalette: clearSplitInteractionPalette
|
|
12161
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12094
12162
|
},
|
|
12095
12163
|
{
|
|
12096
12164
|
id: asHeaderStyleId("soft-shell"),
|
|
12097
12165
|
label: "Soft Shell",
|
|
12098
12166
|
description: "Floating rounded shell with soft pill navigation states.",
|
|
12099
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12100
|
-
navTypography: "plain"
|
|
12167
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12101
12168
|
},
|
|
12102
12169
|
{
|
|
12103
12170
|
id: asHeaderStyleId("split-glass"),
|
|
12104
12171
|
label: "Split Glass",
|
|
12105
12172
|
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
12106
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12107
|
-
navTypography: "quiet-caps",
|
|
12108
|
-
openingForegroundTarget: "brand-only"
|
|
12173
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12109
12174
|
},
|
|
12110
12175
|
{
|
|
12111
12176
|
id: asHeaderStyleId("split-pill"),
|
|
12112
12177
|
label: "Split Pill",
|
|
12113
12178
|
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
12114
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12115
|
-
navTypography: "heading",
|
|
12116
|
-
openingForegroundTarget: "brand-only"
|
|
12179
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12117
12180
|
}
|
|
12118
12181
|
]);
|
|
12119
12182
|
new Map(headerLayoutCatalog.map((layout) => [layout.id, layout]));
|
|
12120
12183
|
new Map(headerStyleCatalog.map((style) => [style.id, style]));
|
|
12184
|
+
defineLookOptionGroup({
|
|
12185
|
+
id: "interaction-palette",
|
|
12186
|
+
label: "Hover colour",
|
|
12187
|
+
defaultOptionId: "accent",
|
|
12188
|
+
options: [
|
|
12189
|
+
{
|
|
12190
|
+
id: "accent",
|
|
12191
|
+
label: "Accent"
|
|
12192
|
+
},
|
|
12193
|
+
{
|
|
12194
|
+
id: "primary",
|
|
12195
|
+
label: "Primary"
|
|
12196
|
+
},
|
|
12197
|
+
{
|
|
12198
|
+
id: "secondary",
|
|
12199
|
+
label: "Secondary"
|
|
12200
|
+
},
|
|
12201
|
+
{
|
|
12202
|
+
id: headerInteractionQuietPalette,
|
|
12203
|
+
label: "Text only"
|
|
12204
|
+
}
|
|
12205
|
+
]
|
|
12206
|
+
});
|
|
12121
12207
|
//#endregion
|
|
12122
12208
|
//#region ../theme-core/src/site-styles/footerLooks.ts
|
|
12123
12209
|
function asFooterLookId(value) {
|
|
@@ -14536,6 +14622,67 @@ const blockDesignFallback = {
|
|
|
14536
14622
|
};
|
|
14537
14623
|
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.transitionAfter, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
14538
14624
|
//#endregion
|
|
14625
|
+
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
14626
|
+
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
14627
|
+
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
14628
|
+
siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
|
|
14629
|
+
function parseSiteChromeBackgroundColorToken(value) {
|
|
14630
|
+
const token = parseBackgroundAppearanceColorToken(value);
|
|
14631
|
+
return token ? token : null;
|
|
14632
|
+
}
|
|
14633
|
+
function toSiteChromeBackgroundColorTokens(tokenNames) {
|
|
14634
|
+
return tokenNames.flatMap((name) => {
|
|
14635
|
+
const token = parseSiteChromeBackgroundColorToken(name);
|
|
14636
|
+
return token ? [token] : [];
|
|
14637
|
+
});
|
|
14638
|
+
}
|
|
14639
|
+
//#endregion
|
|
14640
|
+
//#region ../theme-core/src/site-styles/siteChromeNavPreferences.ts
|
|
14641
|
+
const headerNavTypographyPreferenceValues = [
|
|
14642
|
+
"inherit",
|
|
14643
|
+
"body",
|
|
14644
|
+
"heading"
|
|
14645
|
+
];
|
|
14646
|
+
const headerNavFontSizePreferenceValues = [
|
|
14647
|
+
"inherit",
|
|
14648
|
+
"sm",
|
|
14649
|
+
"base",
|
|
14650
|
+
"lg",
|
|
14651
|
+
"xl"
|
|
14652
|
+
];
|
|
14653
|
+
const defaultHeaderNavPreferences = {
|
|
14654
|
+
typography: "inherit",
|
|
14655
|
+
fontSize: "inherit",
|
|
14656
|
+
interactionPalette: "recommended"
|
|
14657
|
+
};
|
|
14658
|
+
//#endregion
|
|
14659
|
+
//#region ../theme-core/src/site-styles/headerBrandPresentation.ts
|
|
14660
|
+
/**
|
|
14661
|
+
* Whether the header wears a brand presentation at all (#1318 Phase 4c).
|
|
14662
|
+
*
|
|
14663
|
+
* `applyHeaderBrandPresentation` is unconditional today: given a logo context
|
|
14664
|
+
* it always writes a `logo` object carrying a resolved display, size and
|
|
14665
|
+
* accommodation. That makes "this header has no brand presentation block" —
|
|
14666
|
+
* which is what several live sites persist, including one whose site *does*
|
|
14667
|
+
* have a logo asset — a state the preference record could not express, so a
|
|
14668
|
+
* recompile would silently give the site a logo treatment it has never
|
|
14669
|
+
* rendered.
|
|
14670
|
+
*
|
|
14671
|
+
* This is the third field in this phase with that shape, after the interaction
|
|
14672
|
+
* palette and the nav text size: the persisted bytes carry intent the reader
|
|
14673
|
+
* cannot say, so the recompile "corrects" it. The fix is the same one — widen
|
|
14674
|
+
* the closed vocabulary with a named member and derive it by baseline
|
|
14675
|
+
* comparison — and it is a *widening*, not a restyle: `'recommended'` is the
|
|
14676
|
+
* default and reproduces today's behaviour exactly, so no row whose bytes carry
|
|
14677
|
+
* a presentation compiles differently for `'plain'` existing.
|
|
14678
|
+
*
|
|
14679
|
+
* `'plain'` is deliberately not "preserve whatever bytes are there". It is a
|
|
14680
|
+
* constructive instruction — *write no presentation block* — so Phase 4e's
|
|
14681
|
+
* compiler, which builds the header from nothing, can produce it.
|
|
14682
|
+
*/
|
|
14683
|
+
const headerBrandPresentationValues = ["recommended", "plain"];
|
|
14684
|
+
defaultHeaderBrandPreferences.brandDisplay, defaultHeaderBrandPreferences.logoSize, defaultHeaderNavPreferences.typography, defaultHeaderNavPreferences.fontSize, defaultHeaderNavPreferences.interactionPalette;
|
|
14685
|
+
//#endregion
|
|
14539
14686
|
//#region ../theme-core/src/site-styles/generatedSchemas.ts
|
|
14540
14687
|
function uniqueNonEmpty(values) {
|
|
14541
14688
|
const uniqueValues = [...new Set(values)];
|
|
@@ -14604,6 +14751,56 @@ z.object({
|
|
|
14604
14751
|
blocks: z.array(generatedPageDesignBlockIntentSchema)
|
|
14605
14752
|
}).strict();
|
|
14606
14753
|
//#endregion
|
|
14754
|
+
//#region ../theme-core/src/site-styles/headerPreferencesPersistence.ts
|
|
14755
|
+
const backgroundColorTokenSchema = z.unknown().transform((value, ctx) => {
|
|
14756
|
+
const token = parseSiteChromeBackgroundColorToken(value);
|
|
14757
|
+
if (token === null) {
|
|
14758
|
+
ctx.addIssue({
|
|
14759
|
+
code: "custom",
|
|
14760
|
+
message: "Unknown site chrome background colour token"
|
|
14761
|
+
});
|
|
14762
|
+
return z.NEVER;
|
|
14763
|
+
}
|
|
14764
|
+
return token;
|
|
14765
|
+
});
|
|
14766
|
+
const backgroundOverrideSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("default") }).strict(), z.object({
|
|
14767
|
+
kind: z.literal("color"),
|
|
14768
|
+
token: backgroundColorTokenSchema
|
|
14769
|
+
}).strict()]);
|
|
14770
|
+
const logoTextIntentSchema = z.object({
|
|
14771
|
+
mobileMaxWidth: z.enum([
|
|
14772
|
+
"xs",
|
|
14773
|
+
"sm",
|
|
14774
|
+
"md"
|
|
14775
|
+
]).optional(),
|
|
14776
|
+
mobileWrapLines: z.union([z.literal(1), z.literal(2)]).optional(),
|
|
14777
|
+
hideOnShrink: z.boolean().optional()
|
|
14778
|
+
}).strict();
|
|
14779
|
+
const structureSchema = z.object({
|
|
14780
|
+
positioning: z.union([z.literal("inherit"), z.enum(headerPositioningValues)]),
|
|
14781
|
+
shrinkOnScroll: z.union([z.literal("inherit"), z.boolean()]),
|
|
14782
|
+
logoText: z.union([
|
|
14783
|
+
z.literal("inherit"),
|
|
14784
|
+
z.literal("none"),
|
|
14785
|
+
logoTextIntentSchema
|
|
14786
|
+
])
|
|
14787
|
+
}).strict();
|
|
14788
|
+
const headerPreferencesShape = {
|
|
14789
|
+
brandPresentation: z.enum(headerBrandPresentationValues),
|
|
14790
|
+
brandDisplay: z.enum(brandDisplayModeValues),
|
|
14791
|
+
logoSize: z.enum(logoSizePolicyValues),
|
|
14792
|
+
navFontRole: z.enum(headerNavTypographyPreferenceValues),
|
|
14793
|
+
navTextSize: z.enum(headerNavFontSizePreferenceValues),
|
|
14794
|
+
interactionPalette: z.union([z.literal("recommended"), z.enum(headerInteractionPaletteValues)]),
|
|
14795
|
+
background: backgroundOverrideSchema,
|
|
14796
|
+
structure: structureSchema
|
|
14797
|
+
};
|
|
14798
|
+
z.object(headerPreferencesShape).strict();
|
|
14799
|
+
z.object(headerPreferencesShape).omit({
|
|
14800
|
+
brandPresentation: true,
|
|
14801
|
+
structure: true
|
|
14802
|
+
}).strict();
|
|
14803
|
+
//#endregion
|
|
14607
14804
|
//#region ../theme-core/src/site-styles/pageDesignAuthority.ts
|
|
14608
14805
|
const nonEmptyStringSchema = z.string().min(1);
|
|
14609
14806
|
const blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
|
|
@@ -14705,21 +14902,6 @@ function collectBlockSequenceIssues(snapshots) {
|
|
|
14705
14902
|
return issues;
|
|
14706
14903
|
}
|
|
14707
14904
|
//#endregion
|
|
14708
|
-
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
14709
|
-
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
14710
|
-
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
14711
|
-
siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
|
|
14712
|
-
function parseSiteChromeBackgroundColorToken(value) {
|
|
14713
|
-
const token = parseBackgroundAppearanceColorToken(value);
|
|
14714
|
-
return token ? token : null;
|
|
14715
|
-
}
|
|
14716
|
-
function toSiteChromeBackgroundColorTokens(tokenNames) {
|
|
14717
|
-
return tokenNames.flatMap((name) => {
|
|
14718
|
-
const token = parseSiteChromeBackgroundColorToken(name);
|
|
14719
|
-
return token ? [token] : [];
|
|
14720
|
-
});
|
|
14721
|
-
}
|
|
14722
|
-
//#endregion
|
|
14723
14905
|
//#region ../theme-core/src/site-styles/tokenRecipes.ts
|
|
14724
14906
|
const themeTokenRecipeOptions = {
|
|
14725
14907
|
palette: [
|
|
@@ -15148,7 +15330,6 @@ const ALLOWED_TRANSFORM_IDS = [
|
|
|
15148
15330
|
"layout.footerRootClass",
|
|
15149
15331
|
"layout.headerRootStyle",
|
|
15150
15332
|
"layout.headerSectionBackground",
|
|
15151
|
-
"layout.classicNavMode",
|
|
15152
15333
|
"layout.footerRootStyle",
|
|
15153
15334
|
"ui.headerNavLinkClass",
|
|
15154
15335
|
"ui.headingClassFromAlignment",
|
|
@@ -23624,26 +23805,6 @@ const headerLogoTextVisibleTransform = {
|
|
|
23624
23805
|
return resolveHeaderBrandDisplay(asPartialObject(value)) !== "logo-only";
|
|
23625
23806
|
}
|
|
23626
23807
|
};
|
|
23627
|
-
/**
|
|
23628
|
-
* Selects which classic-layout nav row should render.
|
|
23629
|
-
*
|
|
23630
|
-
* - `'inline'` → classic variant with the historical logo-left / nav-right row
|
|
23631
|
-
* - `'centered'`→ classic variant with a centred (flex-1) nav and a right CTA
|
|
23632
|
-
* - `'other'` → not a classic variant (centered/floating handle it)
|
|
23633
|
-
*
|
|
23634
|
-
* Consumed by the site-header block's `$when` gates so the two classic rows are
|
|
23635
|
-
* mutually exclusive without introducing a new top-level header variant.
|
|
23636
|
-
*/
|
|
23637
|
-
const classicNavModeTransform = {
|
|
23638
|
-
id: "layout.classicNavMode",
|
|
23639
|
-
kind: "formatter",
|
|
23640
|
-
summary: "Resolve which classic-layout nav row to render",
|
|
23641
|
-
run: (value) => {
|
|
23642
|
-
const header = asPartialObject(value);
|
|
23643
|
-
if (header?.variant !== "classic") return "other";
|
|
23644
|
-
return header?.navPlacement === "center" ? "centered" : "inline";
|
|
23645
|
-
}
|
|
23646
|
-
};
|
|
23647
23808
|
const maxWidthClassTransform = {
|
|
23648
23809
|
id: "layout.maxWidthClass",
|
|
23649
23810
|
kind: "string",
|
|
@@ -23749,7 +23910,6 @@ const headerRootClassTransform = {
|
|
|
23749
23910
|
if (isHeaderScrollRuntimeEnabled(content)) classes.push(config.shrink);
|
|
23750
23911
|
const variant = header?.variant;
|
|
23751
23912
|
if (variant && headerVariantValues.includes(variant)) classes.push(`header-variant-${variant}`);
|
|
23752
|
-
if (header?.barFrame === "inset-shell" && variant === "classic") classes.push("header-bar-frame-inset-shell");
|
|
23753
23913
|
return joinClasses(classes);
|
|
23754
23914
|
}
|
|
23755
23915
|
};
|
|
@@ -23957,7 +24117,6 @@ const layoutTransforms = [
|
|
|
23957
24117
|
headerLogoClassTransform,
|
|
23958
24118
|
headerLogoMediaClassTransform,
|
|
23959
24119
|
headerLogoTextVisibleTransform,
|
|
23960
|
-
classicNavModeTransform,
|
|
23961
24120
|
footerRootClassTransform,
|
|
23962
24121
|
headerRootStyleTransform,
|
|
23963
24122
|
headerSectionBackgroundTransform,
|
|
@@ -24347,18 +24506,7 @@ const classicLayout = inline({
|
|
|
24347
24506
|
logoRow,
|
|
24348
24507
|
createNavRow(`rb-ml-auto ${desktopOnlyDisplay("flex")} rb-gap-6`),
|
|
24349
24508
|
headerCta
|
|
24350
|
-
],
|
|
24351
|
-
const classicCenteredNavLayout = inline({
|
|
24352
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
24353
|
-
transforms: pipe(tx("layout.maxWidthClass", { base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6` })),
|
|
24354
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6`
|
|
24355
|
-
}),
|
|
24356
|
-
align: "center"
|
|
24357
|
-
}, [
|
|
24358
|
-
logoRow,
|
|
24359
|
-
createNavRow(`rb-flex-1 rb-justify-center ${desktopOnlyDisplay("flex")} rb-gap-6`, "center"),
|
|
24360
|
-
headerCta
|
|
24361
|
-
], whenTransformed("$root.theme.header", "layout.classicNavMode", "centered"));
|
|
24509
|
+
], when("$root.theme.header.variant", { equals: "classic" }));
|
|
24362
24510
|
const centeredLayout = stack({
|
|
24363
24511
|
gap: "md",
|
|
24364
24512
|
align: "center",
|
|
@@ -24423,7 +24571,6 @@ const siteHeaderBlockDefinition = { manifest: createBlockManifest({
|
|
|
24423
24571
|
}, [
|
|
24424
24572
|
mobileHeaderBar,
|
|
24425
24573
|
classicLayout,
|
|
24426
|
-
classicCenteredNavLayout,
|
|
24427
24574
|
centeredLayout,
|
|
24428
24575
|
floatingLayout,
|
|
24429
24576
|
mobileOverlay
|
|
@@ -27149,7 +27296,7 @@ const eventDisplayFields = [
|
|
|
27149
27296
|
{
|
|
27150
27297
|
id: "showCapacity",
|
|
27151
27298
|
type: "boolean",
|
|
27152
|
-
label: "Show available
|
|
27299
|
+
label: "Show available places",
|
|
27153
27300
|
description: "Display remaining capacity",
|
|
27154
27301
|
required: false,
|
|
27155
27302
|
defaultValue: true,
|
|
@@ -27448,7 +27595,7 @@ function planEventRegistrationScope(input) {
|
|
|
27448
27595
|
};
|
|
27449
27596
|
}
|
|
27450
27597
|
//#endregion
|
|
27451
|
-
//#region ../blocks/src/system/runtime/nodes/events/
|
|
27598
|
+
//#region ../blocks/src/system/runtime/nodes/events/domain/destination.ts
|
|
27452
27599
|
function isRecord$5(value) {
|
|
27453
27600
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
27454
27601
|
}
|
|
@@ -27466,7 +27613,7 @@ function resolveRuntimeEventDestination(event) {
|
|
|
27466
27613
|
};
|
|
27467
27614
|
}
|
|
27468
27615
|
//#endregion
|
|
27469
|
-
//#region ../blocks/src/system/runtime/nodes/events/
|
|
27616
|
+
//#region ../blocks/src/system/runtime/nodes/events/domain/pricing.ts
|
|
27470
27617
|
const DEFAULT_EVENT_CURRENCY = "USD";
|
|
27471
27618
|
function resolveRuntimeEventPricing(event) {
|
|
27472
27619
|
if (isPublicEventPricing(event.pricing)) return event.pricing;
|
|
@@ -28146,7 +28293,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
28146
28293
|
{
|
|
28147
28294
|
id: "showCapacity",
|
|
28148
28295
|
type: "boolean",
|
|
28149
|
-
label: "Show available
|
|
28296
|
+
label: "Show available places",
|
|
28150
28297
|
description: "Display remaining capacity",
|
|
28151
28298
|
required: false,
|
|
28152
28299
|
defaultValue: true,
|
|
@@ -28707,7 +28854,11 @@ const eventSpotlightBlockDefinition = {
|
|
|
28707
28854
|
} }
|
|
28708
28855
|
};
|
|
28709
28856
|
//#endregion
|
|
28710
|
-
//#region ../blocks/src/system/runtime/nodes/events/shared/
|
|
28857
|
+
//#region ../blocks/src/system/runtime/nodes/events/shared/listingLayout.ts
|
|
28858
|
+
/**
|
|
28859
|
+
* Layout classes for event listing containers and cards. Presentation
|
|
28860
|
+
* plumbing rather than event domain logic, so it lives beside the components.
|
|
28861
|
+
*/
|
|
28711
28862
|
/**
|
|
28712
28863
|
* Column class mappings for grid layouts, derived from the canonical
|
|
28713
28864
|
* responsive column ladder (see gridUserColumnLadder).
|
|
@@ -28828,7 +28979,8 @@ const eventCollectionSourceSchemaShape = {
|
|
|
28828
28979
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
28829
28980
|
buttonText: z.string().optional(),
|
|
28830
28981
|
emptyMessage: z.string().optional(),
|
|
28831
|
-
className: z.string().optional()
|
|
28982
|
+
className: z.string().optional(),
|
|
28983
|
+
bookingTimeZone: z.string().optional()
|
|
28832
28984
|
};
|
|
28833
28985
|
const eventCollectionDisplaySchemaShape = {
|
|
28834
28986
|
events: z.array(publicEventSchema),
|
|
@@ -28863,7 +29015,15 @@ const eventCollectionHydrationSchema = z.object({
|
|
|
28863
29015
|
prefetchedEvents: z.boolean(),
|
|
28864
29016
|
eventSurface: eventSurfaceScopeSchema$1,
|
|
28865
29017
|
filterEventPresets: z.string().nullable(),
|
|
28866
|
-
scheduleScope: eventScheduleScopeSchema$1
|
|
29018
|
+
scheduleScope: eventScheduleScopeSchema$1,
|
|
29019
|
+
calendarContext: z.object({
|
|
29020
|
+
timeZone: z.string().transform(toBookingTimeZone),
|
|
29021
|
+
initialToday: z.object({
|
|
29022
|
+
year: z.number().int(),
|
|
29023
|
+
month: z.number().int().min(1).max(12),
|
|
29024
|
+
day: z.number().int().min(1).max(31)
|
|
29025
|
+
})
|
|
29026
|
+
})
|
|
28867
29027
|
});
|
|
28868
29028
|
function buildEventCollectionDisplay(source) {
|
|
28869
29029
|
return {
|
|
@@ -28908,14 +29068,19 @@ function buildEventCollectionPresentationDisplay(source) {
|
|
|
28908
29068
|
emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
|
|
28909
29069
|
};
|
|
28910
29070
|
}
|
|
28911
|
-
function buildEventCollectionHydration(source) {
|
|
29071
|
+
function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date()) {
|
|
29072
|
+
const timeZone = toBookingTimeZone(source.bookingTimeZone);
|
|
28912
29073
|
return {
|
|
28913
29074
|
siteId: source.siteId,
|
|
28914
29075
|
stage: source.stage,
|
|
28915
29076
|
prefetchedEvents: source.events != null,
|
|
28916
29077
|
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
28917
29078
|
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
28918
|
-
scheduleScope: normalizeEventScheduleScope(source.scheduleScope)
|
|
29079
|
+
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
29080
|
+
calendarContext: {
|
|
29081
|
+
timeZone,
|
|
29082
|
+
initialToday: getLocalScheduleDate(now, timeZone)
|
|
29083
|
+
}
|
|
28919
29084
|
};
|
|
28920
29085
|
}
|
|
28921
29086
|
//#endregion
|
|
@@ -30025,7 +30190,7 @@ const eventCalendarAdditionalFields = [
|
|
|
30025
30190
|
{
|
|
30026
30191
|
id: "showCapacity",
|
|
30027
30192
|
type: "boolean",
|
|
30028
|
-
label: "Show available
|
|
30193
|
+
label: "Show available places",
|
|
30029
30194
|
description: "Display remaining capacity on event cards and timetable cells",
|
|
30030
30195
|
required: false,
|
|
30031
30196
|
defaultValue: true,
|
|
@@ -37073,6 +37238,50 @@ z.object({
|
|
|
37073
37238
|
title: z.string(),
|
|
37074
37239
|
slug: z.string().min(1)
|
|
37075
37240
|
});
|
|
37241
|
+
z.object({
|
|
37242
|
+
signedUrl: z.string().url(),
|
|
37243
|
+
token: z.string().min(1),
|
|
37244
|
+
storagePath: z.string().min(1)
|
|
37245
|
+
}).strict();
|
|
37246
|
+
const backupManifestSchema = z.object({
|
|
37247
|
+
siteId: z.string().min(1),
|
|
37248
|
+
siteSlug: z.string().min(1),
|
|
37249
|
+
siteTitle: z.string(),
|
|
37250
|
+
exportedAt: z.string().min(1),
|
|
37251
|
+
tableCount: z.number().int().nonnegative(),
|
|
37252
|
+
totalRecords: z.number().int().nonnegative(),
|
|
37253
|
+
pageCount: z.number().int().nonnegative(),
|
|
37254
|
+
blockCount: z.number().int().nonnegative(),
|
|
37255
|
+
contentEntryCount: z.number().int().nonnegative(),
|
|
37256
|
+
formCount: z.number().int().nonnegative(),
|
|
37257
|
+
navigationMenuCount: z.number().int().nonnegative(),
|
|
37258
|
+
mediaCount: z.number().int().nonnegative(),
|
|
37259
|
+
mediaBytes: z.number().int().nonnegative()
|
|
37260
|
+
}).strict();
|
|
37261
|
+
z.object({
|
|
37262
|
+
ok: z.literal(true),
|
|
37263
|
+
manifest: backupManifestSchema,
|
|
37264
|
+
storagePath: z.string().min(1)
|
|
37265
|
+
}).strict();
|
|
37266
|
+
z.object({
|
|
37267
|
+
ok: z.literal(true),
|
|
37268
|
+
siteId: brandedIdSchema(parseSiteId, "site id"),
|
|
37269
|
+
slug: z.string().min(1),
|
|
37270
|
+
title: z.string(),
|
|
37271
|
+
counts: z.record(z.string(), z.object({
|
|
37272
|
+
created: z.number().int().nonnegative(),
|
|
37273
|
+
updated: z.number().int().nonnegative(),
|
|
37274
|
+
skipped: z.number().int().nonnegative(),
|
|
37275
|
+
failed: z.number().int().nonnegative()
|
|
37276
|
+
}).strict()),
|
|
37277
|
+
warnings: z.array(z.string()),
|
|
37278
|
+
errors: z.array(z.object({
|
|
37279
|
+
table: z.string(),
|
|
37280
|
+
id: z.string(),
|
|
37281
|
+
error: z.string()
|
|
37282
|
+
}).strict())
|
|
37283
|
+
}).strict();
|
|
37284
|
+
z.object({ deleted: z.boolean() }).strict();
|
|
37076
37285
|
const apiKeyIdSchema = brandedIdSchema(parseApiKeyId, "API key id");
|
|
37077
37286
|
const standardKeyIdsSchema = z.object({
|
|
37078
37287
|
live: apiKeyIdSchema.optional(),
|