@riverbankcms/sdk 0.89.1 → 0.90.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -4
- package/dist/{PreviewEditorSidebar-JDR64FEC.mjs → PreviewEditorSidebar-KVXNF3VW.mjs} +3 -3
- package/dist/{PreviewEditorUI-67TMJMAF.mjs → PreviewEditorUI-J3JN5Z7T.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-UBL6MSNP.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/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/index.d.ts +6 -5
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -5
- 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/types.d.ts +3 -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/types.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +0 -2
- 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/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 +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +24 -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/eventProductEligibility.d.ts +24 -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/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/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/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-HKJQERFR.mjs → chunk-AEOYWPE4.mjs} +91 -55
- package/dist/{chunk-F645A5UV.mjs → chunk-BOQXMCSP.mjs} +129 -101
- package/dist/{chunk-ZQRBLCW5.mjs → chunk-GSPFFUVB.mjs} +2 -2
- package/dist/{chunk-7YUAXONX.mjs → chunk-PMBB6MQ7.mjs} +1280 -774
- package/dist/{chunk-TGBJWKMP.mjs → chunk-RQ3XZ4SJ.mjs} +9 -1
- package/dist/{chunk-7N46MZHI.mjs → chunk-UG7I7S7W.mjs} +1 -1
- package/dist/cli/index.mjs +899 -531
- 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-GXQNWQ6O.mjs} +1 -1
- package/dist/client/{bookingForm-PKD6EFIE.mjs → bookingForm-STLUJ36H.mjs} +25 -270
- package/dist/client/bookings.mjs +432 -269
- package/dist/client/{carousel-3TKQSNJC.mjs → carousel-CVRN6EPP.mjs} +1 -1
- package/dist/client/{cart-6XHSZK23.mjs → cart-IYIBA5CL.mjs} +5 -6
- package/dist/client/{checkout-FVSPM6FI.mjs → checkout-O3BGM4GS.mjs} +5 -6
- package/dist/client/chunk-4RTFGHZN.mjs +433 -0
- package/dist/client/{chunk-UQFY4AHX.mjs → chunk-6DPXDOIL.mjs} +65 -28
- package/dist/client/{chunk-ZT5XE7FK.mjs → chunk-D3ETC2SU.mjs} +1 -1
- package/dist/client/{chunk-CQKKFEQD.mjs → chunk-DAS5CIER.mjs} +274 -105
- package/dist/client/{chunk-SDIYSQAY.mjs → chunk-HIHOQGIP.mjs} +2 -3
- package/dist/client/{chunk-ZJZZA5EP.mjs → chunk-MFPKS6QS.mjs} +11 -14
- package/dist/client/{chunk-EY42X22F.mjs → chunk-NBFRJ5NB.mjs} +156 -4
- package/dist/client/{chunk-VGLXACVK.mjs → chunk-VFHZLZAC.mjs} +1 -1
- package/dist/client/{chunk-STJ2NCQM.mjs → chunk-WHZQDPBZ.mjs} +19 -1
- package/dist/client/{chunk-RSQWWUAD.mjs → chunk-Z62JYS5O.mjs} +3 -3
- package/dist/client/client.mjs +3292 -2827
- package/dist/client/{courseRegistration-ATZSYDHM.mjs → courseRegistration-2D3ACMJR.mjs} +18 -56
- package/dist/client/{eventCalendar-6T2UGKKP.mjs → eventCalendar-QY4UZUFF.mjs} +8 -9
- package/dist/client/{eventCombined-Q4VANXVF.mjs → eventCombined-RRCDKJC2.mjs} +8 -9
- package/dist/client/{eventDetails-DW37E7VW.mjs → eventDetails-YO335BUT.mjs} +8 -9
- package/dist/client/{eventListing-XURTSAUW.mjs → eventListing-PXA6GFQ3.mjs} +8 -9
- package/dist/client/{eventRegistration-MRKEVAXW.mjs → eventRegistration-2ZHEDDXO.mjs} +8 -9
- package/dist/client/{form-WZZFFGMU.mjs → form-ZS6KX4U2.mjs} +6 -6
- package/dist/client/{headerSection-EQYVQBLM.mjs → headerSection-QK5SLIIB.mjs} +2 -2
- package/dist/client/hooks.mjs +1084 -1029
- package/dist/client/{locationMap-MFF5VAZR.mjs → locationMap-GFNIUD2X.mjs} +2 -2
- package/dist/client/{newsletterForm-JQ77UYIE.mjs → newsletterForm-PGLTTCUG.mjs} +4 -4
- package/dist/client/{productDetail-25LMT3IZ.mjs → productDetail-OPBE5ZPI.mjs} +5 -6
- package/dist/client/{productList-5ABEMKUG.mjs → productList-NI72Q62Z.mjs} +5 -6
- package/dist/client/rendering/client.mjs +2692 -2285
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +2611 -2156
- package/dist/client/{shop-OMMQZ6YO.mjs → shop-3ZQPEWYI.mjs} +5 -6
- 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-FSHXCWDS.mjs} +6 -6
- package/dist/server/components.mjs +1722 -1453
- package/dist/server/config-validation.mjs +1316 -1261
- package/dist/server/config.mjs +1316 -1261
- package/dist/server/data.mjs +1084 -1029
- package/dist/server/index.mjs +135 -100
- package/dist/server/navigation.mjs +20 -30
- package/dist/server/next.mjs +1782 -1500
- package/dist/server/page-converter.mjs +1009 -946
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1722 -1453
- package/dist/server/rendering.mjs +1728 -1459
- package/dist/server/routing.mjs +1127 -1045
- package/dist/server/server.mjs +1219 -1129
- package/dist/server/theme-bridge.mjs +8 -5
- package/package.json +2 -2
- package/dist/SdkPreviewModeRuntime-ZBEMRV7N.mjs +0 -8
- package/dist/client/chunk-LQFDYWPJ.mjs +0 -184
- package/dist/client/chunk-ZFHRN6W2.mjs +0 -66
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/config/validation.ts
|
|
2
|
-
import { z as
|
|
2
|
+
import { z as z72 } from "zod";
|
|
3
3
|
|
|
4
4
|
// ../api/src/apiEndpointTypes.ts
|
|
5
5
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
@@ -6768,7 +6768,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
6768
6768
|
);
|
|
6769
6769
|
|
|
6770
6770
|
// ../api/src/sdkConfig/contracts.ts
|
|
6771
|
-
import { z as
|
|
6771
|
+
import { z as z63 } from "zod";
|
|
6772
6772
|
|
|
6773
6773
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
6774
6774
|
function augmentManifest(manifest) {
|
|
@@ -7196,12 +7196,17 @@ var visibleWhenPredicateSchema = z4.object({
|
|
|
7196
7196
|
minItems: z4.number().int().nonnegative().optional(),
|
|
7197
7197
|
maxItems: z4.number().int().nonnegative().optional()
|
|
7198
7198
|
});
|
|
7199
|
-
var visibleWhenSchema = z4.
|
|
7200
|
-
|
|
7201
|
-
|
|
7202
|
-
|
|
7203
|
-
|
|
7204
|
-
|
|
7199
|
+
var visibleWhenSchema = z4.lazy(
|
|
7200
|
+
() => z4.union([
|
|
7201
|
+
visibleWhenPredicateSchema,
|
|
7202
|
+
z4.object({
|
|
7203
|
+
allOf: z4.array(visibleWhenSchema).min(1)
|
|
7204
|
+
}),
|
|
7205
|
+
z4.object({
|
|
7206
|
+
anyOf: z4.array(visibleWhenSchema).min(1)
|
|
7207
|
+
})
|
|
7208
|
+
])
|
|
7209
|
+
);
|
|
7205
7210
|
var uiSchema = z4.object({
|
|
7206
7211
|
widget: z4.string().optional(),
|
|
7207
7212
|
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
@@ -20106,9 +20111,6 @@ var heroCopyFragment = defineFragment({
|
|
|
20106
20111
|
maxLength: 600
|
|
20107
20112
|
}
|
|
20108
20113
|
],
|
|
20109
|
-
// Layout order is [eyebrow, headline, subheadline]. The hero block's
|
|
20110
|
-
// `splitEditorial` variant reads these nodes by index; keep the order stable
|
|
20111
|
-
// (it fails fast at import if the count changes).
|
|
20112
20114
|
layout: [
|
|
20113
20115
|
text(
|
|
20114
20116
|
{
|
|
@@ -22346,32 +22348,6 @@ var splitReverseLayout = splitLayoutWith([
|
|
|
22346
22348
|
splitContentColumn,
|
|
22347
22349
|
splitImageColumn
|
|
22348
22350
|
]);
|
|
22349
|
-
var heroEyebrowNode = heroCopyFragment.layout[0];
|
|
22350
|
-
var heroHeadlineNode = heroCopyFragment.layout[1];
|
|
22351
|
-
var heroSubheadlineNode = heroCopyFragment.layout[2];
|
|
22352
|
-
var heroCtaRowNode = heroCtaRowFragment.layout[0];
|
|
22353
|
-
if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
|
|
22354
|
-
throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
|
|
22355
|
-
}
|
|
22356
|
-
var heroEditorialBottomRow = inline(
|
|
22357
|
-
{
|
|
22358
|
-
gap: "lg",
|
|
22359
|
-
align: "end",
|
|
22360
|
-
justify: "start",
|
|
22361
|
-
wrap: true,
|
|
22362
|
-
className: "rb-w-full"
|
|
22363
|
-
},
|
|
22364
|
-
[heroSubheadlineNode, heroCtaRowNode]
|
|
22365
|
-
);
|
|
22366
|
-
var splitEditorialContentColumn = heroContentWrapper(
|
|
22367
|
-
[heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
|
|
22368
|
-
"md",
|
|
22369
|
-
"rb-w-full rb-text-left"
|
|
22370
|
-
);
|
|
22371
|
-
var splitEditorialLayout = splitLayoutWith([
|
|
22372
|
-
splitEditorialContentColumn,
|
|
22373
|
-
splitImageColumn
|
|
22374
|
-
]);
|
|
22375
22351
|
var heroConfig = {
|
|
22376
22352
|
id: "block.hero",
|
|
22377
22353
|
title: "Hero",
|
|
@@ -22395,7 +22371,8 @@ var heroConfig = {
|
|
|
22395
22371
|
id: "imageShape",
|
|
22396
22372
|
label: "Image shape",
|
|
22397
22373
|
defaultValue: "default",
|
|
22398
|
-
uiIntent: "display"
|
|
22374
|
+
uiIntent: "display",
|
|
22375
|
+
visibleWhen: { field: "variant", oneOf: ["split", "splitReverse"] }
|
|
22399
22376
|
})
|
|
22400
22377
|
],
|
|
22401
22378
|
layout: classicLayout,
|
|
@@ -22403,8 +22380,7 @@ var heroConfig = {
|
|
|
22403
22380
|
classic: classicLayout,
|
|
22404
22381
|
micro: microLayout,
|
|
22405
22382
|
split: splitLayout,
|
|
22406
|
-
splitReverse: splitReverseLayout
|
|
22407
|
-
splitEditorial: splitEditorialLayout
|
|
22383
|
+
splitReverse: splitReverseLayout
|
|
22408
22384
|
},
|
|
22409
22385
|
defaultVariant: "classic",
|
|
22410
22386
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
@@ -24280,8 +24256,10 @@ function resolveGeneratedHeroLayoutStyles(content) {
|
|
|
24280
24256
|
return isPlainObject(raw) ? raw : null;
|
|
24281
24257
|
}
|
|
24282
24258
|
function readHeroLayoutString(content, generatedKey, fallbackKey = generatedKey) {
|
|
24259
|
+
const explicitValue = readString(content, fallbackKey);
|
|
24260
|
+
if (explicitValue !== void 0) return explicitValue;
|
|
24283
24261
|
const generated = resolveGeneratedHeroLayoutStyles(content);
|
|
24284
|
-
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] :
|
|
24262
|
+
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : void 0;
|
|
24285
24263
|
}
|
|
24286
24264
|
function resolveHeroVariant(content) {
|
|
24287
24265
|
const variant = readString(content, "variant");
|
|
@@ -24294,7 +24272,7 @@ function resolveHeroContentAlignment(content) {
|
|
|
24294
24272
|
const raw = readHeroLayoutString(content, "contentAlignment");
|
|
24295
24273
|
if (raw === "left" || raw === "center" || raw === "right") return raw;
|
|
24296
24274
|
const variant = resolveHeroVariant(content);
|
|
24297
|
-
if (variant === "split" || variant === "splitReverse"
|
|
24275
|
+
if (variant === "split" || variant === "splitReverse") return "left";
|
|
24298
24276
|
return "center";
|
|
24299
24277
|
}
|
|
24300
24278
|
function resolveHeroVerticalAlignment(content) {
|
|
@@ -24304,7 +24282,7 @@ function resolveHeroVerticalAlignment(content) {
|
|
|
24304
24282
|
const minHeight = sectionStyles?.minHeight;
|
|
24305
24283
|
if (minHeight === "banner" || minHeight === "hero" || minHeight === "immersive") return "center";
|
|
24306
24284
|
const variant = resolveHeroVariant(content);
|
|
24307
|
-
if (variant === "split" || variant === "splitReverse"
|
|
24285
|
+
if (variant === "split" || variant === "splitReverse") return "center";
|
|
24308
24286
|
return "top";
|
|
24309
24287
|
}
|
|
24310
24288
|
function resolveHeroContentMaxWidth(content) {
|
|
@@ -27870,9 +27848,6 @@ var appointmentBookingBlockDefinition = {
|
|
|
27870
27848
|
}
|
|
27871
27849
|
};
|
|
27872
27850
|
|
|
27873
|
-
// ../blocks/src/system/blocks/event-registration.ts
|
|
27874
|
-
import { z as z47 } from "zod";
|
|
27875
|
-
|
|
27876
27851
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27877
27852
|
import { z as z43 } from "zod";
|
|
27878
27853
|
|
|
@@ -28487,24 +28462,57 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28487
28462
|
return trimmed ? trimmed : null;
|
|
28488
28463
|
}
|
|
28489
28464
|
|
|
28490
|
-
// ../blocks/src/system/blocks/
|
|
28465
|
+
// ../blocks/src/system/blocks/shop.shared.ts
|
|
28491
28466
|
import { z as z44 } from "zod";
|
|
28492
|
-
var
|
|
28467
|
+
var publicPassProductSchema = z44.object({
|
|
28493
28468
|
id: z44.string(),
|
|
28494
|
-
|
|
28495
|
-
|
|
28496
|
-
|
|
28497
|
-
|
|
28498
|
-
|
|
28499
|
-
|
|
28469
|
+
productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
28470
|
+
name: z44.string(),
|
|
28471
|
+
description: z44.string().nullable(),
|
|
28472
|
+
price: z44.number(),
|
|
28473
|
+
currency: z44.string(),
|
|
28474
|
+
creditsTotal: z44.number(),
|
|
28475
|
+
pricePerCredit: z44.number(),
|
|
28476
|
+
validDays: z44.number().nullable(),
|
|
28477
|
+
eligibleCategoryIds: z44.array(z44.string()),
|
|
28478
|
+
eligibleCategoryNames: z44.array(z44.string())
|
|
28479
|
+
});
|
|
28480
|
+
var publicPassProductCollectionSchema = z44.object({
|
|
28481
|
+
passes: z44.array(publicPassProductSchema)
|
|
28482
|
+
});
|
|
28483
|
+
var publicMembershipProductSchema = z44.object({
|
|
28484
|
+
id: z44.string(),
|
|
28485
|
+
name: z44.string(),
|
|
28486
|
+
description: z44.string().nullable(),
|
|
28487
|
+
price: z44.number(),
|
|
28488
|
+
currency: z44.string(),
|
|
28489
|
+
billingInterval: z44.enum(["month", "year"]),
|
|
28490
|
+
eligibleCategoryIds: z44.array(z44.string()),
|
|
28491
|
+
eligibleCategoryNames: z44.array(z44.string())
|
|
28492
|
+
});
|
|
28493
|
+
var publicMembershipProductCollectionSchema = z44.object({
|
|
28494
|
+
memberships: z44.array(publicMembershipProductSchema)
|
|
28495
|
+
});
|
|
28496
|
+
|
|
28497
|
+
// ../blocks/src/system/blocks/event-registration.shared.ts
|
|
28498
|
+
import { z as z45 } from "zod";
|
|
28499
|
+
var occurrenceContextSchema = z45.object({
|
|
28500
|
+
id: z45.string(),
|
|
28501
|
+
seriesId: z45.string(),
|
|
28502
|
+
startsAt: z45.string(),
|
|
28503
|
+
endsAt: z45.string(),
|
|
28504
|
+
timeZone: z45.string(),
|
|
28505
|
+
capacityOverride: z45.number().nullable().optional(),
|
|
28506
|
+
overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
|
|
28500
28507
|
}).nullable();
|
|
28501
28508
|
|
|
28502
28509
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28503
|
-
import { z as
|
|
28510
|
+
import { z as z47 } from "zod";
|
|
28504
28511
|
|
|
28505
28512
|
// ../blocks/src/system/constants/events.ts
|
|
28506
28513
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
28507
|
-
var eventCalendarDisplayModeValues = ["combined", "
|
|
28514
|
+
var eventCalendarDisplayModeValues = ["combined", "calendar", "list", "timetable"];
|
|
28515
|
+
var eventCalendarDefaultViewValues = ["month", "week"];
|
|
28508
28516
|
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
28509
28517
|
var eventCalendarListLayoutOptions = [
|
|
28510
28518
|
{ id: "stack", label: "Stack" },
|
|
@@ -28514,6 +28522,9 @@ var eventCalendarListLayoutOptions = [
|
|
|
28514
28522
|
function isEventCalendarDisplayMode(value) {
|
|
28515
28523
|
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
28516
28524
|
}
|
|
28525
|
+
function isEventCalendarDefaultView(value) {
|
|
28526
|
+
return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
|
|
28527
|
+
}
|
|
28517
28528
|
function isEventCalendarListLayout(value) {
|
|
28518
28529
|
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
28519
28530
|
}
|
|
@@ -28654,16 +28665,17 @@ function readAmount(value) {
|
|
|
28654
28665
|
}
|
|
28655
28666
|
|
|
28656
28667
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28657
|
-
import { z as
|
|
28658
|
-
var previewStageSchema =
|
|
28659
|
-
var registrationButtonVariantSchema =
|
|
28660
|
-
var eventButtonVariantSchema =
|
|
28661
|
-
var eventLayoutSchema =
|
|
28662
|
-
var eventCalendarDisplayModeSchema =
|
|
28663
|
-
var
|
|
28664
|
-
var
|
|
28665
|
-
var
|
|
28666
|
-
var
|
|
28668
|
+
import { z as z46 } from "zod";
|
|
28669
|
+
var previewStageSchema = z46.enum(["preview", "published"]);
|
|
28670
|
+
var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
|
|
28671
|
+
var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
|
|
28672
|
+
var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
|
|
28673
|
+
var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
|
|
28674
|
+
var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
|
|
28675
|
+
var columnOptionSchema = z46.enum(["2", "3", "4"]);
|
|
28676
|
+
var weekStartSchema = z46.enum(["sunday", "monday"]);
|
|
28677
|
+
var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
|
|
28678
|
+
var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
|
|
28667
28679
|
|
|
28668
28680
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28669
28681
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -28681,7 +28693,7 @@ function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
|
28681
28693
|
function findPreSelectedEvent(input) {
|
|
28682
28694
|
const occurrenceContext = input.occurrenceContext;
|
|
28683
28695
|
if (!occurrenceContext) {
|
|
28684
|
-
return null;
|
|
28696
|
+
return input.scopedEvents.length === 1 ? input.scopedEvents[0] ?? null : null;
|
|
28685
28697
|
}
|
|
28686
28698
|
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28687
28699
|
startsAt: occurrenceContext.startsAt,
|
|
@@ -28723,68 +28735,72 @@ function toRegistrationEvents(events) {
|
|
|
28723
28735
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28724
28736
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28725
28737
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28726
|
-
var contentEntrySchema =
|
|
28727
|
-
id:
|
|
28728
|
-
slug:
|
|
28729
|
-
contentTypeSlug:
|
|
28738
|
+
var contentEntrySchema = z47.object({
|
|
28739
|
+
id: z47.string(),
|
|
28740
|
+
slug: z47.string(),
|
|
28741
|
+
contentTypeSlug: z47.string()
|
|
28730
28742
|
});
|
|
28731
|
-
var eventRegistrationPublicEventSchema =
|
|
28743
|
+
var eventRegistrationPublicEventSchema = z47.preprocess(
|
|
28732
28744
|
normalizeEventRegistrationEventInput,
|
|
28733
28745
|
publicEventSchema
|
|
28734
28746
|
);
|
|
28735
|
-
var eventRegistrationSourceSchema =
|
|
28736
|
-
siteId:
|
|
28737
|
-
apiBaseUrl:
|
|
28738
|
-
portalToken:
|
|
28739
|
-
previewToken:
|
|
28747
|
+
var eventRegistrationSourceSchema = z47.object({
|
|
28748
|
+
siteId: z47.string().optional(),
|
|
28749
|
+
apiBaseUrl: z47.string().optional(),
|
|
28750
|
+
portalToken: z47.string().nullable().optional(),
|
|
28751
|
+
previewToken: z47.string().nullable().optional(),
|
|
28740
28752
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28741
28753
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28742
|
-
events:
|
|
28743
|
-
className:
|
|
28744
|
-
buttonText:
|
|
28745
|
-
maxTickets:
|
|
28746
|
-
showVenue:
|
|
28747
|
-
showCapacity:
|
|
28748
|
-
successMessage:
|
|
28749
|
-
waitlistMessage:
|
|
28754
|
+
events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28755
|
+
className: z47.string().nullable().optional(),
|
|
28756
|
+
buttonText: z47.string().nullable().optional(),
|
|
28757
|
+
maxTickets: z47.string().nullable().optional(),
|
|
28758
|
+
showVenue: z47.boolean().optional(),
|
|
28759
|
+
showCapacity: z47.boolean().optional(),
|
|
28760
|
+
successMessage: z47.string().optional(),
|
|
28761
|
+
waitlistMessage: z47.string().optional(),
|
|
28750
28762
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28751
|
-
overlayEnabled:
|
|
28752
|
-
spamProtectionEnabled:
|
|
28763
|
+
overlayEnabled: z47.boolean().optional(),
|
|
28764
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
28753
28765
|
stage: previewStageSchema.optional(),
|
|
28754
|
-
supportEmail:
|
|
28755
|
-
|
|
28756
|
-
|
|
28757
|
-
|
|
28758
|
-
|
|
28759
|
-
|
|
28760
|
-
|
|
28761
|
-
|
|
28762
|
-
|
|
28763
|
-
|
|
28764
|
-
|
|
28765
|
-
|
|
28766
|
+
supportEmail: z47.string().optional(),
|
|
28767
|
+
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28768
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28769
|
+
});
|
|
28770
|
+
var eventRegistrationDisplaySchema = z47.object({
|
|
28771
|
+
kind: z47.literal("event-registration"),
|
|
28772
|
+
state: z47.literal("generic-shell"),
|
|
28773
|
+
className: z47.string().nullable(),
|
|
28774
|
+
titleText: z47.string(),
|
|
28775
|
+
bodyText: z47.string(),
|
|
28776
|
+
stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
28777
|
+
summaryButtonText: z47.string()
|
|
28778
|
+
});
|
|
28779
|
+
var eventRegistrationHydrationSchema = z47.object({
|
|
28766
28780
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28767
28781
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28768
|
-
events:
|
|
28769
|
-
maxTickets:
|
|
28770
|
-
showVenue:
|
|
28771
|
-
showCapacity:
|
|
28772
|
-
successMessage:
|
|
28773
|
-
waitlistMessage:
|
|
28782
|
+
events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28783
|
+
maxTickets: z47.string().optional(),
|
|
28784
|
+
showVenue: z47.boolean().optional(),
|
|
28785
|
+
showCapacity: z47.boolean().optional(),
|
|
28786
|
+
successMessage: z47.string().optional(),
|
|
28787
|
+
waitlistMessage: z47.string().optional(),
|
|
28774
28788
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28775
|
-
overlayEnabled:
|
|
28776
|
-
spamProtectionEnabled:
|
|
28777
|
-
supportEmail:
|
|
28789
|
+
overlayEnabled: z47.boolean().optional(),
|
|
28790
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
28791
|
+
supportEmail: z47.string().optional(),
|
|
28792
|
+
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28793
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28778
28794
|
});
|
|
28779
|
-
var eventRegistrationRenderSchema =
|
|
28795
|
+
var eventRegistrationRenderSchema = z47.object({
|
|
28780
28796
|
display: eventRegistrationDisplaySchema,
|
|
28781
28797
|
hydration: eventRegistrationHydrationSchema
|
|
28782
28798
|
});
|
|
28783
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
28784
|
-
siteId:
|
|
28785
|
-
apiBaseUrl:
|
|
28786
|
-
portalToken:
|
|
28787
|
-
previewToken:
|
|
28799
|
+
var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
|
|
28800
|
+
siteId: z47.string().optional(),
|
|
28801
|
+
apiBaseUrl: z47.string().optional(),
|
|
28802
|
+
portalToken: z47.string().nullable().optional(),
|
|
28803
|
+
previewToken: z47.string().nullable().optional(),
|
|
28788
28804
|
stage: previewStageSchema.optional()
|
|
28789
28805
|
}));
|
|
28790
28806
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -28890,7 +28906,9 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
28890
28906
|
buttonVariant: source.buttonVariant,
|
|
28891
28907
|
overlayEnabled: source.overlayEnabled,
|
|
28892
28908
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
28893
|
-
supportEmail: source.supportEmail
|
|
28909
|
+
supportEmail: source.supportEmail,
|
|
28910
|
+
sitePasses: source.sitePasses ?? null,
|
|
28911
|
+
siteMemberships: source.siteMemberships ?? null
|
|
28894
28912
|
}
|
|
28895
28913
|
})
|
|
28896
28914
|
});
|
|
@@ -29072,6 +29090,8 @@ var eventRegistrationManifest = createBlockManifest({
|
|
|
29072
29090
|
},
|
|
29073
29091
|
// Event data from loader
|
|
29074
29092
|
events: { $bind: { from: "data.events" } },
|
|
29093
|
+
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
29094
|
+
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
29075
29095
|
// Stage for preview mode (allows registering for draft events)
|
|
29076
29096
|
stage: {
|
|
29077
29097
|
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
@@ -29090,7 +29110,9 @@ var eventRegistrationBlockDefinition = {
|
|
|
29090
29110
|
manifest: eventRegistrationManifest,
|
|
29091
29111
|
runtime: eventRegistrationBlockRuntime,
|
|
29092
29112
|
dataSchemas: {
|
|
29093
|
-
events:
|
|
29113
|
+
events: publicEventsArraySchema.optional(),
|
|
29114
|
+
sitePasses: publicPassProductCollectionSchema.optional(),
|
|
29115
|
+
siteMemberships: publicMembershipProductCollectionSchema.optional(),
|
|
29094
29116
|
occurrenceContext: occurrenceContextSchema.optional()
|
|
29095
29117
|
},
|
|
29096
29118
|
dataLoaders: {
|
|
@@ -29109,6 +29131,20 @@ var eventRegistrationBlockDefinition = {
|
|
|
29109
29131
|
entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
|
|
29110
29132
|
},
|
|
29111
29133
|
mode: "server"
|
|
29134
|
+
},
|
|
29135
|
+
sitePasses: {
|
|
29136
|
+
endpoint: "listPublicPasses",
|
|
29137
|
+
params: {
|
|
29138
|
+
siteId: { $bind: { from: "$root.siteId" } }
|
|
29139
|
+
},
|
|
29140
|
+
mode: "server"
|
|
29141
|
+
},
|
|
29142
|
+
siteMemberships: {
|
|
29143
|
+
endpoint: "listPublicMemberships",
|
|
29144
|
+
params: {
|
|
29145
|
+
siteId: { $bind: { from: "$root.siteId" } }
|
|
29146
|
+
},
|
|
29147
|
+
mode: "server"
|
|
29112
29148
|
}
|
|
29113
29149
|
}
|
|
29114
29150
|
};
|
|
@@ -29440,35 +29476,7 @@ var courseRegistrationBlockDefinition = {
|
|
|
29440
29476
|
};
|
|
29441
29477
|
|
|
29442
29478
|
// ../blocks/src/system/blocks/event-details.ts
|
|
29443
|
-
import { z as z50 } from "zod";
|
|
29444
|
-
|
|
29445
|
-
// ../blocks/src/system/blocks/shop.shared.ts
|
|
29446
29479
|
import { z as z49 } from "zod";
|
|
29447
|
-
var publicPassProductSchema = z49.object({
|
|
29448
|
-
id: z49.string(),
|
|
29449
|
-
productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
29450
|
-
name: z49.string(),
|
|
29451
|
-
description: z49.string().nullable(),
|
|
29452
|
-
price: z49.number(),
|
|
29453
|
-
currency: z49.string(),
|
|
29454
|
-
creditsTotal: z49.number(),
|
|
29455
|
-
pricePerCredit: z49.number(),
|
|
29456
|
-
validDays: z49.number().nullable(),
|
|
29457
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
29458
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
29459
|
-
});
|
|
29460
|
-
var publicMembershipProductSchema = z49.object({
|
|
29461
|
-
id: z49.string(),
|
|
29462
|
-
name: z49.string(),
|
|
29463
|
-
description: z49.string().nullable(),
|
|
29464
|
-
price: z49.number(),
|
|
29465
|
-
currency: z49.string(),
|
|
29466
|
-
billingInterval: z49.enum(["month", "year"]),
|
|
29467
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
29468
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
29469
|
-
});
|
|
29470
|
-
|
|
29471
|
-
// ../blocks/src/system/blocks/event-details.ts
|
|
29472
29480
|
var eventDetailsManifest = createBlockManifest({
|
|
29473
29481
|
id: "block.event-details",
|
|
29474
29482
|
version: "1.0.0",
|
|
@@ -29600,40 +29608,40 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
29600
29608
|
})
|
|
29601
29609
|
]
|
|
29602
29610
|
});
|
|
29603
|
-
var occurrenceContextSchema2 =
|
|
29604
|
-
id:
|
|
29605
|
-
seriesId:
|
|
29606
|
-
startsAt:
|
|
29607
|
-
endsAt:
|
|
29608
|
-
timeZone:
|
|
29609
|
-
capacityOverride:
|
|
29610
|
-
overrides:
|
|
29611
|
+
var occurrenceContextSchema2 = z49.object({
|
|
29612
|
+
id: z49.string(),
|
|
29613
|
+
seriesId: z49.string(),
|
|
29614
|
+
startsAt: z49.string(),
|
|
29615
|
+
endsAt: z49.string(),
|
|
29616
|
+
timeZone: z49.string(),
|
|
29617
|
+
capacityOverride: z49.number().nullable().optional(),
|
|
29618
|
+
overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
|
|
29611
29619
|
}).nullable();
|
|
29612
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
29613
|
-
id:
|
|
29614
|
-
publicLabel:
|
|
29615
|
-
description:
|
|
29616
|
-
minTicketsRequired:
|
|
29620
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
|
|
29621
|
+
id: z49.string(),
|
|
29622
|
+
publicLabel: z49.string(),
|
|
29623
|
+
description: z49.string().nullable(),
|
|
29624
|
+
minTicketsRequired: z49.number().nullable()
|
|
29617
29625
|
});
|
|
29618
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
29626
|
+
var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
|
|
29619
29627
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29620
|
-
discountType:
|
|
29621
|
-
discountPercent:
|
|
29622
|
-
discountAmountCents:
|
|
29628
|
+
discountType: z49.literal("percent"),
|
|
29629
|
+
discountPercent: z49.number(),
|
|
29630
|
+
discountAmountCents: z49.null()
|
|
29623
29631
|
}),
|
|
29624
29632
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29625
|
-
discountType:
|
|
29626
|
-
discountPercent:
|
|
29627
|
-
discountAmountCents:
|
|
29633
|
+
discountType: z49.literal("fixed"),
|
|
29634
|
+
discountPercent: z49.null(),
|
|
29635
|
+
discountAmountCents: z49.number()
|
|
29628
29636
|
})
|
|
29629
29637
|
]);
|
|
29630
29638
|
var eventDetailsBlockDefinition = {
|
|
29631
29639
|
manifest: eventDetailsManifest,
|
|
29632
29640
|
dataSchemas: {
|
|
29633
|
-
eventDetailsData:
|
|
29641
|
+
eventDetailsData: z49.object({
|
|
29634
29642
|
events: publicEventsArraySchema,
|
|
29635
|
-
sitePasses:
|
|
29636
|
-
siteMemberships:
|
|
29643
|
+
sitePasses: publicPassProductCollectionSchema,
|
|
29644
|
+
siteMemberships: publicMembershipProductCollectionSchema,
|
|
29637
29645
|
autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
|
|
29638
29646
|
}).optional(),
|
|
29639
29647
|
occurrenceContext: occurrenceContextSchema2.optional()
|
|
@@ -29957,7 +29965,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
29957
29965
|
};
|
|
29958
29966
|
|
|
29959
29967
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
29960
|
-
import { z as
|
|
29968
|
+
import { z as z51 } from "zod";
|
|
29961
29969
|
|
|
29962
29970
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
29963
29971
|
var COLUMN_CLASSES = {
|
|
@@ -30065,16 +30073,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
30065
30073
|
}
|
|
30066
30074
|
|
|
30067
30075
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
30068
|
-
import { z as
|
|
30076
|
+
import { z as z50 } from "zod";
|
|
30069
30077
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
30070
|
-
var eventPageSizeSchema =
|
|
30071
|
-
|
|
30072
|
-
|
|
30073
|
-
|
|
30074
|
-
|
|
30075
|
-
|
|
30076
|
-
|
|
30077
|
-
|
|
30078
|
+
var eventPageSizeSchema = z50.union([
|
|
30079
|
+
z50.literal(3),
|
|
30080
|
+
z50.literal(6),
|
|
30081
|
+
z50.literal(10),
|
|
30082
|
+
z50.literal(12),
|
|
30083
|
+
z50.literal(20),
|
|
30084
|
+
z50.literal(24),
|
|
30085
|
+
z50.literal(30)
|
|
30078
30086
|
]);
|
|
30079
30087
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
30080
30088
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -30084,15 +30092,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
30084
30092
|
function resolveEventCalendarListPageSize(input) {
|
|
30085
30093
|
return resolveEventPageSize(input.eventsPerPage);
|
|
30086
30094
|
}
|
|
30087
|
-
var eventListPaginationActionSchema =
|
|
30088
|
-
|
|
30089
|
-
kind:
|
|
30090
|
-
label:
|
|
30095
|
+
var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
|
|
30096
|
+
z50.object({
|
|
30097
|
+
kind: z50.literal("loadMore"),
|
|
30098
|
+
label: z50.string()
|
|
30091
30099
|
}),
|
|
30092
|
-
|
|
30093
|
-
kind:
|
|
30094
|
-
label:
|
|
30095
|
-
href:
|
|
30100
|
+
z50.object({
|
|
30101
|
+
kind: z50.literal("seeAllLink"),
|
|
30102
|
+
label: z50.string(),
|
|
30103
|
+
href: z50.string()
|
|
30096
30104
|
})
|
|
30097
30105
|
]);
|
|
30098
30106
|
function resolveEventListPaginationAction(input) {
|
|
@@ -30105,89 +30113,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
30105
30113
|
}
|
|
30106
30114
|
|
|
30107
30115
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30108
|
-
var legacyEventCardVariantSchema =
|
|
30109
|
-
var eventCardVariantInputSchema =
|
|
30116
|
+
var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
|
|
30117
|
+
var eventCardVariantInputSchema = z51.union([
|
|
30110
30118
|
cardVariantRoleSchema,
|
|
30111
30119
|
legacyEventCardVariantSchema
|
|
30112
30120
|
]);
|
|
30113
|
-
var cardOrientationSchema =
|
|
30114
|
-
var eventBlockKindSchema =
|
|
30115
|
-
var eventSurfaceScopeSchema =
|
|
30116
|
-
var eventScheduleScopeSchema2 =
|
|
30117
|
-
var eventListingSourceSchema =
|
|
30118
|
-
events:
|
|
30119
|
-
siteId:
|
|
30120
|
-
apiBaseUrl:
|
|
30121
|
+
var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
|
|
30122
|
+
var eventBlockKindSchema = z51.enum(eventBlockKindValues);
|
|
30123
|
+
var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
|
|
30124
|
+
var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
|
|
30125
|
+
var eventListingSourceSchema = z51.object({
|
|
30126
|
+
events: z51.array(publicEventSchema).nullable().optional(),
|
|
30127
|
+
siteId: z51.string(),
|
|
30128
|
+
apiBaseUrl: z51.string().optional(),
|
|
30121
30129
|
stage: previewStageSchema.optional(),
|
|
30122
30130
|
layout: eventLayoutSchema.optional(),
|
|
30123
30131
|
columns: columnOptionSchema.optional(),
|
|
30124
|
-
eventsPerPage:
|
|
30125
|
-
paginationMode:
|
|
30126
|
-
seeAllUrl:
|
|
30127
|
-
loadMoreText:
|
|
30132
|
+
eventsPerPage: z51.string().optional(),
|
|
30133
|
+
paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30134
|
+
seeAllUrl: z51.string().optional(),
|
|
30135
|
+
loadMoreText: z51.string().optional(),
|
|
30128
30136
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
30129
30137
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30130
|
-
buttonText:
|
|
30131
|
-
showVenue:
|
|
30132
|
-
showMap:
|
|
30133
|
-
showCapacity:
|
|
30134
|
-
emptyMessage:
|
|
30135
|
-
className:
|
|
30136
|
-
showFilters:
|
|
30138
|
+
buttonText: z51.string().optional(),
|
|
30139
|
+
showVenue: z51.boolean().optional(),
|
|
30140
|
+
showMap: z51.boolean().optional(),
|
|
30141
|
+
showCapacity: z51.boolean().optional(),
|
|
30142
|
+
emptyMessage: z51.string().optional(),
|
|
30143
|
+
className: z51.string().optional(),
|
|
30144
|
+
showFilters: z51.boolean().nullable().optional(),
|
|
30137
30145
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30138
|
-
showVenueFilter:
|
|
30139
|
-
showStaffFilter:
|
|
30146
|
+
showVenueFilter: z51.boolean().nullable().optional(),
|
|
30147
|
+
showStaffFilter: z51.boolean().nullable().optional(),
|
|
30140
30148
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
30141
30149
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
30142
|
-
filterEventPresets:
|
|
30150
|
+
filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
|
|
30143
30151
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
30144
|
-
filterCategoryIds:
|
|
30145
|
-
filterStaffMemberId:
|
|
30146
|
-
filterVenueId:
|
|
30152
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
30153
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
30154
|
+
filterVenueId: z51.string().nullable().optional()
|
|
30147
30155
|
});
|
|
30148
|
-
var eventListingDisplaySchema =
|
|
30149
|
-
kind:
|
|
30150
|
-
state:
|
|
30156
|
+
var eventListingDisplaySchema = z51.object({
|
|
30157
|
+
kind: z51.literal("event-listing"),
|
|
30158
|
+
state: z51.enum(["loading", "empty", "ready"]),
|
|
30151
30159
|
listLayout: eventLayoutSchema,
|
|
30152
|
-
className:
|
|
30153
|
-
emptyMessage:
|
|
30154
|
-
loadingMessage:
|
|
30155
|
-
containerClass:
|
|
30160
|
+
className: z51.string().nullable(),
|
|
30161
|
+
emptyMessage: z51.string(),
|
|
30162
|
+
loadingMessage: z51.string(),
|
|
30163
|
+
containerClass: z51.string(),
|
|
30156
30164
|
cardVariant: cardVariantRoleSchema,
|
|
30157
30165
|
buttonVariant: eventButtonVariantSchema,
|
|
30158
|
-
buttonText:
|
|
30159
|
-
showVenue:
|
|
30160
|
-
showMap:
|
|
30161
|
-
showCapacity:
|
|
30166
|
+
buttonText: z51.string(),
|
|
30167
|
+
showVenue: z51.boolean(),
|
|
30168
|
+
showMap: z51.boolean(),
|
|
30169
|
+
showCapacity: z51.boolean(),
|
|
30162
30170
|
orientation: cardOrientationSchema,
|
|
30163
|
-
events:
|
|
30171
|
+
events: z51.array(publicEventSchema)
|
|
30164
30172
|
});
|
|
30165
|
-
var eventListingHydrationSchema =
|
|
30166
|
-
siteId:
|
|
30173
|
+
var eventListingHydrationSchema = z51.object({
|
|
30174
|
+
siteId: z51.string(),
|
|
30167
30175
|
stage: previewStageSchema.optional(),
|
|
30168
30176
|
eventsPerPage: eventPageSizeSchema,
|
|
30169
30177
|
paginationAction: eventListPaginationActionSchema,
|
|
30170
|
-
showFilters:
|
|
30178
|
+
showFilters: z51.boolean(),
|
|
30171
30179
|
showCategoryFilter: filterAutoShowSchema,
|
|
30172
|
-
showVenueFilter:
|
|
30173
|
-
showStaffFilter:
|
|
30180
|
+
showVenueFilter: z51.boolean(),
|
|
30181
|
+
showStaffFilter: z51.boolean(),
|
|
30174
30182
|
eventKind: eventBlockKindSchema,
|
|
30175
30183
|
eventSurface: eventSurfaceScopeSchema,
|
|
30176
|
-
filterEventPresets:
|
|
30184
|
+
filterEventPresets: z51.string().nullable(),
|
|
30177
30185
|
scheduleScope: eventScheduleScopeSchema2,
|
|
30178
|
-
filterCategoryIds:
|
|
30179
|
-
filterStaffMemberId:
|
|
30180
|
-
filterVenueId:
|
|
30181
|
-
fetchInitialEventsOnMount:
|
|
30186
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
30187
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
30188
|
+
filterVenueId: z51.string().nullable().optional(),
|
|
30189
|
+
fetchInitialEventsOnMount: z51.boolean()
|
|
30182
30190
|
});
|
|
30183
|
-
var eventListingRenderSchema =
|
|
30191
|
+
var eventListingRenderSchema = z51.object({
|
|
30184
30192
|
display: eventListingDisplaySchema,
|
|
30185
30193
|
hydration: eventListingHydrationSchema
|
|
30186
30194
|
});
|
|
30187
30195
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
30188
|
-
|
|
30189
|
-
siteId:
|
|
30190
|
-
apiBaseUrl:
|
|
30196
|
+
z51.object({
|
|
30197
|
+
siteId: z51.string(),
|
|
30198
|
+
apiBaseUrl: z51.string().optional(),
|
|
30191
30199
|
stage: previewStageSchema.optional()
|
|
30192
30200
|
})
|
|
30193
30201
|
);
|
|
@@ -30554,15 +30562,15 @@ var eventListingBlockDefinition = {
|
|
|
30554
30562
|
};
|
|
30555
30563
|
|
|
30556
30564
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30557
|
-
import { z as
|
|
30558
|
-
var eventBlockKindSchema2 =
|
|
30559
|
-
var eventSurfaceScopeSchema2 =
|
|
30560
|
-
var eventScheduleScopeSchema3 =
|
|
30561
|
-
var eventCalendarSourceSchema =
|
|
30565
|
+
import { z as z52 } from "zod";
|
|
30566
|
+
var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
|
|
30567
|
+
var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
|
|
30568
|
+
var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
|
|
30569
|
+
var eventCalendarSourceSchema = z52.object(
|
|
30562
30570
|
{
|
|
30563
|
-
events:
|
|
30564
|
-
siteId:
|
|
30565
|
-
apiBaseUrl:
|
|
30571
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
30572
|
+
siteId: z52.string(),
|
|
30573
|
+
apiBaseUrl: z52.string().optional(),
|
|
30566
30574
|
stage: previewStageSchema.optional(),
|
|
30567
30575
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
30568
30576
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -30570,78 +30578,80 @@ var eventCalendarSourceSchema = z53.object(
|
|
|
30570
30578
|
listColumns: columnOptionSchema.optional(),
|
|
30571
30579
|
layout: eventLayoutSchema.optional(),
|
|
30572
30580
|
columns: columnOptionSchema.optional(),
|
|
30573
|
-
eventsPerPage:
|
|
30574
|
-
paginationMode:
|
|
30575
|
-
seeAllUrl:
|
|
30576
|
-
loadMoreText:
|
|
30581
|
+
eventsPerPage: z52.string().optional(),
|
|
30582
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30583
|
+
seeAllUrl: z52.string().optional(),
|
|
30584
|
+
loadMoreText: z52.string().optional(),
|
|
30577
30585
|
startOfWeek: weekStartSchema.optional(),
|
|
30578
30586
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
30579
|
-
|
|
30587
|
+
defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
|
|
30588
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
30580
30589
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30581
|
-
showVenueFilter:
|
|
30582
|
-
showStaffFilter:
|
|
30590
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
30591
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
30583
30592
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
30584
30593
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
30585
|
-
filterEventPresets:
|
|
30594
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30586
30595
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
30587
|
-
filterCategoryIds:
|
|
30588
|
-
filterStaffMemberId:
|
|
30589
|
-
filterVenueId:
|
|
30596
|
+
filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30597
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30598
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
30590
30599
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30591
|
-
buttonText:
|
|
30592
|
-
showVenue:
|
|
30593
|
-
showMap:
|
|
30594
|
-
showCapacity:
|
|
30595
|
-
emptyMessage:
|
|
30596
|
-
className:
|
|
30600
|
+
buttonText: z52.string().optional(),
|
|
30601
|
+
showVenue: z52.boolean().nullable().optional(),
|
|
30602
|
+
showMap: z52.boolean().nullable().optional(),
|
|
30603
|
+
showCapacity: z52.boolean().nullable().optional(),
|
|
30604
|
+
emptyMessage: z52.string().optional(),
|
|
30605
|
+
className: z52.string().optional()
|
|
30597
30606
|
}
|
|
30598
30607
|
);
|
|
30599
|
-
var eventCalendarDisplaySchema =
|
|
30600
|
-
kind:
|
|
30608
|
+
var eventCalendarDisplaySchema = z52.object({
|
|
30609
|
+
kind: z52.literal("event-calendar"),
|
|
30601
30610
|
displayMode: eventCalendarDisplayModeSchema,
|
|
30602
|
-
className:
|
|
30603
|
-
events:
|
|
30611
|
+
className: z52.string().nullable(),
|
|
30612
|
+
events: z52.array(publicEventSchema),
|
|
30604
30613
|
listLayout: eventLayoutSchema,
|
|
30605
30614
|
listColumns: columnOptionSchema,
|
|
30606
30615
|
eventsPerPage: eventPageSizeSchema,
|
|
30607
30616
|
paginationAction: eventListPaginationActionSchema,
|
|
30608
30617
|
startOfWeek: weekStartSchema,
|
|
30609
30618
|
calendarTabViews: calendarTabViewsSchema,
|
|
30610
|
-
|
|
30619
|
+
defaultCalendarView: eventCalendarDefaultViewSchema,
|
|
30620
|
+
showFilters: z52.boolean(),
|
|
30611
30621
|
showCategoryFilter: filterAutoShowSchema,
|
|
30612
|
-
showVenueFilter:
|
|
30613
|
-
showStaffFilter:
|
|
30622
|
+
showVenueFilter: z52.boolean(),
|
|
30623
|
+
showStaffFilter: z52.boolean(),
|
|
30614
30624
|
eventKind: eventBlockKindSchema2,
|
|
30615
30625
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30616
|
-
filterEventPresets:
|
|
30626
|
+
filterEventPresets: z52.string().nullable(),
|
|
30617
30627
|
scheduleScope: eventScheduleScopeSchema3,
|
|
30618
|
-
filterCategoryIds:
|
|
30619
|
-
filterStaffMemberId:
|
|
30620
|
-
filterVenueId:
|
|
30628
|
+
filterCategoryIds: z52.string().nullable(),
|
|
30629
|
+
filterStaffMemberId: z52.string().nullable(),
|
|
30630
|
+
filterVenueId: z52.string().nullable(),
|
|
30621
30631
|
buttonVariant: eventButtonVariantSchema,
|
|
30622
|
-
buttonText:
|
|
30623
|
-
showVenue:
|
|
30624
|
-
showMap:
|
|
30625
|
-
showCapacity:
|
|
30626
|
-
emptyMessage:
|
|
30627
|
-
});
|
|
30628
|
-
var eventCalendarHydrationSchema =
|
|
30629
|
-
siteId:
|
|
30632
|
+
buttonText: z52.string(),
|
|
30633
|
+
showVenue: z52.boolean(),
|
|
30634
|
+
showMap: z52.boolean(),
|
|
30635
|
+
showCapacity: z52.boolean(),
|
|
30636
|
+
emptyMessage: z52.string()
|
|
30637
|
+
});
|
|
30638
|
+
var eventCalendarHydrationSchema = z52.object({
|
|
30639
|
+
siteId: z52.string(),
|
|
30630
30640
|
stage: previewStageSchema.optional(),
|
|
30631
|
-
prefetchedEvents:
|
|
30641
|
+
prefetchedEvents: z52.boolean(),
|
|
30632
30642
|
eventKind: eventBlockKindSchema2,
|
|
30633
30643
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30634
|
-
filterEventPresets:
|
|
30644
|
+
filterEventPresets: z52.string().nullable(),
|
|
30635
30645
|
scheduleScope: eventScheduleScopeSchema3
|
|
30636
30646
|
});
|
|
30637
|
-
var eventCalendarRenderSchema =
|
|
30647
|
+
var eventCalendarRenderSchema = z52.object({
|
|
30638
30648
|
display: eventCalendarDisplaySchema,
|
|
30639
30649
|
hydration: eventCalendarHydrationSchema
|
|
30640
30650
|
});
|
|
30641
30651
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
30642
|
-
|
|
30643
|
-
siteId:
|
|
30644
|
-
apiBaseUrl:
|
|
30652
|
+
z52.object({
|
|
30653
|
+
siteId: z52.string(),
|
|
30654
|
+
apiBaseUrl: z52.string().optional(),
|
|
30645
30655
|
stage: previewStageSchema.optional()
|
|
30646
30656
|
})
|
|
30647
30657
|
);
|
|
@@ -30671,6 +30681,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
30671
30681
|
}),
|
|
30672
30682
|
startOfWeek: source.startOfWeek ?? "monday",
|
|
30673
30683
|
calendarTabViews: source.calendarTabViews ?? "both",
|
|
30684
|
+
defaultCalendarView: source.defaultCalendarView ?? "month",
|
|
30674
30685
|
showFilters: source.showFilters ?? true,
|
|
30675
30686
|
showCategoryFilter: source.showCategoryFilter ?? "auto",
|
|
30676
30687
|
showVenueFilter: source.showVenueFilter ?? false,
|
|
@@ -30733,6 +30744,9 @@ function normalizeEventCalendarContent(content) {
|
|
|
30733
30744
|
...variant ? { variant } : {},
|
|
30734
30745
|
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
30735
30746
|
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
30747
|
+
defaultCalendarView: normalizeEventCalendarDefaultView(
|
|
30748
|
+
record.defaultCalendarView
|
|
30749
|
+
),
|
|
30736
30750
|
kind,
|
|
30737
30751
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
30738
30752
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -30750,6 +30764,9 @@ function normalizeEventCalendarDisplayMode(value) {
|
|
|
30750
30764
|
function normalizeEventCalendarListLayout(value) {
|
|
30751
30765
|
return isEventCalendarListLayout(value) ? value : void 0;
|
|
30752
30766
|
}
|
|
30767
|
+
function normalizeEventCalendarDefaultView(value) {
|
|
30768
|
+
return isEventCalendarDefaultView(value) ? value : void 0;
|
|
30769
|
+
}
|
|
30753
30770
|
var eventCalendarLayout = [
|
|
30754
30771
|
styledSection({
|
|
30755
30772
|
children: sectionContainer(
|
|
@@ -30809,6 +30826,9 @@ var eventCalendarLayout = [
|
|
|
30809
30826
|
calendarTabViews: {
|
|
30810
30827
|
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
30811
30828
|
},
|
|
30829
|
+
defaultCalendarView: {
|
|
30830
|
+
$bind: { from: "content.defaultCalendarView", fallback: "month" }
|
|
30831
|
+
},
|
|
30812
30832
|
// Filtering options
|
|
30813
30833
|
showFilters: {
|
|
30814
30834
|
$bind: { from: "content.showFilters", fallback: true }
|
|
@@ -30875,8 +30895,7 @@ var eventCalendarAdditionalFields = [
|
|
|
30875
30895
|
defaultValue: "combined",
|
|
30876
30896
|
options: [
|
|
30877
30897
|
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
30878
|
-
{ value: "
|
|
30879
|
-
{ value: "week", label: "Week agenda" },
|
|
30898
|
+
{ value: "calendar", label: "Calendar" },
|
|
30880
30899
|
{ value: "timetable", label: "Timetable" },
|
|
30881
30900
|
{ value: "list", label: "List" }
|
|
30882
30901
|
],
|
|
@@ -30915,7 +30934,12 @@ var eventCalendarAdditionalFields = [
|
|
|
30915
30934
|
],
|
|
30916
30935
|
ui: {
|
|
30917
30936
|
intent: "display",
|
|
30918
|
-
visibleWhen: {
|
|
30937
|
+
visibleWhen: {
|
|
30938
|
+
allOf: [
|
|
30939
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
30940
|
+
{ field: "listLayout", equals: "grid" }
|
|
30941
|
+
]
|
|
30942
|
+
}
|
|
30919
30943
|
}
|
|
30920
30944
|
},
|
|
30921
30945
|
{
|
|
@@ -30963,7 +30987,12 @@ var eventCalendarAdditionalFields = [
|
|
|
30963
30987
|
required: false,
|
|
30964
30988
|
ui: {
|
|
30965
30989
|
intent: "display",
|
|
30966
|
-
visibleWhen: {
|
|
30990
|
+
visibleWhen: {
|
|
30991
|
+
allOf: [
|
|
30992
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
30993
|
+
{ field: "paginationMode", equals: "seeAllLink" }
|
|
30994
|
+
]
|
|
30995
|
+
}
|
|
30967
30996
|
}
|
|
30968
30997
|
},
|
|
30969
30998
|
{
|
|
@@ -30996,7 +31025,7 @@ var eventCalendarAdditionalFields = [
|
|
|
30996
31025
|
intent: "display",
|
|
30997
31026
|
visibleWhen: {
|
|
30998
31027
|
field: "variant",
|
|
30999
|
-
oneOf: ["combined", "
|
|
31028
|
+
oneOf: ["combined", "calendar", "timetable"]
|
|
31000
31029
|
}
|
|
31001
31030
|
}
|
|
31002
31031
|
},
|
|
@@ -31019,6 +31048,33 @@ var eventCalendarAdditionalFields = [
|
|
|
31019
31048
|
visibleWhen: { field: "variant", equals: "combined" }
|
|
31020
31049
|
}
|
|
31021
31050
|
},
|
|
31051
|
+
{
|
|
31052
|
+
id: "defaultCalendarView",
|
|
31053
|
+
type: "select",
|
|
31054
|
+
label: "Calendar view",
|
|
31055
|
+
description: "Choose the standalone calendar view, or the first view in combined mode",
|
|
31056
|
+
required: false,
|
|
31057
|
+
multiple: false,
|
|
31058
|
+
defaultValue: "month",
|
|
31059
|
+
options: [
|
|
31060
|
+
{ value: "month", label: "Month" },
|
|
31061
|
+
{ value: "week", label: "Week" }
|
|
31062
|
+
],
|
|
31063
|
+
ui: {
|
|
31064
|
+
intent: "display",
|
|
31065
|
+
visibleWhen: {
|
|
31066
|
+
anyOf: [
|
|
31067
|
+
{ field: "variant", equals: "calendar" },
|
|
31068
|
+
{
|
|
31069
|
+
allOf: [
|
|
31070
|
+
{ field: "variant", equals: "combined" },
|
|
31071
|
+
{ field: "calendarTabViews", equals: "both" }
|
|
31072
|
+
]
|
|
31073
|
+
}
|
|
31074
|
+
]
|
|
31075
|
+
}
|
|
31076
|
+
}
|
|
31077
|
+
},
|
|
31022
31078
|
// Filtering options
|
|
31023
31079
|
{
|
|
31024
31080
|
id: "kind",
|
|
@@ -31046,7 +31102,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31046
31102
|
intent: "display",
|
|
31047
31103
|
visibleWhen: {
|
|
31048
31104
|
field: "variant",
|
|
31049
|
-
oneOf: ["combined", "list", "timetable"]
|
|
31105
|
+
oneOf: ["combined", "calendar", "list", "timetable"]
|
|
31050
31106
|
}
|
|
31051
31107
|
}
|
|
31052
31108
|
},
|
|
@@ -31066,8 +31122,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31066
31122
|
ui: {
|
|
31067
31123
|
intent: "display",
|
|
31068
31124
|
visibleWhen: {
|
|
31069
|
-
|
|
31070
|
-
|
|
31125
|
+
allOf: [
|
|
31126
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31127
|
+
{ field: "showFilters", equals: true }
|
|
31128
|
+
]
|
|
31071
31129
|
}
|
|
31072
31130
|
}
|
|
31073
31131
|
},
|
|
@@ -31081,8 +31139,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31081
31139
|
ui: {
|
|
31082
31140
|
intent: "display",
|
|
31083
31141
|
visibleWhen: {
|
|
31084
|
-
|
|
31085
|
-
|
|
31142
|
+
allOf: [
|
|
31143
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31144
|
+
{ field: "showFilters", equals: true }
|
|
31145
|
+
]
|
|
31086
31146
|
}
|
|
31087
31147
|
}
|
|
31088
31148
|
},
|
|
@@ -31096,8 +31156,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31096
31156
|
ui: {
|
|
31097
31157
|
intent: "display",
|
|
31098
31158
|
visibleWhen: {
|
|
31099
|
-
|
|
31100
|
-
|
|
31159
|
+
allOf: [
|
|
31160
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31161
|
+
{ field: "showFilters", equals: true }
|
|
31162
|
+
]
|
|
31101
31163
|
}
|
|
31102
31164
|
}
|
|
31103
31165
|
},
|
|
@@ -31111,8 +31173,15 @@ var eventCalendarAdditionalFields = [
|
|
|
31111
31173
|
ui: {
|
|
31112
31174
|
intent: "display",
|
|
31113
31175
|
visibleWhen: {
|
|
31114
|
-
|
|
31115
|
-
|
|
31176
|
+
anyOf: [
|
|
31177
|
+
{ field: "variant", oneOf: ["combined", "list", "timetable"] },
|
|
31178
|
+
{
|
|
31179
|
+
allOf: [
|
|
31180
|
+
{ field: "variant", equals: "calendar" },
|
|
31181
|
+
{ field: "defaultCalendarView", equals: "week" }
|
|
31182
|
+
]
|
|
31183
|
+
}
|
|
31184
|
+
]
|
|
31116
31185
|
}
|
|
31117
31186
|
}
|
|
31118
31187
|
},
|
|
@@ -31228,8 +31297,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31228
31297
|
];
|
|
31229
31298
|
var eventCalendarVariants = {
|
|
31230
31299
|
combined: eventCalendarLayout[0],
|
|
31231
|
-
|
|
31232
|
-
week: eventCalendarLayout[0],
|
|
31300
|
+
calendar: eventCalendarLayout[0],
|
|
31233
31301
|
timetable: eventCalendarLayout[0],
|
|
31234
31302
|
list: eventCalendarLayout[0]
|
|
31235
31303
|
};
|
|
@@ -31241,8 +31309,7 @@ var eventCalendarDerivedFields = [
|
|
|
31241
31309
|
multiple: false,
|
|
31242
31310
|
options: [
|
|
31243
31311
|
{ value: "combined" },
|
|
31244
|
-
{ value: "
|
|
31245
|
-
{ value: "week" },
|
|
31312
|
+
{ value: "calendar" },
|
|
31246
31313
|
{ value: "timetable" },
|
|
31247
31314
|
{ value: "list" }
|
|
31248
31315
|
]
|
|
@@ -31255,6 +31322,13 @@ var eventCalendarDerivedFields = [
|
|
|
31255
31322
|
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
31256
31323
|
value: option.id
|
|
31257
31324
|
}))
|
|
31325
|
+
},
|
|
31326
|
+
{
|
|
31327
|
+
id: "defaultCalendarView",
|
|
31328
|
+
type: "select",
|
|
31329
|
+
required: false,
|
|
31330
|
+
multiple: false,
|
|
31331
|
+
options: [{ value: "month" }, { value: "week" }]
|
|
31258
31332
|
}
|
|
31259
31333
|
];
|
|
31260
31334
|
var eventCalendarContentShape = {
|
|
@@ -31303,8 +31377,7 @@ var eventCalendarConfig = {
|
|
|
31303
31377
|
defaultVariant: "combined",
|
|
31304
31378
|
variantOptions: {
|
|
31305
31379
|
combined: { label: "Combined" },
|
|
31306
|
-
|
|
31307
|
-
week: { label: "Week" },
|
|
31380
|
+
calendar: { label: "Calendar" },
|
|
31308
31381
|
timetable: { label: "Timetable" },
|
|
31309
31382
|
list: { label: "List" }
|
|
31310
31383
|
}
|
|
@@ -31350,7 +31423,7 @@ var eventCalendarBlockDefinition = {
|
|
|
31350
31423
|
};
|
|
31351
31424
|
|
|
31352
31425
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31353
|
-
import { z as
|
|
31426
|
+
import { z as z53 } from "zod";
|
|
31354
31427
|
|
|
31355
31428
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
31356
31429
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -31442,13 +31515,13 @@ function isRecord5(value) {
|
|
|
31442
31515
|
}
|
|
31443
31516
|
|
|
31444
31517
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31445
|
-
var publicRouteCandidatesSchema =
|
|
31446
|
-
routes:
|
|
31447
|
-
entityId:
|
|
31448
|
-
path:
|
|
31449
|
-
title:
|
|
31450
|
-
kind:
|
|
31451
|
-
contentTypeKey:
|
|
31518
|
+
var publicRouteCandidatesSchema = z53.object({
|
|
31519
|
+
routes: z53.array(z53.object({
|
|
31520
|
+
entityId: z53.string(),
|
|
31521
|
+
path: z53.string(),
|
|
31522
|
+
title: z53.string(),
|
|
31523
|
+
kind: z53.enum(["page", "content"]),
|
|
31524
|
+
contentTypeKey: z53.string().nullable().optional()
|
|
31452
31525
|
}))
|
|
31453
31526
|
});
|
|
31454
31527
|
var groupOverrideFields = [
|
|
@@ -31846,7 +31919,7 @@ function isRecord6(value) {
|
|
|
31846
31919
|
}
|
|
31847
31920
|
|
|
31848
31921
|
// ../blocks/src/system/blocks/embed.ts
|
|
31849
|
-
import { z as
|
|
31922
|
+
import { z as z54 } from "zod";
|
|
31850
31923
|
var embedFields = [
|
|
31851
31924
|
// Section heading
|
|
31852
31925
|
parseFieldDefinition({
|
|
@@ -32077,18 +32150,18 @@ var embedManifest = createBlockManifest({
|
|
|
32077
32150
|
spacing: "lg"
|
|
32078
32151
|
}
|
|
32079
32152
|
});
|
|
32080
|
-
var embedEntrySchema =
|
|
32081
|
-
id:
|
|
32082
|
-
identifier:
|
|
32083
|
-
title:
|
|
32084
|
-
slug:
|
|
32085
|
-
content:
|
|
32086
|
-
publishedAt:
|
|
32153
|
+
var embedEntrySchema = z54.object({
|
|
32154
|
+
id: z54.string(),
|
|
32155
|
+
identifier: z54.string(),
|
|
32156
|
+
title: z54.string(),
|
|
32157
|
+
slug: z54.string().nullable().optional(),
|
|
32158
|
+
content: z54.record(z54.string(), z54.unknown()).optional(),
|
|
32159
|
+
publishedAt: z54.string().nullable().optional()
|
|
32087
32160
|
});
|
|
32088
32161
|
var embedBlockDefinition = {
|
|
32089
32162
|
manifest: embedManifest,
|
|
32090
32163
|
dataSchemas: {
|
|
32091
|
-
entries:
|
|
32164
|
+
entries: z54.array(embedEntrySchema).optional()
|
|
32092
32165
|
},
|
|
32093
32166
|
dataLoaders: {
|
|
32094
32167
|
entries: {
|
|
@@ -33271,53 +33344,50 @@ var fileDownloadBlockDefinition = {
|
|
|
33271
33344
|
manifest: fileDownloadManifest
|
|
33272
33345
|
};
|
|
33273
33346
|
|
|
33274
|
-
// ../blocks/src/system/blocks/shop.ts
|
|
33275
|
-
import { z as z59 } from "zod";
|
|
33276
|
-
|
|
33277
33347
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33278
|
-
import { z as
|
|
33348
|
+
import { z as z57 } from "zod";
|
|
33279
33349
|
|
|
33280
33350
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
33281
|
-
import { z as
|
|
33282
|
-
var publicProductVariantSchema =
|
|
33283
|
-
id:
|
|
33284
|
-
title:
|
|
33285
|
-
sku:
|
|
33286
|
-
priceCents:
|
|
33287
|
-
stockQuantity:
|
|
33288
|
-
soldOut:
|
|
33289
|
-
});
|
|
33290
|
-
var publicProductSchema =
|
|
33291
|
-
id:
|
|
33292
|
-
contentEntryId:
|
|
33293
|
-
title:
|
|
33294
|
-
slug:
|
|
33295
|
-
path:
|
|
33296
|
-
status:
|
|
33297
|
-
priceCents:
|
|
33298
|
-
currency:
|
|
33299
|
-
productType:
|
|
33300
|
-
requiresShipping:
|
|
33301
|
-
hasVariants:
|
|
33302
|
-
trackInventory:
|
|
33303
|
-
soldOut:
|
|
33304
|
-
category:
|
|
33305
|
-
id:
|
|
33306
|
-
name:
|
|
33307
|
-
slug:
|
|
33351
|
+
import { z as z55 } from "zod";
|
|
33352
|
+
var publicProductVariantSchema = z55.object({
|
|
33353
|
+
id: z55.string(),
|
|
33354
|
+
title: z55.string(),
|
|
33355
|
+
sku: z55.string().nullable(),
|
|
33356
|
+
priceCents: z55.number(),
|
|
33357
|
+
stockQuantity: z55.number().nullable(),
|
|
33358
|
+
soldOut: z55.boolean()
|
|
33359
|
+
});
|
|
33360
|
+
var publicProductSchema = z55.object({
|
|
33361
|
+
id: z55.string(),
|
|
33362
|
+
contentEntryId: z55.string().nullable(),
|
|
33363
|
+
title: z55.string(),
|
|
33364
|
+
slug: z55.string(),
|
|
33365
|
+
path: z55.string().nullable(),
|
|
33366
|
+
status: z55.enum(["draft", "active"]),
|
|
33367
|
+
priceCents: z55.number(),
|
|
33368
|
+
currency: z55.string(),
|
|
33369
|
+
productType: z55.enum(["physical", "digital"]),
|
|
33370
|
+
requiresShipping: z55.boolean(),
|
|
33371
|
+
hasVariants: z55.boolean(),
|
|
33372
|
+
trackInventory: z55.boolean(),
|
|
33373
|
+
soldOut: z55.boolean(),
|
|
33374
|
+
category: z55.object({
|
|
33375
|
+
id: z55.string(),
|
|
33376
|
+
name: z55.string(),
|
|
33377
|
+
slug: z55.string()
|
|
33308
33378
|
}).nullable(),
|
|
33309
|
-
summary:
|
|
33310
|
-
body:
|
|
33311
|
-
gallery:
|
|
33312
|
-
|
|
33313
|
-
url:
|
|
33314
|
-
alt:
|
|
33379
|
+
summary: z55.string().nullable(),
|
|
33380
|
+
body: z55.unknown().nullable(),
|
|
33381
|
+
gallery: z55.array(
|
|
33382
|
+
z55.object({
|
|
33383
|
+
url: z55.string(),
|
|
33384
|
+
alt: z55.string().nullable()
|
|
33315
33385
|
})
|
|
33316
33386
|
),
|
|
33317
|
-
variants:
|
|
33387
|
+
variants: z55.array(publicProductVariantSchema)
|
|
33318
33388
|
});
|
|
33319
|
-
var publicProductsResponseSchema =
|
|
33320
|
-
products:
|
|
33389
|
+
var publicProductsResponseSchema = z55.object({
|
|
33390
|
+
products: z55.array(publicProductSchema)
|
|
33321
33391
|
});
|
|
33322
33392
|
|
|
33323
33393
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -33381,27 +33451,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
33381
33451
|
}
|
|
33382
33452
|
|
|
33383
33453
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
33384
|
-
import { z as
|
|
33385
|
-
var storedProductCartItemSchema =
|
|
33386
|
-
kind:
|
|
33387
|
-
productId:
|
|
33388
|
-
productCategoryId:
|
|
33389
|
-
variantId:
|
|
33390
|
-
title:
|
|
33391
|
-
variantTitle:
|
|
33392
|
-
quantity:
|
|
33393
|
-
unitPriceCents:
|
|
33394
|
-
currency:
|
|
33395
|
-
imageUrl:
|
|
33396
|
-
soldOut:
|
|
33397
|
-
});
|
|
33398
|
-
var storedPassCartItemSchema =
|
|
33399
|
-
kind:
|
|
33400
|
-
passId:
|
|
33401
|
-
title:
|
|
33402
|
-
quantity:
|
|
33403
|
-
unitPriceCents:
|
|
33404
|
-
currency:
|
|
33454
|
+
import { z as z56 } from "zod";
|
|
33455
|
+
var storedProductCartItemSchema = z56.object({
|
|
33456
|
+
kind: z56.literal("product"),
|
|
33457
|
+
productId: z56.string().min(1),
|
|
33458
|
+
productCategoryId: z56.string().min(1).optional().nullable(),
|
|
33459
|
+
variantId: z56.string().min(1).optional().nullable(),
|
|
33460
|
+
title: z56.string().min(1),
|
|
33461
|
+
variantTitle: z56.string().optional().nullable(),
|
|
33462
|
+
quantity: z56.number().finite(),
|
|
33463
|
+
unitPriceCents: z56.number().finite(),
|
|
33464
|
+
currency: z56.string().min(1),
|
|
33465
|
+
imageUrl: z56.string().optional().nullable(),
|
|
33466
|
+
soldOut: z56.boolean().optional()
|
|
33467
|
+
});
|
|
33468
|
+
var storedPassCartItemSchema = z56.object({
|
|
33469
|
+
kind: z56.literal("pass"),
|
|
33470
|
+
passId: z56.string().min(1),
|
|
33471
|
+
title: z56.string().min(1),
|
|
33472
|
+
quantity: z56.number().finite().optional(),
|
|
33473
|
+
unitPriceCents: z56.number().finite(),
|
|
33474
|
+
currency: z56.string().min(1)
|
|
33405
33475
|
});
|
|
33406
33476
|
function deriveCommerceCheckoutState(state) {
|
|
33407
33477
|
if (state.items.length === 0) {
|
|
@@ -33635,214 +33705,214 @@ function formatValidity(days) {
|
|
|
33635
33705
|
}
|
|
33636
33706
|
|
|
33637
33707
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33638
|
-
var shopModeSchema =
|
|
33639
|
-
var contentEntrySchema3 =
|
|
33640
|
-
id:
|
|
33641
|
-
slug:
|
|
33708
|
+
var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
33709
|
+
var contentEntrySchema3 = z57.object({
|
|
33710
|
+
id: z57.string().nullable().optional(),
|
|
33711
|
+
slug: z57.string().nullable().optional()
|
|
33642
33712
|
}).nullable();
|
|
33643
|
-
var shopSourceSchema =
|
|
33644
|
-
className:
|
|
33713
|
+
var shopSourceSchema = z57.object({
|
|
33714
|
+
className: z57.string().nullable().optional(),
|
|
33645
33715
|
mode: shopModeSchema.optional(),
|
|
33646
|
-
heading:
|
|
33647
|
-
productSlug:
|
|
33648
|
-
showPasses:
|
|
33649
|
-
showMemberships:
|
|
33650
|
-
layout:
|
|
33651
|
-
columns:
|
|
33652
|
-
showDescriptions:
|
|
33653
|
-
showSummary:
|
|
33654
|
-
showBody:
|
|
33655
|
-
showPrices:
|
|
33656
|
-
showValidityPeriod:
|
|
33657
|
-
showPricePerCredit:
|
|
33658
|
-
passesHeading:
|
|
33659
|
-
membershipsHeading:
|
|
33660
|
-
buyButtonText:
|
|
33661
|
-
addButtonText:
|
|
33662
|
-
passPurchaseMode:
|
|
33663
|
-
subscribeButtonText:
|
|
33664
|
-
emptyStateText:
|
|
33665
|
-
checkoutButtonText:
|
|
33666
|
-
clearButtonText:
|
|
33667
|
-
submitButtonText:
|
|
33716
|
+
heading: z57.string().nullable().optional(),
|
|
33717
|
+
productSlug: z57.string().nullable().optional(),
|
|
33718
|
+
showPasses: z57.boolean().optional(),
|
|
33719
|
+
showMemberships: z57.boolean().optional(),
|
|
33720
|
+
layout: z57.enum(["grid", "list"]).optional(),
|
|
33721
|
+
columns: z57.string().optional(),
|
|
33722
|
+
showDescriptions: z57.boolean().optional(),
|
|
33723
|
+
showSummary: z57.boolean().optional(),
|
|
33724
|
+
showBody: z57.boolean().optional(),
|
|
33725
|
+
showPrices: z57.boolean().optional(),
|
|
33726
|
+
showValidityPeriod: z57.boolean().optional(),
|
|
33727
|
+
showPricePerCredit: z57.boolean().nullable().optional(),
|
|
33728
|
+
passesHeading: z57.string().optional(),
|
|
33729
|
+
membershipsHeading: z57.string().optional(),
|
|
33730
|
+
buyButtonText: z57.string().optional(),
|
|
33731
|
+
addButtonText: z57.string().optional(),
|
|
33732
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
|
|
33733
|
+
subscribeButtonText: z57.string().optional(),
|
|
33734
|
+
emptyStateText: z57.string().optional(),
|
|
33735
|
+
checkoutButtonText: z57.string().optional(),
|
|
33736
|
+
clearButtonText: z57.string().optional(),
|
|
33737
|
+
submitButtonText: z57.string().optional(),
|
|
33668
33738
|
contentEntry: contentEntrySchema3.optional(),
|
|
33669
|
-
passes:
|
|
33670
|
-
memberships:
|
|
33671
|
-
products:
|
|
33672
|
-
siteId:
|
|
33673
|
-
apiBaseUrl:
|
|
33739
|
+
passes: z57.array(publicPassProductSchema).nullable().optional(),
|
|
33740
|
+
memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
|
|
33741
|
+
products: z57.array(publicProductSchema).nullable().optional(),
|
|
33742
|
+
siteId: z57.string().optional(),
|
|
33743
|
+
apiBaseUrl: z57.string().optional(),
|
|
33674
33744
|
stage: previewStageSchema.optional()
|
|
33675
33745
|
});
|
|
33676
|
-
var productVariantOptionDisplaySchema =
|
|
33677
|
-
id:
|
|
33678
|
-
label:
|
|
33679
|
-
soldOut:
|
|
33680
|
-
});
|
|
33681
|
-
var productCardDisplaySchema =
|
|
33682
|
-
productId:
|
|
33683
|
-
title:
|
|
33684
|
-
path:
|
|
33685
|
-
summary:
|
|
33686
|
-
priceLabel:
|
|
33687
|
-
image:
|
|
33688
|
-
url:
|
|
33689
|
-
alt:
|
|
33746
|
+
var productVariantOptionDisplaySchema = z57.object({
|
|
33747
|
+
id: z57.string(),
|
|
33748
|
+
label: z57.string(),
|
|
33749
|
+
soldOut: z57.boolean()
|
|
33750
|
+
});
|
|
33751
|
+
var productCardDisplaySchema = z57.object({
|
|
33752
|
+
productId: z57.string(),
|
|
33753
|
+
title: z57.string(),
|
|
33754
|
+
path: z57.string().nullable(),
|
|
33755
|
+
summary: z57.string().nullable(),
|
|
33756
|
+
priceLabel: z57.string().nullable(),
|
|
33757
|
+
image: z57.object({
|
|
33758
|
+
url: z57.string(),
|
|
33759
|
+
alt: z57.string().nullable()
|
|
33690
33760
|
}).nullable(),
|
|
33691
|
-
variantOptions:
|
|
33692
|
-
selectedVariantId:
|
|
33693
|
-
selectionLabel:
|
|
33694
|
-
actionLabel:
|
|
33695
|
-
soldOut:
|
|
33696
|
-
});
|
|
33697
|
-
var productListDisplaySchema =
|
|
33698
|
-
kind:
|
|
33699
|
-
state:
|
|
33700
|
-
heading:
|
|
33701
|
-
className:
|
|
33702
|
-
layout:
|
|
33703
|
-
columns:
|
|
33704
|
-
emptyMessage:
|
|
33705
|
-
cards:
|
|
33706
|
-
});
|
|
33707
|
-
var productDetailDisplaySchema =
|
|
33708
|
-
|
|
33709
|
-
kind:
|
|
33710
|
-
state:
|
|
33711
|
-
heading:
|
|
33712
|
-
className:
|
|
33713
|
-
emptyMessage:
|
|
33761
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
33762
|
+
selectedVariantId: z57.string().nullable(),
|
|
33763
|
+
selectionLabel: z57.string(),
|
|
33764
|
+
actionLabel: z57.string(),
|
|
33765
|
+
soldOut: z57.boolean()
|
|
33766
|
+
});
|
|
33767
|
+
var productListDisplaySchema = z57.object({
|
|
33768
|
+
kind: z57.literal("product-list"),
|
|
33769
|
+
state: z57.enum(["empty", "ready"]),
|
|
33770
|
+
heading: z57.string().nullable(),
|
|
33771
|
+
className: z57.string().nullable(),
|
|
33772
|
+
layout: z57.enum(["grid", "list"]),
|
|
33773
|
+
columns: z57.string(),
|
|
33774
|
+
emptyMessage: z57.string(),
|
|
33775
|
+
cards: z57.array(productCardDisplaySchema)
|
|
33776
|
+
});
|
|
33777
|
+
var productDetailDisplaySchema = z57.discriminatedUnion("state", [
|
|
33778
|
+
z57.object({
|
|
33779
|
+
kind: z57.literal("product-detail"),
|
|
33780
|
+
state: z57.literal("empty"),
|
|
33781
|
+
heading: z57.string().nullable(),
|
|
33782
|
+
className: z57.string().nullable(),
|
|
33783
|
+
emptyMessage: z57.string()
|
|
33714
33784
|
}),
|
|
33715
|
-
|
|
33716
|
-
kind:
|
|
33717
|
-
state:
|
|
33718
|
-
heading:
|
|
33719
|
-
className:
|
|
33720
|
-
title:
|
|
33721
|
-
priceLabel:
|
|
33722
|
-
summary:
|
|
33723
|
-
categoryLabel:
|
|
33724
|
-
gallery:
|
|
33725
|
-
url:
|
|
33726
|
-
alt:
|
|
33785
|
+
z57.object({
|
|
33786
|
+
kind: z57.literal("product-detail"),
|
|
33787
|
+
state: z57.literal("ready"),
|
|
33788
|
+
heading: z57.string().nullable(),
|
|
33789
|
+
className: z57.string().nullable(),
|
|
33790
|
+
title: z57.string(),
|
|
33791
|
+
priceLabel: z57.string(),
|
|
33792
|
+
summary: z57.string().nullable(),
|
|
33793
|
+
categoryLabel: z57.string().nullable(),
|
|
33794
|
+
gallery: z57.array(z57.object({
|
|
33795
|
+
url: z57.string(),
|
|
33796
|
+
alt: z57.string().nullable()
|
|
33727
33797
|
})),
|
|
33728
|
-
variantOptions:
|
|
33729
|
-
selectedVariantId:
|
|
33730
|
-
selectionLabel:
|
|
33731
|
-
actionLabel:
|
|
33732
|
-
soldOut:
|
|
33733
|
-
body:
|
|
33798
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
33799
|
+
selectedVariantId: z57.string().nullable(),
|
|
33800
|
+
selectionLabel: z57.string(),
|
|
33801
|
+
actionLabel: z57.string(),
|
|
33802
|
+
soldOut: z57.boolean(),
|
|
33803
|
+
body: z57.unknown().nullable()
|
|
33734
33804
|
})
|
|
33735
33805
|
]);
|
|
33736
|
-
var passCardDisplaySchema =
|
|
33737
|
-
id:
|
|
33738
|
-
title:
|
|
33739
|
-
description:
|
|
33740
|
-
priceLabel:
|
|
33741
|
-
creditsLabel:
|
|
33742
|
-
perCreditLabel:
|
|
33743
|
-
validityLabel:
|
|
33744
|
-
actionLabel:
|
|
33745
|
-
});
|
|
33746
|
-
var membershipCardDisplaySchema =
|
|
33747
|
-
id:
|
|
33748
|
-
title:
|
|
33749
|
-
description:
|
|
33750
|
-
priceLabel:
|
|
33751
|
-
intervalLabel:
|
|
33752
|
-
actionLabel:
|
|
33753
|
-
});
|
|
33754
|
-
var passesMembershipsDisplaySchema =
|
|
33755
|
-
kind:
|
|
33756
|
-
state:
|
|
33757
|
-
className:
|
|
33758
|
-
layout:
|
|
33759
|
-
columns:
|
|
33760
|
-
emptyMessage:
|
|
33761
|
-
passesHeading:
|
|
33762
|
-
membershipsHeading:
|
|
33763
|
-
passes:
|
|
33764
|
-
memberships:
|
|
33765
|
-
});
|
|
33766
|
-
var cartLineDisplaySchema =
|
|
33767
|
-
key:
|
|
33768
|
-
title:
|
|
33769
|
-
priceLabel:
|
|
33770
|
-
quantity:
|
|
33771
|
-
quantityEditable:
|
|
33772
|
-
});
|
|
33773
|
-
var cartDisplaySchema =
|
|
33774
|
-
kind:
|
|
33775
|
-
state:
|
|
33776
|
-
heading:
|
|
33777
|
-
className:
|
|
33778
|
-
emptyMessage:
|
|
33779
|
-
supportText:
|
|
33780
|
-
items:
|
|
33781
|
-
subtotalLabel:
|
|
33782
|
-
checkoutButtonText:
|
|
33783
|
-
clearButtonText:
|
|
33784
|
-
});
|
|
33785
|
-
var checkoutDisplaySchema =
|
|
33786
|
-
kind:
|
|
33787
|
-
state:
|
|
33788
|
-
heading:
|
|
33789
|
-
className:
|
|
33790
|
-
message:
|
|
33791
|
-
submitButtonText:
|
|
33792
|
-
});
|
|
33793
|
-
var passesMembershipsHydrationSchema =
|
|
33794
|
-
passes:
|
|
33795
|
-
memberships:
|
|
33796
|
-
passPurchaseMode:
|
|
33797
|
-
});
|
|
33798
|
-
var productListHydrationSchema =
|
|
33799
|
-
products:
|
|
33800
|
-
showSummary:
|
|
33801
|
-
showPrices:
|
|
33802
|
-
addButtonText:
|
|
33803
|
-
});
|
|
33804
|
-
var productDetailHydrationSchema =
|
|
33805
|
-
products:
|
|
33806
|
-
productId:
|
|
33807
|
-
showSummary:
|
|
33808
|
-
showBody:
|
|
33809
|
-
addButtonText:
|
|
33810
|
-
});
|
|
33811
|
-
var cartHydrationSchema =
|
|
33812
|
-
emptyStateText:
|
|
33813
|
-
checkoutButtonText:
|
|
33814
|
-
clearButtonText:
|
|
33815
|
-
});
|
|
33816
|
-
var checkoutHydrationSchema =
|
|
33817
|
-
emptyStateText:
|
|
33818
|
-
submitButtonText:
|
|
33819
|
-
});
|
|
33820
|
-
var passesMembershipsRenderSchema =
|
|
33806
|
+
var passCardDisplaySchema = z57.object({
|
|
33807
|
+
id: z57.string(),
|
|
33808
|
+
title: z57.string(),
|
|
33809
|
+
description: z57.string().nullable(),
|
|
33810
|
+
priceLabel: z57.string(),
|
|
33811
|
+
creditsLabel: z57.string(),
|
|
33812
|
+
perCreditLabel: z57.string().nullable(),
|
|
33813
|
+
validityLabel: z57.string().nullable(),
|
|
33814
|
+
actionLabel: z57.string()
|
|
33815
|
+
});
|
|
33816
|
+
var membershipCardDisplaySchema = z57.object({
|
|
33817
|
+
id: z57.string(),
|
|
33818
|
+
title: z57.string(),
|
|
33819
|
+
description: z57.string().nullable(),
|
|
33820
|
+
priceLabel: z57.string(),
|
|
33821
|
+
intervalLabel: z57.string(),
|
|
33822
|
+
actionLabel: z57.string()
|
|
33823
|
+
});
|
|
33824
|
+
var passesMembershipsDisplaySchema = z57.object({
|
|
33825
|
+
kind: z57.literal("passes-memberships"),
|
|
33826
|
+
state: z57.enum(["empty", "ready"]),
|
|
33827
|
+
className: z57.string().nullable(),
|
|
33828
|
+
layout: z57.enum(["grid", "list"]),
|
|
33829
|
+
columns: z57.string(),
|
|
33830
|
+
emptyMessage: z57.string(),
|
|
33831
|
+
passesHeading: z57.string(),
|
|
33832
|
+
membershipsHeading: z57.string(),
|
|
33833
|
+
passes: z57.array(passCardDisplaySchema),
|
|
33834
|
+
memberships: z57.array(membershipCardDisplaySchema)
|
|
33835
|
+
});
|
|
33836
|
+
var cartLineDisplaySchema = z57.object({
|
|
33837
|
+
key: z57.string(),
|
|
33838
|
+
title: z57.string(),
|
|
33839
|
+
priceLabel: z57.string(),
|
|
33840
|
+
quantity: z57.number(),
|
|
33841
|
+
quantityEditable: z57.boolean()
|
|
33842
|
+
});
|
|
33843
|
+
var cartDisplaySchema = z57.object({
|
|
33844
|
+
kind: z57.literal("cart"),
|
|
33845
|
+
state: z57.enum(["empty", "ready"]),
|
|
33846
|
+
heading: z57.string().nullable(),
|
|
33847
|
+
className: z57.string().nullable(),
|
|
33848
|
+
emptyMessage: z57.string(),
|
|
33849
|
+
supportText: z57.string().nullable(),
|
|
33850
|
+
items: z57.array(cartLineDisplaySchema),
|
|
33851
|
+
subtotalLabel: z57.string().nullable(),
|
|
33852
|
+
checkoutButtonText: z57.string(),
|
|
33853
|
+
clearButtonText: z57.string()
|
|
33854
|
+
});
|
|
33855
|
+
var checkoutDisplaySchema = z57.object({
|
|
33856
|
+
kind: z57.literal("checkout"),
|
|
33857
|
+
state: z57.enum(["empty", "blocked", "ready"]),
|
|
33858
|
+
heading: z57.string().nullable(),
|
|
33859
|
+
className: z57.string().nullable(),
|
|
33860
|
+
message: z57.string().nullable(),
|
|
33861
|
+
submitButtonText: z57.string()
|
|
33862
|
+
});
|
|
33863
|
+
var passesMembershipsHydrationSchema = z57.object({
|
|
33864
|
+
passes: z57.array(publicPassProductSchema),
|
|
33865
|
+
memberships: z57.array(publicMembershipProductSchema),
|
|
33866
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
|
|
33867
|
+
});
|
|
33868
|
+
var productListHydrationSchema = z57.object({
|
|
33869
|
+
products: z57.array(publicProductSchema),
|
|
33870
|
+
showSummary: z57.boolean(),
|
|
33871
|
+
showPrices: z57.boolean(),
|
|
33872
|
+
addButtonText: z57.string()
|
|
33873
|
+
});
|
|
33874
|
+
var productDetailHydrationSchema = z57.object({
|
|
33875
|
+
products: z57.array(publicProductSchema),
|
|
33876
|
+
productId: z57.string().nullable(),
|
|
33877
|
+
showSummary: z57.boolean(),
|
|
33878
|
+
showBody: z57.boolean(),
|
|
33879
|
+
addButtonText: z57.string()
|
|
33880
|
+
});
|
|
33881
|
+
var cartHydrationSchema = z57.object({
|
|
33882
|
+
emptyStateText: z57.string(),
|
|
33883
|
+
checkoutButtonText: z57.string(),
|
|
33884
|
+
clearButtonText: z57.string()
|
|
33885
|
+
});
|
|
33886
|
+
var checkoutHydrationSchema = z57.object({
|
|
33887
|
+
emptyStateText: z57.string(),
|
|
33888
|
+
submitButtonText: z57.string()
|
|
33889
|
+
});
|
|
33890
|
+
var passesMembershipsRenderSchema = z57.object({
|
|
33821
33891
|
display: passesMembershipsDisplaySchema,
|
|
33822
33892
|
hydration: passesMembershipsHydrationSchema
|
|
33823
33893
|
});
|
|
33824
|
-
var productListRenderSchema =
|
|
33894
|
+
var productListRenderSchema = z57.object({
|
|
33825
33895
|
display: productListDisplaySchema,
|
|
33826
33896
|
hydration: productListHydrationSchema
|
|
33827
33897
|
});
|
|
33828
|
-
var productDetailRenderSchema =
|
|
33898
|
+
var productDetailRenderSchema = z57.object({
|
|
33829
33899
|
display: productDetailDisplaySchema,
|
|
33830
33900
|
hydration: productDetailHydrationSchema
|
|
33831
33901
|
});
|
|
33832
|
-
var cartRenderSchema =
|
|
33902
|
+
var cartRenderSchema = z57.object({
|
|
33833
33903
|
display: cartDisplaySchema,
|
|
33834
33904
|
hydration: cartHydrationSchema
|
|
33835
33905
|
});
|
|
33836
|
-
var checkoutRenderSchema =
|
|
33906
|
+
var checkoutRenderSchema = z57.object({
|
|
33837
33907
|
display: checkoutDisplaySchema,
|
|
33838
33908
|
hydration: checkoutHydrationSchema
|
|
33839
33909
|
});
|
|
33840
33910
|
function resolveShowPricePerCredit(source) {
|
|
33841
33911
|
return source.showPricePerCredit ?? true;
|
|
33842
33912
|
}
|
|
33843
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
33844
|
-
siteId:
|
|
33845
|
-
apiBaseUrl:
|
|
33913
|
+
var shopIslandMetaCodec = createZodCodec(z57.object({
|
|
33914
|
+
siteId: z57.string().optional(),
|
|
33915
|
+
apiBaseUrl: z57.string().optional(),
|
|
33846
33916
|
stage: previewStageSchema.optional()
|
|
33847
33917
|
}));
|
|
33848
33918
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -34220,9 +34290,9 @@ var shopBlockDefinition = {
|
|
|
34220
34290
|
runtime: shopBlockRuntime,
|
|
34221
34291
|
dataSchemas: {
|
|
34222
34292
|
// listPublicPasses returns { passes: [...] }
|
|
34223
|
-
passes:
|
|
34293
|
+
passes: publicPassProductCollectionSchema.optional(),
|
|
34224
34294
|
// listPublicMemberships returns { memberships: [...] }
|
|
34225
|
-
memberships:
|
|
34295
|
+
memberships: publicMembershipProductCollectionSchema.optional()
|
|
34226
34296
|
},
|
|
34227
34297
|
dataLoaders: {
|
|
34228
34298
|
// Load passes for display
|
|
@@ -34245,7 +34315,7 @@ var shopBlockDefinition = {
|
|
|
34245
34315
|
};
|
|
34246
34316
|
|
|
34247
34317
|
// ../blocks/src/system/blocks/product-list.ts
|
|
34248
|
-
import { z as
|
|
34318
|
+
import { z as z58 } from "zod";
|
|
34249
34319
|
var productListManifest = createBlockManifest({
|
|
34250
34320
|
id: "block.product-list",
|
|
34251
34321
|
version: "1.0.0",
|
|
@@ -34378,7 +34448,7 @@ var productListBlockDefinition = {
|
|
|
34378
34448
|
}
|
|
34379
34449
|
}
|
|
34380
34450
|
};
|
|
34381
|
-
var productListDataSchema =
|
|
34451
|
+
var productListDataSchema = z58.object({
|
|
34382
34452
|
products: publicProductsResponseSchema.optional()
|
|
34383
34453
|
});
|
|
34384
34454
|
|
|
@@ -34639,72 +34709,72 @@ var checkoutBlockDefinition = {
|
|
|
34639
34709
|
};
|
|
34640
34710
|
|
|
34641
34711
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
34642
|
-
import { z as
|
|
34643
|
-
var publicGiftCardOfferSchema =
|
|
34644
|
-
id:
|
|
34645
|
-
kind:
|
|
34646
|
-
title:
|
|
34647
|
-
description:
|
|
34648
|
-
sortOrder:
|
|
34649
|
-
giftCard:
|
|
34650
|
-
fixedDenominations:
|
|
34651
|
-
customAmountEnabled:
|
|
34652
|
-
customAmountMinCents:
|
|
34653
|
-
customAmountMaxCents:
|
|
34712
|
+
import { z as z59 } from "zod";
|
|
34713
|
+
var publicGiftCardOfferSchema = z59.object({
|
|
34714
|
+
id: z59.string(),
|
|
34715
|
+
kind: z59.literal("gift_card"),
|
|
34716
|
+
title: z59.string(),
|
|
34717
|
+
description: z59.string().nullable(),
|
|
34718
|
+
sortOrder: z59.number().int(),
|
|
34719
|
+
giftCard: z59.object({
|
|
34720
|
+
fixedDenominations: z59.array(z59.number().int().positive()),
|
|
34721
|
+
customAmountEnabled: z59.boolean(),
|
|
34722
|
+
customAmountMinCents: z59.number().int().positive(),
|
|
34723
|
+
customAmountMaxCents: z59.number().int().positive()
|
|
34654
34724
|
}),
|
|
34655
|
-
voucher:
|
|
34656
|
-
});
|
|
34657
|
-
var publicVoucherOfferSchema =
|
|
34658
|
-
id:
|
|
34659
|
-
kind:
|
|
34660
|
-
title:
|
|
34661
|
-
description:
|
|
34662
|
-
sortOrder:
|
|
34663
|
-
giftCard:
|
|
34664
|
-
voucher:
|
|
34665
|
-
purchaseAmountCents:
|
|
34725
|
+
voucher: z59.null()
|
|
34726
|
+
});
|
|
34727
|
+
var publicVoucherOfferSchema = z59.object({
|
|
34728
|
+
id: z59.string(),
|
|
34729
|
+
kind: z59.literal("voucher"),
|
|
34730
|
+
title: z59.string(),
|
|
34731
|
+
description: z59.string().nullable(),
|
|
34732
|
+
sortOrder: z59.number().int(),
|
|
34733
|
+
giftCard: z59.null(),
|
|
34734
|
+
voucher: z59.object({
|
|
34735
|
+
purchaseAmountCents: z59.number().int().positive()
|
|
34666
34736
|
})
|
|
34667
34737
|
});
|
|
34668
|
-
var publicGiftingOffersResponseSchema =
|
|
34669
|
-
currency:
|
|
34670
|
-
giftCards:
|
|
34671
|
-
vouchers:
|
|
34738
|
+
var publicGiftingOffersResponseSchema = z59.object({
|
|
34739
|
+
currency: z59.string(),
|
|
34740
|
+
giftCards: z59.array(publicGiftCardOfferSchema),
|
|
34741
|
+
vouchers: z59.array(publicVoucherOfferSchema)
|
|
34672
34742
|
});
|
|
34673
|
-
var giftingSourceSchema =
|
|
34674
|
-
siteId:
|
|
34675
|
-
apiBaseUrl:
|
|
34743
|
+
var giftingSourceSchema = z59.object({
|
|
34744
|
+
siteId: z59.string().optional(),
|
|
34745
|
+
apiBaseUrl: z59.string().optional(),
|
|
34676
34746
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
34677
|
-
className:
|
|
34678
|
-
heading:
|
|
34679
|
-
intro:
|
|
34680
|
-
giftCardsHeading:
|
|
34681
|
-
vouchersHeading:
|
|
34682
|
-
emptyStateText:
|
|
34683
|
-
checkoutButtonText:
|
|
34684
|
-
successMessage:
|
|
34685
|
-
});
|
|
34686
|
-
var giftingDisplaySchema =
|
|
34687
|
-
kind:
|
|
34688
|
-
state:
|
|
34689
|
-
className:
|
|
34690
|
-
heading:
|
|
34691
|
-
intro:
|
|
34692
|
-
giftCardsHeading:
|
|
34693
|
-
vouchersHeading:
|
|
34694
|
-
emptyStateText:
|
|
34695
|
-
});
|
|
34696
|
-
var giftingHydrationSchema =
|
|
34747
|
+
className: z59.string().nullable().optional(),
|
|
34748
|
+
heading: z59.string().nullable().optional(),
|
|
34749
|
+
intro: z59.string().nullable().optional(),
|
|
34750
|
+
giftCardsHeading: z59.string().nullable().optional(),
|
|
34751
|
+
vouchersHeading: z59.string().nullable().optional(),
|
|
34752
|
+
emptyStateText: z59.string().nullable().optional(),
|
|
34753
|
+
checkoutButtonText: z59.string().nullable().optional(),
|
|
34754
|
+
successMessage: z59.string().nullable().optional()
|
|
34755
|
+
});
|
|
34756
|
+
var giftingDisplaySchema = z59.object({
|
|
34757
|
+
kind: z59.literal("gifting"),
|
|
34758
|
+
state: z59.literal("ready"),
|
|
34759
|
+
className: z59.string().nullable(),
|
|
34760
|
+
heading: z59.string(),
|
|
34761
|
+
intro: z59.string().nullable(),
|
|
34762
|
+
giftCardsHeading: z59.string(),
|
|
34763
|
+
vouchersHeading: z59.string(),
|
|
34764
|
+
emptyStateText: z59.string()
|
|
34765
|
+
});
|
|
34766
|
+
var giftingHydrationSchema = z59.object({
|
|
34697
34767
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
34698
|
-
checkoutButtonText:
|
|
34699
|
-
successMessage:
|
|
34768
|
+
checkoutButtonText: z59.string(),
|
|
34769
|
+
successMessage: z59.string()
|
|
34700
34770
|
});
|
|
34701
|
-
var giftingRenderSchema =
|
|
34771
|
+
var giftingRenderSchema = z59.object({
|
|
34702
34772
|
display: giftingDisplaySchema,
|
|
34703
34773
|
hydration: giftingHydrationSchema
|
|
34704
34774
|
});
|
|
34705
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
34706
|
-
siteId:
|
|
34707
|
-
apiBaseUrl:
|
|
34775
|
+
var giftingIslandMetaCodec = createZodCodec(z59.object({
|
|
34776
|
+
siteId: z59.string().optional(),
|
|
34777
|
+
apiBaseUrl: z59.string().optional()
|
|
34708
34778
|
}));
|
|
34709
34779
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
34710
34780
|
"siteId",
|
|
@@ -34875,7 +34945,7 @@ var giftingBlockDefinition = {
|
|
|
34875
34945
|
};
|
|
34876
34946
|
|
|
34877
34947
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34878
|
-
import { z as
|
|
34948
|
+
import { z as z60 } from "zod";
|
|
34879
34949
|
|
|
34880
34950
|
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
34881
34951
|
function parseNewsletterSignupBlockId(value) {
|
|
@@ -34982,65 +35052,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
34982
35052
|
}
|
|
34983
35053
|
|
|
34984
35054
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34985
|
-
var newsletterPresetSchema =
|
|
34986
|
-
var newsletterDestinationProviderSchema =
|
|
34987
|
-
var newsletterFieldSchema =
|
|
34988
|
-
id:
|
|
34989
|
-
type:
|
|
34990
|
-
label:
|
|
34991
|
-
required:
|
|
34992
|
-
placeholder:
|
|
34993
|
-
});
|
|
34994
|
-
var newsletterSignupBlockIdSchema =
|
|
34995
|
-
var signedNewsletterDestinationRefSchema =
|
|
34996
|
-
var newsletterPublicDestinationRefSchema =
|
|
34997
|
-
|
|
34998
|
-
tag:
|
|
35055
|
+
var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
35056
|
+
var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
|
|
35057
|
+
var newsletterFieldSchema = z60.object({
|
|
35058
|
+
id: z60.string(),
|
|
35059
|
+
type: z60.enum(["email", "text"]),
|
|
35060
|
+
label: z60.string(),
|
|
35061
|
+
required: z60.boolean(),
|
|
35062
|
+
placeholder: z60.string().optional()
|
|
35063
|
+
});
|
|
35064
|
+
var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
35065
|
+
var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
35066
|
+
var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
|
|
35067
|
+
z60.object({
|
|
35068
|
+
tag: z60.literal("block_ref"),
|
|
34999
35069
|
blockId: newsletterSignupBlockIdSchema
|
|
35000
35070
|
}),
|
|
35001
|
-
|
|
35002
|
-
tag:
|
|
35071
|
+
z60.object({
|
|
35072
|
+
tag: z60.literal("signed_destination_ref"),
|
|
35003
35073
|
token: signedNewsletterDestinationRefSchema
|
|
35004
35074
|
})
|
|
35005
35075
|
]);
|
|
35006
|
-
var newsletterSourceSchema =
|
|
35007
|
-
blockId:
|
|
35008
|
-
siteId:
|
|
35009
|
-
apiBaseUrl:
|
|
35010
|
-
listId:
|
|
35076
|
+
var newsletterSourceSchema = z60.object({
|
|
35077
|
+
blockId: z60.string().nullable().optional(),
|
|
35078
|
+
siteId: z60.string().optional(),
|
|
35079
|
+
apiBaseUrl: z60.string().optional(),
|
|
35080
|
+
listId: z60.string().nullable().optional(),
|
|
35011
35081
|
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
35012
35082
|
preset: newsletterPresetSchema.optional(),
|
|
35013
|
-
includePhone:
|
|
35014
|
-
buttonLabel:
|
|
35015
|
-
successMessage:
|
|
35016
|
-
privacyNote:
|
|
35017
|
-
tags:
|
|
35018
|
-
spamProtectionEnabled:
|
|
35019
|
-
className:
|
|
35020
|
-
});
|
|
35021
|
-
var newsletterDisplaySchema =
|
|
35022
|
-
kind:
|
|
35023
|
-
className:
|
|
35024
|
-
buttonLabel:
|
|
35025
|
-
successMessage:
|
|
35026
|
-
privacyNote:
|
|
35027
|
-
fields:
|
|
35028
|
-
});
|
|
35029
|
-
var newsletterHydrationSchema =
|
|
35083
|
+
includePhone: z60.boolean().optional(),
|
|
35084
|
+
buttonLabel: z60.string().nullable().optional(),
|
|
35085
|
+
successMessage: z60.string().nullable().optional(),
|
|
35086
|
+
privacyNote: z60.string().nullable().optional(),
|
|
35087
|
+
tags: z60.string().nullable().optional(),
|
|
35088
|
+
spamProtectionEnabled: z60.boolean().optional(),
|
|
35089
|
+
className: z60.string().nullable().optional()
|
|
35090
|
+
});
|
|
35091
|
+
var newsletterDisplaySchema = z60.object({
|
|
35092
|
+
kind: z60.literal("newsletter-form"),
|
|
35093
|
+
className: z60.string().nullable(),
|
|
35094
|
+
buttonLabel: z60.string(),
|
|
35095
|
+
successMessage: z60.string().nullable(),
|
|
35096
|
+
privacyNote: z60.string().nullable(),
|
|
35097
|
+
fields: z60.array(newsletterFieldSchema)
|
|
35098
|
+
});
|
|
35099
|
+
var newsletterHydrationSchema = z60.object({
|
|
35030
35100
|
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
35031
|
-
listId:
|
|
35101
|
+
listId: z60.string().nullable().optional(),
|
|
35032
35102
|
preset: newsletterPresetSchema,
|
|
35033
|
-
includePhone:
|
|
35034
|
-
tags:
|
|
35035
|
-
spamProtectionEnabled:
|
|
35103
|
+
includePhone: z60.boolean(),
|
|
35104
|
+
tags: z60.string().nullable().optional(),
|
|
35105
|
+
spamProtectionEnabled: z60.boolean().optional()
|
|
35036
35106
|
});
|
|
35037
|
-
var newsletterRenderSchema =
|
|
35107
|
+
var newsletterRenderSchema = z60.object({
|
|
35038
35108
|
display: newsletterDisplaySchema,
|
|
35039
35109
|
hydration: newsletterHydrationSchema
|
|
35040
35110
|
});
|
|
35041
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
35042
|
-
siteId:
|
|
35043
|
-
apiBaseUrl:
|
|
35111
|
+
var newsletterIslandMetaCodec = createZodCodec(z60.object({
|
|
35112
|
+
siteId: z60.string().optional(),
|
|
35113
|
+
apiBaseUrl: z60.string().optional()
|
|
35044
35114
|
}));
|
|
35045
35115
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
35046
35116
|
function buildNewsletterDisplay(source) {
|
|
@@ -35179,23 +35249,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
35179
35249
|
};
|
|
35180
35250
|
|
|
35181
35251
|
// ../blocks/src/system/blocks/team-members.ts
|
|
35182
|
-
import { z as
|
|
35252
|
+
import { z as z61 } from "zod";
|
|
35183
35253
|
var ITEM_NAME2 = "member";
|
|
35184
35254
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
35185
35255
|
message: "Team member photos must be image media"
|
|
35186
35256
|
}).nullable();
|
|
35187
|
-
var teamMemberDataSchema =
|
|
35188
|
-
_type:
|
|
35189
|
-
id:
|
|
35190
|
-
name:
|
|
35191
|
-
role:
|
|
35192
|
-
roleLabel:
|
|
35193
|
-
bio:
|
|
35194
|
-
summary:
|
|
35257
|
+
var teamMemberDataSchema = z61.object({
|
|
35258
|
+
_type: z61.literal("teamMember"),
|
|
35259
|
+
id: z61.string(),
|
|
35260
|
+
name: z61.string(),
|
|
35261
|
+
role: z61.string().nullable(),
|
|
35262
|
+
roleLabel: z61.string().nullable(),
|
|
35263
|
+
bio: z61.string().nullable(),
|
|
35264
|
+
summary: z61.string().nullable(),
|
|
35195
35265
|
photo: teamMemberPhotoSchema,
|
|
35196
|
-
profilePath:
|
|
35266
|
+
profilePath: z61.string().nullable()
|
|
35197
35267
|
});
|
|
35198
|
-
var teamMembersDataSchema =
|
|
35268
|
+
var teamMembersDataSchema = z61.array(teamMemberDataSchema);
|
|
35199
35269
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
35200
35270
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
35201
35271
|
var headingNode = text(
|
|
@@ -36087,13 +36157,6 @@ var systemBlockDefinitionsRaw = [
|
|
|
36087
36157
|
weight: "featured",
|
|
36088
36158
|
bias: "clear",
|
|
36089
36159
|
surfaces: heroSectionSurfaces
|
|
36090
|
-
}),
|
|
36091
|
-
layoutProfile({
|
|
36092
|
-
variantKey: "splitEditorial",
|
|
36093
|
-
family: "split",
|
|
36094
|
-
weight: "featured",
|
|
36095
|
-
bias: "clear",
|
|
36096
|
-
surfaces: heroSectionSurfaces
|
|
36097
36160
|
})
|
|
36098
36161
|
]
|
|
36099
36162
|
})),
|
|
@@ -36337,9 +36400,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
36337
36400
|
flow: offeringsFlow,
|
|
36338
36401
|
layoutProfiles: [
|
|
36339
36402
|
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
36403
|
+
layoutProfile({ variantKey: "calendar", family: "stack", weight: "standard" }),
|
|
36340
36404
|
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
36341
|
-
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
36342
|
-
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
36343
36405
|
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
36344
36406
|
]
|
|
36345
36407
|
})),
|
|
@@ -36902,10 +36964,7 @@ function normalizeRenderStage(stage) {
|
|
|
36902
36964
|
return stage === "preview" ? "preview" : "published";
|
|
36903
36965
|
}
|
|
36904
36966
|
function isRouteVisibleInStage(routeEntry, stageInput) {
|
|
36905
|
-
|
|
36906
|
-
if (stage === "preview" || !isRouteRecord(routeEntry)) {
|
|
36907
|
-
return true;
|
|
36908
|
-
}
|
|
36967
|
+
if (normalizeRenderStage(stageInput) === "preview" || !isRouteRecord(routeEntry)) return true;
|
|
36909
36968
|
const status = routeEntry.status;
|
|
36910
36969
|
return !(typeof status === "string" && status !== "published");
|
|
36911
36970
|
}
|
|
@@ -36914,52 +36973,45 @@ function extractRouteHref(candidate, stageInput = "published") {
|
|
|
36914
36973
|
const trimmed = candidate.trim();
|
|
36915
36974
|
return trimmed.length > 0 ? trimmed : null;
|
|
36916
36975
|
}
|
|
36917
|
-
if (!isRouteRecord(candidate))
|
|
36918
|
-
|
|
36919
|
-
|
|
36920
|
-
|
|
36921
|
-
|
|
36976
|
+
if (!isRouteRecord(candidate)) return null;
|
|
36977
|
+
const fields3 = normalizeRenderStage(stageInput) === "preview" ? [
|
|
36978
|
+
"draftPath",
|
|
36979
|
+
"path",
|
|
36980
|
+
"href",
|
|
36981
|
+
"url"
|
|
36982
|
+
] : [
|
|
36983
|
+
"path",
|
|
36984
|
+
"href",
|
|
36985
|
+
"url"
|
|
36986
|
+
];
|
|
36922
36987
|
for (const field of fields3) {
|
|
36923
36988
|
const value = candidate[field];
|
|
36924
|
-
if (typeof value === "string" && value.trim().length > 0)
|
|
36925
|
-
return value.trim();
|
|
36926
|
-
}
|
|
36989
|
+
if (typeof value === "string" && value.trim().length > 0) return value.trim();
|
|
36927
36990
|
}
|
|
36928
36991
|
return null;
|
|
36929
36992
|
}
|
|
36930
36993
|
function extractRouteUpdatedAt(candidate) {
|
|
36931
|
-
if (!isRouteRecord(candidate))
|
|
36932
|
-
|
|
36933
|
-
}
|
|
36934
|
-
const fields3 = [
|
|
36994
|
+
if (!isRouteRecord(candidate)) return null;
|
|
36995
|
+
for (const field of [
|
|
36935
36996
|
"updatedAt",
|
|
36936
36997
|
"updated_at",
|
|
36937
36998
|
"publishedAt",
|
|
36938
36999
|
"published_at",
|
|
36939
37000
|
"modifiedAt",
|
|
36940
37001
|
"modified_at"
|
|
36941
|
-
]
|
|
36942
|
-
for (const field of fields3) {
|
|
37002
|
+
]) {
|
|
36943
37003
|
const value = candidate[field];
|
|
36944
|
-
if (typeof value === "string" && value.length > 0)
|
|
36945
|
-
return value;
|
|
36946
|
-
}
|
|
37004
|
+
if (typeof value === "string" && value.length > 0) return value;
|
|
36947
37005
|
}
|
|
36948
37006
|
return null;
|
|
36949
37007
|
}
|
|
36950
37008
|
function resolveRouteTargetForStage(routeIdValue, routes, stageInput) {
|
|
36951
37009
|
const routeId = typeof routeIdValue === "string" ? routeIdValue : null;
|
|
36952
|
-
if (!routeId || !routes)
|
|
36953
|
-
return null;
|
|
36954
|
-
}
|
|
37010
|
+
if (!routeId || !routes) return null;
|
|
36955
37011
|
const routeEntry = routes[routeId];
|
|
36956
|
-
if (!isRouteVisibleInStage(routeEntry, stageInput))
|
|
36957
|
-
return null;
|
|
36958
|
-
}
|
|
37012
|
+
if (!isRouteVisibleInStage(routeEntry, stageInput)) return null;
|
|
36959
37013
|
const href = extractRouteHref(routeEntry, stageInput);
|
|
36960
|
-
if (!href)
|
|
36961
|
-
return null;
|
|
36962
|
-
}
|
|
37014
|
+
if (!href) return null;
|
|
36963
37015
|
return {
|
|
36964
37016
|
routeId,
|
|
36965
37017
|
href,
|
|
@@ -37889,42 +37941,45 @@ import { jsx as jsx5 } from "react/jsx-runtime";
|
|
|
37889
37941
|
import * as React from "react";
|
|
37890
37942
|
import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
37891
37943
|
|
|
37944
|
+
// ../theme-core/src/ResponsiveScope.tsx
|
|
37945
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
37946
|
+
|
|
37892
37947
|
// ../theme-core/src/fonts/uploadFormat.ts
|
|
37893
37948
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
37894
37949
|
|
|
37895
37950
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
37896
|
-
import { z as
|
|
37897
|
-
var themeBridgeConfigSchema =
|
|
37898
|
-
tokens:
|
|
37899
|
-
typography:
|
|
37900
|
-
headingFamily:
|
|
37901
|
-
bodyFamily:
|
|
37902
|
-
headingWeight:
|
|
37903
|
-
bodyWeight:
|
|
37951
|
+
import { z as z62 } from "zod";
|
|
37952
|
+
var themeBridgeConfigSchema = z62.object({
|
|
37953
|
+
tokens: z62.record(z62.string(), z62.string()),
|
|
37954
|
+
typography: z62.object({
|
|
37955
|
+
headingFamily: z62.string().optional(),
|
|
37956
|
+
bodyFamily: z62.string().optional(),
|
|
37957
|
+
headingWeight: z62.number().optional(),
|
|
37958
|
+
bodyWeight: z62.number().optional()
|
|
37904
37959
|
}).optional(),
|
|
37905
|
-
spacing:
|
|
37906
|
-
corners:
|
|
37907
|
-
shadows:
|
|
37908
|
-
components:
|
|
37909
|
-
buttons:
|
|
37910
|
-
|
|
37911
|
-
|
|
37912
|
-
variants:
|
|
37960
|
+
spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
|
|
37961
|
+
corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
37962
|
+
shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
|
|
37963
|
+
components: z62.object({
|
|
37964
|
+
buttons: z62.union([
|
|
37965
|
+
z62.boolean(),
|
|
37966
|
+
z62.object({
|
|
37967
|
+
variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
37913
37968
|
})
|
|
37914
37969
|
]).optional(),
|
|
37915
|
-
cards:
|
|
37916
|
-
|
|
37917
|
-
|
|
37918
|
-
variants:
|
|
37970
|
+
cards: z62.union([
|
|
37971
|
+
z62.boolean(),
|
|
37972
|
+
z62.object({
|
|
37973
|
+
variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
|
|
37919
37974
|
})
|
|
37920
37975
|
]).optional(),
|
|
37921
|
-
inputs:
|
|
37976
|
+
inputs: z62.boolean().optional()
|
|
37922
37977
|
}).optional(),
|
|
37923
|
-
overrides:
|
|
37978
|
+
overrides: z62.record(z62.string(), z62.string()).optional()
|
|
37924
37979
|
}).passthrough();
|
|
37925
37980
|
|
|
37926
37981
|
// ../theme-core/src/siteChrome.tsx
|
|
37927
|
-
import { Fragment as Fragment2, jsx as
|
|
37982
|
+
import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
37928
37983
|
|
|
37929
37984
|
// ../blocks/src/system/data/loaderEndpoints.ts
|
|
37930
37985
|
var SUPPORTED_LOADER_ENDPOINTS = [
|
|
@@ -37946,17 +38001,17 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
37946
38001
|
function unsafeRetypeZodSchema(schema) {
|
|
37947
38002
|
return schema;
|
|
37948
38003
|
}
|
|
37949
|
-
var navIdListSchema =
|
|
38004
|
+
var navIdListSchema = z63.preprocess((value) => {
|
|
37950
38005
|
if (!Array.isArray(value)) return void 0;
|
|
37951
38006
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
37952
38007
|
return filtered.length > 0 ? filtered : void 0;
|
|
37953
|
-
},
|
|
37954
|
-
var dashboardNavVisibilityBaseSchema =
|
|
37955
|
-
mode:
|
|
38008
|
+
}, z63.array(z63.string()).max(200).optional());
|
|
38009
|
+
var dashboardNavVisibilityBaseSchema = z63.object({
|
|
38010
|
+
mode: z63.enum(["augment", "restrict"]).optional(),
|
|
37956
38011
|
allowIds: navIdListSchema,
|
|
37957
38012
|
denyIds: navIdListSchema
|
|
37958
38013
|
}).strip();
|
|
37959
|
-
var dashboardNavVisibilityRolesSchema =
|
|
38014
|
+
var dashboardNavVisibilityRolesSchema = z63.object({
|
|
37960
38015
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
37961
38016
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
37962
38017
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -37964,63 +38019,63 @@ var dashboardNavVisibilityRolesSchema = z65.object({
|
|
|
37964
38019
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
37965
38020
|
roles: dashboardNavVisibilityRolesSchema
|
|
37966
38021
|
}).strip();
|
|
37967
|
-
var dashboardNavigationConfigSchema =
|
|
38022
|
+
var dashboardNavigationConfigSchema = z63.object({
|
|
37968
38023
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
37969
38024
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
37970
38025
|
}).strip();
|
|
37971
|
-
var dashboardConfigSchema =
|
|
37972
|
-
previewEditingEnabled:
|
|
38026
|
+
var dashboardConfigSchema = z63.object({
|
|
38027
|
+
previewEditingEnabled: z63.boolean().optional(),
|
|
37973
38028
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
37974
38029
|
}).strip();
|
|
37975
38030
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
37976
38031
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
37977
|
-
var sdkLoaderEndpointSchema =
|
|
37978
|
-
var loaderFallbackScalarSchema =
|
|
37979
|
-
|
|
37980
|
-
|
|
37981
|
-
|
|
37982
|
-
|
|
38032
|
+
var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
38033
|
+
var loaderFallbackScalarSchema = z63.union([
|
|
38034
|
+
z63.string(),
|
|
38035
|
+
z63.number(),
|
|
38036
|
+
z63.boolean(),
|
|
38037
|
+
z63.null()
|
|
37983
38038
|
]);
|
|
37984
|
-
var loaderParamBindingSchema =
|
|
37985
|
-
$bind:
|
|
37986
|
-
from:
|
|
38039
|
+
var loaderParamBindingSchema = z63.object({
|
|
38040
|
+
$bind: z63.object({
|
|
38041
|
+
from: z63.string().min(1, "Binding path is required"),
|
|
37987
38042
|
fallback: loaderFallbackScalarSchema.optional()
|
|
37988
38043
|
})
|
|
37989
38044
|
});
|
|
37990
|
-
var loaderParamValueSchema =
|
|
37991
|
-
|
|
37992
|
-
|
|
37993
|
-
|
|
38045
|
+
var loaderParamValueSchema = z63.union([
|
|
38046
|
+
z63.string(),
|
|
38047
|
+
z63.number(),
|
|
38048
|
+
z63.boolean(),
|
|
37994
38049
|
loaderParamBindingSchema
|
|
37995
38050
|
]);
|
|
37996
|
-
var sdkConfigLoaderSchema =
|
|
38051
|
+
var sdkConfigLoaderSchema = z63.object({
|
|
37997
38052
|
endpoint: sdkLoaderEndpointSchema,
|
|
37998
|
-
params:
|
|
37999
|
-
mode:
|
|
38053
|
+
params: z63.record(z63.string(), loaderParamValueSchema),
|
|
38054
|
+
mode: z63.enum(["server", "client"]).default("server")
|
|
38000
38055
|
});
|
|
38001
|
-
var sdkDataLoadersSchema =
|
|
38002
|
-
var sdkCustomBlockIdSchema =
|
|
38056
|
+
var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
38057
|
+
var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
38003
38058
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
38004
38059
|
}).transform((value) => value);
|
|
38005
|
-
var sdkCustomBlockInputSchema =
|
|
38060
|
+
var sdkCustomBlockInputSchema = z63.object({
|
|
38006
38061
|
id: sdkCustomBlockIdSchema,
|
|
38007
|
-
title:
|
|
38008
|
-
titleSource:
|
|
38009
|
-
description:
|
|
38062
|
+
title: z63.string().min(1),
|
|
38063
|
+
titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
|
|
38064
|
+
description: z63.string().optional(),
|
|
38010
38065
|
category: blockCategoryEnum,
|
|
38011
|
-
icon:
|
|
38012
|
-
tags:
|
|
38066
|
+
icon: z63.string().optional(),
|
|
38067
|
+
tags: z63.array(z63.string()).optional(),
|
|
38013
38068
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
38014
38069
|
dataLoaders: sdkDataLoadersSchema,
|
|
38015
38070
|
layout: NodeSchema.optional(),
|
|
38016
|
-
variants:
|
|
38017
|
-
defaultVariant:
|
|
38018
|
-
variantOptions:
|
|
38019
|
-
|
|
38020
|
-
|
|
38021
|
-
label:
|
|
38022
|
-
description:
|
|
38023
|
-
icon:
|
|
38071
|
+
variants: z63.record(z63.string().min(1), NodeSchema).optional(),
|
|
38072
|
+
defaultVariant: z63.string().min(1).optional(),
|
|
38073
|
+
variantOptions: z63.record(
|
|
38074
|
+
z63.string().min(1),
|
|
38075
|
+
z63.object({
|
|
38076
|
+
label: z63.string().min(1).optional(),
|
|
38077
|
+
description: z63.string().min(1).optional(),
|
|
38078
|
+
icon: z63.string().min(1).optional()
|
|
38024
38079
|
})
|
|
38025
38080
|
).optional(),
|
|
38026
38081
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -38031,7 +38086,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38031
38086
|
const exists = data.fields.some((field) => field.id === source);
|
|
38032
38087
|
if (!exists) {
|
|
38033
38088
|
ctx.addIssue({
|
|
38034
|
-
code:
|
|
38089
|
+
code: z63.ZodIssueCode.custom,
|
|
38035
38090
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
38036
38091
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
38037
38092
|
});
|
|
@@ -38040,7 +38095,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38040
38095
|
}
|
|
38041
38096
|
if (data.layout && data.variants) {
|
|
38042
38097
|
ctx.addIssue({
|
|
38043
|
-
code:
|
|
38098
|
+
code: z63.ZodIssueCode.custom,
|
|
38044
38099
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
38045
38100
|
path: ["variants"]
|
|
38046
38101
|
});
|
|
@@ -38049,14 +38104,14 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38049
38104
|
const keys = Object.keys(data.variants);
|
|
38050
38105
|
if (keys.length === 0) {
|
|
38051
38106
|
ctx.addIssue({
|
|
38052
|
-
code:
|
|
38107
|
+
code: z63.ZodIssueCode.custom,
|
|
38053
38108
|
message: "`variants` must contain at least one variant key",
|
|
38054
38109
|
path: ["variants"]
|
|
38055
38110
|
});
|
|
38056
38111
|
}
|
|
38057
38112
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
38058
38113
|
ctx.addIssue({
|
|
38059
|
-
code:
|
|
38114
|
+
code: z63.ZodIssueCode.custom,
|
|
38060
38115
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
38061
38116
|
path: ["defaultVariant"]
|
|
38062
38117
|
});
|
|
@@ -38065,7 +38120,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38065
38120
|
for (const key of Object.keys(data.variantOptions)) {
|
|
38066
38121
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
38067
38122
|
ctx.addIssue({
|
|
38068
|
-
code:
|
|
38123
|
+
code: z63.ZodIssueCode.custom,
|
|
38069
38124
|
message: "`variantOptions` key must exist in `variants`",
|
|
38070
38125
|
path: ["variantOptions", key]
|
|
38071
38126
|
});
|
|
@@ -38074,78 +38129,78 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38074
38129
|
}
|
|
38075
38130
|
}
|
|
38076
38131
|
});
|
|
38077
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38132
|
+
var sdkBlockFieldExtensionInputSchema = z63.object({
|
|
38078
38133
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
38079
38134
|
});
|
|
38080
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
38081
|
-
|
|
38135
|
+
var sdkBlockFieldExtensionsInputSchema = z63.record(
|
|
38136
|
+
z63.string().min(1),
|
|
38082
38137
|
sdkBlockFieldExtensionInputSchema
|
|
38083
38138
|
);
|
|
38084
|
-
var sdkThemePaletteSchema =
|
|
38085
|
-
var sdkThemeConfigSchema =
|
|
38139
|
+
var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
|
|
38140
|
+
var sdkThemeConfigSchema = z63.object({
|
|
38086
38141
|
palette: sdkThemePaletteSchema
|
|
38087
38142
|
});
|
|
38088
|
-
var sdkSectionBackgroundSchema =
|
|
38089
|
-
id:
|
|
38090
|
-
label:
|
|
38091
|
-
token:
|
|
38143
|
+
var sdkSectionBackgroundSchema = z63.object({
|
|
38144
|
+
id: z63.string().min(1),
|
|
38145
|
+
label: z63.string().min(1),
|
|
38146
|
+
token: z63.string().min(1)
|
|
38092
38147
|
});
|
|
38093
|
-
var sdkSectionOptionsConfigSchema =
|
|
38094
|
-
backgroundColor:
|
|
38095
|
-
backgroundImage:
|
|
38096
|
-
backgroundGradient:
|
|
38097
|
-
spacing:
|
|
38098
|
-
textColor:
|
|
38148
|
+
var sdkSectionOptionsConfigSchema = z63.object({
|
|
38149
|
+
backgroundColor: z63.boolean().optional(),
|
|
38150
|
+
backgroundImage: z63.boolean().optional(),
|
|
38151
|
+
backgroundGradient: z63.boolean().optional(),
|
|
38152
|
+
spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
|
|
38153
|
+
textColor: z63.boolean().optional()
|
|
38099
38154
|
});
|
|
38100
|
-
var sdkContainerOptionsConfigSchema =
|
|
38101
|
-
maxWidth:
|
|
38102
|
-
alignment:
|
|
38155
|
+
var sdkContainerOptionsConfigSchema = z63.object({
|
|
38156
|
+
maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
|
|
38157
|
+
alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
|
|
38103
38158
|
});
|
|
38104
|
-
var sdkSiteStyleConfigSchema =
|
|
38105
|
-
sectionBackgrounds:
|
|
38159
|
+
var sdkSiteStyleConfigSchema = z63.object({
|
|
38160
|
+
sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
|
|
38106
38161
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
38107
38162
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
38108
38163
|
});
|
|
38109
|
-
var sdkSiteLayoutConfigSchema =
|
|
38110
|
-
footerBlocks:
|
|
38111
|
-
|
|
38112
|
-
id:
|
|
38113
|
-
kind:
|
|
38114
|
-
content:
|
|
38164
|
+
var sdkSiteLayoutConfigSchema = z63.object({
|
|
38165
|
+
footerBlocks: z63.array(
|
|
38166
|
+
z63.object({
|
|
38167
|
+
id: z63.string().min(1).optional(),
|
|
38168
|
+
kind: z63.string().min(1),
|
|
38169
|
+
content: z63.record(z63.string(), z63.unknown()).optional()
|
|
38115
38170
|
})
|
|
38116
38171
|
).optional()
|
|
38117
38172
|
});
|
|
38118
|
-
var sdkFieldSelectOptionSchema =
|
|
38119
|
-
value:
|
|
38120
|
-
label:
|
|
38173
|
+
var sdkFieldSelectOptionSchema = z63.object({
|
|
38174
|
+
value: z63.string(),
|
|
38175
|
+
label: z63.string()
|
|
38121
38176
|
});
|
|
38122
|
-
var sdkBlockFieldConfigSchema =
|
|
38123
|
-
options:
|
|
38177
|
+
var sdkBlockFieldConfigSchema = z63.object({
|
|
38178
|
+
options: z63.array(sdkFieldSelectOptionSchema).optional()
|
|
38124
38179
|
});
|
|
38125
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
38126
|
-
|
|
38180
|
+
var sdkBlockFieldOptionsMapSchema = z63.record(
|
|
38181
|
+
z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
38127
38182
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
38128
38183
|
}),
|
|
38129
|
-
|
|
38184
|
+
z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
|
|
38130
38185
|
).optional();
|
|
38131
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
38132
|
-
blocks:
|
|
38186
|
+
var sdkContentTypeTemplateConfigSchema = z63.object({
|
|
38187
|
+
blocks: z63.array(z63.unknown())
|
|
38133
38188
|
}).passthrough();
|
|
38134
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
38135
|
-
mode:
|
|
38189
|
+
var sdkContentTypeOrderingConfigSchema = z63.object({
|
|
38190
|
+
mode: z63.enum(["default", "manual"]).optional()
|
|
38136
38191
|
}).optional();
|
|
38137
|
-
var sdkContentTypeConfigSchema =
|
|
38138
|
-
key:
|
|
38139
|
-
fields:
|
|
38192
|
+
var sdkContentTypeConfigSchema = z63.object({
|
|
38193
|
+
key: z63.string().min(1),
|
|
38194
|
+
fields: z63.array(z63.unknown()),
|
|
38140
38195
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
38141
38196
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
38142
38197
|
}).passthrough();
|
|
38143
|
-
var sdkContentConfigSchema =
|
|
38144
|
-
contentTypes:
|
|
38145
|
-
pages:
|
|
38146
|
-
entries:
|
|
38147
|
-
navigationMenus:
|
|
38148
|
-
settings:
|
|
38198
|
+
var sdkContentConfigSchema = z63.object({
|
|
38199
|
+
contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
|
|
38200
|
+
pages: z63.array(z63.unknown()).optional(),
|
|
38201
|
+
entries: z63.array(z63.unknown()).optional(),
|
|
38202
|
+
navigationMenus: z63.array(z63.unknown()).optional(),
|
|
38203
|
+
settings: z63.unknown().optional()
|
|
38149
38204
|
}).passthrough();
|
|
38150
38205
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
38151
38206
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -38160,62 +38215,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
38160
38215
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
38161
38216
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
38162
38217
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
38163
|
-
var sdkWorkflowIdSchema =
|
|
38218
|
+
var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
38164
38219
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
38165
38220
|
});
|
|
38166
|
-
var sdkWorkflowEndpointSchema =
|
|
38167
|
-
var sdkWorkflowManualTriggerSchema =
|
|
38168
|
-
type:
|
|
38221
|
+
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 "/"' });
|
|
38222
|
+
var sdkWorkflowManualTriggerSchema = z63.object({
|
|
38223
|
+
type: z63.literal("manual")
|
|
38169
38224
|
}).strict();
|
|
38170
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38225
|
+
var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
38171
38226
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
38172
38227
|
});
|
|
38173
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38228
|
+
var sdkWorkflowFieldChangedConditionSchema = z63.object({
|
|
38174
38229
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38175
|
-
changed:
|
|
38230
|
+
changed: z63.literal(true)
|
|
38176
38231
|
}).strict();
|
|
38177
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38232
|
+
var sdkWorkflowFieldEmptyConditionSchema = z63.object({
|
|
38178
38233
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38179
|
-
isEmpty:
|
|
38234
|
+
isEmpty: z63.boolean()
|
|
38180
38235
|
}).strict();
|
|
38181
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
38182
|
-
type:
|
|
38183
|
-
when:
|
|
38184
|
-
|
|
38236
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
|
|
38237
|
+
type: z63.literal("entry.draft.updated"),
|
|
38238
|
+
when: z63.array(
|
|
38239
|
+
z63.union([
|
|
38185
38240
|
sdkWorkflowFieldChangedConditionSchema,
|
|
38186
38241
|
sdkWorkflowFieldEmptyConditionSchema
|
|
38187
38242
|
])
|
|
38188
38243
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
38189
38244
|
}).strict();
|
|
38190
|
-
var sdkWorkflowTriggerSchema =
|
|
38245
|
+
var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
|
|
38191
38246
|
sdkWorkflowManualTriggerSchema,
|
|
38192
38247
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
38193
38248
|
]);
|
|
38194
|
-
var sdkWorkflowConfirmationSchema =
|
|
38195
|
-
title:
|
|
38196
|
-
body:
|
|
38249
|
+
var sdkWorkflowConfirmationSchema = z63.object({
|
|
38250
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
38251
|
+
body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
38197
38252
|
}).strict();
|
|
38198
|
-
var sdkWorkflowConfigSchema =
|
|
38253
|
+
var sdkWorkflowConfigSchema = z63.object({
|
|
38199
38254
|
id: sdkWorkflowIdSchema,
|
|
38200
|
-
title:
|
|
38201
|
-
description:
|
|
38202
|
-
contentType:
|
|
38255
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
38256
|
+
description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
38257
|
+
contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
38203
38258
|
endpoint: sdkWorkflowEndpointSchema,
|
|
38204
|
-
triggers:
|
|
38259
|
+
triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
38205
38260
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
38206
38261
|
}).strict();
|
|
38207
|
-
var sdkWorkflowsSchema =
|
|
38262
|
+
var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
38208
38263
|
const ids = workflows.map((workflow) => workflow.id);
|
|
38209
38264
|
return ids.length === new Set(ids).size;
|
|
38210
38265
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
38211
|
-
var riverbankSiteConfigInputSchema =
|
|
38212
|
-
siteId:
|
|
38213
|
-
previewUrl:
|
|
38214
|
-
liveUrl:
|
|
38266
|
+
var riverbankSiteConfigInputSchema = z63.object({
|
|
38267
|
+
siteId: z63.string().uuid(),
|
|
38268
|
+
previewUrl: z63.string().url().optional(),
|
|
38269
|
+
liveUrl: z63.string().url().optional(),
|
|
38215
38270
|
theme: sdkThemeConfigSchema.optional(),
|
|
38216
38271
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
38217
38272
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
38218
|
-
customBlocks:
|
|
38273
|
+
customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
38219
38274
|
const ids = blocks.map((b) => b.id);
|
|
38220
38275
|
return ids.length === new Set(ids).size;
|
|
38221
38276
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -38223,50 +38278,50 @@ var riverbankSiteConfigInputSchema = z65.object({
|
|
|
38223
38278
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
38224
38279
|
workflows: sdkWorkflowsSchema,
|
|
38225
38280
|
content: sdkContentConfigSchema.optional(),
|
|
38226
|
-
contentDir:
|
|
38227
|
-
sync:
|
|
38228
|
-
existingEntries:
|
|
38281
|
+
contentDir: z63.string().optional(),
|
|
38282
|
+
sync: z63.object({
|
|
38283
|
+
existingEntries: z63.enum(["skip", "update"]).optional()
|
|
38229
38284
|
}).optional(),
|
|
38230
|
-
deploy:
|
|
38231
|
-
verifyCommand:
|
|
38232
|
-
prebuildOutput:
|
|
38285
|
+
deploy: z63.object({
|
|
38286
|
+
verifyCommand: z63.string().optional(),
|
|
38287
|
+
prebuildOutput: z63.string().optional()
|
|
38233
38288
|
}).optional(),
|
|
38234
|
-
themeSource:
|
|
38235
|
-
activeTheme:
|
|
38236
|
-
enablePortal:
|
|
38289
|
+
themeSource: z63.enum(["local", "cms"]).optional(),
|
|
38290
|
+
activeTheme: z63.string().optional(),
|
|
38291
|
+
enablePortal: z63.boolean().optional(),
|
|
38237
38292
|
dashboard: dashboardConfigSchema.optional()
|
|
38238
38293
|
}).strict();
|
|
38239
|
-
var pushSdkConfigBodySchema =
|
|
38294
|
+
var pushSdkConfigBodySchema = z63.object({
|
|
38240
38295
|
config: riverbankSiteConfigInputSchema,
|
|
38241
|
-
forceContentTypes:
|
|
38296
|
+
forceContentTypes: z63.boolean().optional()
|
|
38242
38297
|
}).strict();
|
|
38243
38298
|
|
|
38244
38299
|
// ../api/src/siteOnboarding.ts
|
|
38245
|
-
import { z as
|
|
38300
|
+
import { z as z64 } from "zod";
|
|
38246
38301
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
38247
38302
|
configure_appointments: {
|
|
38248
38303
|
requirementId: "configure_appointments",
|
|
38249
38304
|
reason: "launch_anyway"
|
|
38250
38305
|
}
|
|
38251
38306
|
};
|
|
38252
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38307
|
+
var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
|
|
38253
38308
|
"requirementId",
|
|
38254
38309
|
[
|
|
38255
|
-
|
|
38256
|
-
requirementId:
|
|
38310
|
+
z64.object({
|
|
38311
|
+
requirementId: z64.literal("review_generated_site")
|
|
38257
38312
|
}),
|
|
38258
|
-
|
|
38259
|
-
requirementId:
|
|
38313
|
+
z64.object({
|
|
38314
|
+
requirementId: z64.literal(
|
|
38260
38315
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
38261
38316
|
),
|
|
38262
|
-
overrideReason:
|
|
38317
|
+
overrideReason: z64.literal(
|
|
38263
38318
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
38264
38319
|
)
|
|
38265
38320
|
})
|
|
38266
38321
|
]
|
|
38267
38322
|
);
|
|
38268
|
-
var goLiveSiteRequestSchema =
|
|
38269
|
-
acceptExtraSiteCharge:
|
|
38323
|
+
var goLiveSiteRequestSchema = z64.object({
|
|
38324
|
+
acceptExtraSiteCharge: z64.boolean().optional()
|
|
38270
38325
|
});
|
|
38271
38326
|
|
|
38272
38327
|
// ../surfaces/src/index.ts
|
|
@@ -38350,7 +38405,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
38350
38405
|
];
|
|
38351
38406
|
|
|
38352
38407
|
// ../api/src/bookingVerticals.ts
|
|
38353
|
-
import { z as
|
|
38408
|
+
import { z as z65 } from "zod";
|
|
38354
38409
|
var VERTICAL_IDS = [
|
|
38355
38410
|
"yoga_wellness",
|
|
38356
38411
|
"fitness_pt",
|
|
@@ -38515,39 +38570,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
38515
38570
|
}
|
|
38516
38571
|
return [...issues];
|
|
38517
38572
|
}
|
|
38518
|
-
var VerticalIdSchema =
|
|
38573
|
+
var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
38519
38574
|
const parsed = parseVerticalId(value);
|
|
38520
38575
|
if (!parsed) {
|
|
38521
38576
|
ctx.addIssue({
|
|
38522
|
-
code:
|
|
38577
|
+
code: z65.ZodIssueCode.custom,
|
|
38523
38578
|
message: "Unknown booking vertical"
|
|
38524
38579
|
});
|
|
38525
|
-
return
|
|
38580
|
+
return z65.NEVER;
|
|
38526
38581
|
}
|
|
38527
38582
|
return parsed;
|
|
38528
38583
|
});
|
|
38529
|
-
var VerticalPresetIdSchema =
|
|
38584
|
+
var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
38530
38585
|
const parsed = parseVerticalPresetId(value);
|
|
38531
38586
|
if (!parsed) {
|
|
38532
38587
|
ctx.addIssue({
|
|
38533
|
-
code:
|
|
38588
|
+
code: z65.ZodIssueCode.custom,
|
|
38534
38589
|
message: "Unknown booking preset"
|
|
38535
38590
|
});
|
|
38536
|
-
return
|
|
38591
|
+
return z65.NEVER;
|
|
38537
38592
|
}
|
|
38538
38593
|
return parsed;
|
|
38539
38594
|
});
|
|
38540
|
-
var BookingVerticalConfigSchema =
|
|
38595
|
+
var BookingVerticalConfigSchema = z65.object({
|
|
38541
38596
|
verticalId: VerticalIdSchema.nullable(),
|
|
38542
|
-
selectedPresetIds:
|
|
38597
|
+
selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
|
|
38543
38598
|
}).transform((value, ctx) => {
|
|
38544
38599
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
38545
38600
|
if (resolved.kind === "invalid") {
|
|
38546
38601
|
ctx.addIssue({
|
|
38547
|
-
code:
|
|
38602
|
+
code: z65.ZodIssueCode.custom,
|
|
38548
38603
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
38549
38604
|
});
|
|
38550
|
-
return
|
|
38605
|
+
return z65.NEVER;
|
|
38551
38606
|
}
|
|
38552
38607
|
return resolved.config;
|
|
38553
38608
|
});
|
|
@@ -38574,51 +38629,51 @@ function isRecord7(value) {
|
|
|
38574
38629
|
}
|
|
38575
38630
|
|
|
38576
38631
|
// ../api/src/appointmentSetup.ts
|
|
38577
|
-
import { z as
|
|
38632
|
+
import { z as z66 } from "zod";
|
|
38578
38633
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
38579
|
-
var appointmentSetupRefSchema =
|
|
38580
|
-
|
|
38581
|
-
|
|
38634
|
+
var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
|
|
38635
|
+
z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
|
|
38636
|
+
z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
|
|
38582
38637
|
]);
|
|
38583
|
-
var appointmentSetupVenueChoiceSchema =
|
|
38584
|
-
|
|
38585
|
-
|
|
38586
|
-
|
|
38587
|
-
kind:
|
|
38588
|
-
draftId:
|
|
38589
|
-
title:
|
|
38590
|
-
description:
|
|
38591
|
-
timezone:
|
|
38592
|
-
addressJson:
|
|
38593
|
-
locationJson:
|
|
38638
|
+
var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
|
|
38639
|
+
z66.object({ kind: z66.literal("none") }),
|
|
38640
|
+
z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
|
|
38641
|
+
z66.object({
|
|
38642
|
+
kind: z66.literal("create"),
|
|
38643
|
+
draftId: z66.string().min(1),
|
|
38644
|
+
title: z66.string().trim().min(1),
|
|
38645
|
+
description: z66.string().nullable(),
|
|
38646
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
38647
|
+
addressJson: z66.record(z66.string(), z66.unknown()),
|
|
38648
|
+
locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
|
|
38594
38649
|
})
|
|
38595
38650
|
]);
|
|
38596
|
-
var appointmentSetupPaymentDraftSchema =
|
|
38597
|
-
priceType:
|
|
38598
|
-
});
|
|
38599
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
38600
|
-
|
|
38601
|
-
|
|
38602
|
-
kind:
|
|
38603
|
-
resourceRefs:
|
|
38651
|
+
var appointmentSetupPaymentDraftSchema = z66.object({
|
|
38652
|
+
priceType: z66.union([z66.literal("free"), z66.literal("paid")])
|
|
38653
|
+
});
|
|
38654
|
+
var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
|
|
38655
|
+
z66.object({ kind: z66.literal("all_practitioners") }),
|
|
38656
|
+
z66.object({
|
|
38657
|
+
kind: z66.literal("selected_practitioners"),
|
|
38658
|
+
resourceRefs: z66.array(appointmentSetupRefSchema)
|
|
38604
38659
|
})
|
|
38605
38660
|
]);
|
|
38606
|
-
var appointmentSetupServiceDraftSchema =
|
|
38661
|
+
var appointmentSetupServiceDraftSchema = z66.object({
|
|
38607
38662
|
ref: appointmentSetupRefSchema,
|
|
38608
|
-
title:
|
|
38609
|
-
description:
|
|
38610
|
-
durationMinutes:
|
|
38611
|
-
prepMinutes:
|
|
38612
|
-
cleanupMinutes:
|
|
38613
|
-
priceAmount:
|
|
38614
|
-
isActive:
|
|
38615
|
-
locationType:
|
|
38616
|
-
|
|
38617
|
-
|
|
38618
|
-
|
|
38663
|
+
title: z66.string().trim().min(1),
|
|
38664
|
+
description: z66.string().nullable(),
|
|
38665
|
+
durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
38666
|
+
prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38667
|
+
cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38668
|
+
priceAmount: z66.number().int().nonnegative().nullable(),
|
|
38669
|
+
isActive: z66.boolean(),
|
|
38670
|
+
locationType: z66.union([
|
|
38671
|
+
z66.literal("virtual"),
|
|
38672
|
+
z66.literal("in_person"),
|
|
38673
|
+
z66.literal("hybrid")
|
|
38619
38674
|
]),
|
|
38620
38675
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38621
|
-
timezone:
|
|
38676
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
38622
38677
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38623
38678
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
38624
38679
|
}).superRefine((service, ctx) => {
|
|
@@ -38637,49 +38692,49 @@ var appointmentSetupServiceDraftSchema = z68.object({
|
|
|
38637
38692
|
});
|
|
38638
38693
|
}
|
|
38639
38694
|
});
|
|
38640
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
38695
|
+
var appointmentSetupPractitionerDraftSchema = z66.object({
|
|
38641
38696
|
ref: appointmentSetupRefSchema,
|
|
38642
|
-
displayName:
|
|
38643
|
-
bio:
|
|
38644
|
-
timezone:
|
|
38645
|
-
colorHex:
|
|
38646
|
-
});
|
|
38647
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
38648
|
-
weekday:
|
|
38649
|
-
startTime:
|
|
38650
|
-
endTime:
|
|
38651
|
-
});
|
|
38652
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
38653
|
-
|
|
38654
|
-
|
|
38655
|
-
kind:
|
|
38656
|
-
intervalMinutes:
|
|
38657
|
-
|
|
38658
|
-
|
|
38659
|
-
|
|
38660
|
-
|
|
38661
|
-
|
|
38662
|
-
|
|
38697
|
+
displayName: z66.string().trim().min(1),
|
|
38698
|
+
bio: z66.string().nullable(),
|
|
38699
|
+
timezone: z66.string().trim().min(1),
|
|
38700
|
+
colorHex: z66.string().nullable()
|
|
38701
|
+
});
|
|
38702
|
+
var appointmentSetupWeeklyWindowDraftSchema = z66.object({
|
|
38703
|
+
weekday: z66.number().int().min(0).max(6),
|
|
38704
|
+
startTime: z66.string(),
|
|
38705
|
+
endTime: z66.string()
|
|
38706
|
+
});
|
|
38707
|
+
var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
|
|
38708
|
+
z66.object({ kind: z66.literal("automatic_spacing") }),
|
|
38709
|
+
z66.object({
|
|
38710
|
+
kind: z66.literal("regular_interval"),
|
|
38711
|
+
intervalMinutes: z66.union([
|
|
38712
|
+
z66.literal(10),
|
|
38713
|
+
z66.literal(15),
|
|
38714
|
+
z66.literal(20),
|
|
38715
|
+
z66.literal(30),
|
|
38716
|
+
z66.literal(45),
|
|
38717
|
+
z66.literal(60)
|
|
38663
38718
|
])
|
|
38664
38719
|
})
|
|
38665
38720
|
]);
|
|
38666
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
38667
|
-
kind:
|
|
38721
|
+
var appointmentSetupAvailabilityDraftSchema = z66.object({
|
|
38722
|
+
kind: z66.literal("weekly_windows"),
|
|
38668
38723
|
resourceRef: appointmentSetupRefSchema,
|
|
38669
38724
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
38670
|
-
windows:
|
|
38725
|
+
windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
38671
38726
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
38672
38727
|
});
|
|
38673
38728
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
38674
38729
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
38675
|
-
var appointmentSetupBookingNoticeSchema =
|
|
38676
|
-
minLeadMinutes:
|
|
38677
|
-
maxBookingNoticeMinutes:
|
|
38678
|
-
});
|
|
38679
|
-
var applyAppointmentSetupRequestSchema =
|
|
38680
|
-
services:
|
|
38681
|
-
practitioners:
|
|
38682
|
-
availability:
|
|
38730
|
+
var appointmentSetupBookingNoticeSchema = z66.object({
|
|
38731
|
+
minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
38732
|
+
maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
38733
|
+
});
|
|
38734
|
+
var applyAppointmentSetupRequestSchema = z66.object({
|
|
38735
|
+
services: z66.array(appointmentSetupServiceDraftSchema),
|
|
38736
|
+
practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
|
|
38737
|
+
availability: z66.array(appointmentSetupAvailabilityDraftSchema),
|
|
38683
38738
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
38684
38739
|
});
|
|
38685
38740
|
|
|
@@ -38712,24 +38767,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
38712
38767
|
];
|
|
38713
38768
|
|
|
38714
38769
|
// ../api/src/siteBanner.ts
|
|
38715
|
-
import { z as
|
|
38770
|
+
import { z as z67 } from "zod";
|
|
38716
38771
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
38717
38772
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
38718
38773
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
38719
38774
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
38720
|
-
var siteBannerScopeSchema =
|
|
38721
|
-
var siteBannerToneSchema =
|
|
38722
|
-
var siteBannerBodySchema =
|
|
38723
|
-
var siteBannerCtaSchema =
|
|
38724
|
-
label:
|
|
38775
|
+
var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
|
|
38776
|
+
var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
|
|
38777
|
+
var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
|
|
38778
|
+
var siteBannerCtaSchema = z67.object({
|
|
38779
|
+
label: z67.string().trim().min(1),
|
|
38725
38780
|
link: linkPayloadSchema
|
|
38726
38781
|
});
|
|
38727
|
-
var siteBannerSettingsSchema =
|
|
38728
|
-
|
|
38729
|
-
enabled:
|
|
38782
|
+
var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
|
|
38783
|
+
z67.object({
|
|
38784
|
+
enabled: z67.literal(false)
|
|
38730
38785
|
}),
|
|
38731
|
-
|
|
38732
|
-
enabled:
|
|
38786
|
+
z67.object({
|
|
38787
|
+
enabled: z67.literal(true),
|
|
38733
38788
|
scope: siteBannerScopeSchema,
|
|
38734
38789
|
tone: siteBannerToneSchema,
|
|
38735
38790
|
body: siteBannerBodySchema,
|
|
@@ -38743,7 +38798,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38743
38798
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38744
38799
|
for (const issue of analysis.issues) {
|
|
38745
38800
|
ctx.addIssue({
|
|
38746
|
-
code:
|
|
38801
|
+
code: z67.ZodIssueCode.custom,
|
|
38747
38802
|
path: ["body"],
|
|
38748
38803
|
message: siteBannerBodyIssueMessage(issue)
|
|
38749
38804
|
});
|
|
@@ -39050,75 +39105,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
39050
39105
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
39051
39106
|
|
|
39052
39107
|
// ../api/src/aiPlayground.ts
|
|
39053
|
-
import { z as
|
|
39054
|
-
var Rfc6902PatchOp =
|
|
39108
|
+
import { z as z68 } from "zod";
|
|
39109
|
+
var Rfc6902PatchOp = z68.discriminatedUnion("op", [
|
|
39055
39110
|
// Standard RFC-6902 operations
|
|
39056
|
-
|
|
39057
|
-
op:
|
|
39058
|
-
path:
|
|
39059
|
-
value:
|
|
39111
|
+
z68.object({
|
|
39112
|
+
op: z68.literal("add"),
|
|
39113
|
+
path: z68.string(),
|
|
39114
|
+
value: z68.unknown()
|
|
39060
39115
|
}),
|
|
39061
|
-
|
|
39062
|
-
op:
|
|
39063
|
-
path:
|
|
39116
|
+
z68.object({
|
|
39117
|
+
op: z68.literal("remove"),
|
|
39118
|
+
path: z68.string()
|
|
39064
39119
|
}),
|
|
39065
|
-
|
|
39066
|
-
op:
|
|
39067
|
-
path:
|
|
39068
|
-
value:
|
|
39120
|
+
z68.object({
|
|
39121
|
+
op: z68.literal("replace"),
|
|
39122
|
+
path: z68.string(),
|
|
39123
|
+
value: z68.unknown()
|
|
39069
39124
|
}),
|
|
39070
|
-
|
|
39071
|
-
op:
|
|
39072
|
-
from:
|
|
39073
|
-
path:
|
|
39125
|
+
z68.object({
|
|
39126
|
+
op: z68.literal("move"),
|
|
39127
|
+
from: z68.string(),
|
|
39128
|
+
path: z68.string()
|
|
39074
39129
|
}),
|
|
39075
|
-
|
|
39076
|
-
op:
|
|
39077
|
-
from:
|
|
39078
|
-
path:
|
|
39130
|
+
z68.object({
|
|
39131
|
+
op: z68.literal("copy"),
|
|
39132
|
+
from: z68.string(),
|
|
39133
|
+
path: z68.string()
|
|
39079
39134
|
}),
|
|
39080
39135
|
// Block-level operations (Phase 2)
|
|
39081
|
-
|
|
39082
|
-
op:
|
|
39083
|
-
blockKind:
|
|
39084
|
-
afterBlockId:
|
|
39085
|
-
content:
|
|
39086
|
-
rationale:
|
|
39136
|
+
z68.object({
|
|
39137
|
+
op: z68.literal("add_block"),
|
|
39138
|
+
blockKind: z68.string(),
|
|
39139
|
+
afterBlockId: z68.string().nullable(),
|
|
39140
|
+
content: z68.record(z68.string(), z68.unknown()),
|
|
39141
|
+
rationale: z68.string()
|
|
39087
39142
|
}),
|
|
39088
|
-
|
|
39089
|
-
op:
|
|
39090
|
-
blockId:
|
|
39091
|
-
rationale:
|
|
39143
|
+
z68.object({
|
|
39144
|
+
op: z68.literal("delete_block"),
|
|
39145
|
+
blockId: z68.string(),
|
|
39146
|
+
rationale: z68.string()
|
|
39092
39147
|
}),
|
|
39093
|
-
|
|
39094
|
-
op:
|
|
39095
|
-
blockId:
|
|
39096
|
-
afterBlockId:
|
|
39097
|
-
rationale:
|
|
39148
|
+
z68.object({
|
|
39149
|
+
op: z68.literal("reorder_block"),
|
|
39150
|
+
blockId: z68.string(),
|
|
39151
|
+
afterBlockId: z68.string().nullable(),
|
|
39152
|
+
rationale: z68.string()
|
|
39098
39153
|
})
|
|
39099
39154
|
]);
|
|
39100
|
-
var PlaygroundProposeRequest =
|
|
39101
|
-
request:
|
|
39155
|
+
var PlaygroundProposeRequest = z68.object({
|
|
39156
|
+
request: z68.string().min(1).max(2e3)
|
|
39102
39157
|
});
|
|
39103
|
-
var MultiPagePatchEnvelope =
|
|
39104
|
-
pageId:
|
|
39105
|
-
blockId:
|
|
39158
|
+
var MultiPagePatchEnvelope = z68.object({
|
|
39159
|
+
pageId: z68.string(),
|
|
39160
|
+
blockId: z68.string().optional(),
|
|
39106
39161
|
// Not present for page-level ops
|
|
39107
|
-
blockKind:
|
|
39108
|
-
blockPurpose:
|
|
39109
|
-
ops:
|
|
39110
|
-
rationale:
|
|
39111
|
-
currentContent:
|
|
39162
|
+
blockKind: z68.string().optional(),
|
|
39163
|
+
blockPurpose: z68.string().optional().nullable(),
|
|
39164
|
+
ops: z68.array(Rfc6902PatchOp),
|
|
39165
|
+
rationale: z68.string(),
|
|
39166
|
+
currentContent: z68.record(z68.string(), z68.unknown()).optional()
|
|
39112
39167
|
});
|
|
39113
|
-
var MultiPageUpdateResponse =
|
|
39114
|
-
patches:
|
|
39115
|
-
assistantMessage:
|
|
39116
|
-
pagesModified:
|
|
39117
|
-
toolCallsUsed:
|
|
39168
|
+
var MultiPageUpdateResponse = z68.object({
|
|
39169
|
+
patches: z68.array(MultiPagePatchEnvelope),
|
|
39170
|
+
assistantMessage: z68.string(),
|
|
39171
|
+
pagesModified: z68.number(),
|
|
39172
|
+
toolCallsUsed: z68.number()
|
|
39118
39173
|
});
|
|
39119
39174
|
|
|
39120
39175
|
// src/config/content-validation.ts
|
|
39121
|
-
import { z as
|
|
39176
|
+
import { z as z69 } from "zod";
|
|
39122
39177
|
|
|
39123
39178
|
// src/types/block-kinds.ts
|
|
39124
39179
|
var SYSTEM_BLOCK_KINDS = [
|
|
@@ -39274,36 +39329,36 @@ function describeInvalidBindingTransform(transform) {
|
|
|
39274
39329
|
}
|
|
39275
39330
|
|
|
39276
39331
|
// src/config/content-validation.ts
|
|
39277
|
-
var jsonDataSchema =
|
|
39278
|
-
var contentTypeKeySchema =
|
|
39332
|
+
var jsonDataSchema = z69.record(z69.string(), z69.any());
|
|
39333
|
+
var contentTypeKeySchema = z69.string().min(1).regex(
|
|
39279
39334
|
/^[a-z][a-z0-9-]*$/,
|
|
39280
39335
|
"Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
|
|
39281
39336
|
);
|
|
39282
|
-
var templateConfigSchemaForward =
|
|
39283
|
-
blocks:
|
|
39284
|
-
|
|
39285
|
-
identifier:
|
|
39286
|
-
kind:
|
|
39287
|
-
scope:
|
|
39288
|
-
bindings:
|
|
39289
|
-
content:
|
|
39337
|
+
var templateConfigSchemaForward = z69.object({
|
|
39338
|
+
blocks: z69.array(
|
|
39339
|
+
z69.object({
|
|
39340
|
+
identifier: z69.string().min(1),
|
|
39341
|
+
kind: z69.string(),
|
|
39342
|
+
scope: z69.enum(["entry", "template"]),
|
|
39343
|
+
bindings: z69.record(z69.string(), z69.any()).optional(),
|
|
39344
|
+
content: z69.record(z69.string(), z69.any()).optional()
|
|
39290
39345
|
})
|
|
39291
39346
|
)
|
|
39292
39347
|
}).optional();
|
|
39293
|
-
var contentTypeOrderingSchema =
|
|
39294
|
-
mode:
|
|
39348
|
+
var contentTypeOrderingSchema = z69.object({
|
|
39349
|
+
mode: z69.enum(["default", "manual"]).optional()
|
|
39295
39350
|
}).optional();
|
|
39296
|
-
var contentTypeConfigSchema =
|
|
39351
|
+
var contentTypeConfigSchema = z69.object({
|
|
39297
39352
|
key: contentTypeKeySchema,
|
|
39298
|
-
name:
|
|
39299
|
-
description:
|
|
39300
|
-
hasPages:
|
|
39301
|
-
routePattern:
|
|
39353
|
+
name: z69.string().min(1),
|
|
39354
|
+
description: z69.string().optional(),
|
|
39355
|
+
hasPages: z69.boolean(),
|
|
39356
|
+
routePattern: z69.string().optional(),
|
|
39302
39357
|
// Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
|
|
39303
|
-
fields:
|
|
39304
|
-
titleField:
|
|
39358
|
+
fields: z69.array(z69.any()).min(1, "At least one field is required"),
|
|
39359
|
+
titleField: z69.string().optional(),
|
|
39305
39360
|
ordering: contentTypeOrderingSchema,
|
|
39306
|
-
isSingleton:
|
|
39361
|
+
isSingleton: z69.boolean().optional().default(false),
|
|
39307
39362
|
template: templateConfigSchemaForward
|
|
39308
39363
|
}).refine(
|
|
39309
39364
|
(data) => {
|
|
@@ -39325,7 +39380,7 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39325
39380
|
}
|
|
39326
39381
|
if (!data.routePattern) {
|
|
39327
39382
|
ctx.addIssue({
|
|
39328
|
-
code:
|
|
39383
|
+
code: z69.ZodIssueCode.custom,
|
|
39329
39384
|
path: ["routePattern"],
|
|
39330
39385
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39331
39386
|
});
|
|
@@ -39334,7 +39389,7 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39334
39389
|
const parseResult = safeParseRouteTemplate(data.routePattern);
|
|
39335
39390
|
if (!parseResult.success) {
|
|
39336
39391
|
ctx.addIssue({
|
|
39337
|
-
code:
|
|
39392
|
+
code: z69.ZodIssueCode.custom,
|
|
39338
39393
|
path: ["routePattern"],
|
|
39339
39394
|
message: describeRouteTemplateParseError(parseResult.error)
|
|
39340
39395
|
});
|
|
@@ -39342,44 +39397,44 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39342
39397
|
}
|
|
39343
39398
|
if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
|
|
39344
39399
|
ctx.addIssue({
|
|
39345
|
-
code:
|
|
39400
|
+
code: z69.ZodIssueCode.custom,
|
|
39346
39401
|
path: ["routePattern"],
|
|
39347
39402
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39348
39403
|
});
|
|
39349
39404
|
}
|
|
39350
39405
|
});
|
|
39351
|
-
var fieldBindingSchema =
|
|
39352
|
-
source:
|
|
39353
|
-
path:
|
|
39406
|
+
var fieldBindingSchema = z69.object({
|
|
39407
|
+
source: z69.literal("field"),
|
|
39408
|
+
path: z69.string().min(1, "Field path is required")
|
|
39354
39409
|
});
|
|
39355
|
-
var metaBindingSchema =
|
|
39356
|
-
source:
|
|
39357
|
-
path:
|
|
39410
|
+
var metaBindingSchema = z69.object({
|
|
39411
|
+
source: z69.literal("meta"),
|
|
39412
|
+
path: z69.enum(TEMPLATE_BINDING_META_PATHS, {
|
|
39358
39413
|
error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
|
|
39359
39414
|
})
|
|
39360
39415
|
});
|
|
39361
|
-
var literalBindingSchema =
|
|
39362
|
-
source:
|
|
39363
|
-
value:
|
|
39416
|
+
var literalBindingSchema = z69.object({
|
|
39417
|
+
source: z69.literal("literal"),
|
|
39418
|
+
value: z69.unknown()
|
|
39364
39419
|
});
|
|
39365
|
-
var transformBindingSchema =
|
|
39366
|
-
source:
|
|
39367
|
-
path:
|
|
39368
|
-
transform:
|
|
39420
|
+
var transformBindingSchema = z69.object({
|
|
39421
|
+
source: z69.literal("transform"),
|
|
39422
|
+
path: z69.string().min(1, "Transform path is required"),
|
|
39423
|
+
transform: z69.enum(BINDING_TRANSFORM_VALUES, {
|
|
39369
39424
|
error: (issue) => describeInvalidBindingTransform(String(issue.input))
|
|
39370
39425
|
})
|
|
39371
39426
|
});
|
|
39372
|
-
var baseBindingSchema =
|
|
39427
|
+
var baseBindingSchema = z69.discriminatedUnion("source", [
|
|
39373
39428
|
fieldBindingSchema,
|
|
39374
39429
|
metaBindingSchema,
|
|
39375
39430
|
literalBindingSchema,
|
|
39376
39431
|
transformBindingSchema
|
|
39377
39432
|
]);
|
|
39378
|
-
var fallbackBindingSchema =
|
|
39379
|
-
source:
|
|
39380
|
-
sources:
|
|
39433
|
+
var fallbackBindingSchema = z69.object({
|
|
39434
|
+
source: z69.literal("fallback"),
|
|
39435
|
+
sources: z69.array(z69.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
|
|
39381
39436
|
});
|
|
39382
|
-
var bindingSourceSchema =
|
|
39437
|
+
var bindingSourceSchema = z69.union([
|
|
39383
39438
|
baseBindingSchema,
|
|
39384
39439
|
fallbackBindingSchema
|
|
39385
39440
|
]);
|
|
@@ -39393,12 +39448,12 @@ function isValidBlockKind(kind) {
|
|
|
39393
39448
|
return false;
|
|
39394
39449
|
}
|
|
39395
39450
|
var BLOCK_KIND_ERROR_MESSAGE = 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.myBlock")';
|
|
39396
|
-
var blockKindSchema =
|
|
39397
|
-
var templateBlockConfigSchema =
|
|
39398
|
-
identifier:
|
|
39451
|
+
var blockKindSchema = z69.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
|
|
39452
|
+
var templateBlockConfigSchema = z69.object({
|
|
39453
|
+
identifier: z69.string().min(1, "Block identifier is required"),
|
|
39399
39454
|
kind: blockKindSchema,
|
|
39400
|
-
scope:
|
|
39401
|
-
bindings:
|
|
39455
|
+
scope: z69.enum(["entry", "template"]),
|
|
39456
|
+
bindings: z69.record(z69.string(), bindingSourceSchema).optional(),
|
|
39402
39457
|
content: jsonDataSchema.optional()
|
|
39403
39458
|
}).refine(
|
|
39404
39459
|
(data) => {
|
|
@@ -39417,8 +39472,8 @@ var templateBlockConfigSchema = z71.object({
|
|
|
39417
39472
|
},
|
|
39418
39473
|
{ message: "Template-scoped blocks should define static content, not bindings" }
|
|
39419
39474
|
);
|
|
39420
|
-
var templateConfigSchema =
|
|
39421
|
-
blocks:
|
|
39475
|
+
var templateConfigSchema = z69.object({
|
|
39476
|
+
blocks: z69.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
|
|
39422
39477
|
}).refine(
|
|
39423
39478
|
(data) => {
|
|
39424
39479
|
const identifiers = data.blocks.map((b) => b.identifier);
|
|
@@ -39427,77 +39482,77 @@ var templateConfigSchema = z71.object({
|
|
|
39427
39482
|
},
|
|
39428
39483
|
{ message: "Template block identifiers must be unique" }
|
|
39429
39484
|
);
|
|
39430
|
-
var blockConfigSchema =
|
|
39485
|
+
var blockConfigSchema = z69.object({
|
|
39431
39486
|
kind: blockKindSchema,
|
|
39432
39487
|
content: jsonDataSchema,
|
|
39433
|
-
orderIndex:
|
|
39434
|
-
});
|
|
39435
|
-
var pageConfigSchema =
|
|
39436
|
-
identifier:
|
|
39437
|
-
title:
|
|
39438
|
-
path:
|
|
39439
|
-
purpose:
|
|
39440
|
-
blocks:
|
|
39441
|
-
status:
|
|
39442
|
-
metaTitle:
|
|
39443
|
-
metaDescription:
|
|
39444
|
-
});
|
|
39445
|
-
var entryConfigSchema =
|
|
39446
|
-
identifier:
|
|
39447
|
-
contentType:
|
|
39488
|
+
orderIndex: z69.number().optional()
|
|
39489
|
+
});
|
|
39490
|
+
var pageConfigSchema = z69.object({
|
|
39491
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39492
|
+
title: z69.string().min(1, "Title is required"),
|
|
39493
|
+
path: z69.string().regex(/^\//, "Path must start with /"),
|
|
39494
|
+
purpose: z69.string().default("content"),
|
|
39495
|
+
blocks: z69.array(blockConfigSchema).optional(),
|
|
39496
|
+
status: z69.enum(["draft", "published"]).default("draft"),
|
|
39497
|
+
metaTitle: z69.string().optional(),
|
|
39498
|
+
metaDescription: z69.string().optional()
|
|
39499
|
+
});
|
|
39500
|
+
var entryConfigSchema = z69.object({
|
|
39501
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39502
|
+
contentType: z69.string().min(1, "Content type is required"),
|
|
39448
39503
|
data: jsonDataSchema,
|
|
39449
|
-
status:
|
|
39450
|
-
slug:
|
|
39451
|
-
summary:
|
|
39504
|
+
status: z69.enum(["draft", "published"]).default("draft"),
|
|
39505
|
+
slug: z69.string().optional(),
|
|
39506
|
+
summary: z69.string().optional(),
|
|
39452
39507
|
// Hard remove legacy config-only titles: titles must live in entry `data`.
|
|
39453
|
-
title:
|
|
39508
|
+
title: z69.any().optional().refine((value) => value === void 0, {
|
|
39454
39509
|
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."
|
|
39455
39510
|
}),
|
|
39456
|
-
metaTitle:
|
|
39457
|
-
metaDescription:
|
|
39511
|
+
metaTitle: z69.string().optional(),
|
|
39512
|
+
metaDescription: z69.string().optional()
|
|
39458
39513
|
});
|
|
39459
|
-
var dropdownLinkSchema =
|
|
39460
|
-
kind:
|
|
39514
|
+
var dropdownLinkSchema = z69.object({
|
|
39515
|
+
kind: z69.literal("dropdown")
|
|
39461
39516
|
});
|
|
39462
|
-
var navigationLinkSchema =
|
|
39517
|
+
var navigationLinkSchema = z69.discriminatedUnion("kind", [
|
|
39463
39518
|
...navigationLinkInputSchemaOptions,
|
|
39464
39519
|
dropdownLinkSchema
|
|
39465
39520
|
]);
|
|
39466
|
-
var baseNavigationItemSchema =
|
|
39467
|
-
label:
|
|
39521
|
+
var baseNavigationItemSchema = z69.object({
|
|
39522
|
+
label: z69.string().min(1, "Label is required"),
|
|
39468
39523
|
link: navigationLinkSchema,
|
|
39469
|
-
isCta:
|
|
39524
|
+
isCta: z69.boolean().optional()
|
|
39470
39525
|
});
|
|
39471
39526
|
var navigationItemConfigSchema = baseNavigationItemSchema.extend({
|
|
39472
|
-
children:
|
|
39473
|
-
});
|
|
39474
|
-
var navigationMenuConfigSchema =
|
|
39475
|
-
identifier:
|
|
39476
|
-
name:
|
|
39477
|
-
isPrimary:
|
|
39478
|
-
isFooter:
|
|
39479
|
-
items:
|
|
39527
|
+
children: z69.lazy(() => z69.array(navigationItemConfigSchema)).optional()
|
|
39528
|
+
});
|
|
39529
|
+
var navigationMenuConfigSchema = z69.object({
|
|
39530
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39531
|
+
name: z69.string().min(1, "Name is required"),
|
|
39532
|
+
isPrimary: z69.boolean().optional(),
|
|
39533
|
+
isFooter: z69.boolean().optional(),
|
|
39534
|
+
items: z69.array(navigationItemConfigSchema)
|
|
39480
39535
|
}).superRefine((menu, ctx) => {
|
|
39481
39536
|
const portalStats = collectPortalLinkStats(
|
|
39482
39537
|
menu.items
|
|
39483
39538
|
);
|
|
39484
39539
|
if (portalStats.count > 1) {
|
|
39485
39540
|
ctx.addIssue({
|
|
39486
|
-
code:
|
|
39541
|
+
code: z69.ZodIssueCode.custom,
|
|
39487
39542
|
message: "Only one portal link is allowed per navigation menu",
|
|
39488
39543
|
path: ["items"]
|
|
39489
39544
|
});
|
|
39490
39545
|
}
|
|
39491
39546
|
if (portalStats.nestedLabels.length > 0) {
|
|
39492
39547
|
ctx.addIssue({
|
|
39493
|
-
code:
|
|
39548
|
+
code: z69.ZodIssueCode.custom,
|
|
39494
39549
|
message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
|
|
39495
39550
|
path: ["items"]
|
|
39496
39551
|
});
|
|
39497
39552
|
}
|
|
39498
39553
|
if (portalStats.withChildrenLabels.length > 0) {
|
|
39499
39554
|
ctx.addIssue({
|
|
39500
|
-
code:
|
|
39555
|
+
code: z69.ZodIssueCode.custom,
|
|
39501
39556
|
message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
|
|
39502
39557
|
path: ["items"]
|
|
39503
39558
|
});
|
|
@@ -39507,44 +39562,44 @@ var navigationMenuConfigSchema = z71.object({
|
|
|
39507
39562
|
);
|
|
39508
39563
|
if (cartStats.nestedLabels.length > 0) {
|
|
39509
39564
|
ctx.addIssue({
|
|
39510
|
-
code:
|
|
39565
|
+
code: z69.ZodIssueCode.custom,
|
|
39511
39566
|
message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
|
|
39512
39567
|
path: ["items"]
|
|
39513
39568
|
});
|
|
39514
39569
|
}
|
|
39515
39570
|
if (cartStats.withChildrenLabels.length > 0) {
|
|
39516
39571
|
ctx.addIssue({
|
|
39517
|
-
code:
|
|
39572
|
+
code: z69.ZodIssueCode.custom,
|
|
39518
39573
|
message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
|
|
39519
39574
|
path: ["items"]
|
|
39520
39575
|
});
|
|
39521
39576
|
}
|
|
39522
39577
|
if (cartStats.ctaLabels.length > 0) {
|
|
39523
39578
|
ctx.addIssue({
|
|
39524
|
-
code:
|
|
39579
|
+
code: z69.ZodIssueCode.custom,
|
|
39525
39580
|
message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
|
|
39526
39581
|
path: ["items"]
|
|
39527
39582
|
});
|
|
39528
39583
|
}
|
|
39529
39584
|
if (cartStats.missingVisibleTextLabels.length > 0) {
|
|
39530
39585
|
ctx.addIssue({
|
|
39531
|
-
code:
|
|
39586
|
+
code: z69.ZodIssueCode.custom,
|
|
39532
39587
|
message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
|
|
39533
39588
|
path: ["items"]
|
|
39534
39589
|
});
|
|
39535
39590
|
}
|
|
39536
39591
|
});
|
|
39537
|
-
var siteSettingsConfigSchema =
|
|
39538
|
-
homepagePath:
|
|
39539
|
-
siteTitle:
|
|
39540
|
-
siteDescription:
|
|
39541
|
-
defaultTemplates:
|
|
39592
|
+
var siteSettingsConfigSchema = z69.object({
|
|
39593
|
+
homepagePath: z69.string().optional(),
|
|
39594
|
+
siteTitle: z69.string().optional(),
|
|
39595
|
+
siteDescription: z69.string().optional(),
|
|
39596
|
+
defaultTemplates: z69.record(z69.string(), z69.string()).optional()
|
|
39542
39597
|
});
|
|
39543
|
-
var contentConfigBaseSchema =
|
|
39544
|
-
contentTypes:
|
|
39545
|
-
entries:
|
|
39546
|
-
pages:
|
|
39547
|
-
navigationMenus:
|
|
39598
|
+
var contentConfigBaseSchema = z69.object({
|
|
39599
|
+
contentTypes: z69.array(contentTypeConfigSchema).optional(),
|
|
39600
|
+
entries: z69.array(entryConfigSchema).optional(),
|
|
39601
|
+
pages: z69.array(pageConfigSchema).optional(),
|
|
39602
|
+
navigationMenus: z69.array(navigationMenuConfigSchema).optional(),
|
|
39548
39603
|
settings: siteSettingsConfigSchema.optional()
|
|
39549
39604
|
});
|
|
39550
39605
|
var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
@@ -39553,7 +39608,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39553
39608
|
const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
|
|
39554
39609
|
if (duplicateKeys.length > 0) {
|
|
39555
39610
|
ctx.addIssue({
|
|
39556
|
-
code:
|
|
39611
|
+
code: z69.ZodIssueCode.custom,
|
|
39557
39612
|
message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
|
|
39558
39613
|
path: ["contentTypes"]
|
|
39559
39614
|
});
|
|
@@ -39564,7 +39619,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39564
39619
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39565
39620
|
if (duplicateIds.length > 0) {
|
|
39566
39621
|
ctx.addIssue({
|
|
39567
|
-
code:
|
|
39622
|
+
code: z69.ZodIssueCode.custom,
|
|
39568
39623
|
message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39569
39624
|
path: ["pages"]
|
|
39570
39625
|
});
|
|
@@ -39573,7 +39628,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39573
39628
|
const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
|
|
39574
39629
|
if (duplicatePaths.length > 0) {
|
|
39575
39630
|
ctx.addIssue({
|
|
39576
|
-
code:
|
|
39631
|
+
code: z69.ZodIssueCode.custom,
|
|
39577
39632
|
message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
|
|
39578
39633
|
path: ["pages"]
|
|
39579
39634
|
});
|
|
@@ -39584,7 +39639,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39584
39639
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39585
39640
|
if (duplicateIds.length > 0) {
|
|
39586
39641
|
ctx.addIssue({
|
|
39587
|
-
code:
|
|
39642
|
+
code: z69.ZodIssueCode.custom,
|
|
39588
39643
|
message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39589
39644
|
path: ["entries"]
|
|
39590
39645
|
});
|
|
@@ -39595,7 +39650,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39595
39650
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39596
39651
|
if (duplicateIds.length > 0) {
|
|
39597
39652
|
ctx.addIssue({
|
|
39598
|
-
code:
|
|
39653
|
+
code: z69.ZodIssueCode.custom,
|
|
39599
39654
|
message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39600
39655
|
path: ["navigationMenus"]
|
|
39601
39656
|
});
|
|
@@ -39609,7 +39664,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39609
39664
|
const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
|
|
39610
39665
|
if (entriesForType.length > 1) {
|
|
39611
39666
|
ctx.addIssue({
|
|
39612
|
-
code:
|
|
39667
|
+
code: z69.ZodIssueCode.custom,
|
|
39613
39668
|
message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
|
|
39614
39669
|
path: ["entries"]
|
|
39615
39670
|
});
|
|
@@ -39722,18 +39777,18 @@ function validateLayout(layout) {
|
|
|
39722
39777
|
}
|
|
39723
39778
|
|
|
39724
39779
|
// src/config/dashboard-validation.ts
|
|
39725
|
-
import { z as
|
|
39726
|
-
var navIdListSchema2 =
|
|
39780
|
+
import { z as z70 } from "zod";
|
|
39781
|
+
var navIdListSchema2 = z70.preprocess((value) => {
|
|
39727
39782
|
if (!Array.isArray(value)) return void 0;
|
|
39728
39783
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
39729
39784
|
return filtered.length > 0 ? filtered : void 0;
|
|
39730
|
-
},
|
|
39731
|
-
var dashboardNavVisibilityBaseSchema2 =
|
|
39732
|
-
mode:
|
|
39785
|
+
}, z70.array(z70.string()).max(200, "Maximum 200 nav IDs").optional());
|
|
39786
|
+
var dashboardNavVisibilityBaseSchema2 = z70.object({
|
|
39787
|
+
mode: z70.enum(["augment", "restrict"]).optional(),
|
|
39733
39788
|
allowIds: navIdListSchema2,
|
|
39734
39789
|
denyIds: navIdListSchema2
|
|
39735
39790
|
}).strip();
|
|
39736
|
-
var dashboardNavVisibilityRolesSchema2 =
|
|
39791
|
+
var dashboardNavVisibilityRolesSchema2 = z70.object({
|
|
39737
39792
|
administrator: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39738
39793
|
editor: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39739
39794
|
team_member: dashboardNavVisibilityBaseSchema2.optional()
|
|
@@ -39741,28 +39796,28 @@ var dashboardNavVisibilityRolesSchema2 = z72.object({
|
|
|
39741
39796
|
var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
|
|
39742
39797
|
roles: dashboardNavVisibilityRolesSchema2
|
|
39743
39798
|
}).strip();
|
|
39744
|
-
var dashboardNavigationConfigSchema2 =
|
|
39799
|
+
var dashboardNavigationConfigSchema2 = z70.object({
|
|
39745
39800
|
siteNav: dashboardNavVisibilitySchema2.optional(),
|
|
39746
39801
|
settingsNav: dashboardNavVisibilitySchema2.optional()
|
|
39747
39802
|
}).strip();
|
|
39748
|
-
var dashboardConfigSchema2 =
|
|
39749
|
-
previewEditingEnabled:
|
|
39803
|
+
var dashboardConfigSchema2 = z70.object({
|
|
39804
|
+
previewEditingEnabled: z70.boolean().optional(),
|
|
39750
39805
|
navigation: dashboardNavigationConfigSchema2.optional()
|
|
39751
39806
|
}).strip();
|
|
39752
39807
|
|
|
39753
39808
|
// src/zod/titleSourceSchema.ts
|
|
39754
|
-
import { z as
|
|
39755
|
-
var titleSourceValueSchema =
|
|
39756
|
-
|
|
39757
|
-
|
|
39809
|
+
import { z as z71 } from "zod";
|
|
39810
|
+
var titleSourceValueSchema = z71.union([
|
|
39811
|
+
z71.string().min(1),
|
|
39812
|
+
z71.array(z71.string().min(1)).min(1)
|
|
39758
39813
|
]);
|
|
39759
39814
|
|
|
39760
39815
|
// src/config/validation.ts
|
|
39761
|
-
var sdkThemePaletteSchema2 =
|
|
39762
|
-
var sdkThemeConfigSchema2 =
|
|
39816
|
+
var sdkThemePaletteSchema2 = z72.record(z72.string(), z72.string());
|
|
39817
|
+
var sdkThemeConfigSchema2 = z72.object({
|
|
39763
39818
|
palette: sdkThemePaletteSchema2
|
|
39764
39819
|
});
|
|
39765
|
-
var sdkSiteUrlSchema =
|
|
39820
|
+
var sdkSiteUrlSchema = z72.string().url("Must be a valid URL").refine((url) => {
|
|
39766
39821
|
try {
|
|
39767
39822
|
const parsed = new URL(url);
|
|
39768
39823
|
const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
|
|
@@ -39771,97 +39826,97 @@ var sdkSiteUrlSchema = z74.string().url("Must be a valid URL").refine((url) => {
|
|
|
39771
39826
|
return false;
|
|
39772
39827
|
}
|
|
39773
39828
|
}, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
|
|
39774
|
-
var sectionBackgroundSchema =
|
|
39775
|
-
id:
|
|
39776
|
-
label:
|
|
39777
|
-
token:
|
|
39829
|
+
var sectionBackgroundSchema = z72.object({
|
|
39830
|
+
id: z72.string(),
|
|
39831
|
+
label: z72.string(),
|
|
39832
|
+
token: z72.string()
|
|
39778
39833
|
// Reference to theme palette token
|
|
39779
39834
|
});
|
|
39780
|
-
var sectionSpacingSchema =
|
|
39781
|
-
var containerMaxWidthSchema =
|
|
39782
|
-
var containerAlignmentSchema =
|
|
39783
|
-
var sectionOptionsSchema =
|
|
39784
|
-
backgroundColor:
|
|
39785
|
-
backgroundImage:
|
|
39786
|
-
backgroundGradient:
|
|
39787
|
-
spacing:
|
|
39788
|
-
|
|
39789
|
-
|
|
39835
|
+
var sectionSpacingSchema = z72.enum(["compact", "default", "spacious"]);
|
|
39836
|
+
var containerMaxWidthSchema = z72.enum(["narrow", "default", "wide", "full"]);
|
|
39837
|
+
var containerAlignmentSchema = z72.enum(["left", "center", "right"]);
|
|
39838
|
+
var sectionOptionsSchema = z72.object({
|
|
39839
|
+
backgroundColor: z72.boolean().optional(),
|
|
39840
|
+
backgroundImage: z72.boolean().optional(),
|
|
39841
|
+
backgroundGradient: z72.boolean().optional(),
|
|
39842
|
+
spacing: z72.union([
|
|
39843
|
+
z72.array(sectionSpacingSchema),
|
|
39844
|
+
z72.boolean()
|
|
39790
39845
|
]).optional(),
|
|
39791
|
-
textColor:
|
|
39846
|
+
textColor: z72.boolean().optional()
|
|
39792
39847
|
}).optional();
|
|
39793
|
-
var containerOptionsSchema =
|
|
39794
|
-
maxWidth:
|
|
39795
|
-
|
|
39796
|
-
|
|
39848
|
+
var containerOptionsSchema = z72.object({
|
|
39849
|
+
maxWidth: z72.union([
|
|
39850
|
+
z72.array(containerMaxWidthSchema),
|
|
39851
|
+
z72.boolean()
|
|
39797
39852
|
]).optional(),
|
|
39798
|
-
alignment:
|
|
39799
|
-
|
|
39800
|
-
|
|
39853
|
+
alignment: z72.union([
|
|
39854
|
+
z72.array(containerAlignmentSchema),
|
|
39855
|
+
z72.boolean()
|
|
39801
39856
|
]).optional()
|
|
39802
39857
|
}).optional();
|
|
39803
|
-
var siteStyleConfigSchema =
|
|
39804
|
-
sectionBackgrounds:
|
|
39858
|
+
var siteStyleConfigSchema = z72.object({
|
|
39859
|
+
sectionBackgrounds: z72.array(sectionBackgroundSchema).optional(),
|
|
39805
39860
|
sectionOptions: sectionOptionsSchema,
|
|
39806
39861
|
containerOptions: containerOptionsSchema
|
|
39807
39862
|
}).optional();
|
|
39808
|
-
var sdkLoaderEndpointSchema2 =
|
|
39863
|
+
var sdkLoaderEndpointSchema2 = z72.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
39809
39864
|
var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
|
|
39810
|
-
var loaderTransformStepSchema =
|
|
39811
|
-
id:
|
|
39865
|
+
var loaderTransformStepSchema = z72.object({
|
|
39866
|
+
id: z72.string().refine((id) => allowedTransformIds.has(id), {
|
|
39812
39867
|
message: "Unknown transform id"
|
|
39813
39868
|
}),
|
|
39814
|
-
options:
|
|
39869
|
+
options: z72.record(z72.string(), z72.unknown()).optional()
|
|
39815
39870
|
});
|
|
39816
|
-
var loaderParamBindingSchema2 =
|
|
39817
|
-
$bind:
|
|
39818
|
-
from:
|
|
39871
|
+
var loaderParamBindingSchema2 = z72.object({
|
|
39872
|
+
$bind: z72.object({
|
|
39873
|
+
from: z72.string().min(1, "Binding path is required"),
|
|
39819
39874
|
// Loader params are ultimately string-normalized for query strings, so fallbacks should
|
|
39820
39875
|
// stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
|
|
39821
39876
|
// more complex values into a string.
|
|
39822
39877
|
fallback: loaderFallbackScalarSchema.optional(),
|
|
39823
|
-
transforms:
|
|
39824
|
-
pick:
|
|
39825
|
-
coerce:
|
|
39878
|
+
transforms: z72.array(loaderTransformStepSchema).default([]),
|
|
39879
|
+
pick: z72.enum(["value", "collection", "context"]).default("value"),
|
|
39880
|
+
coerce: z72.enum(["number", "boolean", "string"]).optional()
|
|
39826
39881
|
})
|
|
39827
39882
|
});
|
|
39828
|
-
var loaderParamValueSchema2 =
|
|
39829
|
-
|
|
39830
|
-
|
|
39831
|
-
|
|
39883
|
+
var loaderParamValueSchema2 = z72.union([
|
|
39884
|
+
z72.string(),
|
|
39885
|
+
z72.number(),
|
|
39886
|
+
z72.boolean(),
|
|
39832
39887
|
loaderParamBindingSchema2
|
|
39833
39888
|
]);
|
|
39834
|
-
var loaderWhenValueSchema =
|
|
39835
|
-
|
|
39889
|
+
var loaderWhenValueSchema = z72.union([
|
|
39890
|
+
z72.boolean(),
|
|
39836
39891
|
loaderParamBindingSchema2
|
|
39837
39892
|
]);
|
|
39838
|
-
var sdkConfigLoaderSchema2 =
|
|
39893
|
+
var sdkConfigLoaderSchema2 = z72.object({
|
|
39839
39894
|
endpoint: sdkLoaderEndpointSchema2,
|
|
39840
|
-
params:
|
|
39841
|
-
mode:
|
|
39895
|
+
params: z72.record(z72.string(), loaderParamValueSchema2),
|
|
39896
|
+
mode: z72.enum(["server", "client"]).default("server"),
|
|
39842
39897
|
when: loaderWhenValueSchema.optional()
|
|
39843
39898
|
});
|
|
39844
|
-
var sdkDataLoadersSchema2 =
|
|
39899
|
+
var sdkDataLoadersSchema2 = z72.record(z72.string(), sdkConfigLoaderSchema2).refine(
|
|
39845
39900
|
(loaders) => Object.keys(loaders).length <= 5,
|
|
39846
39901
|
{ message: "Maximum 5 data loaders per block" }
|
|
39847
39902
|
).optional();
|
|
39848
|
-
var fieldSelectOptionSchema =
|
|
39849
|
-
value:
|
|
39850
|
-
label:
|
|
39903
|
+
var fieldSelectOptionSchema = z72.object({
|
|
39904
|
+
value: z72.string().min(1, "Option value is required"),
|
|
39905
|
+
label: z72.string().min(1, "Option label is required")
|
|
39851
39906
|
});
|
|
39852
|
-
var blockFieldConfigSchema =
|
|
39853
|
-
options:
|
|
39907
|
+
var blockFieldConfigSchema = z72.object({
|
|
39908
|
+
options: z72.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
|
|
39854
39909
|
});
|
|
39855
|
-
var blockFieldOptionsSchema =
|
|
39856
|
-
|
|
39910
|
+
var blockFieldOptionsSchema = z72.record(
|
|
39911
|
+
z72.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
39857
39912
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
39858
39913
|
}),
|
|
39859
|
-
|
|
39860
|
-
|
|
39914
|
+
z72.record(
|
|
39915
|
+
z72.string().min(1, "Field ID is required"),
|
|
39861
39916
|
blockFieldConfigSchema
|
|
39862
39917
|
)
|
|
39863
39918
|
).optional();
|
|
39864
|
-
var blockFieldExtensionSchema =
|
|
39919
|
+
var blockFieldExtensionSchema = z72.object({
|
|
39865
39920
|
fields: fieldSchema.array().min(1, "At least one field is required")
|
|
39866
39921
|
}).refine(
|
|
39867
39922
|
(data) => {
|
|
@@ -39875,10 +39930,10 @@ var blockFieldExtensionSchema = z74.object({
|
|
|
39875
39930
|
message: "Required fields must have a defaultValue to support existing blocks"
|
|
39876
39931
|
}
|
|
39877
39932
|
);
|
|
39878
|
-
var blockFieldExtensionsMapSchema =
|
|
39933
|
+
var blockFieldExtensionsMapSchema = z72.record(
|
|
39879
39934
|
// System blocks are kebab-case: block.body-text, block.event-calendar, ...
|
|
39880
39935
|
// Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
|
|
39881
|
-
|
|
39936
|
+
z72.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
|
|
39882
39937
|
message: "Block ID must be 'block.*' format (system blocks only)"
|
|
39883
39938
|
}),
|
|
39884
39939
|
blockFieldExtensionSchema
|
|
@@ -39894,7 +39949,7 @@ var blockFieldExtensionsMapSchema = z74.record(
|
|
|
39894
39949
|
(field) => field.id === collision.fieldId
|
|
39895
39950
|
);
|
|
39896
39951
|
ctx.addIssue({
|
|
39897
|
-
code:
|
|
39952
|
+
code: z72.ZodIssueCode.custom,
|
|
39898
39953
|
message: collision.message,
|
|
39899
39954
|
path: [
|
|
39900
39955
|
APPOINTMENT_BOOKING_BLOCK_ID,
|
|
@@ -39960,24 +40015,24 @@ function validateFieldIdConflicts(blockFieldExtensions) {
|
|
|
39960
40015
|
}
|
|
39961
40016
|
return conflicts;
|
|
39962
40017
|
}
|
|
39963
|
-
var syncConfigSchema =
|
|
39964
|
-
existingEntries:
|
|
40018
|
+
var syncConfigSchema = z72.object({
|
|
40019
|
+
existingEntries: z72.enum(["skip", "update"]).optional()
|
|
39965
40020
|
}).optional();
|
|
39966
|
-
var deployConfigSchema =
|
|
39967
|
-
verifyCommand:
|
|
39968
|
-
prebuildOutput:
|
|
40021
|
+
var deployConfigSchema = z72.object({
|
|
40022
|
+
verifyCommand: z72.string().optional(),
|
|
40023
|
+
prebuildOutput: z72.string().optional()
|
|
39969
40024
|
}).optional();
|
|
39970
|
-
var sdkCustomBlockSchema =
|
|
40025
|
+
var sdkCustomBlockSchema = z72.object({
|
|
39971
40026
|
// Block ID must start with 'custom.'
|
|
39972
|
-
id:
|
|
40027
|
+
id: z72.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
39973
40028
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
39974
40029
|
}),
|
|
39975
|
-
title:
|
|
40030
|
+
title: z72.string().min(1, "Title is required"),
|
|
39976
40031
|
titleSource: titleSourceValueSchema.optional(),
|
|
39977
|
-
description:
|
|
40032
|
+
description: z72.string().optional(),
|
|
39978
40033
|
category: blockCategoryEnum,
|
|
39979
|
-
icon:
|
|
39980
|
-
tags:
|
|
40034
|
+
icon: z72.string().optional(),
|
|
40035
|
+
tags: z72.array(z72.string()).optional(),
|
|
39981
40036
|
// Reuse the exact field schema from @riverbankcms/blocks - all field types supported
|
|
39982
40037
|
fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
39983
40038
|
// Data loaders for CMS endpoints
|
|
@@ -39985,14 +40040,14 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39985
40040
|
// Optional declarative layout - when present, block can render without React override
|
|
39986
40041
|
layout: NodeSchema.optional(),
|
|
39987
40042
|
// Optional variants system (preferred when a block has multiple structural layouts)
|
|
39988
|
-
variants:
|
|
39989
|
-
defaultVariant:
|
|
39990
|
-
variantOptions:
|
|
39991
|
-
|
|
39992
|
-
|
|
39993
|
-
label:
|
|
39994
|
-
description:
|
|
39995
|
-
icon:
|
|
40043
|
+
variants: z72.record(z72.string().min(1), NodeSchema).optional(),
|
|
40044
|
+
defaultVariant: z72.string().min(1).optional(),
|
|
40045
|
+
variantOptions: z72.record(
|
|
40046
|
+
z72.string().min(1),
|
|
40047
|
+
z72.object({
|
|
40048
|
+
label: z72.string().min(1).optional(),
|
|
40049
|
+
description: z72.string().min(1).optional(),
|
|
40050
|
+
icon: z72.string().min(1).optional()
|
|
39996
40051
|
})
|
|
39997
40052
|
).optional(),
|
|
39998
40053
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -40004,7 +40059,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40004
40059
|
const exists = fields3.some((field) => field.id === source);
|
|
40005
40060
|
if (!exists) {
|
|
40006
40061
|
ctx.addIssue({
|
|
40007
|
-
code:
|
|
40062
|
+
code: z72.ZodIssueCode.custom,
|
|
40008
40063
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
40009
40064
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
40010
40065
|
});
|
|
@@ -40013,7 +40068,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40013
40068
|
}
|
|
40014
40069
|
if (data.layout && data.variants) {
|
|
40015
40070
|
ctx.addIssue({
|
|
40016
|
-
code:
|
|
40071
|
+
code: z72.ZodIssueCode.custom,
|
|
40017
40072
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
40018
40073
|
path: ["variants"]
|
|
40019
40074
|
});
|
|
@@ -40023,7 +40078,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40023
40078
|
if (!result.valid) {
|
|
40024
40079
|
for (const error of result.errors) {
|
|
40025
40080
|
ctx.addIssue({
|
|
40026
|
-
code:
|
|
40081
|
+
code: z72.ZodIssueCode.custom,
|
|
40027
40082
|
message: error.message,
|
|
40028
40083
|
path: ["layout"]
|
|
40029
40084
|
});
|
|
@@ -40034,14 +40089,14 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40034
40089
|
const keys = Object.keys(data.variants);
|
|
40035
40090
|
if (keys.length === 0) {
|
|
40036
40091
|
ctx.addIssue({
|
|
40037
|
-
code:
|
|
40092
|
+
code: z72.ZodIssueCode.custom,
|
|
40038
40093
|
message: "`variants` must contain at least one variant key",
|
|
40039
40094
|
path: ["variants"]
|
|
40040
40095
|
});
|
|
40041
40096
|
}
|
|
40042
40097
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
40043
40098
|
ctx.addIssue({
|
|
40044
|
-
code:
|
|
40099
|
+
code: z72.ZodIssueCode.custom,
|
|
40045
40100
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
40046
40101
|
path: ["defaultVariant"]
|
|
40047
40102
|
});
|
|
@@ -40051,7 +40106,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40051
40106
|
if (!result.valid) {
|
|
40052
40107
|
for (const error of result.errors) {
|
|
40053
40108
|
ctx.addIssue({
|
|
40054
|
-
code:
|
|
40109
|
+
code: z72.ZodIssueCode.custom,
|
|
40055
40110
|
message: `${key}: ${error.message}`,
|
|
40056
40111
|
path: ["variants", key]
|
|
40057
40112
|
});
|
|
@@ -40062,7 +40117,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40062
40117
|
for (const key of Object.keys(data.variantOptions)) {
|
|
40063
40118
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
40064
40119
|
ctx.addIssue({
|
|
40065
|
-
code:
|
|
40120
|
+
code: z72.ZodIssueCode.custom,
|
|
40066
40121
|
message: "`variantOptions` key must exist in `variants`",
|
|
40067
40122
|
path: ["variantOptions", key]
|
|
40068
40123
|
});
|
|
@@ -40071,58 +40126,58 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40071
40126
|
}
|
|
40072
40127
|
}
|
|
40073
40128
|
});
|
|
40074
|
-
var themeSourceSchema =
|
|
40075
|
-
var activeThemeSchema =
|
|
40129
|
+
var themeSourceSchema = z72.enum(["local", "cms"]).optional();
|
|
40130
|
+
var activeThemeSchema = z72.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
|
|
40076
40131
|
message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
|
|
40077
40132
|
}).max(64, "Theme name too long").optional();
|
|
40078
40133
|
function isValidConfigBlockKind(kind) {
|
|
40079
40134
|
if (getBlockDefinition(kind)) return true;
|
|
40080
40135
|
return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
|
|
40081
40136
|
}
|
|
40082
|
-
var layoutBlockKindSchema =
|
|
40137
|
+
var layoutBlockKindSchema = z72.string().refine(isValidConfigBlockKind, {
|
|
40083
40138
|
message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
|
|
40084
40139
|
});
|
|
40085
|
-
var layoutFooterBlockSchema =
|
|
40086
|
-
id:
|
|
40140
|
+
var layoutFooterBlockSchema = z72.object({
|
|
40141
|
+
id: z72.string().min(1).optional(),
|
|
40087
40142
|
kind: layoutBlockKindSchema,
|
|
40088
40143
|
// Allow omitted content for blocks that rely on defaults.
|
|
40089
|
-
content:
|
|
40144
|
+
content: z72.record(z72.string(), z72.unknown()).optional()
|
|
40090
40145
|
}).strict();
|
|
40091
|
-
var layoutConfigSchema =
|
|
40092
|
-
footerBlocks:
|
|
40146
|
+
var layoutConfigSchema = z72.object({
|
|
40147
|
+
footerBlocks: z72.array(layoutFooterBlockSchema).optional()
|
|
40093
40148
|
}).strict();
|
|
40094
|
-
var sdkWorkflowIdSchema2 =
|
|
40149
|
+
var sdkWorkflowIdSchema2 = z72.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
40095
40150
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
40096
40151
|
});
|
|
40097
|
-
var sdkWorkflowEndpointSchema2 =
|
|
40098
|
-
var sdkWorkflowTriggerSchema2 =
|
|
40099
|
-
|
|
40152
|
+
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 "/"' });
|
|
40153
|
+
var sdkWorkflowTriggerSchema2 = z72.discriminatedUnion("type", [
|
|
40154
|
+
z72.object({ type: z72.literal("manual") }).strict()
|
|
40100
40155
|
]);
|
|
40101
|
-
var sdkWorkflowConfirmationSchema2 =
|
|
40102
|
-
title:
|
|
40103
|
-
body:
|
|
40156
|
+
var sdkWorkflowConfirmationSchema2 = z72.object({
|
|
40157
|
+
title: z72.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
40158
|
+
body: z72.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
40104
40159
|
}).strict();
|
|
40105
|
-
var sdkWorkflowConfigSchema2 =
|
|
40160
|
+
var sdkWorkflowConfigSchema2 = z72.object({
|
|
40106
40161
|
id: sdkWorkflowIdSchema2,
|
|
40107
|
-
title:
|
|
40108
|
-
description:
|
|
40109
|
-
contentType:
|
|
40162
|
+
title: z72.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
40163
|
+
description: z72.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
40164
|
+
contentType: z72.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
40110
40165
|
endpoint: sdkWorkflowEndpointSchema2,
|
|
40111
|
-
triggers:
|
|
40166
|
+
triggers: z72.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
40112
40167
|
confirmation: sdkWorkflowConfirmationSchema2.optional()
|
|
40113
40168
|
}).strict();
|
|
40114
|
-
var sdkWorkflowsSchema2 =
|
|
40169
|
+
var sdkWorkflowsSchema2 = z72.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
40115
40170
|
const ids = workflows.map((workflow) => workflow.id);
|
|
40116
40171
|
return ids.length === new Set(ids).size;
|
|
40117
40172
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
40118
|
-
var riverbankSiteConfigSchema =
|
|
40119
|
-
siteId:
|
|
40173
|
+
var riverbankSiteConfigSchema = z72.object({
|
|
40174
|
+
siteId: z72.string().uuid(),
|
|
40120
40175
|
previewUrl: sdkSiteUrlSchema.optional(),
|
|
40121
40176
|
liveUrl: sdkSiteUrlSchema.optional(),
|
|
40122
40177
|
theme: sdkThemeConfigSchema2.optional(),
|
|
40123
40178
|
styles: siteStyleConfigSchema,
|
|
40124
40179
|
layout: layoutConfigSchema.optional(),
|
|
40125
|
-
customBlocks:
|
|
40180
|
+
customBlocks: z72.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
|
|
40126
40181
|
// Ensure unique block IDs
|
|
40127
40182
|
(blocks) => {
|
|
40128
40183
|
const ids = blocks.map((b) => b.id);
|
|
@@ -40135,7 +40190,7 @@ var riverbankSiteConfigSchema = z74.object({
|
|
|
40135
40190
|
workflows: sdkWorkflowsSchema2,
|
|
40136
40191
|
content: contentConfigSchema.optional(),
|
|
40137
40192
|
// CLI-related configuration (Phase 4)
|
|
40138
|
-
contentDir:
|
|
40193
|
+
contentDir: z72.string().optional(),
|
|
40139
40194
|
sync: syncConfigSchema,
|
|
40140
40195
|
deploy: deployConfigSchema,
|
|
40141
40196
|
// Theme sync configuration (Phase 5)
|