@riverbankcms/sdk 0.135.0 → 0.136.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 +13 -0
- package/README.md +4 -8
- package/dist/{PreviewEditorSidebar-roNY0GVy.mjs → PreviewEditorSidebar-BU5ZlhQR.mjs} +4 -4
- package/dist/{PreviewEditorUI-KboDbEh_.mjs → PreviewEditorUI-9XkHL-bC.mjs} +3 -3
- package/dist/{PreviewQueryProvider-DcgaESkm.mjs → PreviewQueryProvider-wbEpXryy.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DBrF7Caa.mjs → SdkPreviewModeRuntime-CnWmj-2B.mjs} +50 -99
- package/dist/{SiteChromeCustomizeContext-DrIEpJKn.mjs → SiteChromeCustomizeContext-B6d5zkog.mjs} +2334 -1173
- package/dist/_dts/ai/src/contracts/proposals.d.ts +8 -554
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +401 -2312
- package/dist/_dts/api/src/contentRuntime.d.ts +6 -0
- package/dist/_dts/api/src/endpoints.d.ts +7 -0
- package/dist/_dts/api/src/index.d.ts +1 -0
- 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/sdkThemeWire.d.ts +6 -432
- 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 +12 -6
- 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 +40 -0
- package/dist/_dts/blocks/src/server.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +25 -0
- 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 +2 -1
- 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 +44 -18
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -3
- 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/useEventRegistrationStripeReturn.d.ts +1 -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/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/WeekAgendaView.d.ts +3 -0
- 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 +19 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +3 -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/index.d.ts +2 -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/preview-next/src/client/blocks/EditablePageRenderer.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +2 -1
- package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +6 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -1
- 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/header/legacyHeaderVariant.d.ts +2 -6
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +6 -807
- package/dist/_dts/theme-core/src/schema.d.ts +452 -1278
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +213 -1
- package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +0 -29
- 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/headerStyleCompiler.d.ts +16 -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 +161 -0
- package/dist/client/{BookingConsentAgreement-BQqwi8Oa.mjs → BookingConsentAgreement-DCch21a6.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-B97aMo0V.mjs → DiscountCodeDisclosure-DIj1T59K.mjs} +1 -1
- package/dist/client/{EventCombined.client-Bs2Iw9Q6.mjs → EventCombined.client-BWVNlXTx.mjs} +226 -206
- package/dist/client/{EventListing.client-C4QUQdmg.mjs → EventListing.client-DVFCDe3i.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CwWRk69M.mjs → LeafletStaticMap-BY5mIHw9.mjs} +1 -1
- package/dist/client/{accordion-BA0j8Mpw.mjs → accordion-CK29E8rG.mjs} +1 -1
- package/dist/client/{bookingForm-Br2e41H0.mjs → bookingForm-DFvnet-N.mjs} +5 -5
- package/dist/client/bookings.mjs +87 -47
- package/dist/client/{carousel-B4dmwnpD.mjs → carousel-BVU5NQlb.mjs} +1 -1
- package/dist/client/{cart-B_ckGW4b.mjs → cart-BNItcZVa.mjs} +3 -3
- package/dist/client/{checkout-DAyspHdf.mjs → checkout-Bu6iCdkP.mjs} +3 -3
- package/dist/client/client.mjs +1985 -1055
- package/dist/client/{context-DljQn8L5.mjs → context-BImarOAq.mjs} +12 -0
- package/dist/client/{eventCalendar-pJu3FUod.mjs → eventCalendar-DS2h-UXD.mjs} +256 -114
- package/dist/client/{eventCombined-B6Kacm9F.mjs → eventCombined-Drt4Oq9p.mjs} +3 -3
- package/dist/client/{eventDetails-CaX9z1pv.mjs → eventDetails-Bl2vWgTX.mjs} +4 -3
- package/dist/client/{eventListing-B9aXPO-I.mjs → eventListing-CS7PHY7v.mjs} +3 -3
- package/dist/client/{eventRegistration-CBSovBkg.mjs → eventRegistration-D-j8eNy2.mjs} +85 -41
- package/dist/client/{form-Cm0tu_7o.mjs → form-RMpoLTyr.mjs} +2 -2
- package/dist/client/{headerSection-OgRtHeKS.mjs → headerSection-BYE3Lb3k.mjs} +2 -2
- package/dist/client/hooks.mjs +2254 -298
- package/dist/client/{locationMap-DmjcYqNM.mjs → locationMap-BxSr7Kkh.mjs} +2 -2
- package/dist/client/{newsletterForm-D08OZQAC.mjs → newsletterForm-DerbXwFC.mjs} +2 -2
- package/dist/client/{productDetail-BqZeu2P4.mjs → productDetail-4SZCLhAf.mjs} +3 -3
- package/dist/client/{productList-mNyIF9FG.mjs → productList-D7AP4GNq.mjs} +3 -3
- package/dist/client/{propsDecoder-DwHXRm9X.mjs → propsDecoder-pzBeCh14.mjs} +123 -46
- package/dist/client/rendering/client.mjs +793 -488
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +2161 -1268
- package/dist/client/{scrollToBlock-DtmdM3v-.mjs → scrollToBlock-CduAKf8T.mjs} +1 -1
- package/dist/client/{shop-CNjZK16F.mjs → shop-Cp5p_kGe.mjs} +6 -6
- package/dist/client/{shop-commerce-DkNNao1J.mjs → shop-commerce-DicXYaYX.mjs} +5 -5
- package/dist/client/{shop-commerce-store-9WA--zuW.mjs → shop-commerce-store-CGWnpY4K.mjs} +1 -1
- package/dist/client/{shopShared-CHCVfccY.mjs → shopShared-BDf9ljkm.mjs} +3 -3
- package/dist/client/{useEventFilters-DvuaB4ZN.mjs → useEventFilters-DeeyGYuk.mjs} +3 -3
- package/dist/preview-next/before-render.mjs +7 -0
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +7 -0
- package/dist/preview-next/middleware.mjs +7 -0
- package/dist/{previewAuthStore-C7ksxt5b.mjs → previewAuthStore-DbqBol0V.mjs} +7 -0
- package/dist/{sdk-runtime-3GhW4knb.mjs → sdk-runtime-19MO27F0.mjs} +2 -2
- package/dist/{separator-D3bCWYYb.mjs → separator-DaPLtJ1f.mjs} +1 -1
- package/dist/server/components.mjs +1562 -917
- package/dist/server/config-validation.mjs +94 -135
- package/dist/server/config.mjs +94 -135
- package/dist/server/data.mjs +94 -134
- package/dist/server/index.mjs +122 -4
- package/dist/server/manifest.mjs +0 -1
- package/dist/server/next.mjs +1467 -732
- package/dist/server/page-converter.mjs +87 -113
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1717 -939
- package/dist/server/rendering.mjs +1729 -1044
- package/dist/server/routing.mjs +3229 -1835
- package/dist/server/server.mjs +21739 -19801
- package/dist/server/theme-bridge.mjs +656 -264
- package/dist/server/theme.mjs +2 -17
- package/dist/styles/index.css +609 -181
- package/package.json +1 -1
package/dist/server/config.mjs
CHANGED
|
@@ -1243,6 +1243,13 @@ const PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1243
1243
|
//#endregion
|
|
1244
1244
|
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
1245
1245
|
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1246
|
+
resolvePublicEventCheckoutReturn: {
|
|
1247
|
+
path: "/public/sites/{siteId}/events/checkout-return",
|
|
1248
|
+
method: "POST",
|
|
1249
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-checkout"],
|
|
1250
|
+
auth: "public",
|
|
1251
|
+
responseKind: "json"
|
|
1252
|
+
},
|
|
1246
1253
|
getPublicEventRegistrationOptions: {
|
|
1247
1254
|
path: "/public/sites/{siteId}/events/registration-options",
|
|
1248
1255
|
method: "POST",
|
|
@@ -1974,6 +1981,9 @@ function getZonedDateTimeParts(date, timeZone) {
|
|
|
1974
1981
|
function formatDateKey(date) {
|
|
1975
1982
|
return `${String(date.year).padStart(4, "0")}-${String(date.month).padStart(2, "0")}-${String(date.day).padStart(2, "0")}`;
|
|
1976
1983
|
}
|
|
1984
|
+
function toBookingTimeZone(timeZone) {
|
|
1985
|
+
return getSafeTimeZone(timeZone);
|
|
1986
|
+
}
|
|
1977
1987
|
function parseUtcIsoDateTimeString(value) {
|
|
1978
1988
|
const normalized = value.trim();
|
|
1979
1989
|
const hasUtcSuffix = normalized.endsWith("Z");
|
|
@@ -9222,12 +9232,8 @@ const legacyHeaderVariantValues = Object.keys(legacyHeaderVariants);
|
|
|
9222
9232
|
* `@riverbankcms/api` is `z.input<typeof themeSchema>`, so a widened input here
|
|
9223
9233
|
* would leak straight into a public type.
|
|
9224
9234
|
*
|
|
9225
|
-
*
|
|
9226
|
-
*
|
|
9227
|
-
* `apps/dashboard/src/server/services/sites/runtimeSiteResponse.ts` returns the
|
|
9228
|
-
* raw database JSON asserted as `Theme` with no parse, so a theme still
|
|
9229
|
-
* carrying a legacy spelling reaches the theme editor un-aliased. That gap
|
|
9230
|
-
* predates this alias and is harmless while persisted usage is zero.
|
|
9235
|
+
* Persisted runtime themes are admitted through `parseThemeForPersistence`
|
|
9236
|
+
* before reaching consumers, so legacy spellings normalize at that boundary.
|
|
9231
9237
|
*/
|
|
9232
9238
|
const headerVariantWithLegacyAliasSchema = z.enum([...headerVariantValues, ...legacyHeaderVariantValues]).transform((value) => value in legacyHeaderVariants ? legacyHeaderVariants[value] : value);
|
|
9233
9239
|
const BREAKPOINT_LG = 1024;
|
|
@@ -9686,7 +9692,6 @@ const navFontWeight = z.enum([
|
|
|
9686
9692
|
"bold"
|
|
9687
9693
|
]);
|
|
9688
9694
|
const headerMaxWidth = z.enum(["container", "full"]);
|
|
9689
|
-
const headerBarFrame = z.enum(["full-bleed", "inset-shell"]);
|
|
9690
9695
|
const headerBorderSchema = componentBorderSchema.extend({ position: z.enum([
|
|
9691
9696
|
"bottom",
|
|
9692
9697
|
"top",
|
|
@@ -9715,12 +9720,6 @@ const headerLogoTextSchema = z.object({
|
|
|
9715
9720
|
]).optional(),
|
|
9716
9721
|
hideOnShrink: z.boolean().optional()
|
|
9717
9722
|
}).optional();
|
|
9718
|
-
const navEffectsSchema = z.object({
|
|
9719
|
-
underlineGradient: z.boolean().default(false),
|
|
9720
|
-
glow: z.boolean().default(false),
|
|
9721
|
-
glowColor: z.string().optional(),
|
|
9722
|
-
neumorphic: z.boolean().default(false)
|
|
9723
|
-
}).optional();
|
|
9724
9723
|
const dropdownStyleSchema = z.object({
|
|
9725
9724
|
background: themeColorTokenSchema.default("surface"),
|
|
9726
9725
|
textColor: themeColorTokenSchema.default("text"),
|
|
@@ -9812,9 +9811,7 @@ const headerSchema = z.object({
|
|
|
9812
9811
|
positioning: headerPositioning,
|
|
9813
9812
|
shrinkOnScroll: z.boolean(),
|
|
9814
9813
|
maxWidth: headerMaxWidth,
|
|
9815
|
-
barFrame: headerBarFrame.optional(),
|
|
9816
9814
|
scrollTreatment: headerScrollTreatmentSchema,
|
|
9817
|
-
logoOverride: mediaSchema.nullable().optional(),
|
|
9818
9815
|
background: headerBackgroundSchema.default({
|
|
9819
9816
|
type: "color",
|
|
9820
9817
|
color: "surface"
|
|
@@ -9826,13 +9823,11 @@ const headerSchema = z.object({
|
|
|
9826
9823
|
navFontRole: z.enum(["body", "heading"]).optional(),
|
|
9827
9824
|
navTextSize: navLinkStyleSchema.shape.textSize,
|
|
9828
9825
|
interactionPalette: headerInteractionPaletteSchema.optional(),
|
|
9829
|
-
navPlacement: z.enum(["end", "center"]).optional(),
|
|
9830
9826
|
container: headerContainerSchema,
|
|
9831
9827
|
border: headerBorderSchema,
|
|
9832
9828
|
shadow: componentShadowSchema.optional(),
|
|
9833
9829
|
logo: logoStyleSchema,
|
|
9834
9830
|
logoText: headerLogoTextSchema,
|
|
9835
|
-
navEffects: navEffectsSchema,
|
|
9836
9831
|
navContainer: navContainerSchema,
|
|
9837
9832
|
navLinkStyle: navLinkStyleSchema.optional(),
|
|
9838
9833
|
ctaGap: headerCtaGapSchema.optional(),
|
|
@@ -11825,27 +11820,6 @@ function asHeaderStyleId(value) {
|
|
|
11825
11820
|
return value;
|
|
11826
11821
|
}
|
|
11827
11822
|
//#endregion
|
|
11828
|
-
//#region ../theme-core/src/site-styles/headerInteractionPalette.ts
|
|
11829
|
-
const clearSplitInteractionPalette = defineLookOptionGroup({
|
|
11830
|
-
id: "interaction-palette",
|
|
11831
|
-
label: "Hover colour",
|
|
11832
|
-
defaultOptionId: "accent",
|
|
11833
|
-
options: [
|
|
11834
|
-
{
|
|
11835
|
-
id: "accent",
|
|
11836
|
-
label: "Accent"
|
|
11837
|
-
},
|
|
11838
|
-
{
|
|
11839
|
-
id: "primary",
|
|
11840
|
-
label: "Primary"
|
|
11841
|
-
},
|
|
11842
|
-
{
|
|
11843
|
-
id: "secondary",
|
|
11844
|
-
label: "Secondary"
|
|
11845
|
-
}
|
|
11846
|
-
]
|
|
11847
|
-
});
|
|
11848
|
-
//#endregion
|
|
11849
11823
|
//#region ../theme-core/src/site-styles/headerLayoutCatalog.ts
|
|
11850
11824
|
const titleOnlyLogoAccommodation = {
|
|
11851
11825
|
pattern: "title-only",
|
|
@@ -12005,43 +11979,37 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
12005
11979
|
id: asHeaderStyleId("minimal"),
|
|
12006
11980
|
label: "Minimal",
|
|
12007
11981
|
description: "Quiet surface with simple color-change navigation.",
|
|
12008
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12009
|
-
navTypography: "plain"
|
|
11982
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12010
11983
|
},
|
|
12011
11984
|
{
|
|
12012
11985
|
id: asHeaderStyleId("fine-line"),
|
|
12013
11986
|
label: "Seamless",
|
|
12014
11987
|
description: "Borderless surface with underline hover for a quieter page transition.",
|
|
12015
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12016
|
-
navTypography: "plain"
|
|
11988
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12017
11989
|
},
|
|
12018
11990
|
{
|
|
12019
11991
|
id: asHeaderStyleId("soft-bar"),
|
|
12020
11992
|
label: "Soft Bar",
|
|
12021
11993
|
description: "Soft tinted surface with gentle pill hover states.",
|
|
12022
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12023
|
-
navTypography: "plain"
|
|
11994
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12024
11995
|
},
|
|
12025
11996
|
{
|
|
12026
11997
|
id: asHeaderStyleId("pill-nav"),
|
|
12027
11998
|
label: "Pill Nav",
|
|
12028
11999
|
description: "A calm pill navigation rail over a neutral header.",
|
|
12029
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12030
|
-
navTypography: "plain"
|
|
12000
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12031
12001
|
},
|
|
12032
12002
|
{
|
|
12033
12003
|
id: asHeaderStyleId("brand-bar"),
|
|
12034
12004
|
label: "Brand Bar",
|
|
12035
12005
|
description: "Solid brand surface with high-contrast navigation.",
|
|
12036
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12037
|
-
navTypography: "brand-caps"
|
|
12006
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12038
12007
|
},
|
|
12039
12008
|
{
|
|
12040
12009
|
id: asHeaderStyleId("brand-underline"),
|
|
12041
12010
|
label: "Brand Underline",
|
|
12042
12011
|
description: "Brand surface with underline-grow navigation.",
|
|
12043
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12044
|
-
navTypography: "brand-caps"
|
|
12012
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12045
12013
|
},
|
|
12046
12014
|
{
|
|
12047
12015
|
id: asHeaderStyleId("brand-pill"),
|
|
@@ -12051,73 +12019,78 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
12051
12019
|
"classic",
|
|
12052
12020
|
"centered",
|
|
12053
12021
|
"floating"
|
|
12054
|
-
])
|
|
12055
|
-
navTypography: "brand-caps"
|
|
12022
|
+
])
|
|
12056
12023
|
},
|
|
12057
12024
|
{
|
|
12058
12025
|
id: asHeaderStyleId("brand-capsule"),
|
|
12059
12026
|
label: "Brand Capsule",
|
|
12060
12027
|
description: "Solid brand chrome designed as a floating capsule, with quiet-caps nav, a soft pill active state, and an inverted CTA pill.",
|
|
12061
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12062
|
-
navTypography: "quiet-caps"
|
|
12028
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
12063
12029
|
},
|
|
12064
12030
|
{
|
|
12065
12031
|
id: asHeaderStyleId("serif-line"),
|
|
12066
12032
|
label: "Serif Line",
|
|
12067
12033
|
description: "Typographic logo treatment with understated underline navigation.",
|
|
12068
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12069
|
-
navTypography: "heading"
|
|
12034
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12070
12035
|
},
|
|
12071
12036
|
{
|
|
12072
12037
|
id: asHeaderStyleId("flat-tabs"),
|
|
12073
12038
|
label: "Flat Tabs",
|
|
12074
12039
|
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
12075
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12076
|
-
navTypography: "quiet-caps"
|
|
12040
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12077
12041
|
},
|
|
12078
12042
|
{
|
|
12079
12043
|
id: asHeaderStyleId("glass"),
|
|
12080
12044
|
label: "Glass",
|
|
12081
12045
|
description: "Translucent chrome with frosted navigation backing.",
|
|
12082
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12083
|
-
navTypography: "plain"
|
|
12046
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12084
12047
|
},
|
|
12085
12048
|
{
|
|
12086
12049
|
id: asHeaderStyleId("minimal-surface"),
|
|
12087
12050
|
label: "Clear Split",
|
|
12088
12051
|
description: "Floating logo with transparent navigation and no shared shell.",
|
|
12089
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12090
|
-
navTypography: "plain",
|
|
12091
|
-
openingForegroundTarget: "all",
|
|
12092
|
-
scrollTreatment: "contrast-glass",
|
|
12093
|
-
interactionPalette: clearSplitInteractionPalette
|
|
12052
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12094
12053
|
},
|
|
12095
12054
|
{
|
|
12096
12055
|
id: asHeaderStyleId("soft-shell"),
|
|
12097
12056
|
label: "Soft Shell",
|
|
12098
12057
|
description: "Floating rounded shell with soft pill navigation states.",
|
|
12099
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12100
|
-
navTypography: "plain"
|
|
12058
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12101
12059
|
},
|
|
12102
12060
|
{
|
|
12103
12061
|
id: asHeaderStyleId("split-glass"),
|
|
12104
12062
|
label: "Split Glass",
|
|
12105
12063
|
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
12106
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12107
|
-
navTypography: "quiet-caps",
|
|
12108
|
-
openingForegroundTarget: "brand-only"
|
|
12064
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12109
12065
|
},
|
|
12110
12066
|
{
|
|
12111
12067
|
id: asHeaderStyleId("split-pill"),
|
|
12112
12068
|
label: "Split Pill",
|
|
12113
12069
|
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
12114
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12115
|
-
navTypography: "heading",
|
|
12116
|
-
openingForegroundTarget: "brand-only"
|
|
12070
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12117
12071
|
}
|
|
12118
12072
|
]);
|
|
12119
12073
|
new Map(headerLayoutCatalog.map((layout) => [layout.id, layout]));
|
|
12120
12074
|
new Map(headerStyleCatalog.map((style) => [style.id, style]));
|
|
12075
|
+
defineLookOptionGroup({
|
|
12076
|
+
id: "interaction-palette",
|
|
12077
|
+
label: "Hover colour",
|
|
12078
|
+
defaultOptionId: "accent",
|
|
12079
|
+
options: [
|
|
12080
|
+
{
|
|
12081
|
+
id: "accent",
|
|
12082
|
+
label: "Accent"
|
|
12083
|
+
},
|
|
12084
|
+
{
|
|
12085
|
+
id: "primary",
|
|
12086
|
+
label: "Primary"
|
|
12087
|
+
},
|
|
12088
|
+
{
|
|
12089
|
+
id: "secondary",
|
|
12090
|
+
label: "Secondary"
|
|
12091
|
+
}
|
|
12092
|
+
]
|
|
12093
|
+
});
|
|
12121
12094
|
//#endregion
|
|
12122
12095
|
//#region ../theme-core/src/site-styles/footerLooks.ts
|
|
12123
12096
|
function asFooterLookId(value) {
|
|
@@ -15148,7 +15121,6 @@ const ALLOWED_TRANSFORM_IDS = [
|
|
|
15148
15121
|
"layout.footerRootClass",
|
|
15149
15122
|
"layout.headerRootStyle",
|
|
15150
15123
|
"layout.headerSectionBackground",
|
|
15151
|
-
"layout.classicNavMode",
|
|
15152
15124
|
"layout.footerRootStyle",
|
|
15153
15125
|
"ui.headerNavLinkClass",
|
|
15154
15126
|
"ui.headingClassFromAlignment",
|
|
@@ -23624,26 +23596,6 @@ const headerLogoTextVisibleTransform = {
|
|
|
23624
23596
|
return resolveHeaderBrandDisplay(asPartialObject(value)) !== "logo-only";
|
|
23625
23597
|
}
|
|
23626
23598
|
};
|
|
23627
|
-
/**
|
|
23628
|
-
* Selects which classic-layout nav row should render.
|
|
23629
|
-
*
|
|
23630
|
-
* - `'inline'` → classic variant with the historical logo-left / nav-right row
|
|
23631
|
-
* - `'centered'`→ classic variant with a centred (flex-1) nav and a right CTA
|
|
23632
|
-
* - `'other'` → not a classic variant (centered/floating handle it)
|
|
23633
|
-
*
|
|
23634
|
-
* Consumed by the site-header block's `$when` gates so the two classic rows are
|
|
23635
|
-
* mutually exclusive without introducing a new top-level header variant.
|
|
23636
|
-
*/
|
|
23637
|
-
const classicNavModeTransform = {
|
|
23638
|
-
id: "layout.classicNavMode",
|
|
23639
|
-
kind: "formatter",
|
|
23640
|
-
summary: "Resolve which classic-layout nav row to render",
|
|
23641
|
-
run: (value) => {
|
|
23642
|
-
const header = asPartialObject(value);
|
|
23643
|
-
if (header?.variant !== "classic") return "other";
|
|
23644
|
-
return header?.navPlacement === "center" ? "centered" : "inline";
|
|
23645
|
-
}
|
|
23646
|
-
};
|
|
23647
23599
|
const maxWidthClassTransform = {
|
|
23648
23600
|
id: "layout.maxWidthClass",
|
|
23649
23601
|
kind: "string",
|
|
@@ -23749,7 +23701,6 @@ const headerRootClassTransform = {
|
|
|
23749
23701
|
if (isHeaderScrollRuntimeEnabled(content)) classes.push(config.shrink);
|
|
23750
23702
|
const variant = header?.variant;
|
|
23751
23703
|
if (variant && headerVariantValues.includes(variant)) classes.push(`header-variant-${variant}`);
|
|
23752
|
-
if (header?.barFrame === "inset-shell" && variant === "classic") classes.push("header-bar-frame-inset-shell");
|
|
23753
23704
|
return joinClasses(classes);
|
|
23754
23705
|
}
|
|
23755
23706
|
};
|
|
@@ -23957,7 +23908,6 @@ const layoutTransforms = [
|
|
|
23957
23908
|
headerLogoClassTransform,
|
|
23958
23909
|
headerLogoMediaClassTransform,
|
|
23959
23910
|
headerLogoTextVisibleTransform,
|
|
23960
|
-
classicNavModeTransform,
|
|
23961
23911
|
footerRootClassTransform,
|
|
23962
23912
|
headerRootStyleTransform,
|
|
23963
23913
|
headerSectionBackgroundTransform,
|
|
@@ -24347,18 +24297,7 @@ const classicLayout = inline({
|
|
|
24347
24297
|
logoRow,
|
|
24348
24298
|
createNavRow(`rb-ml-auto ${desktopOnlyDisplay("flex")} rb-gap-6`),
|
|
24349
24299
|
headerCta
|
|
24350
|
-
],
|
|
24351
|
-
const classicCenteredNavLayout = inline({
|
|
24352
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
24353
|
-
transforms: pipe(tx("layout.maxWidthClass", { base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6` })),
|
|
24354
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6`
|
|
24355
|
-
}),
|
|
24356
|
-
align: "center"
|
|
24357
|
-
}, [
|
|
24358
|
-
logoRow,
|
|
24359
|
-
createNavRow(`rb-flex-1 rb-justify-center ${desktopOnlyDisplay("flex")} rb-gap-6`, "center"),
|
|
24360
|
-
headerCta
|
|
24361
|
-
], whenTransformed("$root.theme.header", "layout.classicNavMode", "centered"));
|
|
24300
|
+
], when("$root.theme.header.variant", { equals: "classic" }));
|
|
24362
24301
|
const centeredLayout = stack({
|
|
24363
24302
|
gap: "md",
|
|
24364
24303
|
align: "center",
|
|
@@ -24423,7 +24362,6 @@ const siteHeaderBlockDefinition = { manifest: createBlockManifest({
|
|
|
24423
24362
|
}, [
|
|
24424
24363
|
mobileHeaderBar,
|
|
24425
24364
|
classicLayout,
|
|
24426
|
-
classicCenteredNavLayout,
|
|
24427
24365
|
centeredLayout,
|
|
24428
24366
|
floatingLayout,
|
|
24429
24367
|
mobileOverlay
|
|
@@ -26877,6 +26815,7 @@ const publicWholeSeriesPriceDisplaySchema = z.discriminatedUnion("kind", [
|
|
|
26877
26815
|
freePriceDisplaySchema,
|
|
26878
26816
|
exactPriceDisplaySchema,
|
|
26879
26817
|
fromPriceDisplaySchema,
|
|
26818
|
+
rangePriceDisplaySchema,
|
|
26880
26819
|
unavailablePriceDisplaySchema
|
|
26881
26820
|
]);
|
|
26882
26821
|
z.discriminatedUnion("kind", [
|
|
@@ -27980,13 +27919,16 @@ function buildEventRegistrationShellStepLabels(source) {
|
|
|
27980
27919
|
}) : false).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
27981
27920
|
}
|
|
27982
27921
|
function scopeEventRegistrationEvents(source) {
|
|
27922
|
+
return toRegistrationEvents(scopeEventRegistrationSourceEvents(source));
|
|
27923
|
+
}
|
|
27924
|
+
function scopeEventRegistrationSourceEvents(source) {
|
|
27983
27925
|
const scope = planEventRegistrationScope({
|
|
27984
|
-
events:
|
|
27926
|
+
events: source.events ?? [],
|
|
27985
27927
|
wholeSeriesOffering: source.wholeSeriesOffering,
|
|
27986
27928
|
occurrenceContext: source.occurrenceContext,
|
|
27987
27929
|
subject: source.subject
|
|
27988
27930
|
});
|
|
27989
|
-
return scope.kind === "invalidSelectedRun" ? [] : scope.events;
|
|
27931
|
+
return scope.kind === "invalidSelectedRun" ? [] : [...scope.events];
|
|
27990
27932
|
}
|
|
27991
27933
|
function shellLabelForRegistrationStep(step, events) {
|
|
27992
27934
|
switch (step) {
|
|
@@ -28018,26 +27960,29 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
28018
27960
|
source: createZodCodec(eventRegistrationSourceSchema),
|
|
28019
27961
|
render: createZodCodec(eventRegistrationRenderSchema)
|
|
28020
27962
|
},
|
|
28021
|
-
buildRender: (source) =>
|
|
28022
|
-
|
|
28023
|
-
|
|
28024
|
-
|
|
28025
|
-
|
|
28026
|
-
|
|
28027
|
-
|
|
28028
|
-
|
|
28029
|
-
|
|
28030
|
-
|
|
28031
|
-
|
|
28032
|
-
|
|
28033
|
-
|
|
28034
|
-
|
|
28035
|
-
|
|
28036
|
-
|
|
28037
|
-
|
|
28038
|
-
|
|
28039
|
-
|
|
28040
|
-
|
|
27963
|
+
buildRender: (source) => {
|
|
27964
|
+
const events = source.events == null ? null : scopeEventRegistrationSourceEvents(source);
|
|
27965
|
+
return {
|
|
27966
|
+
display: buildEventRegistrationDisplay(source),
|
|
27967
|
+
hydration: {
|
|
27968
|
+
occurrenceContext: source.occurrenceContext ?? null,
|
|
27969
|
+
subject: source.subject ?? null,
|
|
27970
|
+
events,
|
|
27971
|
+
wholeSeriesOfferings: source.wholeSeriesOfferings ?? null,
|
|
27972
|
+
wholeSeriesOffering: resolveWholeSeriesOffering(source),
|
|
27973
|
+
maxTickets: source.maxTickets ?? void 0,
|
|
27974
|
+
showVenue: source.showVenue,
|
|
27975
|
+
showCapacity: source.showCapacity,
|
|
27976
|
+
successMessage: source.successMessage,
|
|
27977
|
+
buttonVariant: source.buttonVariant,
|
|
27978
|
+
overlayEnabled: source.overlayEnabled,
|
|
27979
|
+
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
27980
|
+
supportEmail: source.supportEmail,
|
|
27981
|
+
sitePasses: source.sitePasses ?? null,
|
|
27982
|
+
siteMemberships: source.siteMemberships ?? null
|
|
27983
|
+
}
|
|
27984
|
+
};
|
|
27985
|
+
}
|
|
28041
27986
|
});
|
|
28042
27987
|
function normalizeEventRegistrationEventInput(value) {
|
|
28043
27988
|
if (!isRecord$3(value)) return value;
|
|
@@ -28821,7 +28766,8 @@ const eventCollectionSourceSchemaShape = {
|
|
|
28821
28766
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
28822
28767
|
buttonText: z.string().optional(),
|
|
28823
28768
|
emptyMessage: z.string().optional(),
|
|
28824
|
-
className: z.string().optional()
|
|
28769
|
+
className: z.string().optional(),
|
|
28770
|
+
bookingTimeZone: z.string().optional()
|
|
28825
28771
|
};
|
|
28826
28772
|
const eventCollectionDisplaySchemaShape = {
|
|
28827
28773
|
events: z.array(publicEventSchema),
|
|
@@ -28856,7 +28802,15 @@ const eventCollectionHydrationSchema = z.object({
|
|
|
28856
28802
|
prefetchedEvents: z.boolean(),
|
|
28857
28803
|
eventSurface: eventSurfaceScopeSchema$1,
|
|
28858
28804
|
filterEventPresets: z.string().nullable(),
|
|
28859
|
-
scheduleScope: eventScheduleScopeSchema$1
|
|
28805
|
+
scheduleScope: eventScheduleScopeSchema$1,
|
|
28806
|
+
calendarContext: z.object({
|
|
28807
|
+
timeZone: z.string().transform(toBookingTimeZone),
|
|
28808
|
+
initialToday: z.object({
|
|
28809
|
+
year: z.number().int(),
|
|
28810
|
+
month: z.number().int().min(1).max(12),
|
|
28811
|
+
day: z.number().int().min(1).max(31)
|
|
28812
|
+
})
|
|
28813
|
+
})
|
|
28860
28814
|
});
|
|
28861
28815
|
function buildEventCollectionDisplay(source) {
|
|
28862
28816
|
return {
|
|
@@ -28901,14 +28855,19 @@ function buildEventCollectionPresentationDisplay(source) {
|
|
|
28901
28855
|
emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
|
|
28902
28856
|
};
|
|
28903
28857
|
}
|
|
28904
|
-
function buildEventCollectionHydration(source) {
|
|
28858
|
+
function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date()) {
|
|
28859
|
+
const timeZone = toBookingTimeZone(source.bookingTimeZone);
|
|
28905
28860
|
return {
|
|
28906
28861
|
siteId: source.siteId,
|
|
28907
28862
|
stage: source.stage,
|
|
28908
28863
|
prefetchedEvents: source.events != null,
|
|
28909
28864
|
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
28910
28865
|
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
28911
|
-
scheduleScope: normalizeEventScheduleScope(source.scheduleScope)
|
|
28866
|
+
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
28867
|
+
calendarContext: {
|
|
28868
|
+
timeZone,
|
|
28869
|
+
initialToday: getLocalScheduleDate(now, timeZone)
|
|
28870
|
+
}
|
|
28912
28871
|
};
|
|
28913
28872
|
}
|
|
28914
28873
|
//#endregion
|