@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
|
@@ -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",
|
|
@@ -1930,6 +1937,9 @@ function getZonedDateTimeParts(date, timeZone) {
|
|
|
1930
1937
|
function formatDateKey(date) {
|
|
1931
1938
|
return `${String(date.year).padStart(4, "0")}-${String(date.month).padStart(2, "0")}-${String(date.day).padStart(2, "0")}`;
|
|
1932
1939
|
}
|
|
1940
|
+
function toBookingTimeZone(timeZone) {
|
|
1941
|
+
return getSafeTimeZone(timeZone);
|
|
1942
|
+
}
|
|
1933
1943
|
function parseUtcIsoDateTimeString(value) {
|
|
1934
1944
|
const normalized = value.trim();
|
|
1935
1945
|
const hasUtcSuffix = normalized.endsWith("Z");
|
|
@@ -9146,12 +9156,8 @@ const legacyHeaderVariantValues = Object.keys(legacyHeaderVariants);
|
|
|
9146
9156
|
* `@riverbankcms/api` is `z.input<typeof themeSchema>`, so a widened input here
|
|
9147
9157
|
* would leak straight into a public type.
|
|
9148
9158
|
*
|
|
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.
|
|
9159
|
+
* Persisted runtime themes are admitted through `parseThemeForPersistence`
|
|
9160
|
+
* before reaching consumers, so legacy spellings normalize at that boundary.
|
|
9155
9161
|
*/
|
|
9156
9162
|
const headerVariantWithLegacyAliasSchema = z.enum([...headerVariantValues, ...legacyHeaderVariantValues]).transform((value) => value in legacyHeaderVariants ? legacyHeaderVariants[value] : value);
|
|
9157
9163
|
const BREAKPOINT_LG = 1024;
|
|
@@ -9610,7 +9616,6 @@ const navFontWeight = z.enum([
|
|
|
9610
9616
|
"bold"
|
|
9611
9617
|
]);
|
|
9612
9618
|
const headerMaxWidth = z.enum(["container", "full"]);
|
|
9613
|
-
const headerBarFrame = z.enum(["full-bleed", "inset-shell"]);
|
|
9614
9619
|
const headerBorderSchema = componentBorderSchema.extend({ position: z.enum([
|
|
9615
9620
|
"bottom",
|
|
9616
9621
|
"top",
|
|
@@ -9639,12 +9644,6 @@ const headerLogoTextSchema = z.object({
|
|
|
9639
9644
|
]).optional(),
|
|
9640
9645
|
hideOnShrink: z.boolean().optional()
|
|
9641
9646
|
}).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
9647
|
const dropdownStyleSchema = z.object({
|
|
9649
9648
|
background: themeColorTokenSchema.default("surface"),
|
|
9650
9649
|
textColor: themeColorTokenSchema.default("text"),
|
|
@@ -9736,9 +9735,7 @@ const headerSchema = z.object({
|
|
|
9736
9735
|
positioning: headerPositioning,
|
|
9737
9736
|
shrinkOnScroll: z.boolean(),
|
|
9738
9737
|
maxWidth: headerMaxWidth,
|
|
9739
|
-
barFrame: headerBarFrame.optional(),
|
|
9740
9738
|
scrollTreatment: headerScrollTreatmentSchema,
|
|
9741
|
-
logoOverride: mediaSchema.nullable().optional(),
|
|
9742
9739
|
background: headerBackgroundSchema.default({
|
|
9743
9740
|
type: "color",
|
|
9744
9741
|
color: "surface"
|
|
@@ -9750,13 +9747,11 @@ const headerSchema = z.object({
|
|
|
9750
9747
|
navFontRole: z.enum(["body", "heading"]).optional(),
|
|
9751
9748
|
navTextSize: navLinkStyleSchema.shape.textSize,
|
|
9752
9749
|
interactionPalette: headerInteractionPaletteSchema.optional(),
|
|
9753
|
-
navPlacement: z.enum(["end", "center"]).optional(),
|
|
9754
9750
|
container: headerContainerSchema,
|
|
9755
9751
|
border: headerBorderSchema,
|
|
9756
9752
|
shadow: componentShadowSchema.optional(),
|
|
9757
9753
|
logo: logoStyleSchema,
|
|
9758
9754
|
logoText: headerLogoTextSchema,
|
|
9759
|
-
navEffects: navEffectsSchema,
|
|
9760
9755
|
navContainer: navContainerSchema,
|
|
9761
9756
|
navLinkStyle: navLinkStyleSchema.optional(),
|
|
9762
9757
|
ctaGap: headerCtaGapSchema.optional(),
|
|
@@ -11749,27 +11744,6 @@ function asHeaderStyleId(value) {
|
|
|
11749
11744
|
return value;
|
|
11750
11745
|
}
|
|
11751
11746
|
//#endregion
|
|
11752
|
-
//#region ../theme-core/src/site-styles/headerInteractionPalette.ts
|
|
11753
|
-
const clearSplitInteractionPalette = defineLookOptionGroup({
|
|
11754
|
-
id: "interaction-palette",
|
|
11755
|
-
label: "Hover colour",
|
|
11756
|
-
defaultOptionId: "accent",
|
|
11757
|
-
options: [
|
|
11758
|
-
{
|
|
11759
|
-
id: "accent",
|
|
11760
|
-
label: "Accent"
|
|
11761
|
-
},
|
|
11762
|
-
{
|
|
11763
|
-
id: "primary",
|
|
11764
|
-
label: "Primary"
|
|
11765
|
-
},
|
|
11766
|
-
{
|
|
11767
|
-
id: "secondary",
|
|
11768
|
-
label: "Secondary"
|
|
11769
|
-
}
|
|
11770
|
-
]
|
|
11771
|
-
});
|
|
11772
|
-
//#endregion
|
|
11773
11747
|
//#region ../theme-core/src/site-styles/headerLayoutCatalog.ts
|
|
11774
11748
|
const titleOnlyLogoAccommodation = {
|
|
11775
11749
|
pattern: "title-only",
|
|
@@ -11929,43 +11903,37 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
11929
11903
|
id: asHeaderStyleId("minimal"),
|
|
11930
11904
|
label: "Minimal",
|
|
11931
11905
|
description: "Quiet surface with simple color-change navigation.",
|
|
11932
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11933
|
-
navTypography: "plain"
|
|
11906
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11934
11907
|
},
|
|
11935
11908
|
{
|
|
11936
11909
|
id: asHeaderStyleId("fine-line"),
|
|
11937
11910
|
label: "Seamless",
|
|
11938
11911
|
description: "Borderless surface with underline hover for a quieter page transition.",
|
|
11939
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11940
|
-
navTypography: "plain"
|
|
11912
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11941
11913
|
},
|
|
11942
11914
|
{
|
|
11943
11915
|
id: asHeaderStyleId("soft-bar"),
|
|
11944
11916
|
label: "Soft Bar",
|
|
11945
11917
|
description: "Soft tinted surface with gentle pill hover states.",
|
|
11946
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11947
|
-
navTypography: "plain"
|
|
11918
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11948
11919
|
},
|
|
11949
11920
|
{
|
|
11950
11921
|
id: asHeaderStyleId("pill-nav"),
|
|
11951
11922
|
label: "Pill Nav",
|
|
11952
11923
|
description: "A calm pill navigation rail over a neutral header.",
|
|
11953
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11954
|
-
navTypography: "plain"
|
|
11924
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11955
11925
|
},
|
|
11956
11926
|
{
|
|
11957
11927
|
id: asHeaderStyleId("brand-bar"),
|
|
11958
11928
|
label: "Brand Bar",
|
|
11959
11929
|
description: "Solid brand surface with high-contrast navigation.",
|
|
11960
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11961
|
-
navTypography: "brand-caps"
|
|
11930
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11962
11931
|
},
|
|
11963
11932
|
{
|
|
11964
11933
|
id: asHeaderStyleId("brand-underline"),
|
|
11965
11934
|
label: "Brand Underline",
|
|
11966
11935
|
description: "Brand surface with underline-grow navigation.",
|
|
11967
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
11968
|
-
navTypography: "brand-caps"
|
|
11936
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
11969
11937
|
},
|
|
11970
11938
|
{
|
|
11971
11939
|
id: asHeaderStyleId("brand-pill"),
|
|
@@ -11975,73 +11943,78 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
11975
11943
|
"classic",
|
|
11976
11944
|
"centered",
|
|
11977
11945
|
"floating"
|
|
11978
|
-
])
|
|
11979
|
-
navTypography: "brand-caps"
|
|
11946
|
+
])
|
|
11980
11947
|
},
|
|
11981
11948
|
{
|
|
11982
11949
|
id: asHeaderStyleId("brand-capsule"),
|
|
11983
11950
|
label: "Brand Capsule",
|
|
11984
11951
|
description: "Solid brand chrome designed as a floating capsule, with quiet-caps nav, a soft pill active state, and an inverted CTA pill.",
|
|
11985
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
11986
|
-
navTypography: "quiet-caps"
|
|
11952
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
11987
11953
|
},
|
|
11988
11954
|
{
|
|
11989
11955
|
id: asHeaderStyleId("serif-line"),
|
|
11990
11956
|
label: "Serif Line",
|
|
11991
11957
|
description: "Typographic logo treatment with understated underline navigation.",
|
|
11992
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11993
|
-
navTypography: "heading"
|
|
11958
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
11994
11959
|
},
|
|
11995
11960
|
{
|
|
11996
11961
|
id: asHeaderStyleId("flat-tabs"),
|
|
11997
11962
|
label: "Flat Tabs",
|
|
11998
11963
|
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
11999
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12000
|
-
navTypography: "quiet-caps"
|
|
11964
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
12001
11965
|
},
|
|
12002
11966
|
{
|
|
12003
11967
|
id: asHeaderStyleId("glass"),
|
|
12004
11968
|
label: "Glass",
|
|
12005
11969
|
description: "Translucent chrome with frosted navigation backing.",
|
|
12006
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12007
|
-
navTypography: "plain"
|
|
11970
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12008
11971
|
},
|
|
12009
11972
|
{
|
|
12010
11973
|
id: asHeaderStyleId("minimal-surface"),
|
|
12011
11974
|
label: "Clear Split",
|
|
12012
11975
|
description: "Floating logo with transparent navigation and no shared shell.",
|
|
12013
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12014
|
-
navTypography: "plain",
|
|
12015
|
-
openingForegroundTarget: "all",
|
|
12016
|
-
scrollTreatment: "contrast-glass",
|
|
12017
|
-
interactionPalette: clearSplitInteractionPalette
|
|
11976
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12018
11977
|
},
|
|
12019
11978
|
{
|
|
12020
11979
|
id: asHeaderStyleId("soft-shell"),
|
|
12021
11980
|
label: "Soft Shell",
|
|
12022
11981
|
description: "Floating rounded shell with soft pill navigation states.",
|
|
12023
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12024
|
-
navTypography: "plain"
|
|
11982
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12025
11983
|
},
|
|
12026
11984
|
{
|
|
12027
11985
|
id: asHeaderStyleId("split-glass"),
|
|
12028
11986
|
label: "Split Glass",
|
|
12029
11987
|
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
12030
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12031
|
-
navTypography: "quiet-caps",
|
|
12032
|
-
openingForegroundTarget: "brand-only"
|
|
11988
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12033
11989
|
},
|
|
12034
11990
|
{
|
|
12035
11991
|
id: asHeaderStyleId("split-pill"),
|
|
12036
11992
|
label: "Split Pill",
|
|
12037
11993
|
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
12038
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12039
|
-
navTypography: "heading",
|
|
12040
|
-
openingForegroundTarget: "brand-only"
|
|
11994
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
12041
11995
|
}
|
|
12042
11996
|
]);
|
|
12043
11997
|
new Map(headerLayoutCatalog.map((layout) => [layout.id, layout]));
|
|
12044
11998
|
new Map(headerStyleCatalog.map((style) => [style.id, style]));
|
|
11999
|
+
defineLookOptionGroup({
|
|
12000
|
+
id: "interaction-palette",
|
|
12001
|
+
label: "Hover colour",
|
|
12002
|
+
defaultOptionId: "accent",
|
|
12003
|
+
options: [
|
|
12004
|
+
{
|
|
12005
|
+
id: "accent",
|
|
12006
|
+
label: "Accent"
|
|
12007
|
+
},
|
|
12008
|
+
{
|
|
12009
|
+
id: "primary",
|
|
12010
|
+
label: "Primary"
|
|
12011
|
+
},
|
|
12012
|
+
{
|
|
12013
|
+
id: "secondary",
|
|
12014
|
+
label: "Secondary"
|
|
12015
|
+
}
|
|
12016
|
+
]
|
|
12017
|
+
});
|
|
12045
12018
|
//#endregion
|
|
12046
12019
|
//#region ../theme-core/src/site-styles/footerLooks.ts
|
|
12047
12020
|
function asFooterLookId(value) {
|
|
@@ -15072,7 +15045,6 @@ const ALLOWED_TRANSFORM_IDS = [
|
|
|
15072
15045
|
"layout.footerRootClass",
|
|
15073
15046
|
"layout.headerRootStyle",
|
|
15074
15047
|
"layout.headerSectionBackground",
|
|
15075
|
-
"layout.classicNavMode",
|
|
15076
15048
|
"layout.footerRootStyle",
|
|
15077
15049
|
"ui.headerNavLinkClass",
|
|
15078
15050
|
"ui.headingClassFromAlignment",
|
|
@@ -23548,26 +23520,6 @@ const headerLogoTextVisibleTransform = {
|
|
|
23548
23520
|
return resolveHeaderBrandDisplay(asPartialObject(value)) !== "logo-only";
|
|
23549
23521
|
}
|
|
23550
23522
|
};
|
|
23551
|
-
/**
|
|
23552
|
-
* Selects which classic-layout nav row should render.
|
|
23553
|
-
*
|
|
23554
|
-
* - `'inline'` → classic variant with the historical logo-left / nav-right row
|
|
23555
|
-
* - `'centered'`→ classic variant with a centred (flex-1) nav and a right CTA
|
|
23556
|
-
* - `'other'` → not a classic variant (centered/floating handle it)
|
|
23557
|
-
*
|
|
23558
|
-
* Consumed by the site-header block's `$when` gates so the two classic rows are
|
|
23559
|
-
* mutually exclusive without introducing a new top-level header variant.
|
|
23560
|
-
*/
|
|
23561
|
-
const classicNavModeTransform = {
|
|
23562
|
-
id: "layout.classicNavMode",
|
|
23563
|
-
kind: "formatter",
|
|
23564
|
-
summary: "Resolve which classic-layout nav row to render",
|
|
23565
|
-
run: (value) => {
|
|
23566
|
-
const header = asPartialObject(value);
|
|
23567
|
-
if (header?.variant !== "classic") return "other";
|
|
23568
|
-
return header?.navPlacement === "center" ? "centered" : "inline";
|
|
23569
|
-
}
|
|
23570
|
-
};
|
|
23571
23523
|
const maxWidthClassTransform = {
|
|
23572
23524
|
id: "layout.maxWidthClass",
|
|
23573
23525
|
kind: "string",
|
|
@@ -23673,7 +23625,6 @@ const headerRootClassTransform = {
|
|
|
23673
23625
|
if (isHeaderScrollRuntimeEnabled(content)) classes.push(config.shrink);
|
|
23674
23626
|
const variant = header?.variant;
|
|
23675
23627
|
if (variant && headerVariantValues.includes(variant)) classes.push(`header-variant-${variant}`);
|
|
23676
|
-
if (header?.barFrame === "inset-shell" && variant === "classic") classes.push("header-bar-frame-inset-shell");
|
|
23677
23628
|
return joinClasses(classes);
|
|
23678
23629
|
}
|
|
23679
23630
|
};
|
|
@@ -23881,7 +23832,6 @@ const layoutTransforms = [
|
|
|
23881
23832
|
headerLogoClassTransform,
|
|
23882
23833
|
headerLogoMediaClassTransform,
|
|
23883
23834
|
headerLogoTextVisibleTransform,
|
|
23884
|
-
classicNavModeTransform,
|
|
23885
23835
|
footerRootClassTransform,
|
|
23886
23836
|
headerRootStyleTransform,
|
|
23887
23837
|
headerSectionBackgroundTransform,
|
|
@@ -24271,18 +24221,7 @@ const classicLayout = inline({
|
|
|
24271
24221
|
logoRow,
|
|
24272
24222
|
createNavRow(`rb-ml-auto ${desktopOnlyDisplay("flex")} rb-gap-6`),
|
|
24273
24223
|
headerCta
|
|
24274
|
-
],
|
|
24275
|
-
const classicCenteredNavLayout = inline({
|
|
24276
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
24277
|
-
transforms: pipe(tx("layout.maxWidthClass", { base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6` })),
|
|
24278
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6`
|
|
24279
|
-
}),
|
|
24280
|
-
align: "center"
|
|
24281
|
-
}, [
|
|
24282
|
-
logoRow,
|
|
24283
|
-
createNavRow(`rb-flex-1 rb-justify-center ${desktopOnlyDisplay("flex")} rb-gap-6`, "center"),
|
|
24284
|
-
headerCta
|
|
24285
|
-
], whenTransformed("$root.theme.header", "layout.classicNavMode", "centered"));
|
|
24224
|
+
], when("$root.theme.header.variant", { equals: "classic" }));
|
|
24286
24225
|
const centeredLayout = stack({
|
|
24287
24226
|
gap: "md",
|
|
24288
24227
|
align: "center",
|
|
@@ -24347,7 +24286,6 @@ const siteHeaderBlockDefinition = { manifest: createBlockManifest({
|
|
|
24347
24286
|
}, [
|
|
24348
24287
|
mobileHeaderBar,
|
|
24349
24288
|
classicLayout,
|
|
24350
|
-
classicCenteredNavLayout,
|
|
24351
24289
|
centeredLayout,
|
|
24352
24290
|
floatingLayout,
|
|
24353
24291
|
mobileOverlay
|
|
@@ -26801,6 +26739,7 @@ const publicWholeSeriesPriceDisplaySchema = z.discriminatedUnion("kind", [
|
|
|
26801
26739
|
freePriceDisplaySchema,
|
|
26802
26740
|
exactPriceDisplaySchema,
|
|
26803
26741
|
fromPriceDisplaySchema,
|
|
26742
|
+
rangePriceDisplaySchema,
|
|
26804
26743
|
unavailablePriceDisplaySchema
|
|
26805
26744
|
]);
|
|
26806
26745
|
z.discriminatedUnion("kind", [
|
|
@@ -27904,13 +27843,16 @@ function buildEventRegistrationShellStepLabels(source) {
|
|
|
27904
27843
|
}) : false).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
27905
27844
|
}
|
|
27906
27845
|
function scopeEventRegistrationEvents(source) {
|
|
27846
|
+
return toRegistrationEvents(scopeEventRegistrationSourceEvents(source));
|
|
27847
|
+
}
|
|
27848
|
+
function scopeEventRegistrationSourceEvents(source) {
|
|
27907
27849
|
const scope = planEventRegistrationScope({
|
|
27908
|
-
events:
|
|
27850
|
+
events: source.events ?? [],
|
|
27909
27851
|
wholeSeriesOffering: source.wholeSeriesOffering,
|
|
27910
27852
|
occurrenceContext: source.occurrenceContext,
|
|
27911
27853
|
subject: source.subject
|
|
27912
27854
|
});
|
|
27913
|
-
return scope.kind === "invalidSelectedRun" ? [] : scope.events;
|
|
27855
|
+
return scope.kind === "invalidSelectedRun" ? [] : [...scope.events];
|
|
27914
27856
|
}
|
|
27915
27857
|
function shellLabelForRegistrationStep(step, events) {
|
|
27916
27858
|
switch (step) {
|
|
@@ -27942,26 +27884,29 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
27942
27884
|
source: createZodCodec(eventRegistrationSourceSchema),
|
|
27943
27885
|
render: createZodCodec(eventRegistrationRenderSchema)
|
|
27944
27886
|
},
|
|
27945
|
-
buildRender: (source) =>
|
|
27946
|
-
|
|
27947
|
-
|
|
27948
|
-
|
|
27949
|
-
|
|
27950
|
-
|
|
27951
|
-
|
|
27952
|
-
|
|
27953
|
-
|
|
27954
|
-
|
|
27955
|
-
|
|
27956
|
-
|
|
27957
|
-
|
|
27958
|
-
|
|
27959
|
-
|
|
27960
|
-
|
|
27961
|
-
|
|
27962
|
-
|
|
27963
|
-
|
|
27964
|
-
|
|
27887
|
+
buildRender: (source) => {
|
|
27888
|
+
const events = source.events == null ? null : scopeEventRegistrationSourceEvents(source);
|
|
27889
|
+
return {
|
|
27890
|
+
display: buildEventRegistrationDisplay(source),
|
|
27891
|
+
hydration: {
|
|
27892
|
+
occurrenceContext: source.occurrenceContext ?? null,
|
|
27893
|
+
subject: source.subject ?? null,
|
|
27894
|
+
events,
|
|
27895
|
+
wholeSeriesOfferings: source.wholeSeriesOfferings ?? null,
|
|
27896
|
+
wholeSeriesOffering: resolveWholeSeriesOffering(source),
|
|
27897
|
+
maxTickets: source.maxTickets ?? void 0,
|
|
27898
|
+
showVenue: source.showVenue,
|
|
27899
|
+
showCapacity: source.showCapacity,
|
|
27900
|
+
successMessage: source.successMessage,
|
|
27901
|
+
buttonVariant: source.buttonVariant,
|
|
27902
|
+
overlayEnabled: source.overlayEnabled,
|
|
27903
|
+
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
27904
|
+
supportEmail: source.supportEmail,
|
|
27905
|
+
sitePasses: source.sitePasses ?? null,
|
|
27906
|
+
siteMemberships: source.siteMemberships ?? null
|
|
27907
|
+
}
|
|
27908
|
+
};
|
|
27909
|
+
}
|
|
27965
27910
|
});
|
|
27966
27911
|
function normalizeEventRegistrationEventInput(value) {
|
|
27967
27912
|
if (!isRecord$3(value)) return value;
|
|
@@ -28745,7 +28690,8 @@ const eventCollectionSourceSchemaShape = {
|
|
|
28745
28690
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
28746
28691
|
buttonText: z.string().optional(),
|
|
28747
28692
|
emptyMessage: z.string().optional(),
|
|
28748
|
-
className: z.string().optional()
|
|
28693
|
+
className: z.string().optional(),
|
|
28694
|
+
bookingTimeZone: z.string().optional()
|
|
28749
28695
|
};
|
|
28750
28696
|
const eventCollectionDisplaySchemaShape = {
|
|
28751
28697
|
events: z.array(publicEventSchema),
|
|
@@ -28780,7 +28726,15 @@ const eventCollectionHydrationSchema = z.object({
|
|
|
28780
28726
|
prefetchedEvents: z.boolean(),
|
|
28781
28727
|
eventSurface: eventSurfaceScopeSchema$1,
|
|
28782
28728
|
filterEventPresets: z.string().nullable(),
|
|
28783
|
-
scheduleScope: eventScheduleScopeSchema$1
|
|
28729
|
+
scheduleScope: eventScheduleScopeSchema$1,
|
|
28730
|
+
calendarContext: z.object({
|
|
28731
|
+
timeZone: z.string().transform(toBookingTimeZone),
|
|
28732
|
+
initialToday: z.object({
|
|
28733
|
+
year: z.number().int(),
|
|
28734
|
+
month: z.number().int().min(1).max(12),
|
|
28735
|
+
day: z.number().int().min(1).max(31)
|
|
28736
|
+
})
|
|
28737
|
+
})
|
|
28784
28738
|
});
|
|
28785
28739
|
function buildEventCollectionDisplay(source) {
|
|
28786
28740
|
return {
|
|
@@ -28825,14 +28779,19 @@ function buildEventCollectionPresentationDisplay(source) {
|
|
|
28825
28779
|
emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
|
|
28826
28780
|
};
|
|
28827
28781
|
}
|
|
28828
|
-
function buildEventCollectionHydration(source) {
|
|
28782
|
+
function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date()) {
|
|
28783
|
+
const timeZone = toBookingTimeZone(source.bookingTimeZone);
|
|
28829
28784
|
return {
|
|
28830
28785
|
siteId: source.siteId,
|
|
28831
28786
|
stage: source.stage,
|
|
28832
28787
|
prefetchedEvents: source.events != null,
|
|
28833
28788
|
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
28834
28789
|
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
28835
|
-
scheduleScope: normalizeEventScheduleScope(source.scheduleScope)
|
|
28790
|
+
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
28791
|
+
calendarContext: {
|
|
28792
|
+
timeZone,
|
|
28793
|
+
initialToday: getLocalScheduleDate(now, timeZone)
|
|
28794
|
+
}
|
|
28836
28795
|
};
|
|
28837
28796
|
}
|
|
28838
28797
|
//#endregion
|