@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
|
@@ -1199,6 +1199,13 @@ const PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1199
1199
|
//#endregion
|
|
1200
1200
|
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
1201
1201
|
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1202
|
+
resolvePublicEventCheckoutReturn: {
|
|
1203
|
+
path: "/public/sites/{siteId}/events/checkout-return",
|
|
1204
|
+
method: "POST",
|
|
1205
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-checkout"],
|
|
1206
|
+
auth: "public",
|
|
1207
|
+
responseKind: "json"
|
|
1208
|
+
},
|
|
1202
1209
|
getPublicEventRegistrationOptions: {
|
|
1203
1210
|
path: "/public/sites/{siteId}/events/registration-options",
|
|
1204
1211
|
method: "POST",
|
|
@@ -1583,6 +1590,83 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1583
1590
|
errors: ["validation:invalid_input", "server:internal_error"]
|
|
1584
1591
|
}
|
|
1585
1592
|
});
|
|
1593
|
+
//#endregion
|
|
1594
|
+
//#region ../api/src/sdkMediaEndpointDefinitions.ts
|
|
1595
|
+
const SDK_MEDIA_ENDPOINT_DEFINITIONS = {
|
|
1596
|
+
sdkMediaExists: {
|
|
1597
|
+
path: "/sdk/{siteId}/media/exists",
|
|
1598
|
+
method: "POST",
|
|
1599
|
+
errors: ["validation:invalid_input"],
|
|
1600
|
+
auth: "service",
|
|
1601
|
+
responseKind: "json"
|
|
1602
|
+
},
|
|
1603
|
+
sdkMediaFindByChecksum: {
|
|
1604
|
+
path: "/sdk/{siteId}/media/find-by-checksum",
|
|
1605
|
+
method: "POST",
|
|
1606
|
+
errors: ["server:internal_error"],
|
|
1607
|
+
auth: "service",
|
|
1608
|
+
responseKind: "json"
|
|
1609
|
+
},
|
|
1610
|
+
sdkMediaResolve: {
|
|
1611
|
+
path: "/sdk/{siteId}/media/resolve",
|
|
1612
|
+
method: "POST",
|
|
1613
|
+
errors: ["server:internal_error"],
|
|
1614
|
+
auth: "service",
|
|
1615
|
+
responseKind: "json"
|
|
1616
|
+
},
|
|
1617
|
+
sdkMediaList: {
|
|
1618
|
+
path: "/sdk/{siteId}/media",
|
|
1619
|
+
method: "GET",
|
|
1620
|
+
auth: "service",
|
|
1621
|
+
responseKind: "json"
|
|
1622
|
+
},
|
|
1623
|
+
sdkMediaDownload: {
|
|
1624
|
+
path: "/sdk/{siteId}/media/{identifier}/download",
|
|
1625
|
+
method: "GET",
|
|
1626
|
+
auth: "service",
|
|
1627
|
+
responseKind: "json"
|
|
1628
|
+
},
|
|
1629
|
+
sdkMediaDeletePreview: {
|
|
1630
|
+
path: "/sdk/{siteId}/media/{identifier}/delete-preview",
|
|
1631
|
+
method: "POST",
|
|
1632
|
+
auth: "service",
|
|
1633
|
+
responseKind: "json"
|
|
1634
|
+
},
|
|
1635
|
+
sdkMediaDeleteApply: {
|
|
1636
|
+
path: "/sdk/{siteId}/media/{identifier}",
|
|
1637
|
+
method: "DELETE",
|
|
1638
|
+
auth: "service",
|
|
1639
|
+
responseKind: "json"
|
|
1640
|
+
},
|
|
1641
|
+
sdkMediaUploadUrl: {
|
|
1642
|
+
path: "/sdk/{siteId}/media/upload-url",
|
|
1643
|
+
method: "POST",
|
|
1644
|
+
errors: [
|
|
1645
|
+
"resource:not_found",
|
|
1646
|
+
"validation:invalid_input",
|
|
1647
|
+
"resource:conflict",
|
|
1648
|
+
"validation:payload_too_large",
|
|
1649
|
+
"billing:plan_limit_exceeded",
|
|
1650
|
+
"server:internal_error"
|
|
1651
|
+
],
|
|
1652
|
+
auth: "service",
|
|
1653
|
+
responseKind: "json"
|
|
1654
|
+
},
|
|
1655
|
+
sdkMediaUploadFinalize: {
|
|
1656
|
+
path: "/sdk/{siteId}/media/upload",
|
|
1657
|
+
method: "POST",
|
|
1658
|
+
errors: [
|
|
1659
|
+
"resource:not_found",
|
|
1660
|
+
"validation:invalid_input",
|
|
1661
|
+
"resource:conflict",
|
|
1662
|
+
"validation:payload_too_large",
|
|
1663
|
+
"billing:plan_limit_exceeded",
|
|
1664
|
+
"server:internal_error"
|
|
1665
|
+
],
|
|
1666
|
+
auth: "service",
|
|
1667
|
+
responseKind: "json"
|
|
1668
|
+
}
|
|
1669
|
+
};
|
|
1586
1670
|
({
|
|
1587
1671
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
1588
1672
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
@@ -1591,7 +1675,7 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1591
1675
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
1592
1676
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
1593
1677
|
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
1594
|
-
}, 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 };
|
|
1678
|
+
}, 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 };
|
|
1595
1679
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
1596
1680
|
z.object({
|
|
1597
1681
|
accessToken: z.string().min(1).max(4096),
|
|
@@ -1930,6 +2014,9 @@ function getZonedDateTimeParts(date, timeZone) {
|
|
|
1930
2014
|
function formatDateKey(date) {
|
|
1931
2015
|
return `${String(date.year).padStart(4, "0")}-${String(date.month).padStart(2, "0")}-${String(date.day).padStart(2, "0")}`;
|
|
1932
2016
|
}
|
|
2017
|
+
function toBookingTimeZone(timeZone) {
|
|
2018
|
+
return getSafeTimeZone(timeZone);
|
|
2019
|
+
}
|
|
1933
2020
|
function parseUtcIsoDateTimeString(value) {
|
|
1934
2021
|
const normalized = value.trim();
|
|
1935
2022
|
const hasUtcSuffix = normalized.endsWith("Z");
|
|
@@ -8446,6 +8533,11 @@ const gradientConfigSchema = z.object({
|
|
|
8446
8533
|
position: z.string().optional(),
|
|
8447
8534
|
stops: z.array(gradientStopSchema).min(2)
|
|
8448
8535
|
});
|
|
8536
|
+
const gradientsSchema = z.object({
|
|
8537
|
+
button: z.string().min(1).nullable().optional(),
|
|
8538
|
+
hero: z.string().min(1).nullable().optional(),
|
|
8539
|
+
background: z.string().min(1).nullable().optional()
|
|
8540
|
+
});
|
|
8449
8541
|
//#endregion
|
|
8450
8542
|
//#region ../theme-core/src/interactive/baseSchema.ts
|
|
8451
8543
|
/**
|
|
@@ -9146,12 +9238,8 @@ const legacyHeaderVariantValues = Object.keys(legacyHeaderVariants);
|
|
|
9146
9238
|
* `@riverbankcms/api` is `z.input<typeof themeSchema>`, so a widened input here
|
|
9147
9239
|
* would leak straight into a public type.
|
|
9148
9240
|
*
|
|
9149
|
-
*
|
|
9150
|
-
*
|
|
9151
|
-
* `apps/dashboard/src/server/services/sites/runtimeSiteResponse.ts` returns the
|
|
9152
|
-
* raw database JSON asserted as `Theme` with no parse, so a theme still
|
|
9153
|
-
* carrying a legacy spelling reaches the theme editor un-aliased. That gap
|
|
9154
|
-
* predates this alias and is harmless while persisted usage is zero.
|
|
9241
|
+
* Persisted runtime themes are admitted through `parseThemeForPersistence`
|
|
9242
|
+
* before reaching consumers, so legacy spellings normalize at that boundary.
|
|
9155
9243
|
*/
|
|
9156
9244
|
const headerVariantWithLegacyAliasSchema = z.enum([...headerVariantValues, ...legacyHeaderVariantValues]).transform((value) => value in legacyHeaderVariants ? legacyHeaderVariants[value] : value);
|
|
9157
9245
|
const BREAKPOINT_LG = 1024;
|
|
@@ -9203,11 +9291,30 @@ const headerContainerSchema = z.object({
|
|
|
9203
9291
|
tint: z.string().nullable().optional(),
|
|
9204
9292
|
opacity: z.number().min(0).max(1).default(.12)
|
|
9205
9293
|
}).optional();
|
|
9206
|
-
|
|
9294
|
+
//#endregion
|
|
9295
|
+
//#region ../theme-core/src/header/interactionPalette.ts
|
|
9296
|
+
/**
|
|
9297
|
+
* The palettes that fill the nav link with a colour on hover and focus. Each
|
|
9298
|
+
* one names a background/foreground token pair.
|
|
9299
|
+
*/
|
|
9300
|
+
const headerInteractionPillPaletteValues = [
|
|
9207
9301
|
"primary",
|
|
9208
9302
|
"secondary",
|
|
9209
9303
|
"accent"
|
|
9210
|
-
]
|
|
9304
|
+
];
|
|
9305
|
+
/**
|
|
9306
|
+
* "No pill": the nav link keeps whatever hover treatment its recipe compiled,
|
|
9307
|
+
* and the palette step writes nothing at all (#1318 Phase 4c decision 2).
|
|
9308
|
+
*
|
|
9309
|
+
* It exists because "a colour change on hover, no filled background" was not
|
|
9310
|
+
* expressible in the vocabulary, and it is what
|
|
9311
|
+
* `anna-raven-therapy-and-yoga` and `kirtan-lucy` have rendered since before
|
|
9312
|
+
* the palette existed. Without it those two rows can only be classified as a
|
|
9313
|
+
* conscious visual change.
|
|
9314
|
+
*/
|
|
9315
|
+
const headerInteractionQuietPalette = "quiet";
|
|
9316
|
+
const headerInteractionPaletteValues = [...headerInteractionPillPaletteValues, headerInteractionQuietPalette];
|
|
9317
|
+
const headerInteractionPaletteSchema = z.enum(headerInteractionPaletteValues);
|
|
9211
9318
|
//#endregion
|
|
9212
9319
|
//#region ../theme-core/src/boxBackgroundSchema.ts
|
|
9213
9320
|
const boxBackgroundOverlaySchema = z.preprocess(normalizeAuthoringOpacity, z.discriminatedUnion("type", [
|
|
@@ -9589,11 +9696,12 @@ const inputStyle = z.object({
|
|
|
9589
9696
|
]),
|
|
9590
9697
|
label: z.enum(["inside", "above"])
|
|
9591
9698
|
});
|
|
9592
|
-
const
|
|
9699
|
+
const headerPositioningValues = [
|
|
9593
9700
|
"static",
|
|
9594
9701
|
"sticky",
|
|
9595
9702
|
"fixed"
|
|
9596
|
-
]
|
|
9703
|
+
];
|
|
9704
|
+
const headerPositioning = z.enum(headerPositioningValues);
|
|
9597
9705
|
const headerNavStyle = z.enum([
|
|
9598
9706
|
"minimal",
|
|
9599
9707
|
"underline",
|
|
@@ -9610,7 +9718,6 @@ const navFontWeight = z.enum([
|
|
|
9610
9718
|
"bold"
|
|
9611
9719
|
]);
|
|
9612
9720
|
const headerMaxWidth = z.enum(["container", "full"]);
|
|
9613
|
-
const headerBarFrame = z.enum(["full-bleed", "inset-shell"]);
|
|
9614
9721
|
const headerBorderSchema = componentBorderSchema.extend({ position: z.enum([
|
|
9615
9722
|
"bottom",
|
|
9616
9723
|
"top",
|
|
@@ -9639,12 +9746,6 @@ const headerLogoTextSchema = z.object({
|
|
|
9639
9746
|
]).optional(),
|
|
9640
9747
|
hideOnShrink: z.boolean().optional()
|
|
9641
9748
|
}).optional();
|
|
9642
|
-
const navEffectsSchema = z.object({
|
|
9643
|
-
underlineGradient: z.boolean().default(false),
|
|
9644
|
-
glow: z.boolean().default(false),
|
|
9645
|
-
glowColor: z.string().optional(),
|
|
9646
|
-
neumorphic: z.boolean().default(false)
|
|
9647
|
-
}).optional();
|
|
9648
9749
|
const dropdownStyleSchema = z.object({
|
|
9649
9750
|
background: themeColorTokenSchema.default("surface"),
|
|
9650
9751
|
textColor: themeColorTokenSchema.default("text"),
|
|
@@ -9735,10 +9836,8 @@ const headerSchema = z.object({
|
|
|
9735
9836
|
variant: headerVariantWithLegacyAliasSchema,
|
|
9736
9837
|
positioning: headerPositioning,
|
|
9737
9838
|
shrinkOnScroll: z.boolean(),
|
|
9738
|
-
maxWidth: headerMaxWidth,
|
|
9739
|
-
barFrame: headerBarFrame.optional(),
|
|
9839
|
+
maxWidth: headerMaxWidth.default("container"),
|
|
9740
9840
|
scrollTreatment: headerScrollTreatmentSchema,
|
|
9741
|
-
logoOverride: mediaSchema.nullable().optional(),
|
|
9742
9841
|
background: headerBackgroundSchema.default({
|
|
9743
9842
|
type: "color",
|
|
9744
9843
|
color: "surface"
|
|
@@ -9750,13 +9849,11 @@ const headerSchema = z.object({
|
|
|
9750
9849
|
navFontRole: z.enum(["body", "heading"]).optional(),
|
|
9751
9850
|
navTextSize: navLinkStyleSchema.shape.textSize,
|
|
9752
9851
|
interactionPalette: headerInteractionPaletteSchema.optional(),
|
|
9753
|
-
navPlacement: z.enum(["end", "center"]).optional(),
|
|
9754
9852
|
container: headerContainerSchema,
|
|
9755
9853
|
border: headerBorderSchema,
|
|
9756
9854
|
shadow: componentShadowSchema.optional(),
|
|
9757
9855
|
logo: logoStyleSchema,
|
|
9758
9856
|
logoText: headerLogoTextSchema,
|
|
9759
|
-
navEffects: navEffectsSchema,
|
|
9760
9857
|
navContainer: navContainerSchema,
|
|
9761
9858
|
navLinkStyle: navLinkStyleSchema.optional(),
|
|
9762
9859
|
ctaGap: headerCtaGapSchema.optional(),
|
|
@@ -9938,11 +10035,6 @@ const bodyTextSchema = z.object({ intro: z.object({
|
|
|
9938
10035
|
paragraphSize: bodyTextIntroTypographySizeSchema.optional(),
|
|
9939
10036
|
headingSize: bodyTextIntroTypographySizeSchema.optional()
|
|
9940
10037
|
}).optional() }).optional();
|
|
9941
|
-
const gradientsSchema = z.object({
|
|
9942
|
-
button: z.string().min(1).nullable().optional(),
|
|
9943
|
-
hero: z.string().min(1).nullable().optional(),
|
|
9944
|
-
background: z.string().min(1).nullable().optional()
|
|
9945
|
-
});
|
|
9946
10038
|
/**
|
|
9947
10039
|
* Testimonial quote-mark treatment, owned by the site style (analogous to the
|
|
9948
10040
|
* accordion icon). `style` is the coarse selector; the optional fields fine-tune
|
|
@@ -10823,6 +10915,12 @@ function cardRoleFromLegacyVocabulary(value) {
|
|
|
10823
10915
|
*/
|
|
10824
10916
|
const cardRoleWithLegacyAliasSchema = z.preprocess((value) => cardRoleFromLegacyVocabulary(value) ?? value, cardRoleSchema);
|
|
10825
10917
|
//#endregion
|
|
10918
|
+
//#region ../theme-core/src/site-styles/compilationPlan.ts
|
|
10919
|
+
const defaultHeaderBrandPreferences = {
|
|
10920
|
+
brandDisplay: "auto",
|
|
10921
|
+
logoSize: "auto"
|
|
10922
|
+
};
|
|
10923
|
+
//#endregion
|
|
10826
10924
|
//#region ../theme-core/src/site-styles/sectionTransitions.ts
|
|
10827
10925
|
function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
10828
10926
|
return {
|
|
@@ -11749,27 +11847,6 @@ function asHeaderStyleId(value) {
|
|
|
11749
11847
|
return value;
|
|
11750
11848
|
}
|
|
11751
11849
|
//#endregion
|
|
11752
|
-
//#region ../theme-core/src/site-styles/headerInteractionPalette.ts
|
|
11753
|
-
const clearSplitInteractionPalette = defineLookOptionGroup({
|
|
11754
|
-
id: "interaction-palette",
|
|
11755
|
-
label: "Hover colour",
|
|
11756
|
-
defaultOptionId: "accent",
|
|
11757
|
-
options: [
|
|
11758
|
-
{
|
|
11759
|
-
id: "accent",
|
|
11760
|
-
label: "Accent"
|
|
11761
|
-
},
|
|
11762
|
-
{
|
|
11763
|
-
id: "primary",
|
|
11764
|
-
label: "Primary"
|
|
11765
|
-
},
|
|
11766
|
-
{
|
|
11767
|
-
id: "secondary",
|
|
11768
|
-
label: "Secondary"
|
|
11769
|
-
}
|
|
11770
|
-
]
|
|
11771
|
-
});
|
|
11772
|
-
//#endregion
|
|
11773
11850
|
//#region ../theme-core/src/site-styles/headerLayoutCatalog.ts
|
|
11774
11851
|
const titleOnlyLogoAccommodation = {
|
|
11775
11852
|
pattern: "title-only",
|
|
@@ -11889,6 +11966,12 @@ const overlayLogoAccommodations = [
|
|
|
11889
11966
|
inlineMarkWithTitleLogoAccommodation,
|
|
11890
11967
|
unbackedOverlayLogoAccommodation
|
|
11891
11968
|
];
|
|
11969
|
+
const allCuratedLogoAccommodations = [
|
|
11970
|
+
...inlineClassicLogoAccommodations,
|
|
11971
|
+
...centeredLogoAccommodations,
|
|
11972
|
+
...overlayLogoAccommodations
|
|
11973
|
+
];
|
|
11974
|
+
new Set(allCuratedLogoAccommodations.filter((option) => option.providesBacking === true).map((option) => option.pattern));
|
|
11892
11975
|
const headerLayoutCatalog = defineExactCatalog()([
|
|
11893
11976
|
{
|
|
11894
11977
|
id: asHeaderLayoutId("classic"),
|
|
@@ -11929,43 +12012,37 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
11929
12012
|
id: asHeaderStyleId("minimal"),
|
|
11930
12013
|
label: "Minimal",
|
|
11931
12014
|
description: "Quiet surface with simple color-change navigation.",
|
|
11932
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11933
|
-
navTypography: "plain"
|
|
12015
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11934
12016
|
},
|
|
11935
12017
|
{
|
|
11936
12018
|
id: asHeaderStyleId("fine-line"),
|
|
11937
12019
|
label: "Seamless",
|
|
11938
12020
|
description: "Borderless surface with underline hover for a quieter page transition.",
|
|
11939
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11940
|
-
navTypography: "plain"
|
|
12021
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11941
12022
|
},
|
|
11942
12023
|
{
|
|
11943
12024
|
id: asHeaderStyleId("soft-bar"),
|
|
11944
12025
|
label: "Soft Bar",
|
|
11945
12026
|
description: "Soft tinted surface with gentle pill hover states.",
|
|
11946
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11947
|
-
navTypography: "plain"
|
|
12027
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11948
12028
|
},
|
|
11949
12029
|
{
|
|
11950
12030
|
id: asHeaderStyleId("pill-nav"),
|
|
11951
12031
|
label: "Pill Nav",
|
|
11952
12032
|
description: "A calm pill navigation rail over a neutral header.",
|
|
11953
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11954
|
-
navTypography: "plain"
|
|
12033
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11955
12034
|
},
|
|
11956
12035
|
{
|
|
11957
12036
|
id: asHeaderStyleId("brand-bar"),
|
|
11958
12037
|
label: "Brand Bar",
|
|
11959
12038
|
description: "Solid brand surface with high-contrast navigation.",
|
|
11960
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11961
|
-
navTypography: "brand-caps"
|
|
12039
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11962
12040
|
},
|
|
11963
12041
|
{
|
|
11964
12042
|
id: asHeaderStyleId("brand-underline"),
|
|
11965
12043
|
label: "Brand Underline",
|
|
11966
12044
|
description: "Brand surface with underline-grow navigation.",
|
|
11967
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
11968
|
-
navTypography: "brand-caps"
|
|
12045
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
11969
12046
|
},
|
|
11970
12047
|
{
|
|
11971
12048
|
id: asHeaderStyleId("brand-pill"),
|
|
@@ -11975,73 +12052,82 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
11975
12052
|
"classic",
|
|
11976
12053
|
"centered",
|
|
11977
12054
|
"floating"
|
|
11978
|
-
])
|
|
11979
|
-
navTypography: "brand-caps"
|
|
12055
|
+
])
|
|
11980
12056
|
},
|
|
11981
12057
|
{
|
|
11982
12058
|
id: asHeaderStyleId("brand-capsule"),
|
|
11983
12059
|
label: "Brand Capsule",
|
|
11984
12060
|
description: "Solid brand chrome designed as a floating capsule, with quiet-caps nav, a soft pill active state, and an inverted CTA pill.",
|
|
11985
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
11986
|
-
navTypography: "quiet-caps"
|
|
12061
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
11987
12062
|
},
|
|
11988
12063
|
{
|
|
11989
12064
|
id: asHeaderStyleId("serif-line"),
|
|
11990
12065
|
label: "Serif Line",
|
|
11991
12066
|
description: "Typographic logo treatment with understated underline navigation.",
|
|
11992
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11993
|
-
navTypography: "heading"
|
|
12067
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11994
12068
|
},
|
|
11995
12069
|
{
|
|
11996
12070
|
id: asHeaderStyleId("flat-tabs"),
|
|
11997
12071
|
label: "Flat Tabs",
|
|
11998
12072
|
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
11999
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12000
|
-
navTypography: "quiet-caps"
|
|
12073
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12001
12074
|
},
|
|
12002
12075
|
{
|
|
12003
12076
|
id: asHeaderStyleId("glass"),
|
|
12004
12077
|
label: "Glass",
|
|
12005
12078
|
description: "Translucent chrome with frosted navigation backing.",
|
|
12006
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12007
|
-
navTypography: "plain"
|
|
12079
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12008
12080
|
},
|
|
12009
12081
|
{
|
|
12010
12082
|
id: asHeaderStyleId("minimal-surface"),
|
|
12011
12083
|
label: "Clear Split",
|
|
12012
12084
|
description: "Floating logo with transparent navigation and no shared shell.",
|
|
12013
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12014
|
-
navTypography: "plain",
|
|
12015
|
-
openingForegroundTarget: "all",
|
|
12016
|
-
scrollTreatment: "contrast-glass",
|
|
12017
|
-
interactionPalette: clearSplitInteractionPalette
|
|
12085
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12018
12086
|
},
|
|
12019
12087
|
{
|
|
12020
12088
|
id: asHeaderStyleId("soft-shell"),
|
|
12021
12089
|
label: "Soft Shell",
|
|
12022
12090
|
description: "Floating rounded shell with soft pill navigation states.",
|
|
12023
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12024
|
-
navTypography: "plain"
|
|
12091
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12025
12092
|
},
|
|
12026
12093
|
{
|
|
12027
12094
|
id: asHeaderStyleId("split-glass"),
|
|
12028
12095
|
label: "Split Glass",
|
|
12029
12096
|
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
12030
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12031
|
-
navTypography: "quiet-caps",
|
|
12032
|
-
openingForegroundTarget: "brand-only"
|
|
12097
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12033
12098
|
},
|
|
12034
12099
|
{
|
|
12035
12100
|
id: asHeaderStyleId("split-pill"),
|
|
12036
12101
|
label: "Split Pill",
|
|
12037
12102
|
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
12038
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12039
|
-
navTypography: "heading",
|
|
12040
|
-
openingForegroundTarget: "brand-only"
|
|
12103
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12041
12104
|
}
|
|
12042
12105
|
]);
|
|
12043
12106
|
new Map(headerLayoutCatalog.map((layout) => [layout.id, layout]));
|
|
12044
12107
|
new Map(headerStyleCatalog.map((style) => [style.id, style]));
|
|
12108
|
+
defineLookOptionGroup({
|
|
12109
|
+
id: "interaction-palette",
|
|
12110
|
+
label: "Hover colour",
|
|
12111
|
+
defaultOptionId: "accent",
|
|
12112
|
+
options: [
|
|
12113
|
+
{
|
|
12114
|
+
id: "accent",
|
|
12115
|
+
label: "Accent"
|
|
12116
|
+
},
|
|
12117
|
+
{
|
|
12118
|
+
id: "primary",
|
|
12119
|
+
label: "Primary"
|
|
12120
|
+
},
|
|
12121
|
+
{
|
|
12122
|
+
id: "secondary",
|
|
12123
|
+
label: "Secondary"
|
|
12124
|
+
},
|
|
12125
|
+
{
|
|
12126
|
+
id: headerInteractionQuietPalette,
|
|
12127
|
+
label: "Text only"
|
|
12128
|
+
}
|
|
12129
|
+
]
|
|
12130
|
+
});
|
|
12045
12131
|
//#endregion
|
|
12046
12132
|
//#region ../theme-core/src/site-styles/footerLooks.ts
|
|
12047
12133
|
function asFooterLookId(value) {
|
|
@@ -14460,6 +14546,67 @@ const blockDesignFallback = {
|
|
|
14460
14546
|
};
|
|
14461
14547
|
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.transitionAfter, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
14462
14548
|
//#endregion
|
|
14549
|
+
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
14550
|
+
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
14551
|
+
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
14552
|
+
siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
|
|
14553
|
+
function parseSiteChromeBackgroundColorToken(value) {
|
|
14554
|
+
const token = parseBackgroundAppearanceColorToken(value);
|
|
14555
|
+
return token ? token : null;
|
|
14556
|
+
}
|
|
14557
|
+
function toSiteChromeBackgroundColorTokens(tokenNames) {
|
|
14558
|
+
return tokenNames.flatMap((name) => {
|
|
14559
|
+
const token = parseSiteChromeBackgroundColorToken(name);
|
|
14560
|
+
return token ? [token] : [];
|
|
14561
|
+
});
|
|
14562
|
+
}
|
|
14563
|
+
//#endregion
|
|
14564
|
+
//#region ../theme-core/src/site-styles/siteChromeNavPreferences.ts
|
|
14565
|
+
const headerNavTypographyPreferenceValues = [
|
|
14566
|
+
"inherit",
|
|
14567
|
+
"body",
|
|
14568
|
+
"heading"
|
|
14569
|
+
];
|
|
14570
|
+
const headerNavFontSizePreferenceValues = [
|
|
14571
|
+
"inherit",
|
|
14572
|
+
"sm",
|
|
14573
|
+
"base",
|
|
14574
|
+
"lg",
|
|
14575
|
+
"xl"
|
|
14576
|
+
];
|
|
14577
|
+
const defaultHeaderNavPreferences = {
|
|
14578
|
+
typography: "inherit",
|
|
14579
|
+
fontSize: "inherit",
|
|
14580
|
+
interactionPalette: "recommended"
|
|
14581
|
+
};
|
|
14582
|
+
//#endregion
|
|
14583
|
+
//#region ../theme-core/src/site-styles/headerBrandPresentation.ts
|
|
14584
|
+
/**
|
|
14585
|
+
* Whether the header wears a brand presentation at all (#1318 Phase 4c).
|
|
14586
|
+
*
|
|
14587
|
+
* `applyHeaderBrandPresentation` is unconditional today: given a logo context
|
|
14588
|
+
* it always writes a `logo` object carrying a resolved display, size and
|
|
14589
|
+
* accommodation. That makes "this header has no brand presentation block" —
|
|
14590
|
+
* which is what several live sites persist, including one whose site *does*
|
|
14591
|
+
* have a logo asset — a state the preference record could not express, so a
|
|
14592
|
+
* recompile would silently give the site a logo treatment it has never
|
|
14593
|
+
* rendered.
|
|
14594
|
+
*
|
|
14595
|
+
* This is the third field in this phase with that shape, after the interaction
|
|
14596
|
+
* palette and the nav text size: the persisted bytes carry intent the reader
|
|
14597
|
+
* cannot say, so the recompile "corrects" it. The fix is the same one — widen
|
|
14598
|
+
* the closed vocabulary with a named member and derive it by baseline
|
|
14599
|
+
* comparison — and it is a *widening*, not a restyle: `'recommended'` is the
|
|
14600
|
+
* default and reproduces today's behaviour exactly, so no row whose bytes carry
|
|
14601
|
+
* a presentation compiles differently for `'plain'` existing.
|
|
14602
|
+
*
|
|
14603
|
+
* `'plain'` is deliberately not "preserve whatever bytes are there". It is a
|
|
14604
|
+
* constructive instruction — *write no presentation block* — so Phase 4e's
|
|
14605
|
+
* compiler, which builds the header from nothing, can produce it.
|
|
14606
|
+
*/
|
|
14607
|
+
const headerBrandPresentationValues = ["recommended", "plain"];
|
|
14608
|
+
defaultHeaderBrandPreferences.brandDisplay, defaultHeaderBrandPreferences.logoSize, defaultHeaderNavPreferences.typography, defaultHeaderNavPreferences.fontSize, defaultHeaderNavPreferences.interactionPalette;
|
|
14609
|
+
//#endregion
|
|
14463
14610
|
//#region ../theme-core/src/site-styles/generatedSchemas.ts
|
|
14464
14611
|
function uniqueNonEmpty(values) {
|
|
14465
14612
|
const uniqueValues = [...new Set(values)];
|
|
@@ -14528,6 +14675,56 @@ z.object({
|
|
|
14528
14675
|
blocks: z.array(generatedPageDesignBlockIntentSchema)
|
|
14529
14676
|
}).strict();
|
|
14530
14677
|
//#endregion
|
|
14678
|
+
//#region ../theme-core/src/site-styles/headerPreferencesPersistence.ts
|
|
14679
|
+
const backgroundColorTokenSchema = z.unknown().transform((value, ctx) => {
|
|
14680
|
+
const token = parseSiteChromeBackgroundColorToken(value);
|
|
14681
|
+
if (token === null) {
|
|
14682
|
+
ctx.addIssue({
|
|
14683
|
+
code: "custom",
|
|
14684
|
+
message: "Unknown site chrome background colour token"
|
|
14685
|
+
});
|
|
14686
|
+
return z.NEVER;
|
|
14687
|
+
}
|
|
14688
|
+
return token;
|
|
14689
|
+
});
|
|
14690
|
+
const backgroundOverrideSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("default") }).strict(), z.object({
|
|
14691
|
+
kind: z.literal("color"),
|
|
14692
|
+
token: backgroundColorTokenSchema
|
|
14693
|
+
}).strict()]);
|
|
14694
|
+
const logoTextIntentSchema = z.object({
|
|
14695
|
+
mobileMaxWidth: z.enum([
|
|
14696
|
+
"xs",
|
|
14697
|
+
"sm",
|
|
14698
|
+
"md"
|
|
14699
|
+
]).optional(),
|
|
14700
|
+
mobileWrapLines: z.union([z.literal(1), z.literal(2)]).optional(),
|
|
14701
|
+
hideOnShrink: z.boolean().optional()
|
|
14702
|
+
}).strict();
|
|
14703
|
+
const structureSchema = z.object({
|
|
14704
|
+
positioning: z.union([z.literal("inherit"), z.enum(headerPositioningValues)]),
|
|
14705
|
+
shrinkOnScroll: z.union([z.literal("inherit"), z.boolean()]),
|
|
14706
|
+
logoText: z.union([
|
|
14707
|
+
z.literal("inherit"),
|
|
14708
|
+
z.literal("none"),
|
|
14709
|
+
logoTextIntentSchema
|
|
14710
|
+
])
|
|
14711
|
+
}).strict();
|
|
14712
|
+
const headerPreferencesShape = {
|
|
14713
|
+
brandPresentation: z.enum(headerBrandPresentationValues),
|
|
14714
|
+
brandDisplay: z.enum(brandDisplayModeValues),
|
|
14715
|
+
logoSize: z.enum(logoSizePolicyValues),
|
|
14716
|
+
navFontRole: z.enum(headerNavTypographyPreferenceValues),
|
|
14717
|
+
navTextSize: z.enum(headerNavFontSizePreferenceValues),
|
|
14718
|
+
interactionPalette: z.union([z.literal("recommended"), z.enum(headerInteractionPaletteValues)]),
|
|
14719
|
+
background: backgroundOverrideSchema,
|
|
14720
|
+
structure: structureSchema
|
|
14721
|
+
};
|
|
14722
|
+
z.object(headerPreferencesShape).strict();
|
|
14723
|
+
z.object(headerPreferencesShape).omit({
|
|
14724
|
+
brandPresentation: true,
|
|
14725
|
+
structure: true
|
|
14726
|
+
}).strict();
|
|
14727
|
+
//#endregion
|
|
14531
14728
|
//#region ../theme-core/src/site-styles/pageDesignAuthority.ts
|
|
14532
14729
|
const nonEmptyStringSchema = z.string().min(1);
|
|
14533
14730
|
const blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
|
|
@@ -14629,21 +14826,6 @@ function collectBlockSequenceIssues(snapshots) {
|
|
|
14629
14826
|
return issues;
|
|
14630
14827
|
}
|
|
14631
14828
|
//#endregion
|
|
14632
|
-
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
14633
|
-
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
14634
|
-
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
14635
|
-
siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
|
|
14636
|
-
function parseSiteChromeBackgroundColorToken(value) {
|
|
14637
|
-
const token = parseBackgroundAppearanceColorToken(value);
|
|
14638
|
-
return token ? token : null;
|
|
14639
|
-
}
|
|
14640
|
-
function toSiteChromeBackgroundColorTokens(tokenNames) {
|
|
14641
|
-
return tokenNames.flatMap((name) => {
|
|
14642
|
-
const token = parseSiteChromeBackgroundColorToken(name);
|
|
14643
|
-
return token ? [token] : [];
|
|
14644
|
-
});
|
|
14645
|
-
}
|
|
14646
|
-
//#endregion
|
|
14647
14829
|
//#region ../theme-core/src/site-styles/tokenRecipes.ts
|
|
14648
14830
|
const themeTokenRecipeOptions = {
|
|
14649
14831
|
palette: [
|
|
@@ -15072,7 +15254,6 @@ const ALLOWED_TRANSFORM_IDS = [
|
|
|
15072
15254
|
"layout.footerRootClass",
|
|
15073
15255
|
"layout.headerRootStyle",
|
|
15074
15256
|
"layout.headerSectionBackground",
|
|
15075
|
-
"layout.classicNavMode",
|
|
15076
15257
|
"layout.footerRootStyle",
|
|
15077
15258
|
"ui.headerNavLinkClass",
|
|
15078
15259
|
"ui.headingClassFromAlignment",
|
|
@@ -23548,26 +23729,6 @@ const headerLogoTextVisibleTransform = {
|
|
|
23548
23729
|
return resolveHeaderBrandDisplay(asPartialObject(value)) !== "logo-only";
|
|
23549
23730
|
}
|
|
23550
23731
|
};
|
|
23551
|
-
/**
|
|
23552
|
-
* Selects which classic-layout nav row should render.
|
|
23553
|
-
*
|
|
23554
|
-
* - `'inline'` → classic variant with the historical logo-left / nav-right row
|
|
23555
|
-
* - `'centered'`→ classic variant with a centred (flex-1) nav and a right CTA
|
|
23556
|
-
* - `'other'` → not a classic variant (centered/floating handle it)
|
|
23557
|
-
*
|
|
23558
|
-
* Consumed by the site-header block's `$when` gates so the two classic rows are
|
|
23559
|
-
* mutually exclusive without introducing a new top-level header variant.
|
|
23560
|
-
*/
|
|
23561
|
-
const classicNavModeTransform = {
|
|
23562
|
-
id: "layout.classicNavMode",
|
|
23563
|
-
kind: "formatter",
|
|
23564
|
-
summary: "Resolve which classic-layout nav row to render",
|
|
23565
|
-
run: (value) => {
|
|
23566
|
-
const header = asPartialObject(value);
|
|
23567
|
-
if (header?.variant !== "classic") return "other";
|
|
23568
|
-
return header?.navPlacement === "center" ? "centered" : "inline";
|
|
23569
|
-
}
|
|
23570
|
-
};
|
|
23571
23732
|
const maxWidthClassTransform = {
|
|
23572
23733
|
id: "layout.maxWidthClass",
|
|
23573
23734
|
kind: "string",
|
|
@@ -23673,7 +23834,6 @@ const headerRootClassTransform = {
|
|
|
23673
23834
|
if (isHeaderScrollRuntimeEnabled(content)) classes.push(config.shrink);
|
|
23674
23835
|
const variant = header?.variant;
|
|
23675
23836
|
if (variant && headerVariantValues.includes(variant)) classes.push(`header-variant-${variant}`);
|
|
23676
|
-
if (header?.barFrame === "inset-shell" && variant === "classic") classes.push("header-bar-frame-inset-shell");
|
|
23677
23837
|
return joinClasses(classes);
|
|
23678
23838
|
}
|
|
23679
23839
|
};
|
|
@@ -23881,7 +24041,6 @@ const layoutTransforms = [
|
|
|
23881
24041
|
headerLogoClassTransform,
|
|
23882
24042
|
headerLogoMediaClassTransform,
|
|
23883
24043
|
headerLogoTextVisibleTransform,
|
|
23884
|
-
classicNavModeTransform,
|
|
23885
24044
|
footerRootClassTransform,
|
|
23886
24045
|
headerRootStyleTransform,
|
|
23887
24046
|
headerSectionBackgroundTransform,
|
|
@@ -24271,18 +24430,7 @@ const classicLayout = inline({
|
|
|
24271
24430
|
logoRow,
|
|
24272
24431
|
createNavRow(`rb-ml-auto ${desktopOnlyDisplay("flex")} rb-gap-6`),
|
|
24273
24432
|
headerCta
|
|
24274
|
-
],
|
|
24275
|
-
const classicCenteredNavLayout = inline({
|
|
24276
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
24277
|
-
transforms: pipe(tx("layout.maxWidthClass", { base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6` })),
|
|
24278
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6`
|
|
24279
|
-
}),
|
|
24280
|
-
align: "center"
|
|
24281
|
-
}, [
|
|
24282
|
-
logoRow,
|
|
24283
|
-
createNavRow(`rb-flex-1 rb-justify-center ${desktopOnlyDisplay("flex")} rb-gap-6`, "center"),
|
|
24284
|
-
headerCta
|
|
24285
|
-
], whenTransformed("$root.theme.header", "layout.classicNavMode", "centered"));
|
|
24433
|
+
], when("$root.theme.header.variant", { equals: "classic" }));
|
|
24286
24434
|
const centeredLayout = stack({
|
|
24287
24435
|
gap: "md",
|
|
24288
24436
|
align: "center",
|
|
@@ -24347,7 +24495,6 @@ const siteHeaderBlockDefinition = { manifest: createBlockManifest({
|
|
|
24347
24495
|
}, [
|
|
24348
24496
|
mobileHeaderBar,
|
|
24349
24497
|
classicLayout,
|
|
24350
|
-
classicCenteredNavLayout,
|
|
24351
24498
|
centeredLayout,
|
|
24352
24499
|
floatingLayout,
|
|
24353
24500
|
mobileOverlay
|
|
@@ -27073,7 +27220,7 @@ const eventDisplayFields = [
|
|
|
27073
27220
|
{
|
|
27074
27221
|
id: "showCapacity",
|
|
27075
27222
|
type: "boolean",
|
|
27076
|
-
label: "Show available
|
|
27223
|
+
label: "Show available places",
|
|
27077
27224
|
description: "Display remaining capacity",
|
|
27078
27225
|
required: false,
|
|
27079
27226
|
defaultValue: true,
|
|
@@ -27372,7 +27519,7 @@ function planEventRegistrationScope(input) {
|
|
|
27372
27519
|
};
|
|
27373
27520
|
}
|
|
27374
27521
|
//#endregion
|
|
27375
|
-
//#region ../blocks/src/system/runtime/nodes/events/
|
|
27522
|
+
//#region ../blocks/src/system/runtime/nodes/events/domain/destination.ts
|
|
27376
27523
|
function isRecord$5(value) {
|
|
27377
27524
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
27378
27525
|
}
|
|
@@ -27390,7 +27537,7 @@ function resolveRuntimeEventDestination(event) {
|
|
|
27390
27537
|
};
|
|
27391
27538
|
}
|
|
27392
27539
|
//#endregion
|
|
27393
|
-
//#region ../blocks/src/system/runtime/nodes/events/
|
|
27540
|
+
//#region ../blocks/src/system/runtime/nodes/events/domain/pricing.ts
|
|
27394
27541
|
const DEFAULT_EVENT_CURRENCY = "USD";
|
|
27395
27542
|
function resolveRuntimeEventPricing(event) {
|
|
27396
27543
|
if (isPublicEventPricing(event.pricing)) return event.pricing;
|
|
@@ -28070,7 +28217,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
28070
28217
|
{
|
|
28071
28218
|
id: "showCapacity",
|
|
28072
28219
|
type: "boolean",
|
|
28073
|
-
label: "Show available
|
|
28220
|
+
label: "Show available places",
|
|
28074
28221
|
description: "Display remaining capacity",
|
|
28075
28222
|
required: false,
|
|
28076
28223
|
defaultValue: true,
|
|
@@ -28631,7 +28778,11 @@ const eventSpotlightBlockDefinition = {
|
|
|
28631
28778
|
} }
|
|
28632
28779
|
};
|
|
28633
28780
|
//#endregion
|
|
28634
|
-
//#region ../blocks/src/system/runtime/nodes/events/shared/
|
|
28781
|
+
//#region ../blocks/src/system/runtime/nodes/events/shared/listingLayout.ts
|
|
28782
|
+
/**
|
|
28783
|
+
* Layout classes for event listing containers and cards. Presentation
|
|
28784
|
+
* plumbing rather than event domain logic, so it lives beside the components.
|
|
28785
|
+
*/
|
|
28635
28786
|
/**
|
|
28636
28787
|
* Column class mappings for grid layouts, derived from the canonical
|
|
28637
28788
|
* responsive column ladder (see gridUserColumnLadder).
|
|
@@ -28752,7 +28903,8 @@ const eventCollectionSourceSchemaShape = {
|
|
|
28752
28903
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
28753
28904
|
buttonText: z.string().optional(),
|
|
28754
28905
|
emptyMessage: z.string().optional(),
|
|
28755
|
-
className: z.string().optional()
|
|
28906
|
+
className: z.string().optional(),
|
|
28907
|
+
bookingTimeZone: z.string().optional()
|
|
28756
28908
|
};
|
|
28757
28909
|
const eventCollectionDisplaySchemaShape = {
|
|
28758
28910
|
events: z.array(publicEventSchema),
|
|
@@ -28787,7 +28939,15 @@ const eventCollectionHydrationSchema = z.object({
|
|
|
28787
28939
|
prefetchedEvents: z.boolean(),
|
|
28788
28940
|
eventSurface: eventSurfaceScopeSchema$1,
|
|
28789
28941
|
filterEventPresets: z.string().nullable(),
|
|
28790
|
-
scheduleScope: eventScheduleScopeSchema$1
|
|
28942
|
+
scheduleScope: eventScheduleScopeSchema$1,
|
|
28943
|
+
calendarContext: z.object({
|
|
28944
|
+
timeZone: z.string().transform(toBookingTimeZone),
|
|
28945
|
+
initialToday: z.object({
|
|
28946
|
+
year: z.number().int(),
|
|
28947
|
+
month: z.number().int().min(1).max(12),
|
|
28948
|
+
day: z.number().int().min(1).max(31)
|
|
28949
|
+
})
|
|
28950
|
+
})
|
|
28791
28951
|
});
|
|
28792
28952
|
function buildEventCollectionDisplay(source) {
|
|
28793
28953
|
return {
|
|
@@ -28832,14 +28992,19 @@ function buildEventCollectionPresentationDisplay(source) {
|
|
|
28832
28992
|
emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
|
|
28833
28993
|
};
|
|
28834
28994
|
}
|
|
28835
|
-
function buildEventCollectionHydration(source) {
|
|
28995
|
+
function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date()) {
|
|
28996
|
+
const timeZone = toBookingTimeZone(source.bookingTimeZone);
|
|
28836
28997
|
return {
|
|
28837
28998
|
siteId: source.siteId,
|
|
28838
28999
|
stage: source.stage,
|
|
28839
29000
|
prefetchedEvents: source.events != null,
|
|
28840
29001
|
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
28841
29002
|
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
28842
|
-
scheduleScope: normalizeEventScheduleScope(source.scheduleScope)
|
|
29003
|
+
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
29004
|
+
calendarContext: {
|
|
29005
|
+
timeZone,
|
|
29006
|
+
initialToday: getLocalScheduleDate(now, timeZone)
|
|
29007
|
+
}
|
|
28843
29008
|
};
|
|
28844
29009
|
}
|
|
28845
29010
|
//#endregion
|
|
@@ -29949,7 +30114,7 @@ const eventCalendarAdditionalFields = [
|
|
|
29949
30114
|
{
|
|
29950
30115
|
id: "showCapacity",
|
|
29951
30116
|
type: "boolean",
|
|
29952
|
-
label: "Show available
|
|
30117
|
+
label: "Show available places",
|
|
29953
30118
|
description: "Display remaining capacity on event cards and timetable cells",
|
|
29954
30119
|
required: false,
|
|
29955
30120
|
defaultValue: true,
|
|
@@ -36997,6 +37162,50 @@ z.object({
|
|
|
36997
37162
|
title: z.string(),
|
|
36998
37163
|
slug: z.string().min(1)
|
|
36999
37164
|
});
|
|
37165
|
+
z.object({
|
|
37166
|
+
signedUrl: z.string().url(),
|
|
37167
|
+
token: z.string().min(1),
|
|
37168
|
+
storagePath: z.string().min(1)
|
|
37169
|
+
}).strict();
|
|
37170
|
+
const backupManifestSchema = z.object({
|
|
37171
|
+
siteId: z.string().min(1),
|
|
37172
|
+
siteSlug: z.string().min(1),
|
|
37173
|
+
siteTitle: z.string(),
|
|
37174
|
+
exportedAt: z.string().min(1),
|
|
37175
|
+
tableCount: z.number().int().nonnegative(),
|
|
37176
|
+
totalRecords: z.number().int().nonnegative(),
|
|
37177
|
+
pageCount: z.number().int().nonnegative(),
|
|
37178
|
+
blockCount: z.number().int().nonnegative(),
|
|
37179
|
+
contentEntryCount: z.number().int().nonnegative(),
|
|
37180
|
+
formCount: z.number().int().nonnegative(),
|
|
37181
|
+
navigationMenuCount: z.number().int().nonnegative(),
|
|
37182
|
+
mediaCount: z.number().int().nonnegative(),
|
|
37183
|
+
mediaBytes: z.number().int().nonnegative()
|
|
37184
|
+
}).strict();
|
|
37185
|
+
z.object({
|
|
37186
|
+
ok: z.literal(true),
|
|
37187
|
+
manifest: backupManifestSchema,
|
|
37188
|
+
storagePath: z.string().min(1)
|
|
37189
|
+
}).strict();
|
|
37190
|
+
z.object({
|
|
37191
|
+
ok: z.literal(true),
|
|
37192
|
+
siteId: brandedIdSchema(parseSiteId, "site id"),
|
|
37193
|
+
slug: z.string().min(1),
|
|
37194
|
+
title: z.string(),
|
|
37195
|
+
counts: z.record(z.string(), z.object({
|
|
37196
|
+
created: z.number().int().nonnegative(),
|
|
37197
|
+
updated: z.number().int().nonnegative(),
|
|
37198
|
+
skipped: z.number().int().nonnegative(),
|
|
37199
|
+
failed: z.number().int().nonnegative()
|
|
37200
|
+
}).strict()),
|
|
37201
|
+
warnings: z.array(z.string()),
|
|
37202
|
+
errors: z.array(z.object({
|
|
37203
|
+
table: z.string(),
|
|
37204
|
+
id: z.string(),
|
|
37205
|
+
error: z.string()
|
|
37206
|
+
}).strict())
|
|
37207
|
+
}).strict();
|
|
37208
|
+
z.object({ deleted: z.boolean() }).strict();
|
|
37000
37209
|
const apiKeyIdSchema = brandedIdSchema(parseApiKeyId, "API key id");
|
|
37001
37210
|
const standardKeyIdsSchema = z.object({
|
|
37002
37211
|
live: apiKeyIdSchema.optional(),
|