@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/data.mjs
CHANGED
|
@@ -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
|
|
@@ -10925,6 +11017,12 @@ function cardRoleFromLegacyVocabulary(value) {
|
|
|
10925
11017
|
*/
|
|
10926
11018
|
const cardRoleWithLegacyAliasSchema = z.preprocess((value) => cardRoleFromLegacyVocabulary(value) ?? value, cardRoleSchema);
|
|
10927
11019
|
//#endregion
|
|
11020
|
+
//#region ../theme-core/src/site-styles/compilationPlan.ts
|
|
11021
|
+
const defaultHeaderBrandPreferences = {
|
|
11022
|
+
brandDisplay: "auto",
|
|
11023
|
+
logoSize: "auto"
|
|
11024
|
+
};
|
|
11025
|
+
//#endregion
|
|
10928
11026
|
//#region ../theme-core/src/site-styles/sectionTransitions.ts
|
|
10929
11027
|
function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
10930
11028
|
return {
|
|
@@ -11851,27 +11949,6 @@ function asHeaderStyleId(value) {
|
|
|
11851
11949
|
return value;
|
|
11852
11950
|
}
|
|
11853
11951
|
//#endregion
|
|
11854
|
-
//#region ../theme-core/src/site-styles/headerInteractionPalette.ts
|
|
11855
|
-
const clearSplitInteractionPalette = defineLookOptionGroup({
|
|
11856
|
-
id: "interaction-palette",
|
|
11857
|
-
label: "Hover colour",
|
|
11858
|
-
defaultOptionId: "accent",
|
|
11859
|
-
options: [
|
|
11860
|
-
{
|
|
11861
|
-
id: "accent",
|
|
11862
|
-
label: "Accent"
|
|
11863
|
-
},
|
|
11864
|
-
{
|
|
11865
|
-
id: "primary",
|
|
11866
|
-
label: "Primary"
|
|
11867
|
-
},
|
|
11868
|
-
{
|
|
11869
|
-
id: "secondary",
|
|
11870
|
-
label: "Secondary"
|
|
11871
|
-
}
|
|
11872
|
-
]
|
|
11873
|
-
});
|
|
11874
|
-
//#endregion
|
|
11875
11952
|
//#region ../theme-core/src/site-styles/headerLayoutCatalog.ts
|
|
11876
11953
|
const titleOnlyLogoAccommodation = {
|
|
11877
11954
|
pattern: "title-only",
|
|
@@ -11991,6 +12068,12 @@ const overlayLogoAccommodations = [
|
|
|
11991
12068
|
inlineMarkWithTitleLogoAccommodation,
|
|
11992
12069
|
unbackedOverlayLogoAccommodation
|
|
11993
12070
|
];
|
|
12071
|
+
const allCuratedLogoAccommodations = [
|
|
12072
|
+
...inlineClassicLogoAccommodations,
|
|
12073
|
+
...centeredLogoAccommodations,
|
|
12074
|
+
...overlayLogoAccommodations
|
|
12075
|
+
];
|
|
12076
|
+
new Set(allCuratedLogoAccommodations.filter((option) => option.providesBacking === true).map((option) => option.pattern));
|
|
11994
12077
|
const headerLayoutCatalog = defineExactCatalog()([
|
|
11995
12078
|
{
|
|
11996
12079
|
id: asHeaderLayoutId("classic"),
|
|
@@ -12031,43 +12114,37 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
12031
12114
|
id: asHeaderStyleId("minimal"),
|
|
12032
12115
|
label: "Minimal",
|
|
12033
12116
|
description: "Quiet surface with simple color-change navigation.",
|
|
12034
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12035
|
-
navTypography: "plain"
|
|
12117
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12036
12118
|
},
|
|
12037
12119
|
{
|
|
12038
12120
|
id: asHeaderStyleId("fine-line"),
|
|
12039
12121
|
label: "Seamless",
|
|
12040
12122
|
description: "Borderless surface with underline hover for a quieter page transition.",
|
|
12041
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12042
|
-
navTypography: "plain"
|
|
12123
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12043
12124
|
},
|
|
12044
12125
|
{
|
|
12045
12126
|
id: asHeaderStyleId("soft-bar"),
|
|
12046
12127
|
label: "Soft Bar",
|
|
12047
12128
|
description: "Soft tinted surface with gentle pill hover states.",
|
|
12048
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12049
|
-
navTypography: "plain"
|
|
12129
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12050
12130
|
},
|
|
12051
12131
|
{
|
|
12052
12132
|
id: asHeaderStyleId("pill-nav"),
|
|
12053
12133
|
label: "Pill Nav",
|
|
12054
12134
|
description: "A calm pill navigation rail over a neutral header.",
|
|
12055
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12056
|
-
navTypography: "plain"
|
|
12135
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12057
12136
|
},
|
|
12058
12137
|
{
|
|
12059
12138
|
id: asHeaderStyleId("brand-bar"),
|
|
12060
12139
|
label: "Brand Bar",
|
|
12061
12140
|
description: "Solid brand surface with high-contrast navigation.",
|
|
12062
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12063
|
-
navTypography: "brand-caps"
|
|
12141
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12064
12142
|
},
|
|
12065
12143
|
{
|
|
12066
12144
|
id: asHeaderStyleId("brand-underline"),
|
|
12067
12145
|
label: "Brand Underline",
|
|
12068
12146
|
description: "Brand surface with underline-grow navigation.",
|
|
12069
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12070
|
-
navTypography: "brand-caps"
|
|
12147
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12071
12148
|
},
|
|
12072
12149
|
{
|
|
12073
12150
|
id: asHeaderStyleId("brand-pill"),
|
|
@@ -12077,73 +12154,82 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
12077
12154
|
"classic",
|
|
12078
12155
|
"centered",
|
|
12079
12156
|
"floating"
|
|
12080
|
-
])
|
|
12081
|
-
navTypography: "brand-caps"
|
|
12157
|
+
])
|
|
12082
12158
|
},
|
|
12083
12159
|
{
|
|
12084
12160
|
id: asHeaderStyleId("brand-capsule"),
|
|
12085
12161
|
label: "Brand Capsule",
|
|
12086
12162
|
description: "Solid brand chrome designed as a floating capsule, with quiet-caps nav, a soft pill active state, and an inverted CTA pill.",
|
|
12087
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12088
|
-
navTypography: "quiet-caps"
|
|
12163
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12089
12164
|
},
|
|
12090
12165
|
{
|
|
12091
12166
|
id: asHeaderStyleId("serif-line"),
|
|
12092
12167
|
label: "Serif Line",
|
|
12093
12168
|
description: "Typographic logo treatment with understated underline navigation.",
|
|
12094
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12095
|
-
navTypography: "heading"
|
|
12169
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12096
12170
|
},
|
|
12097
12171
|
{
|
|
12098
12172
|
id: asHeaderStyleId("flat-tabs"),
|
|
12099
12173
|
label: "Flat Tabs",
|
|
12100
12174
|
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
12101
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12102
|
-
navTypography: "quiet-caps"
|
|
12175
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12103
12176
|
},
|
|
12104
12177
|
{
|
|
12105
12178
|
id: asHeaderStyleId("glass"),
|
|
12106
12179
|
label: "Glass",
|
|
12107
12180
|
description: "Translucent chrome with frosted navigation backing.",
|
|
12108
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12109
|
-
navTypography: "plain"
|
|
12181
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12110
12182
|
},
|
|
12111
12183
|
{
|
|
12112
12184
|
id: asHeaderStyleId("minimal-surface"),
|
|
12113
12185
|
label: "Clear Split",
|
|
12114
12186
|
description: "Floating logo with transparent navigation and no shared shell.",
|
|
12115
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12116
|
-
navTypography: "plain",
|
|
12117
|
-
openingForegroundTarget: "all",
|
|
12118
|
-
scrollTreatment: "contrast-glass",
|
|
12119
|
-
interactionPalette: clearSplitInteractionPalette
|
|
12187
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12120
12188
|
},
|
|
12121
12189
|
{
|
|
12122
12190
|
id: asHeaderStyleId("soft-shell"),
|
|
12123
12191
|
label: "Soft Shell",
|
|
12124
12192
|
description: "Floating rounded shell with soft pill navigation states.",
|
|
12125
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12126
|
-
navTypography: "plain"
|
|
12193
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12127
12194
|
},
|
|
12128
12195
|
{
|
|
12129
12196
|
id: asHeaderStyleId("split-glass"),
|
|
12130
12197
|
label: "Split Glass",
|
|
12131
12198
|
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
12132
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12133
|
-
navTypography: "quiet-caps",
|
|
12134
|
-
openingForegroundTarget: "brand-only"
|
|
12199
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12135
12200
|
},
|
|
12136
12201
|
{
|
|
12137
12202
|
id: asHeaderStyleId("split-pill"),
|
|
12138
12203
|
label: "Split Pill",
|
|
12139
12204
|
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
12140
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12141
|
-
navTypography: "heading",
|
|
12142
|
-
openingForegroundTarget: "brand-only"
|
|
12205
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12143
12206
|
}
|
|
12144
12207
|
]);
|
|
12145
12208
|
new Map(headerLayoutCatalog.map((layout) => [layout.id, layout]));
|
|
12146
12209
|
new Map(headerStyleCatalog.map((style) => [style.id, style]));
|
|
12210
|
+
defineLookOptionGroup({
|
|
12211
|
+
id: "interaction-palette",
|
|
12212
|
+
label: "Hover colour",
|
|
12213
|
+
defaultOptionId: "accent",
|
|
12214
|
+
options: [
|
|
12215
|
+
{
|
|
12216
|
+
id: "accent",
|
|
12217
|
+
label: "Accent"
|
|
12218
|
+
},
|
|
12219
|
+
{
|
|
12220
|
+
id: "primary",
|
|
12221
|
+
label: "Primary"
|
|
12222
|
+
},
|
|
12223
|
+
{
|
|
12224
|
+
id: "secondary",
|
|
12225
|
+
label: "Secondary"
|
|
12226
|
+
},
|
|
12227
|
+
{
|
|
12228
|
+
id: headerInteractionQuietPalette,
|
|
12229
|
+
label: "Text only"
|
|
12230
|
+
}
|
|
12231
|
+
]
|
|
12232
|
+
});
|
|
12147
12233
|
//#endregion
|
|
12148
12234
|
//#region ../theme-core/src/site-styles/footerLooks.ts
|
|
12149
12235
|
function asFooterLookId(value) {
|
|
@@ -14562,6 +14648,67 @@ const blockDesignFallback = {
|
|
|
14562
14648
|
};
|
|
14563
14649
|
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.transitionAfter, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
14564
14650
|
//#endregion
|
|
14651
|
+
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
14652
|
+
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
14653
|
+
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
14654
|
+
siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
|
|
14655
|
+
function parseSiteChromeBackgroundColorToken(value) {
|
|
14656
|
+
const token = parseBackgroundAppearanceColorToken(value);
|
|
14657
|
+
return token ? token : null;
|
|
14658
|
+
}
|
|
14659
|
+
function toSiteChromeBackgroundColorTokens(tokenNames) {
|
|
14660
|
+
return tokenNames.flatMap((name) => {
|
|
14661
|
+
const token = parseSiteChromeBackgroundColorToken(name);
|
|
14662
|
+
return token ? [token] : [];
|
|
14663
|
+
});
|
|
14664
|
+
}
|
|
14665
|
+
//#endregion
|
|
14666
|
+
//#region ../theme-core/src/site-styles/siteChromeNavPreferences.ts
|
|
14667
|
+
const headerNavTypographyPreferenceValues = [
|
|
14668
|
+
"inherit",
|
|
14669
|
+
"body",
|
|
14670
|
+
"heading"
|
|
14671
|
+
];
|
|
14672
|
+
const headerNavFontSizePreferenceValues = [
|
|
14673
|
+
"inherit",
|
|
14674
|
+
"sm",
|
|
14675
|
+
"base",
|
|
14676
|
+
"lg",
|
|
14677
|
+
"xl"
|
|
14678
|
+
];
|
|
14679
|
+
const defaultHeaderNavPreferences = {
|
|
14680
|
+
typography: "inherit",
|
|
14681
|
+
fontSize: "inherit",
|
|
14682
|
+
interactionPalette: "recommended"
|
|
14683
|
+
};
|
|
14684
|
+
//#endregion
|
|
14685
|
+
//#region ../theme-core/src/site-styles/headerBrandPresentation.ts
|
|
14686
|
+
/**
|
|
14687
|
+
* Whether the header wears a brand presentation at all (#1318 Phase 4c).
|
|
14688
|
+
*
|
|
14689
|
+
* `applyHeaderBrandPresentation` is unconditional today: given a logo context
|
|
14690
|
+
* it always writes a `logo` object carrying a resolved display, size and
|
|
14691
|
+
* accommodation. That makes "this header has no brand presentation block" —
|
|
14692
|
+
* which is what several live sites persist, including one whose site *does*
|
|
14693
|
+
* have a logo asset — a state the preference record could not express, so a
|
|
14694
|
+
* recompile would silently give the site a logo treatment it has never
|
|
14695
|
+
* rendered.
|
|
14696
|
+
*
|
|
14697
|
+
* This is the third field in this phase with that shape, after the interaction
|
|
14698
|
+
* palette and the nav text size: the persisted bytes carry intent the reader
|
|
14699
|
+
* cannot say, so the recompile "corrects" it. The fix is the same one — widen
|
|
14700
|
+
* the closed vocabulary with a named member and derive it by baseline
|
|
14701
|
+
* comparison — and it is a *widening*, not a restyle: `'recommended'` is the
|
|
14702
|
+
* default and reproduces today's behaviour exactly, so no row whose bytes carry
|
|
14703
|
+
* a presentation compiles differently for `'plain'` existing.
|
|
14704
|
+
*
|
|
14705
|
+
* `'plain'` is deliberately not "preserve whatever bytes are there". It is a
|
|
14706
|
+
* constructive instruction — *write no presentation block* — so Phase 4e's
|
|
14707
|
+
* compiler, which builds the header from nothing, can produce it.
|
|
14708
|
+
*/
|
|
14709
|
+
const headerBrandPresentationValues = ["recommended", "plain"];
|
|
14710
|
+
defaultHeaderBrandPreferences.brandDisplay, defaultHeaderBrandPreferences.logoSize, defaultHeaderNavPreferences.typography, defaultHeaderNavPreferences.fontSize, defaultHeaderNavPreferences.interactionPalette;
|
|
14711
|
+
//#endregion
|
|
14565
14712
|
//#region ../theme-core/src/site-styles/generatedSchemas.ts
|
|
14566
14713
|
function uniqueNonEmpty(values) {
|
|
14567
14714
|
const uniqueValues = [...new Set(values)];
|
|
@@ -14630,6 +14777,56 @@ z.object({
|
|
|
14630
14777
|
blocks: z.array(generatedPageDesignBlockIntentSchema)
|
|
14631
14778
|
}).strict();
|
|
14632
14779
|
//#endregion
|
|
14780
|
+
//#region ../theme-core/src/site-styles/headerPreferencesPersistence.ts
|
|
14781
|
+
const backgroundColorTokenSchema = z.unknown().transform((value, ctx) => {
|
|
14782
|
+
const token = parseSiteChromeBackgroundColorToken(value);
|
|
14783
|
+
if (token === null) {
|
|
14784
|
+
ctx.addIssue({
|
|
14785
|
+
code: "custom",
|
|
14786
|
+
message: "Unknown site chrome background colour token"
|
|
14787
|
+
});
|
|
14788
|
+
return z.NEVER;
|
|
14789
|
+
}
|
|
14790
|
+
return token;
|
|
14791
|
+
});
|
|
14792
|
+
const backgroundOverrideSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("default") }).strict(), z.object({
|
|
14793
|
+
kind: z.literal("color"),
|
|
14794
|
+
token: backgroundColorTokenSchema
|
|
14795
|
+
}).strict()]);
|
|
14796
|
+
const logoTextIntentSchema = z.object({
|
|
14797
|
+
mobileMaxWidth: z.enum([
|
|
14798
|
+
"xs",
|
|
14799
|
+
"sm",
|
|
14800
|
+
"md"
|
|
14801
|
+
]).optional(),
|
|
14802
|
+
mobileWrapLines: z.union([z.literal(1), z.literal(2)]).optional(),
|
|
14803
|
+
hideOnShrink: z.boolean().optional()
|
|
14804
|
+
}).strict();
|
|
14805
|
+
const structureSchema = z.object({
|
|
14806
|
+
positioning: z.union([z.literal("inherit"), z.enum(headerPositioningValues)]),
|
|
14807
|
+
shrinkOnScroll: z.union([z.literal("inherit"), z.boolean()]),
|
|
14808
|
+
logoText: z.union([
|
|
14809
|
+
z.literal("inherit"),
|
|
14810
|
+
z.literal("none"),
|
|
14811
|
+
logoTextIntentSchema
|
|
14812
|
+
])
|
|
14813
|
+
}).strict();
|
|
14814
|
+
const headerPreferencesShape = {
|
|
14815
|
+
brandPresentation: z.enum(headerBrandPresentationValues),
|
|
14816
|
+
brandDisplay: z.enum(brandDisplayModeValues),
|
|
14817
|
+
logoSize: z.enum(logoSizePolicyValues),
|
|
14818
|
+
navFontRole: z.enum(headerNavTypographyPreferenceValues),
|
|
14819
|
+
navTextSize: z.enum(headerNavFontSizePreferenceValues),
|
|
14820
|
+
interactionPalette: z.union([z.literal("recommended"), z.enum(headerInteractionPaletteValues)]),
|
|
14821
|
+
background: backgroundOverrideSchema,
|
|
14822
|
+
structure: structureSchema
|
|
14823
|
+
};
|
|
14824
|
+
z.object(headerPreferencesShape).strict();
|
|
14825
|
+
z.object(headerPreferencesShape).omit({
|
|
14826
|
+
brandPresentation: true,
|
|
14827
|
+
structure: true
|
|
14828
|
+
}).strict();
|
|
14829
|
+
//#endregion
|
|
14633
14830
|
//#region ../theme-core/src/site-styles/pageDesignAuthority.ts
|
|
14634
14831
|
const nonEmptyStringSchema = z.string().min(1);
|
|
14635
14832
|
const blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
|
|
@@ -14731,21 +14928,6 @@ function collectBlockSequenceIssues(snapshots) {
|
|
|
14731
14928
|
return issues;
|
|
14732
14929
|
}
|
|
14733
14930
|
//#endregion
|
|
14734
|
-
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
14735
|
-
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
14736
|
-
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
14737
|
-
siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
|
|
14738
|
-
function parseSiteChromeBackgroundColorToken(value) {
|
|
14739
|
-
const token = parseBackgroundAppearanceColorToken(value);
|
|
14740
|
-
return token ? token : null;
|
|
14741
|
-
}
|
|
14742
|
-
function toSiteChromeBackgroundColorTokens(tokenNames) {
|
|
14743
|
-
return tokenNames.flatMap((name) => {
|
|
14744
|
-
const token = parseSiteChromeBackgroundColorToken(name);
|
|
14745
|
-
return token ? [token] : [];
|
|
14746
|
-
});
|
|
14747
|
-
}
|
|
14748
|
-
//#endregion
|
|
14749
14931
|
//#region ../theme-core/src/site-styles/tokenRecipes.ts
|
|
14750
14932
|
const themeTokenRecipeOptions = {
|
|
14751
14933
|
palette: [
|
|
@@ -23540,26 +23722,6 @@ const headerLogoTextVisibleTransform = {
|
|
|
23540
23722
|
return resolveHeaderBrandDisplay(asPartialObject(value)) !== "logo-only";
|
|
23541
23723
|
}
|
|
23542
23724
|
};
|
|
23543
|
-
/**
|
|
23544
|
-
* Selects which classic-layout nav row should render.
|
|
23545
|
-
*
|
|
23546
|
-
* - `'inline'` → classic variant with the historical logo-left / nav-right row
|
|
23547
|
-
* - `'centered'`→ classic variant with a centred (flex-1) nav and a right CTA
|
|
23548
|
-
* - `'other'` → not a classic variant (centered/floating handle it)
|
|
23549
|
-
*
|
|
23550
|
-
* Consumed by the site-header block's `$when` gates so the two classic rows are
|
|
23551
|
-
* mutually exclusive without introducing a new top-level header variant.
|
|
23552
|
-
*/
|
|
23553
|
-
const classicNavModeTransform = {
|
|
23554
|
-
id: "layout.classicNavMode",
|
|
23555
|
-
kind: "formatter",
|
|
23556
|
-
summary: "Resolve which classic-layout nav row to render",
|
|
23557
|
-
run: (value) => {
|
|
23558
|
-
const header = asPartialObject(value);
|
|
23559
|
-
if (header?.variant !== "classic") return "other";
|
|
23560
|
-
return header?.navPlacement === "center" ? "centered" : "inline";
|
|
23561
|
-
}
|
|
23562
|
-
};
|
|
23563
23725
|
const maxWidthClassTransform = {
|
|
23564
23726
|
id: "layout.maxWidthClass",
|
|
23565
23727
|
kind: "string",
|
|
@@ -23665,7 +23827,6 @@ const headerRootClassTransform = {
|
|
|
23665
23827
|
if (isHeaderScrollRuntimeEnabled(content)) classes.push(config.shrink);
|
|
23666
23828
|
const variant = header?.variant;
|
|
23667
23829
|
if (variant && headerVariantValues.includes(variant)) classes.push(`header-variant-${variant}`);
|
|
23668
|
-
if (header?.barFrame === "inset-shell" && variant === "classic") classes.push("header-bar-frame-inset-shell");
|
|
23669
23830
|
return joinClasses(classes);
|
|
23670
23831
|
}
|
|
23671
23832
|
};
|
|
@@ -23873,7 +24034,6 @@ const layoutTransforms = [
|
|
|
23873
24034
|
headerLogoClassTransform,
|
|
23874
24035
|
headerLogoMediaClassTransform,
|
|
23875
24036
|
headerLogoTextVisibleTransform,
|
|
23876
|
-
classicNavModeTransform,
|
|
23877
24037
|
footerRootClassTransform,
|
|
23878
24038
|
headerRootStyleTransform,
|
|
23879
24039
|
headerSectionBackgroundTransform,
|
|
@@ -24273,18 +24433,7 @@ const classicLayout = inline({
|
|
|
24273
24433
|
logoRow,
|
|
24274
24434
|
createNavRow(`rb-ml-auto ${desktopOnlyDisplay("flex")} rb-gap-6`),
|
|
24275
24435
|
headerCta
|
|
24276
|
-
],
|
|
24277
|
-
const classicCenteredNavLayout = inline({
|
|
24278
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
24279
|
-
transforms: pipe(tx("layout.maxWidthClass", { base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6` })),
|
|
24280
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6`
|
|
24281
|
-
}),
|
|
24282
|
-
align: "center"
|
|
24283
|
-
}, [
|
|
24284
|
-
logoRow,
|
|
24285
|
-
createNavRow(`rb-flex-1 rb-justify-center ${desktopOnlyDisplay("flex")} rb-gap-6`, "center"),
|
|
24286
|
-
headerCta
|
|
24287
|
-
], whenTransformed("$root.theme.header", "layout.classicNavMode", "centered"));
|
|
24436
|
+
], when("$root.theme.header.variant", { equals: "classic" }));
|
|
24288
24437
|
const centeredLayout = stack({
|
|
24289
24438
|
gap: "md",
|
|
24290
24439
|
align: "center",
|
|
@@ -24349,7 +24498,6 @@ const siteHeaderBlockDefinition = { manifest: createBlockManifest({
|
|
|
24349
24498
|
}, [
|
|
24350
24499
|
mobileHeaderBar,
|
|
24351
24500
|
classicLayout,
|
|
24352
|
-
classicCenteredNavLayout,
|
|
24353
24501
|
centeredLayout,
|
|
24354
24502
|
floatingLayout,
|
|
24355
24503
|
mobileOverlay
|
|
@@ -27075,7 +27223,7 @@ const eventDisplayFields = [
|
|
|
27075
27223
|
{
|
|
27076
27224
|
id: "showCapacity",
|
|
27077
27225
|
type: "boolean",
|
|
27078
|
-
label: "Show available
|
|
27226
|
+
label: "Show available places",
|
|
27079
27227
|
description: "Display remaining capacity",
|
|
27080
27228
|
required: false,
|
|
27081
27229
|
defaultValue: true,
|
|
@@ -27374,7 +27522,7 @@ function planEventRegistrationScope(input) {
|
|
|
27374
27522
|
};
|
|
27375
27523
|
}
|
|
27376
27524
|
//#endregion
|
|
27377
|
-
//#region ../blocks/src/system/runtime/nodes/events/
|
|
27525
|
+
//#region ../blocks/src/system/runtime/nodes/events/domain/destination.ts
|
|
27378
27526
|
function isRecord$7(value) {
|
|
27379
27527
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
27380
27528
|
}
|
|
@@ -27392,7 +27540,7 @@ function resolveRuntimeEventDestination(event) {
|
|
|
27392
27540
|
};
|
|
27393
27541
|
}
|
|
27394
27542
|
//#endregion
|
|
27395
|
-
//#region ../blocks/src/system/runtime/nodes/events/
|
|
27543
|
+
//#region ../blocks/src/system/runtime/nodes/events/domain/pricing.ts
|
|
27396
27544
|
const DEFAULT_EVENT_CURRENCY = "USD";
|
|
27397
27545
|
function resolveRuntimeEventPricing(event) {
|
|
27398
27546
|
if (isPublicEventPricing(event.pricing)) return event.pricing;
|
|
@@ -28072,7 +28220,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
28072
28220
|
{
|
|
28073
28221
|
id: "showCapacity",
|
|
28074
28222
|
type: "boolean",
|
|
28075
|
-
label: "Show available
|
|
28223
|
+
label: "Show available places",
|
|
28076
28224
|
description: "Display remaining capacity",
|
|
28077
28225
|
required: false,
|
|
28078
28226
|
defaultValue: true,
|
|
@@ -28633,7 +28781,11 @@ const eventSpotlightBlockDefinition = {
|
|
|
28633
28781
|
} }
|
|
28634
28782
|
};
|
|
28635
28783
|
//#endregion
|
|
28636
|
-
//#region ../blocks/src/system/runtime/nodes/events/shared/
|
|
28784
|
+
//#region ../blocks/src/system/runtime/nodes/events/shared/listingLayout.ts
|
|
28785
|
+
/**
|
|
28786
|
+
* Layout classes for event listing containers and cards. Presentation
|
|
28787
|
+
* plumbing rather than event domain logic, so it lives beside the components.
|
|
28788
|
+
*/
|
|
28637
28789
|
/**
|
|
28638
28790
|
* Column class mappings for grid layouts, derived from the canonical
|
|
28639
28791
|
* responsive column ladder (see gridUserColumnLadder).
|
|
@@ -28754,7 +28906,8 @@ const eventCollectionSourceSchemaShape = {
|
|
|
28754
28906
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
28755
28907
|
buttonText: z.string().optional(),
|
|
28756
28908
|
emptyMessage: z.string().optional(),
|
|
28757
|
-
className: z.string().optional()
|
|
28909
|
+
className: z.string().optional(),
|
|
28910
|
+
bookingTimeZone: z.string().optional()
|
|
28758
28911
|
};
|
|
28759
28912
|
const eventCollectionDisplaySchemaShape = {
|
|
28760
28913
|
events: z.array(publicEventSchema),
|
|
@@ -28789,7 +28942,15 @@ const eventCollectionHydrationSchema = z.object({
|
|
|
28789
28942
|
prefetchedEvents: z.boolean(),
|
|
28790
28943
|
eventSurface: eventSurfaceScopeSchema$1,
|
|
28791
28944
|
filterEventPresets: z.string().nullable(),
|
|
28792
|
-
scheduleScope: eventScheduleScopeSchema$1
|
|
28945
|
+
scheduleScope: eventScheduleScopeSchema$1,
|
|
28946
|
+
calendarContext: z.object({
|
|
28947
|
+
timeZone: z.string().transform(toBookingTimeZone),
|
|
28948
|
+
initialToday: z.object({
|
|
28949
|
+
year: z.number().int(),
|
|
28950
|
+
month: z.number().int().min(1).max(12),
|
|
28951
|
+
day: z.number().int().min(1).max(31)
|
|
28952
|
+
})
|
|
28953
|
+
})
|
|
28793
28954
|
});
|
|
28794
28955
|
function buildEventCollectionDisplay(source) {
|
|
28795
28956
|
return {
|
|
@@ -28834,14 +28995,19 @@ function buildEventCollectionPresentationDisplay(source) {
|
|
|
28834
28995
|
emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
|
|
28835
28996
|
};
|
|
28836
28997
|
}
|
|
28837
|
-
function buildEventCollectionHydration(source) {
|
|
28998
|
+
function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date()) {
|
|
28999
|
+
const timeZone = toBookingTimeZone(source.bookingTimeZone);
|
|
28838
29000
|
return {
|
|
28839
29001
|
siteId: source.siteId,
|
|
28840
29002
|
stage: source.stage,
|
|
28841
29003
|
prefetchedEvents: source.events != null,
|
|
28842
29004
|
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
28843
29005
|
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
28844
|
-
scheduleScope: normalizeEventScheduleScope(source.scheduleScope)
|
|
29006
|
+
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
29007
|
+
calendarContext: {
|
|
29008
|
+
timeZone,
|
|
29009
|
+
initialToday: getLocalScheduleDate(now, timeZone)
|
|
29010
|
+
}
|
|
28845
29011
|
};
|
|
28846
29012
|
}
|
|
28847
29013
|
//#endregion
|
|
@@ -29951,7 +30117,7 @@ const eventCalendarAdditionalFields = [
|
|
|
29951
30117
|
{
|
|
29952
30118
|
id: "showCapacity",
|
|
29953
30119
|
type: "boolean",
|
|
29954
|
-
label: "Show available
|
|
30120
|
+
label: "Show available places",
|
|
29955
30121
|
description: "Display remaining capacity on event cards and timetable cells",
|
|
29956
30122
|
required: false,
|
|
29957
30123
|
defaultValue: true,
|
|
@@ -37680,6 +37846,50 @@ z.object({
|
|
|
37680
37846
|
title: z.string(),
|
|
37681
37847
|
slug: z.string().min(1)
|
|
37682
37848
|
});
|
|
37849
|
+
z.object({
|
|
37850
|
+
signedUrl: z.string().url(),
|
|
37851
|
+
token: z.string().min(1),
|
|
37852
|
+
storagePath: z.string().min(1)
|
|
37853
|
+
}).strict();
|
|
37854
|
+
const backupManifestSchema = z.object({
|
|
37855
|
+
siteId: z.string().min(1),
|
|
37856
|
+
siteSlug: z.string().min(1),
|
|
37857
|
+
siteTitle: z.string(),
|
|
37858
|
+
exportedAt: z.string().min(1),
|
|
37859
|
+
tableCount: z.number().int().nonnegative(),
|
|
37860
|
+
totalRecords: z.number().int().nonnegative(),
|
|
37861
|
+
pageCount: z.number().int().nonnegative(),
|
|
37862
|
+
blockCount: z.number().int().nonnegative(),
|
|
37863
|
+
contentEntryCount: z.number().int().nonnegative(),
|
|
37864
|
+
formCount: z.number().int().nonnegative(),
|
|
37865
|
+
navigationMenuCount: z.number().int().nonnegative(),
|
|
37866
|
+
mediaCount: z.number().int().nonnegative(),
|
|
37867
|
+
mediaBytes: z.number().int().nonnegative()
|
|
37868
|
+
}).strict();
|
|
37869
|
+
z.object({
|
|
37870
|
+
ok: z.literal(true),
|
|
37871
|
+
manifest: backupManifestSchema,
|
|
37872
|
+
storagePath: z.string().min(1)
|
|
37873
|
+
}).strict();
|
|
37874
|
+
z.object({
|
|
37875
|
+
ok: z.literal(true),
|
|
37876
|
+
siteId: brandedIdSchema(parseSiteId, "site id"),
|
|
37877
|
+
slug: z.string().min(1),
|
|
37878
|
+
title: z.string(),
|
|
37879
|
+
counts: z.record(z.string(), z.object({
|
|
37880
|
+
created: z.number().int().nonnegative(),
|
|
37881
|
+
updated: z.number().int().nonnegative(),
|
|
37882
|
+
skipped: z.number().int().nonnegative(),
|
|
37883
|
+
failed: z.number().int().nonnegative()
|
|
37884
|
+
}).strict()),
|
|
37885
|
+
warnings: z.array(z.string()),
|
|
37886
|
+
errors: z.array(z.object({
|
|
37887
|
+
table: z.string(),
|
|
37888
|
+
id: z.string(),
|
|
37889
|
+
error: z.string()
|
|
37890
|
+
}).strict())
|
|
37891
|
+
}).strict();
|
|
37892
|
+
z.object({ deleted: z.boolean() }).strict();
|
|
37683
37893
|
const apiKeyIdSchema = brandedIdSchema(parseApiKeyId, "API key id");
|
|
37684
37894
|
const standardKeyIdsSchema = z.object({
|
|
37685
37895
|
live: apiKeyIdSchema.optional(),
|