@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
package/dist/server/config.mjs
CHANGED
|
@@ -44,7 +44,7 @@ function fallbackBinding(...sources) {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
// src/config/validation.ts
|
|
47
|
-
import { z as
|
|
47
|
+
import { z as z72 } from "zod";
|
|
48
48
|
|
|
49
49
|
// ../api/src/apiEndpointTypes.ts
|
|
50
50
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
@@ -6813,7 +6813,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
6813
6813
|
);
|
|
6814
6814
|
|
|
6815
6815
|
// ../api/src/sdkConfig/contracts.ts
|
|
6816
|
-
import { z as
|
|
6816
|
+
import { z as z63 } from "zod";
|
|
6817
6817
|
|
|
6818
6818
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
6819
6819
|
function augmentManifest(manifest) {
|
|
@@ -7241,12 +7241,17 @@ var visibleWhenPredicateSchema = z4.object({
|
|
|
7241
7241
|
minItems: z4.number().int().nonnegative().optional(),
|
|
7242
7242
|
maxItems: z4.number().int().nonnegative().optional()
|
|
7243
7243
|
});
|
|
7244
|
-
var visibleWhenSchema = z4.
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7244
|
+
var visibleWhenSchema = z4.lazy(
|
|
7245
|
+
() => z4.union([
|
|
7246
|
+
visibleWhenPredicateSchema,
|
|
7247
|
+
z4.object({
|
|
7248
|
+
allOf: z4.array(visibleWhenSchema).min(1)
|
|
7249
|
+
}),
|
|
7250
|
+
z4.object({
|
|
7251
|
+
anyOf: z4.array(visibleWhenSchema).min(1)
|
|
7252
|
+
})
|
|
7253
|
+
])
|
|
7254
|
+
);
|
|
7250
7255
|
var uiSchema = z4.object({
|
|
7251
7256
|
widget: z4.string().optional(),
|
|
7252
7257
|
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
@@ -20151,9 +20156,6 @@ var heroCopyFragment = defineFragment({
|
|
|
20151
20156
|
maxLength: 600
|
|
20152
20157
|
}
|
|
20153
20158
|
],
|
|
20154
|
-
// Layout order is [eyebrow, headline, subheadline]. The hero block's
|
|
20155
|
-
// `splitEditorial` variant reads these nodes by index; keep the order stable
|
|
20156
|
-
// (it fails fast at import if the count changes).
|
|
20157
20159
|
layout: [
|
|
20158
20160
|
text(
|
|
20159
20161
|
{
|
|
@@ -22391,32 +22393,6 @@ var splitReverseLayout = splitLayoutWith([
|
|
|
22391
22393
|
splitContentColumn,
|
|
22392
22394
|
splitImageColumn
|
|
22393
22395
|
]);
|
|
22394
|
-
var heroEyebrowNode = heroCopyFragment.layout[0];
|
|
22395
|
-
var heroHeadlineNode = heroCopyFragment.layout[1];
|
|
22396
|
-
var heroSubheadlineNode = heroCopyFragment.layout[2];
|
|
22397
|
-
var heroCtaRowNode = heroCtaRowFragment.layout[0];
|
|
22398
|
-
if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
|
|
22399
|
-
throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
|
|
22400
|
-
}
|
|
22401
|
-
var heroEditorialBottomRow = inline(
|
|
22402
|
-
{
|
|
22403
|
-
gap: "lg",
|
|
22404
|
-
align: "end",
|
|
22405
|
-
justify: "start",
|
|
22406
|
-
wrap: true,
|
|
22407
|
-
className: "rb-w-full"
|
|
22408
|
-
},
|
|
22409
|
-
[heroSubheadlineNode, heroCtaRowNode]
|
|
22410
|
-
);
|
|
22411
|
-
var splitEditorialContentColumn = heroContentWrapper(
|
|
22412
|
-
[heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
|
|
22413
|
-
"md",
|
|
22414
|
-
"rb-w-full rb-text-left"
|
|
22415
|
-
);
|
|
22416
|
-
var splitEditorialLayout = splitLayoutWith([
|
|
22417
|
-
splitEditorialContentColumn,
|
|
22418
|
-
splitImageColumn
|
|
22419
|
-
]);
|
|
22420
22396
|
var heroConfig = {
|
|
22421
22397
|
id: "block.hero",
|
|
22422
22398
|
title: "Hero",
|
|
@@ -22440,7 +22416,8 @@ var heroConfig = {
|
|
|
22440
22416
|
id: "imageShape",
|
|
22441
22417
|
label: "Image shape",
|
|
22442
22418
|
defaultValue: "default",
|
|
22443
|
-
uiIntent: "display"
|
|
22419
|
+
uiIntent: "display",
|
|
22420
|
+
visibleWhen: { field: "variant", oneOf: ["split", "splitReverse"] }
|
|
22444
22421
|
})
|
|
22445
22422
|
],
|
|
22446
22423
|
layout: classicLayout,
|
|
@@ -22448,8 +22425,7 @@ var heroConfig = {
|
|
|
22448
22425
|
classic: classicLayout,
|
|
22449
22426
|
micro: microLayout,
|
|
22450
22427
|
split: splitLayout,
|
|
22451
|
-
splitReverse: splitReverseLayout
|
|
22452
|
-
splitEditorial: splitEditorialLayout
|
|
22428
|
+
splitReverse: splitReverseLayout
|
|
22453
22429
|
},
|
|
22454
22430
|
defaultVariant: "classic",
|
|
22455
22431
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
@@ -24325,8 +24301,10 @@ function resolveGeneratedHeroLayoutStyles(content) {
|
|
|
24325
24301
|
return isPlainObject(raw) ? raw : null;
|
|
24326
24302
|
}
|
|
24327
24303
|
function readHeroLayoutString(content, generatedKey, fallbackKey = generatedKey) {
|
|
24304
|
+
const explicitValue = readString(content, fallbackKey);
|
|
24305
|
+
if (explicitValue !== void 0) return explicitValue;
|
|
24328
24306
|
const generated = resolveGeneratedHeroLayoutStyles(content);
|
|
24329
|
-
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] :
|
|
24307
|
+
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : void 0;
|
|
24330
24308
|
}
|
|
24331
24309
|
function resolveHeroVariant(content) {
|
|
24332
24310
|
const variant = readString(content, "variant");
|
|
@@ -24339,7 +24317,7 @@ function resolveHeroContentAlignment(content) {
|
|
|
24339
24317
|
const raw = readHeroLayoutString(content, "contentAlignment");
|
|
24340
24318
|
if (raw === "left" || raw === "center" || raw === "right") return raw;
|
|
24341
24319
|
const variant = resolveHeroVariant(content);
|
|
24342
|
-
if (variant === "split" || variant === "splitReverse"
|
|
24320
|
+
if (variant === "split" || variant === "splitReverse") return "left";
|
|
24343
24321
|
return "center";
|
|
24344
24322
|
}
|
|
24345
24323
|
function resolveHeroVerticalAlignment(content) {
|
|
@@ -24349,7 +24327,7 @@ function resolveHeroVerticalAlignment(content) {
|
|
|
24349
24327
|
const minHeight = sectionStyles?.minHeight;
|
|
24350
24328
|
if (minHeight === "banner" || minHeight === "hero" || minHeight === "immersive") return "center";
|
|
24351
24329
|
const variant = resolveHeroVariant(content);
|
|
24352
|
-
if (variant === "split" || variant === "splitReverse"
|
|
24330
|
+
if (variant === "split" || variant === "splitReverse") return "center";
|
|
24353
24331
|
return "top";
|
|
24354
24332
|
}
|
|
24355
24333
|
function resolveHeroContentMaxWidth(content) {
|
|
@@ -27915,9 +27893,6 @@ var appointmentBookingBlockDefinition = {
|
|
|
27915
27893
|
}
|
|
27916
27894
|
};
|
|
27917
27895
|
|
|
27918
|
-
// ../blocks/src/system/blocks/event-registration.ts
|
|
27919
|
-
import { z as z47 } from "zod";
|
|
27920
|
-
|
|
27921
27896
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27922
27897
|
import { z as z43 } from "zod";
|
|
27923
27898
|
|
|
@@ -28532,24 +28507,57 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28532
28507
|
return trimmed ? trimmed : null;
|
|
28533
28508
|
}
|
|
28534
28509
|
|
|
28535
|
-
// ../blocks/src/system/blocks/
|
|
28510
|
+
// ../blocks/src/system/blocks/shop.shared.ts
|
|
28536
28511
|
import { z as z44 } from "zod";
|
|
28537
|
-
var
|
|
28512
|
+
var publicPassProductSchema = z44.object({
|
|
28538
28513
|
id: z44.string(),
|
|
28539
|
-
|
|
28540
|
-
|
|
28541
|
-
|
|
28542
|
-
|
|
28543
|
-
|
|
28544
|
-
|
|
28514
|
+
productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
28515
|
+
name: z44.string(),
|
|
28516
|
+
description: z44.string().nullable(),
|
|
28517
|
+
price: z44.number(),
|
|
28518
|
+
currency: z44.string(),
|
|
28519
|
+
creditsTotal: z44.number(),
|
|
28520
|
+
pricePerCredit: z44.number(),
|
|
28521
|
+
validDays: z44.number().nullable(),
|
|
28522
|
+
eligibleCategoryIds: z44.array(z44.string()),
|
|
28523
|
+
eligibleCategoryNames: z44.array(z44.string())
|
|
28524
|
+
});
|
|
28525
|
+
var publicPassProductCollectionSchema = z44.object({
|
|
28526
|
+
passes: z44.array(publicPassProductSchema)
|
|
28527
|
+
});
|
|
28528
|
+
var publicMembershipProductSchema = z44.object({
|
|
28529
|
+
id: z44.string(),
|
|
28530
|
+
name: z44.string(),
|
|
28531
|
+
description: z44.string().nullable(),
|
|
28532
|
+
price: z44.number(),
|
|
28533
|
+
currency: z44.string(),
|
|
28534
|
+
billingInterval: z44.enum(["month", "year"]),
|
|
28535
|
+
eligibleCategoryIds: z44.array(z44.string()),
|
|
28536
|
+
eligibleCategoryNames: z44.array(z44.string())
|
|
28537
|
+
});
|
|
28538
|
+
var publicMembershipProductCollectionSchema = z44.object({
|
|
28539
|
+
memberships: z44.array(publicMembershipProductSchema)
|
|
28540
|
+
});
|
|
28541
|
+
|
|
28542
|
+
// ../blocks/src/system/blocks/event-registration.shared.ts
|
|
28543
|
+
import { z as z45 } from "zod";
|
|
28544
|
+
var occurrenceContextSchema = z45.object({
|
|
28545
|
+
id: z45.string(),
|
|
28546
|
+
seriesId: z45.string(),
|
|
28547
|
+
startsAt: z45.string(),
|
|
28548
|
+
endsAt: z45.string(),
|
|
28549
|
+
timeZone: z45.string(),
|
|
28550
|
+
capacityOverride: z45.number().nullable().optional(),
|
|
28551
|
+
overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
|
|
28545
28552
|
}).nullable();
|
|
28546
28553
|
|
|
28547
28554
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28548
|
-
import { z as
|
|
28555
|
+
import { z as z47 } from "zod";
|
|
28549
28556
|
|
|
28550
28557
|
// ../blocks/src/system/constants/events.ts
|
|
28551
28558
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
28552
|
-
var eventCalendarDisplayModeValues = ["combined", "
|
|
28559
|
+
var eventCalendarDisplayModeValues = ["combined", "calendar", "list", "timetable"];
|
|
28560
|
+
var eventCalendarDefaultViewValues = ["month", "week"];
|
|
28553
28561
|
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
28554
28562
|
var eventCalendarListLayoutOptions = [
|
|
28555
28563
|
{ id: "stack", label: "Stack" },
|
|
@@ -28559,6 +28567,9 @@ var eventCalendarListLayoutOptions = [
|
|
|
28559
28567
|
function isEventCalendarDisplayMode(value) {
|
|
28560
28568
|
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
28561
28569
|
}
|
|
28570
|
+
function isEventCalendarDefaultView(value) {
|
|
28571
|
+
return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
|
|
28572
|
+
}
|
|
28562
28573
|
function isEventCalendarListLayout(value) {
|
|
28563
28574
|
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
28564
28575
|
}
|
|
@@ -28699,16 +28710,17 @@ function readAmount(value) {
|
|
|
28699
28710
|
}
|
|
28700
28711
|
|
|
28701
28712
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28702
|
-
import { z as
|
|
28703
|
-
var previewStageSchema =
|
|
28704
|
-
var registrationButtonVariantSchema =
|
|
28705
|
-
var eventButtonVariantSchema =
|
|
28706
|
-
var eventLayoutSchema =
|
|
28707
|
-
var eventCalendarDisplayModeSchema =
|
|
28708
|
-
var
|
|
28709
|
-
var
|
|
28710
|
-
var
|
|
28711
|
-
var
|
|
28713
|
+
import { z as z46 } from "zod";
|
|
28714
|
+
var previewStageSchema = z46.enum(["preview", "published"]);
|
|
28715
|
+
var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
|
|
28716
|
+
var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
|
|
28717
|
+
var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
|
|
28718
|
+
var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
|
|
28719
|
+
var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
|
|
28720
|
+
var columnOptionSchema = z46.enum(["2", "3", "4"]);
|
|
28721
|
+
var weekStartSchema = z46.enum(["sunday", "monday"]);
|
|
28722
|
+
var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
|
|
28723
|
+
var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
|
|
28712
28724
|
|
|
28713
28725
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28714
28726
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -28726,7 +28738,7 @@ function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
|
28726
28738
|
function findPreSelectedEvent(input) {
|
|
28727
28739
|
const occurrenceContext = input.occurrenceContext;
|
|
28728
28740
|
if (!occurrenceContext) {
|
|
28729
|
-
return null;
|
|
28741
|
+
return input.scopedEvents.length === 1 ? input.scopedEvents[0] ?? null : null;
|
|
28730
28742
|
}
|
|
28731
28743
|
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28732
28744
|
startsAt: occurrenceContext.startsAt,
|
|
@@ -28768,68 +28780,72 @@ function toRegistrationEvents(events) {
|
|
|
28768
28780
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28769
28781
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28770
28782
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28771
|
-
var contentEntrySchema =
|
|
28772
|
-
id:
|
|
28773
|
-
slug:
|
|
28774
|
-
contentTypeSlug:
|
|
28783
|
+
var contentEntrySchema = z47.object({
|
|
28784
|
+
id: z47.string(),
|
|
28785
|
+
slug: z47.string(),
|
|
28786
|
+
contentTypeSlug: z47.string()
|
|
28775
28787
|
});
|
|
28776
|
-
var eventRegistrationPublicEventSchema =
|
|
28788
|
+
var eventRegistrationPublicEventSchema = z47.preprocess(
|
|
28777
28789
|
normalizeEventRegistrationEventInput,
|
|
28778
28790
|
publicEventSchema
|
|
28779
28791
|
);
|
|
28780
|
-
var eventRegistrationSourceSchema =
|
|
28781
|
-
siteId:
|
|
28782
|
-
apiBaseUrl:
|
|
28783
|
-
portalToken:
|
|
28784
|
-
previewToken:
|
|
28792
|
+
var eventRegistrationSourceSchema = z47.object({
|
|
28793
|
+
siteId: z47.string().optional(),
|
|
28794
|
+
apiBaseUrl: z47.string().optional(),
|
|
28795
|
+
portalToken: z47.string().nullable().optional(),
|
|
28796
|
+
previewToken: z47.string().nullable().optional(),
|
|
28785
28797
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28786
28798
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28787
|
-
events:
|
|
28788
|
-
className:
|
|
28789
|
-
buttonText:
|
|
28790
|
-
maxTickets:
|
|
28791
|
-
showVenue:
|
|
28792
|
-
showCapacity:
|
|
28793
|
-
successMessage:
|
|
28794
|
-
waitlistMessage:
|
|
28799
|
+
events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28800
|
+
className: z47.string().nullable().optional(),
|
|
28801
|
+
buttonText: z47.string().nullable().optional(),
|
|
28802
|
+
maxTickets: z47.string().nullable().optional(),
|
|
28803
|
+
showVenue: z47.boolean().optional(),
|
|
28804
|
+
showCapacity: z47.boolean().optional(),
|
|
28805
|
+
successMessage: z47.string().optional(),
|
|
28806
|
+
waitlistMessage: z47.string().optional(),
|
|
28795
28807
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28796
|
-
overlayEnabled:
|
|
28797
|
-
spamProtectionEnabled:
|
|
28808
|
+
overlayEnabled: z47.boolean().optional(),
|
|
28809
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
28798
28810
|
stage: previewStageSchema.optional(),
|
|
28799
|
-
supportEmail:
|
|
28800
|
-
|
|
28801
|
-
|
|
28802
|
-
|
|
28803
|
-
|
|
28804
|
-
|
|
28805
|
-
|
|
28806
|
-
|
|
28807
|
-
|
|
28808
|
-
|
|
28809
|
-
|
|
28810
|
-
|
|
28811
|
+
supportEmail: z47.string().optional(),
|
|
28812
|
+
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28813
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28814
|
+
});
|
|
28815
|
+
var eventRegistrationDisplaySchema = z47.object({
|
|
28816
|
+
kind: z47.literal("event-registration"),
|
|
28817
|
+
state: z47.literal("generic-shell"),
|
|
28818
|
+
className: z47.string().nullable(),
|
|
28819
|
+
titleText: z47.string(),
|
|
28820
|
+
bodyText: z47.string(),
|
|
28821
|
+
stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
28822
|
+
summaryButtonText: z47.string()
|
|
28823
|
+
});
|
|
28824
|
+
var eventRegistrationHydrationSchema = z47.object({
|
|
28811
28825
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28812
28826
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28813
|
-
events:
|
|
28814
|
-
maxTickets:
|
|
28815
|
-
showVenue:
|
|
28816
|
-
showCapacity:
|
|
28817
|
-
successMessage:
|
|
28818
|
-
waitlistMessage:
|
|
28827
|
+
events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28828
|
+
maxTickets: z47.string().optional(),
|
|
28829
|
+
showVenue: z47.boolean().optional(),
|
|
28830
|
+
showCapacity: z47.boolean().optional(),
|
|
28831
|
+
successMessage: z47.string().optional(),
|
|
28832
|
+
waitlistMessage: z47.string().optional(),
|
|
28819
28833
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28820
|
-
overlayEnabled:
|
|
28821
|
-
spamProtectionEnabled:
|
|
28822
|
-
supportEmail:
|
|
28834
|
+
overlayEnabled: z47.boolean().optional(),
|
|
28835
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
28836
|
+
supportEmail: z47.string().optional(),
|
|
28837
|
+
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28838
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28823
28839
|
});
|
|
28824
|
-
var eventRegistrationRenderSchema =
|
|
28840
|
+
var eventRegistrationRenderSchema = z47.object({
|
|
28825
28841
|
display: eventRegistrationDisplaySchema,
|
|
28826
28842
|
hydration: eventRegistrationHydrationSchema
|
|
28827
28843
|
});
|
|
28828
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
28829
|
-
siteId:
|
|
28830
|
-
apiBaseUrl:
|
|
28831
|
-
portalToken:
|
|
28832
|
-
previewToken:
|
|
28844
|
+
var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
|
|
28845
|
+
siteId: z47.string().optional(),
|
|
28846
|
+
apiBaseUrl: z47.string().optional(),
|
|
28847
|
+
portalToken: z47.string().nullable().optional(),
|
|
28848
|
+
previewToken: z47.string().nullable().optional(),
|
|
28833
28849
|
stage: previewStageSchema.optional()
|
|
28834
28850
|
}));
|
|
28835
28851
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -28935,7 +28951,9 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
28935
28951
|
buttonVariant: source.buttonVariant,
|
|
28936
28952
|
overlayEnabled: source.overlayEnabled,
|
|
28937
28953
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
28938
|
-
supportEmail: source.supportEmail
|
|
28954
|
+
supportEmail: source.supportEmail,
|
|
28955
|
+
sitePasses: source.sitePasses ?? null,
|
|
28956
|
+
siteMemberships: source.siteMemberships ?? null
|
|
28939
28957
|
}
|
|
28940
28958
|
})
|
|
28941
28959
|
});
|
|
@@ -29117,6 +29135,8 @@ var eventRegistrationManifest = createBlockManifest({
|
|
|
29117
29135
|
},
|
|
29118
29136
|
// Event data from loader
|
|
29119
29137
|
events: { $bind: { from: "data.events" } },
|
|
29138
|
+
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
29139
|
+
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
29120
29140
|
// Stage for preview mode (allows registering for draft events)
|
|
29121
29141
|
stage: {
|
|
29122
29142
|
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
@@ -29135,7 +29155,9 @@ var eventRegistrationBlockDefinition = {
|
|
|
29135
29155
|
manifest: eventRegistrationManifest,
|
|
29136
29156
|
runtime: eventRegistrationBlockRuntime,
|
|
29137
29157
|
dataSchemas: {
|
|
29138
|
-
events:
|
|
29158
|
+
events: publicEventsArraySchema.optional(),
|
|
29159
|
+
sitePasses: publicPassProductCollectionSchema.optional(),
|
|
29160
|
+
siteMemberships: publicMembershipProductCollectionSchema.optional(),
|
|
29139
29161
|
occurrenceContext: occurrenceContextSchema.optional()
|
|
29140
29162
|
},
|
|
29141
29163
|
dataLoaders: {
|
|
@@ -29154,6 +29176,20 @@ var eventRegistrationBlockDefinition = {
|
|
|
29154
29176
|
entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
|
|
29155
29177
|
},
|
|
29156
29178
|
mode: "server"
|
|
29179
|
+
},
|
|
29180
|
+
sitePasses: {
|
|
29181
|
+
endpoint: "listPublicPasses",
|
|
29182
|
+
params: {
|
|
29183
|
+
siteId: { $bind: { from: "$root.siteId" } }
|
|
29184
|
+
},
|
|
29185
|
+
mode: "server"
|
|
29186
|
+
},
|
|
29187
|
+
siteMemberships: {
|
|
29188
|
+
endpoint: "listPublicMemberships",
|
|
29189
|
+
params: {
|
|
29190
|
+
siteId: { $bind: { from: "$root.siteId" } }
|
|
29191
|
+
},
|
|
29192
|
+
mode: "server"
|
|
29157
29193
|
}
|
|
29158
29194
|
}
|
|
29159
29195
|
};
|
|
@@ -29485,35 +29521,7 @@ var courseRegistrationBlockDefinition = {
|
|
|
29485
29521
|
};
|
|
29486
29522
|
|
|
29487
29523
|
// ../blocks/src/system/blocks/event-details.ts
|
|
29488
|
-
import { z as z50 } from "zod";
|
|
29489
|
-
|
|
29490
|
-
// ../blocks/src/system/blocks/shop.shared.ts
|
|
29491
29524
|
import { z as z49 } from "zod";
|
|
29492
|
-
var publicPassProductSchema = z49.object({
|
|
29493
|
-
id: z49.string(),
|
|
29494
|
-
productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
29495
|
-
name: z49.string(),
|
|
29496
|
-
description: z49.string().nullable(),
|
|
29497
|
-
price: z49.number(),
|
|
29498
|
-
currency: z49.string(),
|
|
29499
|
-
creditsTotal: z49.number(),
|
|
29500
|
-
pricePerCredit: z49.number(),
|
|
29501
|
-
validDays: z49.number().nullable(),
|
|
29502
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
29503
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
29504
|
-
});
|
|
29505
|
-
var publicMembershipProductSchema = z49.object({
|
|
29506
|
-
id: z49.string(),
|
|
29507
|
-
name: z49.string(),
|
|
29508
|
-
description: z49.string().nullable(),
|
|
29509
|
-
price: z49.number(),
|
|
29510
|
-
currency: z49.string(),
|
|
29511
|
-
billingInterval: z49.enum(["month", "year"]),
|
|
29512
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
29513
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
29514
|
-
});
|
|
29515
|
-
|
|
29516
|
-
// ../blocks/src/system/blocks/event-details.ts
|
|
29517
29525
|
var eventDetailsManifest = createBlockManifest({
|
|
29518
29526
|
id: "block.event-details",
|
|
29519
29527
|
version: "1.0.0",
|
|
@@ -29645,40 +29653,40 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
29645
29653
|
})
|
|
29646
29654
|
]
|
|
29647
29655
|
});
|
|
29648
|
-
var occurrenceContextSchema2 =
|
|
29649
|
-
id:
|
|
29650
|
-
seriesId:
|
|
29651
|
-
startsAt:
|
|
29652
|
-
endsAt:
|
|
29653
|
-
timeZone:
|
|
29654
|
-
capacityOverride:
|
|
29655
|
-
overrides:
|
|
29656
|
+
var occurrenceContextSchema2 = z49.object({
|
|
29657
|
+
id: z49.string(),
|
|
29658
|
+
seriesId: z49.string(),
|
|
29659
|
+
startsAt: z49.string(),
|
|
29660
|
+
endsAt: z49.string(),
|
|
29661
|
+
timeZone: z49.string(),
|
|
29662
|
+
capacityOverride: z49.number().nullable().optional(),
|
|
29663
|
+
overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
|
|
29656
29664
|
}).nullable();
|
|
29657
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
29658
|
-
id:
|
|
29659
|
-
publicLabel:
|
|
29660
|
-
description:
|
|
29661
|
-
minTicketsRequired:
|
|
29665
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
|
|
29666
|
+
id: z49.string(),
|
|
29667
|
+
publicLabel: z49.string(),
|
|
29668
|
+
description: z49.string().nullable(),
|
|
29669
|
+
minTicketsRequired: z49.number().nullable()
|
|
29662
29670
|
});
|
|
29663
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
29671
|
+
var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
|
|
29664
29672
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29665
|
-
discountType:
|
|
29666
|
-
discountPercent:
|
|
29667
|
-
discountAmountCents:
|
|
29673
|
+
discountType: z49.literal("percent"),
|
|
29674
|
+
discountPercent: z49.number(),
|
|
29675
|
+
discountAmountCents: z49.null()
|
|
29668
29676
|
}),
|
|
29669
29677
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29670
|
-
discountType:
|
|
29671
|
-
discountPercent:
|
|
29672
|
-
discountAmountCents:
|
|
29678
|
+
discountType: z49.literal("fixed"),
|
|
29679
|
+
discountPercent: z49.null(),
|
|
29680
|
+
discountAmountCents: z49.number()
|
|
29673
29681
|
})
|
|
29674
29682
|
]);
|
|
29675
29683
|
var eventDetailsBlockDefinition = {
|
|
29676
29684
|
manifest: eventDetailsManifest,
|
|
29677
29685
|
dataSchemas: {
|
|
29678
|
-
eventDetailsData:
|
|
29686
|
+
eventDetailsData: z49.object({
|
|
29679
29687
|
events: publicEventsArraySchema,
|
|
29680
|
-
sitePasses:
|
|
29681
|
-
siteMemberships:
|
|
29688
|
+
sitePasses: publicPassProductCollectionSchema,
|
|
29689
|
+
siteMemberships: publicMembershipProductCollectionSchema,
|
|
29682
29690
|
autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
|
|
29683
29691
|
}).optional(),
|
|
29684
29692
|
occurrenceContext: occurrenceContextSchema2.optional()
|
|
@@ -30002,7 +30010,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
30002
30010
|
};
|
|
30003
30011
|
|
|
30004
30012
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30005
|
-
import { z as
|
|
30013
|
+
import { z as z51 } from "zod";
|
|
30006
30014
|
|
|
30007
30015
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
30008
30016
|
var COLUMN_CLASSES = {
|
|
@@ -30110,16 +30118,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
30110
30118
|
}
|
|
30111
30119
|
|
|
30112
30120
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
30113
|
-
import { z as
|
|
30121
|
+
import { z as z50 } from "zod";
|
|
30114
30122
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
30115
|
-
var eventPageSizeSchema =
|
|
30116
|
-
|
|
30117
|
-
|
|
30118
|
-
|
|
30119
|
-
|
|
30120
|
-
|
|
30121
|
-
|
|
30122
|
-
|
|
30123
|
+
var eventPageSizeSchema = z50.union([
|
|
30124
|
+
z50.literal(3),
|
|
30125
|
+
z50.literal(6),
|
|
30126
|
+
z50.literal(10),
|
|
30127
|
+
z50.literal(12),
|
|
30128
|
+
z50.literal(20),
|
|
30129
|
+
z50.literal(24),
|
|
30130
|
+
z50.literal(30)
|
|
30123
30131
|
]);
|
|
30124
30132
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
30125
30133
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -30129,15 +30137,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
30129
30137
|
function resolveEventCalendarListPageSize(input) {
|
|
30130
30138
|
return resolveEventPageSize(input.eventsPerPage);
|
|
30131
30139
|
}
|
|
30132
|
-
var eventListPaginationActionSchema =
|
|
30133
|
-
|
|
30134
|
-
kind:
|
|
30135
|
-
label:
|
|
30140
|
+
var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
|
|
30141
|
+
z50.object({
|
|
30142
|
+
kind: z50.literal("loadMore"),
|
|
30143
|
+
label: z50.string()
|
|
30136
30144
|
}),
|
|
30137
|
-
|
|
30138
|
-
kind:
|
|
30139
|
-
label:
|
|
30140
|
-
href:
|
|
30145
|
+
z50.object({
|
|
30146
|
+
kind: z50.literal("seeAllLink"),
|
|
30147
|
+
label: z50.string(),
|
|
30148
|
+
href: z50.string()
|
|
30141
30149
|
})
|
|
30142
30150
|
]);
|
|
30143
30151
|
function resolveEventListPaginationAction(input) {
|
|
@@ -30150,89 +30158,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
30150
30158
|
}
|
|
30151
30159
|
|
|
30152
30160
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30153
|
-
var legacyEventCardVariantSchema =
|
|
30154
|
-
var eventCardVariantInputSchema =
|
|
30161
|
+
var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
|
|
30162
|
+
var eventCardVariantInputSchema = z51.union([
|
|
30155
30163
|
cardVariantRoleSchema,
|
|
30156
30164
|
legacyEventCardVariantSchema
|
|
30157
30165
|
]);
|
|
30158
|
-
var cardOrientationSchema =
|
|
30159
|
-
var eventBlockKindSchema =
|
|
30160
|
-
var eventSurfaceScopeSchema =
|
|
30161
|
-
var eventScheduleScopeSchema2 =
|
|
30162
|
-
var eventListingSourceSchema =
|
|
30163
|
-
events:
|
|
30164
|
-
siteId:
|
|
30165
|
-
apiBaseUrl:
|
|
30166
|
+
var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
|
|
30167
|
+
var eventBlockKindSchema = z51.enum(eventBlockKindValues);
|
|
30168
|
+
var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
|
|
30169
|
+
var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
|
|
30170
|
+
var eventListingSourceSchema = z51.object({
|
|
30171
|
+
events: z51.array(publicEventSchema).nullable().optional(),
|
|
30172
|
+
siteId: z51.string(),
|
|
30173
|
+
apiBaseUrl: z51.string().optional(),
|
|
30166
30174
|
stage: previewStageSchema.optional(),
|
|
30167
30175
|
layout: eventLayoutSchema.optional(),
|
|
30168
30176
|
columns: columnOptionSchema.optional(),
|
|
30169
|
-
eventsPerPage:
|
|
30170
|
-
paginationMode:
|
|
30171
|
-
seeAllUrl:
|
|
30172
|
-
loadMoreText:
|
|
30177
|
+
eventsPerPage: z51.string().optional(),
|
|
30178
|
+
paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30179
|
+
seeAllUrl: z51.string().optional(),
|
|
30180
|
+
loadMoreText: z51.string().optional(),
|
|
30173
30181
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
30174
30182
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30175
|
-
buttonText:
|
|
30176
|
-
showVenue:
|
|
30177
|
-
showMap:
|
|
30178
|
-
showCapacity:
|
|
30179
|
-
emptyMessage:
|
|
30180
|
-
className:
|
|
30181
|
-
showFilters:
|
|
30183
|
+
buttonText: z51.string().optional(),
|
|
30184
|
+
showVenue: z51.boolean().optional(),
|
|
30185
|
+
showMap: z51.boolean().optional(),
|
|
30186
|
+
showCapacity: z51.boolean().optional(),
|
|
30187
|
+
emptyMessage: z51.string().optional(),
|
|
30188
|
+
className: z51.string().optional(),
|
|
30189
|
+
showFilters: z51.boolean().nullable().optional(),
|
|
30182
30190
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30183
|
-
showVenueFilter:
|
|
30184
|
-
showStaffFilter:
|
|
30191
|
+
showVenueFilter: z51.boolean().nullable().optional(),
|
|
30192
|
+
showStaffFilter: z51.boolean().nullable().optional(),
|
|
30185
30193
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
30186
30194
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
30187
|
-
filterEventPresets:
|
|
30195
|
+
filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
|
|
30188
30196
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
30189
|
-
filterCategoryIds:
|
|
30190
|
-
filterStaffMemberId:
|
|
30191
|
-
filterVenueId:
|
|
30197
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
30198
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
30199
|
+
filterVenueId: z51.string().nullable().optional()
|
|
30192
30200
|
});
|
|
30193
|
-
var eventListingDisplaySchema =
|
|
30194
|
-
kind:
|
|
30195
|
-
state:
|
|
30201
|
+
var eventListingDisplaySchema = z51.object({
|
|
30202
|
+
kind: z51.literal("event-listing"),
|
|
30203
|
+
state: z51.enum(["loading", "empty", "ready"]),
|
|
30196
30204
|
listLayout: eventLayoutSchema,
|
|
30197
|
-
className:
|
|
30198
|
-
emptyMessage:
|
|
30199
|
-
loadingMessage:
|
|
30200
|
-
containerClass:
|
|
30205
|
+
className: z51.string().nullable(),
|
|
30206
|
+
emptyMessage: z51.string(),
|
|
30207
|
+
loadingMessage: z51.string(),
|
|
30208
|
+
containerClass: z51.string(),
|
|
30201
30209
|
cardVariant: cardVariantRoleSchema,
|
|
30202
30210
|
buttonVariant: eventButtonVariantSchema,
|
|
30203
|
-
buttonText:
|
|
30204
|
-
showVenue:
|
|
30205
|
-
showMap:
|
|
30206
|
-
showCapacity:
|
|
30211
|
+
buttonText: z51.string(),
|
|
30212
|
+
showVenue: z51.boolean(),
|
|
30213
|
+
showMap: z51.boolean(),
|
|
30214
|
+
showCapacity: z51.boolean(),
|
|
30207
30215
|
orientation: cardOrientationSchema,
|
|
30208
|
-
events:
|
|
30216
|
+
events: z51.array(publicEventSchema)
|
|
30209
30217
|
});
|
|
30210
|
-
var eventListingHydrationSchema =
|
|
30211
|
-
siteId:
|
|
30218
|
+
var eventListingHydrationSchema = z51.object({
|
|
30219
|
+
siteId: z51.string(),
|
|
30212
30220
|
stage: previewStageSchema.optional(),
|
|
30213
30221
|
eventsPerPage: eventPageSizeSchema,
|
|
30214
30222
|
paginationAction: eventListPaginationActionSchema,
|
|
30215
|
-
showFilters:
|
|
30223
|
+
showFilters: z51.boolean(),
|
|
30216
30224
|
showCategoryFilter: filterAutoShowSchema,
|
|
30217
|
-
showVenueFilter:
|
|
30218
|
-
showStaffFilter:
|
|
30225
|
+
showVenueFilter: z51.boolean(),
|
|
30226
|
+
showStaffFilter: z51.boolean(),
|
|
30219
30227
|
eventKind: eventBlockKindSchema,
|
|
30220
30228
|
eventSurface: eventSurfaceScopeSchema,
|
|
30221
|
-
filterEventPresets:
|
|
30229
|
+
filterEventPresets: z51.string().nullable(),
|
|
30222
30230
|
scheduleScope: eventScheduleScopeSchema2,
|
|
30223
|
-
filterCategoryIds:
|
|
30224
|
-
filterStaffMemberId:
|
|
30225
|
-
filterVenueId:
|
|
30226
|
-
fetchInitialEventsOnMount:
|
|
30231
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
30232
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
30233
|
+
filterVenueId: z51.string().nullable().optional(),
|
|
30234
|
+
fetchInitialEventsOnMount: z51.boolean()
|
|
30227
30235
|
});
|
|
30228
|
-
var eventListingRenderSchema =
|
|
30236
|
+
var eventListingRenderSchema = z51.object({
|
|
30229
30237
|
display: eventListingDisplaySchema,
|
|
30230
30238
|
hydration: eventListingHydrationSchema
|
|
30231
30239
|
});
|
|
30232
30240
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
30233
|
-
|
|
30234
|
-
siteId:
|
|
30235
|
-
apiBaseUrl:
|
|
30241
|
+
z51.object({
|
|
30242
|
+
siteId: z51.string(),
|
|
30243
|
+
apiBaseUrl: z51.string().optional(),
|
|
30236
30244
|
stage: previewStageSchema.optional()
|
|
30237
30245
|
})
|
|
30238
30246
|
);
|
|
@@ -30599,15 +30607,15 @@ var eventListingBlockDefinition = {
|
|
|
30599
30607
|
};
|
|
30600
30608
|
|
|
30601
30609
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30602
|
-
import { z as
|
|
30603
|
-
var eventBlockKindSchema2 =
|
|
30604
|
-
var eventSurfaceScopeSchema2 =
|
|
30605
|
-
var eventScheduleScopeSchema3 =
|
|
30606
|
-
var eventCalendarSourceSchema =
|
|
30610
|
+
import { z as z52 } from "zod";
|
|
30611
|
+
var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
|
|
30612
|
+
var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
|
|
30613
|
+
var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
|
|
30614
|
+
var eventCalendarSourceSchema = z52.object(
|
|
30607
30615
|
{
|
|
30608
|
-
events:
|
|
30609
|
-
siteId:
|
|
30610
|
-
apiBaseUrl:
|
|
30616
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
30617
|
+
siteId: z52.string(),
|
|
30618
|
+
apiBaseUrl: z52.string().optional(),
|
|
30611
30619
|
stage: previewStageSchema.optional(),
|
|
30612
30620
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
30613
30621
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -30615,78 +30623,80 @@ var eventCalendarSourceSchema = z53.object(
|
|
|
30615
30623
|
listColumns: columnOptionSchema.optional(),
|
|
30616
30624
|
layout: eventLayoutSchema.optional(),
|
|
30617
30625
|
columns: columnOptionSchema.optional(),
|
|
30618
|
-
eventsPerPage:
|
|
30619
|
-
paginationMode:
|
|
30620
|
-
seeAllUrl:
|
|
30621
|
-
loadMoreText:
|
|
30626
|
+
eventsPerPage: z52.string().optional(),
|
|
30627
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30628
|
+
seeAllUrl: z52.string().optional(),
|
|
30629
|
+
loadMoreText: z52.string().optional(),
|
|
30622
30630
|
startOfWeek: weekStartSchema.optional(),
|
|
30623
30631
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
30624
|
-
|
|
30632
|
+
defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
|
|
30633
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
30625
30634
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30626
|
-
showVenueFilter:
|
|
30627
|
-
showStaffFilter:
|
|
30635
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
30636
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
30628
30637
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
30629
30638
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
30630
|
-
filterEventPresets:
|
|
30639
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30631
30640
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
30632
|
-
filterCategoryIds:
|
|
30633
|
-
filterStaffMemberId:
|
|
30634
|
-
filterVenueId:
|
|
30641
|
+
filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30642
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30643
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
30635
30644
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30636
|
-
buttonText:
|
|
30637
|
-
showVenue:
|
|
30638
|
-
showMap:
|
|
30639
|
-
showCapacity:
|
|
30640
|
-
emptyMessage:
|
|
30641
|
-
className:
|
|
30645
|
+
buttonText: z52.string().optional(),
|
|
30646
|
+
showVenue: z52.boolean().nullable().optional(),
|
|
30647
|
+
showMap: z52.boolean().nullable().optional(),
|
|
30648
|
+
showCapacity: z52.boolean().nullable().optional(),
|
|
30649
|
+
emptyMessage: z52.string().optional(),
|
|
30650
|
+
className: z52.string().optional()
|
|
30642
30651
|
}
|
|
30643
30652
|
);
|
|
30644
|
-
var eventCalendarDisplaySchema =
|
|
30645
|
-
kind:
|
|
30653
|
+
var eventCalendarDisplaySchema = z52.object({
|
|
30654
|
+
kind: z52.literal("event-calendar"),
|
|
30646
30655
|
displayMode: eventCalendarDisplayModeSchema,
|
|
30647
|
-
className:
|
|
30648
|
-
events:
|
|
30656
|
+
className: z52.string().nullable(),
|
|
30657
|
+
events: z52.array(publicEventSchema),
|
|
30649
30658
|
listLayout: eventLayoutSchema,
|
|
30650
30659
|
listColumns: columnOptionSchema,
|
|
30651
30660
|
eventsPerPage: eventPageSizeSchema,
|
|
30652
30661
|
paginationAction: eventListPaginationActionSchema,
|
|
30653
30662
|
startOfWeek: weekStartSchema,
|
|
30654
30663
|
calendarTabViews: calendarTabViewsSchema,
|
|
30655
|
-
|
|
30664
|
+
defaultCalendarView: eventCalendarDefaultViewSchema,
|
|
30665
|
+
showFilters: z52.boolean(),
|
|
30656
30666
|
showCategoryFilter: filterAutoShowSchema,
|
|
30657
|
-
showVenueFilter:
|
|
30658
|
-
showStaffFilter:
|
|
30667
|
+
showVenueFilter: z52.boolean(),
|
|
30668
|
+
showStaffFilter: z52.boolean(),
|
|
30659
30669
|
eventKind: eventBlockKindSchema2,
|
|
30660
30670
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30661
|
-
filterEventPresets:
|
|
30671
|
+
filterEventPresets: z52.string().nullable(),
|
|
30662
30672
|
scheduleScope: eventScheduleScopeSchema3,
|
|
30663
|
-
filterCategoryIds:
|
|
30664
|
-
filterStaffMemberId:
|
|
30665
|
-
filterVenueId:
|
|
30673
|
+
filterCategoryIds: z52.string().nullable(),
|
|
30674
|
+
filterStaffMemberId: z52.string().nullable(),
|
|
30675
|
+
filterVenueId: z52.string().nullable(),
|
|
30666
30676
|
buttonVariant: eventButtonVariantSchema,
|
|
30667
|
-
buttonText:
|
|
30668
|
-
showVenue:
|
|
30669
|
-
showMap:
|
|
30670
|
-
showCapacity:
|
|
30671
|
-
emptyMessage:
|
|
30672
|
-
});
|
|
30673
|
-
var eventCalendarHydrationSchema =
|
|
30674
|
-
siteId:
|
|
30677
|
+
buttonText: z52.string(),
|
|
30678
|
+
showVenue: z52.boolean(),
|
|
30679
|
+
showMap: z52.boolean(),
|
|
30680
|
+
showCapacity: z52.boolean(),
|
|
30681
|
+
emptyMessage: z52.string()
|
|
30682
|
+
});
|
|
30683
|
+
var eventCalendarHydrationSchema = z52.object({
|
|
30684
|
+
siteId: z52.string(),
|
|
30675
30685
|
stage: previewStageSchema.optional(),
|
|
30676
|
-
prefetchedEvents:
|
|
30686
|
+
prefetchedEvents: z52.boolean(),
|
|
30677
30687
|
eventKind: eventBlockKindSchema2,
|
|
30678
30688
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30679
|
-
filterEventPresets:
|
|
30689
|
+
filterEventPresets: z52.string().nullable(),
|
|
30680
30690
|
scheduleScope: eventScheduleScopeSchema3
|
|
30681
30691
|
});
|
|
30682
|
-
var eventCalendarRenderSchema =
|
|
30692
|
+
var eventCalendarRenderSchema = z52.object({
|
|
30683
30693
|
display: eventCalendarDisplaySchema,
|
|
30684
30694
|
hydration: eventCalendarHydrationSchema
|
|
30685
30695
|
});
|
|
30686
30696
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
30687
|
-
|
|
30688
|
-
siteId:
|
|
30689
|
-
apiBaseUrl:
|
|
30697
|
+
z52.object({
|
|
30698
|
+
siteId: z52.string(),
|
|
30699
|
+
apiBaseUrl: z52.string().optional(),
|
|
30690
30700
|
stage: previewStageSchema.optional()
|
|
30691
30701
|
})
|
|
30692
30702
|
);
|
|
@@ -30716,6 +30726,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
30716
30726
|
}),
|
|
30717
30727
|
startOfWeek: source.startOfWeek ?? "monday",
|
|
30718
30728
|
calendarTabViews: source.calendarTabViews ?? "both",
|
|
30729
|
+
defaultCalendarView: source.defaultCalendarView ?? "month",
|
|
30719
30730
|
showFilters: source.showFilters ?? true,
|
|
30720
30731
|
showCategoryFilter: source.showCategoryFilter ?? "auto",
|
|
30721
30732
|
showVenueFilter: source.showVenueFilter ?? false,
|
|
@@ -30778,6 +30789,9 @@ function normalizeEventCalendarContent(content) {
|
|
|
30778
30789
|
...variant ? { variant } : {},
|
|
30779
30790
|
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
30780
30791
|
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
30792
|
+
defaultCalendarView: normalizeEventCalendarDefaultView(
|
|
30793
|
+
record.defaultCalendarView
|
|
30794
|
+
),
|
|
30781
30795
|
kind,
|
|
30782
30796
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
30783
30797
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -30795,6 +30809,9 @@ function normalizeEventCalendarDisplayMode(value) {
|
|
|
30795
30809
|
function normalizeEventCalendarListLayout(value) {
|
|
30796
30810
|
return isEventCalendarListLayout(value) ? value : void 0;
|
|
30797
30811
|
}
|
|
30812
|
+
function normalizeEventCalendarDefaultView(value) {
|
|
30813
|
+
return isEventCalendarDefaultView(value) ? value : void 0;
|
|
30814
|
+
}
|
|
30798
30815
|
var eventCalendarLayout = [
|
|
30799
30816
|
styledSection({
|
|
30800
30817
|
children: sectionContainer(
|
|
@@ -30854,6 +30871,9 @@ var eventCalendarLayout = [
|
|
|
30854
30871
|
calendarTabViews: {
|
|
30855
30872
|
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
30856
30873
|
},
|
|
30874
|
+
defaultCalendarView: {
|
|
30875
|
+
$bind: { from: "content.defaultCalendarView", fallback: "month" }
|
|
30876
|
+
},
|
|
30857
30877
|
// Filtering options
|
|
30858
30878
|
showFilters: {
|
|
30859
30879
|
$bind: { from: "content.showFilters", fallback: true }
|
|
@@ -30920,8 +30940,7 @@ var eventCalendarAdditionalFields = [
|
|
|
30920
30940
|
defaultValue: "combined",
|
|
30921
30941
|
options: [
|
|
30922
30942
|
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
30923
|
-
{ value: "
|
|
30924
|
-
{ value: "week", label: "Week agenda" },
|
|
30943
|
+
{ value: "calendar", label: "Calendar" },
|
|
30925
30944
|
{ value: "timetable", label: "Timetable" },
|
|
30926
30945
|
{ value: "list", label: "List" }
|
|
30927
30946
|
],
|
|
@@ -30960,7 +30979,12 @@ var eventCalendarAdditionalFields = [
|
|
|
30960
30979
|
],
|
|
30961
30980
|
ui: {
|
|
30962
30981
|
intent: "display",
|
|
30963
|
-
visibleWhen: {
|
|
30982
|
+
visibleWhen: {
|
|
30983
|
+
allOf: [
|
|
30984
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
30985
|
+
{ field: "listLayout", equals: "grid" }
|
|
30986
|
+
]
|
|
30987
|
+
}
|
|
30964
30988
|
}
|
|
30965
30989
|
},
|
|
30966
30990
|
{
|
|
@@ -31008,7 +31032,12 @@ var eventCalendarAdditionalFields = [
|
|
|
31008
31032
|
required: false,
|
|
31009
31033
|
ui: {
|
|
31010
31034
|
intent: "display",
|
|
31011
|
-
visibleWhen: {
|
|
31035
|
+
visibleWhen: {
|
|
31036
|
+
allOf: [
|
|
31037
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
31038
|
+
{ field: "paginationMode", equals: "seeAllLink" }
|
|
31039
|
+
]
|
|
31040
|
+
}
|
|
31012
31041
|
}
|
|
31013
31042
|
},
|
|
31014
31043
|
{
|
|
@@ -31041,7 +31070,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31041
31070
|
intent: "display",
|
|
31042
31071
|
visibleWhen: {
|
|
31043
31072
|
field: "variant",
|
|
31044
|
-
oneOf: ["combined", "
|
|
31073
|
+
oneOf: ["combined", "calendar", "timetable"]
|
|
31045
31074
|
}
|
|
31046
31075
|
}
|
|
31047
31076
|
},
|
|
@@ -31064,6 +31093,33 @@ var eventCalendarAdditionalFields = [
|
|
|
31064
31093
|
visibleWhen: { field: "variant", equals: "combined" }
|
|
31065
31094
|
}
|
|
31066
31095
|
},
|
|
31096
|
+
{
|
|
31097
|
+
id: "defaultCalendarView",
|
|
31098
|
+
type: "select",
|
|
31099
|
+
label: "Calendar view",
|
|
31100
|
+
description: "Choose the standalone calendar view, or the first view in combined mode",
|
|
31101
|
+
required: false,
|
|
31102
|
+
multiple: false,
|
|
31103
|
+
defaultValue: "month",
|
|
31104
|
+
options: [
|
|
31105
|
+
{ value: "month", label: "Month" },
|
|
31106
|
+
{ value: "week", label: "Week" }
|
|
31107
|
+
],
|
|
31108
|
+
ui: {
|
|
31109
|
+
intent: "display",
|
|
31110
|
+
visibleWhen: {
|
|
31111
|
+
anyOf: [
|
|
31112
|
+
{ field: "variant", equals: "calendar" },
|
|
31113
|
+
{
|
|
31114
|
+
allOf: [
|
|
31115
|
+
{ field: "variant", equals: "combined" },
|
|
31116
|
+
{ field: "calendarTabViews", equals: "both" }
|
|
31117
|
+
]
|
|
31118
|
+
}
|
|
31119
|
+
]
|
|
31120
|
+
}
|
|
31121
|
+
}
|
|
31122
|
+
},
|
|
31067
31123
|
// Filtering options
|
|
31068
31124
|
{
|
|
31069
31125
|
id: "kind",
|
|
@@ -31091,7 +31147,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31091
31147
|
intent: "display",
|
|
31092
31148
|
visibleWhen: {
|
|
31093
31149
|
field: "variant",
|
|
31094
|
-
oneOf: ["combined", "list", "timetable"]
|
|
31150
|
+
oneOf: ["combined", "calendar", "list", "timetable"]
|
|
31095
31151
|
}
|
|
31096
31152
|
}
|
|
31097
31153
|
},
|
|
@@ -31111,8 +31167,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31111
31167
|
ui: {
|
|
31112
31168
|
intent: "display",
|
|
31113
31169
|
visibleWhen: {
|
|
31114
|
-
|
|
31115
|
-
|
|
31170
|
+
allOf: [
|
|
31171
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31172
|
+
{ field: "showFilters", equals: true }
|
|
31173
|
+
]
|
|
31116
31174
|
}
|
|
31117
31175
|
}
|
|
31118
31176
|
},
|
|
@@ -31126,8 +31184,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31126
31184
|
ui: {
|
|
31127
31185
|
intent: "display",
|
|
31128
31186
|
visibleWhen: {
|
|
31129
|
-
|
|
31130
|
-
|
|
31187
|
+
allOf: [
|
|
31188
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31189
|
+
{ field: "showFilters", equals: true }
|
|
31190
|
+
]
|
|
31131
31191
|
}
|
|
31132
31192
|
}
|
|
31133
31193
|
},
|
|
@@ -31141,8 +31201,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31141
31201
|
ui: {
|
|
31142
31202
|
intent: "display",
|
|
31143
31203
|
visibleWhen: {
|
|
31144
|
-
|
|
31145
|
-
|
|
31204
|
+
allOf: [
|
|
31205
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31206
|
+
{ field: "showFilters", equals: true }
|
|
31207
|
+
]
|
|
31146
31208
|
}
|
|
31147
31209
|
}
|
|
31148
31210
|
},
|
|
@@ -31156,8 +31218,15 @@ var eventCalendarAdditionalFields = [
|
|
|
31156
31218
|
ui: {
|
|
31157
31219
|
intent: "display",
|
|
31158
31220
|
visibleWhen: {
|
|
31159
|
-
|
|
31160
|
-
|
|
31221
|
+
anyOf: [
|
|
31222
|
+
{ field: "variant", oneOf: ["combined", "list", "timetable"] },
|
|
31223
|
+
{
|
|
31224
|
+
allOf: [
|
|
31225
|
+
{ field: "variant", equals: "calendar" },
|
|
31226
|
+
{ field: "defaultCalendarView", equals: "week" }
|
|
31227
|
+
]
|
|
31228
|
+
}
|
|
31229
|
+
]
|
|
31161
31230
|
}
|
|
31162
31231
|
}
|
|
31163
31232
|
},
|
|
@@ -31273,8 +31342,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31273
31342
|
];
|
|
31274
31343
|
var eventCalendarVariants = {
|
|
31275
31344
|
combined: eventCalendarLayout[0],
|
|
31276
|
-
|
|
31277
|
-
week: eventCalendarLayout[0],
|
|
31345
|
+
calendar: eventCalendarLayout[0],
|
|
31278
31346
|
timetable: eventCalendarLayout[0],
|
|
31279
31347
|
list: eventCalendarLayout[0]
|
|
31280
31348
|
};
|
|
@@ -31286,8 +31354,7 @@ var eventCalendarDerivedFields = [
|
|
|
31286
31354
|
multiple: false,
|
|
31287
31355
|
options: [
|
|
31288
31356
|
{ value: "combined" },
|
|
31289
|
-
{ value: "
|
|
31290
|
-
{ value: "week" },
|
|
31357
|
+
{ value: "calendar" },
|
|
31291
31358
|
{ value: "timetable" },
|
|
31292
31359
|
{ value: "list" }
|
|
31293
31360
|
]
|
|
@@ -31300,6 +31367,13 @@ var eventCalendarDerivedFields = [
|
|
|
31300
31367
|
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
31301
31368
|
value: option.id
|
|
31302
31369
|
}))
|
|
31370
|
+
},
|
|
31371
|
+
{
|
|
31372
|
+
id: "defaultCalendarView",
|
|
31373
|
+
type: "select",
|
|
31374
|
+
required: false,
|
|
31375
|
+
multiple: false,
|
|
31376
|
+
options: [{ value: "month" }, { value: "week" }]
|
|
31303
31377
|
}
|
|
31304
31378
|
];
|
|
31305
31379
|
var eventCalendarContentShape = {
|
|
@@ -31348,8 +31422,7 @@ var eventCalendarConfig = {
|
|
|
31348
31422
|
defaultVariant: "combined",
|
|
31349
31423
|
variantOptions: {
|
|
31350
31424
|
combined: { label: "Combined" },
|
|
31351
|
-
|
|
31352
|
-
week: { label: "Week" },
|
|
31425
|
+
calendar: { label: "Calendar" },
|
|
31353
31426
|
timetable: { label: "Timetable" },
|
|
31354
31427
|
list: { label: "List" }
|
|
31355
31428
|
}
|
|
@@ -31395,7 +31468,7 @@ var eventCalendarBlockDefinition = {
|
|
|
31395
31468
|
};
|
|
31396
31469
|
|
|
31397
31470
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31398
|
-
import { z as
|
|
31471
|
+
import { z as z53 } from "zod";
|
|
31399
31472
|
|
|
31400
31473
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
31401
31474
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -31487,13 +31560,13 @@ function isRecord5(value) {
|
|
|
31487
31560
|
}
|
|
31488
31561
|
|
|
31489
31562
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31490
|
-
var publicRouteCandidatesSchema =
|
|
31491
|
-
routes:
|
|
31492
|
-
entityId:
|
|
31493
|
-
path:
|
|
31494
|
-
title:
|
|
31495
|
-
kind:
|
|
31496
|
-
contentTypeKey:
|
|
31563
|
+
var publicRouteCandidatesSchema = z53.object({
|
|
31564
|
+
routes: z53.array(z53.object({
|
|
31565
|
+
entityId: z53.string(),
|
|
31566
|
+
path: z53.string(),
|
|
31567
|
+
title: z53.string(),
|
|
31568
|
+
kind: z53.enum(["page", "content"]),
|
|
31569
|
+
contentTypeKey: z53.string().nullable().optional()
|
|
31497
31570
|
}))
|
|
31498
31571
|
});
|
|
31499
31572
|
var groupOverrideFields = [
|
|
@@ -31891,7 +31964,7 @@ function isRecord6(value) {
|
|
|
31891
31964
|
}
|
|
31892
31965
|
|
|
31893
31966
|
// ../blocks/src/system/blocks/embed.ts
|
|
31894
|
-
import { z as
|
|
31967
|
+
import { z as z54 } from "zod";
|
|
31895
31968
|
var embedFields = [
|
|
31896
31969
|
// Section heading
|
|
31897
31970
|
parseFieldDefinition({
|
|
@@ -32122,18 +32195,18 @@ var embedManifest = createBlockManifest({
|
|
|
32122
32195
|
spacing: "lg"
|
|
32123
32196
|
}
|
|
32124
32197
|
});
|
|
32125
|
-
var embedEntrySchema =
|
|
32126
|
-
id:
|
|
32127
|
-
identifier:
|
|
32128
|
-
title:
|
|
32129
|
-
slug:
|
|
32130
|
-
content:
|
|
32131
|
-
publishedAt:
|
|
32198
|
+
var embedEntrySchema = z54.object({
|
|
32199
|
+
id: z54.string(),
|
|
32200
|
+
identifier: z54.string(),
|
|
32201
|
+
title: z54.string(),
|
|
32202
|
+
slug: z54.string().nullable().optional(),
|
|
32203
|
+
content: z54.record(z54.string(), z54.unknown()).optional(),
|
|
32204
|
+
publishedAt: z54.string().nullable().optional()
|
|
32132
32205
|
});
|
|
32133
32206
|
var embedBlockDefinition = {
|
|
32134
32207
|
manifest: embedManifest,
|
|
32135
32208
|
dataSchemas: {
|
|
32136
|
-
entries:
|
|
32209
|
+
entries: z54.array(embedEntrySchema).optional()
|
|
32137
32210
|
},
|
|
32138
32211
|
dataLoaders: {
|
|
32139
32212
|
entries: {
|
|
@@ -33316,53 +33389,50 @@ var fileDownloadBlockDefinition = {
|
|
|
33316
33389
|
manifest: fileDownloadManifest
|
|
33317
33390
|
};
|
|
33318
33391
|
|
|
33319
|
-
// ../blocks/src/system/blocks/shop.ts
|
|
33320
|
-
import { z as z59 } from "zod";
|
|
33321
|
-
|
|
33322
33392
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33323
|
-
import { z as
|
|
33393
|
+
import { z as z57 } from "zod";
|
|
33324
33394
|
|
|
33325
33395
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
33326
|
-
import { z as
|
|
33327
|
-
var publicProductVariantSchema =
|
|
33328
|
-
id:
|
|
33329
|
-
title:
|
|
33330
|
-
sku:
|
|
33331
|
-
priceCents:
|
|
33332
|
-
stockQuantity:
|
|
33333
|
-
soldOut:
|
|
33334
|
-
});
|
|
33335
|
-
var publicProductSchema =
|
|
33336
|
-
id:
|
|
33337
|
-
contentEntryId:
|
|
33338
|
-
title:
|
|
33339
|
-
slug:
|
|
33340
|
-
path:
|
|
33341
|
-
status:
|
|
33342
|
-
priceCents:
|
|
33343
|
-
currency:
|
|
33344
|
-
productType:
|
|
33345
|
-
requiresShipping:
|
|
33346
|
-
hasVariants:
|
|
33347
|
-
trackInventory:
|
|
33348
|
-
soldOut:
|
|
33349
|
-
category:
|
|
33350
|
-
id:
|
|
33351
|
-
name:
|
|
33352
|
-
slug:
|
|
33396
|
+
import { z as z55 } from "zod";
|
|
33397
|
+
var publicProductVariantSchema = z55.object({
|
|
33398
|
+
id: z55.string(),
|
|
33399
|
+
title: z55.string(),
|
|
33400
|
+
sku: z55.string().nullable(),
|
|
33401
|
+
priceCents: z55.number(),
|
|
33402
|
+
stockQuantity: z55.number().nullable(),
|
|
33403
|
+
soldOut: z55.boolean()
|
|
33404
|
+
});
|
|
33405
|
+
var publicProductSchema = z55.object({
|
|
33406
|
+
id: z55.string(),
|
|
33407
|
+
contentEntryId: z55.string().nullable(),
|
|
33408
|
+
title: z55.string(),
|
|
33409
|
+
slug: z55.string(),
|
|
33410
|
+
path: z55.string().nullable(),
|
|
33411
|
+
status: z55.enum(["draft", "active"]),
|
|
33412
|
+
priceCents: z55.number(),
|
|
33413
|
+
currency: z55.string(),
|
|
33414
|
+
productType: z55.enum(["physical", "digital"]),
|
|
33415
|
+
requiresShipping: z55.boolean(),
|
|
33416
|
+
hasVariants: z55.boolean(),
|
|
33417
|
+
trackInventory: z55.boolean(),
|
|
33418
|
+
soldOut: z55.boolean(),
|
|
33419
|
+
category: z55.object({
|
|
33420
|
+
id: z55.string(),
|
|
33421
|
+
name: z55.string(),
|
|
33422
|
+
slug: z55.string()
|
|
33353
33423
|
}).nullable(),
|
|
33354
|
-
summary:
|
|
33355
|
-
body:
|
|
33356
|
-
gallery:
|
|
33357
|
-
|
|
33358
|
-
url:
|
|
33359
|
-
alt:
|
|
33424
|
+
summary: z55.string().nullable(),
|
|
33425
|
+
body: z55.unknown().nullable(),
|
|
33426
|
+
gallery: z55.array(
|
|
33427
|
+
z55.object({
|
|
33428
|
+
url: z55.string(),
|
|
33429
|
+
alt: z55.string().nullable()
|
|
33360
33430
|
})
|
|
33361
33431
|
),
|
|
33362
|
-
variants:
|
|
33432
|
+
variants: z55.array(publicProductVariantSchema)
|
|
33363
33433
|
});
|
|
33364
|
-
var publicProductsResponseSchema =
|
|
33365
|
-
products:
|
|
33434
|
+
var publicProductsResponseSchema = z55.object({
|
|
33435
|
+
products: z55.array(publicProductSchema)
|
|
33366
33436
|
});
|
|
33367
33437
|
|
|
33368
33438
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -33426,27 +33496,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
33426
33496
|
}
|
|
33427
33497
|
|
|
33428
33498
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
33429
|
-
import { z as
|
|
33430
|
-
var storedProductCartItemSchema =
|
|
33431
|
-
kind:
|
|
33432
|
-
productId:
|
|
33433
|
-
productCategoryId:
|
|
33434
|
-
variantId:
|
|
33435
|
-
title:
|
|
33436
|
-
variantTitle:
|
|
33437
|
-
quantity:
|
|
33438
|
-
unitPriceCents:
|
|
33439
|
-
currency:
|
|
33440
|
-
imageUrl:
|
|
33441
|
-
soldOut:
|
|
33442
|
-
});
|
|
33443
|
-
var storedPassCartItemSchema =
|
|
33444
|
-
kind:
|
|
33445
|
-
passId:
|
|
33446
|
-
title:
|
|
33447
|
-
quantity:
|
|
33448
|
-
unitPriceCents:
|
|
33449
|
-
currency:
|
|
33499
|
+
import { z as z56 } from "zod";
|
|
33500
|
+
var storedProductCartItemSchema = z56.object({
|
|
33501
|
+
kind: z56.literal("product"),
|
|
33502
|
+
productId: z56.string().min(1),
|
|
33503
|
+
productCategoryId: z56.string().min(1).optional().nullable(),
|
|
33504
|
+
variantId: z56.string().min(1).optional().nullable(),
|
|
33505
|
+
title: z56.string().min(1),
|
|
33506
|
+
variantTitle: z56.string().optional().nullable(),
|
|
33507
|
+
quantity: z56.number().finite(),
|
|
33508
|
+
unitPriceCents: z56.number().finite(),
|
|
33509
|
+
currency: z56.string().min(1),
|
|
33510
|
+
imageUrl: z56.string().optional().nullable(),
|
|
33511
|
+
soldOut: z56.boolean().optional()
|
|
33512
|
+
});
|
|
33513
|
+
var storedPassCartItemSchema = z56.object({
|
|
33514
|
+
kind: z56.literal("pass"),
|
|
33515
|
+
passId: z56.string().min(1),
|
|
33516
|
+
title: z56.string().min(1),
|
|
33517
|
+
quantity: z56.number().finite().optional(),
|
|
33518
|
+
unitPriceCents: z56.number().finite(),
|
|
33519
|
+
currency: z56.string().min(1)
|
|
33450
33520
|
});
|
|
33451
33521
|
function deriveCommerceCheckoutState(state) {
|
|
33452
33522
|
if (state.items.length === 0) {
|
|
@@ -33680,214 +33750,214 @@ function formatValidity(days) {
|
|
|
33680
33750
|
}
|
|
33681
33751
|
|
|
33682
33752
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33683
|
-
var shopModeSchema =
|
|
33684
|
-
var contentEntrySchema3 =
|
|
33685
|
-
id:
|
|
33686
|
-
slug:
|
|
33753
|
+
var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
33754
|
+
var contentEntrySchema3 = z57.object({
|
|
33755
|
+
id: z57.string().nullable().optional(),
|
|
33756
|
+
slug: z57.string().nullable().optional()
|
|
33687
33757
|
}).nullable();
|
|
33688
|
-
var shopSourceSchema =
|
|
33689
|
-
className:
|
|
33758
|
+
var shopSourceSchema = z57.object({
|
|
33759
|
+
className: z57.string().nullable().optional(),
|
|
33690
33760
|
mode: shopModeSchema.optional(),
|
|
33691
|
-
heading:
|
|
33692
|
-
productSlug:
|
|
33693
|
-
showPasses:
|
|
33694
|
-
showMemberships:
|
|
33695
|
-
layout:
|
|
33696
|
-
columns:
|
|
33697
|
-
showDescriptions:
|
|
33698
|
-
showSummary:
|
|
33699
|
-
showBody:
|
|
33700
|
-
showPrices:
|
|
33701
|
-
showValidityPeriod:
|
|
33702
|
-
showPricePerCredit:
|
|
33703
|
-
passesHeading:
|
|
33704
|
-
membershipsHeading:
|
|
33705
|
-
buyButtonText:
|
|
33706
|
-
addButtonText:
|
|
33707
|
-
passPurchaseMode:
|
|
33708
|
-
subscribeButtonText:
|
|
33709
|
-
emptyStateText:
|
|
33710
|
-
checkoutButtonText:
|
|
33711
|
-
clearButtonText:
|
|
33712
|
-
submitButtonText:
|
|
33761
|
+
heading: z57.string().nullable().optional(),
|
|
33762
|
+
productSlug: z57.string().nullable().optional(),
|
|
33763
|
+
showPasses: z57.boolean().optional(),
|
|
33764
|
+
showMemberships: z57.boolean().optional(),
|
|
33765
|
+
layout: z57.enum(["grid", "list"]).optional(),
|
|
33766
|
+
columns: z57.string().optional(),
|
|
33767
|
+
showDescriptions: z57.boolean().optional(),
|
|
33768
|
+
showSummary: z57.boolean().optional(),
|
|
33769
|
+
showBody: z57.boolean().optional(),
|
|
33770
|
+
showPrices: z57.boolean().optional(),
|
|
33771
|
+
showValidityPeriod: z57.boolean().optional(),
|
|
33772
|
+
showPricePerCredit: z57.boolean().nullable().optional(),
|
|
33773
|
+
passesHeading: z57.string().optional(),
|
|
33774
|
+
membershipsHeading: z57.string().optional(),
|
|
33775
|
+
buyButtonText: z57.string().optional(),
|
|
33776
|
+
addButtonText: z57.string().optional(),
|
|
33777
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
|
|
33778
|
+
subscribeButtonText: z57.string().optional(),
|
|
33779
|
+
emptyStateText: z57.string().optional(),
|
|
33780
|
+
checkoutButtonText: z57.string().optional(),
|
|
33781
|
+
clearButtonText: z57.string().optional(),
|
|
33782
|
+
submitButtonText: z57.string().optional(),
|
|
33713
33783
|
contentEntry: contentEntrySchema3.optional(),
|
|
33714
|
-
passes:
|
|
33715
|
-
memberships:
|
|
33716
|
-
products:
|
|
33717
|
-
siteId:
|
|
33718
|
-
apiBaseUrl:
|
|
33784
|
+
passes: z57.array(publicPassProductSchema).nullable().optional(),
|
|
33785
|
+
memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
|
|
33786
|
+
products: z57.array(publicProductSchema).nullable().optional(),
|
|
33787
|
+
siteId: z57.string().optional(),
|
|
33788
|
+
apiBaseUrl: z57.string().optional(),
|
|
33719
33789
|
stage: previewStageSchema.optional()
|
|
33720
33790
|
});
|
|
33721
|
-
var productVariantOptionDisplaySchema =
|
|
33722
|
-
id:
|
|
33723
|
-
label:
|
|
33724
|
-
soldOut:
|
|
33725
|
-
});
|
|
33726
|
-
var productCardDisplaySchema =
|
|
33727
|
-
productId:
|
|
33728
|
-
title:
|
|
33729
|
-
path:
|
|
33730
|
-
summary:
|
|
33731
|
-
priceLabel:
|
|
33732
|
-
image:
|
|
33733
|
-
url:
|
|
33734
|
-
alt:
|
|
33791
|
+
var productVariantOptionDisplaySchema = z57.object({
|
|
33792
|
+
id: z57.string(),
|
|
33793
|
+
label: z57.string(),
|
|
33794
|
+
soldOut: z57.boolean()
|
|
33795
|
+
});
|
|
33796
|
+
var productCardDisplaySchema = z57.object({
|
|
33797
|
+
productId: z57.string(),
|
|
33798
|
+
title: z57.string(),
|
|
33799
|
+
path: z57.string().nullable(),
|
|
33800
|
+
summary: z57.string().nullable(),
|
|
33801
|
+
priceLabel: z57.string().nullable(),
|
|
33802
|
+
image: z57.object({
|
|
33803
|
+
url: z57.string(),
|
|
33804
|
+
alt: z57.string().nullable()
|
|
33735
33805
|
}).nullable(),
|
|
33736
|
-
variantOptions:
|
|
33737
|
-
selectedVariantId:
|
|
33738
|
-
selectionLabel:
|
|
33739
|
-
actionLabel:
|
|
33740
|
-
soldOut:
|
|
33741
|
-
});
|
|
33742
|
-
var productListDisplaySchema =
|
|
33743
|
-
kind:
|
|
33744
|
-
state:
|
|
33745
|
-
heading:
|
|
33746
|
-
className:
|
|
33747
|
-
layout:
|
|
33748
|
-
columns:
|
|
33749
|
-
emptyMessage:
|
|
33750
|
-
cards:
|
|
33751
|
-
});
|
|
33752
|
-
var productDetailDisplaySchema =
|
|
33753
|
-
|
|
33754
|
-
kind:
|
|
33755
|
-
state:
|
|
33756
|
-
heading:
|
|
33757
|
-
className:
|
|
33758
|
-
emptyMessage:
|
|
33806
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
33807
|
+
selectedVariantId: z57.string().nullable(),
|
|
33808
|
+
selectionLabel: z57.string(),
|
|
33809
|
+
actionLabel: z57.string(),
|
|
33810
|
+
soldOut: z57.boolean()
|
|
33811
|
+
});
|
|
33812
|
+
var productListDisplaySchema = z57.object({
|
|
33813
|
+
kind: z57.literal("product-list"),
|
|
33814
|
+
state: z57.enum(["empty", "ready"]),
|
|
33815
|
+
heading: z57.string().nullable(),
|
|
33816
|
+
className: z57.string().nullable(),
|
|
33817
|
+
layout: z57.enum(["grid", "list"]),
|
|
33818
|
+
columns: z57.string(),
|
|
33819
|
+
emptyMessage: z57.string(),
|
|
33820
|
+
cards: z57.array(productCardDisplaySchema)
|
|
33821
|
+
});
|
|
33822
|
+
var productDetailDisplaySchema = z57.discriminatedUnion("state", [
|
|
33823
|
+
z57.object({
|
|
33824
|
+
kind: z57.literal("product-detail"),
|
|
33825
|
+
state: z57.literal("empty"),
|
|
33826
|
+
heading: z57.string().nullable(),
|
|
33827
|
+
className: z57.string().nullable(),
|
|
33828
|
+
emptyMessage: z57.string()
|
|
33759
33829
|
}),
|
|
33760
|
-
|
|
33761
|
-
kind:
|
|
33762
|
-
state:
|
|
33763
|
-
heading:
|
|
33764
|
-
className:
|
|
33765
|
-
title:
|
|
33766
|
-
priceLabel:
|
|
33767
|
-
summary:
|
|
33768
|
-
categoryLabel:
|
|
33769
|
-
gallery:
|
|
33770
|
-
url:
|
|
33771
|
-
alt:
|
|
33830
|
+
z57.object({
|
|
33831
|
+
kind: z57.literal("product-detail"),
|
|
33832
|
+
state: z57.literal("ready"),
|
|
33833
|
+
heading: z57.string().nullable(),
|
|
33834
|
+
className: z57.string().nullable(),
|
|
33835
|
+
title: z57.string(),
|
|
33836
|
+
priceLabel: z57.string(),
|
|
33837
|
+
summary: z57.string().nullable(),
|
|
33838
|
+
categoryLabel: z57.string().nullable(),
|
|
33839
|
+
gallery: z57.array(z57.object({
|
|
33840
|
+
url: z57.string(),
|
|
33841
|
+
alt: z57.string().nullable()
|
|
33772
33842
|
})),
|
|
33773
|
-
variantOptions:
|
|
33774
|
-
selectedVariantId:
|
|
33775
|
-
selectionLabel:
|
|
33776
|
-
actionLabel:
|
|
33777
|
-
soldOut:
|
|
33778
|
-
body:
|
|
33843
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
33844
|
+
selectedVariantId: z57.string().nullable(),
|
|
33845
|
+
selectionLabel: z57.string(),
|
|
33846
|
+
actionLabel: z57.string(),
|
|
33847
|
+
soldOut: z57.boolean(),
|
|
33848
|
+
body: z57.unknown().nullable()
|
|
33779
33849
|
})
|
|
33780
33850
|
]);
|
|
33781
|
-
var passCardDisplaySchema =
|
|
33782
|
-
id:
|
|
33783
|
-
title:
|
|
33784
|
-
description:
|
|
33785
|
-
priceLabel:
|
|
33786
|
-
creditsLabel:
|
|
33787
|
-
perCreditLabel:
|
|
33788
|
-
validityLabel:
|
|
33789
|
-
actionLabel:
|
|
33790
|
-
});
|
|
33791
|
-
var membershipCardDisplaySchema =
|
|
33792
|
-
id:
|
|
33793
|
-
title:
|
|
33794
|
-
description:
|
|
33795
|
-
priceLabel:
|
|
33796
|
-
intervalLabel:
|
|
33797
|
-
actionLabel:
|
|
33798
|
-
});
|
|
33799
|
-
var passesMembershipsDisplaySchema =
|
|
33800
|
-
kind:
|
|
33801
|
-
state:
|
|
33802
|
-
className:
|
|
33803
|
-
layout:
|
|
33804
|
-
columns:
|
|
33805
|
-
emptyMessage:
|
|
33806
|
-
passesHeading:
|
|
33807
|
-
membershipsHeading:
|
|
33808
|
-
passes:
|
|
33809
|
-
memberships:
|
|
33810
|
-
});
|
|
33811
|
-
var cartLineDisplaySchema =
|
|
33812
|
-
key:
|
|
33813
|
-
title:
|
|
33814
|
-
priceLabel:
|
|
33815
|
-
quantity:
|
|
33816
|
-
quantityEditable:
|
|
33817
|
-
});
|
|
33818
|
-
var cartDisplaySchema =
|
|
33819
|
-
kind:
|
|
33820
|
-
state:
|
|
33821
|
-
heading:
|
|
33822
|
-
className:
|
|
33823
|
-
emptyMessage:
|
|
33824
|
-
supportText:
|
|
33825
|
-
items:
|
|
33826
|
-
subtotalLabel:
|
|
33827
|
-
checkoutButtonText:
|
|
33828
|
-
clearButtonText:
|
|
33829
|
-
});
|
|
33830
|
-
var checkoutDisplaySchema =
|
|
33831
|
-
kind:
|
|
33832
|
-
state:
|
|
33833
|
-
heading:
|
|
33834
|
-
className:
|
|
33835
|
-
message:
|
|
33836
|
-
submitButtonText:
|
|
33837
|
-
});
|
|
33838
|
-
var passesMembershipsHydrationSchema =
|
|
33839
|
-
passes:
|
|
33840
|
-
memberships:
|
|
33841
|
-
passPurchaseMode:
|
|
33842
|
-
});
|
|
33843
|
-
var productListHydrationSchema =
|
|
33844
|
-
products:
|
|
33845
|
-
showSummary:
|
|
33846
|
-
showPrices:
|
|
33847
|
-
addButtonText:
|
|
33848
|
-
});
|
|
33849
|
-
var productDetailHydrationSchema =
|
|
33850
|
-
products:
|
|
33851
|
-
productId:
|
|
33852
|
-
showSummary:
|
|
33853
|
-
showBody:
|
|
33854
|
-
addButtonText:
|
|
33855
|
-
});
|
|
33856
|
-
var cartHydrationSchema =
|
|
33857
|
-
emptyStateText:
|
|
33858
|
-
checkoutButtonText:
|
|
33859
|
-
clearButtonText:
|
|
33860
|
-
});
|
|
33861
|
-
var checkoutHydrationSchema =
|
|
33862
|
-
emptyStateText:
|
|
33863
|
-
submitButtonText:
|
|
33864
|
-
});
|
|
33865
|
-
var passesMembershipsRenderSchema =
|
|
33851
|
+
var passCardDisplaySchema = z57.object({
|
|
33852
|
+
id: z57.string(),
|
|
33853
|
+
title: z57.string(),
|
|
33854
|
+
description: z57.string().nullable(),
|
|
33855
|
+
priceLabel: z57.string(),
|
|
33856
|
+
creditsLabel: z57.string(),
|
|
33857
|
+
perCreditLabel: z57.string().nullable(),
|
|
33858
|
+
validityLabel: z57.string().nullable(),
|
|
33859
|
+
actionLabel: z57.string()
|
|
33860
|
+
});
|
|
33861
|
+
var membershipCardDisplaySchema = z57.object({
|
|
33862
|
+
id: z57.string(),
|
|
33863
|
+
title: z57.string(),
|
|
33864
|
+
description: z57.string().nullable(),
|
|
33865
|
+
priceLabel: z57.string(),
|
|
33866
|
+
intervalLabel: z57.string(),
|
|
33867
|
+
actionLabel: z57.string()
|
|
33868
|
+
});
|
|
33869
|
+
var passesMembershipsDisplaySchema = z57.object({
|
|
33870
|
+
kind: z57.literal("passes-memberships"),
|
|
33871
|
+
state: z57.enum(["empty", "ready"]),
|
|
33872
|
+
className: z57.string().nullable(),
|
|
33873
|
+
layout: z57.enum(["grid", "list"]),
|
|
33874
|
+
columns: z57.string(),
|
|
33875
|
+
emptyMessage: z57.string(),
|
|
33876
|
+
passesHeading: z57.string(),
|
|
33877
|
+
membershipsHeading: z57.string(),
|
|
33878
|
+
passes: z57.array(passCardDisplaySchema),
|
|
33879
|
+
memberships: z57.array(membershipCardDisplaySchema)
|
|
33880
|
+
});
|
|
33881
|
+
var cartLineDisplaySchema = z57.object({
|
|
33882
|
+
key: z57.string(),
|
|
33883
|
+
title: z57.string(),
|
|
33884
|
+
priceLabel: z57.string(),
|
|
33885
|
+
quantity: z57.number(),
|
|
33886
|
+
quantityEditable: z57.boolean()
|
|
33887
|
+
});
|
|
33888
|
+
var cartDisplaySchema = z57.object({
|
|
33889
|
+
kind: z57.literal("cart"),
|
|
33890
|
+
state: z57.enum(["empty", "ready"]),
|
|
33891
|
+
heading: z57.string().nullable(),
|
|
33892
|
+
className: z57.string().nullable(),
|
|
33893
|
+
emptyMessage: z57.string(),
|
|
33894
|
+
supportText: z57.string().nullable(),
|
|
33895
|
+
items: z57.array(cartLineDisplaySchema),
|
|
33896
|
+
subtotalLabel: z57.string().nullable(),
|
|
33897
|
+
checkoutButtonText: z57.string(),
|
|
33898
|
+
clearButtonText: z57.string()
|
|
33899
|
+
});
|
|
33900
|
+
var checkoutDisplaySchema = z57.object({
|
|
33901
|
+
kind: z57.literal("checkout"),
|
|
33902
|
+
state: z57.enum(["empty", "blocked", "ready"]),
|
|
33903
|
+
heading: z57.string().nullable(),
|
|
33904
|
+
className: z57.string().nullable(),
|
|
33905
|
+
message: z57.string().nullable(),
|
|
33906
|
+
submitButtonText: z57.string()
|
|
33907
|
+
});
|
|
33908
|
+
var passesMembershipsHydrationSchema = z57.object({
|
|
33909
|
+
passes: z57.array(publicPassProductSchema),
|
|
33910
|
+
memberships: z57.array(publicMembershipProductSchema),
|
|
33911
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
|
|
33912
|
+
});
|
|
33913
|
+
var productListHydrationSchema = z57.object({
|
|
33914
|
+
products: z57.array(publicProductSchema),
|
|
33915
|
+
showSummary: z57.boolean(),
|
|
33916
|
+
showPrices: z57.boolean(),
|
|
33917
|
+
addButtonText: z57.string()
|
|
33918
|
+
});
|
|
33919
|
+
var productDetailHydrationSchema = z57.object({
|
|
33920
|
+
products: z57.array(publicProductSchema),
|
|
33921
|
+
productId: z57.string().nullable(),
|
|
33922
|
+
showSummary: z57.boolean(),
|
|
33923
|
+
showBody: z57.boolean(),
|
|
33924
|
+
addButtonText: z57.string()
|
|
33925
|
+
});
|
|
33926
|
+
var cartHydrationSchema = z57.object({
|
|
33927
|
+
emptyStateText: z57.string(),
|
|
33928
|
+
checkoutButtonText: z57.string(),
|
|
33929
|
+
clearButtonText: z57.string()
|
|
33930
|
+
});
|
|
33931
|
+
var checkoutHydrationSchema = z57.object({
|
|
33932
|
+
emptyStateText: z57.string(),
|
|
33933
|
+
submitButtonText: z57.string()
|
|
33934
|
+
});
|
|
33935
|
+
var passesMembershipsRenderSchema = z57.object({
|
|
33866
33936
|
display: passesMembershipsDisplaySchema,
|
|
33867
33937
|
hydration: passesMembershipsHydrationSchema
|
|
33868
33938
|
});
|
|
33869
|
-
var productListRenderSchema =
|
|
33939
|
+
var productListRenderSchema = z57.object({
|
|
33870
33940
|
display: productListDisplaySchema,
|
|
33871
33941
|
hydration: productListHydrationSchema
|
|
33872
33942
|
});
|
|
33873
|
-
var productDetailRenderSchema =
|
|
33943
|
+
var productDetailRenderSchema = z57.object({
|
|
33874
33944
|
display: productDetailDisplaySchema,
|
|
33875
33945
|
hydration: productDetailHydrationSchema
|
|
33876
33946
|
});
|
|
33877
|
-
var cartRenderSchema =
|
|
33947
|
+
var cartRenderSchema = z57.object({
|
|
33878
33948
|
display: cartDisplaySchema,
|
|
33879
33949
|
hydration: cartHydrationSchema
|
|
33880
33950
|
});
|
|
33881
|
-
var checkoutRenderSchema =
|
|
33951
|
+
var checkoutRenderSchema = z57.object({
|
|
33882
33952
|
display: checkoutDisplaySchema,
|
|
33883
33953
|
hydration: checkoutHydrationSchema
|
|
33884
33954
|
});
|
|
33885
33955
|
function resolveShowPricePerCredit(source) {
|
|
33886
33956
|
return source.showPricePerCredit ?? true;
|
|
33887
33957
|
}
|
|
33888
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
33889
|
-
siteId:
|
|
33890
|
-
apiBaseUrl:
|
|
33958
|
+
var shopIslandMetaCodec = createZodCodec(z57.object({
|
|
33959
|
+
siteId: z57.string().optional(),
|
|
33960
|
+
apiBaseUrl: z57.string().optional(),
|
|
33891
33961
|
stage: previewStageSchema.optional()
|
|
33892
33962
|
}));
|
|
33893
33963
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -34265,9 +34335,9 @@ var shopBlockDefinition = {
|
|
|
34265
34335
|
runtime: shopBlockRuntime,
|
|
34266
34336
|
dataSchemas: {
|
|
34267
34337
|
// listPublicPasses returns { passes: [...] }
|
|
34268
|
-
passes:
|
|
34338
|
+
passes: publicPassProductCollectionSchema.optional(),
|
|
34269
34339
|
// listPublicMemberships returns { memberships: [...] }
|
|
34270
|
-
memberships:
|
|
34340
|
+
memberships: publicMembershipProductCollectionSchema.optional()
|
|
34271
34341
|
},
|
|
34272
34342
|
dataLoaders: {
|
|
34273
34343
|
// Load passes for display
|
|
@@ -34290,7 +34360,7 @@ var shopBlockDefinition = {
|
|
|
34290
34360
|
};
|
|
34291
34361
|
|
|
34292
34362
|
// ../blocks/src/system/blocks/product-list.ts
|
|
34293
|
-
import { z as
|
|
34363
|
+
import { z as z58 } from "zod";
|
|
34294
34364
|
var productListManifest = createBlockManifest({
|
|
34295
34365
|
id: "block.product-list",
|
|
34296
34366
|
version: "1.0.0",
|
|
@@ -34423,7 +34493,7 @@ var productListBlockDefinition = {
|
|
|
34423
34493
|
}
|
|
34424
34494
|
}
|
|
34425
34495
|
};
|
|
34426
|
-
var productListDataSchema =
|
|
34496
|
+
var productListDataSchema = z58.object({
|
|
34427
34497
|
products: publicProductsResponseSchema.optional()
|
|
34428
34498
|
});
|
|
34429
34499
|
|
|
@@ -34684,72 +34754,72 @@ var checkoutBlockDefinition = {
|
|
|
34684
34754
|
};
|
|
34685
34755
|
|
|
34686
34756
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
34687
|
-
import { z as
|
|
34688
|
-
var publicGiftCardOfferSchema =
|
|
34689
|
-
id:
|
|
34690
|
-
kind:
|
|
34691
|
-
title:
|
|
34692
|
-
description:
|
|
34693
|
-
sortOrder:
|
|
34694
|
-
giftCard:
|
|
34695
|
-
fixedDenominations:
|
|
34696
|
-
customAmountEnabled:
|
|
34697
|
-
customAmountMinCents:
|
|
34698
|
-
customAmountMaxCents:
|
|
34757
|
+
import { z as z59 } from "zod";
|
|
34758
|
+
var publicGiftCardOfferSchema = z59.object({
|
|
34759
|
+
id: z59.string(),
|
|
34760
|
+
kind: z59.literal("gift_card"),
|
|
34761
|
+
title: z59.string(),
|
|
34762
|
+
description: z59.string().nullable(),
|
|
34763
|
+
sortOrder: z59.number().int(),
|
|
34764
|
+
giftCard: z59.object({
|
|
34765
|
+
fixedDenominations: z59.array(z59.number().int().positive()),
|
|
34766
|
+
customAmountEnabled: z59.boolean(),
|
|
34767
|
+
customAmountMinCents: z59.number().int().positive(),
|
|
34768
|
+
customAmountMaxCents: z59.number().int().positive()
|
|
34699
34769
|
}),
|
|
34700
|
-
voucher:
|
|
34701
|
-
});
|
|
34702
|
-
var publicVoucherOfferSchema =
|
|
34703
|
-
id:
|
|
34704
|
-
kind:
|
|
34705
|
-
title:
|
|
34706
|
-
description:
|
|
34707
|
-
sortOrder:
|
|
34708
|
-
giftCard:
|
|
34709
|
-
voucher:
|
|
34710
|
-
purchaseAmountCents:
|
|
34770
|
+
voucher: z59.null()
|
|
34771
|
+
});
|
|
34772
|
+
var publicVoucherOfferSchema = z59.object({
|
|
34773
|
+
id: z59.string(),
|
|
34774
|
+
kind: z59.literal("voucher"),
|
|
34775
|
+
title: z59.string(),
|
|
34776
|
+
description: z59.string().nullable(),
|
|
34777
|
+
sortOrder: z59.number().int(),
|
|
34778
|
+
giftCard: z59.null(),
|
|
34779
|
+
voucher: z59.object({
|
|
34780
|
+
purchaseAmountCents: z59.number().int().positive()
|
|
34711
34781
|
})
|
|
34712
34782
|
});
|
|
34713
|
-
var publicGiftingOffersResponseSchema =
|
|
34714
|
-
currency:
|
|
34715
|
-
giftCards:
|
|
34716
|
-
vouchers:
|
|
34783
|
+
var publicGiftingOffersResponseSchema = z59.object({
|
|
34784
|
+
currency: z59.string(),
|
|
34785
|
+
giftCards: z59.array(publicGiftCardOfferSchema),
|
|
34786
|
+
vouchers: z59.array(publicVoucherOfferSchema)
|
|
34717
34787
|
});
|
|
34718
|
-
var giftingSourceSchema =
|
|
34719
|
-
siteId:
|
|
34720
|
-
apiBaseUrl:
|
|
34788
|
+
var giftingSourceSchema = z59.object({
|
|
34789
|
+
siteId: z59.string().optional(),
|
|
34790
|
+
apiBaseUrl: z59.string().optional(),
|
|
34721
34791
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
34722
|
-
className:
|
|
34723
|
-
heading:
|
|
34724
|
-
intro:
|
|
34725
|
-
giftCardsHeading:
|
|
34726
|
-
vouchersHeading:
|
|
34727
|
-
emptyStateText:
|
|
34728
|
-
checkoutButtonText:
|
|
34729
|
-
successMessage:
|
|
34730
|
-
});
|
|
34731
|
-
var giftingDisplaySchema =
|
|
34732
|
-
kind:
|
|
34733
|
-
state:
|
|
34734
|
-
className:
|
|
34735
|
-
heading:
|
|
34736
|
-
intro:
|
|
34737
|
-
giftCardsHeading:
|
|
34738
|
-
vouchersHeading:
|
|
34739
|
-
emptyStateText:
|
|
34740
|
-
});
|
|
34741
|
-
var giftingHydrationSchema =
|
|
34792
|
+
className: z59.string().nullable().optional(),
|
|
34793
|
+
heading: z59.string().nullable().optional(),
|
|
34794
|
+
intro: z59.string().nullable().optional(),
|
|
34795
|
+
giftCardsHeading: z59.string().nullable().optional(),
|
|
34796
|
+
vouchersHeading: z59.string().nullable().optional(),
|
|
34797
|
+
emptyStateText: z59.string().nullable().optional(),
|
|
34798
|
+
checkoutButtonText: z59.string().nullable().optional(),
|
|
34799
|
+
successMessage: z59.string().nullable().optional()
|
|
34800
|
+
});
|
|
34801
|
+
var giftingDisplaySchema = z59.object({
|
|
34802
|
+
kind: z59.literal("gifting"),
|
|
34803
|
+
state: z59.literal("ready"),
|
|
34804
|
+
className: z59.string().nullable(),
|
|
34805
|
+
heading: z59.string(),
|
|
34806
|
+
intro: z59.string().nullable(),
|
|
34807
|
+
giftCardsHeading: z59.string(),
|
|
34808
|
+
vouchersHeading: z59.string(),
|
|
34809
|
+
emptyStateText: z59.string()
|
|
34810
|
+
});
|
|
34811
|
+
var giftingHydrationSchema = z59.object({
|
|
34742
34812
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
34743
|
-
checkoutButtonText:
|
|
34744
|
-
successMessage:
|
|
34813
|
+
checkoutButtonText: z59.string(),
|
|
34814
|
+
successMessage: z59.string()
|
|
34745
34815
|
});
|
|
34746
|
-
var giftingRenderSchema =
|
|
34816
|
+
var giftingRenderSchema = z59.object({
|
|
34747
34817
|
display: giftingDisplaySchema,
|
|
34748
34818
|
hydration: giftingHydrationSchema
|
|
34749
34819
|
});
|
|
34750
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
34751
|
-
siteId:
|
|
34752
|
-
apiBaseUrl:
|
|
34820
|
+
var giftingIslandMetaCodec = createZodCodec(z59.object({
|
|
34821
|
+
siteId: z59.string().optional(),
|
|
34822
|
+
apiBaseUrl: z59.string().optional()
|
|
34753
34823
|
}));
|
|
34754
34824
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
34755
34825
|
"siteId",
|
|
@@ -34920,7 +34990,7 @@ var giftingBlockDefinition = {
|
|
|
34920
34990
|
};
|
|
34921
34991
|
|
|
34922
34992
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34923
|
-
import { z as
|
|
34993
|
+
import { z as z60 } from "zod";
|
|
34924
34994
|
|
|
34925
34995
|
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
34926
34996
|
function parseNewsletterSignupBlockId(value) {
|
|
@@ -35027,65 +35097,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
35027
35097
|
}
|
|
35028
35098
|
|
|
35029
35099
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
35030
|
-
var newsletterPresetSchema =
|
|
35031
|
-
var newsletterDestinationProviderSchema =
|
|
35032
|
-
var newsletterFieldSchema =
|
|
35033
|
-
id:
|
|
35034
|
-
type:
|
|
35035
|
-
label:
|
|
35036
|
-
required:
|
|
35037
|
-
placeholder:
|
|
35038
|
-
});
|
|
35039
|
-
var newsletterSignupBlockIdSchema =
|
|
35040
|
-
var signedNewsletterDestinationRefSchema =
|
|
35041
|
-
var newsletterPublicDestinationRefSchema =
|
|
35042
|
-
|
|
35043
|
-
tag:
|
|
35100
|
+
var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
35101
|
+
var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
|
|
35102
|
+
var newsletterFieldSchema = z60.object({
|
|
35103
|
+
id: z60.string(),
|
|
35104
|
+
type: z60.enum(["email", "text"]),
|
|
35105
|
+
label: z60.string(),
|
|
35106
|
+
required: z60.boolean(),
|
|
35107
|
+
placeholder: z60.string().optional()
|
|
35108
|
+
});
|
|
35109
|
+
var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
35110
|
+
var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
35111
|
+
var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
|
|
35112
|
+
z60.object({
|
|
35113
|
+
tag: z60.literal("block_ref"),
|
|
35044
35114
|
blockId: newsletterSignupBlockIdSchema
|
|
35045
35115
|
}),
|
|
35046
|
-
|
|
35047
|
-
tag:
|
|
35116
|
+
z60.object({
|
|
35117
|
+
tag: z60.literal("signed_destination_ref"),
|
|
35048
35118
|
token: signedNewsletterDestinationRefSchema
|
|
35049
35119
|
})
|
|
35050
35120
|
]);
|
|
35051
|
-
var newsletterSourceSchema =
|
|
35052
|
-
blockId:
|
|
35053
|
-
siteId:
|
|
35054
|
-
apiBaseUrl:
|
|
35055
|
-
listId:
|
|
35121
|
+
var newsletterSourceSchema = z60.object({
|
|
35122
|
+
blockId: z60.string().nullable().optional(),
|
|
35123
|
+
siteId: z60.string().optional(),
|
|
35124
|
+
apiBaseUrl: z60.string().optional(),
|
|
35125
|
+
listId: z60.string().nullable().optional(),
|
|
35056
35126
|
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
35057
35127
|
preset: newsletterPresetSchema.optional(),
|
|
35058
|
-
includePhone:
|
|
35059
|
-
buttonLabel:
|
|
35060
|
-
successMessage:
|
|
35061
|
-
privacyNote:
|
|
35062
|
-
tags:
|
|
35063
|
-
spamProtectionEnabled:
|
|
35064
|
-
className:
|
|
35065
|
-
});
|
|
35066
|
-
var newsletterDisplaySchema =
|
|
35067
|
-
kind:
|
|
35068
|
-
className:
|
|
35069
|
-
buttonLabel:
|
|
35070
|
-
successMessage:
|
|
35071
|
-
privacyNote:
|
|
35072
|
-
fields:
|
|
35073
|
-
});
|
|
35074
|
-
var newsletterHydrationSchema =
|
|
35128
|
+
includePhone: z60.boolean().optional(),
|
|
35129
|
+
buttonLabel: z60.string().nullable().optional(),
|
|
35130
|
+
successMessage: z60.string().nullable().optional(),
|
|
35131
|
+
privacyNote: z60.string().nullable().optional(),
|
|
35132
|
+
tags: z60.string().nullable().optional(),
|
|
35133
|
+
spamProtectionEnabled: z60.boolean().optional(),
|
|
35134
|
+
className: z60.string().nullable().optional()
|
|
35135
|
+
});
|
|
35136
|
+
var newsletterDisplaySchema = z60.object({
|
|
35137
|
+
kind: z60.literal("newsletter-form"),
|
|
35138
|
+
className: z60.string().nullable(),
|
|
35139
|
+
buttonLabel: z60.string(),
|
|
35140
|
+
successMessage: z60.string().nullable(),
|
|
35141
|
+
privacyNote: z60.string().nullable(),
|
|
35142
|
+
fields: z60.array(newsletterFieldSchema)
|
|
35143
|
+
});
|
|
35144
|
+
var newsletterHydrationSchema = z60.object({
|
|
35075
35145
|
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
35076
|
-
listId:
|
|
35146
|
+
listId: z60.string().nullable().optional(),
|
|
35077
35147
|
preset: newsletterPresetSchema,
|
|
35078
|
-
includePhone:
|
|
35079
|
-
tags:
|
|
35080
|
-
spamProtectionEnabled:
|
|
35148
|
+
includePhone: z60.boolean(),
|
|
35149
|
+
tags: z60.string().nullable().optional(),
|
|
35150
|
+
spamProtectionEnabled: z60.boolean().optional()
|
|
35081
35151
|
});
|
|
35082
|
-
var newsletterRenderSchema =
|
|
35152
|
+
var newsletterRenderSchema = z60.object({
|
|
35083
35153
|
display: newsletterDisplaySchema,
|
|
35084
35154
|
hydration: newsletterHydrationSchema
|
|
35085
35155
|
});
|
|
35086
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
35087
|
-
siteId:
|
|
35088
|
-
apiBaseUrl:
|
|
35156
|
+
var newsletterIslandMetaCodec = createZodCodec(z60.object({
|
|
35157
|
+
siteId: z60.string().optional(),
|
|
35158
|
+
apiBaseUrl: z60.string().optional()
|
|
35089
35159
|
}));
|
|
35090
35160
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
35091
35161
|
function buildNewsletterDisplay(source) {
|
|
@@ -35224,23 +35294,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
35224
35294
|
};
|
|
35225
35295
|
|
|
35226
35296
|
// ../blocks/src/system/blocks/team-members.ts
|
|
35227
|
-
import { z as
|
|
35297
|
+
import { z as z61 } from "zod";
|
|
35228
35298
|
var ITEM_NAME2 = "member";
|
|
35229
35299
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
35230
35300
|
message: "Team member photos must be image media"
|
|
35231
35301
|
}).nullable();
|
|
35232
|
-
var teamMemberDataSchema =
|
|
35233
|
-
_type:
|
|
35234
|
-
id:
|
|
35235
|
-
name:
|
|
35236
|
-
role:
|
|
35237
|
-
roleLabel:
|
|
35238
|
-
bio:
|
|
35239
|
-
summary:
|
|
35302
|
+
var teamMemberDataSchema = z61.object({
|
|
35303
|
+
_type: z61.literal("teamMember"),
|
|
35304
|
+
id: z61.string(),
|
|
35305
|
+
name: z61.string(),
|
|
35306
|
+
role: z61.string().nullable(),
|
|
35307
|
+
roleLabel: z61.string().nullable(),
|
|
35308
|
+
bio: z61.string().nullable(),
|
|
35309
|
+
summary: z61.string().nullable(),
|
|
35240
35310
|
photo: teamMemberPhotoSchema,
|
|
35241
|
-
profilePath:
|
|
35311
|
+
profilePath: z61.string().nullable()
|
|
35242
35312
|
});
|
|
35243
|
-
var teamMembersDataSchema =
|
|
35313
|
+
var teamMembersDataSchema = z61.array(teamMemberDataSchema);
|
|
35244
35314
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
35245
35315
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
35246
35316
|
var headingNode = text(
|
|
@@ -36132,13 +36202,6 @@ var systemBlockDefinitionsRaw = [
|
|
|
36132
36202
|
weight: "featured",
|
|
36133
36203
|
bias: "clear",
|
|
36134
36204
|
surfaces: heroSectionSurfaces
|
|
36135
|
-
}),
|
|
36136
|
-
layoutProfile({
|
|
36137
|
-
variantKey: "splitEditorial",
|
|
36138
|
-
family: "split",
|
|
36139
|
-
weight: "featured",
|
|
36140
|
-
bias: "clear",
|
|
36141
|
-
surfaces: heroSectionSurfaces
|
|
36142
36205
|
})
|
|
36143
36206
|
]
|
|
36144
36207
|
})),
|
|
@@ -36382,9 +36445,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
36382
36445
|
flow: offeringsFlow,
|
|
36383
36446
|
layoutProfiles: [
|
|
36384
36447
|
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
36448
|
+
layoutProfile({ variantKey: "calendar", family: "stack", weight: "standard" }),
|
|
36385
36449
|
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
36386
|
-
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
36387
|
-
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
36388
36450
|
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
36389
36451
|
]
|
|
36390
36452
|
})),
|
|
@@ -36947,10 +37009,7 @@ function normalizeRenderStage(stage) {
|
|
|
36947
37009
|
return stage === "preview" ? "preview" : "published";
|
|
36948
37010
|
}
|
|
36949
37011
|
function isRouteVisibleInStage(routeEntry, stageInput) {
|
|
36950
|
-
|
|
36951
|
-
if (stage === "preview" || !isRouteRecord(routeEntry)) {
|
|
36952
|
-
return true;
|
|
36953
|
-
}
|
|
37012
|
+
if (normalizeRenderStage(stageInput) === "preview" || !isRouteRecord(routeEntry)) return true;
|
|
36954
37013
|
const status = routeEntry.status;
|
|
36955
37014
|
return !(typeof status === "string" && status !== "published");
|
|
36956
37015
|
}
|
|
@@ -36959,52 +37018,45 @@ function extractRouteHref(candidate, stageInput = "published") {
|
|
|
36959
37018
|
const trimmed = candidate.trim();
|
|
36960
37019
|
return trimmed.length > 0 ? trimmed : null;
|
|
36961
37020
|
}
|
|
36962
|
-
if (!isRouteRecord(candidate))
|
|
36963
|
-
|
|
36964
|
-
|
|
36965
|
-
|
|
36966
|
-
|
|
37021
|
+
if (!isRouteRecord(candidate)) return null;
|
|
37022
|
+
const fields3 = normalizeRenderStage(stageInput) === "preview" ? [
|
|
37023
|
+
"draftPath",
|
|
37024
|
+
"path",
|
|
37025
|
+
"href",
|
|
37026
|
+
"url"
|
|
37027
|
+
] : [
|
|
37028
|
+
"path",
|
|
37029
|
+
"href",
|
|
37030
|
+
"url"
|
|
37031
|
+
];
|
|
36967
37032
|
for (const field of fields3) {
|
|
36968
37033
|
const value = candidate[field];
|
|
36969
|
-
if (typeof value === "string" && value.trim().length > 0)
|
|
36970
|
-
return value.trim();
|
|
36971
|
-
}
|
|
37034
|
+
if (typeof value === "string" && value.trim().length > 0) return value.trim();
|
|
36972
37035
|
}
|
|
36973
37036
|
return null;
|
|
36974
37037
|
}
|
|
36975
37038
|
function extractRouteUpdatedAt(candidate) {
|
|
36976
|
-
if (!isRouteRecord(candidate))
|
|
36977
|
-
|
|
36978
|
-
}
|
|
36979
|
-
const fields3 = [
|
|
37039
|
+
if (!isRouteRecord(candidate)) return null;
|
|
37040
|
+
for (const field of [
|
|
36980
37041
|
"updatedAt",
|
|
36981
37042
|
"updated_at",
|
|
36982
37043
|
"publishedAt",
|
|
36983
37044
|
"published_at",
|
|
36984
37045
|
"modifiedAt",
|
|
36985
37046
|
"modified_at"
|
|
36986
|
-
]
|
|
36987
|
-
for (const field of fields3) {
|
|
37047
|
+
]) {
|
|
36988
37048
|
const value = candidate[field];
|
|
36989
|
-
if (typeof value === "string" && value.length > 0)
|
|
36990
|
-
return value;
|
|
36991
|
-
}
|
|
37049
|
+
if (typeof value === "string" && value.length > 0) return value;
|
|
36992
37050
|
}
|
|
36993
37051
|
return null;
|
|
36994
37052
|
}
|
|
36995
37053
|
function resolveRouteTargetForStage(routeIdValue, routes, stageInput) {
|
|
36996
37054
|
const routeId = typeof routeIdValue === "string" ? routeIdValue : null;
|
|
36997
|
-
if (!routeId || !routes)
|
|
36998
|
-
return null;
|
|
36999
|
-
}
|
|
37055
|
+
if (!routeId || !routes) return null;
|
|
37000
37056
|
const routeEntry = routes[routeId];
|
|
37001
|
-
if (!isRouteVisibleInStage(routeEntry, stageInput))
|
|
37002
|
-
return null;
|
|
37003
|
-
}
|
|
37057
|
+
if (!isRouteVisibleInStage(routeEntry, stageInput)) return null;
|
|
37004
37058
|
const href = extractRouteHref(routeEntry, stageInput);
|
|
37005
|
-
if (!href)
|
|
37006
|
-
return null;
|
|
37007
|
-
}
|
|
37059
|
+
if (!href) return null;
|
|
37008
37060
|
return {
|
|
37009
37061
|
routeId,
|
|
37010
37062
|
href,
|
|
@@ -37934,42 +37986,45 @@ import { jsx as jsx5 } from "react/jsx-runtime";
|
|
|
37934
37986
|
import * as React from "react";
|
|
37935
37987
|
import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
37936
37988
|
|
|
37989
|
+
// ../theme-core/src/ResponsiveScope.tsx
|
|
37990
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
37991
|
+
|
|
37937
37992
|
// ../theme-core/src/fonts/uploadFormat.ts
|
|
37938
37993
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
37939
37994
|
|
|
37940
37995
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
37941
|
-
import { z as
|
|
37942
|
-
var themeBridgeConfigSchema =
|
|
37943
|
-
tokens:
|
|
37944
|
-
typography:
|
|
37945
|
-
headingFamily:
|
|
37946
|
-
bodyFamily:
|
|
37947
|
-
headingWeight:
|
|
37948
|
-
bodyWeight:
|
|
37996
|
+
import { z as z62 } from "zod";
|
|
37997
|
+
var themeBridgeConfigSchema = z62.object({
|
|
37998
|
+
tokens: z62.record(z62.string(), z62.string()),
|
|
37999
|
+
typography: z62.object({
|
|
38000
|
+
headingFamily: z62.string().optional(),
|
|
38001
|
+
bodyFamily: z62.string().optional(),
|
|
38002
|
+
headingWeight: z62.number().optional(),
|
|
38003
|
+
bodyWeight: z62.number().optional()
|
|
37949
38004
|
}).optional(),
|
|
37950
|
-
spacing:
|
|
37951
|
-
corners:
|
|
37952
|
-
shadows:
|
|
37953
|
-
components:
|
|
37954
|
-
buttons:
|
|
37955
|
-
|
|
37956
|
-
|
|
37957
|
-
variants:
|
|
38005
|
+
spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
|
|
38006
|
+
corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
38007
|
+
shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
|
|
38008
|
+
components: z62.object({
|
|
38009
|
+
buttons: z62.union([
|
|
38010
|
+
z62.boolean(),
|
|
38011
|
+
z62.object({
|
|
38012
|
+
variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
37958
38013
|
})
|
|
37959
38014
|
]).optional(),
|
|
37960
|
-
cards:
|
|
37961
|
-
|
|
37962
|
-
|
|
37963
|
-
variants:
|
|
38015
|
+
cards: z62.union([
|
|
38016
|
+
z62.boolean(),
|
|
38017
|
+
z62.object({
|
|
38018
|
+
variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
|
|
37964
38019
|
})
|
|
37965
38020
|
]).optional(),
|
|
37966
|
-
inputs:
|
|
38021
|
+
inputs: z62.boolean().optional()
|
|
37967
38022
|
}).optional(),
|
|
37968
|
-
overrides:
|
|
38023
|
+
overrides: z62.record(z62.string(), z62.string()).optional()
|
|
37969
38024
|
}).passthrough();
|
|
37970
38025
|
|
|
37971
38026
|
// ../theme-core/src/siteChrome.tsx
|
|
37972
|
-
import { Fragment as Fragment2, jsx as
|
|
38027
|
+
import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
37973
38028
|
|
|
37974
38029
|
// ../blocks/src/system/data/loaderEndpoints.ts
|
|
37975
38030
|
var SUPPORTED_LOADER_ENDPOINTS = [
|
|
@@ -37991,17 +38046,17 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
37991
38046
|
function unsafeRetypeZodSchema(schema) {
|
|
37992
38047
|
return schema;
|
|
37993
38048
|
}
|
|
37994
|
-
var navIdListSchema =
|
|
38049
|
+
var navIdListSchema = z63.preprocess((value) => {
|
|
37995
38050
|
if (!Array.isArray(value)) return void 0;
|
|
37996
38051
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
37997
38052
|
return filtered.length > 0 ? filtered : void 0;
|
|
37998
|
-
},
|
|
37999
|
-
var dashboardNavVisibilityBaseSchema =
|
|
38000
|
-
mode:
|
|
38053
|
+
}, z63.array(z63.string()).max(200).optional());
|
|
38054
|
+
var dashboardNavVisibilityBaseSchema = z63.object({
|
|
38055
|
+
mode: z63.enum(["augment", "restrict"]).optional(),
|
|
38001
38056
|
allowIds: navIdListSchema,
|
|
38002
38057
|
denyIds: navIdListSchema
|
|
38003
38058
|
}).strip();
|
|
38004
|
-
var dashboardNavVisibilityRolesSchema =
|
|
38059
|
+
var dashboardNavVisibilityRolesSchema = z63.object({
|
|
38005
38060
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
38006
38061
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
38007
38062
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -38009,63 +38064,63 @@ var dashboardNavVisibilityRolesSchema = z65.object({
|
|
|
38009
38064
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
38010
38065
|
roles: dashboardNavVisibilityRolesSchema
|
|
38011
38066
|
}).strip();
|
|
38012
|
-
var dashboardNavigationConfigSchema =
|
|
38067
|
+
var dashboardNavigationConfigSchema = z63.object({
|
|
38013
38068
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
38014
38069
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
38015
38070
|
}).strip();
|
|
38016
|
-
var dashboardConfigSchema =
|
|
38017
|
-
previewEditingEnabled:
|
|
38071
|
+
var dashboardConfigSchema = z63.object({
|
|
38072
|
+
previewEditingEnabled: z63.boolean().optional(),
|
|
38018
38073
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
38019
38074
|
}).strip();
|
|
38020
38075
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
38021
38076
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
38022
|
-
var sdkLoaderEndpointSchema =
|
|
38023
|
-
var loaderFallbackScalarSchema =
|
|
38024
|
-
|
|
38025
|
-
|
|
38026
|
-
|
|
38027
|
-
|
|
38077
|
+
var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
38078
|
+
var loaderFallbackScalarSchema = z63.union([
|
|
38079
|
+
z63.string(),
|
|
38080
|
+
z63.number(),
|
|
38081
|
+
z63.boolean(),
|
|
38082
|
+
z63.null()
|
|
38028
38083
|
]);
|
|
38029
|
-
var loaderParamBindingSchema =
|
|
38030
|
-
$bind:
|
|
38031
|
-
from:
|
|
38084
|
+
var loaderParamBindingSchema = z63.object({
|
|
38085
|
+
$bind: z63.object({
|
|
38086
|
+
from: z63.string().min(1, "Binding path is required"),
|
|
38032
38087
|
fallback: loaderFallbackScalarSchema.optional()
|
|
38033
38088
|
})
|
|
38034
38089
|
});
|
|
38035
|
-
var loaderParamValueSchema =
|
|
38036
|
-
|
|
38037
|
-
|
|
38038
|
-
|
|
38090
|
+
var loaderParamValueSchema = z63.union([
|
|
38091
|
+
z63.string(),
|
|
38092
|
+
z63.number(),
|
|
38093
|
+
z63.boolean(),
|
|
38039
38094
|
loaderParamBindingSchema
|
|
38040
38095
|
]);
|
|
38041
|
-
var sdkConfigLoaderSchema =
|
|
38096
|
+
var sdkConfigLoaderSchema = z63.object({
|
|
38042
38097
|
endpoint: sdkLoaderEndpointSchema,
|
|
38043
|
-
params:
|
|
38044
|
-
mode:
|
|
38098
|
+
params: z63.record(z63.string(), loaderParamValueSchema),
|
|
38099
|
+
mode: z63.enum(["server", "client"]).default("server")
|
|
38045
38100
|
});
|
|
38046
|
-
var sdkDataLoadersSchema =
|
|
38047
|
-
var sdkCustomBlockIdSchema =
|
|
38101
|
+
var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
38102
|
+
var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
38048
38103
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
38049
38104
|
}).transform((value) => value);
|
|
38050
|
-
var sdkCustomBlockInputSchema =
|
|
38105
|
+
var sdkCustomBlockInputSchema = z63.object({
|
|
38051
38106
|
id: sdkCustomBlockIdSchema,
|
|
38052
|
-
title:
|
|
38053
|
-
titleSource:
|
|
38054
|
-
description:
|
|
38107
|
+
title: z63.string().min(1),
|
|
38108
|
+
titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
|
|
38109
|
+
description: z63.string().optional(),
|
|
38055
38110
|
category: blockCategoryEnum,
|
|
38056
|
-
icon:
|
|
38057
|
-
tags:
|
|
38111
|
+
icon: z63.string().optional(),
|
|
38112
|
+
tags: z63.array(z63.string()).optional(),
|
|
38058
38113
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
38059
38114
|
dataLoaders: sdkDataLoadersSchema,
|
|
38060
38115
|
layout: NodeSchema.optional(),
|
|
38061
|
-
variants:
|
|
38062
|
-
defaultVariant:
|
|
38063
|
-
variantOptions:
|
|
38064
|
-
|
|
38065
|
-
|
|
38066
|
-
label:
|
|
38067
|
-
description:
|
|
38068
|
-
icon:
|
|
38116
|
+
variants: z63.record(z63.string().min(1), NodeSchema).optional(),
|
|
38117
|
+
defaultVariant: z63.string().min(1).optional(),
|
|
38118
|
+
variantOptions: z63.record(
|
|
38119
|
+
z63.string().min(1),
|
|
38120
|
+
z63.object({
|
|
38121
|
+
label: z63.string().min(1).optional(),
|
|
38122
|
+
description: z63.string().min(1).optional(),
|
|
38123
|
+
icon: z63.string().min(1).optional()
|
|
38069
38124
|
})
|
|
38070
38125
|
).optional(),
|
|
38071
38126
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -38076,7 +38131,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38076
38131
|
const exists = data.fields.some((field) => field.id === source);
|
|
38077
38132
|
if (!exists) {
|
|
38078
38133
|
ctx.addIssue({
|
|
38079
|
-
code:
|
|
38134
|
+
code: z63.ZodIssueCode.custom,
|
|
38080
38135
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
38081
38136
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
38082
38137
|
});
|
|
@@ -38085,7 +38140,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38085
38140
|
}
|
|
38086
38141
|
if (data.layout && data.variants) {
|
|
38087
38142
|
ctx.addIssue({
|
|
38088
|
-
code:
|
|
38143
|
+
code: z63.ZodIssueCode.custom,
|
|
38089
38144
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
38090
38145
|
path: ["variants"]
|
|
38091
38146
|
});
|
|
@@ -38094,14 +38149,14 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38094
38149
|
const keys = Object.keys(data.variants);
|
|
38095
38150
|
if (keys.length === 0) {
|
|
38096
38151
|
ctx.addIssue({
|
|
38097
|
-
code:
|
|
38152
|
+
code: z63.ZodIssueCode.custom,
|
|
38098
38153
|
message: "`variants` must contain at least one variant key",
|
|
38099
38154
|
path: ["variants"]
|
|
38100
38155
|
});
|
|
38101
38156
|
}
|
|
38102
38157
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
38103
38158
|
ctx.addIssue({
|
|
38104
|
-
code:
|
|
38159
|
+
code: z63.ZodIssueCode.custom,
|
|
38105
38160
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
38106
38161
|
path: ["defaultVariant"]
|
|
38107
38162
|
});
|
|
@@ -38110,7 +38165,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38110
38165
|
for (const key of Object.keys(data.variantOptions)) {
|
|
38111
38166
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
38112
38167
|
ctx.addIssue({
|
|
38113
|
-
code:
|
|
38168
|
+
code: z63.ZodIssueCode.custom,
|
|
38114
38169
|
message: "`variantOptions` key must exist in `variants`",
|
|
38115
38170
|
path: ["variantOptions", key]
|
|
38116
38171
|
});
|
|
@@ -38119,78 +38174,78 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38119
38174
|
}
|
|
38120
38175
|
}
|
|
38121
38176
|
});
|
|
38122
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38177
|
+
var sdkBlockFieldExtensionInputSchema = z63.object({
|
|
38123
38178
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
38124
38179
|
});
|
|
38125
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
38126
|
-
|
|
38180
|
+
var sdkBlockFieldExtensionsInputSchema = z63.record(
|
|
38181
|
+
z63.string().min(1),
|
|
38127
38182
|
sdkBlockFieldExtensionInputSchema
|
|
38128
38183
|
);
|
|
38129
|
-
var sdkThemePaletteSchema =
|
|
38130
|
-
var sdkThemeConfigSchema =
|
|
38184
|
+
var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
|
|
38185
|
+
var sdkThemeConfigSchema = z63.object({
|
|
38131
38186
|
palette: sdkThemePaletteSchema
|
|
38132
38187
|
});
|
|
38133
|
-
var sdkSectionBackgroundSchema =
|
|
38134
|
-
id:
|
|
38135
|
-
label:
|
|
38136
|
-
token:
|
|
38188
|
+
var sdkSectionBackgroundSchema = z63.object({
|
|
38189
|
+
id: z63.string().min(1),
|
|
38190
|
+
label: z63.string().min(1),
|
|
38191
|
+
token: z63.string().min(1)
|
|
38137
38192
|
});
|
|
38138
|
-
var sdkSectionOptionsConfigSchema =
|
|
38139
|
-
backgroundColor:
|
|
38140
|
-
backgroundImage:
|
|
38141
|
-
backgroundGradient:
|
|
38142
|
-
spacing:
|
|
38143
|
-
textColor:
|
|
38193
|
+
var sdkSectionOptionsConfigSchema = z63.object({
|
|
38194
|
+
backgroundColor: z63.boolean().optional(),
|
|
38195
|
+
backgroundImage: z63.boolean().optional(),
|
|
38196
|
+
backgroundGradient: z63.boolean().optional(),
|
|
38197
|
+
spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
|
|
38198
|
+
textColor: z63.boolean().optional()
|
|
38144
38199
|
});
|
|
38145
|
-
var sdkContainerOptionsConfigSchema =
|
|
38146
|
-
maxWidth:
|
|
38147
|
-
alignment:
|
|
38200
|
+
var sdkContainerOptionsConfigSchema = z63.object({
|
|
38201
|
+
maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
|
|
38202
|
+
alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
|
|
38148
38203
|
});
|
|
38149
|
-
var sdkSiteStyleConfigSchema =
|
|
38150
|
-
sectionBackgrounds:
|
|
38204
|
+
var sdkSiteStyleConfigSchema = z63.object({
|
|
38205
|
+
sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
|
|
38151
38206
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
38152
38207
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
38153
38208
|
});
|
|
38154
|
-
var sdkSiteLayoutConfigSchema =
|
|
38155
|
-
footerBlocks:
|
|
38156
|
-
|
|
38157
|
-
id:
|
|
38158
|
-
kind:
|
|
38159
|
-
content:
|
|
38209
|
+
var sdkSiteLayoutConfigSchema = z63.object({
|
|
38210
|
+
footerBlocks: z63.array(
|
|
38211
|
+
z63.object({
|
|
38212
|
+
id: z63.string().min(1).optional(),
|
|
38213
|
+
kind: z63.string().min(1),
|
|
38214
|
+
content: z63.record(z63.string(), z63.unknown()).optional()
|
|
38160
38215
|
})
|
|
38161
38216
|
).optional()
|
|
38162
38217
|
});
|
|
38163
|
-
var sdkFieldSelectOptionSchema =
|
|
38164
|
-
value:
|
|
38165
|
-
label:
|
|
38218
|
+
var sdkFieldSelectOptionSchema = z63.object({
|
|
38219
|
+
value: z63.string(),
|
|
38220
|
+
label: z63.string()
|
|
38166
38221
|
});
|
|
38167
|
-
var sdkBlockFieldConfigSchema =
|
|
38168
|
-
options:
|
|
38222
|
+
var sdkBlockFieldConfigSchema = z63.object({
|
|
38223
|
+
options: z63.array(sdkFieldSelectOptionSchema).optional()
|
|
38169
38224
|
});
|
|
38170
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
38171
|
-
|
|
38225
|
+
var sdkBlockFieldOptionsMapSchema = z63.record(
|
|
38226
|
+
z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
38172
38227
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
38173
38228
|
}),
|
|
38174
|
-
|
|
38229
|
+
z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
|
|
38175
38230
|
).optional();
|
|
38176
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
38177
|
-
blocks:
|
|
38231
|
+
var sdkContentTypeTemplateConfigSchema = z63.object({
|
|
38232
|
+
blocks: z63.array(z63.unknown())
|
|
38178
38233
|
}).passthrough();
|
|
38179
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
38180
|
-
mode:
|
|
38234
|
+
var sdkContentTypeOrderingConfigSchema = z63.object({
|
|
38235
|
+
mode: z63.enum(["default", "manual"]).optional()
|
|
38181
38236
|
}).optional();
|
|
38182
|
-
var sdkContentTypeConfigSchema =
|
|
38183
|
-
key:
|
|
38184
|
-
fields:
|
|
38237
|
+
var sdkContentTypeConfigSchema = z63.object({
|
|
38238
|
+
key: z63.string().min(1),
|
|
38239
|
+
fields: z63.array(z63.unknown()),
|
|
38185
38240
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
38186
38241
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
38187
38242
|
}).passthrough();
|
|
38188
|
-
var sdkContentConfigSchema =
|
|
38189
|
-
contentTypes:
|
|
38190
|
-
pages:
|
|
38191
|
-
entries:
|
|
38192
|
-
navigationMenus:
|
|
38193
|
-
settings:
|
|
38243
|
+
var sdkContentConfigSchema = z63.object({
|
|
38244
|
+
contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
|
|
38245
|
+
pages: z63.array(z63.unknown()).optional(),
|
|
38246
|
+
entries: z63.array(z63.unknown()).optional(),
|
|
38247
|
+
navigationMenus: z63.array(z63.unknown()).optional(),
|
|
38248
|
+
settings: z63.unknown().optional()
|
|
38194
38249
|
}).passthrough();
|
|
38195
38250
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
38196
38251
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -38205,62 +38260,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
38205
38260
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
38206
38261
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
38207
38262
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
38208
|
-
var sdkWorkflowIdSchema =
|
|
38263
|
+
var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
38209
38264
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
38210
38265
|
});
|
|
38211
|
-
var sdkWorkflowEndpointSchema =
|
|
38212
|
-
var sdkWorkflowManualTriggerSchema =
|
|
38213
|
-
type:
|
|
38266
|
+
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 "/"' });
|
|
38267
|
+
var sdkWorkflowManualTriggerSchema = z63.object({
|
|
38268
|
+
type: z63.literal("manual")
|
|
38214
38269
|
}).strict();
|
|
38215
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38270
|
+
var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
38216
38271
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
38217
38272
|
});
|
|
38218
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38273
|
+
var sdkWorkflowFieldChangedConditionSchema = z63.object({
|
|
38219
38274
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38220
|
-
changed:
|
|
38275
|
+
changed: z63.literal(true)
|
|
38221
38276
|
}).strict();
|
|
38222
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38277
|
+
var sdkWorkflowFieldEmptyConditionSchema = z63.object({
|
|
38223
38278
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38224
|
-
isEmpty:
|
|
38279
|
+
isEmpty: z63.boolean()
|
|
38225
38280
|
}).strict();
|
|
38226
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
38227
|
-
type:
|
|
38228
|
-
when:
|
|
38229
|
-
|
|
38281
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
|
|
38282
|
+
type: z63.literal("entry.draft.updated"),
|
|
38283
|
+
when: z63.array(
|
|
38284
|
+
z63.union([
|
|
38230
38285
|
sdkWorkflowFieldChangedConditionSchema,
|
|
38231
38286
|
sdkWorkflowFieldEmptyConditionSchema
|
|
38232
38287
|
])
|
|
38233
38288
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
38234
38289
|
}).strict();
|
|
38235
|
-
var sdkWorkflowTriggerSchema =
|
|
38290
|
+
var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
|
|
38236
38291
|
sdkWorkflowManualTriggerSchema,
|
|
38237
38292
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
38238
38293
|
]);
|
|
38239
|
-
var sdkWorkflowConfirmationSchema =
|
|
38240
|
-
title:
|
|
38241
|
-
body:
|
|
38294
|
+
var sdkWorkflowConfirmationSchema = z63.object({
|
|
38295
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
38296
|
+
body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
38242
38297
|
}).strict();
|
|
38243
|
-
var sdkWorkflowConfigSchema =
|
|
38298
|
+
var sdkWorkflowConfigSchema = z63.object({
|
|
38244
38299
|
id: sdkWorkflowIdSchema,
|
|
38245
|
-
title:
|
|
38246
|
-
description:
|
|
38247
|
-
contentType:
|
|
38300
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
38301
|
+
description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
38302
|
+
contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
38248
38303
|
endpoint: sdkWorkflowEndpointSchema,
|
|
38249
|
-
triggers:
|
|
38304
|
+
triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
38250
38305
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
38251
38306
|
}).strict();
|
|
38252
|
-
var sdkWorkflowsSchema =
|
|
38307
|
+
var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
38253
38308
|
const ids = workflows.map((workflow) => workflow.id);
|
|
38254
38309
|
return ids.length === new Set(ids).size;
|
|
38255
38310
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
38256
|
-
var riverbankSiteConfigInputSchema =
|
|
38257
|
-
siteId:
|
|
38258
|
-
previewUrl:
|
|
38259
|
-
liveUrl:
|
|
38311
|
+
var riverbankSiteConfigInputSchema = z63.object({
|
|
38312
|
+
siteId: z63.string().uuid(),
|
|
38313
|
+
previewUrl: z63.string().url().optional(),
|
|
38314
|
+
liveUrl: z63.string().url().optional(),
|
|
38260
38315
|
theme: sdkThemeConfigSchema.optional(),
|
|
38261
38316
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
38262
38317
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
38263
|
-
customBlocks:
|
|
38318
|
+
customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
38264
38319
|
const ids = blocks.map((b) => b.id);
|
|
38265
38320
|
return ids.length === new Set(ids).size;
|
|
38266
38321
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -38268,50 +38323,50 @@ var riverbankSiteConfigInputSchema = z65.object({
|
|
|
38268
38323
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
38269
38324
|
workflows: sdkWorkflowsSchema,
|
|
38270
38325
|
content: sdkContentConfigSchema.optional(),
|
|
38271
|
-
contentDir:
|
|
38272
|
-
sync:
|
|
38273
|
-
existingEntries:
|
|
38326
|
+
contentDir: z63.string().optional(),
|
|
38327
|
+
sync: z63.object({
|
|
38328
|
+
existingEntries: z63.enum(["skip", "update"]).optional()
|
|
38274
38329
|
}).optional(),
|
|
38275
|
-
deploy:
|
|
38276
|
-
verifyCommand:
|
|
38277
|
-
prebuildOutput:
|
|
38330
|
+
deploy: z63.object({
|
|
38331
|
+
verifyCommand: z63.string().optional(),
|
|
38332
|
+
prebuildOutput: z63.string().optional()
|
|
38278
38333
|
}).optional(),
|
|
38279
|
-
themeSource:
|
|
38280
|
-
activeTheme:
|
|
38281
|
-
enablePortal:
|
|
38334
|
+
themeSource: z63.enum(["local", "cms"]).optional(),
|
|
38335
|
+
activeTheme: z63.string().optional(),
|
|
38336
|
+
enablePortal: z63.boolean().optional(),
|
|
38282
38337
|
dashboard: dashboardConfigSchema.optional()
|
|
38283
38338
|
}).strict();
|
|
38284
|
-
var pushSdkConfigBodySchema =
|
|
38339
|
+
var pushSdkConfigBodySchema = z63.object({
|
|
38285
38340
|
config: riverbankSiteConfigInputSchema,
|
|
38286
|
-
forceContentTypes:
|
|
38341
|
+
forceContentTypes: z63.boolean().optional()
|
|
38287
38342
|
}).strict();
|
|
38288
38343
|
|
|
38289
38344
|
// ../api/src/siteOnboarding.ts
|
|
38290
|
-
import { z as
|
|
38345
|
+
import { z as z64 } from "zod";
|
|
38291
38346
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
38292
38347
|
configure_appointments: {
|
|
38293
38348
|
requirementId: "configure_appointments",
|
|
38294
38349
|
reason: "launch_anyway"
|
|
38295
38350
|
}
|
|
38296
38351
|
};
|
|
38297
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38352
|
+
var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
|
|
38298
38353
|
"requirementId",
|
|
38299
38354
|
[
|
|
38300
|
-
|
|
38301
|
-
requirementId:
|
|
38355
|
+
z64.object({
|
|
38356
|
+
requirementId: z64.literal("review_generated_site")
|
|
38302
38357
|
}),
|
|
38303
|
-
|
|
38304
|
-
requirementId:
|
|
38358
|
+
z64.object({
|
|
38359
|
+
requirementId: z64.literal(
|
|
38305
38360
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
38306
38361
|
),
|
|
38307
|
-
overrideReason:
|
|
38362
|
+
overrideReason: z64.literal(
|
|
38308
38363
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
38309
38364
|
)
|
|
38310
38365
|
})
|
|
38311
38366
|
]
|
|
38312
38367
|
);
|
|
38313
|
-
var goLiveSiteRequestSchema =
|
|
38314
|
-
acceptExtraSiteCharge:
|
|
38368
|
+
var goLiveSiteRequestSchema = z64.object({
|
|
38369
|
+
acceptExtraSiteCharge: z64.boolean().optional()
|
|
38315
38370
|
});
|
|
38316
38371
|
|
|
38317
38372
|
// ../surfaces/src/index.ts
|
|
@@ -38395,7 +38450,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
38395
38450
|
];
|
|
38396
38451
|
|
|
38397
38452
|
// ../api/src/bookingVerticals.ts
|
|
38398
|
-
import { z as
|
|
38453
|
+
import { z as z65 } from "zod";
|
|
38399
38454
|
var VERTICAL_IDS = [
|
|
38400
38455
|
"yoga_wellness",
|
|
38401
38456
|
"fitness_pt",
|
|
@@ -38560,39 +38615,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
38560
38615
|
}
|
|
38561
38616
|
return [...issues];
|
|
38562
38617
|
}
|
|
38563
|
-
var VerticalIdSchema =
|
|
38618
|
+
var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
38564
38619
|
const parsed = parseVerticalId(value);
|
|
38565
38620
|
if (!parsed) {
|
|
38566
38621
|
ctx.addIssue({
|
|
38567
|
-
code:
|
|
38622
|
+
code: z65.ZodIssueCode.custom,
|
|
38568
38623
|
message: "Unknown booking vertical"
|
|
38569
38624
|
});
|
|
38570
|
-
return
|
|
38625
|
+
return z65.NEVER;
|
|
38571
38626
|
}
|
|
38572
38627
|
return parsed;
|
|
38573
38628
|
});
|
|
38574
|
-
var VerticalPresetIdSchema =
|
|
38629
|
+
var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
38575
38630
|
const parsed = parseVerticalPresetId(value);
|
|
38576
38631
|
if (!parsed) {
|
|
38577
38632
|
ctx.addIssue({
|
|
38578
|
-
code:
|
|
38633
|
+
code: z65.ZodIssueCode.custom,
|
|
38579
38634
|
message: "Unknown booking preset"
|
|
38580
38635
|
});
|
|
38581
|
-
return
|
|
38636
|
+
return z65.NEVER;
|
|
38582
38637
|
}
|
|
38583
38638
|
return parsed;
|
|
38584
38639
|
});
|
|
38585
|
-
var BookingVerticalConfigSchema =
|
|
38640
|
+
var BookingVerticalConfigSchema = z65.object({
|
|
38586
38641
|
verticalId: VerticalIdSchema.nullable(),
|
|
38587
|
-
selectedPresetIds:
|
|
38642
|
+
selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
|
|
38588
38643
|
}).transform((value, ctx) => {
|
|
38589
38644
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
38590
38645
|
if (resolved.kind === "invalid") {
|
|
38591
38646
|
ctx.addIssue({
|
|
38592
|
-
code:
|
|
38647
|
+
code: z65.ZodIssueCode.custom,
|
|
38593
38648
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
38594
38649
|
});
|
|
38595
|
-
return
|
|
38650
|
+
return z65.NEVER;
|
|
38596
38651
|
}
|
|
38597
38652
|
return resolved.config;
|
|
38598
38653
|
});
|
|
@@ -38619,51 +38674,51 @@ function isRecord7(value) {
|
|
|
38619
38674
|
}
|
|
38620
38675
|
|
|
38621
38676
|
// ../api/src/appointmentSetup.ts
|
|
38622
|
-
import { z as
|
|
38677
|
+
import { z as z66 } from "zod";
|
|
38623
38678
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
38624
|
-
var appointmentSetupRefSchema =
|
|
38625
|
-
|
|
38626
|
-
|
|
38679
|
+
var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
|
|
38680
|
+
z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
|
|
38681
|
+
z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
|
|
38627
38682
|
]);
|
|
38628
|
-
var appointmentSetupVenueChoiceSchema =
|
|
38629
|
-
|
|
38630
|
-
|
|
38631
|
-
|
|
38632
|
-
kind:
|
|
38633
|
-
draftId:
|
|
38634
|
-
title:
|
|
38635
|
-
description:
|
|
38636
|
-
timezone:
|
|
38637
|
-
addressJson:
|
|
38638
|
-
locationJson:
|
|
38683
|
+
var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
|
|
38684
|
+
z66.object({ kind: z66.literal("none") }),
|
|
38685
|
+
z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
|
|
38686
|
+
z66.object({
|
|
38687
|
+
kind: z66.literal("create"),
|
|
38688
|
+
draftId: z66.string().min(1),
|
|
38689
|
+
title: z66.string().trim().min(1),
|
|
38690
|
+
description: z66.string().nullable(),
|
|
38691
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
38692
|
+
addressJson: z66.record(z66.string(), z66.unknown()),
|
|
38693
|
+
locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
|
|
38639
38694
|
})
|
|
38640
38695
|
]);
|
|
38641
|
-
var appointmentSetupPaymentDraftSchema =
|
|
38642
|
-
priceType:
|
|
38643
|
-
});
|
|
38644
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
38645
|
-
|
|
38646
|
-
|
|
38647
|
-
kind:
|
|
38648
|
-
resourceRefs:
|
|
38696
|
+
var appointmentSetupPaymentDraftSchema = z66.object({
|
|
38697
|
+
priceType: z66.union([z66.literal("free"), z66.literal("paid")])
|
|
38698
|
+
});
|
|
38699
|
+
var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
|
|
38700
|
+
z66.object({ kind: z66.literal("all_practitioners") }),
|
|
38701
|
+
z66.object({
|
|
38702
|
+
kind: z66.literal("selected_practitioners"),
|
|
38703
|
+
resourceRefs: z66.array(appointmentSetupRefSchema)
|
|
38649
38704
|
})
|
|
38650
38705
|
]);
|
|
38651
|
-
var appointmentSetupServiceDraftSchema =
|
|
38706
|
+
var appointmentSetupServiceDraftSchema = z66.object({
|
|
38652
38707
|
ref: appointmentSetupRefSchema,
|
|
38653
|
-
title:
|
|
38654
|
-
description:
|
|
38655
|
-
durationMinutes:
|
|
38656
|
-
prepMinutes:
|
|
38657
|
-
cleanupMinutes:
|
|
38658
|
-
priceAmount:
|
|
38659
|
-
isActive:
|
|
38660
|
-
locationType:
|
|
38661
|
-
|
|
38662
|
-
|
|
38663
|
-
|
|
38708
|
+
title: z66.string().trim().min(1),
|
|
38709
|
+
description: z66.string().nullable(),
|
|
38710
|
+
durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
38711
|
+
prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38712
|
+
cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38713
|
+
priceAmount: z66.number().int().nonnegative().nullable(),
|
|
38714
|
+
isActive: z66.boolean(),
|
|
38715
|
+
locationType: z66.union([
|
|
38716
|
+
z66.literal("virtual"),
|
|
38717
|
+
z66.literal("in_person"),
|
|
38718
|
+
z66.literal("hybrid")
|
|
38664
38719
|
]),
|
|
38665
38720
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38666
|
-
timezone:
|
|
38721
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
38667
38722
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38668
38723
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
38669
38724
|
}).superRefine((service, ctx) => {
|
|
@@ -38682,49 +38737,49 @@ var appointmentSetupServiceDraftSchema = z68.object({
|
|
|
38682
38737
|
});
|
|
38683
38738
|
}
|
|
38684
38739
|
});
|
|
38685
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
38740
|
+
var appointmentSetupPractitionerDraftSchema = z66.object({
|
|
38686
38741
|
ref: appointmentSetupRefSchema,
|
|
38687
|
-
displayName:
|
|
38688
|
-
bio:
|
|
38689
|
-
timezone:
|
|
38690
|
-
colorHex:
|
|
38691
|
-
});
|
|
38692
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
38693
|
-
weekday:
|
|
38694
|
-
startTime:
|
|
38695
|
-
endTime:
|
|
38696
|
-
});
|
|
38697
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
38698
|
-
|
|
38699
|
-
|
|
38700
|
-
kind:
|
|
38701
|
-
intervalMinutes:
|
|
38702
|
-
|
|
38703
|
-
|
|
38704
|
-
|
|
38705
|
-
|
|
38706
|
-
|
|
38707
|
-
|
|
38742
|
+
displayName: z66.string().trim().min(1),
|
|
38743
|
+
bio: z66.string().nullable(),
|
|
38744
|
+
timezone: z66.string().trim().min(1),
|
|
38745
|
+
colorHex: z66.string().nullable()
|
|
38746
|
+
});
|
|
38747
|
+
var appointmentSetupWeeklyWindowDraftSchema = z66.object({
|
|
38748
|
+
weekday: z66.number().int().min(0).max(6),
|
|
38749
|
+
startTime: z66.string(),
|
|
38750
|
+
endTime: z66.string()
|
|
38751
|
+
});
|
|
38752
|
+
var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
|
|
38753
|
+
z66.object({ kind: z66.literal("automatic_spacing") }),
|
|
38754
|
+
z66.object({
|
|
38755
|
+
kind: z66.literal("regular_interval"),
|
|
38756
|
+
intervalMinutes: z66.union([
|
|
38757
|
+
z66.literal(10),
|
|
38758
|
+
z66.literal(15),
|
|
38759
|
+
z66.literal(20),
|
|
38760
|
+
z66.literal(30),
|
|
38761
|
+
z66.literal(45),
|
|
38762
|
+
z66.literal(60)
|
|
38708
38763
|
])
|
|
38709
38764
|
})
|
|
38710
38765
|
]);
|
|
38711
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
38712
|
-
kind:
|
|
38766
|
+
var appointmentSetupAvailabilityDraftSchema = z66.object({
|
|
38767
|
+
kind: z66.literal("weekly_windows"),
|
|
38713
38768
|
resourceRef: appointmentSetupRefSchema,
|
|
38714
38769
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
38715
|
-
windows:
|
|
38770
|
+
windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
38716
38771
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
38717
38772
|
});
|
|
38718
38773
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
38719
38774
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
38720
|
-
var appointmentSetupBookingNoticeSchema =
|
|
38721
|
-
minLeadMinutes:
|
|
38722
|
-
maxBookingNoticeMinutes:
|
|
38723
|
-
});
|
|
38724
|
-
var applyAppointmentSetupRequestSchema =
|
|
38725
|
-
services:
|
|
38726
|
-
practitioners:
|
|
38727
|
-
availability:
|
|
38775
|
+
var appointmentSetupBookingNoticeSchema = z66.object({
|
|
38776
|
+
minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
38777
|
+
maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
38778
|
+
});
|
|
38779
|
+
var applyAppointmentSetupRequestSchema = z66.object({
|
|
38780
|
+
services: z66.array(appointmentSetupServiceDraftSchema),
|
|
38781
|
+
practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
|
|
38782
|
+
availability: z66.array(appointmentSetupAvailabilityDraftSchema),
|
|
38728
38783
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
38729
38784
|
});
|
|
38730
38785
|
|
|
@@ -38757,24 +38812,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
38757
38812
|
];
|
|
38758
38813
|
|
|
38759
38814
|
// ../api/src/siteBanner.ts
|
|
38760
|
-
import { z as
|
|
38815
|
+
import { z as z67 } from "zod";
|
|
38761
38816
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
38762
38817
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
38763
38818
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
38764
38819
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
38765
|
-
var siteBannerScopeSchema =
|
|
38766
|
-
var siteBannerToneSchema =
|
|
38767
|
-
var siteBannerBodySchema =
|
|
38768
|
-
var siteBannerCtaSchema =
|
|
38769
|
-
label:
|
|
38820
|
+
var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
|
|
38821
|
+
var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
|
|
38822
|
+
var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
|
|
38823
|
+
var siteBannerCtaSchema = z67.object({
|
|
38824
|
+
label: z67.string().trim().min(1),
|
|
38770
38825
|
link: linkPayloadSchema
|
|
38771
38826
|
});
|
|
38772
|
-
var siteBannerSettingsSchema =
|
|
38773
|
-
|
|
38774
|
-
enabled:
|
|
38827
|
+
var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
|
|
38828
|
+
z67.object({
|
|
38829
|
+
enabled: z67.literal(false)
|
|
38775
38830
|
}),
|
|
38776
|
-
|
|
38777
|
-
enabled:
|
|
38831
|
+
z67.object({
|
|
38832
|
+
enabled: z67.literal(true),
|
|
38778
38833
|
scope: siteBannerScopeSchema,
|
|
38779
38834
|
tone: siteBannerToneSchema,
|
|
38780
38835
|
body: siteBannerBodySchema,
|
|
@@ -38788,7 +38843,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38788
38843
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38789
38844
|
for (const issue of analysis.issues) {
|
|
38790
38845
|
ctx.addIssue({
|
|
38791
|
-
code:
|
|
38846
|
+
code: z67.ZodIssueCode.custom,
|
|
38792
38847
|
path: ["body"],
|
|
38793
38848
|
message: siteBannerBodyIssueMessage(issue)
|
|
38794
38849
|
});
|
|
@@ -39095,75 +39150,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
39095
39150
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
39096
39151
|
|
|
39097
39152
|
// ../api/src/aiPlayground.ts
|
|
39098
|
-
import { z as
|
|
39099
|
-
var Rfc6902PatchOp =
|
|
39153
|
+
import { z as z68 } from "zod";
|
|
39154
|
+
var Rfc6902PatchOp = z68.discriminatedUnion("op", [
|
|
39100
39155
|
// Standard RFC-6902 operations
|
|
39101
|
-
|
|
39102
|
-
op:
|
|
39103
|
-
path:
|
|
39104
|
-
value:
|
|
39156
|
+
z68.object({
|
|
39157
|
+
op: z68.literal("add"),
|
|
39158
|
+
path: z68.string(),
|
|
39159
|
+
value: z68.unknown()
|
|
39105
39160
|
}),
|
|
39106
|
-
|
|
39107
|
-
op:
|
|
39108
|
-
path:
|
|
39161
|
+
z68.object({
|
|
39162
|
+
op: z68.literal("remove"),
|
|
39163
|
+
path: z68.string()
|
|
39109
39164
|
}),
|
|
39110
|
-
|
|
39111
|
-
op:
|
|
39112
|
-
path:
|
|
39113
|
-
value:
|
|
39165
|
+
z68.object({
|
|
39166
|
+
op: z68.literal("replace"),
|
|
39167
|
+
path: z68.string(),
|
|
39168
|
+
value: z68.unknown()
|
|
39114
39169
|
}),
|
|
39115
|
-
|
|
39116
|
-
op:
|
|
39117
|
-
from:
|
|
39118
|
-
path:
|
|
39170
|
+
z68.object({
|
|
39171
|
+
op: z68.literal("move"),
|
|
39172
|
+
from: z68.string(),
|
|
39173
|
+
path: z68.string()
|
|
39119
39174
|
}),
|
|
39120
|
-
|
|
39121
|
-
op:
|
|
39122
|
-
from:
|
|
39123
|
-
path:
|
|
39175
|
+
z68.object({
|
|
39176
|
+
op: z68.literal("copy"),
|
|
39177
|
+
from: z68.string(),
|
|
39178
|
+
path: z68.string()
|
|
39124
39179
|
}),
|
|
39125
39180
|
// Block-level operations (Phase 2)
|
|
39126
|
-
|
|
39127
|
-
op:
|
|
39128
|
-
blockKind:
|
|
39129
|
-
afterBlockId:
|
|
39130
|
-
content:
|
|
39131
|
-
rationale:
|
|
39181
|
+
z68.object({
|
|
39182
|
+
op: z68.literal("add_block"),
|
|
39183
|
+
blockKind: z68.string(),
|
|
39184
|
+
afterBlockId: z68.string().nullable(),
|
|
39185
|
+
content: z68.record(z68.string(), z68.unknown()),
|
|
39186
|
+
rationale: z68.string()
|
|
39132
39187
|
}),
|
|
39133
|
-
|
|
39134
|
-
op:
|
|
39135
|
-
blockId:
|
|
39136
|
-
rationale:
|
|
39188
|
+
z68.object({
|
|
39189
|
+
op: z68.literal("delete_block"),
|
|
39190
|
+
blockId: z68.string(),
|
|
39191
|
+
rationale: z68.string()
|
|
39137
39192
|
}),
|
|
39138
|
-
|
|
39139
|
-
op:
|
|
39140
|
-
blockId:
|
|
39141
|
-
afterBlockId:
|
|
39142
|
-
rationale:
|
|
39193
|
+
z68.object({
|
|
39194
|
+
op: z68.literal("reorder_block"),
|
|
39195
|
+
blockId: z68.string(),
|
|
39196
|
+
afterBlockId: z68.string().nullable(),
|
|
39197
|
+
rationale: z68.string()
|
|
39143
39198
|
})
|
|
39144
39199
|
]);
|
|
39145
|
-
var PlaygroundProposeRequest =
|
|
39146
|
-
request:
|
|
39200
|
+
var PlaygroundProposeRequest = z68.object({
|
|
39201
|
+
request: z68.string().min(1).max(2e3)
|
|
39147
39202
|
});
|
|
39148
|
-
var MultiPagePatchEnvelope =
|
|
39149
|
-
pageId:
|
|
39150
|
-
blockId:
|
|
39203
|
+
var MultiPagePatchEnvelope = z68.object({
|
|
39204
|
+
pageId: z68.string(),
|
|
39205
|
+
blockId: z68.string().optional(),
|
|
39151
39206
|
// Not present for page-level ops
|
|
39152
|
-
blockKind:
|
|
39153
|
-
blockPurpose:
|
|
39154
|
-
ops:
|
|
39155
|
-
rationale:
|
|
39156
|
-
currentContent:
|
|
39207
|
+
blockKind: z68.string().optional(),
|
|
39208
|
+
blockPurpose: z68.string().optional().nullable(),
|
|
39209
|
+
ops: z68.array(Rfc6902PatchOp),
|
|
39210
|
+
rationale: z68.string(),
|
|
39211
|
+
currentContent: z68.record(z68.string(), z68.unknown()).optional()
|
|
39157
39212
|
});
|
|
39158
|
-
var MultiPageUpdateResponse =
|
|
39159
|
-
patches:
|
|
39160
|
-
assistantMessage:
|
|
39161
|
-
pagesModified:
|
|
39162
|
-
toolCallsUsed:
|
|
39213
|
+
var MultiPageUpdateResponse = z68.object({
|
|
39214
|
+
patches: z68.array(MultiPagePatchEnvelope),
|
|
39215
|
+
assistantMessage: z68.string(),
|
|
39216
|
+
pagesModified: z68.number(),
|
|
39217
|
+
toolCallsUsed: z68.number()
|
|
39163
39218
|
});
|
|
39164
39219
|
|
|
39165
39220
|
// src/config/content-validation.ts
|
|
39166
|
-
import { z as
|
|
39221
|
+
import { z as z69 } from "zod";
|
|
39167
39222
|
|
|
39168
39223
|
// src/types/block-kinds.ts
|
|
39169
39224
|
var SYSTEM_BLOCK_KINDS = [
|
|
@@ -39307,36 +39362,36 @@ function describeInvalidBindingTransform(transform) {
|
|
|
39307
39362
|
}
|
|
39308
39363
|
|
|
39309
39364
|
// src/config/content-validation.ts
|
|
39310
|
-
var jsonDataSchema =
|
|
39311
|
-
var contentTypeKeySchema =
|
|
39365
|
+
var jsonDataSchema = z69.record(z69.string(), z69.any());
|
|
39366
|
+
var contentTypeKeySchema = z69.string().min(1).regex(
|
|
39312
39367
|
/^[a-z][a-z0-9-]*$/,
|
|
39313
39368
|
"Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
|
|
39314
39369
|
);
|
|
39315
|
-
var templateConfigSchemaForward =
|
|
39316
|
-
blocks:
|
|
39317
|
-
|
|
39318
|
-
identifier:
|
|
39319
|
-
kind:
|
|
39320
|
-
scope:
|
|
39321
|
-
bindings:
|
|
39322
|
-
content:
|
|
39370
|
+
var templateConfigSchemaForward = z69.object({
|
|
39371
|
+
blocks: z69.array(
|
|
39372
|
+
z69.object({
|
|
39373
|
+
identifier: z69.string().min(1),
|
|
39374
|
+
kind: z69.string(),
|
|
39375
|
+
scope: z69.enum(["entry", "template"]),
|
|
39376
|
+
bindings: z69.record(z69.string(), z69.any()).optional(),
|
|
39377
|
+
content: z69.record(z69.string(), z69.any()).optional()
|
|
39323
39378
|
})
|
|
39324
39379
|
)
|
|
39325
39380
|
}).optional();
|
|
39326
|
-
var contentTypeOrderingSchema =
|
|
39327
|
-
mode:
|
|
39381
|
+
var contentTypeOrderingSchema = z69.object({
|
|
39382
|
+
mode: z69.enum(["default", "manual"]).optional()
|
|
39328
39383
|
}).optional();
|
|
39329
|
-
var contentTypeConfigSchema =
|
|
39384
|
+
var contentTypeConfigSchema = z69.object({
|
|
39330
39385
|
key: contentTypeKeySchema,
|
|
39331
|
-
name:
|
|
39332
|
-
description:
|
|
39333
|
-
hasPages:
|
|
39334
|
-
routePattern:
|
|
39386
|
+
name: z69.string().min(1),
|
|
39387
|
+
description: z69.string().optional(),
|
|
39388
|
+
hasPages: z69.boolean(),
|
|
39389
|
+
routePattern: z69.string().optional(),
|
|
39335
39390
|
// Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
|
|
39336
|
-
fields:
|
|
39337
|
-
titleField:
|
|
39391
|
+
fields: z69.array(z69.any()).min(1, "At least one field is required"),
|
|
39392
|
+
titleField: z69.string().optional(),
|
|
39338
39393
|
ordering: contentTypeOrderingSchema,
|
|
39339
|
-
isSingleton:
|
|
39394
|
+
isSingleton: z69.boolean().optional().default(false),
|
|
39340
39395
|
template: templateConfigSchemaForward
|
|
39341
39396
|
}).refine(
|
|
39342
39397
|
(data) => {
|
|
@@ -39358,7 +39413,7 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39358
39413
|
}
|
|
39359
39414
|
if (!data.routePattern) {
|
|
39360
39415
|
ctx.addIssue({
|
|
39361
|
-
code:
|
|
39416
|
+
code: z69.ZodIssueCode.custom,
|
|
39362
39417
|
path: ["routePattern"],
|
|
39363
39418
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39364
39419
|
});
|
|
@@ -39367,7 +39422,7 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39367
39422
|
const parseResult = safeParseRouteTemplate(data.routePattern);
|
|
39368
39423
|
if (!parseResult.success) {
|
|
39369
39424
|
ctx.addIssue({
|
|
39370
|
-
code:
|
|
39425
|
+
code: z69.ZodIssueCode.custom,
|
|
39371
39426
|
path: ["routePattern"],
|
|
39372
39427
|
message: describeRouteTemplateParseError(parseResult.error)
|
|
39373
39428
|
});
|
|
@@ -39375,44 +39430,44 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39375
39430
|
}
|
|
39376
39431
|
if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
|
|
39377
39432
|
ctx.addIssue({
|
|
39378
|
-
code:
|
|
39433
|
+
code: z69.ZodIssueCode.custom,
|
|
39379
39434
|
path: ["routePattern"],
|
|
39380
39435
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39381
39436
|
});
|
|
39382
39437
|
}
|
|
39383
39438
|
});
|
|
39384
|
-
var fieldBindingSchema =
|
|
39385
|
-
source:
|
|
39386
|
-
path:
|
|
39439
|
+
var fieldBindingSchema = z69.object({
|
|
39440
|
+
source: z69.literal("field"),
|
|
39441
|
+
path: z69.string().min(1, "Field path is required")
|
|
39387
39442
|
});
|
|
39388
|
-
var metaBindingSchema =
|
|
39389
|
-
source:
|
|
39390
|
-
path:
|
|
39443
|
+
var metaBindingSchema = z69.object({
|
|
39444
|
+
source: z69.literal("meta"),
|
|
39445
|
+
path: z69.enum(TEMPLATE_BINDING_META_PATHS, {
|
|
39391
39446
|
error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
|
|
39392
39447
|
})
|
|
39393
39448
|
});
|
|
39394
|
-
var literalBindingSchema =
|
|
39395
|
-
source:
|
|
39396
|
-
value:
|
|
39449
|
+
var literalBindingSchema = z69.object({
|
|
39450
|
+
source: z69.literal("literal"),
|
|
39451
|
+
value: z69.unknown()
|
|
39397
39452
|
});
|
|
39398
|
-
var transformBindingSchema =
|
|
39399
|
-
source:
|
|
39400
|
-
path:
|
|
39401
|
-
transform:
|
|
39453
|
+
var transformBindingSchema = z69.object({
|
|
39454
|
+
source: z69.literal("transform"),
|
|
39455
|
+
path: z69.string().min(1, "Transform path is required"),
|
|
39456
|
+
transform: z69.enum(BINDING_TRANSFORM_VALUES, {
|
|
39402
39457
|
error: (issue) => describeInvalidBindingTransform(String(issue.input))
|
|
39403
39458
|
})
|
|
39404
39459
|
});
|
|
39405
|
-
var baseBindingSchema =
|
|
39460
|
+
var baseBindingSchema = z69.discriminatedUnion("source", [
|
|
39406
39461
|
fieldBindingSchema,
|
|
39407
39462
|
metaBindingSchema,
|
|
39408
39463
|
literalBindingSchema,
|
|
39409
39464
|
transformBindingSchema
|
|
39410
39465
|
]);
|
|
39411
|
-
var fallbackBindingSchema =
|
|
39412
|
-
source:
|
|
39413
|
-
sources:
|
|
39466
|
+
var fallbackBindingSchema = z69.object({
|
|
39467
|
+
source: z69.literal("fallback"),
|
|
39468
|
+
sources: z69.array(z69.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
|
|
39414
39469
|
});
|
|
39415
|
-
var bindingSourceSchema =
|
|
39470
|
+
var bindingSourceSchema = z69.union([
|
|
39416
39471
|
baseBindingSchema,
|
|
39417
39472
|
fallbackBindingSchema
|
|
39418
39473
|
]);
|
|
@@ -39426,12 +39481,12 @@ function isValidBlockKind(kind) {
|
|
|
39426
39481
|
return false;
|
|
39427
39482
|
}
|
|
39428
39483
|
var BLOCK_KIND_ERROR_MESSAGE = 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.myBlock")';
|
|
39429
|
-
var blockKindSchema =
|
|
39430
|
-
var templateBlockConfigSchema =
|
|
39431
|
-
identifier:
|
|
39484
|
+
var blockKindSchema = z69.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
|
|
39485
|
+
var templateBlockConfigSchema = z69.object({
|
|
39486
|
+
identifier: z69.string().min(1, "Block identifier is required"),
|
|
39432
39487
|
kind: blockKindSchema,
|
|
39433
|
-
scope:
|
|
39434
|
-
bindings:
|
|
39488
|
+
scope: z69.enum(["entry", "template"]),
|
|
39489
|
+
bindings: z69.record(z69.string(), bindingSourceSchema).optional(),
|
|
39435
39490
|
content: jsonDataSchema.optional()
|
|
39436
39491
|
}).refine(
|
|
39437
39492
|
(data) => {
|
|
@@ -39450,8 +39505,8 @@ var templateBlockConfigSchema = z71.object({
|
|
|
39450
39505
|
},
|
|
39451
39506
|
{ message: "Template-scoped blocks should define static content, not bindings" }
|
|
39452
39507
|
);
|
|
39453
|
-
var templateConfigSchema =
|
|
39454
|
-
blocks:
|
|
39508
|
+
var templateConfigSchema = z69.object({
|
|
39509
|
+
blocks: z69.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
|
|
39455
39510
|
}).refine(
|
|
39456
39511
|
(data) => {
|
|
39457
39512
|
const identifiers = data.blocks.map((b) => b.identifier);
|
|
@@ -39460,77 +39515,77 @@ var templateConfigSchema = z71.object({
|
|
|
39460
39515
|
},
|
|
39461
39516
|
{ message: "Template block identifiers must be unique" }
|
|
39462
39517
|
);
|
|
39463
|
-
var blockConfigSchema =
|
|
39518
|
+
var blockConfigSchema = z69.object({
|
|
39464
39519
|
kind: blockKindSchema,
|
|
39465
39520
|
content: jsonDataSchema,
|
|
39466
|
-
orderIndex:
|
|
39467
|
-
});
|
|
39468
|
-
var pageConfigSchema =
|
|
39469
|
-
identifier:
|
|
39470
|
-
title:
|
|
39471
|
-
path:
|
|
39472
|
-
purpose:
|
|
39473
|
-
blocks:
|
|
39474
|
-
status:
|
|
39475
|
-
metaTitle:
|
|
39476
|
-
metaDescription:
|
|
39477
|
-
});
|
|
39478
|
-
var entryConfigSchema =
|
|
39479
|
-
identifier:
|
|
39480
|
-
contentType:
|
|
39521
|
+
orderIndex: z69.number().optional()
|
|
39522
|
+
});
|
|
39523
|
+
var pageConfigSchema = z69.object({
|
|
39524
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39525
|
+
title: z69.string().min(1, "Title is required"),
|
|
39526
|
+
path: z69.string().regex(/^\//, "Path must start with /"),
|
|
39527
|
+
purpose: z69.string().default("content"),
|
|
39528
|
+
blocks: z69.array(blockConfigSchema).optional(),
|
|
39529
|
+
status: z69.enum(["draft", "published"]).default("draft"),
|
|
39530
|
+
metaTitle: z69.string().optional(),
|
|
39531
|
+
metaDescription: z69.string().optional()
|
|
39532
|
+
});
|
|
39533
|
+
var entryConfigSchema = z69.object({
|
|
39534
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39535
|
+
contentType: z69.string().min(1, "Content type is required"),
|
|
39481
39536
|
data: jsonDataSchema,
|
|
39482
|
-
status:
|
|
39483
|
-
slug:
|
|
39484
|
-
summary:
|
|
39537
|
+
status: z69.enum(["draft", "published"]).default("draft"),
|
|
39538
|
+
slug: z69.string().optional(),
|
|
39539
|
+
summary: z69.string().optional(),
|
|
39485
39540
|
// Hard remove legacy config-only titles: titles must live in entry `data`.
|
|
39486
|
-
title:
|
|
39541
|
+
title: z69.any().optional().refine((value) => value === void 0, {
|
|
39487
39542
|
message: "Entry titles are now derived from entry data. Remove `title` and move it into `data` (e.g. `data.title`, or your configured `titleField`). Run `riverbankcms migrate entries` for guided migration."
|
|
39488
39543
|
}),
|
|
39489
|
-
metaTitle:
|
|
39490
|
-
metaDescription:
|
|
39544
|
+
metaTitle: z69.string().optional(),
|
|
39545
|
+
metaDescription: z69.string().optional()
|
|
39491
39546
|
});
|
|
39492
|
-
var dropdownLinkSchema =
|
|
39493
|
-
kind:
|
|
39547
|
+
var dropdownLinkSchema = z69.object({
|
|
39548
|
+
kind: z69.literal("dropdown")
|
|
39494
39549
|
});
|
|
39495
|
-
var navigationLinkSchema =
|
|
39550
|
+
var navigationLinkSchema = z69.discriminatedUnion("kind", [
|
|
39496
39551
|
...navigationLinkInputSchemaOptions,
|
|
39497
39552
|
dropdownLinkSchema
|
|
39498
39553
|
]);
|
|
39499
|
-
var baseNavigationItemSchema =
|
|
39500
|
-
label:
|
|
39554
|
+
var baseNavigationItemSchema = z69.object({
|
|
39555
|
+
label: z69.string().min(1, "Label is required"),
|
|
39501
39556
|
link: navigationLinkSchema,
|
|
39502
|
-
isCta:
|
|
39557
|
+
isCta: z69.boolean().optional()
|
|
39503
39558
|
});
|
|
39504
39559
|
var navigationItemConfigSchema = baseNavigationItemSchema.extend({
|
|
39505
|
-
children:
|
|
39506
|
-
});
|
|
39507
|
-
var navigationMenuConfigSchema =
|
|
39508
|
-
identifier:
|
|
39509
|
-
name:
|
|
39510
|
-
isPrimary:
|
|
39511
|
-
isFooter:
|
|
39512
|
-
items:
|
|
39560
|
+
children: z69.lazy(() => z69.array(navigationItemConfigSchema)).optional()
|
|
39561
|
+
});
|
|
39562
|
+
var navigationMenuConfigSchema = z69.object({
|
|
39563
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39564
|
+
name: z69.string().min(1, "Name is required"),
|
|
39565
|
+
isPrimary: z69.boolean().optional(),
|
|
39566
|
+
isFooter: z69.boolean().optional(),
|
|
39567
|
+
items: z69.array(navigationItemConfigSchema)
|
|
39513
39568
|
}).superRefine((menu, ctx) => {
|
|
39514
39569
|
const portalStats = collectPortalLinkStats(
|
|
39515
39570
|
menu.items
|
|
39516
39571
|
);
|
|
39517
39572
|
if (portalStats.count > 1) {
|
|
39518
39573
|
ctx.addIssue({
|
|
39519
|
-
code:
|
|
39574
|
+
code: z69.ZodIssueCode.custom,
|
|
39520
39575
|
message: "Only one portal link is allowed per navigation menu",
|
|
39521
39576
|
path: ["items"]
|
|
39522
39577
|
});
|
|
39523
39578
|
}
|
|
39524
39579
|
if (portalStats.nestedLabels.length > 0) {
|
|
39525
39580
|
ctx.addIssue({
|
|
39526
|
-
code:
|
|
39581
|
+
code: z69.ZodIssueCode.custom,
|
|
39527
39582
|
message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
|
|
39528
39583
|
path: ["items"]
|
|
39529
39584
|
});
|
|
39530
39585
|
}
|
|
39531
39586
|
if (portalStats.withChildrenLabels.length > 0) {
|
|
39532
39587
|
ctx.addIssue({
|
|
39533
|
-
code:
|
|
39588
|
+
code: z69.ZodIssueCode.custom,
|
|
39534
39589
|
message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
|
|
39535
39590
|
path: ["items"]
|
|
39536
39591
|
});
|
|
@@ -39540,44 +39595,44 @@ var navigationMenuConfigSchema = z71.object({
|
|
|
39540
39595
|
);
|
|
39541
39596
|
if (cartStats.nestedLabels.length > 0) {
|
|
39542
39597
|
ctx.addIssue({
|
|
39543
|
-
code:
|
|
39598
|
+
code: z69.ZodIssueCode.custom,
|
|
39544
39599
|
message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
|
|
39545
39600
|
path: ["items"]
|
|
39546
39601
|
});
|
|
39547
39602
|
}
|
|
39548
39603
|
if (cartStats.withChildrenLabels.length > 0) {
|
|
39549
39604
|
ctx.addIssue({
|
|
39550
|
-
code:
|
|
39605
|
+
code: z69.ZodIssueCode.custom,
|
|
39551
39606
|
message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
|
|
39552
39607
|
path: ["items"]
|
|
39553
39608
|
});
|
|
39554
39609
|
}
|
|
39555
39610
|
if (cartStats.ctaLabels.length > 0) {
|
|
39556
39611
|
ctx.addIssue({
|
|
39557
|
-
code:
|
|
39612
|
+
code: z69.ZodIssueCode.custom,
|
|
39558
39613
|
message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
|
|
39559
39614
|
path: ["items"]
|
|
39560
39615
|
});
|
|
39561
39616
|
}
|
|
39562
39617
|
if (cartStats.missingVisibleTextLabels.length > 0) {
|
|
39563
39618
|
ctx.addIssue({
|
|
39564
|
-
code:
|
|
39619
|
+
code: z69.ZodIssueCode.custom,
|
|
39565
39620
|
message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
|
|
39566
39621
|
path: ["items"]
|
|
39567
39622
|
});
|
|
39568
39623
|
}
|
|
39569
39624
|
});
|
|
39570
|
-
var siteSettingsConfigSchema =
|
|
39571
|
-
homepagePath:
|
|
39572
|
-
siteTitle:
|
|
39573
|
-
siteDescription:
|
|
39574
|
-
defaultTemplates:
|
|
39625
|
+
var siteSettingsConfigSchema = z69.object({
|
|
39626
|
+
homepagePath: z69.string().optional(),
|
|
39627
|
+
siteTitle: z69.string().optional(),
|
|
39628
|
+
siteDescription: z69.string().optional(),
|
|
39629
|
+
defaultTemplates: z69.record(z69.string(), z69.string()).optional()
|
|
39575
39630
|
});
|
|
39576
|
-
var contentConfigBaseSchema =
|
|
39577
|
-
contentTypes:
|
|
39578
|
-
entries:
|
|
39579
|
-
pages:
|
|
39580
|
-
navigationMenus:
|
|
39631
|
+
var contentConfigBaseSchema = z69.object({
|
|
39632
|
+
contentTypes: z69.array(contentTypeConfigSchema).optional(),
|
|
39633
|
+
entries: z69.array(entryConfigSchema).optional(),
|
|
39634
|
+
pages: z69.array(pageConfigSchema).optional(),
|
|
39635
|
+
navigationMenus: z69.array(navigationMenuConfigSchema).optional(),
|
|
39581
39636
|
settings: siteSettingsConfigSchema.optional()
|
|
39582
39637
|
});
|
|
39583
39638
|
var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
@@ -39586,7 +39641,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39586
39641
|
const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
|
|
39587
39642
|
if (duplicateKeys.length > 0) {
|
|
39588
39643
|
ctx.addIssue({
|
|
39589
|
-
code:
|
|
39644
|
+
code: z69.ZodIssueCode.custom,
|
|
39590
39645
|
message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
|
|
39591
39646
|
path: ["contentTypes"]
|
|
39592
39647
|
});
|
|
@@ -39597,7 +39652,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39597
39652
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39598
39653
|
if (duplicateIds.length > 0) {
|
|
39599
39654
|
ctx.addIssue({
|
|
39600
|
-
code:
|
|
39655
|
+
code: z69.ZodIssueCode.custom,
|
|
39601
39656
|
message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39602
39657
|
path: ["pages"]
|
|
39603
39658
|
});
|
|
@@ -39606,7 +39661,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39606
39661
|
const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
|
|
39607
39662
|
if (duplicatePaths.length > 0) {
|
|
39608
39663
|
ctx.addIssue({
|
|
39609
|
-
code:
|
|
39664
|
+
code: z69.ZodIssueCode.custom,
|
|
39610
39665
|
message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
|
|
39611
39666
|
path: ["pages"]
|
|
39612
39667
|
});
|
|
@@ -39617,7 +39672,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39617
39672
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39618
39673
|
if (duplicateIds.length > 0) {
|
|
39619
39674
|
ctx.addIssue({
|
|
39620
|
-
code:
|
|
39675
|
+
code: z69.ZodIssueCode.custom,
|
|
39621
39676
|
message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39622
39677
|
path: ["entries"]
|
|
39623
39678
|
});
|
|
@@ -39628,7 +39683,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39628
39683
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39629
39684
|
if (duplicateIds.length > 0) {
|
|
39630
39685
|
ctx.addIssue({
|
|
39631
|
-
code:
|
|
39686
|
+
code: z69.ZodIssueCode.custom,
|
|
39632
39687
|
message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39633
39688
|
path: ["navigationMenus"]
|
|
39634
39689
|
});
|
|
@@ -39642,7 +39697,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39642
39697
|
const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
|
|
39643
39698
|
if (entriesForType.length > 1) {
|
|
39644
39699
|
ctx.addIssue({
|
|
39645
|
-
code:
|
|
39700
|
+
code: z69.ZodIssueCode.custom,
|
|
39646
39701
|
message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
|
|
39647
39702
|
path: ["entries"]
|
|
39648
39703
|
});
|
|
@@ -39755,18 +39810,18 @@ function validateLayout(layout) {
|
|
|
39755
39810
|
}
|
|
39756
39811
|
|
|
39757
39812
|
// src/config/dashboard-validation.ts
|
|
39758
|
-
import { z as
|
|
39759
|
-
var navIdListSchema2 =
|
|
39813
|
+
import { z as z70 } from "zod";
|
|
39814
|
+
var navIdListSchema2 = z70.preprocess((value) => {
|
|
39760
39815
|
if (!Array.isArray(value)) return void 0;
|
|
39761
39816
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
39762
39817
|
return filtered.length > 0 ? filtered : void 0;
|
|
39763
|
-
},
|
|
39764
|
-
var dashboardNavVisibilityBaseSchema2 =
|
|
39765
|
-
mode:
|
|
39818
|
+
}, z70.array(z70.string()).max(200, "Maximum 200 nav IDs").optional());
|
|
39819
|
+
var dashboardNavVisibilityBaseSchema2 = z70.object({
|
|
39820
|
+
mode: z70.enum(["augment", "restrict"]).optional(),
|
|
39766
39821
|
allowIds: navIdListSchema2,
|
|
39767
39822
|
denyIds: navIdListSchema2
|
|
39768
39823
|
}).strip();
|
|
39769
|
-
var dashboardNavVisibilityRolesSchema2 =
|
|
39824
|
+
var dashboardNavVisibilityRolesSchema2 = z70.object({
|
|
39770
39825
|
administrator: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39771
39826
|
editor: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39772
39827
|
team_member: dashboardNavVisibilityBaseSchema2.optional()
|
|
@@ -39774,28 +39829,28 @@ var dashboardNavVisibilityRolesSchema2 = z72.object({
|
|
|
39774
39829
|
var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
|
|
39775
39830
|
roles: dashboardNavVisibilityRolesSchema2
|
|
39776
39831
|
}).strip();
|
|
39777
|
-
var dashboardNavigationConfigSchema2 =
|
|
39832
|
+
var dashboardNavigationConfigSchema2 = z70.object({
|
|
39778
39833
|
siteNav: dashboardNavVisibilitySchema2.optional(),
|
|
39779
39834
|
settingsNav: dashboardNavVisibilitySchema2.optional()
|
|
39780
39835
|
}).strip();
|
|
39781
|
-
var dashboardConfigSchema2 =
|
|
39782
|
-
previewEditingEnabled:
|
|
39836
|
+
var dashboardConfigSchema2 = z70.object({
|
|
39837
|
+
previewEditingEnabled: z70.boolean().optional(),
|
|
39783
39838
|
navigation: dashboardNavigationConfigSchema2.optional()
|
|
39784
39839
|
}).strip();
|
|
39785
39840
|
|
|
39786
39841
|
// src/zod/titleSourceSchema.ts
|
|
39787
|
-
import { z as
|
|
39788
|
-
var titleSourceValueSchema =
|
|
39789
|
-
|
|
39790
|
-
|
|
39842
|
+
import { z as z71 } from "zod";
|
|
39843
|
+
var titleSourceValueSchema = z71.union([
|
|
39844
|
+
z71.string().min(1),
|
|
39845
|
+
z71.array(z71.string().min(1)).min(1)
|
|
39791
39846
|
]);
|
|
39792
39847
|
|
|
39793
39848
|
// src/config/validation.ts
|
|
39794
|
-
var sdkThemePaletteSchema2 =
|
|
39795
|
-
var sdkThemeConfigSchema2 =
|
|
39849
|
+
var sdkThemePaletteSchema2 = z72.record(z72.string(), z72.string());
|
|
39850
|
+
var sdkThemeConfigSchema2 = z72.object({
|
|
39796
39851
|
palette: sdkThemePaletteSchema2
|
|
39797
39852
|
});
|
|
39798
|
-
var sdkSiteUrlSchema =
|
|
39853
|
+
var sdkSiteUrlSchema = z72.string().url("Must be a valid URL").refine((url) => {
|
|
39799
39854
|
try {
|
|
39800
39855
|
const parsed = new URL(url);
|
|
39801
39856
|
const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
|
|
@@ -39804,97 +39859,97 @@ var sdkSiteUrlSchema = z74.string().url("Must be a valid URL").refine((url) => {
|
|
|
39804
39859
|
return false;
|
|
39805
39860
|
}
|
|
39806
39861
|
}, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
|
|
39807
|
-
var sectionBackgroundSchema =
|
|
39808
|
-
id:
|
|
39809
|
-
label:
|
|
39810
|
-
token:
|
|
39862
|
+
var sectionBackgroundSchema = z72.object({
|
|
39863
|
+
id: z72.string(),
|
|
39864
|
+
label: z72.string(),
|
|
39865
|
+
token: z72.string()
|
|
39811
39866
|
// Reference to theme palette token
|
|
39812
39867
|
});
|
|
39813
|
-
var sectionSpacingSchema =
|
|
39814
|
-
var containerMaxWidthSchema =
|
|
39815
|
-
var containerAlignmentSchema =
|
|
39816
|
-
var sectionOptionsSchema =
|
|
39817
|
-
backgroundColor:
|
|
39818
|
-
backgroundImage:
|
|
39819
|
-
backgroundGradient:
|
|
39820
|
-
spacing:
|
|
39821
|
-
|
|
39822
|
-
|
|
39868
|
+
var sectionSpacingSchema = z72.enum(["compact", "default", "spacious"]);
|
|
39869
|
+
var containerMaxWidthSchema = z72.enum(["narrow", "default", "wide", "full"]);
|
|
39870
|
+
var containerAlignmentSchema = z72.enum(["left", "center", "right"]);
|
|
39871
|
+
var sectionOptionsSchema = z72.object({
|
|
39872
|
+
backgroundColor: z72.boolean().optional(),
|
|
39873
|
+
backgroundImage: z72.boolean().optional(),
|
|
39874
|
+
backgroundGradient: z72.boolean().optional(),
|
|
39875
|
+
spacing: z72.union([
|
|
39876
|
+
z72.array(sectionSpacingSchema),
|
|
39877
|
+
z72.boolean()
|
|
39823
39878
|
]).optional(),
|
|
39824
|
-
textColor:
|
|
39879
|
+
textColor: z72.boolean().optional()
|
|
39825
39880
|
}).optional();
|
|
39826
|
-
var containerOptionsSchema =
|
|
39827
|
-
maxWidth:
|
|
39828
|
-
|
|
39829
|
-
|
|
39881
|
+
var containerOptionsSchema = z72.object({
|
|
39882
|
+
maxWidth: z72.union([
|
|
39883
|
+
z72.array(containerMaxWidthSchema),
|
|
39884
|
+
z72.boolean()
|
|
39830
39885
|
]).optional(),
|
|
39831
|
-
alignment:
|
|
39832
|
-
|
|
39833
|
-
|
|
39886
|
+
alignment: z72.union([
|
|
39887
|
+
z72.array(containerAlignmentSchema),
|
|
39888
|
+
z72.boolean()
|
|
39834
39889
|
]).optional()
|
|
39835
39890
|
}).optional();
|
|
39836
|
-
var siteStyleConfigSchema =
|
|
39837
|
-
sectionBackgrounds:
|
|
39891
|
+
var siteStyleConfigSchema = z72.object({
|
|
39892
|
+
sectionBackgrounds: z72.array(sectionBackgroundSchema).optional(),
|
|
39838
39893
|
sectionOptions: sectionOptionsSchema,
|
|
39839
39894
|
containerOptions: containerOptionsSchema
|
|
39840
39895
|
}).optional();
|
|
39841
|
-
var sdkLoaderEndpointSchema2 =
|
|
39896
|
+
var sdkLoaderEndpointSchema2 = z72.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
39842
39897
|
var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
|
|
39843
|
-
var loaderTransformStepSchema =
|
|
39844
|
-
id:
|
|
39898
|
+
var loaderTransformStepSchema = z72.object({
|
|
39899
|
+
id: z72.string().refine((id) => allowedTransformIds.has(id), {
|
|
39845
39900
|
message: "Unknown transform id"
|
|
39846
39901
|
}),
|
|
39847
|
-
options:
|
|
39902
|
+
options: z72.record(z72.string(), z72.unknown()).optional()
|
|
39848
39903
|
});
|
|
39849
|
-
var loaderParamBindingSchema2 =
|
|
39850
|
-
$bind:
|
|
39851
|
-
from:
|
|
39904
|
+
var loaderParamBindingSchema2 = z72.object({
|
|
39905
|
+
$bind: z72.object({
|
|
39906
|
+
from: z72.string().min(1, "Binding path is required"),
|
|
39852
39907
|
// Loader params are ultimately string-normalized for query strings, so fallbacks should
|
|
39853
39908
|
// stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
|
|
39854
39909
|
// more complex values into a string.
|
|
39855
39910
|
fallback: loaderFallbackScalarSchema.optional(),
|
|
39856
|
-
transforms:
|
|
39857
|
-
pick:
|
|
39858
|
-
coerce:
|
|
39911
|
+
transforms: z72.array(loaderTransformStepSchema).default([]),
|
|
39912
|
+
pick: z72.enum(["value", "collection", "context"]).default("value"),
|
|
39913
|
+
coerce: z72.enum(["number", "boolean", "string"]).optional()
|
|
39859
39914
|
})
|
|
39860
39915
|
});
|
|
39861
|
-
var loaderParamValueSchema2 =
|
|
39862
|
-
|
|
39863
|
-
|
|
39864
|
-
|
|
39916
|
+
var loaderParamValueSchema2 = z72.union([
|
|
39917
|
+
z72.string(),
|
|
39918
|
+
z72.number(),
|
|
39919
|
+
z72.boolean(),
|
|
39865
39920
|
loaderParamBindingSchema2
|
|
39866
39921
|
]);
|
|
39867
|
-
var loaderWhenValueSchema =
|
|
39868
|
-
|
|
39922
|
+
var loaderWhenValueSchema = z72.union([
|
|
39923
|
+
z72.boolean(),
|
|
39869
39924
|
loaderParamBindingSchema2
|
|
39870
39925
|
]);
|
|
39871
|
-
var sdkConfigLoaderSchema2 =
|
|
39926
|
+
var sdkConfigLoaderSchema2 = z72.object({
|
|
39872
39927
|
endpoint: sdkLoaderEndpointSchema2,
|
|
39873
|
-
params:
|
|
39874
|
-
mode:
|
|
39928
|
+
params: z72.record(z72.string(), loaderParamValueSchema2),
|
|
39929
|
+
mode: z72.enum(["server", "client"]).default("server"),
|
|
39875
39930
|
when: loaderWhenValueSchema.optional()
|
|
39876
39931
|
});
|
|
39877
|
-
var sdkDataLoadersSchema2 =
|
|
39932
|
+
var sdkDataLoadersSchema2 = z72.record(z72.string(), sdkConfigLoaderSchema2).refine(
|
|
39878
39933
|
(loaders) => Object.keys(loaders).length <= 5,
|
|
39879
39934
|
{ message: "Maximum 5 data loaders per block" }
|
|
39880
39935
|
).optional();
|
|
39881
|
-
var fieldSelectOptionSchema =
|
|
39882
|
-
value:
|
|
39883
|
-
label:
|
|
39936
|
+
var fieldSelectOptionSchema = z72.object({
|
|
39937
|
+
value: z72.string().min(1, "Option value is required"),
|
|
39938
|
+
label: z72.string().min(1, "Option label is required")
|
|
39884
39939
|
});
|
|
39885
|
-
var blockFieldConfigSchema =
|
|
39886
|
-
options:
|
|
39940
|
+
var blockFieldConfigSchema = z72.object({
|
|
39941
|
+
options: z72.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
|
|
39887
39942
|
});
|
|
39888
|
-
var blockFieldOptionsSchema =
|
|
39889
|
-
|
|
39943
|
+
var blockFieldOptionsSchema = z72.record(
|
|
39944
|
+
z72.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
39890
39945
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
39891
39946
|
}),
|
|
39892
|
-
|
|
39893
|
-
|
|
39947
|
+
z72.record(
|
|
39948
|
+
z72.string().min(1, "Field ID is required"),
|
|
39894
39949
|
blockFieldConfigSchema
|
|
39895
39950
|
)
|
|
39896
39951
|
).optional();
|
|
39897
|
-
var blockFieldExtensionSchema =
|
|
39952
|
+
var blockFieldExtensionSchema = z72.object({
|
|
39898
39953
|
fields: fieldSchema.array().min(1, "At least one field is required")
|
|
39899
39954
|
}).refine(
|
|
39900
39955
|
(data) => {
|
|
@@ -39908,10 +39963,10 @@ var blockFieldExtensionSchema = z74.object({
|
|
|
39908
39963
|
message: "Required fields must have a defaultValue to support existing blocks"
|
|
39909
39964
|
}
|
|
39910
39965
|
);
|
|
39911
|
-
var blockFieldExtensionsMapSchema =
|
|
39966
|
+
var blockFieldExtensionsMapSchema = z72.record(
|
|
39912
39967
|
// System blocks are kebab-case: block.body-text, block.event-calendar, ...
|
|
39913
39968
|
// Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
|
|
39914
|
-
|
|
39969
|
+
z72.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
|
|
39915
39970
|
message: "Block ID must be 'block.*' format (system blocks only)"
|
|
39916
39971
|
}),
|
|
39917
39972
|
blockFieldExtensionSchema
|
|
@@ -39927,7 +39982,7 @@ var blockFieldExtensionsMapSchema = z74.record(
|
|
|
39927
39982
|
(field) => field.id === collision.fieldId
|
|
39928
39983
|
);
|
|
39929
39984
|
ctx.addIssue({
|
|
39930
|
-
code:
|
|
39985
|
+
code: z72.ZodIssueCode.custom,
|
|
39931
39986
|
message: collision.message,
|
|
39932
39987
|
path: [
|
|
39933
39988
|
APPOINTMENT_BOOKING_BLOCK_ID,
|
|
@@ -39942,24 +39997,24 @@ var blockFieldExtensionsSchema = blockFieldExtensionsMapSchema.optional();
|
|
|
39942
39997
|
function collectAppointmentBookingExtensionReservedFieldCollisions(extension) {
|
|
39943
39998
|
return collectBookingReservedFieldCollisions(extension, { type: "booking" });
|
|
39944
39999
|
}
|
|
39945
|
-
var syncConfigSchema =
|
|
39946
|
-
existingEntries:
|
|
40000
|
+
var syncConfigSchema = z72.object({
|
|
40001
|
+
existingEntries: z72.enum(["skip", "update"]).optional()
|
|
39947
40002
|
}).optional();
|
|
39948
|
-
var deployConfigSchema =
|
|
39949
|
-
verifyCommand:
|
|
39950
|
-
prebuildOutput:
|
|
40003
|
+
var deployConfigSchema = z72.object({
|
|
40004
|
+
verifyCommand: z72.string().optional(),
|
|
40005
|
+
prebuildOutput: z72.string().optional()
|
|
39951
40006
|
}).optional();
|
|
39952
|
-
var sdkCustomBlockSchema =
|
|
40007
|
+
var sdkCustomBlockSchema = z72.object({
|
|
39953
40008
|
// Block ID must start with 'custom.'
|
|
39954
|
-
id:
|
|
40009
|
+
id: z72.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
39955
40010
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
39956
40011
|
}),
|
|
39957
|
-
title:
|
|
40012
|
+
title: z72.string().min(1, "Title is required"),
|
|
39958
40013
|
titleSource: titleSourceValueSchema.optional(),
|
|
39959
|
-
description:
|
|
40014
|
+
description: z72.string().optional(),
|
|
39960
40015
|
category: blockCategoryEnum,
|
|
39961
|
-
icon:
|
|
39962
|
-
tags:
|
|
40016
|
+
icon: z72.string().optional(),
|
|
40017
|
+
tags: z72.array(z72.string()).optional(),
|
|
39963
40018
|
// Reuse the exact field schema from @riverbankcms/blocks - all field types supported
|
|
39964
40019
|
fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
39965
40020
|
// Data loaders for CMS endpoints
|
|
@@ -39967,14 +40022,14 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39967
40022
|
// Optional declarative layout - when present, block can render without React override
|
|
39968
40023
|
layout: NodeSchema.optional(),
|
|
39969
40024
|
// Optional variants system (preferred when a block has multiple structural layouts)
|
|
39970
|
-
variants:
|
|
39971
|
-
defaultVariant:
|
|
39972
|
-
variantOptions:
|
|
39973
|
-
|
|
39974
|
-
|
|
39975
|
-
label:
|
|
39976
|
-
description:
|
|
39977
|
-
icon:
|
|
40025
|
+
variants: z72.record(z72.string().min(1), NodeSchema).optional(),
|
|
40026
|
+
defaultVariant: z72.string().min(1).optional(),
|
|
40027
|
+
variantOptions: z72.record(
|
|
40028
|
+
z72.string().min(1),
|
|
40029
|
+
z72.object({
|
|
40030
|
+
label: z72.string().min(1).optional(),
|
|
40031
|
+
description: z72.string().min(1).optional(),
|
|
40032
|
+
icon: z72.string().min(1).optional()
|
|
39978
40033
|
})
|
|
39979
40034
|
).optional(),
|
|
39980
40035
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -39986,7 +40041,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39986
40041
|
const exists = fields3.some((field) => field.id === source);
|
|
39987
40042
|
if (!exists) {
|
|
39988
40043
|
ctx.addIssue({
|
|
39989
|
-
code:
|
|
40044
|
+
code: z72.ZodIssueCode.custom,
|
|
39990
40045
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
39991
40046
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
39992
40047
|
});
|
|
@@ -39995,7 +40050,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39995
40050
|
}
|
|
39996
40051
|
if (data.layout && data.variants) {
|
|
39997
40052
|
ctx.addIssue({
|
|
39998
|
-
code:
|
|
40053
|
+
code: z72.ZodIssueCode.custom,
|
|
39999
40054
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
40000
40055
|
path: ["variants"]
|
|
40001
40056
|
});
|
|
@@ -40005,7 +40060,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40005
40060
|
if (!result.valid) {
|
|
40006
40061
|
for (const error of result.errors) {
|
|
40007
40062
|
ctx.addIssue({
|
|
40008
|
-
code:
|
|
40063
|
+
code: z72.ZodIssueCode.custom,
|
|
40009
40064
|
message: error.message,
|
|
40010
40065
|
path: ["layout"]
|
|
40011
40066
|
});
|
|
@@ -40016,14 +40071,14 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40016
40071
|
const keys = Object.keys(data.variants);
|
|
40017
40072
|
if (keys.length === 0) {
|
|
40018
40073
|
ctx.addIssue({
|
|
40019
|
-
code:
|
|
40074
|
+
code: z72.ZodIssueCode.custom,
|
|
40020
40075
|
message: "`variants` must contain at least one variant key",
|
|
40021
40076
|
path: ["variants"]
|
|
40022
40077
|
});
|
|
40023
40078
|
}
|
|
40024
40079
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
40025
40080
|
ctx.addIssue({
|
|
40026
|
-
code:
|
|
40081
|
+
code: z72.ZodIssueCode.custom,
|
|
40027
40082
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
40028
40083
|
path: ["defaultVariant"]
|
|
40029
40084
|
});
|
|
@@ -40033,7 +40088,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40033
40088
|
if (!result.valid) {
|
|
40034
40089
|
for (const error of result.errors) {
|
|
40035
40090
|
ctx.addIssue({
|
|
40036
|
-
code:
|
|
40091
|
+
code: z72.ZodIssueCode.custom,
|
|
40037
40092
|
message: `${key}: ${error.message}`,
|
|
40038
40093
|
path: ["variants", key]
|
|
40039
40094
|
});
|
|
@@ -40044,7 +40099,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40044
40099
|
for (const key of Object.keys(data.variantOptions)) {
|
|
40045
40100
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
40046
40101
|
ctx.addIssue({
|
|
40047
|
-
code:
|
|
40102
|
+
code: z72.ZodIssueCode.custom,
|
|
40048
40103
|
message: "`variantOptions` key must exist in `variants`",
|
|
40049
40104
|
path: ["variantOptions", key]
|
|
40050
40105
|
});
|
|
@@ -40053,58 +40108,58 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40053
40108
|
}
|
|
40054
40109
|
}
|
|
40055
40110
|
});
|
|
40056
|
-
var themeSourceSchema =
|
|
40057
|
-
var activeThemeSchema =
|
|
40111
|
+
var themeSourceSchema = z72.enum(["local", "cms"]).optional();
|
|
40112
|
+
var activeThemeSchema = z72.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
|
|
40058
40113
|
message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
|
|
40059
40114
|
}).max(64, "Theme name too long").optional();
|
|
40060
40115
|
function isValidConfigBlockKind(kind) {
|
|
40061
40116
|
if (getBlockDefinition(kind)) return true;
|
|
40062
40117
|
return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
|
|
40063
40118
|
}
|
|
40064
|
-
var layoutBlockKindSchema =
|
|
40119
|
+
var layoutBlockKindSchema = z72.string().refine(isValidConfigBlockKind, {
|
|
40065
40120
|
message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
|
|
40066
40121
|
});
|
|
40067
|
-
var layoutFooterBlockSchema =
|
|
40068
|
-
id:
|
|
40122
|
+
var layoutFooterBlockSchema = z72.object({
|
|
40123
|
+
id: z72.string().min(1).optional(),
|
|
40069
40124
|
kind: layoutBlockKindSchema,
|
|
40070
40125
|
// Allow omitted content for blocks that rely on defaults.
|
|
40071
|
-
content:
|
|
40126
|
+
content: z72.record(z72.string(), z72.unknown()).optional()
|
|
40072
40127
|
}).strict();
|
|
40073
|
-
var layoutConfigSchema =
|
|
40074
|
-
footerBlocks:
|
|
40128
|
+
var layoutConfigSchema = z72.object({
|
|
40129
|
+
footerBlocks: z72.array(layoutFooterBlockSchema).optional()
|
|
40075
40130
|
}).strict();
|
|
40076
|
-
var sdkWorkflowIdSchema2 =
|
|
40131
|
+
var sdkWorkflowIdSchema2 = z72.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
40077
40132
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
40078
40133
|
});
|
|
40079
|
-
var sdkWorkflowEndpointSchema2 =
|
|
40080
|
-
var sdkWorkflowTriggerSchema2 =
|
|
40081
|
-
|
|
40134
|
+
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 "/"' });
|
|
40135
|
+
var sdkWorkflowTriggerSchema2 = z72.discriminatedUnion("type", [
|
|
40136
|
+
z72.object({ type: z72.literal("manual") }).strict()
|
|
40082
40137
|
]);
|
|
40083
|
-
var sdkWorkflowConfirmationSchema2 =
|
|
40084
|
-
title:
|
|
40085
|
-
body:
|
|
40138
|
+
var sdkWorkflowConfirmationSchema2 = z72.object({
|
|
40139
|
+
title: z72.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
40140
|
+
body: z72.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
40086
40141
|
}).strict();
|
|
40087
|
-
var sdkWorkflowConfigSchema2 =
|
|
40142
|
+
var sdkWorkflowConfigSchema2 = z72.object({
|
|
40088
40143
|
id: sdkWorkflowIdSchema2,
|
|
40089
|
-
title:
|
|
40090
|
-
description:
|
|
40091
|
-
contentType:
|
|
40144
|
+
title: z72.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
40145
|
+
description: z72.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
40146
|
+
contentType: z72.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
40092
40147
|
endpoint: sdkWorkflowEndpointSchema2,
|
|
40093
|
-
triggers:
|
|
40148
|
+
triggers: z72.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
40094
40149
|
confirmation: sdkWorkflowConfirmationSchema2.optional()
|
|
40095
40150
|
}).strict();
|
|
40096
|
-
var sdkWorkflowsSchema2 =
|
|
40151
|
+
var sdkWorkflowsSchema2 = z72.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
40097
40152
|
const ids = workflows.map((workflow) => workflow.id);
|
|
40098
40153
|
return ids.length === new Set(ids).size;
|
|
40099
40154
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
40100
|
-
var riverbankSiteConfigSchema =
|
|
40101
|
-
siteId:
|
|
40155
|
+
var riverbankSiteConfigSchema = z72.object({
|
|
40156
|
+
siteId: z72.string().uuid(),
|
|
40102
40157
|
previewUrl: sdkSiteUrlSchema.optional(),
|
|
40103
40158
|
liveUrl: sdkSiteUrlSchema.optional(),
|
|
40104
40159
|
theme: sdkThemeConfigSchema2.optional(),
|
|
40105
40160
|
styles: siteStyleConfigSchema,
|
|
40106
40161
|
layout: layoutConfigSchema.optional(),
|
|
40107
|
-
customBlocks:
|
|
40162
|
+
customBlocks: z72.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
|
|
40108
40163
|
// Ensure unique block IDs
|
|
40109
40164
|
(blocks) => {
|
|
40110
40165
|
const ids = blocks.map((b) => b.id);
|
|
@@ -40117,7 +40172,7 @@ var riverbankSiteConfigSchema = z74.object({
|
|
|
40117
40172
|
workflows: sdkWorkflowsSchema2,
|
|
40118
40173
|
content: contentConfigSchema.optional(),
|
|
40119
40174
|
// CLI-related configuration (Phase 4)
|
|
40120
|
-
contentDir:
|
|
40175
|
+
contentDir: z72.string().optional(),
|
|
40121
40176
|
sync: syncConfigSchema,
|
|
40122
40177
|
deploy: deployConfigSchema,
|
|
40123
40178
|
// Theme sync configuration (Phase 5)
|