@riverbankcms/sdk 0.89.1 → 0.90.1
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/README.md +27 -4
- package/dist/{PreviewEditorSidebar-JDR64FEC.mjs → PreviewEditorSidebar-FNFRVSIM.mjs} +3 -3
- package/dist/{PreviewEditorUI-67TMJMAF.mjs → PreviewEditorUI-3WXJFQXG.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-2UCIMKUB.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +216 -0
- package/dist/_dts/altcha/src/AltchaWidget.d.ts +1 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +3 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +2 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +4 -2
- package/dist/_dts/api/src/bookings.d.ts +3 -1
- package/dist/_dts/api/src/event-listing-destination.d.ts +59 -0
- package/dist/_dts/api/src/index.d.ts +10 -5
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +0 -1
- package/dist/_dts/api/src/navigation.d.ts +2 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +18 -6
- package/dist/_dts/api/src/request.d.ts +21 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +3 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
- package/dist/_dts/api/src/settings/permissions.d.ts +273 -0
- package/dist/_dts/api/src/types.d.ts +4 -1
- package/dist/_dts/api/src/url.d.ts +6 -3
- package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +5 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +9 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +7 -11
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -6
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +60 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +16 -5
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +0 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +8 -0
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +1 -1
- package/dist/_dts/blocks/src/system/constants/events.d.ts +4 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +17 -5
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +51 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +7 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +48 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +50 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +11 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +11 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/calendarViewOptions.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/destination.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +2 -2
- package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
- package/dist/_dts/content-model/src/entry-slots/sdkBlocks.d.ts +21 -0
- package/dist/_dts/content-model/src/entry-slots/types.d.ts +7 -0
- package/dist/_dts/core/src/event-pricing.d.ts +12 -2
- package/dist/_dts/core/src/money-input.d.ts +18 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +50 -0
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
- package/dist/_dts/media-editor/src/fieldUi.d.ts +6 -0
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +6 -0
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +10 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +12 -5
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -55
- package/dist/_dts/sdk/src/components.d.ts +1 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -1
- package/dist/_dts/sdk/src/next/types.d.ts +8 -11
- package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
- package/dist/_dts/sdk/src/rendering/blocks-theme-scope.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +8 -7
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -6
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +11 -1
- package/dist/_dts/sdk/src/rendering/server.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +26 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +18 -0
- package/dist/_dts/theme-core/src/ResponsiveScope.d.ts +12 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/types.d.ts +5 -5
- package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +21 -21
- package/dist/_dts/theme-core/src/schema.d.ts +18 -18
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
- package/dist/_dts/theme-core/src/themeRuntime.d.ts +11 -0
- package/dist/{chunk-F645A5UV.mjs → chunk-BOQXMCSP.mjs} +129 -101
- package/dist/{chunk-7YUAXONX.mjs → chunk-CR2VX432.mjs} +1563 -877
- package/dist/{chunk-HKJQERFR.mjs → chunk-FA6LVZ7C.mjs} +91 -55
- package/dist/{chunk-TGBJWKMP.mjs → chunk-H6TT5ZXI.mjs} +9 -1
- package/dist/{chunk-ZQRBLCW5.mjs → chunk-SYYJZPKU.mjs} +2 -2
- package/dist/{chunk-7N46MZHI.mjs → chunk-UG7I7S7W.mjs} +1 -1
- package/dist/cli/index.mjs +1057 -632
- package/dist/cli/init-docs/content/cli-reference.md +6 -1
- package/dist/cli/init-docs/content/content-management.md +27 -0
- package/dist/client/{accordion-MUCVNGQ7.mjs → accordion-4K7VGZ3I.mjs} +2 -2
- package/dist/client/{bookingForm-PKD6EFIE.mjs → bookingForm-3QXA3CIS.mjs} +26 -271
- package/dist/client/bookings.mjs +1586 -825
- package/dist/client/{carousel-3TKQSNJC.mjs → carousel-BEJKNGQ7.mjs} +3 -3
- package/dist/client/{cart-6XHSZK23.mjs → cart-44BBM6XG.mjs} +7 -8
- package/dist/client/{checkout-FVSPM6FI.mjs → checkout-THMHEYKF.mjs} +7 -8
- package/dist/client/{chunk-25W2EQUN.mjs → chunk-3H5CLFKT.mjs} +8 -0
- package/dist/client/{chunk-ZJZZA5EP.mjs → chunk-4COPESPO.mjs} +13 -16
- package/dist/client/chunk-5AJIMWKS.mjs +436 -0
- package/dist/client/{chunk-UQFY4AHX.mjs → chunk-B4H6QMPY.mjs} +157 -49
- package/dist/client/{chunk-VGLXACVK.mjs → chunk-DQIRKNZE.mjs} +1 -1
- package/dist/client/{chunk-7DH35FGA.mjs → chunk-EJBHK74Y.mjs} +1 -1
- package/dist/client/{chunk-SDIYSQAY.mjs → chunk-HIHOQGIP.mjs} +2 -3
- package/dist/client/{chunk-CQKKFEQD.mjs → chunk-JV7ZNAOU.mjs} +378 -111
- package/dist/client/{chunk-FHU6PFPM.mjs → chunk-KNTLBQ3N.mjs} +1 -1
- package/dist/client/{chunk-RSQWWUAD.mjs → chunk-PEDNDLPB.mjs} +4 -4
- package/dist/client/{chunk-EY42X22F.mjs → chunk-SLY6UDAS.mjs} +157 -5
- package/dist/client/{chunk-STJ2NCQM.mjs → chunk-WHZQDPBZ.mjs} +19 -1
- package/dist/client/{chunk-ZT5XE7FK.mjs → chunk-ZIAF2DA4.mjs} +1 -1
- package/dist/client/client.mjs +3552 -2898
- package/dist/client/{courseRegistration-ATZSYDHM.mjs → courseRegistration-URX7RCCK.mjs} +20 -58
- package/dist/client/{eventCalendar-6T2UGKKP.mjs → eventCalendar-GTENOQCE.mjs} +10 -11
- package/dist/client/{eventCombined-Q4VANXVF.mjs → eventCombined-EZVB72MF.mjs} +10 -11
- package/dist/client/{eventDetails-DW37E7VW.mjs → eventDetails-CH4BJR5Z.mjs} +10 -11
- package/dist/client/{eventListing-XURTSAUW.mjs → eventListing-4BVOI5HS.mjs} +10 -11
- package/dist/client/{eventRegistration-MRKEVAXW.mjs → eventRegistration-37LPIKIE.mjs} +10 -11
- package/dist/client/{form-WZZFFGMU.mjs → form-FX3Y54YK.mjs} +7 -7
- package/dist/client/{headerSection-EQYVQBLM.mjs → headerSection-UOZZGVYL.mjs} +3 -3
- package/dist/client/hooks.mjs +1169 -1063
- package/dist/client/{locationMap-MFF5VAZR.mjs → locationMap-VSIPKV35.mjs} +3 -3
- package/dist/client/{newsletterForm-JQ77UYIE.mjs → newsletterForm-6FRJKNAF.mjs} +5 -5
- package/dist/client/{productDetail-25LMT3IZ.mjs → productDetail-6AHMLXCO.mjs} +7 -8
- package/dist/client/{productList-5ABEMKUG.mjs → productList-M2CYIZVH.mjs} +7 -8
- package/dist/client/rendering/client.mjs +2912 -2316
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +2874 -2230
- package/dist/client/{shop-OMMQZ6YO.mjs → shop-AUOT6GEX.mjs} +7 -8
- package/dist/client/spam-protection.mjs +4 -5
- package/dist/preview-next/before-render.mjs +2 -2
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/{sdk-runtime-WNLBZ3ZH.mjs → sdk-runtime-6GPJNLU6.mjs} +6 -6
- package/dist/server/components.mjs +1856 -1509
- package/dist/server/config-validation.mjs +1394 -1288
- package/dist/server/config.mjs +1394 -1288
- package/dist/server/data.mjs +1169 -1063
- package/dist/server/index.mjs +135 -100
- package/dist/server/navigation.mjs +20 -30
- package/dist/server/next.mjs +1936 -1576
- package/dist/server/page-converter.mjs +1081 -967
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1868 -1521
- package/dist/server/rendering.mjs +1878 -1531
- package/dist/server/routing.mjs +1248 -1089
- package/dist/server/server.mjs +1312 -1171
- package/dist/server/theme-bridge.mjs +8 -5
- package/package.json +3 -3
- package/dist/SdkPreviewModeRuntime-ZBEMRV7N.mjs +0 -8
- package/dist/client/chunk-LQFDYWPJ.mjs +0 -184
- package/dist/client/chunk-ZFHRN6W2.mjs +0 -66
package/dist/server/config.mjs
CHANGED
|
@@ -44,7 +44,7 @@ function fallbackBinding(...sources) {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
// src/config/validation.ts
|
|
47
|
-
import { z as
|
|
47
|
+
import { z as z72 } from "zod";
|
|
48
48
|
|
|
49
49
|
// ../api/src/apiEndpointTypes.ts
|
|
50
50
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
@@ -6540,6 +6540,8 @@ function publicEventPricingType(pricing) {
|
|
|
6540
6540
|
case "ticket_types":
|
|
6541
6541
|
case "course":
|
|
6542
6542
|
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
6543
|
+
case "external":
|
|
6544
|
+
return "external";
|
|
6543
6545
|
}
|
|
6544
6546
|
}
|
|
6545
6547
|
function isFreePublicEventPriceDisplay(display) {
|
|
@@ -6553,6 +6555,7 @@ function isFreePublicEventPriceDisplay(display) {
|
|
|
6553
6555
|
case "range":
|
|
6554
6556
|
case "mixed":
|
|
6555
6557
|
case "unavailable":
|
|
6558
|
+
case "external":
|
|
6556
6559
|
return false;
|
|
6557
6560
|
}
|
|
6558
6561
|
}
|
|
@@ -6813,7 +6816,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
6813
6816
|
);
|
|
6814
6817
|
|
|
6815
6818
|
// ../api/src/sdkConfig/contracts.ts
|
|
6816
|
-
import { z as
|
|
6819
|
+
import { z as z63 } from "zod";
|
|
6817
6820
|
|
|
6818
6821
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
6819
6822
|
function augmentManifest(manifest) {
|
|
@@ -7241,12 +7244,17 @@ var visibleWhenPredicateSchema = z4.object({
|
|
|
7241
7244
|
minItems: z4.number().int().nonnegative().optional(),
|
|
7242
7245
|
maxItems: z4.number().int().nonnegative().optional()
|
|
7243
7246
|
});
|
|
7244
|
-
var visibleWhenSchema = z4.
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7247
|
+
var visibleWhenSchema = z4.lazy(
|
|
7248
|
+
() => z4.union([
|
|
7249
|
+
visibleWhenPredicateSchema,
|
|
7250
|
+
z4.object({
|
|
7251
|
+
allOf: z4.array(visibleWhenSchema).min(1)
|
|
7252
|
+
}),
|
|
7253
|
+
z4.object({
|
|
7254
|
+
anyOf: z4.array(visibleWhenSchema).min(1)
|
|
7255
|
+
})
|
|
7256
|
+
])
|
|
7257
|
+
);
|
|
7250
7258
|
var uiSchema = z4.object({
|
|
7251
7259
|
widget: z4.string().optional(),
|
|
7252
7260
|
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
@@ -20151,9 +20159,6 @@ var heroCopyFragment = defineFragment({
|
|
|
20151
20159
|
maxLength: 600
|
|
20152
20160
|
}
|
|
20153
20161
|
],
|
|
20154
|
-
// Layout order is [eyebrow, headline, subheadline]. The hero block's
|
|
20155
|
-
// `splitEditorial` variant reads these nodes by index; keep the order stable
|
|
20156
|
-
// (it fails fast at import if the count changes).
|
|
20157
20162
|
layout: [
|
|
20158
20163
|
text(
|
|
20159
20164
|
{
|
|
@@ -22391,32 +22396,6 @@ var splitReverseLayout = splitLayoutWith([
|
|
|
22391
22396
|
splitContentColumn,
|
|
22392
22397
|
splitImageColumn
|
|
22393
22398
|
]);
|
|
22394
|
-
var heroEyebrowNode = heroCopyFragment.layout[0];
|
|
22395
|
-
var heroHeadlineNode = heroCopyFragment.layout[1];
|
|
22396
|
-
var heroSubheadlineNode = heroCopyFragment.layout[2];
|
|
22397
|
-
var heroCtaRowNode = heroCtaRowFragment.layout[0];
|
|
22398
|
-
if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
|
|
22399
|
-
throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
|
|
22400
|
-
}
|
|
22401
|
-
var heroEditorialBottomRow = inline(
|
|
22402
|
-
{
|
|
22403
|
-
gap: "lg",
|
|
22404
|
-
align: "end",
|
|
22405
|
-
justify: "start",
|
|
22406
|
-
wrap: true,
|
|
22407
|
-
className: "rb-w-full"
|
|
22408
|
-
},
|
|
22409
|
-
[heroSubheadlineNode, heroCtaRowNode]
|
|
22410
|
-
);
|
|
22411
|
-
var splitEditorialContentColumn = heroContentWrapper(
|
|
22412
|
-
[heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
|
|
22413
|
-
"md",
|
|
22414
|
-
"rb-w-full rb-text-left"
|
|
22415
|
-
);
|
|
22416
|
-
var splitEditorialLayout = splitLayoutWith([
|
|
22417
|
-
splitEditorialContentColumn,
|
|
22418
|
-
splitImageColumn
|
|
22419
|
-
]);
|
|
22420
22399
|
var heroConfig = {
|
|
22421
22400
|
id: "block.hero",
|
|
22422
22401
|
title: "Hero",
|
|
@@ -22440,7 +22419,8 @@ var heroConfig = {
|
|
|
22440
22419
|
id: "imageShape",
|
|
22441
22420
|
label: "Image shape",
|
|
22442
22421
|
defaultValue: "default",
|
|
22443
|
-
uiIntent: "display"
|
|
22422
|
+
uiIntent: "display",
|
|
22423
|
+
visibleWhen: { field: "variant", oneOf: ["split", "splitReverse"] }
|
|
22444
22424
|
})
|
|
22445
22425
|
],
|
|
22446
22426
|
layout: classicLayout,
|
|
@@ -22448,8 +22428,7 @@ var heroConfig = {
|
|
|
22448
22428
|
classic: classicLayout,
|
|
22449
22429
|
micro: microLayout,
|
|
22450
22430
|
split: splitLayout,
|
|
22451
|
-
splitReverse: splitReverseLayout
|
|
22452
|
-
splitEditorial: splitEditorialLayout
|
|
22431
|
+
splitReverse: splitReverseLayout
|
|
22453
22432
|
},
|
|
22454
22433
|
defaultVariant: "classic",
|
|
22455
22434
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
@@ -24325,8 +24304,10 @@ function resolveGeneratedHeroLayoutStyles(content) {
|
|
|
24325
24304
|
return isPlainObject(raw) ? raw : null;
|
|
24326
24305
|
}
|
|
24327
24306
|
function readHeroLayoutString(content, generatedKey, fallbackKey = generatedKey) {
|
|
24307
|
+
const explicitValue = readString(content, fallbackKey);
|
|
24308
|
+
if (explicitValue !== void 0) return explicitValue;
|
|
24328
24309
|
const generated = resolveGeneratedHeroLayoutStyles(content);
|
|
24329
|
-
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] :
|
|
24310
|
+
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : void 0;
|
|
24330
24311
|
}
|
|
24331
24312
|
function resolveHeroVariant(content) {
|
|
24332
24313
|
const variant = readString(content, "variant");
|
|
@@ -24339,7 +24320,7 @@ function resolveHeroContentAlignment(content) {
|
|
|
24339
24320
|
const raw = readHeroLayoutString(content, "contentAlignment");
|
|
24340
24321
|
if (raw === "left" || raw === "center" || raw === "right") return raw;
|
|
24341
24322
|
const variant = resolveHeroVariant(content);
|
|
24342
|
-
if (variant === "split" || variant === "splitReverse"
|
|
24323
|
+
if (variant === "split" || variant === "splitReverse") return "left";
|
|
24343
24324
|
return "center";
|
|
24344
24325
|
}
|
|
24345
24326
|
function resolveHeroVerticalAlignment(content) {
|
|
@@ -24349,7 +24330,7 @@ function resolveHeroVerticalAlignment(content) {
|
|
|
24349
24330
|
const minHeight = sectionStyles?.minHeight;
|
|
24350
24331
|
if (minHeight === "banner" || minHeight === "hero" || minHeight === "immersive") return "center";
|
|
24351
24332
|
const variant = resolveHeroVariant(content);
|
|
24352
|
-
if (variant === "split" || variant === "splitReverse"
|
|
24333
|
+
if (variant === "split" || variant === "splitReverse") return "center";
|
|
24353
24334
|
return "top";
|
|
24354
24335
|
}
|
|
24355
24336
|
function resolveHeroContentMaxWidth(content) {
|
|
@@ -27915,9 +27896,6 @@ var appointmentBookingBlockDefinition = {
|
|
|
27915
27896
|
}
|
|
27916
27897
|
};
|
|
27917
27898
|
|
|
27918
|
-
// ../blocks/src/system/blocks/event-registration.ts
|
|
27919
|
-
import { z as z47 } from "zod";
|
|
27920
|
-
|
|
27921
27899
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27922
27900
|
import { z as z43 } from "zod";
|
|
27923
27901
|
|
|
@@ -28158,6 +28136,18 @@ var publicCoursesArraySchema = z42.array(publicCourseSchema);
|
|
|
28158
28136
|
var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
|
|
28159
28137
|
var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
|
|
28160
28138
|
var eventDestinationModeSchema = z43.enum(["cms-managed", "system-managed"]);
|
|
28139
|
+
var publicEventDestinationSchema = z43.discriminatedUnion("kind", [
|
|
28140
|
+
z43.object({
|
|
28141
|
+
kind: z43.literal("native"),
|
|
28142
|
+
mode: eventDestinationModeSchema,
|
|
28143
|
+
path: z43.string()
|
|
28144
|
+
}),
|
|
28145
|
+
z43.object({
|
|
28146
|
+
kind: z43.literal("external"),
|
|
28147
|
+
url: z43.string(),
|
|
28148
|
+
label: z43.string()
|
|
28149
|
+
})
|
|
28150
|
+
]);
|
|
28161
28151
|
var eventVenueSchema = z43.object({
|
|
28162
28152
|
id: z43.string(),
|
|
28163
28153
|
name: z43.string(),
|
|
@@ -28172,7 +28162,7 @@ var eventCategorySchema = z43.object({
|
|
|
28172
28162
|
name: z43.string(),
|
|
28173
28163
|
color: z43.string().nullable()
|
|
28174
28164
|
});
|
|
28175
|
-
var pricingTypeSchema = z43.enum(["free", "paid"]);
|
|
28165
|
+
var pricingTypeSchema = z43.enum(["free", "paid", "external"]);
|
|
28176
28166
|
var accessRestrictionSchema = z43.enum(["none", "category"]);
|
|
28177
28167
|
var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
|
|
28178
28168
|
var publicCoursePriceDisplaySchema = z43.discriminatedUnion("kind", [
|
|
@@ -28193,6 +28183,7 @@ var publicEventPriceDisplaySchema = z43.discriminatedUnion("kind", [
|
|
|
28193
28183
|
currency: z43.string()
|
|
28194
28184
|
}),
|
|
28195
28185
|
z43.object({ kind: z43.literal("unavailable"), currency: z43.string() }),
|
|
28186
|
+
z43.object({ kind: z43.literal("external"), label: z43.string() }),
|
|
28196
28187
|
z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28197
28188
|
]);
|
|
28198
28189
|
var publicEventTicketTypePriceDisplaySchema = z43.union([
|
|
@@ -28271,6 +28262,10 @@ var publicEventPricingSchema = z43.discriminatedUnion("kind", [
|
|
|
28271
28262
|
z43.object({
|
|
28272
28263
|
kind: z43.literal("course"),
|
|
28273
28264
|
display: z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28265
|
+
}),
|
|
28266
|
+
z43.object({
|
|
28267
|
+
kind: z43.literal("external"),
|
|
28268
|
+
display: z43.object({ kind: z43.literal("external"), label: z43.string() })
|
|
28274
28269
|
})
|
|
28275
28270
|
]);
|
|
28276
28271
|
var publicTeamMemberSummarySchema = z43.object({
|
|
@@ -28299,7 +28294,8 @@ var publicEventSchema = z43.object({
|
|
|
28299
28294
|
image: mediaSchema2.nullable().optional()
|
|
28300
28295
|
}).optional(),
|
|
28301
28296
|
slug: z43.string(),
|
|
28302
|
-
path: z43.string(),
|
|
28297
|
+
path: z43.string().nullable(),
|
|
28298
|
+
destination: publicEventDestinationSchema,
|
|
28303
28299
|
requiresRegistration: z43.boolean(),
|
|
28304
28300
|
deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
|
|
28305
28301
|
attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
|
|
@@ -28532,24 +28528,57 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28532
28528
|
return trimmed ? trimmed : null;
|
|
28533
28529
|
}
|
|
28534
28530
|
|
|
28535
|
-
// ../blocks/src/system/blocks/
|
|
28531
|
+
// ../blocks/src/system/blocks/shop.shared.ts
|
|
28536
28532
|
import { z as z44 } from "zod";
|
|
28537
|
-
var
|
|
28533
|
+
var publicPassProductSchema = z44.object({
|
|
28538
28534
|
id: z44.string(),
|
|
28539
|
-
|
|
28540
|
-
|
|
28541
|
-
|
|
28542
|
-
|
|
28543
|
-
|
|
28544
|
-
|
|
28535
|
+
productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
28536
|
+
name: z44.string(),
|
|
28537
|
+
description: z44.string().nullable(),
|
|
28538
|
+
price: z44.number(),
|
|
28539
|
+
currency: z44.string(),
|
|
28540
|
+
creditsTotal: z44.number(),
|
|
28541
|
+
pricePerCredit: z44.number(),
|
|
28542
|
+
validDays: z44.number().nullable(),
|
|
28543
|
+
eligibleCategoryIds: z44.array(z44.string()),
|
|
28544
|
+
eligibleCategoryNames: z44.array(z44.string())
|
|
28545
|
+
});
|
|
28546
|
+
var publicPassProductCollectionSchema = z44.object({
|
|
28547
|
+
passes: z44.array(publicPassProductSchema)
|
|
28548
|
+
});
|
|
28549
|
+
var publicMembershipProductSchema = z44.object({
|
|
28550
|
+
id: z44.string(),
|
|
28551
|
+
name: z44.string(),
|
|
28552
|
+
description: z44.string().nullable(),
|
|
28553
|
+
price: z44.number(),
|
|
28554
|
+
currency: z44.string(),
|
|
28555
|
+
billingInterval: z44.enum(["month", "year"]),
|
|
28556
|
+
eligibleCategoryIds: z44.array(z44.string()),
|
|
28557
|
+
eligibleCategoryNames: z44.array(z44.string())
|
|
28558
|
+
});
|
|
28559
|
+
var publicMembershipProductCollectionSchema = z44.object({
|
|
28560
|
+
memberships: z44.array(publicMembershipProductSchema)
|
|
28561
|
+
});
|
|
28562
|
+
|
|
28563
|
+
// ../blocks/src/system/blocks/event-registration.shared.ts
|
|
28564
|
+
import { z as z45 } from "zod";
|
|
28565
|
+
var occurrenceContextSchema = z45.object({
|
|
28566
|
+
id: z45.string(),
|
|
28567
|
+
seriesId: z45.string(),
|
|
28568
|
+
startsAt: z45.string(),
|
|
28569
|
+
endsAt: z45.string(),
|
|
28570
|
+
timeZone: z45.string(),
|
|
28571
|
+
capacityOverride: z45.number().nullable().optional(),
|
|
28572
|
+
overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
|
|
28545
28573
|
}).nullable();
|
|
28546
28574
|
|
|
28547
28575
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28548
|
-
import { z as
|
|
28576
|
+
import { z as z47 } from "zod";
|
|
28549
28577
|
|
|
28550
28578
|
// ../blocks/src/system/constants/events.ts
|
|
28551
28579
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
28552
|
-
var eventCalendarDisplayModeValues = ["combined", "
|
|
28580
|
+
var eventCalendarDisplayModeValues = ["combined", "calendar", "list", "timetable"];
|
|
28581
|
+
var eventCalendarDefaultViewValues = ["month", "week"];
|
|
28553
28582
|
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
28554
28583
|
var eventCalendarListLayoutOptions = [
|
|
28555
28584
|
{ id: "stack", label: "Stack" },
|
|
@@ -28559,6 +28588,9 @@ var eventCalendarListLayoutOptions = [
|
|
|
28559
28588
|
function isEventCalendarDisplayMode(value) {
|
|
28560
28589
|
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
28561
28590
|
}
|
|
28591
|
+
function isEventCalendarDefaultView(value) {
|
|
28592
|
+
return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
|
|
28593
|
+
}
|
|
28562
28594
|
function isEventCalendarListLayout(value) {
|
|
28563
28595
|
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
28564
28596
|
}
|
|
@@ -28567,12 +28599,41 @@ function isEventContentType(slug) {
|
|
|
28567
28599
|
return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
|
|
28568
28600
|
}
|
|
28569
28601
|
|
|
28602
|
+
// ../blocks/src/system/runtime/nodes/events/shared/destination.ts
|
|
28603
|
+
function isRecord3(value) {
|
|
28604
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28605
|
+
}
|
|
28606
|
+
function isRuntimeEventDestination(value) {
|
|
28607
|
+
if (!isRecord3(value) || typeof value.kind !== "string") return false;
|
|
28608
|
+
if (value.kind === "native") {
|
|
28609
|
+
return (value.mode === "cms-managed" || value.mode === "system-managed") && typeof value.path === "string";
|
|
28610
|
+
}
|
|
28611
|
+
return value.kind === "external" && typeof value.url === "string" && typeof value.label === "string";
|
|
28612
|
+
}
|
|
28613
|
+
function resolveRuntimeEventDestination(event) {
|
|
28614
|
+
if (isRuntimeEventDestination(event.destination)) {
|
|
28615
|
+
return event.destination;
|
|
28616
|
+
}
|
|
28617
|
+
return {
|
|
28618
|
+
kind: "native",
|
|
28619
|
+
mode: event.eventDestinationMode === "system-managed" ? "system-managed" : "cms-managed",
|
|
28620
|
+
path: typeof event.path === "string" ? event.path : ""
|
|
28621
|
+
};
|
|
28622
|
+
}
|
|
28623
|
+
|
|
28570
28624
|
// ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
|
|
28571
28625
|
var DEFAULT_EVENT_CURRENCY = "USD";
|
|
28572
28626
|
function resolveRuntimeEventPricing(event) {
|
|
28573
28627
|
if (isPublicEventPricing(event.pricing)) {
|
|
28574
28628
|
return event.pricing;
|
|
28575
28629
|
}
|
|
28630
|
+
const destination = resolveRuntimeEventDestination(event);
|
|
28631
|
+
if (destination.kind === "external") {
|
|
28632
|
+
return {
|
|
28633
|
+
kind: "external",
|
|
28634
|
+
display: { kind: "external", label: "External registration" }
|
|
28635
|
+
};
|
|
28636
|
+
}
|
|
28576
28637
|
const legacy = event;
|
|
28577
28638
|
const currency = readCurrency(legacy.currency);
|
|
28578
28639
|
if (event.requiresRegistration === false) {
|
|
@@ -28609,22 +28670,22 @@ function resolveRuntimeEventPricing(event) {
|
|
|
28609
28670
|
function readCurrency(value) {
|
|
28610
28671
|
return typeof value === "string" && value.trim().length > 0 ? value : DEFAULT_EVENT_CURRENCY;
|
|
28611
28672
|
}
|
|
28612
|
-
function
|
|
28673
|
+
function isRecord4(value) {
|
|
28613
28674
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28614
28675
|
}
|
|
28615
28676
|
function isPublicEventPricing(value) {
|
|
28616
|
-
if (!
|
|
28617
|
-
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course";
|
|
28677
|
+
if (!isRecord4(value) || typeof value.kind !== "string") return false;
|
|
28678
|
+
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course" || value.kind === "external";
|
|
28618
28679
|
}
|
|
28619
28680
|
function isPublicEventTicketType(value) {
|
|
28620
|
-
return
|
|
28681
|
+
return isRecord4(value) && typeof value.id === "string";
|
|
28621
28682
|
}
|
|
28622
28683
|
function readTicketTypePriceDisplay(value, currency) {
|
|
28623
28684
|
const display = readLegacyPriceDisplay(value, currency);
|
|
28624
|
-
return display.kind === "course" ? { kind: "unavailable", currency } : display;
|
|
28685
|
+
return display.kind === "course" || display.kind === "external" ? { kind: "unavailable", currency } : display;
|
|
28625
28686
|
}
|
|
28626
28687
|
function readLegacyPriceDisplay(value, currency) {
|
|
28627
|
-
if (!
|
|
28688
|
+
if (!isRecord4(value) || typeof value.kind !== "string") {
|
|
28628
28689
|
return { kind: "unavailable", currency };
|
|
28629
28690
|
}
|
|
28630
28691
|
const displayCurrency = readCurrency(value.currency);
|
|
@@ -28663,7 +28724,7 @@ function readLegacyPriceDisplay(value, currency) {
|
|
|
28663
28724
|
case "unavailable":
|
|
28664
28725
|
return { kind: "unavailable", currency: displayCurrency };
|
|
28665
28726
|
case "course":
|
|
28666
|
-
return
|
|
28727
|
+
return isRecord4(value.display) ? {
|
|
28667
28728
|
kind: "course",
|
|
28668
28729
|
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
28669
28730
|
} : {
|
|
@@ -28699,16 +28760,17 @@ function readAmount(value) {
|
|
|
28699
28760
|
}
|
|
28700
28761
|
|
|
28701
28762
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28702
|
-
import { z as
|
|
28703
|
-
var previewStageSchema =
|
|
28704
|
-
var registrationButtonVariantSchema =
|
|
28705
|
-
var eventButtonVariantSchema =
|
|
28706
|
-
var eventLayoutSchema =
|
|
28707
|
-
var eventCalendarDisplayModeSchema =
|
|
28708
|
-
var
|
|
28709
|
-
var
|
|
28710
|
-
var
|
|
28711
|
-
var
|
|
28763
|
+
import { z as z46 } from "zod";
|
|
28764
|
+
var previewStageSchema = z46.enum(["preview", "published"]);
|
|
28765
|
+
var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
|
|
28766
|
+
var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
|
|
28767
|
+
var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
|
|
28768
|
+
var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
|
|
28769
|
+
var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
|
|
28770
|
+
var columnOptionSchema = z46.enum(["2", "3", "4"]);
|
|
28771
|
+
var weekStartSchema = z46.enum(["sunday", "monday"]);
|
|
28772
|
+
var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
|
|
28773
|
+
var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
|
|
28712
28774
|
|
|
28713
28775
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28714
28776
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -28726,7 +28788,7 @@ function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
|
28726
28788
|
function findPreSelectedEvent(input) {
|
|
28727
28789
|
const occurrenceContext = input.occurrenceContext;
|
|
28728
28790
|
if (!occurrenceContext) {
|
|
28729
|
-
return null;
|
|
28791
|
+
return input.scopedEvents.length === 1 ? input.scopedEvents[0] ?? null : null;
|
|
28730
28792
|
}
|
|
28731
28793
|
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28732
28794
|
startsAt: occurrenceContext.startsAt,
|
|
@@ -28749,7 +28811,7 @@ function resolveEventRequiresPayment(input) {
|
|
|
28749
28811
|
if (!input.event) {
|
|
28750
28812
|
return false;
|
|
28751
28813
|
}
|
|
28752
|
-
return publicEventPricingType(resolveRuntimeEventPricing(input.event))
|
|
28814
|
+
return publicEventPricingType(resolveRuntimeEventPricing(input.event)) === "paid";
|
|
28753
28815
|
}
|
|
28754
28816
|
|
|
28755
28817
|
// ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
|
|
@@ -28768,68 +28830,72 @@ function toRegistrationEvents(events) {
|
|
|
28768
28830
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28769
28831
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28770
28832
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28771
|
-
var contentEntrySchema =
|
|
28772
|
-
id:
|
|
28773
|
-
slug:
|
|
28774
|
-
contentTypeSlug:
|
|
28833
|
+
var contentEntrySchema = z47.object({
|
|
28834
|
+
id: z47.string(),
|
|
28835
|
+
slug: z47.string(),
|
|
28836
|
+
contentTypeSlug: z47.string()
|
|
28775
28837
|
});
|
|
28776
|
-
var eventRegistrationPublicEventSchema =
|
|
28838
|
+
var eventRegistrationPublicEventSchema = z47.preprocess(
|
|
28777
28839
|
normalizeEventRegistrationEventInput,
|
|
28778
28840
|
publicEventSchema
|
|
28779
28841
|
);
|
|
28780
|
-
var eventRegistrationSourceSchema =
|
|
28781
|
-
siteId:
|
|
28782
|
-
apiBaseUrl:
|
|
28783
|
-
portalToken:
|
|
28784
|
-
previewToken:
|
|
28842
|
+
var eventRegistrationSourceSchema = z47.object({
|
|
28843
|
+
siteId: z47.string().optional(),
|
|
28844
|
+
apiBaseUrl: z47.string().optional(),
|
|
28845
|
+
portalToken: z47.string().nullable().optional(),
|
|
28846
|
+
previewToken: z47.string().nullable().optional(),
|
|
28785
28847
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28786
28848
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28787
|
-
events:
|
|
28788
|
-
className:
|
|
28789
|
-
buttonText:
|
|
28790
|
-
maxTickets:
|
|
28791
|
-
showVenue:
|
|
28792
|
-
showCapacity:
|
|
28793
|
-
successMessage:
|
|
28794
|
-
waitlistMessage:
|
|
28849
|
+
events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28850
|
+
className: z47.string().nullable().optional(),
|
|
28851
|
+
buttonText: z47.string().nullable().optional(),
|
|
28852
|
+
maxTickets: z47.string().nullable().optional(),
|
|
28853
|
+
showVenue: z47.boolean().optional(),
|
|
28854
|
+
showCapacity: z47.boolean().optional(),
|
|
28855
|
+
successMessage: z47.string().optional(),
|
|
28856
|
+
waitlistMessage: z47.string().optional(),
|
|
28795
28857
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28796
|
-
overlayEnabled:
|
|
28797
|
-
spamProtectionEnabled:
|
|
28858
|
+
overlayEnabled: z47.boolean().optional(),
|
|
28859
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
28798
28860
|
stage: previewStageSchema.optional(),
|
|
28799
|
-
supportEmail:
|
|
28800
|
-
|
|
28801
|
-
|
|
28802
|
-
|
|
28803
|
-
|
|
28804
|
-
|
|
28805
|
-
|
|
28806
|
-
|
|
28807
|
-
|
|
28808
|
-
|
|
28809
|
-
|
|
28810
|
-
|
|
28861
|
+
supportEmail: z47.string().optional(),
|
|
28862
|
+
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28863
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28864
|
+
});
|
|
28865
|
+
var eventRegistrationDisplaySchema = z47.object({
|
|
28866
|
+
kind: z47.literal("event-registration"),
|
|
28867
|
+
state: z47.literal("generic-shell"),
|
|
28868
|
+
className: z47.string().nullable(),
|
|
28869
|
+
titleText: z47.string(),
|
|
28870
|
+
bodyText: z47.string(),
|
|
28871
|
+
stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
28872
|
+
summaryButtonText: z47.string()
|
|
28873
|
+
});
|
|
28874
|
+
var eventRegistrationHydrationSchema = z47.object({
|
|
28811
28875
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28812
28876
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28813
|
-
events:
|
|
28814
|
-
maxTickets:
|
|
28815
|
-
showVenue:
|
|
28816
|
-
showCapacity:
|
|
28817
|
-
successMessage:
|
|
28818
|
-
waitlistMessage:
|
|
28877
|
+
events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28878
|
+
maxTickets: z47.string().optional(),
|
|
28879
|
+
showVenue: z47.boolean().optional(),
|
|
28880
|
+
showCapacity: z47.boolean().optional(),
|
|
28881
|
+
successMessage: z47.string().optional(),
|
|
28882
|
+
waitlistMessage: z47.string().optional(),
|
|
28819
28883
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28820
|
-
overlayEnabled:
|
|
28821
|
-
spamProtectionEnabled:
|
|
28822
|
-
supportEmail:
|
|
28884
|
+
overlayEnabled: z47.boolean().optional(),
|
|
28885
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
28886
|
+
supportEmail: z47.string().optional(),
|
|
28887
|
+
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28888
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28823
28889
|
});
|
|
28824
|
-
var eventRegistrationRenderSchema =
|
|
28890
|
+
var eventRegistrationRenderSchema = z47.object({
|
|
28825
28891
|
display: eventRegistrationDisplaySchema,
|
|
28826
28892
|
hydration: eventRegistrationHydrationSchema
|
|
28827
28893
|
});
|
|
28828
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
28829
|
-
siteId:
|
|
28830
|
-
apiBaseUrl:
|
|
28831
|
-
portalToken:
|
|
28832
|
-
previewToken:
|
|
28894
|
+
var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
|
|
28895
|
+
siteId: z47.string().optional(),
|
|
28896
|
+
apiBaseUrl: z47.string().optional(),
|
|
28897
|
+
portalToken: z47.string().nullable().optional(),
|
|
28898
|
+
previewToken: z47.string().nullable().optional(),
|
|
28833
28899
|
stage: previewStageSchema.optional()
|
|
28834
28900
|
}));
|
|
28835
28901
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -28935,20 +29001,23 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
28935
29001
|
buttonVariant: source.buttonVariant,
|
|
28936
29002
|
overlayEnabled: source.overlayEnabled,
|
|
28937
29003
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
28938
|
-
supportEmail: source.supportEmail
|
|
29004
|
+
supportEmail: source.supportEmail,
|
|
29005
|
+
sitePasses: source.sitePasses ?? null,
|
|
29006
|
+
siteMemberships: source.siteMemberships ?? null
|
|
28939
29007
|
}
|
|
28940
29008
|
})
|
|
28941
29009
|
});
|
|
28942
29010
|
function normalizeEventRegistrationEventInput(value) {
|
|
28943
|
-
if (!
|
|
29011
|
+
if (!isRecord5(value)) {
|
|
28944
29012
|
return value;
|
|
28945
29013
|
}
|
|
28946
29014
|
return {
|
|
28947
29015
|
...value,
|
|
29016
|
+
destination: resolveRuntimeEventDestination(value),
|
|
28948
29017
|
pricing: resolveRuntimeEventPricing(value)
|
|
28949
29018
|
};
|
|
28950
29019
|
}
|
|
28951
|
-
function
|
|
29020
|
+
function isRecord5(value) {
|
|
28952
29021
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28953
29022
|
}
|
|
28954
29023
|
var eventRegistrationInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
@@ -29117,6 +29186,8 @@ var eventRegistrationManifest = createBlockManifest({
|
|
|
29117
29186
|
},
|
|
29118
29187
|
// Event data from loader
|
|
29119
29188
|
events: { $bind: { from: "data.events" } },
|
|
29189
|
+
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
29190
|
+
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
29120
29191
|
// Stage for preview mode (allows registering for draft events)
|
|
29121
29192
|
stage: {
|
|
29122
29193
|
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
@@ -29135,7 +29206,9 @@ var eventRegistrationBlockDefinition = {
|
|
|
29135
29206
|
manifest: eventRegistrationManifest,
|
|
29136
29207
|
runtime: eventRegistrationBlockRuntime,
|
|
29137
29208
|
dataSchemas: {
|
|
29138
|
-
events:
|
|
29209
|
+
events: publicEventsArraySchema.optional(),
|
|
29210
|
+
sitePasses: publicPassProductCollectionSchema.optional(),
|
|
29211
|
+
siteMemberships: publicMembershipProductCollectionSchema.optional(),
|
|
29139
29212
|
occurrenceContext: occurrenceContextSchema.optional()
|
|
29140
29213
|
},
|
|
29141
29214
|
dataLoaders: {
|
|
@@ -29154,6 +29227,20 @@ var eventRegistrationBlockDefinition = {
|
|
|
29154
29227
|
entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
|
|
29155
29228
|
},
|
|
29156
29229
|
mode: "server"
|
|
29230
|
+
},
|
|
29231
|
+
sitePasses: {
|
|
29232
|
+
endpoint: "listPublicPasses",
|
|
29233
|
+
params: {
|
|
29234
|
+
siteId: { $bind: { from: "$root.siteId" } }
|
|
29235
|
+
},
|
|
29236
|
+
mode: "server"
|
|
29237
|
+
},
|
|
29238
|
+
siteMemberships: {
|
|
29239
|
+
endpoint: "listPublicMemberships",
|
|
29240
|
+
params: {
|
|
29241
|
+
siteId: { $bind: { from: "$root.siteId" } }
|
|
29242
|
+
},
|
|
29243
|
+
mode: "server"
|
|
29157
29244
|
}
|
|
29158
29245
|
}
|
|
29159
29246
|
};
|
|
@@ -29485,35 +29572,7 @@ var courseRegistrationBlockDefinition = {
|
|
|
29485
29572
|
};
|
|
29486
29573
|
|
|
29487
29574
|
// ../blocks/src/system/blocks/event-details.ts
|
|
29488
|
-
import { z as z50 } from "zod";
|
|
29489
|
-
|
|
29490
|
-
// ../blocks/src/system/blocks/shop.shared.ts
|
|
29491
29575
|
import { z as z49 } from "zod";
|
|
29492
|
-
var publicPassProductSchema = z49.object({
|
|
29493
|
-
id: z49.string(),
|
|
29494
|
-
productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
29495
|
-
name: z49.string(),
|
|
29496
|
-
description: z49.string().nullable(),
|
|
29497
|
-
price: z49.number(),
|
|
29498
|
-
currency: z49.string(),
|
|
29499
|
-
creditsTotal: z49.number(),
|
|
29500
|
-
pricePerCredit: z49.number(),
|
|
29501
|
-
validDays: z49.number().nullable(),
|
|
29502
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
29503
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
29504
|
-
});
|
|
29505
|
-
var publicMembershipProductSchema = z49.object({
|
|
29506
|
-
id: z49.string(),
|
|
29507
|
-
name: z49.string(),
|
|
29508
|
-
description: z49.string().nullable(),
|
|
29509
|
-
price: z49.number(),
|
|
29510
|
-
currency: z49.string(),
|
|
29511
|
-
billingInterval: z49.enum(["month", "year"]),
|
|
29512
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
29513
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
29514
|
-
});
|
|
29515
|
-
|
|
29516
|
-
// ../blocks/src/system/blocks/event-details.ts
|
|
29517
29576
|
var eventDetailsManifest = createBlockManifest({
|
|
29518
29577
|
id: "block.event-details",
|
|
29519
29578
|
version: "1.0.0",
|
|
@@ -29645,40 +29704,40 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
29645
29704
|
})
|
|
29646
29705
|
]
|
|
29647
29706
|
});
|
|
29648
|
-
var occurrenceContextSchema2 =
|
|
29649
|
-
id:
|
|
29650
|
-
seriesId:
|
|
29651
|
-
startsAt:
|
|
29652
|
-
endsAt:
|
|
29653
|
-
timeZone:
|
|
29654
|
-
capacityOverride:
|
|
29655
|
-
overrides:
|
|
29707
|
+
var occurrenceContextSchema2 = z49.object({
|
|
29708
|
+
id: z49.string(),
|
|
29709
|
+
seriesId: z49.string(),
|
|
29710
|
+
startsAt: z49.string(),
|
|
29711
|
+
endsAt: z49.string(),
|
|
29712
|
+
timeZone: z49.string(),
|
|
29713
|
+
capacityOverride: z49.number().nullable().optional(),
|
|
29714
|
+
overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
|
|
29656
29715
|
}).nullable();
|
|
29657
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
29658
|
-
id:
|
|
29659
|
-
publicLabel:
|
|
29660
|
-
description:
|
|
29661
|
-
minTicketsRequired:
|
|
29716
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
|
|
29717
|
+
id: z49.string(),
|
|
29718
|
+
publicLabel: z49.string(),
|
|
29719
|
+
description: z49.string().nullable(),
|
|
29720
|
+
minTicketsRequired: z49.number().nullable()
|
|
29662
29721
|
});
|
|
29663
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
29722
|
+
var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
|
|
29664
29723
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29665
|
-
discountType:
|
|
29666
|
-
discountPercent:
|
|
29667
|
-
discountAmountCents:
|
|
29724
|
+
discountType: z49.literal("percent"),
|
|
29725
|
+
discountPercent: z49.number(),
|
|
29726
|
+
discountAmountCents: z49.null()
|
|
29668
29727
|
}),
|
|
29669
29728
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29670
|
-
discountType:
|
|
29671
|
-
discountPercent:
|
|
29672
|
-
discountAmountCents:
|
|
29729
|
+
discountType: z49.literal("fixed"),
|
|
29730
|
+
discountPercent: z49.null(),
|
|
29731
|
+
discountAmountCents: z49.number()
|
|
29673
29732
|
})
|
|
29674
29733
|
]);
|
|
29675
29734
|
var eventDetailsBlockDefinition = {
|
|
29676
29735
|
manifest: eventDetailsManifest,
|
|
29677
29736
|
dataSchemas: {
|
|
29678
|
-
eventDetailsData:
|
|
29737
|
+
eventDetailsData: z49.object({
|
|
29679
29738
|
events: publicEventsArraySchema,
|
|
29680
|
-
sitePasses:
|
|
29681
|
-
siteMemberships:
|
|
29739
|
+
sitePasses: publicPassProductCollectionSchema,
|
|
29740
|
+
siteMemberships: publicMembershipProductCollectionSchema,
|
|
29682
29741
|
autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
|
|
29683
29742
|
}).optional(),
|
|
29684
29743
|
occurrenceContext: occurrenceContextSchema2.optional()
|
|
@@ -30002,7 +30061,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
30002
30061
|
};
|
|
30003
30062
|
|
|
30004
30063
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30005
|
-
import { z as
|
|
30064
|
+
import { z as z51 } from "zod";
|
|
30006
30065
|
|
|
30007
30066
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
30008
30067
|
var COLUMN_CLASSES = {
|
|
@@ -30110,16 +30169,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
30110
30169
|
}
|
|
30111
30170
|
|
|
30112
30171
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
30113
|
-
import { z as
|
|
30172
|
+
import { z as z50 } from "zod";
|
|
30114
30173
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
30115
|
-
var eventPageSizeSchema =
|
|
30116
|
-
|
|
30117
|
-
|
|
30118
|
-
|
|
30119
|
-
|
|
30120
|
-
|
|
30121
|
-
|
|
30122
|
-
|
|
30174
|
+
var eventPageSizeSchema = z50.union([
|
|
30175
|
+
z50.literal(3),
|
|
30176
|
+
z50.literal(6),
|
|
30177
|
+
z50.literal(10),
|
|
30178
|
+
z50.literal(12),
|
|
30179
|
+
z50.literal(20),
|
|
30180
|
+
z50.literal(24),
|
|
30181
|
+
z50.literal(30)
|
|
30123
30182
|
]);
|
|
30124
30183
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
30125
30184
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -30129,15 +30188,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
30129
30188
|
function resolveEventCalendarListPageSize(input) {
|
|
30130
30189
|
return resolveEventPageSize(input.eventsPerPage);
|
|
30131
30190
|
}
|
|
30132
|
-
var eventListPaginationActionSchema =
|
|
30133
|
-
|
|
30134
|
-
kind:
|
|
30135
|
-
label:
|
|
30191
|
+
var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
|
|
30192
|
+
z50.object({
|
|
30193
|
+
kind: z50.literal("loadMore"),
|
|
30194
|
+
label: z50.string()
|
|
30136
30195
|
}),
|
|
30137
|
-
|
|
30138
|
-
kind:
|
|
30139
|
-
label:
|
|
30140
|
-
href:
|
|
30196
|
+
z50.object({
|
|
30197
|
+
kind: z50.literal("seeAllLink"),
|
|
30198
|
+
label: z50.string(),
|
|
30199
|
+
href: z50.string()
|
|
30141
30200
|
})
|
|
30142
30201
|
]);
|
|
30143
30202
|
function resolveEventListPaginationAction(input) {
|
|
@@ -30150,89 +30209,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
30150
30209
|
}
|
|
30151
30210
|
|
|
30152
30211
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30153
|
-
var legacyEventCardVariantSchema =
|
|
30154
|
-
var eventCardVariantInputSchema =
|
|
30212
|
+
var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
|
|
30213
|
+
var eventCardVariantInputSchema = z51.union([
|
|
30155
30214
|
cardVariantRoleSchema,
|
|
30156
30215
|
legacyEventCardVariantSchema
|
|
30157
30216
|
]);
|
|
30158
|
-
var cardOrientationSchema =
|
|
30159
|
-
var eventBlockKindSchema =
|
|
30160
|
-
var eventSurfaceScopeSchema =
|
|
30161
|
-
var eventScheduleScopeSchema2 =
|
|
30162
|
-
var eventListingSourceSchema =
|
|
30163
|
-
events:
|
|
30164
|
-
siteId:
|
|
30165
|
-
apiBaseUrl:
|
|
30217
|
+
var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
|
|
30218
|
+
var eventBlockKindSchema = z51.enum(eventBlockKindValues);
|
|
30219
|
+
var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
|
|
30220
|
+
var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
|
|
30221
|
+
var eventListingSourceSchema = z51.object({
|
|
30222
|
+
events: z51.array(publicEventSchema).nullable().optional(),
|
|
30223
|
+
siteId: z51.string(),
|
|
30224
|
+
apiBaseUrl: z51.string().optional(),
|
|
30166
30225
|
stage: previewStageSchema.optional(),
|
|
30167
30226
|
layout: eventLayoutSchema.optional(),
|
|
30168
30227
|
columns: columnOptionSchema.optional(),
|
|
30169
|
-
eventsPerPage:
|
|
30170
|
-
paginationMode:
|
|
30171
|
-
seeAllUrl:
|
|
30172
|
-
loadMoreText:
|
|
30228
|
+
eventsPerPage: z51.string().optional(),
|
|
30229
|
+
paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30230
|
+
seeAllUrl: z51.string().optional(),
|
|
30231
|
+
loadMoreText: z51.string().optional(),
|
|
30173
30232
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
30174
30233
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30175
|
-
buttonText:
|
|
30176
|
-
showVenue:
|
|
30177
|
-
showMap:
|
|
30178
|
-
showCapacity:
|
|
30179
|
-
emptyMessage:
|
|
30180
|
-
className:
|
|
30181
|
-
showFilters:
|
|
30234
|
+
buttonText: z51.string().optional(),
|
|
30235
|
+
showVenue: z51.boolean().optional(),
|
|
30236
|
+
showMap: z51.boolean().optional(),
|
|
30237
|
+
showCapacity: z51.boolean().optional(),
|
|
30238
|
+
emptyMessage: z51.string().optional(),
|
|
30239
|
+
className: z51.string().optional(),
|
|
30240
|
+
showFilters: z51.boolean().nullable().optional(),
|
|
30182
30241
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30183
|
-
showVenueFilter:
|
|
30184
|
-
showStaffFilter:
|
|
30242
|
+
showVenueFilter: z51.boolean().nullable().optional(),
|
|
30243
|
+
showStaffFilter: z51.boolean().nullable().optional(),
|
|
30185
30244
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
30186
30245
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
30187
|
-
filterEventPresets:
|
|
30246
|
+
filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
|
|
30188
30247
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
30189
|
-
filterCategoryIds:
|
|
30190
|
-
filterStaffMemberId:
|
|
30191
|
-
filterVenueId:
|
|
30248
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
30249
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
30250
|
+
filterVenueId: z51.string().nullable().optional()
|
|
30192
30251
|
});
|
|
30193
|
-
var eventListingDisplaySchema =
|
|
30194
|
-
kind:
|
|
30195
|
-
state:
|
|
30252
|
+
var eventListingDisplaySchema = z51.object({
|
|
30253
|
+
kind: z51.literal("event-listing"),
|
|
30254
|
+
state: z51.enum(["loading", "empty", "ready"]),
|
|
30196
30255
|
listLayout: eventLayoutSchema,
|
|
30197
|
-
className:
|
|
30198
|
-
emptyMessage:
|
|
30199
|
-
loadingMessage:
|
|
30200
|
-
containerClass:
|
|
30256
|
+
className: z51.string().nullable(),
|
|
30257
|
+
emptyMessage: z51.string(),
|
|
30258
|
+
loadingMessage: z51.string(),
|
|
30259
|
+
containerClass: z51.string(),
|
|
30201
30260
|
cardVariant: cardVariantRoleSchema,
|
|
30202
30261
|
buttonVariant: eventButtonVariantSchema,
|
|
30203
|
-
buttonText:
|
|
30204
|
-
showVenue:
|
|
30205
|
-
showMap:
|
|
30206
|
-
showCapacity:
|
|
30262
|
+
buttonText: z51.string(),
|
|
30263
|
+
showVenue: z51.boolean(),
|
|
30264
|
+
showMap: z51.boolean(),
|
|
30265
|
+
showCapacity: z51.boolean(),
|
|
30207
30266
|
orientation: cardOrientationSchema,
|
|
30208
|
-
events:
|
|
30267
|
+
events: z51.array(publicEventSchema)
|
|
30209
30268
|
});
|
|
30210
|
-
var eventListingHydrationSchema =
|
|
30211
|
-
siteId:
|
|
30269
|
+
var eventListingHydrationSchema = z51.object({
|
|
30270
|
+
siteId: z51.string(),
|
|
30212
30271
|
stage: previewStageSchema.optional(),
|
|
30213
30272
|
eventsPerPage: eventPageSizeSchema,
|
|
30214
30273
|
paginationAction: eventListPaginationActionSchema,
|
|
30215
|
-
showFilters:
|
|
30274
|
+
showFilters: z51.boolean(),
|
|
30216
30275
|
showCategoryFilter: filterAutoShowSchema,
|
|
30217
|
-
showVenueFilter:
|
|
30218
|
-
showStaffFilter:
|
|
30276
|
+
showVenueFilter: z51.boolean(),
|
|
30277
|
+
showStaffFilter: z51.boolean(),
|
|
30219
30278
|
eventKind: eventBlockKindSchema,
|
|
30220
30279
|
eventSurface: eventSurfaceScopeSchema,
|
|
30221
|
-
filterEventPresets:
|
|
30280
|
+
filterEventPresets: z51.string().nullable(),
|
|
30222
30281
|
scheduleScope: eventScheduleScopeSchema2,
|
|
30223
|
-
filterCategoryIds:
|
|
30224
|
-
filterStaffMemberId:
|
|
30225
|
-
filterVenueId:
|
|
30226
|
-
fetchInitialEventsOnMount:
|
|
30282
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
30283
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
30284
|
+
filterVenueId: z51.string().nullable().optional(),
|
|
30285
|
+
fetchInitialEventsOnMount: z51.boolean()
|
|
30227
30286
|
});
|
|
30228
|
-
var eventListingRenderSchema =
|
|
30287
|
+
var eventListingRenderSchema = z51.object({
|
|
30229
30288
|
display: eventListingDisplaySchema,
|
|
30230
30289
|
hydration: eventListingHydrationSchema
|
|
30231
30290
|
});
|
|
30232
30291
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
30233
|
-
|
|
30234
|
-
siteId:
|
|
30235
|
-
apiBaseUrl:
|
|
30292
|
+
z51.object({
|
|
30293
|
+
siteId: z51.string(),
|
|
30294
|
+
apiBaseUrl: z51.string().optional(),
|
|
30236
30295
|
stage: previewStageSchema.optional()
|
|
30237
30296
|
})
|
|
30238
30297
|
);
|
|
@@ -30599,15 +30658,15 @@ var eventListingBlockDefinition = {
|
|
|
30599
30658
|
};
|
|
30600
30659
|
|
|
30601
30660
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30602
|
-
import { z as
|
|
30603
|
-
var eventBlockKindSchema2 =
|
|
30604
|
-
var eventSurfaceScopeSchema2 =
|
|
30605
|
-
var eventScheduleScopeSchema3 =
|
|
30606
|
-
var eventCalendarSourceSchema =
|
|
30661
|
+
import { z as z52 } from "zod";
|
|
30662
|
+
var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
|
|
30663
|
+
var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
|
|
30664
|
+
var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
|
|
30665
|
+
var eventCalendarSourceSchema = z52.object(
|
|
30607
30666
|
{
|
|
30608
|
-
events:
|
|
30609
|
-
siteId:
|
|
30610
|
-
apiBaseUrl:
|
|
30667
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
30668
|
+
siteId: z52.string(),
|
|
30669
|
+
apiBaseUrl: z52.string().optional(),
|
|
30611
30670
|
stage: previewStageSchema.optional(),
|
|
30612
30671
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
30613
30672
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -30615,78 +30674,80 @@ var eventCalendarSourceSchema = z53.object(
|
|
|
30615
30674
|
listColumns: columnOptionSchema.optional(),
|
|
30616
30675
|
layout: eventLayoutSchema.optional(),
|
|
30617
30676
|
columns: columnOptionSchema.optional(),
|
|
30618
|
-
eventsPerPage:
|
|
30619
|
-
paginationMode:
|
|
30620
|
-
seeAllUrl:
|
|
30621
|
-
loadMoreText:
|
|
30677
|
+
eventsPerPage: z52.string().optional(),
|
|
30678
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30679
|
+
seeAllUrl: z52.string().optional(),
|
|
30680
|
+
loadMoreText: z52.string().optional(),
|
|
30622
30681
|
startOfWeek: weekStartSchema.optional(),
|
|
30623
30682
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
30624
|
-
|
|
30683
|
+
defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
|
|
30684
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
30625
30685
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30626
|
-
showVenueFilter:
|
|
30627
|
-
showStaffFilter:
|
|
30686
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
30687
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
30628
30688
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
30629
30689
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
30630
|
-
filterEventPresets:
|
|
30690
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30631
30691
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
30632
|
-
filterCategoryIds:
|
|
30633
|
-
filterStaffMemberId:
|
|
30634
|
-
filterVenueId:
|
|
30692
|
+
filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30693
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30694
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
30635
30695
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30636
|
-
buttonText:
|
|
30637
|
-
showVenue:
|
|
30638
|
-
showMap:
|
|
30639
|
-
showCapacity:
|
|
30640
|
-
emptyMessage:
|
|
30641
|
-
className:
|
|
30696
|
+
buttonText: z52.string().optional(),
|
|
30697
|
+
showVenue: z52.boolean().nullable().optional(),
|
|
30698
|
+
showMap: z52.boolean().nullable().optional(),
|
|
30699
|
+
showCapacity: z52.boolean().nullable().optional(),
|
|
30700
|
+
emptyMessage: z52.string().optional(),
|
|
30701
|
+
className: z52.string().optional()
|
|
30642
30702
|
}
|
|
30643
30703
|
);
|
|
30644
|
-
var eventCalendarDisplaySchema =
|
|
30645
|
-
kind:
|
|
30704
|
+
var eventCalendarDisplaySchema = z52.object({
|
|
30705
|
+
kind: z52.literal("event-calendar"),
|
|
30646
30706
|
displayMode: eventCalendarDisplayModeSchema,
|
|
30647
|
-
className:
|
|
30648
|
-
events:
|
|
30707
|
+
className: z52.string().nullable(),
|
|
30708
|
+
events: z52.array(publicEventSchema),
|
|
30649
30709
|
listLayout: eventLayoutSchema,
|
|
30650
30710
|
listColumns: columnOptionSchema,
|
|
30651
30711
|
eventsPerPage: eventPageSizeSchema,
|
|
30652
30712
|
paginationAction: eventListPaginationActionSchema,
|
|
30653
30713
|
startOfWeek: weekStartSchema,
|
|
30654
30714
|
calendarTabViews: calendarTabViewsSchema,
|
|
30655
|
-
|
|
30715
|
+
defaultCalendarView: eventCalendarDefaultViewSchema,
|
|
30716
|
+
showFilters: z52.boolean(),
|
|
30656
30717
|
showCategoryFilter: filterAutoShowSchema,
|
|
30657
|
-
showVenueFilter:
|
|
30658
|
-
showStaffFilter:
|
|
30718
|
+
showVenueFilter: z52.boolean(),
|
|
30719
|
+
showStaffFilter: z52.boolean(),
|
|
30659
30720
|
eventKind: eventBlockKindSchema2,
|
|
30660
30721
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30661
|
-
filterEventPresets:
|
|
30722
|
+
filterEventPresets: z52.string().nullable(),
|
|
30662
30723
|
scheduleScope: eventScheduleScopeSchema3,
|
|
30663
|
-
filterCategoryIds:
|
|
30664
|
-
filterStaffMemberId:
|
|
30665
|
-
filterVenueId:
|
|
30724
|
+
filterCategoryIds: z52.string().nullable(),
|
|
30725
|
+
filterStaffMemberId: z52.string().nullable(),
|
|
30726
|
+
filterVenueId: z52.string().nullable(),
|
|
30666
30727
|
buttonVariant: eventButtonVariantSchema,
|
|
30667
|
-
buttonText:
|
|
30668
|
-
showVenue:
|
|
30669
|
-
showMap:
|
|
30670
|
-
showCapacity:
|
|
30671
|
-
emptyMessage:
|
|
30672
|
-
});
|
|
30673
|
-
var eventCalendarHydrationSchema =
|
|
30674
|
-
siteId:
|
|
30728
|
+
buttonText: z52.string(),
|
|
30729
|
+
showVenue: z52.boolean(),
|
|
30730
|
+
showMap: z52.boolean(),
|
|
30731
|
+
showCapacity: z52.boolean(),
|
|
30732
|
+
emptyMessage: z52.string()
|
|
30733
|
+
});
|
|
30734
|
+
var eventCalendarHydrationSchema = z52.object({
|
|
30735
|
+
siteId: z52.string(),
|
|
30675
30736
|
stage: previewStageSchema.optional(),
|
|
30676
|
-
prefetchedEvents:
|
|
30737
|
+
prefetchedEvents: z52.boolean(),
|
|
30677
30738
|
eventKind: eventBlockKindSchema2,
|
|
30678
30739
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30679
|
-
filterEventPresets:
|
|
30740
|
+
filterEventPresets: z52.string().nullable(),
|
|
30680
30741
|
scheduleScope: eventScheduleScopeSchema3
|
|
30681
30742
|
});
|
|
30682
|
-
var eventCalendarRenderSchema =
|
|
30743
|
+
var eventCalendarRenderSchema = z52.object({
|
|
30683
30744
|
display: eventCalendarDisplaySchema,
|
|
30684
30745
|
hydration: eventCalendarHydrationSchema
|
|
30685
30746
|
});
|
|
30686
30747
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
30687
|
-
|
|
30688
|
-
siteId:
|
|
30689
|
-
apiBaseUrl:
|
|
30748
|
+
z52.object({
|
|
30749
|
+
siteId: z52.string(),
|
|
30750
|
+
apiBaseUrl: z52.string().optional(),
|
|
30690
30751
|
stage: previewStageSchema.optional()
|
|
30691
30752
|
})
|
|
30692
30753
|
);
|
|
@@ -30716,6 +30777,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
30716
30777
|
}),
|
|
30717
30778
|
startOfWeek: source.startOfWeek ?? "monday",
|
|
30718
30779
|
calendarTabViews: source.calendarTabViews ?? "both",
|
|
30780
|
+
defaultCalendarView: source.defaultCalendarView ?? "month",
|
|
30719
30781
|
showFilters: source.showFilters ?? true,
|
|
30720
30782
|
showCategoryFilter: source.showCategoryFilter ?? "auto",
|
|
30721
30783
|
showVenueFilter: source.showVenueFilter ?? false,
|
|
@@ -30778,6 +30840,9 @@ function normalizeEventCalendarContent(content) {
|
|
|
30778
30840
|
...variant ? { variant } : {},
|
|
30779
30841
|
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
30780
30842
|
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
30843
|
+
defaultCalendarView: normalizeEventCalendarDefaultView(
|
|
30844
|
+
record.defaultCalendarView
|
|
30845
|
+
),
|
|
30781
30846
|
kind,
|
|
30782
30847
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
30783
30848
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -30795,6 +30860,9 @@ function normalizeEventCalendarDisplayMode(value) {
|
|
|
30795
30860
|
function normalizeEventCalendarListLayout(value) {
|
|
30796
30861
|
return isEventCalendarListLayout(value) ? value : void 0;
|
|
30797
30862
|
}
|
|
30863
|
+
function normalizeEventCalendarDefaultView(value) {
|
|
30864
|
+
return isEventCalendarDefaultView(value) ? value : void 0;
|
|
30865
|
+
}
|
|
30798
30866
|
var eventCalendarLayout = [
|
|
30799
30867
|
styledSection({
|
|
30800
30868
|
children: sectionContainer(
|
|
@@ -30854,6 +30922,9 @@ var eventCalendarLayout = [
|
|
|
30854
30922
|
calendarTabViews: {
|
|
30855
30923
|
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
30856
30924
|
},
|
|
30925
|
+
defaultCalendarView: {
|
|
30926
|
+
$bind: { from: "content.defaultCalendarView", fallback: "month" }
|
|
30927
|
+
},
|
|
30857
30928
|
// Filtering options
|
|
30858
30929
|
showFilters: {
|
|
30859
30930
|
$bind: { from: "content.showFilters", fallback: true }
|
|
@@ -30920,8 +30991,7 @@ var eventCalendarAdditionalFields = [
|
|
|
30920
30991
|
defaultValue: "combined",
|
|
30921
30992
|
options: [
|
|
30922
30993
|
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
30923
|
-
{ value: "
|
|
30924
|
-
{ value: "week", label: "Week agenda" },
|
|
30994
|
+
{ value: "calendar", label: "Calendar" },
|
|
30925
30995
|
{ value: "timetable", label: "Timetable" },
|
|
30926
30996
|
{ value: "list", label: "List" }
|
|
30927
30997
|
],
|
|
@@ -30960,7 +31030,12 @@ var eventCalendarAdditionalFields = [
|
|
|
30960
31030
|
],
|
|
30961
31031
|
ui: {
|
|
30962
31032
|
intent: "display",
|
|
30963
|
-
visibleWhen: {
|
|
31033
|
+
visibleWhen: {
|
|
31034
|
+
allOf: [
|
|
31035
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
31036
|
+
{ field: "listLayout", equals: "grid" }
|
|
31037
|
+
]
|
|
31038
|
+
}
|
|
30964
31039
|
}
|
|
30965
31040
|
},
|
|
30966
31041
|
{
|
|
@@ -31008,7 +31083,12 @@ var eventCalendarAdditionalFields = [
|
|
|
31008
31083
|
required: false,
|
|
31009
31084
|
ui: {
|
|
31010
31085
|
intent: "display",
|
|
31011
|
-
visibleWhen: {
|
|
31086
|
+
visibleWhen: {
|
|
31087
|
+
allOf: [
|
|
31088
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
31089
|
+
{ field: "paginationMode", equals: "seeAllLink" }
|
|
31090
|
+
]
|
|
31091
|
+
}
|
|
31012
31092
|
}
|
|
31013
31093
|
},
|
|
31014
31094
|
{
|
|
@@ -31041,7 +31121,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31041
31121
|
intent: "display",
|
|
31042
31122
|
visibleWhen: {
|
|
31043
31123
|
field: "variant",
|
|
31044
|
-
oneOf: ["combined", "
|
|
31124
|
+
oneOf: ["combined", "calendar", "timetable"]
|
|
31045
31125
|
}
|
|
31046
31126
|
}
|
|
31047
31127
|
},
|
|
@@ -31064,6 +31144,33 @@ var eventCalendarAdditionalFields = [
|
|
|
31064
31144
|
visibleWhen: { field: "variant", equals: "combined" }
|
|
31065
31145
|
}
|
|
31066
31146
|
},
|
|
31147
|
+
{
|
|
31148
|
+
id: "defaultCalendarView",
|
|
31149
|
+
type: "select",
|
|
31150
|
+
label: "Calendar view",
|
|
31151
|
+
description: "Choose the standalone calendar view, or the first view in combined mode",
|
|
31152
|
+
required: false,
|
|
31153
|
+
multiple: false,
|
|
31154
|
+
defaultValue: "month",
|
|
31155
|
+
options: [
|
|
31156
|
+
{ value: "month", label: "Month" },
|
|
31157
|
+
{ value: "week", label: "Week" }
|
|
31158
|
+
],
|
|
31159
|
+
ui: {
|
|
31160
|
+
intent: "display",
|
|
31161
|
+
visibleWhen: {
|
|
31162
|
+
anyOf: [
|
|
31163
|
+
{ field: "variant", equals: "calendar" },
|
|
31164
|
+
{
|
|
31165
|
+
allOf: [
|
|
31166
|
+
{ field: "variant", equals: "combined" },
|
|
31167
|
+
{ field: "calendarTabViews", equals: "both" }
|
|
31168
|
+
]
|
|
31169
|
+
}
|
|
31170
|
+
]
|
|
31171
|
+
}
|
|
31172
|
+
}
|
|
31173
|
+
},
|
|
31067
31174
|
// Filtering options
|
|
31068
31175
|
{
|
|
31069
31176
|
id: "kind",
|
|
@@ -31091,7 +31198,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31091
31198
|
intent: "display",
|
|
31092
31199
|
visibleWhen: {
|
|
31093
31200
|
field: "variant",
|
|
31094
|
-
oneOf: ["combined", "list", "timetable"]
|
|
31201
|
+
oneOf: ["combined", "calendar", "list", "timetable"]
|
|
31095
31202
|
}
|
|
31096
31203
|
}
|
|
31097
31204
|
},
|
|
@@ -31111,8 +31218,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31111
31218
|
ui: {
|
|
31112
31219
|
intent: "display",
|
|
31113
31220
|
visibleWhen: {
|
|
31114
|
-
|
|
31115
|
-
|
|
31221
|
+
allOf: [
|
|
31222
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31223
|
+
{ field: "showFilters", equals: true }
|
|
31224
|
+
]
|
|
31116
31225
|
}
|
|
31117
31226
|
}
|
|
31118
31227
|
},
|
|
@@ -31126,8 +31235,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31126
31235
|
ui: {
|
|
31127
31236
|
intent: "display",
|
|
31128
31237
|
visibleWhen: {
|
|
31129
|
-
|
|
31130
|
-
|
|
31238
|
+
allOf: [
|
|
31239
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31240
|
+
{ field: "showFilters", equals: true }
|
|
31241
|
+
]
|
|
31131
31242
|
}
|
|
31132
31243
|
}
|
|
31133
31244
|
},
|
|
@@ -31141,8 +31252,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31141
31252
|
ui: {
|
|
31142
31253
|
intent: "display",
|
|
31143
31254
|
visibleWhen: {
|
|
31144
|
-
|
|
31145
|
-
|
|
31255
|
+
allOf: [
|
|
31256
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31257
|
+
{ field: "showFilters", equals: true }
|
|
31258
|
+
]
|
|
31146
31259
|
}
|
|
31147
31260
|
}
|
|
31148
31261
|
},
|
|
@@ -31156,8 +31269,15 @@ var eventCalendarAdditionalFields = [
|
|
|
31156
31269
|
ui: {
|
|
31157
31270
|
intent: "display",
|
|
31158
31271
|
visibleWhen: {
|
|
31159
|
-
|
|
31160
|
-
|
|
31272
|
+
anyOf: [
|
|
31273
|
+
{ field: "variant", oneOf: ["combined", "list", "timetable"] },
|
|
31274
|
+
{
|
|
31275
|
+
allOf: [
|
|
31276
|
+
{ field: "variant", equals: "calendar" },
|
|
31277
|
+
{ field: "defaultCalendarView", equals: "week" }
|
|
31278
|
+
]
|
|
31279
|
+
}
|
|
31280
|
+
]
|
|
31161
31281
|
}
|
|
31162
31282
|
}
|
|
31163
31283
|
},
|
|
@@ -31273,8 +31393,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31273
31393
|
];
|
|
31274
31394
|
var eventCalendarVariants = {
|
|
31275
31395
|
combined: eventCalendarLayout[0],
|
|
31276
|
-
|
|
31277
|
-
week: eventCalendarLayout[0],
|
|
31396
|
+
calendar: eventCalendarLayout[0],
|
|
31278
31397
|
timetable: eventCalendarLayout[0],
|
|
31279
31398
|
list: eventCalendarLayout[0]
|
|
31280
31399
|
};
|
|
@@ -31286,8 +31405,7 @@ var eventCalendarDerivedFields = [
|
|
|
31286
31405
|
multiple: false,
|
|
31287
31406
|
options: [
|
|
31288
31407
|
{ value: "combined" },
|
|
31289
|
-
{ value: "
|
|
31290
|
-
{ value: "week" },
|
|
31408
|
+
{ value: "calendar" },
|
|
31291
31409
|
{ value: "timetable" },
|
|
31292
31410
|
{ value: "list" }
|
|
31293
31411
|
]
|
|
@@ -31300,6 +31418,13 @@ var eventCalendarDerivedFields = [
|
|
|
31300
31418
|
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
31301
31419
|
value: option.id
|
|
31302
31420
|
}))
|
|
31421
|
+
},
|
|
31422
|
+
{
|
|
31423
|
+
id: "defaultCalendarView",
|
|
31424
|
+
type: "select",
|
|
31425
|
+
required: false,
|
|
31426
|
+
multiple: false,
|
|
31427
|
+
options: [{ value: "month" }, { value: "week" }]
|
|
31303
31428
|
}
|
|
31304
31429
|
];
|
|
31305
31430
|
var eventCalendarContentShape = {
|
|
@@ -31348,8 +31473,7 @@ var eventCalendarConfig = {
|
|
|
31348
31473
|
defaultVariant: "combined",
|
|
31349
31474
|
variantOptions: {
|
|
31350
31475
|
combined: { label: "Combined" },
|
|
31351
|
-
|
|
31352
|
-
week: { label: "Week" },
|
|
31476
|
+
calendar: { label: "Calendar" },
|
|
31353
31477
|
timetable: { label: "Timetable" },
|
|
31354
31478
|
list: { label: "List" }
|
|
31355
31479
|
}
|
|
@@ -31395,7 +31519,7 @@ var eventCalendarBlockDefinition = {
|
|
|
31395
31519
|
};
|
|
31396
31520
|
|
|
31397
31521
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31398
|
-
import { z as
|
|
31522
|
+
import { z as z53 } from "zod";
|
|
31399
31523
|
|
|
31400
31524
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
31401
31525
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -31455,7 +31579,7 @@ function inferLegacyOfferingsPreviewGroupOrder(overrides) {
|
|
|
31455
31579
|
return keys.length >= 2 ? keys : [];
|
|
31456
31580
|
}
|
|
31457
31581
|
function normalizeOfferingsPreviewContentForWrite(value) {
|
|
31458
|
-
if (!
|
|
31582
|
+
if (!isRecord6(value)) return null;
|
|
31459
31583
|
const groupOrderValue = value.groupOrder;
|
|
31460
31584
|
if (Array.isArray(groupOrderValue)) {
|
|
31461
31585
|
const normalized = normalizeOfferingsPreviewGroupOrder(groupOrderValue);
|
|
@@ -31468,7 +31592,7 @@ function normalizeOfferingsPreviewContentForWrite(value) {
|
|
|
31468
31592
|
return { ...value, groupOrder: [] };
|
|
31469
31593
|
}
|
|
31470
31594
|
const legacyOrder = inferLegacyOfferingsPreviewGroupOrder(
|
|
31471
|
-
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(
|
|
31595
|
+
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(isRecord6) : []
|
|
31472
31596
|
);
|
|
31473
31597
|
return legacyOrder.length > 0 ? { ...value, groupOrder: legacyOrder } : value;
|
|
31474
31598
|
}
|
|
@@ -31482,18 +31606,18 @@ function uniqueOfferingsPreviewSourceKeys(values) {
|
|
|
31482
31606
|
}
|
|
31483
31607
|
return keys;
|
|
31484
31608
|
}
|
|
31485
|
-
function
|
|
31609
|
+
function isRecord6(value) {
|
|
31486
31610
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
31487
31611
|
}
|
|
31488
31612
|
|
|
31489
31613
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31490
|
-
var publicRouteCandidatesSchema =
|
|
31491
|
-
routes:
|
|
31492
|
-
entityId:
|
|
31493
|
-
path:
|
|
31494
|
-
title:
|
|
31495
|
-
kind:
|
|
31496
|
-
contentTypeKey:
|
|
31614
|
+
var publicRouteCandidatesSchema = z53.object({
|
|
31615
|
+
routes: z53.array(z53.object({
|
|
31616
|
+
entityId: z53.string(),
|
|
31617
|
+
path: z53.string(),
|
|
31618
|
+
title: z53.string(),
|
|
31619
|
+
kind: z53.enum(["page", "content"]),
|
|
31620
|
+
contentTypeKey: z53.string().nullable().optional()
|
|
31497
31621
|
}))
|
|
31498
31622
|
});
|
|
31499
31623
|
var groupOverrideFields = [
|
|
@@ -31849,7 +31973,7 @@ function isOfferingsPreviewItemLimit(value) {
|
|
|
31849
31973
|
return value === "1" || value === "2" || value === "3" || value === "4" || value === "5" || value === "6" || value === null;
|
|
31850
31974
|
}
|
|
31851
31975
|
function normalizeOfferingsPreviewGroupOverride(value) {
|
|
31852
|
-
if (!
|
|
31976
|
+
if (!isRecord7(value)) return [];
|
|
31853
31977
|
const override = {};
|
|
31854
31978
|
if (isOfferingsPreviewSourceKey(value.sourceKey) || value.sourceKey === null) {
|
|
31855
31979
|
override.sourceKey = value.sourceKey;
|
|
@@ -31881,17 +32005,17 @@ function isButtonVariant(value) {
|
|
|
31881
32005
|
return value === "primary" || value === "secondary" || value === "outline" || value === "link" || value === null;
|
|
31882
32006
|
}
|
|
31883
32007
|
function normalizeCardStylesContent(value) {
|
|
31884
|
-
return
|
|
32008
|
+
return isRecord7(value) || value === null ? value : void 0;
|
|
31885
32009
|
}
|
|
31886
32010
|
function normalizeSectionStylesContent(value) {
|
|
31887
|
-
return
|
|
32011
|
+
return isRecord7(value) || value === null ? value : void 0;
|
|
31888
32012
|
}
|
|
31889
|
-
function
|
|
32013
|
+
function isRecord7(value) {
|
|
31890
32014
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
31891
32015
|
}
|
|
31892
32016
|
|
|
31893
32017
|
// ../blocks/src/system/blocks/embed.ts
|
|
31894
|
-
import { z as
|
|
32018
|
+
import { z as z54 } from "zod";
|
|
31895
32019
|
var embedFields = [
|
|
31896
32020
|
// Section heading
|
|
31897
32021
|
parseFieldDefinition({
|
|
@@ -32122,18 +32246,18 @@ var embedManifest = createBlockManifest({
|
|
|
32122
32246
|
spacing: "lg"
|
|
32123
32247
|
}
|
|
32124
32248
|
});
|
|
32125
|
-
var embedEntrySchema =
|
|
32126
|
-
id:
|
|
32127
|
-
identifier:
|
|
32128
|
-
title:
|
|
32129
|
-
slug:
|
|
32130
|
-
content:
|
|
32131
|
-
publishedAt:
|
|
32249
|
+
var embedEntrySchema = z54.object({
|
|
32250
|
+
id: z54.string(),
|
|
32251
|
+
identifier: z54.string(),
|
|
32252
|
+
title: z54.string(),
|
|
32253
|
+
slug: z54.string().nullable().optional(),
|
|
32254
|
+
content: z54.record(z54.string(), z54.unknown()).optional(),
|
|
32255
|
+
publishedAt: z54.string().nullable().optional()
|
|
32132
32256
|
});
|
|
32133
32257
|
var embedBlockDefinition = {
|
|
32134
32258
|
manifest: embedManifest,
|
|
32135
32259
|
dataSchemas: {
|
|
32136
|
-
entries:
|
|
32260
|
+
entries: z54.array(embedEntrySchema).optional()
|
|
32137
32261
|
},
|
|
32138
32262
|
dataLoaders: {
|
|
32139
32263
|
entries: {
|
|
@@ -33316,53 +33440,50 @@ var fileDownloadBlockDefinition = {
|
|
|
33316
33440
|
manifest: fileDownloadManifest
|
|
33317
33441
|
};
|
|
33318
33442
|
|
|
33319
|
-
// ../blocks/src/system/blocks/shop.ts
|
|
33320
|
-
import { z as z59 } from "zod";
|
|
33321
|
-
|
|
33322
33443
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33323
|
-
import { z as
|
|
33444
|
+
import { z as z57 } from "zod";
|
|
33324
33445
|
|
|
33325
33446
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
33326
|
-
import { z as
|
|
33327
|
-
var publicProductVariantSchema =
|
|
33328
|
-
id:
|
|
33329
|
-
title:
|
|
33330
|
-
sku:
|
|
33331
|
-
priceCents:
|
|
33332
|
-
stockQuantity:
|
|
33333
|
-
soldOut:
|
|
33334
|
-
});
|
|
33335
|
-
var publicProductSchema =
|
|
33336
|
-
id:
|
|
33337
|
-
contentEntryId:
|
|
33338
|
-
title:
|
|
33339
|
-
slug:
|
|
33340
|
-
path:
|
|
33341
|
-
status:
|
|
33342
|
-
priceCents:
|
|
33343
|
-
currency:
|
|
33344
|
-
productType:
|
|
33345
|
-
requiresShipping:
|
|
33346
|
-
hasVariants:
|
|
33347
|
-
trackInventory:
|
|
33348
|
-
soldOut:
|
|
33349
|
-
category:
|
|
33350
|
-
id:
|
|
33351
|
-
name:
|
|
33352
|
-
slug:
|
|
33447
|
+
import { z as z55 } from "zod";
|
|
33448
|
+
var publicProductVariantSchema = z55.object({
|
|
33449
|
+
id: z55.string(),
|
|
33450
|
+
title: z55.string(),
|
|
33451
|
+
sku: z55.string().nullable(),
|
|
33452
|
+
priceCents: z55.number(),
|
|
33453
|
+
stockQuantity: z55.number().nullable(),
|
|
33454
|
+
soldOut: z55.boolean()
|
|
33455
|
+
});
|
|
33456
|
+
var publicProductSchema = z55.object({
|
|
33457
|
+
id: z55.string(),
|
|
33458
|
+
contentEntryId: z55.string().nullable(),
|
|
33459
|
+
title: z55.string(),
|
|
33460
|
+
slug: z55.string(),
|
|
33461
|
+
path: z55.string().nullable(),
|
|
33462
|
+
status: z55.enum(["draft", "active"]),
|
|
33463
|
+
priceCents: z55.number(),
|
|
33464
|
+
currency: z55.string(),
|
|
33465
|
+
productType: z55.enum(["physical", "digital"]),
|
|
33466
|
+
requiresShipping: z55.boolean(),
|
|
33467
|
+
hasVariants: z55.boolean(),
|
|
33468
|
+
trackInventory: z55.boolean(),
|
|
33469
|
+
soldOut: z55.boolean(),
|
|
33470
|
+
category: z55.object({
|
|
33471
|
+
id: z55.string(),
|
|
33472
|
+
name: z55.string(),
|
|
33473
|
+
slug: z55.string()
|
|
33353
33474
|
}).nullable(),
|
|
33354
|
-
summary:
|
|
33355
|
-
body:
|
|
33356
|
-
gallery:
|
|
33357
|
-
|
|
33358
|
-
url:
|
|
33359
|
-
alt:
|
|
33475
|
+
summary: z55.string().nullable(),
|
|
33476
|
+
body: z55.unknown().nullable(),
|
|
33477
|
+
gallery: z55.array(
|
|
33478
|
+
z55.object({
|
|
33479
|
+
url: z55.string(),
|
|
33480
|
+
alt: z55.string().nullable()
|
|
33360
33481
|
})
|
|
33361
33482
|
),
|
|
33362
|
-
variants:
|
|
33483
|
+
variants: z55.array(publicProductVariantSchema)
|
|
33363
33484
|
});
|
|
33364
|
-
var publicProductsResponseSchema =
|
|
33365
|
-
products:
|
|
33485
|
+
var publicProductsResponseSchema = z55.object({
|
|
33486
|
+
products: z55.array(publicProductSchema)
|
|
33366
33487
|
});
|
|
33367
33488
|
|
|
33368
33489
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -33426,27 +33547,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
33426
33547
|
}
|
|
33427
33548
|
|
|
33428
33549
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
33429
|
-
import { z as
|
|
33430
|
-
var storedProductCartItemSchema =
|
|
33431
|
-
kind:
|
|
33432
|
-
productId:
|
|
33433
|
-
productCategoryId:
|
|
33434
|
-
variantId:
|
|
33435
|
-
title:
|
|
33436
|
-
variantTitle:
|
|
33437
|
-
quantity:
|
|
33438
|
-
unitPriceCents:
|
|
33439
|
-
currency:
|
|
33440
|
-
imageUrl:
|
|
33441
|
-
soldOut:
|
|
33442
|
-
});
|
|
33443
|
-
var storedPassCartItemSchema =
|
|
33444
|
-
kind:
|
|
33445
|
-
passId:
|
|
33446
|
-
title:
|
|
33447
|
-
quantity:
|
|
33448
|
-
unitPriceCents:
|
|
33449
|
-
currency:
|
|
33550
|
+
import { z as z56 } from "zod";
|
|
33551
|
+
var storedProductCartItemSchema = z56.object({
|
|
33552
|
+
kind: z56.literal("product"),
|
|
33553
|
+
productId: z56.string().min(1),
|
|
33554
|
+
productCategoryId: z56.string().min(1).optional().nullable(),
|
|
33555
|
+
variantId: z56.string().min(1).optional().nullable(),
|
|
33556
|
+
title: z56.string().min(1),
|
|
33557
|
+
variantTitle: z56.string().optional().nullable(),
|
|
33558
|
+
quantity: z56.number().finite(),
|
|
33559
|
+
unitPriceCents: z56.number().finite(),
|
|
33560
|
+
currency: z56.string().min(1),
|
|
33561
|
+
imageUrl: z56.string().optional().nullable(),
|
|
33562
|
+
soldOut: z56.boolean().optional()
|
|
33563
|
+
});
|
|
33564
|
+
var storedPassCartItemSchema = z56.object({
|
|
33565
|
+
kind: z56.literal("pass"),
|
|
33566
|
+
passId: z56.string().min(1),
|
|
33567
|
+
title: z56.string().min(1),
|
|
33568
|
+
quantity: z56.number().finite().optional(),
|
|
33569
|
+
unitPriceCents: z56.number().finite(),
|
|
33570
|
+
currency: z56.string().min(1)
|
|
33450
33571
|
});
|
|
33451
33572
|
function deriveCommerceCheckoutState(state) {
|
|
33452
33573
|
if (state.items.length === 0) {
|
|
@@ -33680,214 +33801,214 @@ function formatValidity(days) {
|
|
|
33680
33801
|
}
|
|
33681
33802
|
|
|
33682
33803
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33683
|
-
var shopModeSchema =
|
|
33684
|
-
var contentEntrySchema3 =
|
|
33685
|
-
id:
|
|
33686
|
-
slug:
|
|
33804
|
+
var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
33805
|
+
var contentEntrySchema3 = z57.object({
|
|
33806
|
+
id: z57.string().nullable().optional(),
|
|
33807
|
+
slug: z57.string().nullable().optional()
|
|
33687
33808
|
}).nullable();
|
|
33688
|
-
var shopSourceSchema =
|
|
33689
|
-
className:
|
|
33809
|
+
var shopSourceSchema = z57.object({
|
|
33810
|
+
className: z57.string().nullable().optional(),
|
|
33690
33811
|
mode: shopModeSchema.optional(),
|
|
33691
|
-
heading:
|
|
33692
|
-
productSlug:
|
|
33693
|
-
showPasses:
|
|
33694
|
-
showMemberships:
|
|
33695
|
-
layout:
|
|
33696
|
-
columns:
|
|
33697
|
-
showDescriptions:
|
|
33698
|
-
showSummary:
|
|
33699
|
-
showBody:
|
|
33700
|
-
showPrices:
|
|
33701
|
-
showValidityPeriod:
|
|
33702
|
-
showPricePerCredit:
|
|
33703
|
-
passesHeading:
|
|
33704
|
-
membershipsHeading:
|
|
33705
|
-
buyButtonText:
|
|
33706
|
-
addButtonText:
|
|
33707
|
-
passPurchaseMode:
|
|
33708
|
-
subscribeButtonText:
|
|
33709
|
-
emptyStateText:
|
|
33710
|
-
checkoutButtonText:
|
|
33711
|
-
clearButtonText:
|
|
33712
|
-
submitButtonText:
|
|
33812
|
+
heading: z57.string().nullable().optional(),
|
|
33813
|
+
productSlug: z57.string().nullable().optional(),
|
|
33814
|
+
showPasses: z57.boolean().optional(),
|
|
33815
|
+
showMemberships: z57.boolean().optional(),
|
|
33816
|
+
layout: z57.enum(["grid", "list"]).optional(),
|
|
33817
|
+
columns: z57.string().optional(),
|
|
33818
|
+
showDescriptions: z57.boolean().optional(),
|
|
33819
|
+
showSummary: z57.boolean().optional(),
|
|
33820
|
+
showBody: z57.boolean().optional(),
|
|
33821
|
+
showPrices: z57.boolean().optional(),
|
|
33822
|
+
showValidityPeriod: z57.boolean().optional(),
|
|
33823
|
+
showPricePerCredit: z57.boolean().nullable().optional(),
|
|
33824
|
+
passesHeading: z57.string().optional(),
|
|
33825
|
+
membershipsHeading: z57.string().optional(),
|
|
33826
|
+
buyButtonText: z57.string().optional(),
|
|
33827
|
+
addButtonText: z57.string().optional(),
|
|
33828
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
|
|
33829
|
+
subscribeButtonText: z57.string().optional(),
|
|
33830
|
+
emptyStateText: z57.string().optional(),
|
|
33831
|
+
checkoutButtonText: z57.string().optional(),
|
|
33832
|
+
clearButtonText: z57.string().optional(),
|
|
33833
|
+
submitButtonText: z57.string().optional(),
|
|
33713
33834
|
contentEntry: contentEntrySchema3.optional(),
|
|
33714
|
-
passes:
|
|
33715
|
-
memberships:
|
|
33716
|
-
products:
|
|
33717
|
-
siteId:
|
|
33718
|
-
apiBaseUrl:
|
|
33835
|
+
passes: z57.array(publicPassProductSchema).nullable().optional(),
|
|
33836
|
+
memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
|
|
33837
|
+
products: z57.array(publicProductSchema).nullable().optional(),
|
|
33838
|
+
siteId: z57.string().optional(),
|
|
33839
|
+
apiBaseUrl: z57.string().optional(),
|
|
33719
33840
|
stage: previewStageSchema.optional()
|
|
33720
33841
|
});
|
|
33721
|
-
var productVariantOptionDisplaySchema =
|
|
33722
|
-
id:
|
|
33723
|
-
label:
|
|
33724
|
-
soldOut:
|
|
33725
|
-
});
|
|
33726
|
-
var productCardDisplaySchema =
|
|
33727
|
-
productId:
|
|
33728
|
-
title:
|
|
33729
|
-
path:
|
|
33730
|
-
summary:
|
|
33731
|
-
priceLabel:
|
|
33732
|
-
image:
|
|
33733
|
-
url:
|
|
33734
|
-
alt:
|
|
33842
|
+
var productVariantOptionDisplaySchema = z57.object({
|
|
33843
|
+
id: z57.string(),
|
|
33844
|
+
label: z57.string(),
|
|
33845
|
+
soldOut: z57.boolean()
|
|
33846
|
+
});
|
|
33847
|
+
var productCardDisplaySchema = z57.object({
|
|
33848
|
+
productId: z57.string(),
|
|
33849
|
+
title: z57.string(),
|
|
33850
|
+
path: z57.string().nullable(),
|
|
33851
|
+
summary: z57.string().nullable(),
|
|
33852
|
+
priceLabel: z57.string().nullable(),
|
|
33853
|
+
image: z57.object({
|
|
33854
|
+
url: z57.string(),
|
|
33855
|
+
alt: z57.string().nullable()
|
|
33735
33856
|
}).nullable(),
|
|
33736
|
-
variantOptions:
|
|
33737
|
-
selectedVariantId:
|
|
33738
|
-
selectionLabel:
|
|
33739
|
-
actionLabel:
|
|
33740
|
-
soldOut:
|
|
33741
|
-
});
|
|
33742
|
-
var productListDisplaySchema =
|
|
33743
|
-
kind:
|
|
33744
|
-
state:
|
|
33745
|
-
heading:
|
|
33746
|
-
className:
|
|
33747
|
-
layout:
|
|
33748
|
-
columns:
|
|
33749
|
-
emptyMessage:
|
|
33750
|
-
cards:
|
|
33751
|
-
});
|
|
33752
|
-
var productDetailDisplaySchema =
|
|
33753
|
-
|
|
33754
|
-
kind:
|
|
33755
|
-
state:
|
|
33756
|
-
heading:
|
|
33757
|
-
className:
|
|
33758
|
-
emptyMessage:
|
|
33857
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
33858
|
+
selectedVariantId: z57.string().nullable(),
|
|
33859
|
+
selectionLabel: z57.string(),
|
|
33860
|
+
actionLabel: z57.string(),
|
|
33861
|
+
soldOut: z57.boolean()
|
|
33862
|
+
});
|
|
33863
|
+
var productListDisplaySchema = z57.object({
|
|
33864
|
+
kind: z57.literal("product-list"),
|
|
33865
|
+
state: z57.enum(["empty", "ready"]),
|
|
33866
|
+
heading: z57.string().nullable(),
|
|
33867
|
+
className: z57.string().nullable(),
|
|
33868
|
+
layout: z57.enum(["grid", "list"]),
|
|
33869
|
+
columns: z57.string(),
|
|
33870
|
+
emptyMessage: z57.string(),
|
|
33871
|
+
cards: z57.array(productCardDisplaySchema)
|
|
33872
|
+
});
|
|
33873
|
+
var productDetailDisplaySchema = z57.discriminatedUnion("state", [
|
|
33874
|
+
z57.object({
|
|
33875
|
+
kind: z57.literal("product-detail"),
|
|
33876
|
+
state: z57.literal("empty"),
|
|
33877
|
+
heading: z57.string().nullable(),
|
|
33878
|
+
className: z57.string().nullable(),
|
|
33879
|
+
emptyMessage: z57.string()
|
|
33759
33880
|
}),
|
|
33760
|
-
|
|
33761
|
-
kind:
|
|
33762
|
-
state:
|
|
33763
|
-
heading:
|
|
33764
|
-
className:
|
|
33765
|
-
title:
|
|
33766
|
-
priceLabel:
|
|
33767
|
-
summary:
|
|
33768
|
-
categoryLabel:
|
|
33769
|
-
gallery:
|
|
33770
|
-
url:
|
|
33771
|
-
alt:
|
|
33881
|
+
z57.object({
|
|
33882
|
+
kind: z57.literal("product-detail"),
|
|
33883
|
+
state: z57.literal("ready"),
|
|
33884
|
+
heading: z57.string().nullable(),
|
|
33885
|
+
className: z57.string().nullable(),
|
|
33886
|
+
title: z57.string(),
|
|
33887
|
+
priceLabel: z57.string(),
|
|
33888
|
+
summary: z57.string().nullable(),
|
|
33889
|
+
categoryLabel: z57.string().nullable(),
|
|
33890
|
+
gallery: z57.array(z57.object({
|
|
33891
|
+
url: z57.string(),
|
|
33892
|
+
alt: z57.string().nullable()
|
|
33772
33893
|
})),
|
|
33773
|
-
variantOptions:
|
|
33774
|
-
selectedVariantId:
|
|
33775
|
-
selectionLabel:
|
|
33776
|
-
actionLabel:
|
|
33777
|
-
soldOut:
|
|
33778
|
-
body:
|
|
33894
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
33895
|
+
selectedVariantId: z57.string().nullable(),
|
|
33896
|
+
selectionLabel: z57.string(),
|
|
33897
|
+
actionLabel: z57.string(),
|
|
33898
|
+
soldOut: z57.boolean(),
|
|
33899
|
+
body: z57.unknown().nullable()
|
|
33779
33900
|
})
|
|
33780
33901
|
]);
|
|
33781
|
-
var passCardDisplaySchema =
|
|
33782
|
-
id:
|
|
33783
|
-
title:
|
|
33784
|
-
description:
|
|
33785
|
-
priceLabel:
|
|
33786
|
-
creditsLabel:
|
|
33787
|
-
perCreditLabel:
|
|
33788
|
-
validityLabel:
|
|
33789
|
-
actionLabel:
|
|
33790
|
-
});
|
|
33791
|
-
var membershipCardDisplaySchema =
|
|
33792
|
-
id:
|
|
33793
|
-
title:
|
|
33794
|
-
description:
|
|
33795
|
-
priceLabel:
|
|
33796
|
-
intervalLabel:
|
|
33797
|
-
actionLabel:
|
|
33798
|
-
});
|
|
33799
|
-
var passesMembershipsDisplaySchema =
|
|
33800
|
-
kind:
|
|
33801
|
-
state:
|
|
33802
|
-
className:
|
|
33803
|
-
layout:
|
|
33804
|
-
columns:
|
|
33805
|
-
emptyMessage:
|
|
33806
|
-
passesHeading:
|
|
33807
|
-
membershipsHeading:
|
|
33808
|
-
passes:
|
|
33809
|
-
memberships:
|
|
33810
|
-
});
|
|
33811
|
-
var cartLineDisplaySchema =
|
|
33812
|
-
key:
|
|
33813
|
-
title:
|
|
33814
|
-
priceLabel:
|
|
33815
|
-
quantity:
|
|
33816
|
-
quantityEditable:
|
|
33817
|
-
});
|
|
33818
|
-
var cartDisplaySchema =
|
|
33819
|
-
kind:
|
|
33820
|
-
state:
|
|
33821
|
-
heading:
|
|
33822
|
-
className:
|
|
33823
|
-
emptyMessage:
|
|
33824
|
-
supportText:
|
|
33825
|
-
items:
|
|
33826
|
-
subtotalLabel:
|
|
33827
|
-
checkoutButtonText:
|
|
33828
|
-
clearButtonText:
|
|
33829
|
-
});
|
|
33830
|
-
var checkoutDisplaySchema =
|
|
33831
|
-
kind:
|
|
33832
|
-
state:
|
|
33833
|
-
heading:
|
|
33834
|
-
className:
|
|
33835
|
-
message:
|
|
33836
|
-
submitButtonText:
|
|
33837
|
-
});
|
|
33838
|
-
var passesMembershipsHydrationSchema =
|
|
33839
|
-
passes:
|
|
33840
|
-
memberships:
|
|
33841
|
-
passPurchaseMode:
|
|
33842
|
-
});
|
|
33843
|
-
var productListHydrationSchema =
|
|
33844
|
-
products:
|
|
33845
|
-
showSummary:
|
|
33846
|
-
showPrices:
|
|
33847
|
-
addButtonText:
|
|
33848
|
-
});
|
|
33849
|
-
var productDetailHydrationSchema =
|
|
33850
|
-
products:
|
|
33851
|
-
productId:
|
|
33852
|
-
showSummary:
|
|
33853
|
-
showBody:
|
|
33854
|
-
addButtonText:
|
|
33855
|
-
});
|
|
33856
|
-
var cartHydrationSchema =
|
|
33857
|
-
emptyStateText:
|
|
33858
|
-
checkoutButtonText:
|
|
33859
|
-
clearButtonText:
|
|
33860
|
-
});
|
|
33861
|
-
var checkoutHydrationSchema =
|
|
33862
|
-
emptyStateText:
|
|
33863
|
-
submitButtonText:
|
|
33864
|
-
});
|
|
33865
|
-
var passesMembershipsRenderSchema =
|
|
33902
|
+
var passCardDisplaySchema = z57.object({
|
|
33903
|
+
id: z57.string(),
|
|
33904
|
+
title: z57.string(),
|
|
33905
|
+
description: z57.string().nullable(),
|
|
33906
|
+
priceLabel: z57.string(),
|
|
33907
|
+
creditsLabel: z57.string(),
|
|
33908
|
+
perCreditLabel: z57.string().nullable(),
|
|
33909
|
+
validityLabel: z57.string().nullable(),
|
|
33910
|
+
actionLabel: z57.string()
|
|
33911
|
+
});
|
|
33912
|
+
var membershipCardDisplaySchema = z57.object({
|
|
33913
|
+
id: z57.string(),
|
|
33914
|
+
title: z57.string(),
|
|
33915
|
+
description: z57.string().nullable(),
|
|
33916
|
+
priceLabel: z57.string(),
|
|
33917
|
+
intervalLabel: z57.string(),
|
|
33918
|
+
actionLabel: z57.string()
|
|
33919
|
+
});
|
|
33920
|
+
var passesMembershipsDisplaySchema = z57.object({
|
|
33921
|
+
kind: z57.literal("passes-memberships"),
|
|
33922
|
+
state: z57.enum(["empty", "ready"]),
|
|
33923
|
+
className: z57.string().nullable(),
|
|
33924
|
+
layout: z57.enum(["grid", "list"]),
|
|
33925
|
+
columns: z57.string(),
|
|
33926
|
+
emptyMessage: z57.string(),
|
|
33927
|
+
passesHeading: z57.string(),
|
|
33928
|
+
membershipsHeading: z57.string(),
|
|
33929
|
+
passes: z57.array(passCardDisplaySchema),
|
|
33930
|
+
memberships: z57.array(membershipCardDisplaySchema)
|
|
33931
|
+
});
|
|
33932
|
+
var cartLineDisplaySchema = z57.object({
|
|
33933
|
+
key: z57.string(),
|
|
33934
|
+
title: z57.string(),
|
|
33935
|
+
priceLabel: z57.string(),
|
|
33936
|
+
quantity: z57.number(),
|
|
33937
|
+
quantityEditable: z57.boolean()
|
|
33938
|
+
});
|
|
33939
|
+
var cartDisplaySchema = z57.object({
|
|
33940
|
+
kind: z57.literal("cart"),
|
|
33941
|
+
state: z57.enum(["empty", "ready"]),
|
|
33942
|
+
heading: z57.string().nullable(),
|
|
33943
|
+
className: z57.string().nullable(),
|
|
33944
|
+
emptyMessage: z57.string(),
|
|
33945
|
+
supportText: z57.string().nullable(),
|
|
33946
|
+
items: z57.array(cartLineDisplaySchema),
|
|
33947
|
+
subtotalLabel: z57.string().nullable(),
|
|
33948
|
+
checkoutButtonText: z57.string(),
|
|
33949
|
+
clearButtonText: z57.string()
|
|
33950
|
+
});
|
|
33951
|
+
var checkoutDisplaySchema = z57.object({
|
|
33952
|
+
kind: z57.literal("checkout"),
|
|
33953
|
+
state: z57.enum(["empty", "blocked", "ready"]),
|
|
33954
|
+
heading: z57.string().nullable(),
|
|
33955
|
+
className: z57.string().nullable(),
|
|
33956
|
+
message: z57.string().nullable(),
|
|
33957
|
+
submitButtonText: z57.string()
|
|
33958
|
+
});
|
|
33959
|
+
var passesMembershipsHydrationSchema = z57.object({
|
|
33960
|
+
passes: z57.array(publicPassProductSchema),
|
|
33961
|
+
memberships: z57.array(publicMembershipProductSchema),
|
|
33962
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
|
|
33963
|
+
});
|
|
33964
|
+
var productListHydrationSchema = z57.object({
|
|
33965
|
+
products: z57.array(publicProductSchema),
|
|
33966
|
+
showSummary: z57.boolean(),
|
|
33967
|
+
showPrices: z57.boolean(),
|
|
33968
|
+
addButtonText: z57.string()
|
|
33969
|
+
});
|
|
33970
|
+
var productDetailHydrationSchema = z57.object({
|
|
33971
|
+
products: z57.array(publicProductSchema),
|
|
33972
|
+
productId: z57.string().nullable(),
|
|
33973
|
+
showSummary: z57.boolean(),
|
|
33974
|
+
showBody: z57.boolean(),
|
|
33975
|
+
addButtonText: z57.string()
|
|
33976
|
+
});
|
|
33977
|
+
var cartHydrationSchema = z57.object({
|
|
33978
|
+
emptyStateText: z57.string(),
|
|
33979
|
+
checkoutButtonText: z57.string(),
|
|
33980
|
+
clearButtonText: z57.string()
|
|
33981
|
+
});
|
|
33982
|
+
var checkoutHydrationSchema = z57.object({
|
|
33983
|
+
emptyStateText: z57.string(),
|
|
33984
|
+
submitButtonText: z57.string()
|
|
33985
|
+
});
|
|
33986
|
+
var passesMembershipsRenderSchema = z57.object({
|
|
33866
33987
|
display: passesMembershipsDisplaySchema,
|
|
33867
33988
|
hydration: passesMembershipsHydrationSchema
|
|
33868
33989
|
});
|
|
33869
|
-
var productListRenderSchema =
|
|
33990
|
+
var productListRenderSchema = z57.object({
|
|
33870
33991
|
display: productListDisplaySchema,
|
|
33871
33992
|
hydration: productListHydrationSchema
|
|
33872
33993
|
});
|
|
33873
|
-
var productDetailRenderSchema =
|
|
33994
|
+
var productDetailRenderSchema = z57.object({
|
|
33874
33995
|
display: productDetailDisplaySchema,
|
|
33875
33996
|
hydration: productDetailHydrationSchema
|
|
33876
33997
|
});
|
|
33877
|
-
var cartRenderSchema =
|
|
33998
|
+
var cartRenderSchema = z57.object({
|
|
33878
33999
|
display: cartDisplaySchema,
|
|
33879
34000
|
hydration: cartHydrationSchema
|
|
33880
34001
|
});
|
|
33881
|
-
var checkoutRenderSchema =
|
|
34002
|
+
var checkoutRenderSchema = z57.object({
|
|
33882
34003
|
display: checkoutDisplaySchema,
|
|
33883
34004
|
hydration: checkoutHydrationSchema
|
|
33884
34005
|
});
|
|
33885
34006
|
function resolveShowPricePerCredit(source) {
|
|
33886
34007
|
return source.showPricePerCredit ?? true;
|
|
33887
34008
|
}
|
|
33888
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
33889
|
-
siteId:
|
|
33890
|
-
apiBaseUrl:
|
|
34009
|
+
var shopIslandMetaCodec = createZodCodec(z57.object({
|
|
34010
|
+
siteId: z57.string().optional(),
|
|
34011
|
+
apiBaseUrl: z57.string().optional(),
|
|
33891
34012
|
stage: previewStageSchema.optional()
|
|
33892
34013
|
}));
|
|
33893
34014
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -34265,9 +34386,9 @@ var shopBlockDefinition = {
|
|
|
34265
34386
|
runtime: shopBlockRuntime,
|
|
34266
34387
|
dataSchemas: {
|
|
34267
34388
|
// listPublicPasses returns { passes: [...] }
|
|
34268
|
-
passes:
|
|
34389
|
+
passes: publicPassProductCollectionSchema.optional(),
|
|
34269
34390
|
// listPublicMemberships returns { memberships: [...] }
|
|
34270
|
-
memberships:
|
|
34391
|
+
memberships: publicMembershipProductCollectionSchema.optional()
|
|
34271
34392
|
},
|
|
34272
34393
|
dataLoaders: {
|
|
34273
34394
|
// Load passes for display
|
|
@@ -34290,7 +34411,7 @@ var shopBlockDefinition = {
|
|
|
34290
34411
|
};
|
|
34291
34412
|
|
|
34292
34413
|
// ../blocks/src/system/blocks/product-list.ts
|
|
34293
|
-
import { z as
|
|
34414
|
+
import { z as z58 } from "zod";
|
|
34294
34415
|
var productListManifest = createBlockManifest({
|
|
34295
34416
|
id: "block.product-list",
|
|
34296
34417
|
version: "1.0.0",
|
|
@@ -34423,7 +34544,7 @@ var productListBlockDefinition = {
|
|
|
34423
34544
|
}
|
|
34424
34545
|
}
|
|
34425
34546
|
};
|
|
34426
|
-
var productListDataSchema =
|
|
34547
|
+
var productListDataSchema = z58.object({
|
|
34427
34548
|
products: publicProductsResponseSchema.optional()
|
|
34428
34549
|
});
|
|
34429
34550
|
|
|
@@ -34684,72 +34805,72 @@ var checkoutBlockDefinition = {
|
|
|
34684
34805
|
};
|
|
34685
34806
|
|
|
34686
34807
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
34687
|
-
import { z as
|
|
34688
|
-
var publicGiftCardOfferSchema =
|
|
34689
|
-
id:
|
|
34690
|
-
kind:
|
|
34691
|
-
title:
|
|
34692
|
-
description:
|
|
34693
|
-
sortOrder:
|
|
34694
|
-
giftCard:
|
|
34695
|
-
fixedDenominations:
|
|
34696
|
-
customAmountEnabled:
|
|
34697
|
-
customAmountMinCents:
|
|
34698
|
-
customAmountMaxCents:
|
|
34808
|
+
import { z as z59 } from "zod";
|
|
34809
|
+
var publicGiftCardOfferSchema = z59.object({
|
|
34810
|
+
id: z59.string(),
|
|
34811
|
+
kind: z59.literal("gift_card"),
|
|
34812
|
+
title: z59.string(),
|
|
34813
|
+
description: z59.string().nullable(),
|
|
34814
|
+
sortOrder: z59.number().int(),
|
|
34815
|
+
giftCard: z59.object({
|
|
34816
|
+
fixedDenominations: z59.array(z59.number().int().positive()),
|
|
34817
|
+
customAmountEnabled: z59.boolean(),
|
|
34818
|
+
customAmountMinCents: z59.number().int().positive(),
|
|
34819
|
+
customAmountMaxCents: z59.number().int().positive()
|
|
34699
34820
|
}),
|
|
34700
|
-
voucher:
|
|
34701
|
-
});
|
|
34702
|
-
var publicVoucherOfferSchema =
|
|
34703
|
-
id:
|
|
34704
|
-
kind:
|
|
34705
|
-
title:
|
|
34706
|
-
description:
|
|
34707
|
-
sortOrder:
|
|
34708
|
-
giftCard:
|
|
34709
|
-
voucher:
|
|
34710
|
-
purchaseAmountCents:
|
|
34821
|
+
voucher: z59.null()
|
|
34822
|
+
});
|
|
34823
|
+
var publicVoucherOfferSchema = z59.object({
|
|
34824
|
+
id: z59.string(),
|
|
34825
|
+
kind: z59.literal("voucher"),
|
|
34826
|
+
title: z59.string(),
|
|
34827
|
+
description: z59.string().nullable(),
|
|
34828
|
+
sortOrder: z59.number().int(),
|
|
34829
|
+
giftCard: z59.null(),
|
|
34830
|
+
voucher: z59.object({
|
|
34831
|
+
purchaseAmountCents: z59.number().int().positive()
|
|
34711
34832
|
})
|
|
34712
34833
|
});
|
|
34713
|
-
var publicGiftingOffersResponseSchema =
|
|
34714
|
-
currency:
|
|
34715
|
-
giftCards:
|
|
34716
|
-
vouchers:
|
|
34834
|
+
var publicGiftingOffersResponseSchema = z59.object({
|
|
34835
|
+
currency: z59.string(),
|
|
34836
|
+
giftCards: z59.array(publicGiftCardOfferSchema),
|
|
34837
|
+
vouchers: z59.array(publicVoucherOfferSchema)
|
|
34717
34838
|
});
|
|
34718
|
-
var giftingSourceSchema =
|
|
34719
|
-
siteId:
|
|
34720
|
-
apiBaseUrl:
|
|
34839
|
+
var giftingSourceSchema = z59.object({
|
|
34840
|
+
siteId: z59.string().optional(),
|
|
34841
|
+
apiBaseUrl: z59.string().optional(),
|
|
34721
34842
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
34722
|
-
className:
|
|
34723
|
-
heading:
|
|
34724
|
-
intro:
|
|
34725
|
-
giftCardsHeading:
|
|
34726
|
-
vouchersHeading:
|
|
34727
|
-
emptyStateText:
|
|
34728
|
-
checkoutButtonText:
|
|
34729
|
-
successMessage:
|
|
34730
|
-
});
|
|
34731
|
-
var giftingDisplaySchema =
|
|
34732
|
-
kind:
|
|
34733
|
-
state:
|
|
34734
|
-
className:
|
|
34735
|
-
heading:
|
|
34736
|
-
intro:
|
|
34737
|
-
giftCardsHeading:
|
|
34738
|
-
vouchersHeading:
|
|
34739
|
-
emptyStateText:
|
|
34740
|
-
});
|
|
34741
|
-
var giftingHydrationSchema =
|
|
34843
|
+
className: z59.string().nullable().optional(),
|
|
34844
|
+
heading: z59.string().nullable().optional(),
|
|
34845
|
+
intro: z59.string().nullable().optional(),
|
|
34846
|
+
giftCardsHeading: z59.string().nullable().optional(),
|
|
34847
|
+
vouchersHeading: z59.string().nullable().optional(),
|
|
34848
|
+
emptyStateText: z59.string().nullable().optional(),
|
|
34849
|
+
checkoutButtonText: z59.string().nullable().optional(),
|
|
34850
|
+
successMessage: z59.string().nullable().optional()
|
|
34851
|
+
});
|
|
34852
|
+
var giftingDisplaySchema = z59.object({
|
|
34853
|
+
kind: z59.literal("gifting"),
|
|
34854
|
+
state: z59.literal("ready"),
|
|
34855
|
+
className: z59.string().nullable(),
|
|
34856
|
+
heading: z59.string(),
|
|
34857
|
+
intro: z59.string().nullable(),
|
|
34858
|
+
giftCardsHeading: z59.string(),
|
|
34859
|
+
vouchersHeading: z59.string(),
|
|
34860
|
+
emptyStateText: z59.string()
|
|
34861
|
+
});
|
|
34862
|
+
var giftingHydrationSchema = z59.object({
|
|
34742
34863
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
34743
|
-
checkoutButtonText:
|
|
34744
|
-
successMessage:
|
|
34864
|
+
checkoutButtonText: z59.string(),
|
|
34865
|
+
successMessage: z59.string()
|
|
34745
34866
|
});
|
|
34746
|
-
var giftingRenderSchema =
|
|
34867
|
+
var giftingRenderSchema = z59.object({
|
|
34747
34868
|
display: giftingDisplaySchema,
|
|
34748
34869
|
hydration: giftingHydrationSchema
|
|
34749
34870
|
});
|
|
34750
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
34751
|
-
siteId:
|
|
34752
|
-
apiBaseUrl:
|
|
34871
|
+
var giftingIslandMetaCodec = createZodCodec(z59.object({
|
|
34872
|
+
siteId: z59.string().optional(),
|
|
34873
|
+
apiBaseUrl: z59.string().optional()
|
|
34753
34874
|
}));
|
|
34754
34875
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
34755
34876
|
"siteId",
|
|
@@ -34920,7 +35041,7 @@ var giftingBlockDefinition = {
|
|
|
34920
35041
|
};
|
|
34921
35042
|
|
|
34922
35043
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34923
|
-
import { z as
|
|
35044
|
+
import { z as z60 } from "zod";
|
|
34924
35045
|
|
|
34925
35046
|
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
34926
35047
|
function parseNewsletterSignupBlockId(value) {
|
|
@@ -35027,65 +35148,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
35027
35148
|
}
|
|
35028
35149
|
|
|
35029
35150
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
35030
|
-
var newsletterPresetSchema =
|
|
35031
|
-
var newsletterDestinationProviderSchema =
|
|
35032
|
-
var newsletterFieldSchema =
|
|
35033
|
-
id:
|
|
35034
|
-
type:
|
|
35035
|
-
label:
|
|
35036
|
-
required:
|
|
35037
|
-
placeholder:
|
|
35038
|
-
});
|
|
35039
|
-
var newsletterSignupBlockIdSchema =
|
|
35040
|
-
var signedNewsletterDestinationRefSchema =
|
|
35041
|
-
var newsletterPublicDestinationRefSchema =
|
|
35042
|
-
|
|
35043
|
-
tag:
|
|
35151
|
+
var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
35152
|
+
var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
|
|
35153
|
+
var newsletterFieldSchema = z60.object({
|
|
35154
|
+
id: z60.string(),
|
|
35155
|
+
type: z60.enum(["email", "text"]),
|
|
35156
|
+
label: z60.string(),
|
|
35157
|
+
required: z60.boolean(),
|
|
35158
|
+
placeholder: z60.string().optional()
|
|
35159
|
+
});
|
|
35160
|
+
var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
35161
|
+
var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
35162
|
+
var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
|
|
35163
|
+
z60.object({
|
|
35164
|
+
tag: z60.literal("block_ref"),
|
|
35044
35165
|
blockId: newsletterSignupBlockIdSchema
|
|
35045
35166
|
}),
|
|
35046
|
-
|
|
35047
|
-
tag:
|
|
35167
|
+
z60.object({
|
|
35168
|
+
tag: z60.literal("signed_destination_ref"),
|
|
35048
35169
|
token: signedNewsletterDestinationRefSchema
|
|
35049
35170
|
})
|
|
35050
35171
|
]);
|
|
35051
|
-
var newsletterSourceSchema =
|
|
35052
|
-
blockId:
|
|
35053
|
-
siteId:
|
|
35054
|
-
apiBaseUrl:
|
|
35055
|
-
listId:
|
|
35172
|
+
var newsletterSourceSchema = z60.object({
|
|
35173
|
+
blockId: z60.string().nullable().optional(),
|
|
35174
|
+
siteId: z60.string().optional(),
|
|
35175
|
+
apiBaseUrl: z60.string().optional(),
|
|
35176
|
+
listId: z60.string().nullable().optional(),
|
|
35056
35177
|
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
35057
35178
|
preset: newsletterPresetSchema.optional(),
|
|
35058
|
-
includePhone:
|
|
35059
|
-
buttonLabel:
|
|
35060
|
-
successMessage:
|
|
35061
|
-
privacyNote:
|
|
35062
|
-
tags:
|
|
35063
|
-
spamProtectionEnabled:
|
|
35064
|
-
className:
|
|
35065
|
-
});
|
|
35066
|
-
var newsletterDisplaySchema =
|
|
35067
|
-
kind:
|
|
35068
|
-
className:
|
|
35069
|
-
buttonLabel:
|
|
35070
|
-
successMessage:
|
|
35071
|
-
privacyNote:
|
|
35072
|
-
fields:
|
|
35073
|
-
});
|
|
35074
|
-
var newsletterHydrationSchema =
|
|
35179
|
+
includePhone: z60.boolean().optional(),
|
|
35180
|
+
buttonLabel: z60.string().nullable().optional(),
|
|
35181
|
+
successMessage: z60.string().nullable().optional(),
|
|
35182
|
+
privacyNote: z60.string().nullable().optional(),
|
|
35183
|
+
tags: z60.string().nullable().optional(),
|
|
35184
|
+
spamProtectionEnabled: z60.boolean().optional(),
|
|
35185
|
+
className: z60.string().nullable().optional()
|
|
35186
|
+
});
|
|
35187
|
+
var newsletterDisplaySchema = z60.object({
|
|
35188
|
+
kind: z60.literal("newsletter-form"),
|
|
35189
|
+
className: z60.string().nullable(),
|
|
35190
|
+
buttonLabel: z60.string(),
|
|
35191
|
+
successMessage: z60.string().nullable(),
|
|
35192
|
+
privacyNote: z60.string().nullable(),
|
|
35193
|
+
fields: z60.array(newsletterFieldSchema)
|
|
35194
|
+
});
|
|
35195
|
+
var newsletterHydrationSchema = z60.object({
|
|
35075
35196
|
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
35076
|
-
listId:
|
|
35197
|
+
listId: z60.string().nullable().optional(),
|
|
35077
35198
|
preset: newsletterPresetSchema,
|
|
35078
|
-
includePhone:
|
|
35079
|
-
tags:
|
|
35080
|
-
spamProtectionEnabled:
|
|
35199
|
+
includePhone: z60.boolean(),
|
|
35200
|
+
tags: z60.string().nullable().optional(),
|
|
35201
|
+
spamProtectionEnabled: z60.boolean().optional()
|
|
35081
35202
|
});
|
|
35082
|
-
var newsletterRenderSchema =
|
|
35203
|
+
var newsletterRenderSchema = z60.object({
|
|
35083
35204
|
display: newsletterDisplaySchema,
|
|
35084
35205
|
hydration: newsletterHydrationSchema
|
|
35085
35206
|
});
|
|
35086
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
35087
|
-
siteId:
|
|
35088
|
-
apiBaseUrl:
|
|
35207
|
+
var newsletterIslandMetaCodec = createZodCodec(z60.object({
|
|
35208
|
+
siteId: z60.string().optional(),
|
|
35209
|
+
apiBaseUrl: z60.string().optional()
|
|
35089
35210
|
}));
|
|
35090
35211
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
35091
35212
|
function buildNewsletterDisplay(source) {
|
|
@@ -35224,23 +35345,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
35224
35345
|
};
|
|
35225
35346
|
|
|
35226
35347
|
// ../blocks/src/system/blocks/team-members.ts
|
|
35227
|
-
import { z as
|
|
35348
|
+
import { z as z61 } from "zod";
|
|
35228
35349
|
var ITEM_NAME2 = "member";
|
|
35229
35350
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
35230
35351
|
message: "Team member photos must be image media"
|
|
35231
35352
|
}).nullable();
|
|
35232
|
-
var teamMemberDataSchema =
|
|
35233
|
-
_type:
|
|
35234
|
-
id:
|
|
35235
|
-
name:
|
|
35236
|
-
role:
|
|
35237
|
-
roleLabel:
|
|
35238
|
-
bio:
|
|
35239
|
-
summary:
|
|
35353
|
+
var teamMemberDataSchema = z61.object({
|
|
35354
|
+
_type: z61.literal("teamMember"),
|
|
35355
|
+
id: z61.string(),
|
|
35356
|
+
name: z61.string(),
|
|
35357
|
+
role: z61.string().nullable(),
|
|
35358
|
+
roleLabel: z61.string().nullable(),
|
|
35359
|
+
bio: z61.string().nullable(),
|
|
35360
|
+
summary: z61.string().nullable(),
|
|
35240
35361
|
photo: teamMemberPhotoSchema,
|
|
35241
|
-
profilePath:
|
|
35362
|
+
profilePath: z61.string().nullable()
|
|
35242
35363
|
});
|
|
35243
|
-
var teamMembersDataSchema =
|
|
35364
|
+
var teamMembersDataSchema = z61.array(teamMemberDataSchema);
|
|
35244
35365
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
35245
35366
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
35246
35367
|
var headingNode = text(
|
|
@@ -36132,13 +36253,6 @@ var systemBlockDefinitionsRaw = [
|
|
|
36132
36253
|
weight: "featured",
|
|
36133
36254
|
bias: "clear",
|
|
36134
36255
|
surfaces: heroSectionSurfaces
|
|
36135
|
-
}),
|
|
36136
|
-
layoutProfile({
|
|
36137
|
-
variantKey: "splitEditorial",
|
|
36138
|
-
family: "split",
|
|
36139
|
-
weight: "featured",
|
|
36140
|
-
bias: "clear",
|
|
36141
|
-
surfaces: heroSectionSurfaces
|
|
36142
36256
|
})
|
|
36143
36257
|
]
|
|
36144
36258
|
})),
|
|
@@ -36382,9 +36496,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
36382
36496
|
flow: offeringsFlow,
|
|
36383
36497
|
layoutProfiles: [
|
|
36384
36498
|
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
36499
|
+
layoutProfile({ variantKey: "calendar", family: "stack", weight: "standard" }),
|
|
36385
36500
|
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
36386
|
-
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
36387
|
-
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
36388
36501
|
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
36389
36502
|
]
|
|
36390
36503
|
})),
|
|
@@ -36947,10 +37060,7 @@ function normalizeRenderStage(stage) {
|
|
|
36947
37060
|
return stage === "preview" ? "preview" : "published";
|
|
36948
37061
|
}
|
|
36949
37062
|
function isRouteVisibleInStage(routeEntry, stageInput) {
|
|
36950
|
-
|
|
36951
|
-
if (stage === "preview" || !isRouteRecord(routeEntry)) {
|
|
36952
|
-
return true;
|
|
36953
|
-
}
|
|
37063
|
+
if (normalizeRenderStage(stageInput) === "preview" || !isRouteRecord(routeEntry)) return true;
|
|
36954
37064
|
const status = routeEntry.status;
|
|
36955
37065
|
return !(typeof status === "string" && status !== "published");
|
|
36956
37066
|
}
|
|
@@ -36959,52 +37069,45 @@ function extractRouteHref(candidate, stageInput = "published") {
|
|
|
36959
37069
|
const trimmed = candidate.trim();
|
|
36960
37070
|
return trimmed.length > 0 ? trimmed : null;
|
|
36961
37071
|
}
|
|
36962
|
-
if (!isRouteRecord(candidate))
|
|
36963
|
-
|
|
36964
|
-
|
|
36965
|
-
|
|
36966
|
-
|
|
37072
|
+
if (!isRouteRecord(candidate)) return null;
|
|
37073
|
+
const fields3 = normalizeRenderStage(stageInput) === "preview" ? [
|
|
37074
|
+
"draftPath",
|
|
37075
|
+
"path",
|
|
37076
|
+
"href",
|
|
37077
|
+
"url"
|
|
37078
|
+
] : [
|
|
37079
|
+
"path",
|
|
37080
|
+
"href",
|
|
37081
|
+
"url"
|
|
37082
|
+
];
|
|
36967
37083
|
for (const field of fields3) {
|
|
36968
37084
|
const value = candidate[field];
|
|
36969
|
-
if (typeof value === "string" && value.trim().length > 0)
|
|
36970
|
-
return value.trim();
|
|
36971
|
-
}
|
|
37085
|
+
if (typeof value === "string" && value.trim().length > 0) return value.trim();
|
|
36972
37086
|
}
|
|
36973
37087
|
return null;
|
|
36974
37088
|
}
|
|
36975
37089
|
function extractRouteUpdatedAt(candidate) {
|
|
36976
|
-
if (!isRouteRecord(candidate))
|
|
36977
|
-
|
|
36978
|
-
}
|
|
36979
|
-
const fields3 = [
|
|
37090
|
+
if (!isRouteRecord(candidate)) return null;
|
|
37091
|
+
for (const field of [
|
|
36980
37092
|
"updatedAt",
|
|
36981
37093
|
"updated_at",
|
|
36982
37094
|
"publishedAt",
|
|
36983
37095
|
"published_at",
|
|
36984
37096
|
"modifiedAt",
|
|
36985
37097
|
"modified_at"
|
|
36986
|
-
]
|
|
36987
|
-
for (const field of fields3) {
|
|
37098
|
+
]) {
|
|
36988
37099
|
const value = candidate[field];
|
|
36989
|
-
if (typeof value === "string" && value.length > 0)
|
|
36990
|
-
return value;
|
|
36991
|
-
}
|
|
37100
|
+
if (typeof value === "string" && value.length > 0) return value;
|
|
36992
37101
|
}
|
|
36993
37102
|
return null;
|
|
36994
37103
|
}
|
|
36995
37104
|
function resolveRouteTargetForStage(routeIdValue, routes, stageInput) {
|
|
36996
37105
|
const routeId = typeof routeIdValue === "string" ? routeIdValue : null;
|
|
36997
|
-
if (!routeId || !routes)
|
|
36998
|
-
return null;
|
|
36999
|
-
}
|
|
37106
|
+
if (!routeId || !routes) return null;
|
|
37000
37107
|
const routeEntry = routes[routeId];
|
|
37001
|
-
if (!isRouteVisibleInStage(routeEntry, stageInput))
|
|
37002
|
-
return null;
|
|
37003
|
-
}
|
|
37108
|
+
if (!isRouteVisibleInStage(routeEntry, stageInput)) return null;
|
|
37004
37109
|
const href = extractRouteHref(routeEntry, stageInput);
|
|
37005
|
-
if (!href)
|
|
37006
|
-
return null;
|
|
37007
|
-
}
|
|
37110
|
+
if (!href) return null;
|
|
37008
37111
|
return {
|
|
37009
37112
|
routeId,
|
|
37010
37113
|
href,
|
|
@@ -37934,42 +38037,45 @@ import { jsx as jsx5 } from "react/jsx-runtime";
|
|
|
37934
38037
|
import * as React from "react";
|
|
37935
38038
|
import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
37936
38039
|
|
|
38040
|
+
// ../theme-core/src/ResponsiveScope.tsx
|
|
38041
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
38042
|
+
|
|
37937
38043
|
// ../theme-core/src/fonts/uploadFormat.ts
|
|
37938
38044
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
37939
38045
|
|
|
37940
38046
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
37941
|
-
import { z as
|
|
37942
|
-
var themeBridgeConfigSchema =
|
|
37943
|
-
tokens:
|
|
37944
|
-
typography:
|
|
37945
|
-
headingFamily:
|
|
37946
|
-
bodyFamily:
|
|
37947
|
-
headingWeight:
|
|
37948
|
-
bodyWeight:
|
|
38047
|
+
import { z as z62 } from "zod";
|
|
38048
|
+
var themeBridgeConfigSchema = z62.object({
|
|
38049
|
+
tokens: z62.record(z62.string(), z62.string()),
|
|
38050
|
+
typography: z62.object({
|
|
38051
|
+
headingFamily: z62.string().optional(),
|
|
38052
|
+
bodyFamily: z62.string().optional(),
|
|
38053
|
+
headingWeight: z62.number().optional(),
|
|
38054
|
+
bodyWeight: z62.number().optional()
|
|
37949
38055
|
}).optional(),
|
|
37950
|
-
spacing:
|
|
37951
|
-
corners:
|
|
37952
|
-
shadows:
|
|
37953
|
-
components:
|
|
37954
|
-
buttons:
|
|
37955
|
-
|
|
37956
|
-
|
|
37957
|
-
variants:
|
|
38056
|
+
spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
|
|
38057
|
+
corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
38058
|
+
shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
|
|
38059
|
+
components: z62.object({
|
|
38060
|
+
buttons: z62.union([
|
|
38061
|
+
z62.boolean(),
|
|
38062
|
+
z62.object({
|
|
38063
|
+
variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
37958
38064
|
})
|
|
37959
38065
|
]).optional(),
|
|
37960
|
-
cards:
|
|
37961
|
-
|
|
37962
|
-
|
|
37963
|
-
variants:
|
|
38066
|
+
cards: z62.union([
|
|
38067
|
+
z62.boolean(),
|
|
38068
|
+
z62.object({
|
|
38069
|
+
variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
|
|
37964
38070
|
})
|
|
37965
38071
|
]).optional(),
|
|
37966
|
-
inputs:
|
|
38072
|
+
inputs: z62.boolean().optional()
|
|
37967
38073
|
}).optional(),
|
|
37968
|
-
overrides:
|
|
38074
|
+
overrides: z62.record(z62.string(), z62.string()).optional()
|
|
37969
38075
|
}).passthrough();
|
|
37970
38076
|
|
|
37971
38077
|
// ../theme-core/src/siteChrome.tsx
|
|
37972
|
-
import { Fragment as Fragment2, jsx as
|
|
38078
|
+
import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
37973
38079
|
|
|
37974
38080
|
// ../blocks/src/system/data/loaderEndpoints.ts
|
|
37975
38081
|
var SUPPORTED_LOADER_ENDPOINTS = [
|
|
@@ -37991,17 +38097,17 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
37991
38097
|
function unsafeRetypeZodSchema(schema) {
|
|
37992
38098
|
return schema;
|
|
37993
38099
|
}
|
|
37994
|
-
var navIdListSchema =
|
|
38100
|
+
var navIdListSchema = z63.preprocess((value) => {
|
|
37995
38101
|
if (!Array.isArray(value)) return void 0;
|
|
37996
38102
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
37997
38103
|
return filtered.length > 0 ? filtered : void 0;
|
|
37998
|
-
},
|
|
37999
|
-
var dashboardNavVisibilityBaseSchema =
|
|
38000
|
-
mode:
|
|
38104
|
+
}, z63.array(z63.string()).max(200).optional());
|
|
38105
|
+
var dashboardNavVisibilityBaseSchema = z63.object({
|
|
38106
|
+
mode: z63.enum(["augment", "restrict"]).optional(),
|
|
38001
38107
|
allowIds: navIdListSchema,
|
|
38002
38108
|
denyIds: navIdListSchema
|
|
38003
38109
|
}).strip();
|
|
38004
|
-
var dashboardNavVisibilityRolesSchema =
|
|
38110
|
+
var dashboardNavVisibilityRolesSchema = z63.object({
|
|
38005
38111
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
38006
38112
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
38007
38113
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -38009,63 +38115,63 @@ var dashboardNavVisibilityRolesSchema = z65.object({
|
|
|
38009
38115
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
38010
38116
|
roles: dashboardNavVisibilityRolesSchema
|
|
38011
38117
|
}).strip();
|
|
38012
|
-
var dashboardNavigationConfigSchema =
|
|
38118
|
+
var dashboardNavigationConfigSchema = z63.object({
|
|
38013
38119
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
38014
38120
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
38015
38121
|
}).strip();
|
|
38016
|
-
var dashboardConfigSchema =
|
|
38017
|
-
previewEditingEnabled:
|
|
38122
|
+
var dashboardConfigSchema = z63.object({
|
|
38123
|
+
previewEditingEnabled: z63.boolean().optional(),
|
|
38018
38124
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
38019
38125
|
}).strip();
|
|
38020
38126
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
38021
38127
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
38022
|
-
var sdkLoaderEndpointSchema =
|
|
38023
|
-
var loaderFallbackScalarSchema =
|
|
38024
|
-
|
|
38025
|
-
|
|
38026
|
-
|
|
38027
|
-
|
|
38128
|
+
var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
38129
|
+
var loaderFallbackScalarSchema = z63.union([
|
|
38130
|
+
z63.string(),
|
|
38131
|
+
z63.number(),
|
|
38132
|
+
z63.boolean(),
|
|
38133
|
+
z63.null()
|
|
38028
38134
|
]);
|
|
38029
|
-
var loaderParamBindingSchema =
|
|
38030
|
-
$bind:
|
|
38031
|
-
from:
|
|
38135
|
+
var loaderParamBindingSchema = z63.object({
|
|
38136
|
+
$bind: z63.object({
|
|
38137
|
+
from: z63.string().min(1, "Binding path is required"),
|
|
38032
38138
|
fallback: loaderFallbackScalarSchema.optional()
|
|
38033
38139
|
})
|
|
38034
38140
|
});
|
|
38035
|
-
var loaderParamValueSchema =
|
|
38036
|
-
|
|
38037
|
-
|
|
38038
|
-
|
|
38141
|
+
var loaderParamValueSchema = z63.union([
|
|
38142
|
+
z63.string(),
|
|
38143
|
+
z63.number(),
|
|
38144
|
+
z63.boolean(),
|
|
38039
38145
|
loaderParamBindingSchema
|
|
38040
38146
|
]);
|
|
38041
|
-
var sdkConfigLoaderSchema =
|
|
38147
|
+
var sdkConfigLoaderSchema = z63.object({
|
|
38042
38148
|
endpoint: sdkLoaderEndpointSchema,
|
|
38043
|
-
params:
|
|
38044
|
-
mode:
|
|
38149
|
+
params: z63.record(z63.string(), loaderParamValueSchema),
|
|
38150
|
+
mode: z63.enum(["server", "client"]).default("server")
|
|
38045
38151
|
});
|
|
38046
|
-
var sdkDataLoadersSchema =
|
|
38047
|
-
var sdkCustomBlockIdSchema =
|
|
38152
|
+
var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
38153
|
+
var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
38048
38154
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
38049
38155
|
}).transform((value) => value);
|
|
38050
|
-
var sdkCustomBlockInputSchema =
|
|
38156
|
+
var sdkCustomBlockInputSchema = z63.object({
|
|
38051
38157
|
id: sdkCustomBlockIdSchema,
|
|
38052
|
-
title:
|
|
38053
|
-
titleSource:
|
|
38054
|
-
description:
|
|
38158
|
+
title: z63.string().min(1),
|
|
38159
|
+
titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
|
|
38160
|
+
description: z63.string().optional(),
|
|
38055
38161
|
category: blockCategoryEnum,
|
|
38056
|
-
icon:
|
|
38057
|
-
tags:
|
|
38162
|
+
icon: z63.string().optional(),
|
|
38163
|
+
tags: z63.array(z63.string()).optional(),
|
|
38058
38164
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
38059
38165
|
dataLoaders: sdkDataLoadersSchema,
|
|
38060
38166
|
layout: NodeSchema.optional(),
|
|
38061
|
-
variants:
|
|
38062
|
-
defaultVariant:
|
|
38063
|
-
variantOptions:
|
|
38064
|
-
|
|
38065
|
-
|
|
38066
|
-
label:
|
|
38067
|
-
description:
|
|
38068
|
-
icon:
|
|
38167
|
+
variants: z63.record(z63.string().min(1), NodeSchema).optional(),
|
|
38168
|
+
defaultVariant: z63.string().min(1).optional(),
|
|
38169
|
+
variantOptions: z63.record(
|
|
38170
|
+
z63.string().min(1),
|
|
38171
|
+
z63.object({
|
|
38172
|
+
label: z63.string().min(1).optional(),
|
|
38173
|
+
description: z63.string().min(1).optional(),
|
|
38174
|
+
icon: z63.string().min(1).optional()
|
|
38069
38175
|
})
|
|
38070
38176
|
).optional(),
|
|
38071
38177
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -38076,7 +38182,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38076
38182
|
const exists = data.fields.some((field) => field.id === source);
|
|
38077
38183
|
if (!exists) {
|
|
38078
38184
|
ctx.addIssue({
|
|
38079
|
-
code:
|
|
38185
|
+
code: z63.ZodIssueCode.custom,
|
|
38080
38186
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
38081
38187
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
38082
38188
|
});
|
|
@@ -38085,7 +38191,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38085
38191
|
}
|
|
38086
38192
|
if (data.layout && data.variants) {
|
|
38087
38193
|
ctx.addIssue({
|
|
38088
|
-
code:
|
|
38194
|
+
code: z63.ZodIssueCode.custom,
|
|
38089
38195
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
38090
38196
|
path: ["variants"]
|
|
38091
38197
|
});
|
|
@@ -38094,14 +38200,14 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38094
38200
|
const keys = Object.keys(data.variants);
|
|
38095
38201
|
if (keys.length === 0) {
|
|
38096
38202
|
ctx.addIssue({
|
|
38097
|
-
code:
|
|
38203
|
+
code: z63.ZodIssueCode.custom,
|
|
38098
38204
|
message: "`variants` must contain at least one variant key",
|
|
38099
38205
|
path: ["variants"]
|
|
38100
38206
|
});
|
|
38101
38207
|
}
|
|
38102
38208
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
38103
38209
|
ctx.addIssue({
|
|
38104
|
-
code:
|
|
38210
|
+
code: z63.ZodIssueCode.custom,
|
|
38105
38211
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
38106
38212
|
path: ["defaultVariant"]
|
|
38107
38213
|
});
|
|
@@ -38110,7 +38216,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38110
38216
|
for (const key of Object.keys(data.variantOptions)) {
|
|
38111
38217
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
38112
38218
|
ctx.addIssue({
|
|
38113
|
-
code:
|
|
38219
|
+
code: z63.ZodIssueCode.custom,
|
|
38114
38220
|
message: "`variantOptions` key must exist in `variants`",
|
|
38115
38221
|
path: ["variantOptions", key]
|
|
38116
38222
|
});
|
|
@@ -38119,78 +38225,78 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38119
38225
|
}
|
|
38120
38226
|
}
|
|
38121
38227
|
});
|
|
38122
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38228
|
+
var sdkBlockFieldExtensionInputSchema = z63.object({
|
|
38123
38229
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
38124
38230
|
});
|
|
38125
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
38126
|
-
|
|
38231
|
+
var sdkBlockFieldExtensionsInputSchema = z63.record(
|
|
38232
|
+
z63.string().min(1),
|
|
38127
38233
|
sdkBlockFieldExtensionInputSchema
|
|
38128
38234
|
);
|
|
38129
|
-
var sdkThemePaletteSchema =
|
|
38130
|
-
var sdkThemeConfigSchema =
|
|
38235
|
+
var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
|
|
38236
|
+
var sdkThemeConfigSchema = z63.object({
|
|
38131
38237
|
palette: sdkThemePaletteSchema
|
|
38132
38238
|
});
|
|
38133
|
-
var sdkSectionBackgroundSchema =
|
|
38134
|
-
id:
|
|
38135
|
-
label:
|
|
38136
|
-
token:
|
|
38239
|
+
var sdkSectionBackgroundSchema = z63.object({
|
|
38240
|
+
id: z63.string().min(1),
|
|
38241
|
+
label: z63.string().min(1),
|
|
38242
|
+
token: z63.string().min(1)
|
|
38137
38243
|
});
|
|
38138
|
-
var sdkSectionOptionsConfigSchema =
|
|
38139
|
-
backgroundColor:
|
|
38140
|
-
backgroundImage:
|
|
38141
|
-
backgroundGradient:
|
|
38142
|
-
spacing:
|
|
38143
|
-
textColor:
|
|
38244
|
+
var sdkSectionOptionsConfigSchema = z63.object({
|
|
38245
|
+
backgroundColor: z63.boolean().optional(),
|
|
38246
|
+
backgroundImage: z63.boolean().optional(),
|
|
38247
|
+
backgroundGradient: z63.boolean().optional(),
|
|
38248
|
+
spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
|
|
38249
|
+
textColor: z63.boolean().optional()
|
|
38144
38250
|
});
|
|
38145
|
-
var sdkContainerOptionsConfigSchema =
|
|
38146
|
-
maxWidth:
|
|
38147
|
-
alignment:
|
|
38251
|
+
var sdkContainerOptionsConfigSchema = z63.object({
|
|
38252
|
+
maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
|
|
38253
|
+
alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
|
|
38148
38254
|
});
|
|
38149
|
-
var sdkSiteStyleConfigSchema =
|
|
38150
|
-
sectionBackgrounds:
|
|
38255
|
+
var sdkSiteStyleConfigSchema = z63.object({
|
|
38256
|
+
sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
|
|
38151
38257
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
38152
38258
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
38153
38259
|
});
|
|
38154
|
-
var sdkSiteLayoutConfigSchema =
|
|
38155
|
-
footerBlocks:
|
|
38156
|
-
|
|
38157
|
-
id:
|
|
38158
|
-
kind:
|
|
38159
|
-
content:
|
|
38260
|
+
var sdkSiteLayoutConfigSchema = z63.object({
|
|
38261
|
+
footerBlocks: z63.array(
|
|
38262
|
+
z63.object({
|
|
38263
|
+
id: z63.string().min(1).optional(),
|
|
38264
|
+
kind: z63.string().min(1),
|
|
38265
|
+
content: z63.record(z63.string(), z63.unknown()).optional()
|
|
38160
38266
|
})
|
|
38161
38267
|
).optional()
|
|
38162
38268
|
});
|
|
38163
|
-
var sdkFieldSelectOptionSchema =
|
|
38164
|
-
value:
|
|
38165
|
-
label:
|
|
38269
|
+
var sdkFieldSelectOptionSchema = z63.object({
|
|
38270
|
+
value: z63.string(),
|
|
38271
|
+
label: z63.string()
|
|
38166
38272
|
});
|
|
38167
|
-
var sdkBlockFieldConfigSchema =
|
|
38168
|
-
options:
|
|
38273
|
+
var sdkBlockFieldConfigSchema = z63.object({
|
|
38274
|
+
options: z63.array(sdkFieldSelectOptionSchema).optional()
|
|
38169
38275
|
});
|
|
38170
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
38171
|
-
|
|
38276
|
+
var sdkBlockFieldOptionsMapSchema = z63.record(
|
|
38277
|
+
z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
38172
38278
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
38173
38279
|
}),
|
|
38174
|
-
|
|
38280
|
+
z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
|
|
38175
38281
|
).optional();
|
|
38176
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
38177
|
-
blocks:
|
|
38282
|
+
var sdkContentTypeTemplateConfigSchema = z63.object({
|
|
38283
|
+
blocks: z63.array(z63.unknown())
|
|
38178
38284
|
}).passthrough();
|
|
38179
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
38180
|
-
mode:
|
|
38285
|
+
var sdkContentTypeOrderingConfigSchema = z63.object({
|
|
38286
|
+
mode: z63.enum(["default", "manual"]).optional()
|
|
38181
38287
|
}).optional();
|
|
38182
|
-
var sdkContentTypeConfigSchema =
|
|
38183
|
-
key:
|
|
38184
|
-
fields:
|
|
38288
|
+
var sdkContentTypeConfigSchema = z63.object({
|
|
38289
|
+
key: z63.string().min(1),
|
|
38290
|
+
fields: z63.array(z63.unknown()),
|
|
38185
38291
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
38186
38292
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
38187
38293
|
}).passthrough();
|
|
38188
|
-
var sdkContentConfigSchema =
|
|
38189
|
-
contentTypes:
|
|
38190
|
-
pages:
|
|
38191
|
-
entries:
|
|
38192
|
-
navigationMenus:
|
|
38193
|
-
settings:
|
|
38294
|
+
var sdkContentConfigSchema = z63.object({
|
|
38295
|
+
contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
|
|
38296
|
+
pages: z63.array(z63.unknown()).optional(),
|
|
38297
|
+
entries: z63.array(z63.unknown()).optional(),
|
|
38298
|
+
navigationMenus: z63.array(z63.unknown()).optional(),
|
|
38299
|
+
settings: z63.unknown().optional()
|
|
38194
38300
|
}).passthrough();
|
|
38195
38301
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
38196
38302
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -38205,62 +38311,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
38205
38311
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
38206
38312
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
38207
38313
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
38208
|
-
var sdkWorkflowIdSchema =
|
|
38314
|
+
var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
38209
38315
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
38210
38316
|
});
|
|
38211
|
-
var sdkWorkflowEndpointSchema =
|
|
38212
|
-
var sdkWorkflowManualTriggerSchema =
|
|
38213
|
-
type:
|
|
38317
|
+
var sdkWorkflowEndpointSchema = z63.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
|
|
38318
|
+
var sdkWorkflowManualTriggerSchema = z63.object({
|
|
38319
|
+
type: z63.literal("manual")
|
|
38214
38320
|
}).strict();
|
|
38215
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38321
|
+
var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
38216
38322
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
38217
38323
|
});
|
|
38218
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38324
|
+
var sdkWorkflowFieldChangedConditionSchema = z63.object({
|
|
38219
38325
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38220
|
-
changed:
|
|
38326
|
+
changed: z63.literal(true)
|
|
38221
38327
|
}).strict();
|
|
38222
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38328
|
+
var sdkWorkflowFieldEmptyConditionSchema = z63.object({
|
|
38223
38329
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38224
|
-
isEmpty:
|
|
38330
|
+
isEmpty: z63.boolean()
|
|
38225
38331
|
}).strict();
|
|
38226
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
38227
|
-
type:
|
|
38228
|
-
when:
|
|
38229
|
-
|
|
38332
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
|
|
38333
|
+
type: z63.literal("entry.draft.updated"),
|
|
38334
|
+
when: z63.array(
|
|
38335
|
+
z63.union([
|
|
38230
38336
|
sdkWorkflowFieldChangedConditionSchema,
|
|
38231
38337
|
sdkWorkflowFieldEmptyConditionSchema
|
|
38232
38338
|
])
|
|
38233
38339
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
38234
38340
|
}).strict();
|
|
38235
|
-
var sdkWorkflowTriggerSchema =
|
|
38341
|
+
var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
|
|
38236
38342
|
sdkWorkflowManualTriggerSchema,
|
|
38237
38343
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
38238
38344
|
]);
|
|
38239
|
-
var sdkWorkflowConfirmationSchema =
|
|
38240
|
-
title:
|
|
38241
|
-
body:
|
|
38345
|
+
var sdkWorkflowConfirmationSchema = z63.object({
|
|
38346
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
38347
|
+
body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
38242
38348
|
}).strict();
|
|
38243
|
-
var sdkWorkflowConfigSchema =
|
|
38349
|
+
var sdkWorkflowConfigSchema = z63.object({
|
|
38244
38350
|
id: sdkWorkflowIdSchema,
|
|
38245
|
-
title:
|
|
38246
|
-
description:
|
|
38247
|
-
contentType:
|
|
38351
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
38352
|
+
description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
38353
|
+
contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
38248
38354
|
endpoint: sdkWorkflowEndpointSchema,
|
|
38249
|
-
triggers:
|
|
38355
|
+
triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
38250
38356
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
38251
38357
|
}).strict();
|
|
38252
|
-
var sdkWorkflowsSchema =
|
|
38358
|
+
var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
38253
38359
|
const ids = workflows.map((workflow) => workflow.id);
|
|
38254
38360
|
return ids.length === new Set(ids).size;
|
|
38255
38361
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
38256
|
-
var riverbankSiteConfigInputSchema =
|
|
38257
|
-
siteId:
|
|
38258
|
-
previewUrl:
|
|
38259
|
-
liveUrl:
|
|
38362
|
+
var riverbankSiteConfigInputSchema = z63.object({
|
|
38363
|
+
siteId: z63.string().uuid(),
|
|
38364
|
+
previewUrl: z63.string().url().optional(),
|
|
38365
|
+
liveUrl: z63.string().url().optional(),
|
|
38260
38366
|
theme: sdkThemeConfigSchema.optional(),
|
|
38261
38367
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
38262
38368
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
38263
|
-
customBlocks:
|
|
38369
|
+
customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
38264
38370
|
const ids = blocks.map((b) => b.id);
|
|
38265
38371
|
return ids.length === new Set(ids).size;
|
|
38266
38372
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -38268,50 +38374,50 @@ var riverbankSiteConfigInputSchema = z65.object({
|
|
|
38268
38374
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
38269
38375
|
workflows: sdkWorkflowsSchema,
|
|
38270
38376
|
content: sdkContentConfigSchema.optional(),
|
|
38271
|
-
contentDir:
|
|
38272
|
-
sync:
|
|
38273
|
-
existingEntries:
|
|
38377
|
+
contentDir: z63.string().optional(),
|
|
38378
|
+
sync: z63.object({
|
|
38379
|
+
existingEntries: z63.enum(["skip", "update"]).optional()
|
|
38274
38380
|
}).optional(),
|
|
38275
|
-
deploy:
|
|
38276
|
-
verifyCommand:
|
|
38277
|
-
prebuildOutput:
|
|
38381
|
+
deploy: z63.object({
|
|
38382
|
+
verifyCommand: z63.string().optional(),
|
|
38383
|
+
prebuildOutput: z63.string().optional()
|
|
38278
38384
|
}).optional(),
|
|
38279
|
-
themeSource:
|
|
38280
|
-
activeTheme:
|
|
38281
|
-
enablePortal:
|
|
38385
|
+
themeSource: z63.enum(["local", "cms"]).optional(),
|
|
38386
|
+
activeTheme: z63.string().optional(),
|
|
38387
|
+
enablePortal: z63.boolean().optional(),
|
|
38282
38388
|
dashboard: dashboardConfigSchema.optional()
|
|
38283
38389
|
}).strict();
|
|
38284
|
-
var pushSdkConfigBodySchema =
|
|
38390
|
+
var pushSdkConfigBodySchema = z63.object({
|
|
38285
38391
|
config: riverbankSiteConfigInputSchema,
|
|
38286
|
-
forceContentTypes:
|
|
38392
|
+
forceContentTypes: z63.boolean().optional()
|
|
38287
38393
|
}).strict();
|
|
38288
38394
|
|
|
38289
38395
|
// ../api/src/siteOnboarding.ts
|
|
38290
|
-
import { z as
|
|
38396
|
+
import { z as z64 } from "zod";
|
|
38291
38397
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
38292
38398
|
configure_appointments: {
|
|
38293
38399
|
requirementId: "configure_appointments",
|
|
38294
38400
|
reason: "launch_anyway"
|
|
38295
38401
|
}
|
|
38296
38402
|
};
|
|
38297
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38403
|
+
var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
|
|
38298
38404
|
"requirementId",
|
|
38299
38405
|
[
|
|
38300
|
-
|
|
38301
|
-
requirementId:
|
|
38406
|
+
z64.object({
|
|
38407
|
+
requirementId: z64.literal("review_generated_site")
|
|
38302
38408
|
}),
|
|
38303
|
-
|
|
38304
|
-
requirementId:
|
|
38409
|
+
z64.object({
|
|
38410
|
+
requirementId: z64.literal(
|
|
38305
38411
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
38306
38412
|
),
|
|
38307
|
-
overrideReason:
|
|
38413
|
+
overrideReason: z64.literal(
|
|
38308
38414
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
38309
38415
|
)
|
|
38310
38416
|
})
|
|
38311
38417
|
]
|
|
38312
38418
|
);
|
|
38313
|
-
var goLiveSiteRequestSchema =
|
|
38314
|
-
acceptExtraSiteCharge:
|
|
38419
|
+
var goLiveSiteRequestSchema = z64.object({
|
|
38420
|
+
acceptExtraSiteCharge: z64.boolean().optional()
|
|
38315
38421
|
});
|
|
38316
38422
|
|
|
38317
38423
|
// ../surfaces/src/index.ts
|
|
@@ -38395,7 +38501,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
38395
38501
|
];
|
|
38396
38502
|
|
|
38397
38503
|
// ../api/src/bookingVerticals.ts
|
|
38398
|
-
import { z as
|
|
38504
|
+
import { z as z65 } from "zod";
|
|
38399
38505
|
var VERTICAL_IDS = [
|
|
38400
38506
|
"yoga_wellness",
|
|
38401
38507
|
"fitness_pt",
|
|
@@ -38560,39 +38666,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
38560
38666
|
}
|
|
38561
38667
|
return [...issues];
|
|
38562
38668
|
}
|
|
38563
|
-
var VerticalIdSchema =
|
|
38669
|
+
var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
38564
38670
|
const parsed = parseVerticalId(value);
|
|
38565
38671
|
if (!parsed) {
|
|
38566
38672
|
ctx.addIssue({
|
|
38567
|
-
code:
|
|
38673
|
+
code: z65.ZodIssueCode.custom,
|
|
38568
38674
|
message: "Unknown booking vertical"
|
|
38569
38675
|
});
|
|
38570
|
-
return
|
|
38676
|
+
return z65.NEVER;
|
|
38571
38677
|
}
|
|
38572
38678
|
return parsed;
|
|
38573
38679
|
});
|
|
38574
|
-
var VerticalPresetIdSchema =
|
|
38680
|
+
var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
38575
38681
|
const parsed = parseVerticalPresetId(value);
|
|
38576
38682
|
if (!parsed) {
|
|
38577
38683
|
ctx.addIssue({
|
|
38578
|
-
code:
|
|
38684
|
+
code: z65.ZodIssueCode.custom,
|
|
38579
38685
|
message: "Unknown booking preset"
|
|
38580
38686
|
});
|
|
38581
|
-
return
|
|
38687
|
+
return z65.NEVER;
|
|
38582
38688
|
}
|
|
38583
38689
|
return parsed;
|
|
38584
38690
|
});
|
|
38585
|
-
var BookingVerticalConfigSchema =
|
|
38691
|
+
var BookingVerticalConfigSchema = z65.object({
|
|
38586
38692
|
verticalId: VerticalIdSchema.nullable(),
|
|
38587
|
-
selectedPresetIds:
|
|
38693
|
+
selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
|
|
38588
38694
|
}).transform((value, ctx) => {
|
|
38589
38695
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
38590
38696
|
if (resolved.kind === "invalid") {
|
|
38591
38697
|
ctx.addIssue({
|
|
38592
|
-
code:
|
|
38698
|
+
code: z65.ZodIssueCode.custom,
|
|
38593
38699
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
38594
38700
|
});
|
|
38595
|
-
return
|
|
38701
|
+
return z65.NEVER;
|
|
38596
38702
|
}
|
|
38597
38703
|
return resolved.config;
|
|
38598
38704
|
});
|
|
@@ -38614,56 +38720,56 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
|
|
|
38614
38720
|
}
|
|
38615
38721
|
|
|
38616
38722
|
// ../api/src/utils/isRecord.ts
|
|
38617
|
-
function
|
|
38723
|
+
function isRecord8(value) {
|
|
38618
38724
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
38619
38725
|
}
|
|
38620
38726
|
|
|
38621
38727
|
// ../api/src/appointmentSetup.ts
|
|
38622
|
-
import { z as
|
|
38728
|
+
import { z as z66 } from "zod";
|
|
38623
38729
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
38624
|
-
var appointmentSetupRefSchema =
|
|
38625
|
-
|
|
38626
|
-
|
|
38730
|
+
var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
|
|
38731
|
+
z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
|
|
38732
|
+
z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
|
|
38627
38733
|
]);
|
|
38628
|
-
var appointmentSetupVenueChoiceSchema =
|
|
38629
|
-
|
|
38630
|
-
|
|
38631
|
-
|
|
38632
|
-
kind:
|
|
38633
|
-
draftId:
|
|
38634
|
-
title:
|
|
38635
|
-
description:
|
|
38636
|
-
timezone:
|
|
38637
|
-
addressJson:
|
|
38638
|
-
locationJson:
|
|
38734
|
+
var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
|
|
38735
|
+
z66.object({ kind: z66.literal("none") }),
|
|
38736
|
+
z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
|
|
38737
|
+
z66.object({
|
|
38738
|
+
kind: z66.literal("create"),
|
|
38739
|
+
draftId: z66.string().min(1),
|
|
38740
|
+
title: z66.string().trim().min(1),
|
|
38741
|
+
description: z66.string().nullable(),
|
|
38742
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
38743
|
+
addressJson: z66.record(z66.string(), z66.unknown()),
|
|
38744
|
+
locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
|
|
38639
38745
|
})
|
|
38640
38746
|
]);
|
|
38641
|
-
var appointmentSetupPaymentDraftSchema =
|
|
38642
|
-
priceType:
|
|
38643
|
-
});
|
|
38644
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
38645
|
-
|
|
38646
|
-
|
|
38647
|
-
kind:
|
|
38648
|
-
resourceRefs:
|
|
38747
|
+
var appointmentSetupPaymentDraftSchema = z66.object({
|
|
38748
|
+
priceType: z66.union([z66.literal("free"), z66.literal("paid")])
|
|
38749
|
+
});
|
|
38750
|
+
var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
|
|
38751
|
+
z66.object({ kind: z66.literal("all_practitioners") }),
|
|
38752
|
+
z66.object({
|
|
38753
|
+
kind: z66.literal("selected_practitioners"),
|
|
38754
|
+
resourceRefs: z66.array(appointmentSetupRefSchema)
|
|
38649
38755
|
})
|
|
38650
38756
|
]);
|
|
38651
|
-
var appointmentSetupServiceDraftSchema =
|
|
38757
|
+
var appointmentSetupServiceDraftSchema = z66.object({
|
|
38652
38758
|
ref: appointmentSetupRefSchema,
|
|
38653
|
-
title:
|
|
38654
|
-
description:
|
|
38655
|
-
durationMinutes:
|
|
38656
|
-
prepMinutes:
|
|
38657
|
-
cleanupMinutes:
|
|
38658
|
-
priceAmount:
|
|
38659
|
-
isActive:
|
|
38660
|
-
locationType:
|
|
38661
|
-
|
|
38662
|
-
|
|
38663
|
-
|
|
38759
|
+
title: z66.string().trim().min(1),
|
|
38760
|
+
description: z66.string().nullable(),
|
|
38761
|
+
durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
38762
|
+
prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38763
|
+
cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38764
|
+
priceAmount: z66.number().int().nonnegative().nullable(),
|
|
38765
|
+
isActive: z66.boolean(),
|
|
38766
|
+
locationType: z66.union([
|
|
38767
|
+
z66.literal("virtual"),
|
|
38768
|
+
z66.literal("in_person"),
|
|
38769
|
+
z66.literal("hybrid")
|
|
38664
38770
|
]),
|
|
38665
38771
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38666
|
-
timezone:
|
|
38772
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
38667
38773
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38668
38774
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
38669
38775
|
}).superRefine((service, ctx) => {
|
|
@@ -38682,49 +38788,49 @@ var appointmentSetupServiceDraftSchema = z68.object({
|
|
|
38682
38788
|
});
|
|
38683
38789
|
}
|
|
38684
38790
|
});
|
|
38685
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
38791
|
+
var appointmentSetupPractitionerDraftSchema = z66.object({
|
|
38686
38792
|
ref: appointmentSetupRefSchema,
|
|
38687
|
-
displayName:
|
|
38688
|
-
bio:
|
|
38689
|
-
timezone:
|
|
38690
|
-
colorHex:
|
|
38691
|
-
});
|
|
38692
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
38693
|
-
weekday:
|
|
38694
|
-
startTime:
|
|
38695
|
-
endTime:
|
|
38696
|
-
});
|
|
38697
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
38698
|
-
|
|
38699
|
-
|
|
38700
|
-
kind:
|
|
38701
|
-
intervalMinutes:
|
|
38702
|
-
|
|
38703
|
-
|
|
38704
|
-
|
|
38705
|
-
|
|
38706
|
-
|
|
38707
|
-
|
|
38793
|
+
displayName: z66.string().trim().min(1),
|
|
38794
|
+
bio: z66.string().nullable(),
|
|
38795
|
+
timezone: z66.string().trim().min(1),
|
|
38796
|
+
colorHex: z66.string().nullable()
|
|
38797
|
+
});
|
|
38798
|
+
var appointmentSetupWeeklyWindowDraftSchema = z66.object({
|
|
38799
|
+
weekday: z66.number().int().min(0).max(6),
|
|
38800
|
+
startTime: z66.string(),
|
|
38801
|
+
endTime: z66.string()
|
|
38802
|
+
});
|
|
38803
|
+
var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
|
|
38804
|
+
z66.object({ kind: z66.literal("automatic_spacing") }),
|
|
38805
|
+
z66.object({
|
|
38806
|
+
kind: z66.literal("regular_interval"),
|
|
38807
|
+
intervalMinutes: z66.union([
|
|
38808
|
+
z66.literal(10),
|
|
38809
|
+
z66.literal(15),
|
|
38810
|
+
z66.literal(20),
|
|
38811
|
+
z66.literal(30),
|
|
38812
|
+
z66.literal(45),
|
|
38813
|
+
z66.literal(60)
|
|
38708
38814
|
])
|
|
38709
38815
|
})
|
|
38710
38816
|
]);
|
|
38711
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
38712
|
-
kind:
|
|
38817
|
+
var appointmentSetupAvailabilityDraftSchema = z66.object({
|
|
38818
|
+
kind: z66.literal("weekly_windows"),
|
|
38713
38819
|
resourceRef: appointmentSetupRefSchema,
|
|
38714
38820
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
38715
|
-
windows:
|
|
38821
|
+
windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
38716
38822
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
38717
38823
|
});
|
|
38718
38824
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
38719
38825
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
38720
|
-
var appointmentSetupBookingNoticeSchema =
|
|
38721
|
-
minLeadMinutes:
|
|
38722
|
-
maxBookingNoticeMinutes:
|
|
38723
|
-
});
|
|
38724
|
-
var applyAppointmentSetupRequestSchema =
|
|
38725
|
-
services:
|
|
38726
|
-
practitioners:
|
|
38727
|
-
availability:
|
|
38826
|
+
var appointmentSetupBookingNoticeSchema = z66.object({
|
|
38827
|
+
minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
38828
|
+
maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
38829
|
+
});
|
|
38830
|
+
var applyAppointmentSetupRequestSchema = z66.object({
|
|
38831
|
+
services: z66.array(appointmentSetupServiceDraftSchema),
|
|
38832
|
+
practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
|
|
38833
|
+
availability: z66.array(appointmentSetupAvailabilityDraftSchema),
|
|
38728
38834
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
38729
38835
|
});
|
|
38730
38836
|
|
|
@@ -38757,24 +38863,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
38757
38863
|
];
|
|
38758
38864
|
|
|
38759
38865
|
// ../api/src/siteBanner.ts
|
|
38760
|
-
import { z as
|
|
38866
|
+
import { z as z67 } from "zod";
|
|
38761
38867
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
38762
38868
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
38763
38869
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
38764
38870
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
38765
|
-
var siteBannerScopeSchema =
|
|
38766
|
-
var siteBannerToneSchema =
|
|
38767
|
-
var siteBannerBodySchema =
|
|
38768
|
-
var siteBannerCtaSchema =
|
|
38769
|
-
label:
|
|
38871
|
+
var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
|
|
38872
|
+
var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
|
|
38873
|
+
var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
|
|
38874
|
+
var siteBannerCtaSchema = z67.object({
|
|
38875
|
+
label: z67.string().trim().min(1),
|
|
38770
38876
|
link: linkPayloadSchema
|
|
38771
38877
|
});
|
|
38772
|
-
var siteBannerSettingsSchema =
|
|
38773
|
-
|
|
38774
|
-
enabled:
|
|
38878
|
+
var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
|
|
38879
|
+
z67.object({
|
|
38880
|
+
enabled: z67.literal(false)
|
|
38775
38881
|
}),
|
|
38776
|
-
|
|
38777
|
-
enabled:
|
|
38882
|
+
z67.object({
|
|
38883
|
+
enabled: z67.literal(true),
|
|
38778
38884
|
scope: siteBannerScopeSchema,
|
|
38779
38885
|
tone: siteBannerToneSchema,
|
|
38780
38886
|
body: siteBannerBodySchema,
|
|
@@ -38788,7 +38894,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38788
38894
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38789
38895
|
for (const issue of analysis.issues) {
|
|
38790
38896
|
ctx.addIssue({
|
|
38791
|
-
code:
|
|
38897
|
+
code: z67.ZodIssueCode.custom,
|
|
38792
38898
|
path: ["body"],
|
|
38793
38899
|
message: siteBannerBodyIssueMessage(issue)
|
|
38794
38900
|
});
|
|
@@ -38921,7 +39027,7 @@ function sanitizeMarks(marks) {
|
|
|
38921
39027
|
if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
|
|
38922
39028
|
return [{ type: mark.type }];
|
|
38923
39029
|
}
|
|
38924
|
-
if (mark.type === "link" &&
|
|
39030
|
+
if (mark.type === "link" && isRecord8(mark.attrs) && typeof mark.attrs.href === "string") {
|
|
38925
39031
|
const attrs = { href: mark.attrs.href };
|
|
38926
39032
|
if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
|
|
38927
39033
|
attrs.target = mark.attrs.target;
|
|
@@ -38936,10 +39042,10 @@ function sanitizeMarks(marks) {
|
|
|
38936
39042
|
return sanitized.length > 0 ? sanitized : void 0;
|
|
38937
39043
|
}
|
|
38938
39044
|
function unwrapRichTextValue(value) {
|
|
38939
|
-
if (
|
|
39045
|
+
if (isRecord8(value) && isRecord8(value.doc)) {
|
|
38940
39046
|
return unwrapRichTextValue(value.doc);
|
|
38941
39047
|
}
|
|
38942
|
-
if (
|
|
39048
|
+
if (isRecord8(value) && value.type === "doc") {
|
|
38943
39049
|
return {
|
|
38944
39050
|
type: "doc",
|
|
38945
39051
|
content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
|
|
@@ -38948,7 +39054,7 @@ function unwrapRichTextValue(value) {
|
|
|
38948
39054
|
return EMPTY_SITE_BANNER_BODY;
|
|
38949
39055
|
}
|
|
38950
39056
|
function isTipTapNodeLike(value) {
|
|
38951
|
-
return
|
|
39057
|
+
return isRecord8(value) && typeof value.type === "string";
|
|
38952
39058
|
}
|
|
38953
39059
|
function coerceTipTapNode(value) {
|
|
38954
39060
|
return {
|
|
@@ -38956,9 +39062,9 @@ function coerceTipTapNode(value) {
|
|
|
38956
39062
|
...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
|
|
38957
39063
|
...typeof value.text === "string" ? { text: value.text } : {},
|
|
38958
39064
|
...Array.isArray(value.marks) ? {
|
|
38959
|
-
marks: value.marks.filter((mark) =>
|
|
39065
|
+
marks: value.marks.filter((mark) => isRecord8(mark) && typeof mark.type === "string").map((mark) => ({
|
|
38960
39066
|
type: mark.type,
|
|
38961
|
-
...
|
|
39067
|
+
...isRecord8(mark.attrs) ? { attrs: mark.attrs } : {}
|
|
38962
39068
|
}))
|
|
38963
39069
|
} : {}
|
|
38964
39070
|
};
|
|
@@ -39052,7 +39158,7 @@ function collectCartLinkStats(items, depth = 0) {
|
|
|
39052
39158
|
return result;
|
|
39053
39159
|
}
|
|
39054
39160
|
function isNavigationMenuValidationItem(value) {
|
|
39055
|
-
if (!
|
|
39161
|
+
if (!isRecord8(value)) return false;
|
|
39056
39162
|
return typeof value.label === "string";
|
|
39057
39163
|
}
|
|
39058
39164
|
|
|
@@ -39095,75 +39201,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
39095
39201
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
39096
39202
|
|
|
39097
39203
|
// ../api/src/aiPlayground.ts
|
|
39098
|
-
import { z as
|
|
39099
|
-
var Rfc6902PatchOp =
|
|
39204
|
+
import { z as z68 } from "zod";
|
|
39205
|
+
var Rfc6902PatchOp = z68.discriminatedUnion("op", [
|
|
39100
39206
|
// Standard RFC-6902 operations
|
|
39101
|
-
|
|
39102
|
-
op:
|
|
39103
|
-
path:
|
|
39104
|
-
value:
|
|
39207
|
+
z68.object({
|
|
39208
|
+
op: z68.literal("add"),
|
|
39209
|
+
path: z68.string(),
|
|
39210
|
+
value: z68.unknown()
|
|
39105
39211
|
}),
|
|
39106
|
-
|
|
39107
|
-
op:
|
|
39108
|
-
path:
|
|
39212
|
+
z68.object({
|
|
39213
|
+
op: z68.literal("remove"),
|
|
39214
|
+
path: z68.string()
|
|
39109
39215
|
}),
|
|
39110
|
-
|
|
39111
|
-
op:
|
|
39112
|
-
path:
|
|
39113
|
-
value:
|
|
39216
|
+
z68.object({
|
|
39217
|
+
op: z68.literal("replace"),
|
|
39218
|
+
path: z68.string(),
|
|
39219
|
+
value: z68.unknown()
|
|
39114
39220
|
}),
|
|
39115
|
-
|
|
39116
|
-
op:
|
|
39117
|
-
from:
|
|
39118
|
-
path:
|
|
39221
|
+
z68.object({
|
|
39222
|
+
op: z68.literal("move"),
|
|
39223
|
+
from: z68.string(),
|
|
39224
|
+
path: z68.string()
|
|
39119
39225
|
}),
|
|
39120
|
-
|
|
39121
|
-
op:
|
|
39122
|
-
from:
|
|
39123
|
-
path:
|
|
39226
|
+
z68.object({
|
|
39227
|
+
op: z68.literal("copy"),
|
|
39228
|
+
from: z68.string(),
|
|
39229
|
+
path: z68.string()
|
|
39124
39230
|
}),
|
|
39125
39231
|
// Block-level operations (Phase 2)
|
|
39126
|
-
|
|
39127
|
-
op:
|
|
39128
|
-
blockKind:
|
|
39129
|
-
afterBlockId:
|
|
39130
|
-
content:
|
|
39131
|
-
rationale:
|
|
39232
|
+
z68.object({
|
|
39233
|
+
op: z68.literal("add_block"),
|
|
39234
|
+
blockKind: z68.string(),
|
|
39235
|
+
afterBlockId: z68.string().nullable(),
|
|
39236
|
+
content: z68.record(z68.string(), z68.unknown()),
|
|
39237
|
+
rationale: z68.string()
|
|
39132
39238
|
}),
|
|
39133
|
-
|
|
39134
|
-
op:
|
|
39135
|
-
blockId:
|
|
39136
|
-
rationale:
|
|
39239
|
+
z68.object({
|
|
39240
|
+
op: z68.literal("delete_block"),
|
|
39241
|
+
blockId: z68.string(),
|
|
39242
|
+
rationale: z68.string()
|
|
39137
39243
|
}),
|
|
39138
|
-
|
|
39139
|
-
op:
|
|
39140
|
-
blockId:
|
|
39141
|
-
afterBlockId:
|
|
39142
|
-
rationale:
|
|
39244
|
+
z68.object({
|
|
39245
|
+
op: z68.literal("reorder_block"),
|
|
39246
|
+
blockId: z68.string(),
|
|
39247
|
+
afterBlockId: z68.string().nullable(),
|
|
39248
|
+
rationale: z68.string()
|
|
39143
39249
|
})
|
|
39144
39250
|
]);
|
|
39145
|
-
var PlaygroundProposeRequest =
|
|
39146
|
-
request:
|
|
39251
|
+
var PlaygroundProposeRequest = z68.object({
|
|
39252
|
+
request: z68.string().min(1).max(2e3)
|
|
39147
39253
|
});
|
|
39148
|
-
var MultiPagePatchEnvelope =
|
|
39149
|
-
pageId:
|
|
39150
|
-
blockId:
|
|
39254
|
+
var MultiPagePatchEnvelope = z68.object({
|
|
39255
|
+
pageId: z68.string(),
|
|
39256
|
+
blockId: z68.string().optional(),
|
|
39151
39257
|
// Not present for page-level ops
|
|
39152
|
-
blockKind:
|
|
39153
|
-
blockPurpose:
|
|
39154
|
-
ops:
|
|
39155
|
-
rationale:
|
|
39156
|
-
currentContent:
|
|
39258
|
+
blockKind: z68.string().optional(),
|
|
39259
|
+
blockPurpose: z68.string().optional().nullable(),
|
|
39260
|
+
ops: z68.array(Rfc6902PatchOp),
|
|
39261
|
+
rationale: z68.string(),
|
|
39262
|
+
currentContent: z68.record(z68.string(), z68.unknown()).optional()
|
|
39157
39263
|
});
|
|
39158
|
-
var MultiPageUpdateResponse =
|
|
39159
|
-
patches:
|
|
39160
|
-
assistantMessage:
|
|
39161
|
-
pagesModified:
|
|
39162
|
-
toolCallsUsed:
|
|
39264
|
+
var MultiPageUpdateResponse = z68.object({
|
|
39265
|
+
patches: z68.array(MultiPagePatchEnvelope),
|
|
39266
|
+
assistantMessage: z68.string(),
|
|
39267
|
+
pagesModified: z68.number(),
|
|
39268
|
+
toolCallsUsed: z68.number()
|
|
39163
39269
|
});
|
|
39164
39270
|
|
|
39165
39271
|
// src/config/content-validation.ts
|
|
39166
|
-
import { z as
|
|
39272
|
+
import { z as z69 } from "zod";
|
|
39167
39273
|
|
|
39168
39274
|
// src/types/block-kinds.ts
|
|
39169
39275
|
var SYSTEM_BLOCK_KINDS = [
|
|
@@ -39307,36 +39413,36 @@ function describeInvalidBindingTransform(transform) {
|
|
|
39307
39413
|
}
|
|
39308
39414
|
|
|
39309
39415
|
// src/config/content-validation.ts
|
|
39310
|
-
var jsonDataSchema =
|
|
39311
|
-
var contentTypeKeySchema =
|
|
39416
|
+
var jsonDataSchema = z69.record(z69.string(), z69.any());
|
|
39417
|
+
var contentTypeKeySchema = z69.string().min(1).regex(
|
|
39312
39418
|
/^[a-z][a-z0-9-]*$/,
|
|
39313
39419
|
"Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
|
|
39314
39420
|
);
|
|
39315
|
-
var templateConfigSchemaForward =
|
|
39316
|
-
blocks:
|
|
39317
|
-
|
|
39318
|
-
identifier:
|
|
39319
|
-
kind:
|
|
39320
|
-
scope:
|
|
39321
|
-
bindings:
|
|
39322
|
-
content:
|
|
39421
|
+
var templateConfigSchemaForward = z69.object({
|
|
39422
|
+
blocks: z69.array(
|
|
39423
|
+
z69.object({
|
|
39424
|
+
identifier: z69.string().min(1),
|
|
39425
|
+
kind: z69.string(),
|
|
39426
|
+
scope: z69.enum(["entry", "template"]),
|
|
39427
|
+
bindings: z69.record(z69.string(), z69.any()).optional(),
|
|
39428
|
+
content: z69.record(z69.string(), z69.any()).optional()
|
|
39323
39429
|
})
|
|
39324
39430
|
)
|
|
39325
39431
|
}).optional();
|
|
39326
|
-
var contentTypeOrderingSchema =
|
|
39327
|
-
mode:
|
|
39432
|
+
var contentTypeOrderingSchema = z69.object({
|
|
39433
|
+
mode: z69.enum(["default", "manual"]).optional()
|
|
39328
39434
|
}).optional();
|
|
39329
|
-
var contentTypeConfigSchema =
|
|
39435
|
+
var contentTypeConfigSchema = z69.object({
|
|
39330
39436
|
key: contentTypeKeySchema,
|
|
39331
|
-
name:
|
|
39332
|
-
description:
|
|
39333
|
-
hasPages:
|
|
39334
|
-
routePattern:
|
|
39437
|
+
name: z69.string().min(1),
|
|
39438
|
+
description: z69.string().optional(),
|
|
39439
|
+
hasPages: z69.boolean(),
|
|
39440
|
+
routePattern: z69.string().optional(),
|
|
39335
39441
|
// Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
|
|
39336
|
-
fields:
|
|
39337
|
-
titleField:
|
|
39442
|
+
fields: z69.array(z69.any()).min(1, "At least one field is required"),
|
|
39443
|
+
titleField: z69.string().optional(),
|
|
39338
39444
|
ordering: contentTypeOrderingSchema,
|
|
39339
|
-
isSingleton:
|
|
39445
|
+
isSingleton: z69.boolean().optional().default(false),
|
|
39340
39446
|
template: templateConfigSchemaForward
|
|
39341
39447
|
}).refine(
|
|
39342
39448
|
(data) => {
|
|
@@ -39358,7 +39464,7 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39358
39464
|
}
|
|
39359
39465
|
if (!data.routePattern) {
|
|
39360
39466
|
ctx.addIssue({
|
|
39361
|
-
code:
|
|
39467
|
+
code: z69.ZodIssueCode.custom,
|
|
39362
39468
|
path: ["routePattern"],
|
|
39363
39469
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39364
39470
|
});
|
|
@@ -39367,7 +39473,7 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39367
39473
|
const parseResult = safeParseRouteTemplate(data.routePattern);
|
|
39368
39474
|
if (!parseResult.success) {
|
|
39369
39475
|
ctx.addIssue({
|
|
39370
|
-
code:
|
|
39476
|
+
code: z69.ZodIssueCode.custom,
|
|
39371
39477
|
path: ["routePattern"],
|
|
39372
39478
|
message: describeRouteTemplateParseError(parseResult.error)
|
|
39373
39479
|
});
|
|
@@ -39375,44 +39481,44 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39375
39481
|
}
|
|
39376
39482
|
if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
|
|
39377
39483
|
ctx.addIssue({
|
|
39378
|
-
code:
|
|
39484
|
+
code: z69.ZodIssueCode.custom,
|
|
39379
39485
|
path: ["routePattern"],
|
|
39380
39486
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39381
39487
|
});
|
|
39382
39488
|
}
|
|
39383
39489
|
});
|
|
39384
|
-
var fieldBindingSchema =
|
|
39385
|
-
source:
|
|
39386
|
-
path:
|
|
39490
|
+
var fieldBindingSchema = z69.object({
|
|
39491
|
+
source: z69.literal("field"),
|
|
39492
|
+
path: z69.string().min(1, "Field path is required")
|
|
39387
39493
|
});
|
|
39388
|
-
var metaBindingSchema =
|
|
39389
|
-
source:
|
|
39390
|
-
path:
|
|
39494
|
+
var metaBindingSchema = z69.object({
|
|
39495
|
+
source: z69.literal("meta"),
|
|
39496
|
+
path: z69.enum(TEMPLATE_BINDING_META_PATHS, {
|
|
39391
39497
|
error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
|
|
39392
39498
|
})
|
|
39393
39499
|
});
|
|
39394
|
-
var literalBindingSchema =
|
|
39395
|
-
source:
|
|
39396
|
-
value:
|
|
39500
|
+
var literalBindingSchema = z69.object({
|
|
39501
|
+
source: z69.literal("literal"),
|
|
39502
|
+
value: z69.unknown()
|
|
39397
39503
|
});
|
|
39398
|
-
var transformBindingSchema =
|
|
39399
|
-
source:
|
|
39400
|
-
path:
|
|
39401
|
-
transform:
|
|
39504
|
+
var transformBindingSchema = z69.object({
|
|
39505
|
+
source: z69.literal("transform"),
|
|
39506
|
+
path: z69.string().min(1, "Transform path is required"),
|
|
39507
|
+
transform: z69.enum(BINDING_TRANSFORM_VALUES, {
|
|
39402
39508
|
error: (issue) => describeInvalidBindingTransform(String(issue.input))
|
|
39403
39509
|
})
|
|
39404
39510
|
});
|
|
39405
|
-
var baseBindingSchema =
|
|
39511
|
+
var baseBindingSchema = z69.discriminatedUnion("source", [
|
|
39406
39512
|
fieldBindingSchema,
|
|
39407
39513
|
metaBindingSchema,
|
|
39408
39514
|
literalBindingSchema,
|
|
39409
39515
|
transformBindingSchema
|
|
39410
39516
|
]);
|
|
39411
|
-
var fallbackBindingSchema =
|
|
39412
|
-
source:
|
|
39413
|
-
sources:
|
|
39517
|
+
var fallbackBindingSchema = z69.object({
|
|
39518
|
+
source: z69.literal("fallback"),
|
|
39519
|
+
sources: z69.array(z69.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
|
|
39414
39520
|
});
|
|
39415
|
-
var bindingSourceSchema =
|
|
39521
|
+
var bindingSourceSchema = z69.union([
|
|
39416
39522
|
baseBindingSchema,
|
|
39417
39523
|
fallbackBindingSchema
|
|
39418
39524
|
]);
|
|
@@ -39426,12 +39532,12 @@ function isValidBlockKind(kind) {
|
|
|
39426
39532
|
return false;
|
|
39427
39533
|
}
|
|
39428
39534
|
var BLOCK_KIND_ERROR_MESSAGE = 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.myBlock")';
|
|
39429
|
-
var blockKindSchema =
|
|
39430
|
-
var templateBlockConfigSchema =
|
|
39431
|
-
identifier:
|
|
39535
|
+
var blockKindSchema = z69.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
|
|
39536
|
+
var templateBlockConfigSchema = z69.object({
|
|
39537
|
+
identifier: z69.string().min(1, "Block identifier is required"),
|
|
39432
39538
|
kind: blockKindSchema,
|
|
39433
|
-
scope:
|
|
39434
|
-
bindings:
|
|
39539
|
+
scope: z69.enum(["entry", "template"]),
|
|
39540
|
+
bindings: z69.record(z69.string(), bindingSourceSchema).optional(),
|
|
39435
39541
|
content: jsonDataSchema.optional()
|
|
39436
39542
|
}).refine(
|
|
39437
39543
|
(data) => {
|
|
@@ -39450,8 +39556,8 @@ var templateBlockConfigSchema = z71.object({
|
|
|
39450
39556
|
},
|
|
39451
39557
|
{ message: "Template-scoped blocks should define static content, not bindings" }
|
|
39452
39558
|
);
|
|
39453
|
-
var templateConfigSchema =
|
|
39454
|
-
blocks:
|
|
39559
|
+
var templateConfigSchema = z69.object({
|
|
39560
|
+
blocks: z69.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
|
|
39455
39561
|
}).refine(
|
|
39456
39562
|
(data) => {
|
|
39457
39563
|
const identifiers = data.blocks.map((b) => b.identifier);
|
|
@@ -39460,77 +39566,77 @@ var templateConfigSchema = z71.object({
|
|
|
39460
39566
|
},
|
|
39461
39567
|
{ message: "Template block identifiers must be unique" }
|
|
39462
39568
|
);
|
|
39463
|
-
var blockConfigSchema =
|
|
39569
|
+
var blockConfigSchema = z69.object({
|
|
39464
39570
|
kind: blockKindSchema,
|
|
39465
39571
|
content: jsonDataSchema,
|
|
39466
|
-
orderIndex:
|
|
39467
|
-
});
|
|
39468
|
-
var pageConfigSchema =
|
|
39469
|
-
identifier:
|
|
39470
|
-
title:
|
|
39471
|
-
path:
|
|
39472
|
-
purpose:
|
|
39473
|
-
blocks:
|
|
39474
|
-
status:
|
|
39475
|
-
metaTitle:
|
|
39476
|
-
metaDescription:
|
|
39477
|
-
});
|
|
39478
|
-
var entryConfigSchema =
|
|
39479
|
-
identifier:
|
|
39480
|
-
contentType:
|
|
39572
|
+
orderIndex: z69.number().optional()
|
|
39573
|
+
});
|
|
39574
|
+
var pageConfigSchema = z69.object({
|
|
39575
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39576
|
+
title: z69.string().min(1, "Title is required"),
|
|
39577
|
+
path: z69.string().regex(/^\//, "Path must start with /"),
|
|
39578
|
+
purpose: z69.string().default("content"),
|
|
39579
|
+
blocks: z69.array(blockConfigSchema).optional(),
|
|
39580
|
+
status: z69.enum(["draft", "published"]).default("draft"),
|
|
39581
|
+
metaTitle: z69.string().optional(),
|
|
39582
|
+
metaDescription: z69.string().optional()
|
|
39583
|
+
});
|
|
39584
|
+
var entryConfigSchema = z69.object({
|
|
39585
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39586
|
+
contentType: z69.string().min(1, "Content type is required"),
|
|
39481
39587
|
data: jsonDataSchema,
|
|
39482
|
-
status:
|
|
39483
|
-
slug:
|
|
39484
|
-
summary:
|
|
39588
|
+
status: z69.enum(["draft", "published"]).default("draft"),
|
|
39589
|
+
slug: z69.string().optional(),
|
|
39590
|
+
summary: z69.string().optional(),
|
|
39485
39591
|
// Hard remove legacy config-only titles: titles must live in entry `data`.
|
|
39486
|
-
title:
|
|
39592
|
+
title: z69.any().optional().refine((value) => value === void 0, {
|
|
39487
39593
|
message: "Entry titles are now derived from entry data. Remove `title` and move it into `data` (e.g. `data.title`, or your configured `titleField`). Run `riverbankcms migrate entries` for guided migration."
|
|
39488
39594
|
}),
|
|
39489
|
-
metaTitle:
|
|
39490
|
-
metaDescription:
|
|
39595
|
+
metaTitle: z69.string().optional(),
|
|
39596
|
+
metaDescription: z69.string().optional()
|
|
39491
39597
|
});
|
|
39492
|
-
var dropdownLinkSchema =
|
|
39493
|
-
kind:
|
|
39598
|
+
var dropdownLinkSchema = z69.object({
|
|
39599
|
+
kind: z69.literal("dropdown")
|
|
39494
39600
|
});
|
|
39495
|
-
var navigationLinkSchema =
|
|
39601
|
+
var navigationLinkSchema = z69.discriminatedUnion("kind", [
|
|
39496
39602
|
...navigationLinkInputSchemaOptions,
|
|
39497
39603
|
dropdownLinkSchema
|
|
39498
39604
|
]);
|
|
39499
|
-
var baseNavigationItemSchema =
|
|
39500
|
-
label:
|
|
39605
|
+
var baseNavigationItemSchema = z69.object({
|
|
39606
|
+
label: z69.string().min(1, "Label is required"),
|
|
39501
39607
|
link: navigationLinkSchema,
|
|
39502
|
-
isCta:
|
|
39608
|
+
isCta: z69.boolean().optional()
|
|
39503
39609
|
});
|
|
39504
39610
|
var navigationItemConfigSchema = baseNavigationItemSchema.extend({
|
|
39505
|
-
children:
|
|
39506
|
-
});
|
|
39507
|
-
var navigationMenuConfigSchema =
|
|
39508
|
-
identifier:
|
|
39509
|
-
name:
|
|
39510
|
-
isPrimary:
|
|
39511
|
-
isFooter:
|
|
39512
|
-
items:
|
|
39611
|
+
children: z69.lazy(() => z69.array(navigationItemConfigSchema)).optional()
|
|
39612
|
+
});
|
|
39613
|
+
var navigationMenuConfigSchema = z69.object({
|
|
39614
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39615
|
+
name: z69.string().min(1, "Name is required"),
|
|
39616
|
+
isPrimary: z69.boolean().optional(),
|
|
39617
|
+
isFooter: z69.boolean().optional(),
|
|
39618
|
+
items: z69.array(navigationItemConfigSchema)
|
|
39513
39619
|
}).superRefine((menu, ctx) => {
|
|
39514
39620
|
const portalStats = collectPortalLinkStats(
|
|
39515
39621
|
menu.items
|
|
39516
39622
|
);
|
|
39517
39623
|
if (portalStats.count > 1) {
|
|
39518
39624
|
ctx.addIssue({
|
|
39519
|
-
code:
|
|
39625
|
+
code: z69.ZodIssueCode.custom,
|
|
39520
39626
|
message: "Only one portal link is allowed per navigation menu",
|
|
39521
39627
|
path: ["items"]
|
|
39522
39628
|
});
|
|
39523
39629
|
}
|
|
39524
39630
|
if (portalStats.nestedLabels.length > 0) {
|
|
39525
39631
|
ctx.addIssue({
|
|
39526
|
-
code:
|
|
39632
|
+
code: z69.ZodIssueCode.custom,
|
|
39527
39633
|
message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
|
|
39528
39634
|
path: ["items"]
|
|
39529
39635
|
});
|
|
39530
39636
|
}
|
|
39531
39637
|
if (portalStats.withChildrenLabels.length > 0) {
|
|
39532
39638
|
ctx.addIssue({
|
|
39533
|
-
code:
|
|
39639
|
+
code: z69.ZodIssueCode.custom,
|
|
39534
39640
|
message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
|
|
39535
39641
|
path: ["items"]
|
|
39536
39642
|
});
|
|
@@ -39540,44 +39646,44 @@ var navigationMenuConfigSchema = z71.object({
|
|
|
39540
39646
|
);
|
|
39541
39647
|
if (cartStats.nestedLabels.length > 0) {
|
|
39542
39648
|
ctx.addIssue({
|
|
39543
|
-
code:
|
|
39649
|
+
code: z69.ZodIssueCode.custom,
|
|
39544
39650
|
message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
|
|
39545
39651
|
path: ["items"]
|
|
39546
39652
|
});
|
|
39547
39653
|
}
|
|
39548
39654
|
if (cartStats.withChildrenLabels.length > 0) {
|
|
39549
39655
|
ctx.addIssue({
|
|
39550
|
-
code:
|
|
39656
|
+
code: z69.ZodIssueCode.custom,
|
|
39551
39657
|
message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
|
|
39552
39658
|
path: ["items"]
|
|
39553
39659
|
});
|
|
39554
39660
|
}
|
|
39555
39661
|
if (cartStats.ctaLabels.length > 0) {
|
|
39556
39662
|
ctx.addIssue({
|
|
39557
|
-
code:
|
|
39663
|
+
code: z69.ZodIssueCode.custom,
|
|
39558
39664
|
message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
|
|
39559
39665
|
path: ["items"]
|
|
39560
39666
|
});
|
|
39561
39667
|
}
|
|
39562
39668
|
if (cartStats.missingVisibleTextLabels.length > 0) {
|
|
39563
39669
|
ctx.addIssue({
|
|
39564
|
-
code:
|
|
39670
|
+
code: z69.ZodIssueCode.custom,
|
|
39565
39671
|
message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
|
|
39566
39672
|
path: ["items"]
|
|
39567
39673
|
});
|
|
39568
39674
|
}
|
|
39569
39675
|
});
|
|
39570
|
-
var siteSettingsConfigSchema =
|
|
39571
|
-
homepagePath:
|
|
39572
|
-
siteTitle:
|
|
39573
|
-
siteDescription:
|
|
39574
|
-
defaultTemplates:
|
|
39676
|
+
var siteSettingsConfigSchema = z69.object({
|
|
39677
|
+
homepagePath: z69.string().optional(),
|
|
39678
|
+
siteTitle: z69.string().optional(),
|
|
39679
|
+
siteDescription: z69.string().optional(),
|
|
39680
|
+
defaultTemplates: z69.record(z69.string(), z69.string()).optional()
|
|
39575
39681
|
});
|
|
39576
|
-
var contentConfigBaseSchema =
|
|
39577
|
-
contentTypes:
|
|
39578
|
-
entries:
|
|
39579
|
-
pages:
|
|
39580
|
-
navigationMenus:
|
|
39682
|
+
var contentConfigBaseSchema = z69.object({
|
|
39683
|
+
contentTypes: z69.array(contentTypeConfigSchema).optional(),
|
|
39684
|
+
entries: z69.array(entryConfigSchema).optional(),
|
|
39685
|
+
pages: z69.array(pageConfigSchema).optional(),
|
|
39686
|
+
navigationMenus: z69.array(navigationMenuConfigSchema).optional(),
|
|
39581
39687
|
settings: siteSettingsConfigSchema.optional()
|
|
39582
39688
|
});
|
|
39583
39689
|
var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
@@ -39586,7 +39692,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39586
39692
|
const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
|
|
39587
39693
|
if (duplicateKeys.length > 0) {
|
|
39588
39694
|
ctx.addIssue({
|
|
39589
|
-
code:
|
|
39695
|
+
code: z69.ZodIssueCode.custom,
|
|
39590
39696
|
message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
|
|
39591
39697
|
path: ["contentTypes"]
|
|
39592
39698
|
});
|
|
@@ -39597,7 +39703,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39597
39703
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39598
39704
|
if (duplicateIds.length > 0) {
|
|
39599
39705
|
ctx.addIssue({
|
|
39600
|
-
code:
|
|
39706
|
+
code: z69.ZodIssueCode.custom,
|
|
39601
39707
|
message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39602
39708
|
path: ["pages"]
|
|
39603
39709
|
});
|
|
@@ -39606,7 +39712,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39606
39712
|
const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
|
|
39607
39713
|
if (duplicatePaths.length > 0) {
|
|
39608
39714
|
ctx.addIssue({
|
|
39609
|
-
code:
|
|
39715
|
+
code: z69.ZodIssueCode.custom,
|
|
39610
39716
|
message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
|
|
39611
39717
|
path: ["pages"]
|
|
39612
39718
|
});
|
|
@@ -39617,7 +39723,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39617
39723
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39618
39724
|
if (duplicateIds.length > 0) {
|
|
39619
39725
|
ctx.addIssue({
|
|
39620
|
-
code:
|
|
39726
|
+
code: z69.ZodIssueCode.custom,
|
|
39621
39727
|
message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39622
39728
|
path: ["entries"]
|
|
39623
39729
|
});
|
|
@@ -39628,7 +39734,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39628
39734
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39629
39735
|
if (duplicateIds.length > 0) {
|
|
39630
39736
|
ctx.addIssue({
|
|
39631
|
-
code:
|
|
39737
|
+
code: z69.ZodIssueCode.custom,
|
|
39632
39738
|
message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39633
39739
|
path: ["navigationMenus"]
|
|
39634
39740
|
});
|
|
@@ -39642,7 +39748,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39642
39748
|
const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
|
|
39643
39749
|
if (entriesForType.length > 1) {
|
|
39644
39750
|
ctx.addIssue({
|
|
39645
|
-
code:
|
|
39751
|
+
code: z69.ZodIssueCode.custom,
|
|
39646
39752
|
message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
|
|
39647
39753
|
path: ["entries"]
|
|
39648
39754
|
});
|
|
@@ -39755,18 +39861,18 @@ function validateLayout(layout) {
|
|
|
39755
39861
|
}
|
|
39756
39862
|
|
|
39757
39863
|
// src/config/dashboard-validation.ts
|
|
39758
|
-
import { z as
|
|
39759
|
-
var navIdListSchema2 =
|
|
39864
|
+
import { z as z70 } from "zod";
|
|
39865
|
+
var navIdListSchema2 = z70.preprocess((value) => {
|
|
39760
39866
|
if (!Array.isArray(value)) return void 0;
|
|
39761
39867
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
39762
39868
|
return filtered.length > 0 ? filtered : void 0;
|
|
39763
|
-
},
|
|
39764
|
-
var dashboardNavVisibilityBaseSchema2 =
|
|
39765
|
-
mode:
|
|
39869
|
+
}, z70.array(z70.string()).max(200, "Maximum 200 nav IDs").optional());
|
|
39870
|
+
var dashboardNavVisibilityBaseSchema2 = z70.object({
|
|
39871
|
+
mode: z70.enum(["augment", "restrict"]).optional(),
|
|
39766
39872
|
allowIds: navIdListSchema2,
|
|
39767
39873
|
denyIds: navIdListSchema2
|
|
39768
39874
|
}).strip();
|
|
39769
|
-
var dashboardNavVisibilityRolesSchema2 =
|
|
39875
|
+
var dashboardNavVisibilityRolesSchema2 = z70.object({
|
|
39770
39876
|
administrator: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39771
39877
|
editor: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39772
39878
|
team_member: dashboardNavVisibilityBaseSchema2.optional()
|
|
@@ -39774,28 +39880,28 @@ var dashboardNavVisibilityRolesSchema2 = z72.object({
|
|
|
39774
39880
|
var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
|
|
39775
39881
|
roles: dashboardNavVisibilityRolesSchema2
|
|
39776
39882
|
}).strip();
|
|
39777
|
-
var dashboardNavigationConfigSchema2 =
|
|
39883
|
+
var dashboardNavigationConfigSchema2 = z70.object({
|
|
39778
39884
|
siteNav: dashboardNavVisibilitySchema2.optional(),
|
|
39779
39885
|
settingsNav: dashboardNavVisibilitySchema2.optional()
|
|
39780
39886
|
}).strip();
|
|
39781
|
-
var dashboardConfigSchema2 =
|
|
39782
|
-
previewEditingEnabled:
|
|
39887
|
+
var dashboardConfigSchema2 = z70.object({
|
|
39888
|
+
previewEditingEnabled: z70.boolean().optional(),
|
|
39783
39889
|
navigation: dashboardNavigationConfigSchema2.optional()
|
|
39784
39890
|
}).strip();
|
|
39785
39891
|
|
|
39786
39892
|
// src/zod/titleSourceSchema.ts
|
|
39787
|
-
import { z as
|
|
39788
|
-
var titleSourceValueSchema =
|
|
39789
|
-
|
|
39790
|
-
|
|
39893
|
+
import { z as z71 } from "zod";
|
|
39894
|
+
var titleSourceValueSchema = z71.union([
|
|
39895
|
+
z71.string().min(1),
|
|
39896
|
+
z71.array(z71.string().min(1)).min(1)
|
|
39791
39897
|
]);
|
|
39792
39898
|
|
|
39793
39899
|
// src/config/validation.ts
|
|
39794
|
-
var sdkThemePaletteSchema2 =
|
|
39795
|
-
var sdkThemeConfigSchema2 =
|
|
39900
|
+
var sdkThemePaletteSchema2 = z72.record(z72.string(), z72.string());
|
|
39901
|
+
var sdkThemeConfigSchema2 = z72.object({
|
|
39796
39902
|
palette: sdkThemePaletteSchema2
|
|
39797
39903
|
});
|
|
39798
|
-
var sdkSiteUrlSchema =
|
|
39904
|
+
var sdkSiteUrlSchema = z72.string().url("Must be a valid URL").refine((url) => {
|
|
39799
39905
|
try {
|
|
39800
39906
|
const parsed = new URL(url);
|
|
39801
39907
|
const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
|
|
@@ -39804,97 +39910,97 @@ var sdkSiteUrlSchema = z74.string().url("Must be a valid URL").refine((url) => {
|
|
|
39804
39910
|
return false;
|
|
39805
39911
|
}
|
|
39806
39912
|
}, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
|
|
39807
|
-
var sectionBackgroundSchema =
|
|
39808
|
-
id:
|
|
39809
|
-
label:
|
|
39810
|
-
token:
|
|
39913
|
+
var sectionBackgroundSchema = z72.object({
|
|
39914
|
+
id: z72.string(),
|
|
39915
|
+
label: z72.string(),
|
|
39916
|
+
token: z72.string()
|
|
39811
39917
|
// Reference to theme palette token
|
|
39812
39918
|
});
|
|
39813
|
-
var sectionSpacingSchema =
|
|
39814
|
-
var containerMaxWidthSchema =
|
|
39815
|
-
var containerAlignmentSchema =
|
|
39816
|
-
var sectionOptionsSchema =
|
|
39817
|
-
backgroundColor:
|
|
39818
|
-
backgroundImage:
|
|
39819
|
-
backgroundGradient:
|
|
39820
|
-
spacing:
|
|
39821
|
-
|
|
39822
|
-
|
|
39919
|
+
var sectionSpacingSchema = z72.enum(["compact", "default", "spacious"]);
|
|
39920
|
+
var containerMaxWidthSchema = z72.enum(["narrow", "default", "wide", "full"]);
|
|
39921
|
+
var containerAlignmentSchema = z72.enum(["left", "center", "right"]);
|
|
39922
|
+
var sectionOptionsSchema = z72.object({
|
|
39923
|
+
backgroundColor: z72.boolean().optional(),
|
|
39924
|
+
backgroundImage: z72.boolean().optional(),
|
|
39925
|
+
backgroundGradient: z72.boolean().optional(),
|
|
39926
|
+
spacing: z72.union([
|
|
39927
|
+
z72.array(sectionSpacingSchema),
|
|
39928
|
+
z72.boolean()
|
|
39823
39929
|
]).optional(),
|
|
39824
|
-
textColor:
|
|
39930
|
+
textColor: z72.boolean().optional()
|
|
39825
39931
|
}).optional();
|
|
39826
|
-
var containerOptionsSchema =
|
|
39827
|
-
maxWidth:
|
|
39828
|
-
|
|
39829
|
-
|
|
39932
|
+
var containerOptionsSchema = z72.object({
|
|
39933
|
+
maxWidth: z72.union([
|
|
39934
|
+
z72.array(containerMaxWidthSchema),
|
|
39935
|
+
z72.boolean()
|
|
39830
39936
|
]).optional(),
|
|
39831
|
-
alignment:
|
|
39832
|
-
|
|
39833
|
-
|
|
39937
|
+
alignment: z72.union([
|
|
39938
|
+
z72.array(containerAlignmentSchema),
|
|
39939
|
+
z72.boolean()
|
|
39834
39940
|
]).optional()
|
|
39835
39941
|
}).optional();
|
|
39836
|
-
var siteStyleConfigSchema =
|
|
39837
|
-
sectionBackgrounds:
|
|
39942
|
+
var siteStyleConfigSchema = z72.object({
|
|
39943
|
+
sectionBackgrounds: z72.array(sectionBackgroundSchema).optional(),
|
|
39838
39944
|
sectionOptions: sectionOptionsSchema,
|
|
39839
39945
|
containerOptions: containerOptionsSchema
|
|
39840
39946
|
}).optional();
|
|
39841
|
-
var sdkLoaderEndpointSchema2 =
|
|
39947
|
+
var sdkLoaderEndpointSchema2 = z72.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
39842
39948
|
var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
|
|
39843
|
-
var loaderTransformStepSchema =
|
|
39844
|
-
id:
|
|
39949
|
+
var loaderTransformStepSchema = z72.object({
|
|
39950
|
+
id: z72.string().refine((id) => allowedTransformIds.has(id), {
|
|
39845
39951
|
message: "Unknown transform id"
|
|
39846
39952
|
}),
|
|
39847
|
-
options:
|
|
39953
|
+
options: z72.record(z72.string(), z72.unknown()).optional()
|
|
39848
39954
|
});
|
|
39849
|
-
var loaderParamBindingSchema2 =
|
|
39850
|
-
$bind:
|
|
39851
|
-
from:
|
|
39955
|
+
var loaderParamBindingSchema2 = z72.object({
|
|
39956
|
+
$bind: z72.object({
|
|
39957
|
+
from: z72.string().min(1, "Binding path is required"),
|
|
39852
39958
|
// Loader params are ultimately string-normalized for query strings, so fallbacks should
|
|
39853
39959
|
// stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
|
|
39854
39960
|
// more complex values into a string.
|
|
39855
39961
|
fallback: loaderFallbackScalarSchema.optional(),
|
|
39856
|
-
transforms:
|
|
39857
|
-
pick:
|
|
39858
|
-
coerce:
|
|
39962
|
+
transforms: z72.array(loaderTransformStepSchema).default([]),
|
|
39963
|
+
pick: z72.enum(["value", "collection", "context"]).default("value"),
|
|
39964
|
+
coerce: z72.enum(["number", "boolean", "string"]).optional()
|
|
39859
39965
|
})
|
|
39860
39966
|
});
|
|
39861
|
-
var loaderParamValueSchema2 =
|
|
39862
|
-
|
|
39863
|
-
|
|
39864
|
-
|
|
39967
|
+
var loaderParamValueSchema2 = z72.union([
|
|
39968
|
+
z72.string(),
|
|
39969
|
+
z72.number(),
|
|
39970
|
+
z72.boolean(),
|
|
39865
39971
|
loaderParamBindingSchema2
|
|
39866
39972
|
]);
|
|
39867
|
-
var loaderWhenValueSchema =
|
|
39868
|
-
|
|
39973
|
+
var loaderWhenValueSchema = z72.union([
|
|
39974
|
+
z72.boolean(),
|
|
39869
39975
|
loaderParamBindingSchema2
|
|
39870
39976
|
]);
|
|
39871
|
-
var sdkConfigLoaderSchema2 =
|
|
39977
|
+
var sdkConfigLoaderSchema2 = z72.object({
|
|
39872
39978
|
endpoint: sdkLoaderEndpointSchema2,
|
|
39873
|
-
params:
|
|
39874
|
-
mode:
|
|
39979
|
+
params: z72.record(z72.string(), loaderParamValueSchema2),
|
|
39980
|
+
mode: z72.enum(["server", "client"]).default("server"),
|
|
39875
39981
|
when: loaderWhenValueSchema.optional()
|
|
39876
39982
|
});
|
|
39877
|
-
var sdkDataLoadersSchema2 =
|
|
39983
|
+
var sdkDataLoadersSchema2 = z72.record(z72.string(), sdkConfigLoaderSchema2).refine(
|
|
39878
39984
|
(loaders) => Object.keys(loaders).length <= 5,
|
|
39879
39985
|
{ message: "Maximum 5 data loaders per block" }
|
|
39880
39986
|
).optional();
|
|
39881
|
-
var fieldSelectOptionSchema =
|
|
39882
|
-
value:
|
|
39883
|
-
label:
|
|
39987
|
+
var fieldSelectOptionSchema = z72.object({
|
|
39988
|
+
value: z72.string().min(1, "Option value is required"),
|
|
39989
|
+
label: z72.string().min(1, "Option label is required")
|
|
39884
39990
|
});
|
|
39885
|
-
var blockFieldConfigSchema =
|
|
39886
|
-
options:
|
|
39991
|
+
var blockFieldConfigSchema = z72.object({
|
|
39992
|
+
options: z72.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
|
|
39887
39993
|
});
|
|
39888
|
-
var blockFieldOptionsSchema =
|
|
39889
|
-
|
|
39994
|
+
var blockFieldOptionsSchema = z72.record(
|
|
39995
|
+
z72.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
39890
39996
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
39891
39997
|
}),
|
|
39892
|
-
|
|
39893
|
-
|
|
39998
|
+
z72.record(
|
|
39999
|
+
z72.string().min(1, "Field ID is required"),
|
|
39894
40000
|
blockFieldConfigSchema
|
|
39895
40001
|
)
|
|
39896
40002
|
).optional();
|
|
39897
|
-
var blockFieldExtensionSchema =
|
|
40003
|
+
var blockFieldExtensionSchema = z72.object({
|
|
39898
40004
|
fields: fieldSchema.array().min(1, "At least one field is required")
|
|
39899
40005
|
}).refine(
|
|
39900
40006
|
(data) => {
|
|
@@ -39908,10 +40014,10 @@ var blockFieldExtensionSchema = z74.object({
|
|
|
39908
40014
|
message: "Required fields must have a defaultValue to support existing blocks"
|
|
39909
40015
|
}
|
|
39910
40016
|
);
|
|
39911
|
-
var blockFieldExtensionsMapSchema =
|
|
40017
|
+
var blockFieldExtensionsMapSchema = z72.record(
|
|
39912
40018
|
// System blocks are kebab-case: block.body-text, block.event-calendar, ...
|
|
39913
40019
|
// Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
|
|
39914
|
-
|
|
40020
|
+
z72.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
|
|
39915
40021
|
message: "Block ID must be 'block.*' format (system blocks only)"
|
|
39916
40022
|
}),
|
|
39917
40023
|
blockFieldExtensionSchema
|
|
@@ -39927,7 +40033,7 @@ var blockFieldExtensionsMapSchema = z74.record(
|
|
|
39927
40033
|
(field) => field.id === collision.fieldId
|
|
39928
40034
|
);
|
|
39929
40035
|
ctx.addIssue({
|
|
39930
|
-
code:
|
|
40036
|
+
code: z72.ZodIssueCode.custom,
|
|
39931
40037
|
message: collision.message,
|
|
39932
40038
|
path: [
|
|
39933
40039
|
APPOINTMENT_BOOKING_BLOCK_ID,
|
|
@@ -39942,24 +40048,24 @@ var blockFieldExtensionsSchema = blockFieldExtensionsMapSchema.optional();
|
|
|
39942
40048
|
function collectAppointmentBookingExtensionReservedFieldCollisions(extension) {
|
|
39943
40049
|
return collectBookingReservedFieldCollisions(extension, { type: "booking" });
|
|
39944
40050
|
}
|
|
39945
|
-
var syncConfigSchema =
|
|
39946
|
-
existingEntries:
|
|
40051
|
+
var syncConfigSchema = z72.object({
|
|
40052
|
+
existingEntries: z72.enum(["skip", "update"]).optional()
|
|
39947
40053
|
}).optional();
|
|
39948
|
-
var deployConfigSchema =
|
|
39949
|
-
verifyCommand:
|
|
39950
|
-
prebuildOutput:
|
|
40054
|
+
var deployConfigSchema = z72.object({
|
|
40055
|
+
verifyCommand: z72.string().optional(),
|
|
40056
|
+
prebuildOutput: z72.string().optional()
|
|
39951
40057
|
}).optional();
|
|
39952
|
-
var sdkCustomBlockSchema =
|
|
40058
|
+
var sdkCustomBlockSchema = z72.object({
|
|
39953
40059
|
// Block ID must start with 'custom.'
|
|
39954
|
-
id:
|
|
40060
|
+
id: z72.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
39955
40061
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
39956
40062
|
}),
|
|
39957
|
-
title:
|
|
40063
|
+
title: z72.string().min(1, "Title is required"),
|
|
39958
40064
|
titleSource: titleSourceValueSchema.optional(),
|
|
39959
|
-
description:
|
|
40065
|
+
description: z72.string().optional(),
|
|
39960
40066
|
category: blockCategoryEnum,
|
|
39961
|
-
icon:
|
|
39962
|
-
tags:
|
|
40067
|
+
icon: z72.string().optional(),
|
|
40068
|
+
tags: z72.array(z72.string()).optional(),
|
|
39963
40069
|
// Reuse the exact field schema from @riverbankcms/blocks - all field types supported
|
|
39964
40070
|
fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
39965
40071
|
// Data loaders for CMS endpoints
|
|
@@ -39967,14 +40073,14 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39967
40073
|
// Optional declarative layout - when present, block can render without React override
|
|
39968
40074
|
layout: NodeSchema.optional(),
|
|
39969
40075
|
// Optional variants system (preferred when a block has multiple structural layouts)
|
|
39970
|
-
variants:
|
|
39971
|
-
defaultVariant:
|
|
39972
|
-
variantOptions:
|
|
39973
|
-
|
|
39974
|
-
|
|
39975
|
-
label:
|
|
39976
|
-
description:
|
|
39977
|
-
icon:
|
|
40076
|
+
variants: z72.record(z72.string().min(1), NodeSchema).optional(),
|
|
40077
|
+
defaultVariant: z72.string().min(1).optional(),
|
|
40078
|
+
variantOptions: z72.record(
|
|
40079
|
+
z72.string().min(1),
|
|
40080
|
+
z72.object({
|
|
40081
|
+
label: z72.string().min(1).optional(),
|
|
40082
|
+
description: z72.string().min(1).optional(),
|
|
40083
|
+
icon: z72.string().min(1).optional()
|
|
39978
40084
|
})
|
|
39979
40085
|
).optional(),
|
|
39980
40086
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -39986,7 +40092,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39986
40092
|
const exists = fields3.some((field) => field.id === source);
|
|
39987
40093
|
if (!exists) {
|
|
39988
40094
|
ctx.addIssue({
|
|
39989
|
-
code:
|
|
40095
|
+
code: z72.ZodIssueCode.custom,
|
|
39990
40096
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
39991
40097
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
39992
40098
|
});
|
|
@@ -39995,7 +40101,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39995
40101
|
}
|
|
39996
40102
|
if (data.layout && data.variants) {
|
|
39997
40103
|
ctx.addIssue({
|
|
39998
|
-
code:
|
|
40104
|
+
code: z72.ZodIssueCode.custom,
|
|
39999
40105
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
40000
40106
|
path: ["variants"]
|
|
40001
40107
|
});
|
|
@@ -40005,7 +40111,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40005
40111
|
if (!result.valid) {
|
|
40006
40112
|
for (const error of result.errors) {
|
|
40007
40113
|
ctx.addIssue({
|
|
40008
|
-
code:
|
|
40114
|
+
code: z72.ZodIssueCode.custom,
|
|
40009
40115
|
message: error.message,
|
|
40010
40116
|
path: ["layout"]
|
|
40011
40117
|
});
|
|
@@ -40016,14 +40122,14 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40016
40122
|
const keys = Object.keys(data.variants);
|
|
40017
40123
|
if (keys.length === 0) {
|
|
40018
40124
|
ctx.addIssue({
|
|
40019
|
-
code:
|
|
40125
|
+
code: z72.ZodIssueCode.custom,
|
|
40020
40126
|
message: "`variants` must contain at least one variant key",
|
|
40021
40127
|
path: ["variants"]
|
|
40022
40128
|
});
|
|
40023
40129
|
}
|
|
40024
40130
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
40025
40131
|
ctx.addIssue({
|
|
40026
|
-
code:
|
|
40132
|
+
code: z72.ZodIssueCode.custom,
|
|
40027
40133
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
40028
40134
|
path: ["defaultVariant"]
|
|
40029
40135
|
});
|
|
@@ -40033,7 +40139,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40033
40139
|
if (!result.valid) {
|
|
40034
40140
|
for (const error of result.errors) {
|
|
40035
40141
|
ctx.addIssue({
|
|
40036
|
-
code:
|
|
40142
|
+
code: z72.ZodIssueCode.custom,
|
|
40037
40143
|
message: `${key}: ${error.message}`,
|
|
40038
40144
|
path: ["variants", key]
|
|
40039
40145
|
});
|
|
@@ -40044,7 +40150,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40044
40150
|
for (const key of Object.keys(data.variantOptions)) {
|
|
40045
40151
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
40046
40152
|
ctx.addIssue({
|
|
40047
|
-
code:
|
|
40153
|
+
code: z72.ZodIssueCode.custom,
|
|
40048
40154
|
message: "`variantOptions` key must exist in `variants`",
|
|
40049
40155
|
path: ["variantOptions", key]
|
|
40050
40156
|
});
|
|
@@ -40053,58 +40159,58 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40053
40159
|
}
|
|
40054
40160
|
}
|
|
40055
40161
|
});
|
|
40056
|
-
var themeSourceSchema =
|
|
40057
|
-
var activeThemeSchema =
|
|
40162
|
+
var themeSourceSchema = z72.enum(["local", "cms"]).optional();
|
|
40163
|
+
var activeThemeSchema = z72.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
|
|
40058
40164
|
message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
|
|
40059
40165
|
}).max(64, "Theme name too long").optional();
|
|
40060
40166
|
function isValidConfigBlockKind(kind) {
|
|
40061
40167
|
if (getBlockDefinition(kind)) return true;
|
|
40062
40168
|
return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
|
|
40063
40169
|
}
|
|
40064
|
-
var layoutBlockKindSchema =
|
|
40170
|
+
var layoutBlockKindSchema = z72.string().refine(isValidConfigBlockKind, {
|
|
40065
40171
|
message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
|
|
40066
40172
|
});
|
|
40067
|
-
var layoutFooterBlockSchema =
|
|
40068
|
-
id:
|
|
40173
|
+
var layoutFooterBlockSchema = z72.object({
|
|
40174
|
+
id: z72.string().min(1).optional(),
|
|
40069
40175
|
kind: layoutBlockKindSchema,
|
|
40070
40176
|
// Allow omitted content for blocks that rely on defaults.
|
|
40071
|
-
content:
|
|
40177
|
+
content: z72.record(z72.string(), z72.unknown()).optional()
|
|
40072
40178
|
}).strict();
|
|
40073
|
-
var layoutConfigSchema =
|
|
40074
|
-
footerBlocks:
|
|
40179
|
+
var layoutConfigSchema = z72.object({
|
|
40180
|
+
footerBlocks: z72.array(layoutFooterBlockSchema).optional()
|
|
40075
40181
|
}).strict();
|
|
40076
|
-
var sdkWorkflowIdSchema2 =
|
|
40182
|
+
var sdkWorkflowIdSchema2 = z72.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
40077
40183
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
40078
40184
|
});
|
|
40079
|
-
var sdkWorkflowEndpointSchema2 =
|
|
40080
|
-
var sdkWorkflowTriggerSchema2 =
|
|
40081
|
-
|
|
40185
|
+
var sdkWorkflowEndpointSchema2 = z72.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
|
|
40186
|
+
var sdkWorkflowTriggerSchema2 = z72.discriminatedUnion("type", [
|
|
40187
|
+
z72.object({ type: z72.literal("manual") }).strict()
|
|
40082
40188
|
]);
|
|
40083
|
-
var sdkWorkflowConfirmationSchema2 =
|
|
40084
|
-
title:
|
|
40085
|
-
body:
|
|
40189
|
+
var sdkWorkflowConfirmationSchema2 = z72.object({
|
|
40190
|
+
title: z72.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
40191
|
+
body: z72.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
40086
40192
|
}).strict();
|
|
40087
|
-
var sdkWorkflowConfigSchema2 =
|
|
40193
|
+
var sdkWorkflowConfigSchema2 = z72.object({
|
|
40088
40194
|
id: sdkWorkflowIdSchema2,
|
|
40089
|
-
title:
|
|
40090
|
-
description:
|
|
40091
|
-
contentType:
|
|
40195
|
+
title: z72.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
40196
|
+
description: z72.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
40197
|
+
contentType: z72.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
40092
40198
|
endpoint: sdkWorkflowEndpointSchema2,
|
|
40093
|
-
triggers:
|
|
40199
|
+
triggers: z72.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
40094
40200
|
confirmation: sdkWorkflowConfirmationSchema2.optional()
|
|
40095
40201
|
}).strict();
|
|
40096
|
-
var sdkWorkflowsSchema2 =
|
|
40202
|
+
var sdkWorkflowsSchema2 = z72.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
40097
40203
|
const ids = workflows.map((workflow) => workflow.id);
|
|
40098
40204
|
return ids.length === new Set(ids).size;
|
|
40099
40205
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
40100
|
-
var riverbankSiteConfigSchema =
|
|
40101
|
-
siteId:
|
|
40206
|
+
var riverbankSiteConfigSchema = z72.object({
|
|
40207
|
+
siteId: z72.string().uuid(),
|
|
40102
40208
|
previewUrl: sdkSiteUrlSchema.optional(),
|
|
40103
40209
|
liveUrl: sdkSiteUrlSchema.optional(),
|
|
40104
40210
|
theme: sdkThemeConfigSchema2.optional(),
|
|
40105
40211
|
styles: siteStyleConfigSchema,
|
|
40106
40212
|
layout: layoutConfigSchema.optional(),
|
|
40107
|
-
customBlocks:
|
|
40213
|
+
customBlocks: z72.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
|
|
40108
40214
|
// Ensure unique block IDs
|
|
40109
40215
|
(blocks) => {
|
|
40110
40216
|
const ids = blocks.map((b) => b.id);
|
|
@@ -40117,7 +40223,7 @@ var riverbankSiteConfigSchema = z74.object({
|
|
|
40117
40223
|
workflows: sdkWorkflowsSchema2,
|
|
40118
40224
|
content: contentConfigSchema.optional(),
|
|
40119
40225
|
// CLI-related configuration (Phase 4)
|
|
40120
|
-
contentDir:
|
|
40226
|
+
contentDir: z72.string().optional(),
|
|
40121
40227
|
sync: syncConfigSchema,
|
|
40122
40228
|
deploy: deployConfigSchema,
|
|
40123
40229
|
// Theme sync configuration (Phase 5)
|