@riverbankcms/sdk 0.88.0 → 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-EVRS3C7T.mjs → PreviewEditorSidebar-KVXNF3VW.mjs} +3 -3
- package/dist/{PreviewEditorUI-54WD4IGE.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/accessAdmin.d.ts +7 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +2 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +4 -2
- package/dist/_dts/api/src/bookings.d.ts +3 -1
- package/dist/_dts/api/src/endpoints.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +7 -6
- 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/siteManagementEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/siteMembers.d.ts +6 -1
- package/dist/_dts/api/src/types.d.ts +4 -2
- 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/icons/cta.d.ts +3 -3
- package/dist/_dts/blocks/src/system/icons/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -2
- package/dist/_dts/blocks/src/system/icons/semantic.d.ts +3 -3
- package/dist/_dts/blocks/src/system/icons/svg.d.ts +72 -0
- 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 +18 -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/hooks/loadStateError.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.state.d.ts +55 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.state.d.ts +39 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.d.ts +4 -27
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.state.d.ts +40 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.state.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.state.d.ts +39 -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/EventPaginatedListView.client.d.ts +1 -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/newsletter-form.client.state.d.ts +24 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.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/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +35 -0
- 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 +61 -0
- package/dist/_dts/core/src/branded.d.ts +7 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/money-input.d.ts +18 -0
- package/dist/_dts/core/src/site-route-target.d.ts +40 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +209 -2
- package/dist/_dts/media-core/src/fileDomain.d.ts +4 -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/client/runtimeCachePolicy.d.ts +160 -0
- package/dist/_dts/sdk/src/client/types.d.ts +26 -1
- 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/index.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/generated/containerResponsiveThemeCss.d.ts +1 -1
- 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-ER4UIW4X.mjs → chunk-AEOYWPE4.mjs} +91 -55
- package/dist/{chunk-O4LVYUVH.mjs → chunk-BOQXMCSP.mjs} +147 -101
- package/dist/{chunk-HVOBXA3Y.mjs → chunk-GSPFFUVB.mjs} +2 -2
- package/dist/{chunk-7KOO7RPP.mjs → chunk-PMBB6MQ7.mjs} +2273 -1113
- package/dist/{chunk-K3JWH6HE.mjs → chunk-RQ3XZ4SJ.mjs} +9 -1
- package/dist/{chunk-YDMBIIS5.mjs → chunk-UG7I7S7W.mjs} +1 -1
- package/dist/cli/index.mjs +1564 -546
- 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-PT5CGW5N.mjs → accordion-GXQNWQ6O.mjs} +2 -2
- package/dist/client/{bookingForm-2HLRTEYS.mjs → bookingForm-STLUJ36H.mjs} +206 -335
- package/dist/client/bookings.mjs +821 -413
- package/dist/client/{carousel-Z2LKYSWA.mjs → carousel-CVRN6EPP.mjs} +4 -3
- package/dist/client/{cart-ND5IK4A6.mjs → cart-IYIBA5CL.mjs} +8 -8
- package/dist/client/{checkout-EYUSGAY7.mjs → checkout-O3BGM4GS.mjs} +8 -8
- package/dist/client/chunk-4RTFGHZN.mjs +433 -0
- package/dist/client/{chunk-DIRW2LNG.mjs → chunk-6DPXDOIL.mjs} +336 -225
- package/dist/client/chunk-6N7YRNYU.mjs +183 -0
- package/dist/client/{chunk-O5JNI3E4.mjs → chunk-7DH35FGA.mjs} +2 -2
- package/dist/client/{chunk-S4G65LGR.mjs → chunk-D3ETC2SU.mjs} +1 -1
- package/dist/client/{chunk-BAWHZ5GM.mjs → chunk-DAS5CIER.mjs} +460 -157
- package/dist/client/{chunk-6DVPO44G.mjs → chunk-FHU6PFPM.mjs} +1 -1
- package/dist/client/{chunk-SDIYSQAY.mjs → chunk-HIHOQGIP.mjs} +2 -3
- package/dist/client/{chunk-BL66UWGD.mjs → chunk-MFPKS6QS.mjs} +13 -16
- package/dist/client/{chunk-X7GVFB7Y.mjs → chunk-NBFRJ5NB.mjs} +157 -5
- package/dist/client/{chunk-WCVK4MBJ.mjs → chunk-VFHZLZAC.mjs} +1 -1
- package/dist/client/{chunk-GOFO7HRH.mjs → chunk-WHZQDPBZ.mjs} +19 -1
- package/dist/client/{chunk-MHBEWDT7.mjs → chunk-Z62JYS5O.mjs} +122 -50
- package/dist/client/client.mjs +5979 -5198
- package/dist/client/{courseRegistration-H3AZBUEG.mjs → courseRegistration-2D3ACMJR.mjs} +20 -58
- package/dist/client/{eventCalendar-FPKJGLGS.mjs → eventCalendar-QY4UZUFF.mjs} +11 -11
- package/dist/client/{eventCombined-QCGIZBUY.mjs → eventCombined-RRCDKJC2.mjs} +11 -11
- package/dist/client/{eventDetails-HIT3BJWU.mjs → eventDetails-YO335BUT.mjs} +11 -11
- package/dist/client/{eventListing-R4HNWJDN.mjs → eventListing-PXA6GFQ3.mjs} +11 -11
- package/dist/client/{eventRegistration-Q7BYY5HF.mjs → eventRegistration-2ZHEDDXO.mjs} +11 -11
- package/dist/client/{form-NI6YOG6S.mjs → form-ZS6KX4U2.mjs} +7 -7
- package/dist/client/{headerSection-SDYGII36.mjs → headerSection-QK5SLIIB.mjs} +3 -3
- package/dist/client/hooks.mjs +1102 -1029
- package/dist/client/{locationMap-BDETEUQD.mjs → locationMap-GFNIUD2X.mjs} +3 -3
- package/dist/client/{newsletterForm-EKYIU67X.mjs → newsletterForm-PGLTTCUG.mjs} +61 -25
- package/dist/client/{productDetail-5UTGNN76.mjs → productDetail-OPBE5ZPI.mjs} +8 -8
- package/dist/client/{productList-7YA5KXZQ.mjs → productList-NI72Q62Z.mjs} +8 -8
- package/dist/client/rendering/client.mjs +4390 -4245
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3327 -3181
- package/dist/client/{shop-AIMUMZYC.mjs → shop-3ZQPEWYI.mjs} +8 -8
- package/dist/client/spam-protection.mjs +4 -5
- package/dist/preview-next/before-render.mjs +20 -2
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +18 -0
- package/dist/{sdk-runtime-NW472WNT.mjs → sdk-runtime-FSHXCWDS.mjs} +6 -6
- package/dist/server/components.mjs +2580 -2783
- package/dist/server/config-validation.mjs +1334 -1261
- package/dist/server/config.mjs +1334 -1261
- package/dist/server/data.mjs +1102 -1029
- package/dist/server/index.mjs +1097 -476
- package/dist/server/navigation.mjs +20 -30
- package/dist/server/next.mjs +3282 -2847
- package/dist/server/page-converter.mjs +1009 -946
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2580 -2783
- package/dist/server/rendering.mjs +2586 -2789
- package/dist/server/routing.mjs +1440 -1053
- package/dist/server/server.mjs +1886 -1153
- package/dist/server/theme-bridge.mjs +34 -5
- package/dist/styles/index.css +26 -0
- package/package.json +3 -2
- package/dist/SdkPreviewModeRuntime-ZALZDJEK.mjs +0 -8
- package/dist/client/chunk-H4MHEXYS.mjs +0 -184
- package/dist/client/chunk-ZFHRN6W2.mjs +0 -66
- /package/dist/client/{chunk-LI2C6M5O.mjs → chunk-25W2EQUN.mjs} +0 -0
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) {
|
|
@@ -1858,6 +1858,24 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1858
1858
|
auth: "user",
|
|
1859
1859
|
responseKind: "json"
|
|
1860
1860
|
},
|
|
1861
|
+
resendSiteInvitation: {
|
|
1862
|
+
path: "/sites/{siteId}/members/invitations/{invitationId}/resend",
|
|
1863
|
+
method: "POST",
|
|
1864
|
+
errors: [
|
|
1865
|
+
"auth:forbidden",
|
|
1866
|
+
"resource:not_found",
|
|
1867
|
+
"validation:invalid_input",
|
|
1868
|
+
"external:service_error",
|
|
1869
|
+
"server:internal_error"
|
|
1870
|
+
],
|
|
1871
|
+
tags: [
|
|
1872
|
+
"site-{siteId}",
|
|
1873
|
+
"site-members-{siteId}",
|
|
1874
|
+
"site-invite-{invitationId}"
|
|
1875
|
+
],
|
|
1876
|
+
auth: "user",
|
|
1877
|
+
responseKind: "json"
|
|
1878
|
+
},
|
|
1861
1879
|
transferSiteOwnership: {
|
|
1862
1880
|
path: "/sites/{siteId}/members/transfer-ownership",
|
|
1863
1881
|
method: "POST",
|
|
@@ -6795,7 +6813,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
6795
6813
|
);
|
|
6796
6814
|
|
|
6797
6815
|
// ../api/src/sdkConfig/contracts.ts
|
|
6798
|
-
import { z as
|
|
6816
|
+
import { z as z63 } from "zod";
|
|
6799
6817
|
|
|
6800
6818
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
6801
6819
|
function augmentManifest(manifest) {
|
|
@@ -7223,12 +7241,17 @@ var visibleWhenPredicateSchema = z4.object({
|
|
|
7223
7241
|
minItems: z4.number().int().nonnegative().optional(),
|
|
7224
7242
|
maxItems: z4.number().int().nonnegative().optional()
|
|
7225
7243
|
});
|
|
7226
|
-
var visibleWhenSchema = z4.
|
|
7227
|
-
|
|
7228
|
-
|
|
7229
|
-
|
|
7230
|
-
|
|
7231
|
-
|
|
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
|
+
);
|
|
7232
7255
|
var uiSchema = z4.object({
|
|
7233
7256
|
widget: z4.string().optional(),
|
|
7234
7257
|
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
@@ -20133,9 +20156,6 @@ var heroCopyFragment = defineFragment({
|
|
|
20133
20156
|
maxLength: 600
|
|
20134
20157
|
}
|
|
20135
20158
|
],
|
|
20136
|
-
// Layout order is [eyebrow, headline, subheadline]. The hero block's
|
|
20137
|
-
// `splitEditorial` variant reads these nodes by index; keep the order stable
|
|
20138
|
-
// (it fails fast at import if the count changes).
|
|
20139
20159
|
layout: [
|
|
20140
20160
|
text(
|
|
20141
20161
|
{
|
|
@@ -22373,32 +22393,6 @@ var splitReverseLayout = splitLayoutWith([
|
|
|
22373
22393
|
splitContentColumn,
|
|
22374
22394
|
splitImageColumn
|
|
22375
22395
|
]);
|
|
22376
|
-
var heroEyebrowNode = heroCopyFragment.layout[0];
|
|
22377
|
-
var heroHeadlineNode = heroCopyFragment.layout[1];
|
|
22378
|
-
var heroSubheadlineNode = heroCopyFragment.layout[2];
|
|
22379
|
-
var heroCtaRowNode = heroCtaRowFragment.layout[0];
|
|
22380
|
-
if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
|
|
22381
|
-
throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
|
|
22382
|
-
}
|
|
22383
|
-
var heroEditorialBottomRow = inline(
|
|
22384
|
-
{
|
|
22385
|
-
gap: "lg",
|
|
22386
|
-
align: "end",
|
|
22387
|
-
justify: "start",
|
|
22388
|
-
wrap: true,
|
|
22389
|
-
className: "rb-w-full"
|
|
22390
|
-
},
|
|
22391
|
-
[heroSubheadlineNode, heroCtaRowNode]
|
|
22392
|
-
);
|
|
22393
|
-
var splitEditorialContentColumn = heroContentWrapper(
|
|
22394
|
-
[heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
|
|
22395
|
-
"md",
|
|
22396
|
-
"rb-w-full rb-text-left"
|
|
22397
|
-
);
|
|
22398
|
-
var splitEditorialLayout = splitLayoutWith([
|
|
22399
|
-
splitEditorialContentColumn,
|
|
22400
|
-
splitImageColumn
|
|
22401
|
-
]);
|
|
22402
22396
|
var heroConfig = {
|
|
22403
22397
|
id: "block.hero",
|
|
22404
22398
|
title: "Hero",
|
|
@@ -22422,7 +22416,8 @@ var heroConfig = {
|
|
|
22422
22416
|
id: "imageShape",
|
|
22423
22417
|
label: "Image shape",
|
|
22424
22418
|
defaultValue: "default",
|
|
22425
|
-
uiIntent: "display"
|
|
22419
|
+
uiIntent: "display",
|
|
22420
|
+
visibleWhen: { field: "variant", oneOf: ["split", "splitReverse"] }
|
|
22426
22421
|
})
|
|
22427
22422
|
],
|
|
22428
22423
|
layout: classicLayout,
|
|
@@ -22430,8 +22425,7 @@ var heroConfig = {
|
|
|
22430
22425
|
classic: classicLayout,
|
|
22431
22426
|
micro: microLayout,
|
|
22432
22427
|
split: splitLayout,
|
|
22433
|
-
splitReverse: splitReverseLayout
|
|
22434
|
-
splitEditorial: splitEditorialLayout
|
|
22428
|
+
splitReverse: splitReverseLayout
|
|
22435
22429
|
},
|
|
22436
22430
|
defaultVariant: "classic",
|
|
22437
22431
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
@@ -24307,8 +24301,10 @@ function resolveGeneratedHeroLayoutStyles(content) {
|
|
|
24307
24301
|
return isPlainObject(raw) ? raw : null;
|
|
24308
24302
|
}
|
|
24309
24303
|
function readHeroLayoutString(content, generatedKey, fallbackKey = generatedKey) {
|
|
24304
|
+
const explicitValue = readString(content, fallbackKey);
|
|
24305
|
+
if (explicitValue !== void 0) return explicitValue;
|
|
24310
24306
|
const generated = resolveGeneratedHeroLayoutStyles(content);
|
|
24311
|
-
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] :
|
|
24307
|
+
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : void 0;
|
|
24312
24308
|
}
|
|
24313
24309
|
function resolveHeroVariant(content) {
|
|
24314
24310
|
const variant = readString(content, "variant");
|
|
@@ -24321,7 +24317,7 @@ function resolveHeroContentAlignment(content) {
|
|
|
24321
24317
|
const raw = readHeroLayoutString(content, "contentAlignment");
|
|
24322
24318
|
if (raw === "left" || raw === "center" || raw === "right") return raw;
|
|
24323
24319
|
const variant = resolveHeroVariant(content);
|
|
24324
|
-
if (variant === "split" || variant === "splitReverse"
|
|
24320
|
+
if (variant === "split" || variant === "splitReverse") return "left";
|
|
24325
24321
|
return "center";
|
|
24326
24322
|
}
|
|
24327
24323
|
function resolveHeroVerticalAlignment(content) {
|
|
@@ -24331,7 +24327,7 @@ function resolveHeroVerticalAlignment(content) {
|
|
|
24331
24327
|
const minHeight = sectionStyles?.minHeight;
|
|
24332
24328
|
if (minHeight === "banner" || minHeight === "hero" || minHeight === "immersive") return "center";
|
|
24333
24329
|
const variant = resolveHeroVariant(content);
|
|
24334
|
-
if (variant === "split" || variant === "splitReverse"
|
|
24330
|
+
if (variant === "split" || variant === "splitReverse") return "center";
|
|
24335
24331
|
return "top";
|
|
24336
24332
|
}
|
|
24337
24333
|
function resolveHeroContentMaxWidth(content) {
|
|
@@ -27897,9 +27893,6 @@ var appointmentBookingBlockDefinition = {
|
|
|
27897
27893
|
}
|
|
27898
27894
|
};
|
|
27899
27895
|
|
|
27900
|
-
// ../blocks/src/system/blocks/event-registration.ts
|
|
27901
|
-
import { z as z47 } from "zod";
|
|
27902
|
-
|
|
27903
27896
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27904
27897
|
import { z as z43 } from "zod";
|
|
27905
27898
|
|
|
@@ -28514,24 +28507,57 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28514
28507
|
return trimmed ? trimmed : null;
|
|
28515
28508
|
}
|
|
28516
28509
|
|
|
28517
|
-
// ../blocks/src/system/blocks/
|
|
28510
|
+
// ../blocks/src/system/blocks/shop.shared.ts
|
|
28518
28511
|
import { z as z44 } from "zod";
|
|
28519
|
-
var
|
|
28512
|
+
var publicPassProductSchema = z44.object({
|
|
28513
|
+
id: z44.string(),
|
|
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({
|
|
28520
28529
|
id: z44.string(),
|
|
28521
|
-
|
|
28522
|
-
|
|
28523
|
-
|
|
28524
|
-
|
|
28525
|
-
|
|
28526
|
-
|
|
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()
|
|
28527
28552
|
}).nullable();
|
|
28528
28553
|
|
|
28529
28554
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28530
|
-
import { z as
|
|
28555
|
+
import { z as z47 } from "zod";
|
|
28531
28556
|
|
|
28532
28557
|
// ../blocks/src/system/constants/events.ts
|
|
28533
28558
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
28534
|
-
var eventCalendarDisplayModeValues = ["combined", "
|
|
28559
|
+
var eventCalendarDisplayModeValues = ["combined", "calendar", "list", "timetable"];
|
|
28560
|
+
var eventCalendarDefaultViewValues = ["month", "week"];
|
|
28535
28561
|
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
28536
28562
|
var eventCalendarListLayoutOptions = [
|
|
28537
28563
|
{ id: "stack", label: "Stack" },
|
|
@@ -28541,6 +28567,9 @@ var eventCalendarListLayoutOptions = [
|
|
|
28541
28567
|
function isEventCalendarDisplayMode(value) {
|
|
28542
28568
|
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
28543
28569
|
}
|
|
28570
|
+
function isEventCalendarDefaultView(value) {
|
|
28571
|
+
return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
|
|
28572
|
+
}
|
|
28544
28573
|
function isEventCalendarListLayout(value) {
|
|
28545
28574
|
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
28546
28575
|
}
|
|
@@ -28681,16 +28710,17 @@ function readAmount(value) {
|
|
|
28681
28710
|
}
|
|
28682
28711
|
|
|
28683
28712
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28684
|
-
import { z as
|
|
28685
|
-
var previewStageSchema =
|
|
28686
|
-
var registrationButtonVariantSchema =
|
|
28687
|
-
var eventButtonVariantSchema =
|
|
28688
|
-
var eventLayoutSchema =
|
|
28689
|
-
var eventCalendarDisplayModeSchema =
|
|
28690
|
-
var
|
|
28691
|
-
var
|
|
28692
|
-
var
|
|
28693
|
-
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"]);
|
|
28694
28724
|
|
|
28695
28725
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28696
28726
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -28708,7 +28738,7 @@ function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
|
28708
28738
|
function findPreSelectedEvent(input) {
|
|
28709
28739
|
const occurrenceContext = input.occurrenceContext;
|
|
28710
28740
|
if (!occurrenceContext) {
|
|
28711
|
-
return null;
|
|
28741
|
+
return input.scopedEvents.length === 1 ? input.scopedEvents[0] ?? null : null;
|
|
28712
28742
|
}
|
|
28713
28743
|
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28714
28744
|
startsAt: occurrenceContext.startsAt,
|
|
@@ -28750,68 +28780,72 @@ function toRegistrationEvents(events) {
|
|
|
28750
28780
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28751
28781
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28752
28782
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28753
|
-
var contentEntrySchema =
|
|
28754
|
-
id:
|
|
28755
|
-
slug:
|
|
28756
|
-
contentTypeSlug:
|
|
28783
|
+
var contentEntrySchema = z47.object({
|
|
28784
|
+
id: z47.string(),
|
|
28785
|
+
slug: z47.string(),
|
|
28786
|
+
contentTypeSlug: z47.string()
|
|
28757
28787
|
});
|
|
28758
|
-
var eventRegistrationPublicEventSchema =
|
|
28788
|
+
var eventRegistrationPublicEventSchema = z47.preprocess(
|
|
28759
28789
|
normalizeEventRegistrationEventInput,
|
|
28760
28790
|
publicEventSchema
|
|
28761
28791
|
);
|
|
28762
|
-
var eventRegistrationSourceSchema =
|
|
28763
|
-
siteId:
|
|
28764
|
-
apiBaseUrl:
|
|
28765
|
-
portalToken:
|
|
28766
|
-
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(),
|
|
28767
28797
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28768
28798
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28769
|
-
events:
|
|
28770
|
-
className:
|
|
28771
|
-
buttonText:
|
|
28772
|
-
maxTickets:
|
|
28773
|
-
showVenue:
|
|
28774
|
-
showCapacity:
|
|
28775
|
-
successMessage:
|
|
28776
|
-
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(),
|
|
28777
28807
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28778
|
-
overlayEnabled:
|
|
28779
|
-
spamProtectionEnabled:
|
|
28808
|
+
overlayEnabled: z47.boolean().optional(),
|
|
28809
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
28780
28810
|
stage: previewStageSchema.optional(),
|
|
28781
|
-
supportEmail:
|
|
28782
|
-
|
|
28783
|
-
|
|
28784
|
-
|
|
28785
|
-
|
|
28786
|
-
|
|
28787
|
-
|
|
28788
|
-
|
|
28789
|
-
|
|
28790
|
-
|
|
28791
|
-
|
|
28792
|
-
|
|
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({
|
|
28793
28825
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28794
28826
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28795
|
-
events:
|
|
28796
|
-
maxTickets:
|
|
28797
|
-
showVenue:
|
|
28798
|
-
showCapacity:
|
|
28799
|
-
successMessage:
|
|
28800
|
-
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(),
|
|
28801
28833
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28802
|
-
overlayEnabled:
|
|
28803
|
-
spamProtectionEnabled:
|
|
28804
|
-
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()
|
|
28805
28839
|
});
|
|
28806
|
-
var eventRegistrationRenderSchema =
|
|
28840
|
+
var eventRegistrationRenderSchema = z47.object({
|
|
28807
28841
|
display: eventRegistrationDisplaySchema,
|
|
28808
28842
|
hydration: eventRegistrationHydrationSchema
|
|
28809
28843
|
});
|
|
28810
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
28811
|
-
siteId:
|
|
28812
|
-
apiBaseUrl:
|
|
28813
|
-
portalToken:
|
|
28814
|
-
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(),
|
|
28815
28849
|
stage: previewStageSchema.optional()
|
|
28816
28850
|
}));
|
|
28817
28851
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -28917,7 +28951,9 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
28917
28951
|
buttonVariant: source.buttonVariant,
|
|
28918
28952
|
overlayEnabled: source.overlayEnabled,
|
|
28919
28953
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
28920
|
-
supportEmail: source.supportEmail
|
|
28954
|
+
supportEmail: source.supportEmail,
|
|
28955
|
+
sitePasses: source.sitePasses ?? null,
|
|
28956
|
+
siteMemberships: source.siteMemberships ?? null
|
|
28921
28957
|
}
|
|
28922
28958
|
})
|
|
28923
28959
|
});
|
|
@@ -29099,6 +29135,8 @@ var eventRegistrationManifest = createBlockManifest({
|
|
|
29099
29135
|
},
|
|
29100
29136
|
// Event data from loader
|
|
29101
29137
|
events: { $bind: { from: "data.events" } },
|
|
29138
|
+
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
29139
|
+
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
29102
29140
|
// Stage for preview mode (allows registering for draft events)
|
|
29103
29141
|
stage: {
|
|
29104
29142
|
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
@@ -29117,7 +29155,9 @@ var eventRegistrationBlockDefinition = {
|
|
|
29117
29155
|
manifest: eventRegistrationManifest,
|
|
29118
29156
|
runtime: eventRegistrationBlockRuntime,
|
|
29119
29157
|
dataSchemas: {
|
|
29120
|
-
events:
|
|
29158
|
+
events: publicEventsArraySchema.optional(),
|
|
29159
|
+
sitePasses: publicPassProductCollectionSchema.optional(),
|
|
29160
|
+
siteMemberships: publicMembershipProductCollectionSchema.optional(),
|
|
29121
29161
|
occurrenceContext: occurrenceContextSchema.optional()
|
|
29122
29162
|
},
|
|
29123
29163
|
dataLoaders: {
|
|
@@ -29136,6 +29176,20 @@ var eventRegistrationBlockDefinition = {
|
|
|
29136
29176
|
entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
|
|
29137
29177
|
},
|
|
29138
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"
|
|
29139
29193
|
}
|
|
29140
29194
|
}
|
|
29141
29195
|
};
|
|
@@ -29467,35 +29521,7 @@ var courseRegistrationBlockDefinition = {
|
|
|
29467
29521
|
};
|
|
29468
29522
|
|
|
29469
29523
|
// ../blocks/src/system/blocks/event-details.ts
|
|
29470
|
-
import { z as z50 } from "zod";
|
|
29471
|
-
|
|
29472
|
-
// ../blocks/src/system/blocks/shop.shared.ts
|
|
29473
29524
|
import { z as z49 } from "zod";
|
|
29474
|
-
var publicPassProductSchema = z49.object({
|
|
29475
|
-
id: z49.string(),
|
|
29476
|
-
productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
29477
|
-
name: z49.string(),
|
|
29478
|
-
description: z49.string().nullable(),
|
|
29479
|
-
price: z49.number(),
|
|
29480
|
-
currency: z49.string(),
|
|
29481
|
-
creditsTotal: z49.number(),
|
|
29482
|
-
pricePerCredit: z49.number(),
|
|
29483
|
-
validDays: z49.number().nullable(),
|
|
29484
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
29485
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
29486
|
-
});
|
|
29487
|
-
var publicMembershipProductSchema = z49.object({
|
|
29488
|
-
id: z49.string(),
|
|
29489
|
-
name: z49.string(),
|
|
29490
|
-
description: z49.string().nullable(),
|
|
29491
|
-
price: z49.number(),
|
|
29492
|
-
currency: z49.string(),
|
|
29493
|
-
billingInterval: z49.enum(["month", "year"]),
|
|
29494
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
29495
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
29496
|
-
});
|
|
29497
|
-
|
|
29498
|
-
// ../blocks/src/system/blocks/event-details.ts
|
|
29499
29525
|
var eventDetailsManifest = createBlockManifest({
|
|
29500
29526
|
id: "block.event-details",
|
|
29501
29527
|
version: "1.0.0",
|
|
@@ -29627,40 +29653,40 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
29627
29653
|
})
|
|
29628
29654
|
]
|
|
29629
29655
|
});
|
|
29630
|
-
var occurrenceContextSchema2 =
|
|
29631
|
-
id:
|
|
29632
|
-
seriesId:
|
|
29633
|
-
startsAt:
|
|
29634
|
-
endsAt:
|
|
29635
|
-
timeZone:
|
|
29636
|
-
capacityOverride:
|
|
29637
|
-
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()
|
|
29638
29664
|
}).nullable();
|
|
29639
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
29640
|
-
id:
|
|
29641
|
-
publicLabel:
|
|
29642
|
-
description:
|
|
29643
|
-
minTicketsRequired:
|
|
29665
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
|
|
29666
|
+
id: z49.string(),
|
|
29667
|
+
publicLabel: z49.string(),
|
|
29668
|
+
description: z49.string().nullable(),
|
|
29669
|
+
minTicketsRequired: z49.number().nullable()
|
|
29644
29670
|
});
|
|
29645
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
29671
|
+
var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
|
|
29646
29672
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29647
|
-
discountType:
|
|
29648
|
-
discountPercent:
|
|
29649
|
-
discountAmountCents:
|
|
29673
|
+
discountType: z49.literal("percent"),
|
|
29674
|
+
discountPercent: z49.number(),
|
|
29675
|
+
discountAmountCents: z49.null()
|
|
29650
29676
|
}),
|
|
29651
29677
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29652
|
-
discountType:
|
|
29653
|
-
discountPercent:
|
|
29654
|
-
discountAmountCents:
|
|
29678
|
+
discountType: z49.literal("fixed"),
|
|
29679
|
+
discountPercent: z49.null(),
|
|
29680
|
+
discountAmountCents: z49.number()
|
|
29655
29681
|
})
|
|
29656
29682
|
]);
|
|
29657
29683
|
var eventDetailsBlockDefinition = {
|
|
29658
29684
|
manifest: eventDetailsManifest,
|
|
29659
29685
|
dataSchemas: {
|
|
29660
|
-
eventDetailsData:
|
|
29686
|
+
eventDetailsData: z49.object({
|
|
29661
29687
|
events: publicEventsArraySchema,
|
|
29662
|
-
sitePasses:
|
|
29663
|
-
siteMemberships:
|
|
29688
|
+
sitePasses: publicPassProductCollectionSchema,
|
|
29689
|
+
siteMemberships: publicMembershipProductCollectionSchema,
|
|
29664
29690
|
autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
|
|
29665
29691
|
}).optional(),
|
|
29666
29692
|
occurrenceContext: occurrenceContextSchema2.optional()
|
|
@@ -29984,7 +30010,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
29984
30010
|
};
|
|
29985
30011
|
|
|
29986
30012
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
29987
|
-
import { z as
|
|
30013
|
+
import { z as z51 } from "zod";
|
|
29988
30014
|
|
|
29989
30015
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
29990
30016
|
var COLUMN_CLASSES = {
|
|
@@ -30092,16 +30118,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
30092
30118
|
}
|
|
30093
30119
|
|
|
30094
30120
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
30095
|
-
import { z as
|
|
30121
|
+
import { z as z50 } from "zod";
|
|
30096
30122
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
30097
|
-
var eventPageSizeSchema =
|
|
30098
|
-
|
|
30099
|
-
|
|
30100
|
-
|
|
30101
|
-
|
|
30102
|
-
|
|
30103
|
-
|
|
30104
|
-
|
|
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)
|
|
30105
30131
|
]);
|
|
30106
30132
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
30107
30133
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -30111,15 +30137,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
30111
30137
|
function resolveEventCalendarListPageSize(input) {
|
|
30112
30138
|
return resolveEventPageSize(input.eventsPerPage);
|
|
30113
30139
|
}
|
|
30114
|
-
var eventListPaginationActionSchema =
|
|
30115
|
-
|
|
30116
|
-
kind:
|
|
30117
|
-
label:
|
|
30140
|
+
var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
|
|
30141
|
+
z50.object({
|
|
30142
|
+
kind: z50.literal("loadMore"),
|
|
30143
|
+
label: z50.string()
|
|
30118
30144
|
}),
|
|
30119
|
-
|
|
30120
|
-
kind:
|
|
30121
|
-
label:
|
|
30122
|
-
href:
|
|
30145
|
+
z50.object({
|
|
30146
|
+
kind: z50.literal("seeAllLink"),
|
|
30147
|
+
label: z50.string(),
|
|
30148
|
+
href: z50.string()
|
|
30123
30149
|
})
|
|
30124
30150
|
]);
|
|
30125
30151
|
function resolveEventListPaginationAction(input) {
|
|
@@ -30132,89 +30158,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
30132
30158
|
}
|
|
30133
30159
|
|
|
30134
30160
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30135
|
-
var legacyEventCardVariantSchema =
|
|
30136
|
-
var eventCardVariantInputSchema =
|
|
30161
|
+
var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
|
|
30162
|
+
var eventCardVariantInputSchema = z51.union([
|
|
30137
30163
|
cardVariantRoleSchema,
|
|
30138
30164
|
legacyEventCardVariantSchema
|
|
30139
30165
|
]);
|
|
30140
|
-
var cardOrientationSchema =
|
|
30141
|
-
var eventBlockKindSchema =
|
|
30142
|
-
var eventSurfaceScopeSchema =
|
|
30143
|
-
var eventScheduleScopeSchema2 =
|
|
30144
|
-
var eventListingSourceSchema =
|
|
30145
|
-
events:
|
|
30146
|
-
siteId:
|
|
30147
|
-
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(),
|
|
30148
30174
|
stage: previewStageSchema.optional(),
|
|
30149
30175
|
layout: eventLayoutSchema.optional(),
|
|
30150
30176
|
columns: columnOptionSchema.optional(),
|
|
30151
|
-
eventsPerPage:
|
|
30152
|
-
paginationMode:
|
|
30153
|
-
seeAllUrl:
|
|
30154
|
-
loadMoreText:
|
|
30177
|
+
eventsPerPage: z51.string().optional(),
|
|
30178
|
+
paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30179
|
+
seeAllUrl: z51.string().optional(),
|
|
30180
|
+
loadMoreText: z51.string().optional(),
|
|
30155
30181
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
30156
30182
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30157
|
-
buttonText:
|
|
30158
|
-
showVenue:
|
|
30159
|
-
showMap:
|
|
30160
|
-
showCapacity:
|
|
30161
|
-
emptyMessage:
|
|
30162
|
-
className:
|
|
30163
|
-
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(),
|
|
30164
30190
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30165
|
-
showVenueFilter:
|
|
30166
|
-
showStaffFilter:
|
|
30191
|
+
showVenueFilter: z51.boolean().nullable().optional(),
|
|
30192
|
+
showStaffFilter: z51.boolean().nullable().optional(),
|
|
30167
30193
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
30168
30194
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
30169
|
-
filterEventPresets:
|
|
30195
|
+
filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
|
|
30170
30196
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
30171
|
-
filterCategoryIds:
|
|
30172
|
-
filterStaffMemberId:
|
|
30173
|
-
filterVenueId:
|
|
30197
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
30198
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
30199
|
+
filterVenueId: z51.string().nullable().optional()
|
|
30174
30200
|
});
|
|
30175
|
-
var eventListingDisplaySchema =
|
|
30176
|
-
kind:
|
|
30177
|
-
state:
|
|
30201
|
+
var eventListingDisplaySchema = z51.object({
|
|
30202
|
+
kind: z51.literal("event-listing"),
|
|
30203
|
+
state: z51.enum(["loading", "empty", "ready"]),
|
|
30178
30204
|
listLayout: eventLayoutSchema,
|
|
30179
|
-
className:
|
|
30180
|
-
emptyMessage:
|
|
30181
|
-
loadingMessage:
|
|
30182
|
-
containerClass:
|
|
30205
|
+
className: z51.string().nullable(),
|
|
30206
|
+
emptyMessage: z51.string(),
|
|
30207
|
+
loadingMessage: z51.string(),
|
|
30208
|
+
containerClass: z51.string(),
|
|
30183
30209
|
cardVariant: cardVariantRoleSchema,
|
|
30184
30210
|
buttonVariant: eventButtonVariantSchema,
|
|
30185
|
-
buttonText:
|
|
30186
|
-
showVenue:
|
|
30187
|
-
showMap:
|
|
30188
|
-
showCapacity:
|
|
30211
|
+
buttonText: z51.string(),
|
|
30212
|
+
showVenue: z51.boolean(),
|
|
30213
|
+
showMap: z51.boolean(),
|
|
30214
|
+
showCapacity: z51.boolean(),
|
|
30189
30215
|
orientation: cardOrientationSchema,
|
|
30190
|
-
events:
|
|
30216
|
+
events: z51.array(publicEventSchema)
|
|
30191
30217
|
});
|
|
30192
|
-
var eventListingHydrationSchema =
|
|
30193
|
-
siteId:
|
|
30218
|
+
var eventListingHydrationSchema = z51.object({
|
|
30219
|
+
siteId: z51.string(),
|
|
30194
30220
|
stage: previewStageSchema.optional(),
|
|
30195
30221
|
eventsPerPage: eventPageSizeSchema,
|
|
30196
30222
|
paginationAction: eventListPaginationActionSchema,
|
|
30197
|
-
showFilters:
|
|
30223
|
+
showFilters: z51.boolean(),
|
|
30198
30224
|
showCategoryFilter: filterAutoShowSchema,
|
|
30199
|
-
showVenueFilter:
|
|
30200
|
-
showStaffFilter:
|
|
30225
|
+
showVenueFilter: z51.boolean(),
|
|
30226
|
+
showStaffFilter: z51.boolean(),
|
|
30201
30227
|
eventKind: eventBlockKindSchema,
|
|
30202
30228
|
eventSurface: eventSurfaceScopeSchema,
|
|
30203
|
-
filterEventPresets:
|
|
30229
|
+
filterEventPresets: z51.string().nullable(),
|
|
30204
30230
|
scheduleScope: eventScheduleScopeSchema2,
|
|
30205
|
-
filterCategoryIds:
|
|
30206
|
-
filterStaffMemberId:
|
|
30207
|
-
filterVenueId:
|
|
30208
|
-
fetchInitialEventsOnMount:
|
|
30231
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
30232
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
30233
|
+
filterVenueId: z51.string().nullable().optional(),
|
|
30234
|
+
fetchInitialEventsOnMount: z51.boolean()
|
|
30209
30235
|
});
|
|
30210
|
-
var eventListingRenderSchema =
|
|
30236
|
+
var eventListingRenderSchema = z51.object({
|
|
30211
30237
|
display: eventListingDisplaySchema,
|
|
30212
30238
|
hydration: eventListingHydrationSchema
|
|
30213
30239
|
});
|
|
30214
30240
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
30215
|
-
|
|
30216
|
-
siteId:
|
|
30217
|
-
apiBaseUrl:
|
|
30241
|
+
z51.object({
|
|
30242
|
+
siteId: z51.string(),
|
|
30243
|
+
apiBaseUrl: z51.string().optional(),
|
|
30218
30244
|
stage: previewStageSchema.optional()
|
|
30219
30245
|
})
|
|
30220
30246
|
);
|
|
@@ -30581,15 +30607,15 @@ var eventListingBlockDefinition = {
|
|
|
30581
30607
|
};
|
|
30582
30608
|
|
|
30583
30609
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30584
|
-
import { z as
|
|
30585
|
-
var eventBlockKindSchema2 =
|
|
30586
|
-
var eventSurfaceScopeSchema2 =
|
|
30587
|
-
var eventScheduleScopeSchema3 =
|
|
30588
|
-
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(
|
|
30589
30615
|
{
|
|
30590
|
-
events:
|
|
30591
|
-
siteId:
|
|
30592
|
-
apiBaseUrl:
|
|
30616
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
30617
|
+
siteId: z52.string(),
|
|
30618
|
+
apiBaseUrl: z52.string().optional(),
|
|
30593
30619
|
stage: previewStageSchema.optional(),
|
|
30594
30620
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
30595
30621
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -30597,78 +30623,80 @@ var eventCalendarSourceSchema = z53.object(
|
|
|
30597
30623
|
listColumns: columnOptionSchema.optional(),
|
|
30598
30624
|
layout: eventLayoutSchema.optional(),
|
|
30599
30625
|
columns: columnOptionSchema.optional(),
|
|
30600
|
-
eventsPerPage:
|
|
30601
|
-
paginationMode:
|
|
30602
|
-
seeAllUrl:
|
|
30603
|
-
loadMoreText:
|
|
30626
|
+
eventsPerPage: z52.string().optional(),
|
|
30627
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30628
|
+
seeAllUrl: z52.string().optional(),
|
|
30629
|
+
loadMoreText: z52.string().optional(),
|
|
30604
30630
|
startOfWeek: weekStartSchema.optional(),
|
|
30605
30631
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
30606
|
-
|
|
30632
|
+
defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
|
|
30633
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
30607
30634
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30608
|
-
showVenueFilter:
|
|
30609
|
-
showStaffFilter:
|
|
30635
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
30636
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
30610
30637
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
30611
30638
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
30612
|
-
filterEventPresets:
|
|
30639
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30613
30640
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
30614
|
-
filterCategoryIds:
|
|
30615
|
-
filterStaffMemberId:
|
|
30616
|
-
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(),
|
|
30617
30644
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30618
|
-
buttonText:
|
|
30619
|
-
showVenue:
|
|
30620
|
-
showMap:
|
|
30621
|
-
showCapacity:
|
|
30622
|
-
emptyMessage:
|
|
30623
|
-
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()
|
|
30624
30651
|
}
|
|
30625
30652
|
);
|
|
30626
|
-
var eventCalendarDisplaySchema =
|
|
30627
|
-
kind:
|
|
30653
|
+
var eventCalendarDisplaySchema = z52.object({
|
|
30654
|
+
kind: z52.literal("event-calendar"),
|
|
30628
30655
|
displayMode: eventCalendarDisplayModeSchema,
|
|
30629
|
-
className:
|
|
30630
|
-
events:
|
|
30656
|
+
className: z52.string().nullable(),
|
|
30657
|
+
events: z52.array(publicEventSchema),
|
|
30631
30658
|
listLayout: eventLayoutSchema,
|
|
30632
30659
|
listColumns: columnOptionSchema,
|
|
30633
30660
|
eventsPerPage: eventPageSizeSchema,
|
|
30634
30661
|
paginationAction: eventListPaginationActionSchema,
|
|
30635
30662
|
startOfWeek: weekStartSchema,
|
|
30636
30663
|
calendarTabViews: calendarTabViewsSchema,
|
|
30637
|
-
|
|
30664
|
+
defaultCalendarView: eventCalendarDefaultViewSchema,
|
|
30665
|
+
showFilters: z52.boolean(),
|
|
30638
30666
|
showCategoryFilter: filterAutoShowSchema,
|
|
30639
|
-
showVenueFilter:
|
|
30640
|
-
showStaffFilter:
|
|
30667
|
+
showVenueFilter: z52.boolean(),
|
|
30668
|
+
showStaffFilter: z52.boolean(),
|
|
30641
30669
|
eventKind: eventBlockKindSchema2,
|
|
30642
30670
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30643
|
-
filterEventPresets:
|
|
30671
|
+
filterEventPresets: z52.string().nullable(),
|
|
30644
30672
|
scheduleScope: eventScheduleScopeSchema3,
|
|
30645
|
-
filterCategoryIds:
|
|
30646
|
-
filterStaffMemberId:
|
|
30647
|
-
filterVenueId:
|
|
30673
|
+
filterCategoryIds: z52.string().nullable(),
|
|
30674
|
+
filterStaffMemberId: z52.string().nullable(),
|
|
30675
|
+
filterVenueId: z52.string().nullable(),
|
|
30648
30676
|
buttonVariant: eventButtonVariantSchema,
|
|
30649
|
-
buttonText:
|
|
30650
|
-
showVenue:
|
|
30651
|
-
showMap:
|
|
30652
|
-
showCapacity:
|
|
30653
|
-
emptyMessage:
|
|
30654
|
-
});
|
|
30655
|
-
var eventCalendarHydrationSchema =
|
|
30656
|
-
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(),
|
|
30657
30685
|
stage: previewStageSchema.optional(),
|
|
30658
|
-
prefetchedEvents:
|
|
30686
|
+
prefetchedEvents: z52.boolean(),
|
|
30659
30687
|
eventKind: eventBlockKindSchema2,
|
|
30660
30688
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30661
|
-
filterEventPresets:
|
|
30689
|
+
filterEventPresets: z52.string().nullable(),
|
|
30662
30690
|
scheduleScope: eventScheduleScopeSchema3
|
|
30663
30691
|
});
|
|
30664
|
-
var eventCalendarRenderSchema =
|
|
30692
|
+
var eventCalendarRenderSchema = z52.object({
|
|
30665
30693
|
display: eventCalendarDisplaySchema,
|
|
30666
30694
|
hydration: eventCalendarHydrationSchema
|
|
30667
30695
|
});
|
|
30668
30696
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
30669
|
-
|
|
30670
|
-
siteId:
|
|
30671
|
-
apiBaseUrl:
|
|
30697
|
+
z52.object({
|
|
30698
|
+
siteId: z52.string(),
|
|
30699
|
+
apiBaseUrl: z52.string().optional(),
|
|
30672
30700
|
stage: previewStageSchema.optional()
|
|
30673
30701
|
})
|
|
30674
30702
|
);
|
|
@@ -30698,6 +30726,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
30698
30726
|
}),
|
|
30699
30727
|
startOfWeek: source.startOfWeek ?? "monday",
|
|
30700
30728
|
calendarTabViews: source.calendarTabViews ?? "both",
|
|
30729
|
+
defaultCalendarView: source.defaultCalendarView ?? "month",
|
|
30701
30730
|
showFilters: source.showFilters ?? true,
|
|
30702
30731
|
showCategoryFilter: source.showCategoryFilter ?? "auto",
|
|
30703
30732
|
showVenueFilter: source.showVenueFilter ?? false,
|
|
@@ -30760,6 +30789,9 @@ function normalizeEventCalendarContent(content) {
|
|
|
30760
30789
|
...variant ? { variant } : {},
|
|
30761
30790
|
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
30762
30791
|
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
30792
|
+
defaultCalendarView: normalizeEventCalendarDefaultView(
|
|
30793
|
+
record.defaultCalendarView
|
|
30794
|
+
),
|
|
30763
30795
|
kind,
|
|
30764
30796
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
30765
30797
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -30777,6 +30809,9 @@ function normalizeEventCalendarDisplayMode(value) {
|
|
|
30777
30809
|
function normalizeEventCalendarListLayout(value) {
|
|
30778
30810
|
return isEventCalendarListLayout(value) ? value : void 0;
|
|
30779
30811
|
}
|
|
30812
|
+
function normalizeEventCalendarDefaultView(value) {
|
|
30813
|
+
return isEventCalendarDefaultView(value) ? value : void 0;
|
|
30814
|
+
}
|
|
30780
30815
|
var eventCalendarLayout = [
|
|
30781
30816
|
styledSection({
|
|
30782
30817
|
children: sectionContainer(
|
|
@@ -30836,6 +30871,9 @@ var eventCalendarLayout = [
|
|
|
30836
30871
|
calendarTabViews: {
|
|
30837
30872
|
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
30838
30873
|
},
|
|
30874
|
+
defaultCalendarView: {
|
|
30875
|
+
$bind: { from: "content.defaultCalendarView", fallback: "month" }
|
|
30876
|
+
},
|
|
30839
30877
|
// Filtering options
|
|
30840
30878
|
showFilters: {
|
|
30841
30879
|
$bind: { from: "content.showFilters", fallback: true }
|
|
@@ -30902,8 +30940,7 @@ var eventCalendarAdditionalFields = [
|
|
|
30902
30940
|
defaultValue: "combined",
|
|
30903
30941
|
options: [
|
|
30904
30942
|
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
30905
|
-
{ value: "
|
|
30906
|
-
{ value: "week", label: "Week agenda" },
|
|
30943
|
+
{ value: "calendar", label: "Calendar" },
|
|
30907
30944
|
{ value: "timetable", label: "Timetable" },
|
|
30908
30945
|
{ value: "list", label: "List" }
|
|
30909
30946
|
],
|
|
@@ -30942,7 +30979,12 @@ var eventCalendarAdditionalFields = [
|
|
|
30942
30979
|
],
|
|
30943
30980
|
ui: {
|
|
30944
30981
|
intent: "display",
|
|
30945
|
-
visibleWhen: {
|
|
30982
|
+
visibleWhen: {
|
|
30983
|
+
allOf: [
|
|
30984
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
30985
|
+
{ field: "listLayout", equals: "grid" }
|
|
30986
|
+
]
|
|
30987
|
+
}
|
|
30946
30988
|
}
|
|
30947
30989
|
},
|
|
30948
30990
|
{
|
|
@@ -30990,7 +31032,12 @@ var eventCalendarAdditionalFields = [
|
|
|
30990
31032
|
required: false,
|
|
30991
31033
|
ui: {
|
|
30992
31034
|
intent: "display",
|
|
30993
|
-
visibleWhen: {
|
|
31035
|
+
visibleWhen: {
|
|
31036
|
+
allOf: [
|
|
31037
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
31038
|
+
{ field: "paginationMode", equals: "seeAllLink" }
|
|
31039
|
+
]
|
|
31040
|
+
}
|
|
30994
31041
|
}
|
|
30995
31042
|
},
|
|
30996
31043
|
{
|
|
@@ -31023,7 +31070,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31023
31070
|
intent: "display",
|
|
31024
31071
|
visibleWhen: {
|
|
31025
31072
|
field: "variant",
|
|
31026
|
-
oneOf: ["combined", "
|
|
31073
|
+
oneOf: ["combined", "calendar", "timetable"]
|
|
31027
31074
|
}
|
|
31028
31075
|
}
|
|
31029
31076
|
},
|
|
@@ -31046,6 +31093,33 @@ var eventCalendarAdditionalFields = [
|
|
|
31046
31093
|
visibleWhen: { field: "variant", equals: "combined" }
|
|
31047
31094
|
}
|
|
31048
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
|
+
},
|
|
31049
31123
|
// Filtering options
|
|
31050
31124
|
{
|
|
31051
31125
|
id: "kind",
|
|
@@ -31073,7 +31147,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31073
31147
|
intent: "display",
|
|
31074
31148
|
visibleWhen: {
|
|
31075
31149
|
field: "variant",
|
|
31076
|
-
oneOf: ["combined", "list", "timetable"]
|
|
31150
|
+
oneOf: ["combined", "calendar", "list", "timetable"]
|
|
31077
31151
|
}
|
|
31078
31152
|
}
|
|
31079
31153
|
},
|
|
@@ -31093,8 +31167,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31093
31167
|
ui: {
|
|
31094
31168
|
intent: "display",
|
|
31095
31169
|
visibleWhen: {
|
|
31096
|
-
|
|
31097
|
-
|
|
31170
|
+
allOf: [
|
|
31171
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31172
|
+
{ field: "showFilters", equals: true }
|
|
31173
|
+
]
|
|
31098
31174
|
}
|
|
31099
31175
|
}
|
|
31100
31176
|
},
|
|
@@ -31108,8 +31184,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31108
31184
|
ui: {
|
|
31109
31185
|
intent: "display",
|
|
31110
31186
|
visibleWhen: {
|
|
31111
|
-
|
|
31112
|
-
|
|
31187
|
+
allOf: [
|
|
31188
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31189
|
+
{ field: "showFilters", equals: true }
|
|
31190
|
+
]
|
|
31113
31191
|
}
|
|
31114
31192
|
}
|
|
31115
31193
|
},
|
|
@@ -31123,8 +31201,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31123
31201
|
ui: {
|
|
31124
31202
|
intent: "display",
|
|
31125
31203
|
visibleWhen: {
|
|
31126
|
-
|
|
31127
|
-
|
|
31204
|
+
allOf: [
|
|
31205
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31206
|
+
{ field: "showFilters", equals: true }
|
|
31207
|
+
]
|
|
31128
31208
|
}
|
|
31129
31209
|
}
|
|
31130
31210
|
},
|
|
@@ -31138,8 +31218,15 @@ var eventCalendarAdditionalFields = [
|
|
|
31138
31218
|
ui: {
|
|
31139
31219
|
intent: "display",
|
|
31140
31220
|
visibleWhen: {
|
|
31141
|
-
|
|
31142
|
-
|
|
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
|
+
]
|
|
31143
31230
|
}
|
|
31144
31231
|
}
|
|
31145
31232
|
},
|
|
@@ -31255,8 +31342,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31255
31342
|
];
|
|
31256
31343
|
var eventCalendarVariants = {
|
|
31257
31344
|
combined: eventCalendarLayout[0],
|
|
31258
|
-
|
|
31259
|
-
week: eventCalendarLayout[0],
|
|
31345
|
+
calendar: eventCalendarLayout[0],
|
|
31260
31346
|
timetable: eventCalendarLayout[0],
|
|
31261
31347
|
list: eventCalendarLayout[0]
|
|
31262
31348
|
};
|
|
@@ -31268,8 +31354,7 @@ var eventCalendarDerivedFields = [
|
|
|
31268
31354
|
multiple: false,
|
|
31269
31355
|
options: [
|
|
31270
31356
|
{ value: "combined" },
|
|
31271
|
-
{ value: "
|
|
31272
|
-
{ value: "week" },
|
|
31357
|
+
{ value: "calendar" },
|
|
31273
31358
|
{ value: "timetable" },
|
|
31274
31359
|
{ value: "list" }
|
|
31275
31360
|
]
|
|
@@ -31282,6 +31367,13 @@ var eventCalendarDerivedFields = [
|
|
|
31282
31367
|
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
31283
31368
|
value: option.id
|
|
31284
31369
|
}))
|
|
31370
|
+
},
|
|
31371
|
+
{
|
|
31372
|
+
id: "defaultCalendarView",
|
|
31373
|
+
type: "select",
|
|
31374
|
+
required: false,
|
|
31375
|
+
multiple: false,
|
|
31376
|
+
options: [{ value: "month" }, { value: "week" }]
|
|
31285
31377
|
}
|
|
31286
31378
|
];
|
|
31287
31379
|
var eventCalendarContentShape = {
|
|
@@ -31330,8 +31422,7 @@ var eventCalendarConfig = {
|
|
|
31330
31422
|
defaultVariant: "combined",
|
|
31331
31423
|
variantOptions: {
|
|
31332
31424
|
combined: { label: "Combined" },
|
|
31333
|
-
|
|
31334
|
-
week: { label: "Week" },
|
|
31425
|
+
calendar: { label: "Calendar" },
|
|
31335
31426
|
timetable: { label: "Timetable" },
|
|
31336
31427
|
list: { label: "List" }
|
|
31337
31428
|
}
|
|
@@ -31377,7 +31468,7 @@ var eventCalendarBlockDefinition = {
|
|
|
31377
31468
|
};
|
|
31378
31469
|
|
|
31379
31470
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31380
|
-
import { z as
|
|
31471
|
+
import { z as z53 } from "zod";
|
|
31381
31472
|
|
|
31382
31473
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
31383
31474
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -31469,13 +31560,13 @@ function isRecord5(value) {
|
|
|
31469
31560
|
}
|
|
31470
31561
|
|
|
31471
31562
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31472
|
-
var publicRouteCandidatesSchema =
|
|
31473
|
-
routes:
|
|
31474
|
-
entityId:
|
|
31475
|
-
path:
|
|
31476
|
-
title:
|
|
31477
|
-
kind:
|
|
31478
|
-
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()
|
|
31479
31570
|
}))
|
|
31480
31571
|
});
|
|
31481
31572
|
var groupOverrideFields = [
|
|
@@ -31873,7 +31964,7 @@ function isRecord6(value) {
|
|
|
31873
31964
|
}
|
|
31874
31965
|
|
|
31875
31966
|
// ../blocks/src/system/blocks/embed.ts
|
|
31876
|
-
import { z as
|
|
31967
|
+
import { z as z54 } from "zod";
|
|
31877
31968
|
var embedFields = [
|
|
31878
31969
|
// Section heading
|
|
31879
31970
|
parseFieldDefinition({
|
|
@@ -32104,18 +32195,18 @@ var embedManifest = createBlockManifest({
|
|
|
32104
32195
|
spacing: "lg"
|
|
32105
32196
|
}
|
|
32106
32197
|
});
|
|
32107
|
-
var embedEntrySchema =
|
|
32108
|
-
id:
|
|
32109
|
-
identifier:
|
|
32110
|
-
title:
|
|
32111
|
-
slug:
|
|
32112
|
-
content:
|
|
32113
|
-
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()
|
|
32114
32205
|
});
|
|
32115
32206
|
var embedBlockDefinition = {
|
|
32116
32207
|
manifest: embedManifest,
|
|
32117
32208
|
dataSchemas: {
|
|
32118
|
-
entries:
|
|
32209
|
+
entries: z54.array(embedEntrySchema).optional()
|
|
32119
32210
|
},
|
|
32120
32211
|
dataLoaders: {
|
|
32121
32212
|
entries: {
|
|
@@ -33298,53 +33389,50 @@ var fileDownloadBlockDefinition = {
|
|
|
33298
33389
|
manifest: fileDownloadManifest
|
|
33299
33390
|
};
|
|
33300
33391
|
|
|
33301
|
-
// ../blocks/src/system/blocks/shop.ts
|
|
33302
|
-
import { z as z59 } from "zod";
|
|
33303
|
-
|
|
33304
33392
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33305
|
-
import { z as
|
|
33393
|
+
import { z as z57 } from "zod";
|
|
33306
33394
|
|
|
33307
33395
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
33308
|
-
import { z as
|
|
33309
|
-
var publicProductVariantSchema =
|
|
33310
|
-
id:
|
|
33311
|
-
title:
|
|
33312
|
-
sku:
|
|
33313
|
-
priceCents:
|
|
33314
|
-
stockQuantity:
|
|
33315
|
-
soldOut:
|
|
33316
|
-
});
|
|
33317
|
-
var publicProductSchema =
|
|
33318
|
-
id:
|
|
33319
|
-
contentEntryId:
|
|
33320
|
-
title:
|
|
33321
|
-
slug:
|
|
33322
|
-
path:
|
|
33323
|
-
status:
|
|
33324
|
-
priceCents:
|
|
33325
|
-
currency:
|
|
33326
|
-
productType:
|
|
33327
|
-
requiresShipping:
|
|
33328
|
-
hasVariants:
|
|
33329
|
-
trackInventory:
|
|
33330
|
-
soldOut:
|
|
33331
|
-
category:
|
|
33332
|
-
id:
|
|
33333
|
-
name:
|
|
33334
|
-
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()
|
|
33335
33423
|
}).nullable(),
|
|
33336
|
-
summary:
|
|
33337
|
-
body:
|
|
33338
|
-
gallery:
|
|
33339
|
-
|
|
33340
|
-
url:
|
|
33341
|
-
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()
|
|
33342
33430
|
})
|
|
33343
33431
|
),
|
|
33344
|
-
variants:
|
|
33432
|
+
variants: z55.array(publicProductVariantSchema)
|
|
33345
33433
|
});
|
|
33346
|
-
var publicProductsResponseSchema =
|
|
33347
|
-
products:
|
|
33434
|
+
var publicProductsResponseSchema = z55.object({
|
|
33435
|
+
products: z55.array(publicProductSchema)
|
|
33348
33436
|
});
|
|
33349
33437
|
|
|
33350
33438
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -33408,27 +33496,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
33408
33496
|
}
|
|
33409
33497
|
|
|
33410
33498
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
33411
|
-
import { z as
|
|
33412
|
-
var storedProductCartItemSchema =
|
|
33413
|
-
kind:
|
|
33414
|
-
productId:
|
|
33415
|
-
productCategoryId:
|
|
33416
|
-
variantId:
|
|
33417
|
-
title:
|
|
33418
|
-
variantTitle:
|
|
33419
|
-
quantity:
|
|
33420
|
-
unitPriceCents:
|
|
33421
|
-
currency:
|
|
33422
|
-
imageUrl:
|
|
33423
|
-
soldOut:
|
|
33424
|
-
});
|
|
33425
|
-
var storedPassCartItemSchema =
|
|
33426
|
-
kind:
|
|
33427
|
-
passId:
|
|
33428
|
-
title:
|
|
33429
|
-
quantity:
|
|
33430
|
-
unitPriceCents:
|
|
33431
|
-
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)
|
|
33432
33520
|
});
|
|
33433
33521
|
function deriveCommerceCheckoutState(state) {
|
|
33434
33522
|
if (state.items.length === 0) {
|
|
@@ -33662,214 +33750,214 @@ function formatValidity(days) {
|
|
|
33662
33750
|
}
|
|
33663
33751
|
|
|
33664
33752
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33665
|
-
var shopModeSchema =
|
|
33666
|
-
var contentEntrySchema3 =
|
|
33667
|
-
id:
|
|
33668
|
-
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()
|
|
33669
33757
|
}).nullable();
|
|
33670
|
-
var shopSourceSchema =
|
|
33671
|
-
className:
|
|
33758
|
+
var shopSourceSchema = z57.object({
|
|
33759
|
+
className: z57.string().nullable().optional(),
|
|
33672
33760
|
mode: shopModeSchema.optional(),
|
|
33673
|
-
heading:
|
|
33674
|
-
productSlug:
|
|
33675
|
-
showPasses:
|
|
33676
|
-
showMemberships:
|
|
33677
|
-
layout:
|
|
33678
|
-
columns:
|
|
33679
|
-
showDescriptions:
|
|
33680
|
-
showSummary:
|
|
33681
|
-
showBody:
|
|
33682
|
-
showPrices:
|
|
33683
|
-
showValidityPeriod:
|
|
33684
|
-
showPricePerCredit:
|
|
33685
|
-
passesHeading:
|
|
33686
|
-
membershipsHeading:
|
|
33687
|
-
buyButtonText:
|
|
33688
|
-
addButtonText:
|
|
33689
|
-
passPurchaseMode:
|
|
33690
|
-
subscribeButtonText:
|
|
33691
|
-
emptyStateText:
|
|
33692
|
-
checkoutButtonText:
|
|
33693
|
-
clearButtonText:
|
|
33694
|
-
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(),
|
|
33695
33783
|
contentEntry: contentEntrySchema3.optional(),
|
|
33696
|
-
passes:
|
|
33697
|
-
memberships:
|
|
33698
|
-
products:
|
|
33699
|
-
siteId:
|
|
33700
|
-
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(),
|
|
33701
33789
|
stage: previewStageSchema.optional()
|
|
33702
33790
|
});
|
|
33703
|
-
var productVariantOptionDisplaySchema =
|
|
33704
|
-
id:
|
|
33705
|
-
label:
|
|
33706
|
-
soldOut:
|
|
33707
|
-
});
|
|
33708
|
-
var productCardDisplaySchema =
|
|
33709
|
-
productId:
|
|
33710
|
-
title:
|
|
33711
|
-
path:
|
|
33712
|
-
summary:
|
|
33713
|
-
priceLabel:
|
|
33714
|
-
image:
|
|
33715
|
-
url:
|
|
33716
|
-
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()
|
|
33717
33805
|
}).nullable(),
|
|
33718
|
-
variantOptions:
|
|
33719
|
-
selectedVariantId:
|
|
33720
|
-
selectionLabel:
|
|
33721
|
-
actionLabel:
|
|
33722
|
-
soldOut:
|
|
33723
|
-
});
|
|
33724
|
-
var productListDisplaySchema =
|
|
33725
|
-
kind:
|
|
33726
|
-
state:
|
|
33727
|
-
heading:
|
|
33728
|
-
className:
|
|
33729
|
-
layout:
|
|
33730
|
-
columns:
|
|
33731
|
-
emptyMessage:
|
|
33732
|
-
cards:
|
|
33733
|
-
});
|
|
33734
|
-
var productDetailDisplaySchema =
|
|
33735
|
-
|
|
33736
|
-
kind:
|
|
33737
|
-
state:
|
|
33738
|
-
heading:
|
|
33739
|
-
className:
|
|
33740
|
-
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()
|
|
33741
33829
|
}),
|
|
33742
|
-
|
|
33743
|
-
kind:
|
|
33744
|
-
state:
|
|
33745
|
-
heading:
|
|
33746
|
-
className:
|
|
33747
|
-
title:
|
|
33748
|
-
priceLabel:
|
|
33749
|
-
summary:
|
|
33750
|
-
categoryLabel:
|
|
33751
|
-
gallery:
|
|
33752
|
-
url:
|
|
33753
|
-
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()
|
|
33754
33842
|
})),
|
|
33755
|
-
variantOptions:
|
|
33756
|
-
selectedVariantId:
|
|
33757
|
-
selectionLabel:
|
|
33758
|
-
actionLabel:
|
|
33759
|
-
soldOut:
|
|
33760
|
-
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()
|
|
33761
33849
|
})
|
|
33762
33850
|
]);
|
|
33763
|
-
var passCardDisplaySchema =
|
|
33764
|
-
id:
|
|
33765
|
-
title:
|
|
33766
|
-
description:
|
|
33767
|
-
priceLabel:
|
|
33768
|
-
creditsLabel:
|
|
33769
|
-
perCreditLabel:
|
|
33770
|
-
validityLabel:
|
|
33771
|
-
actionLabel:
|
|
33772
|
-
});
|
|
33773
|
-
var membershipCardDisplaySchema =
|
|
33774
|
-
id:
|
|
33775
|
-
title:
|
|
33776
|
-
description:
|
|
33777
|
-
priceLabel:
|
|
33778
|
-
intervalLabel:
|
|
33779
|
-
actionLabel:
|
|
33780
|
-
});
|
|
33781
|
-
var passesMembershipsDisplaySchema =
|
|
33782
|
-
kind:
|
|
33783
|
-
state:
|
|
33784
|
-
className:
|
|
33785
|
-
layout:
|
|
33786
|
-
columns:
|
|
33787
|
-
emptyMessage:
|
|
33788
|
-
passesHeading:
|
|
33789
|
-
membershipsHeading:
|
|
33790
|
-
passes:
|
|
33791
|
-
memberships:
|
|
33792
|
-
});
|
|
33793
|
-
var cartLineDisplaySchema =
|
|
33794
|
-
key:
|
|
33795
|
-
title:
|
|
33796
|
-
priceLabel:
|
|
33797
|
-
quantity:
|
|
33798
|
-
quantityEditable:
|
|
33799
|
-
});
|
|
33800
|
-
var cartDisplaySchema =
|
|
33801
|
-
kind:
|
|
33802
|
-
state:
|
|
33803
|
-
heading:
|
|
33804
|
-
className:
|
|
33805
|
-
emptyMessage:
|
|
33806
|
-
supportText:
|
|
33807
|
-
items:
|
|
33808
|
-
subtotalLabel:
|
|
33809
|
-
checkoutButtonText:
|
|
33810
|
-
clearButtonText:
|
|
33811
|
-
});
|
|
33812
|
-
var checkoutDisplaySchema =
|
|
33813
|
-
kind:
|
|
33814
|
-
state:
|
|
33815
|
-
heading:
|
|
33816
|
-
className:
|
|
33817
|
-
message:
|
|
33818
|
-
submitButtonText:
|
|
33819
|
-
});
|
|
33820
|
-
var passesMembershipsHydrationSchema =
|
|
33821
|
-
passes:
|
|
33822
|
-
memberships:
|
|
33823
|
-
passPurchaseMode:
|
|
33824
|
-
});
|
|
33825
|
-
var productListHydrationSchema =
|
|
33826
|
-
products:
|
|
33827
|
-
showSummary:
|
|
33828
|
-
showPrices:
|
|
33829
|
-
addButtonText:
|
|
33830
|
-
});
|
|
33831
|
-
var productDetailHydrationSchema =
|
|
33832
|
-
products:
|
|
33833
|
-
productId:
|
|
33834
|
-
showSummary:
|
|
33835
|
-
showBody:
|
|
33836
|
-
addButtonText:
|
|
33837
|
-
});
|
|
33838
|
-
var cartHydrationSchema =
|
|
33839
|
-
emptyStateText:
|
|
33840
|
-
checkoutButtonText:
|
|
33841
|
-
clearButtonText:
|
|
33842
|
-
});
|
|
33843
|
-
var checkoutHydrationSchema =
|
|
33844
|
-
emptyStateText:
|
|
33845
|
-
submitButtonText:
|
|
33846
|
-
});
|
|
33847
|
-
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({
|
|
33848
33936
|
display: passesMembershipsDisplaySchema,
|
|
33849
33937
|
hydration: passesMembershipsHydrationSchema
|
|
33850
33938
|
});
|
|
33851
|
-
var productListRenderSchema =
|
|
33939
|
+
var productListRenderSchema = z57.object({
|
|
33852
33940
|
display: productListDisplaySchema,
|
|
33853
33941
|
hydration: productListHydrationSchema
|
|
33854
33942
|
});
|
|
33855
|
-
var productDetailRenderSchema =
|
|
33943
|
+
var productDetailRenderSchema = z57.object({
|
|
33856
33944
|
display: productDetailDisplaySchema,
|
|
33857
33945
|
hydration: productDetailHydrationSchema
|
|
33858
33946
|
});
|
|
33859
|
-
var cartRenderSchema =
|
|
33947
|
+
var cartRenderSchema = z57.object({
|
|
33860
33948
|
display: cartDisplaySchema,
|
|
33861
33949
|
hydration: cartHydrationSchema
|
|
33862
33950
|
});
|
|
33863
|
-
var checkoutRenderSchema =
|
|
33951
|
+
var checkoutRenderSchema = z57.object({
|
|
33864
33952
|
display: checkoutDisplaySchema,
|
|
33865
33953
|
hydration: checkoutHydrationSchema
|
|
33866
33954
|
});
|
|
33867
33955
|
function resolveShowPricePerCredit(source) {
|
|
33868
33956
|
return source.showPricePerCredit ?? true;
|
|
33869
33957
|
}
|
|
33870
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
33871
|
-
siteId:
|
|
33872
|
-
apiBaseUrl:
|
|
33958
|
+
var shopIslandMetaCodec = createZodCodec(z57.object({
|
|
33959
|
+
siteId: z57.string().optional(),
|
|
33960
|
+
apiBaseUrl: z57.string().optional(),
|
|
33873
33961
|
stage: previewStageSchema.optional()
|
|
33874
33962
|
}));
|
|
33875
33963
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -34247,9 +34335,9 @@ var shopBlockDefinition = {
|
|
|
34247
34335
|
runtime: shopBlockRuntime,
|
|
34248
34336
|
dataSchemas: {
|
|
34249
34337
|
// listPublicPasses returns { passes: [...] }
|
|
34250
|
-
passes:
|
|
34338
|
+
passes: publicPassProductCollectionSchema.optional(),
|
|
34251
34339
|
// listPublicMemberships returns { memberships: [...] }
|
|
34252
|
-
memberships:
|
|
34340
|
+
memberships: publicMembershipProductCollectionSchema.optional()
|
|
34253
34341
|
},
|
|
34254
34342
|
dataLoaders: {
|
|
34255
34343
|
// Load passes for display
|
|
@@ -34272,7 +34360,7 @@ var shopBlockDefinition = {
|
|
|
34272
34360
|
};
|
|
34273
34361
|
|
|
34274
34362
|
// ../blocks/src/system/blocks/product-list.ts
|
|
34275
|
-
import { z as
|
|
34363
|
+
import { z as z58 } from "zod";
|
|
34276
34364
|
var productListManifest = createBlockManifest({
|
|
34277
34365
|
id: "block.product-list",
|
|
34278
34366
|
version: "1.0.0",
|
|
@@ -34405,7 +34493,7 @@ var productListBlockDefinition = {
|
|
|
34405
34493
|
}
|
|
34406
34494
|
}
|
|
34407
34495
|
};
|
|
34408
|
-
var productListDataSchema =
|
|
34496
|
+
var productListDataSchema = z58.object({
|
|
34409
34497
|
products: publicProductsResponseSchema.optional()
|
|
34410
34498
|
});
|
|
34411
34499
|
|
|
@@ -34666,72 +34754,72 @@ var checkoutBlockDefinition = {
|
|
|
34666
34754
|
};
|
|
34667
34755
|
|
|
34668
34756
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
34669
|
-
import { z as
|
|
34670
|
-
var publicGiftCardOfferSchema =
|
|
34671
|
-
id:
|
|
34672
|
-
kind:
|
|
34673
|
-
title:
|
|
34674
|
-
description:
|
|
34675
|
-
sortOrder:
|
|
34676
|
-
giftCard:
|
|
34677
|
-
fixedDenominations:
|
|
34678
|
-
customAmountEnabled:
|
|
34679
|
-
customAmountMinCents:
|
|
34680
|
-
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()
|
|
34681
34769
|
}),
|
|
34682
|
-
voucher:
|
|
34683
|
-
});
|
|
34684
|
-
var publicVoucherOfferSchema =
|
|
34685
|
-
id:
|
|
34686
|
-
kind:
|
|
34687
|
-
title:
|
|
34688
|
-
description:
|
|
34689
|
-
sortOrder:
|
|
34690
|
-
giftCard:
|
|
34691
|
-
voucher:
|
|
34692
|
-
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()
|
|
34693
34781
|
})
|
|
34694
34782
|
});
|
|
34695
|
-
var publicGiftingOffersResponseSchema =
|
|
34696
|
-
currency:
|
|
34697
|
-
giftCards:
|
|
34698
|
-
vouchers:
|
|
34783
|
+
var publicGiftingOffersResponseSchema = z59.object({
|
|
34784
|
+
currency: z59.string(),
|
|
34785
|
+
giftCards: z59.array(publicGiftCardOfferSchema),
|
|
34786
|
+
vouchers: z59.array(publicVoucherOfferSchema)
|
|
34699
34787
|
});
|
|
34700
|
-
var giftingSourceSchema =
|
|
34701
|
-
siteId:
|
|
34702
|
-
apiBaseUrl:
|
|
34788
|
+
var giftingSourceSchema = z59.object({
|
|
34789
|
+
siteId: z59.string().optional(),
|
|
34790
|
+
apiBaseUrl: z59.string().optional(),
|
|
34703
34791
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
34704
|
-
className:
|
|
34705
|
-
heading:
|
|
34706
|
-
intro:
|
|
34707
|
-
giftCardsHeading:
|
|
34708
|
-
vouchersHeading:
|
|
34709
|
-
emptyStateText:
|
|
34710
|
-
checkoutButtonText:
|
|
34711
|
-
successMessage:
|
|
34712
|
-
});
|
|
34713
|
-
var giftingDisplaySchema =
|
|
34714
|
-
kind:
|
|
34715
|
-
state:
|
|
34716
|
-
className:
|
|
34717
|
-
heading:
|
|
34718
|
-
intro:
|
|
34719
|
-
giftCardsHeading:
|
|
34720
|
-
vouchersHeading:
|
|
34721
|
-
emptyStateText:
|
|
34722
|
-
});
|
|
34723
|
-
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({
|
|
34724
34812
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
34725
|
-
checkoutButtonText:
|
|
34726
|
-
successMessage:
|
|
34813
|
+
checkoutButtonText: z59.string(),
|
|
34814
|
+
successMessage: z59.string()
|
|
34727
34815
|
});
|
|
34728
|
-
var giftingRenderSchema =
|
|
34816
|
+
var giftingRenderSchema = z59.object({
|
|
34729
34817
|
display: giftingDisplaySchema,
|
|
34730
34818
|
hydration: giftingHydrationSchema
|
|
34731
34819
|
});
|
|
34732
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
34733
|
-
siteId:
|
|
34734
|
-
apiBaseUrl:
|
|
34820
|
+
var giftingIslandMetaCodec = createZodCodec(z59.object({
|
|
34821
|
+
siteId: z59.string().optional(),
|
|
34822
|
+
apiBaseUrl: z59.string().optional()
|
|
34735
34823
|
}));
|
|
34736
34824
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
34737
34825
|
"siteId",
|
|
@@ -34902,7 +34990,7 @@ var giftingBlockDefinition = {
|
|
|
34902
34990
|
};
|
|
34903
34991
|
|
|
34904
34992
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34905
|
-
import { z as
|
|
34993
|
+
import { z as z60 } from "zod";
|
|
34906
34994
|
|
|
34907
34995
|
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
34908
34996
|
function parseNewsletterSignupBlockId(value) {
|
|
@@ -35009,65 +35097,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
35009
35097
|
}
|
|
35010
35098
|
|
|
35011
35099
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
35012
|
-
var newsletterPresetSchema =
|
|
35013
|
-
var newsletterDestinationProviderSchema =
|
|
35014
|
-
var newsletterFieldSchema =
|
|
35015
|
-
id:
|
|
35016
|
-
type:
|
|
35017
|
-
label:
|
|
35018
|
-
required:
|
|
35019
|
-
placeholder:
|
|
35020
|
-
});
|
|
35021
|
-
var newsletterSignupBlockIdSchema =
|
|
35022
|
-
var signedNewsletterDestinationRefSchema =
|
|
35023
|
-
var newsletterPublicDestinationRefSchema =
|
|
35024
|
-
|
|
35025
|
-
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"),
|
|
35026
35114
|
blockId: newsletterSignupBlockIdSchema
|
|
35027
35115
|
}),
|
|
35028
|
-
|
|
35029
|
-
tag:
|
|
35116
|
+
z60.object({
|
|
35117
|
+
tag: z60.literal("signed_destination_ref"),
|
|
35030
35118
|
token: signedNewsletterDestinationRefSchema
|
|
35031
35119
|
})
|
|
35032
35120
|
]);
|
|
35033
|
-
var newsletterSourceSchema =
|
|
35034
|
-
blockId:
|
|
35035
|
-
siteId:
|
|
35036
|
-
apiBaseUrl:
|
|
35037
|
-
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(),
|
|
35038
35126
|
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
35039
35127
|
preset: newsletterPresetSchema.optional(),
|
|
35040
|
-
includePhone:
|
|
35041
|
-
buttonLabel:
|
|
35042
|
-
successMessage:
|
|
35043
|
-
privacyNote:
|
|
35044
|
-
tags:
|
|
35045
|
-
spamProtectionEnabled:
|
|
35046
|
-
className:
|
|
35047
|
-
});
|
|
35048
|
-
var newsletterDisplaySchema =
|
|
35049
|
-
kind:
|
|
35050
|
-
className:
|
|
35051
|
-
buttonLabel:
|
|
35052
|
-
successMessage:
|
|
35053
|
-
privacyNote:
|
|
35054
|
-
fields:
|
|
35055
|
-
});
|
|
35056
|
-
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({
|
|
35057
35145
|
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
35058
|
-
listId:
|
|
35146
|
+
listId: z60.string().nullable().optional(),
|
|
35059
35147
|
preset: newsletterPresetSchema,
|
|
35060
|
-
includePhone:
|
|
35061
|
-
tags:
|
|
35062
|
-
spamProtectionEnabled:
|
|
35148
|
+
includePhone: z60.boolean(),
|
|
35149
|
+
tags: z60.string().nullable().optional(),
|
|
35150
|
+
spamProtectionEnabled: z60.boolean().optional()
|
|
35063
35151
|
});
|
|
35064
|
-
var newsletterRenderSchema =
|
|
35152
|
+
var newsletterRenderSchema = z60.object({
|
|
35065
35153
|
display: newsletterDisplaySchema,
|
|
35066
35154
|
hydration: newsletterHydrationSchema
|
|
35067
35155
|
});
|
|
35068
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
35069
|
-
siteId:
|
|
35070
|
-
apiBaseUrl:
|
|
35156
|
+
var newsletterIslandMetaCodec = createZodCodec(z60.object({
|
|
35157
|
+
siteId: z60.string().optional(),
|
|
35158
|
+
apiBaseUrl: z60.string().optional()
|
|
35071
35159
|
}));
|
|
35072
35160
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
35073
35161
|
function buildNewsletterDisplay(source) {
|
|
@@ -35206,23 +35294,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
35206
35294
|
};
|
|
35207
35295
|
|
|
35208
35296
|
// ../blocks/src/system/blocks/team-members.ts
|
|
35209
|
-
import { z as
|
|
35297
|
+
import { z as z61 } from "zod";
|
|
35210
35298
|
var ITEM_NAME2 = "member";
|
|
35211
35299
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
35212
35300
|
message: "Team member photos must be image media"
|
|
35213
35301
|
}).nullable();
|
|
35214
|
-
var teamMemberDataSchema =
|
|
35215
|
-
_type:
|
|
35216
|
-
id:
|
|
35217
|
-
name:
|
|
35218
|
-
role:
|
|
35219
|
-
roleLabel:
|
|
35220
|
-
bio:
|
|
35221
|
-
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(),
|
|
35222
35310
|
photo: teamMemberPhotoSchema,
|
|
35223
|
-
profilePath:
|
|
35311
|
+
profilePath: z61.string().nullable()
|
|
35224
35312
|
});
|
|
35225
|
-
var teamMembersDataSchema =
|
|
35313
|
+
var teamMembersDataSchema = z61.array(teamMemberDataSchema);
|
|
35226
35314
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
35227
35315
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
35228
35316
|
var headingNode = text(
|
|
@@ -36114,13 +36202,6 @@ var systemBlockDefinitionsRaw = [
|
|
|
36114
36202
|
weight: "featured",
|
|
36115
36203
|
bias: "clear",
|
|
36116
36204
|
surfaces: heroSectionSurfaces
|
|
36117
|
-
}),
|
|
36118
|
-
layoutProfile({
|
|
36119
|
-
variantKey: "splitEditorial",
|
|
36120
|
-
family: "split",
|
|
36121
|
-
weight: "featured",
|
|
36122
|
-
bias: "clear",
|
|
36123
|
-
surfaces: heroSectionSurfaces
|
|
36124
36205
|
})
|
|
36125
36206
|
]
|
|
36126
36207
|
})),
|
|
@@ -36364,9 +36445,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
36364
36445
|
flow: offeringsFlow,
|
|
36365
36446
|
layoutProfiles: [
|
|
36366
36447
|
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
36448
|
+
layoutProfile({ variantKey: "calendar", family: "stack", weight: "standard" }),
|
|
36367
36449
|
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
36368
|
-
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
36369
|
-
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
36370
36450
|
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
36371
36451
|
]
|
|
36372
36452
|
})),
|
|
@@ -36929,10 +37009,7 @@ function normalizeRenderStage(stage) {
|
|
|
36929
37009
|
return stage === "preview" ? "preview" : "published";
|
|
36930
37010
|
}
|
|
36931
37011
|
function isRouteVisibleInStage(routeEntry, stageInput) {
|
|
36932
|
-
|
|
36933
|
-
if (stage === "preview" || !isRouteRecord(routeEntry)) {
|
|
36934
|
-
return true;
|
|
36935
|
-
}
|
|
37012
|
+
if (normalizeRenderStage(stageInput) === "preview" || !isRouteRecord(routeEntry)) return true;
|
|
36936
37013
|
const status = routeEntry.status;
|
|
36937
37014
|
return !(typeof status === "string" && status !== "published");
|
|
36938
37015
|
}
|
|
@@ -36941,52 +37018,45 @@ function extractRouteHref(candidate, stageInput = "published") {
|
|
|
36941
37018
|
const trimmed = candidate.trim();
|
|
36942
37019
|
return trimmed.length > 0 ? trimmed : null;
|
|
36943
37020
|
}
|
|
36944
|
-
if (!isRouteRecord(candidate))
|
|
36945
|
-
|
|
36946
|
-
|
|
36947
|
-
|
|
36948
|
-
|
|
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
|
+
];
|
|
36949
37032
|
for (const field of fields3) {
|
|
36950
37033
|
const value = candidate[field];
|
|
36951
|
-
if (typeof value === "string" && value.trim().length > 0)
|
|
36952
|
-
return value.trim();
|
|
36953
|
-
}
|
|
37034
|
+
if (typeof value === "string" && value.trim().length > 0) return value.trim();
|
|
36954
37035
|
}
|
|
36955
37036
|
return null;
|
|
36956
37037
|
}
|
|
36957
37038
|
function extractRouteUpdatedAt(candidate) {
|
|
36958
|
-
if (!isRouteRecord(candidate))
|
|
36959
|
-
|
|
36960
|
-
}
|
|
36961
|
-
const fields3 = [
|
|
37039
|
+
if (!isRouteRecord(candidate)) return null;
|
|
37040
|
+
for (const field of [
|
|
36962
37041
|
"updatedAt",
|
|
36963
37042
|
"updated_at",
|
|
36964
37043
|
"publishedAt",
|
|
36965
37044
|
"published_at",
|
|
36966
37045
|
"modifiedAt",
|
|
36967
37046
|
"modified_at"
|
|
36968
|
-
]
|
|
36969
|
-
for (const field of fields3) {
|
|
37047
|
+
]) {
|
|
36970
37048
|
const value = candidate[field];
|
|
36971
|
-
if (typeof value === "string" && value.length > 0)
|
|
36972
|
-
return value;
|
|
36973
|
-
}
|
|
37049
|
+
if (typeof value === "string" && value.length > 0) return value;
|
|
36974
37050
|
}
|
|
36975
37051
|
return null;
|
|
36976
37052
|
}
|
|
36977
37053
|
function resolveRouteTargetForStage(routeIdValue, routes, stageInput) {
|
|
36978
37054
|
const routeId = typeof routeIdValue === "string" ? routeIdValue : null;
|
|
36979
|
-
if (!routeId || !routes)
|
|
36980
|
-
return null;
|
|
36981
|
-
}
|
|
37055
|
+
if (!routeId || !routes) return null;
|
|
36982
37056
|
const routeEntry = routes[routeId];
|
|
36983
|
-
if (!isRouteVisibleInStage(routeEntry, stageInput))
|
|
36984
|
-
return null;
|
|
36985
|
-
}
|
|
37057
|
+
if (!isRouteVisibleInStage(routeEntry, stageInput)) return null;
|
|
36986
37058
|
const href = extractRouteHref(routeEntry, stageInput);
|
|
36987
|
-
if (!href)
|
|
36988
|
-
return null;
|
|
36989
|
-
}
|
|
37059
|
+
if (!href) return null;
|
|
36990
37060
|
return {
|
|
36991
37061
|
routeId,
|
|
36992
37062
|
href,
|
|
@@ -37916,42 +37986,45 @@ import { jsx as jsx5 } from "react/jsx-runtime";
|
|
|
37916
37986
|
import * as React from "react";
|
|
37917
37987
|
import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
37918
37988
|
|
|
37989
|
+
// ../theme-core/src/ResponsiveScope.tsx
|
|
37990
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
37991
|
+
|
|
37919
37992
|
// ../theme-core/src/fonts/uploadFormat.ts
|
|
37920
37993
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
37921
37994
|
|
|
37922
37995
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
37923
|
-
import { z as
|
|
37924
|
-
var themeBridgeConfigSchema =
|
|
37925
|
-
tokens:
|
|
37926
|
-
typography:
|
|
37927
|
-
headingFamily:
|
|
37928
|
-
bodyFamily:
|
|
37929
|
-
headingWeight:
|
|
37930
|
-
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()
|
|
37931
38004
|
}).optional(),
|
|
37932
|
-
spacing:
|
|
37933
|
-
corners:
|
|
37934
|
-
shadows:
|
|
37935
|
-
components:
|
|
37936
|
-
buttons:
|
|
37937
|
-
|
|
37938
|
-
|
|
37939
|
-
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()
|
|
37940
38013
|
})
|
|
37941
38014
|
]).optional(),
|
|
37942
|
-
cards:
|
|
37943
|
-
|
|
37944
|
-
|
|
37945
|
-
variants:
|
|
38015
|
+
cards: z62.union([
|
|
38016
|
+
z62.boolean(),
|
|
38017
|
+
z62.object({
|
|
38018
|
+
variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
|
|
37946
38019
|
})
|
|
37947
38020
|
]).optional(),
|
|
37948
|
-
inputs:
|
|
38021
|
+
inputs: z62.boolean().optional()
|
|
37949
38022
|
}).optional(),
|
|
37950
|
-
overrides:
|
|
38023
|
+
overrides: z62.record(z62.string(), z62.string()).optional()
|
|
37951
38024
|
}).passthrough();
|
|
37952
38025
|
|
|
37953
38026
|
// ../theme-core/src/siteChrome.tsx
|
|
37954
|
-
import { Fragment as Fragment2, jsx as
|
|
38027
|
+
import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
37955
38028
|
|
|
37956
38029
|
// ../blocks/src/system/data/loaderEndpoints.ts
|
|
37957
38030
|
var SUPPORTED_LOADER_ENDPOINTS = [
|
|
@@ -37973,17 +38046,17 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
37973
38046
|
function unsafeRetypeZodSchema(schema) {
|
|
37974
38047
|
return schema;
|
|
37975
38048
|
}
|
|
37976
|
-
var navIdListSchema =
|
|
38049
|
+
var navIdListSchema = z63.preprocess((value) => {
|
|
37977
38050
|
if (!Array.isArray(value)) return void 0;
|
|
37978
38051
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
37979
38052
|
return filtered.length > 0 ? filtered : void 0;
|
|
37980
|
-
},
|
|
37981
|
-
var dashboardNavVisibilityBaseSchema =
|
|
37982
|
-
mode:
|
|
38053
|
+
}, z63.array(z63.string()).max(200).optional());
|
|
38054
|
+
var dashboardNavVisibilityBaseSchema = z63.object({
|
|
38055
|
+
mode: z63.enum(["augment", "restrict"]).optional(),
|
|
37983
38056
|
allowIds: navIdListSchema,
|
|
37984
38057
|
denyIds: navIdListSchema
|
|
37985
38058
|
}).strip();
|
|
37986
|
-
var dashboardNavVisibilityRolesSchema =
|
|
38059
|
+
var dashboardNavVisibilityRolesSchema = z63.object({
|
|
37987
38060
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
37988
38061
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
37989
38062
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -37991,63 +38064,63 @@ var dashboardNavVisibilityRolesSchema = z65.object({
|
|
|
37991
38064
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
37992
38065
|
roles: dashboardNavVisibilityRolesSchema
|
|
37993
38066
|
}).strip();
|
|
37994
|
-
var dashboardNavigationConfigSchema =
|
|
38067
|
+
var dashboardNavigationConfigSchema = z63.object({
|
|
37995
38068
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
37996
38069
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
37997
38070
|
}).strip();
|
|
37998
|
-
var dashboardConfigSchema =
|
|
37999
|
-
previewEditingEnabled:
|
|
38071
|
+
var dashboardConfigSchema = z63.object({
|
|
38072
|
+
previewEditingEnabled: z63.boolean().optional(),
|
|
38000
38073
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
38001
38074
|
}).strip();
|
|
38002
38075
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
38003
38076
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
38004
|
-
var sdkLoaderEndpointSchema =
|
|
38005
|
-
var loaderFallbackScalarSchema =
|
|
38006
|
-
|
|
38007
|
-
|
|
38008
|
-
|
|
38009
|
-
|
|
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()
|
|
38010
38083
|
]);
|
|
38011
|
-
var loaderParamBindingSchema =
|
|
38012
|
-
$bind:
|
|
38013
|
-
from:
|
|
38084
|
+
var loaderParamBindingSchema = z63.object({
|
|
38085
|
+
$bind: z63.object({
|
|
38086
|
+
from: z63.string().min(1, "Binding path is required"),
|
|
38014
38087
|
fallback: loaderFallbackScalarSchema.optional()
|
|
38015
38088
|
})
|
|
38016
38089
|
});
|
|
38017
|
-
var loaderParamValueSchema =
|
|
38018
|
-
|
|
38019
|
-
|
|
38020
|
-
|
|
38090
|
+
var loaderParamValueSchema = z63.union([
|
|
38091
|
+
z63.string(),
|
|
38092
|
+
z63.number(),
|
|
38093
|
+
z63.boolean(),
|
|
38021
38094
|
loaderParamBindingSchema
|
|
38022
38095
|
]);
|
|
38023
|
-
var sdkConfigLoaderSchema =
|
|
38096
|
+
var sdkConfigLoaderSchema = z63.object({
|
|
38024
38097
|
endpoint: sdkLoaderEndpointSchema,
|
|
38025
|
-
params:
|
|
38026
|
-
mode:
|
|
38098
|
+
params: z63.record(z63.string(), loaderParamValueSchema),
|
|
38099
|
+
mode: z63.enum(["server", "client"]).default("server")
|
|
38027
38100
|
});
|
|
38028
|
-
var sdkDataLoadersSchema =
|
|
38029
|
-
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-]*$/, {
|
|
38030
38103
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
38031
38104
|
}).transform((value) => value);
|
|
38032
|
-
var sdkCustomBlockInputSchema =
|
|
38105
|
+
var sdkCustomBlockInputSchema = z63.object({
|
|
38033
38106
|
id: sdkCustomBlockIdSchema,
|
|
38034
|
-
title:
|
|
38035
|
-
titleSource:
|
|
38036
|
-
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(),
|
|
38037
38110
|
category: blockCategoryEnum,
|
|
38038
|
-
icon:
|
|
38039
|
-
tags:
|
|
38111
|
+
icon: z63.string().optional(),
|
|
38112
|
+
tags: z63.array(z63.string()).optional(),
|
|
38040
38113
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
38041
38114
|
dataLoaders: sdkDataLoadersSchema,
|
|
38042
38115
|
layout: NodeSchema.optional(),
|
|
38043
|
-
variants:
|
|
38044
|
-
defaultVariant:
|
|
38045
|
-
variantOptions:
|
|
38046
|
-
|
|
38047
|
-
|
|
38048
|
-
label:
|
|
38049
|
-
description:
|
|
38050
|
-
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()
|
|
38051
38124
|
})
|
|
38052
38125
|
).optional(),
|
|
38053
38126
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -38058,7 +38131,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38058
38131
|
const exists = data.fields.some((field) => field.id === source);
|
|
38059
38132
|
if (!exists) {
|
|
38060
38133
|
ctx.addIssue({
|
|
38061
|
-
code:
|
|
38134
|
+
code: z63.ZodIssueCode.custom,
|
|
38062
38135
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
38063
38136
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
38064
38137
|
});
|
|
@@ -38067,7 +38140,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38067
38140
|
}
|
|
38068
38141
|
if (data.layout && data.variants) {
|
|
38069
38142
|
ctx.addIssue({
|
|
38070
|
-
code:
|
|
38143
|
+
code: z63.ZodIssueCode.custom,
|
|
38071
38144
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
38072
38145
|
path: ["variants"]
|
|
38073
38146
|
});
|
|
@@ -38076,14 +38149,14 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38076
38149
|
const keys = Object.keys(data.variants);
|
|
38077
38150
|
if (keys.length === 0) {
|
|
38078
38151
|
ctx.addIssue({
|
|
38079
|
-
code:
|
|
38152
|
+
code: z63.ZodIssueCode.custom,
|
|
38080
38153
|
message: "`variants` must contain at least one variant key",
|
|
38081
38154
|
path: ["variants"]
|
|
38082
38155
|
});
|
|
38083
38156
|
}
|
|
38084
38157
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
38085
38158
|
ctx.addIssue({
|
|
38086
|
-
code:
|
|
38159
|
+
code: z63.ZodIssueCode.custom,
|
|
38087
38160
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
38088
38161
|
path: ["defaultVariant"]
|
|
38089
38162
|
});
|
|
@@ -38092,7 +38165,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38092
38165
|
for (const key of Object.keys(data.variantOptions)) {
|
|
38093
38166
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
38094
38167
|
ctx.addIssue({
|
|
38095
|
-
code:
|
|
38168
|
+
code: z63.ZodIssueCode.custom,
|
|
38096
38169
|
message: "`variantOptions` key must exist in `variants`",
|
|
38097
38170
|
path: ["variantOptions", key]
|
|
38098
38171
|
});
|
|
@@ -38101,78 +38174,78 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38101
38174
|
}
|
|
38102
38175
|
}
|
|
38103
38176
|
});
|
|
38104
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38177
|
+
var sdkBlockFieldExtensionInputSchema = z63.object({
|
|
38105
38178
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
38106
38179
|
});
|
|
38107
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
38108
|
-
|
|
38180
|
+
var sdkBlockFieldExtensionsInputSchema = z63.record(
|
|
38181
|
+
z63.string().min(1),
|
|
38109
38182
|
sdkBlockFieldExtensionInputSchema
|
|
38110
38183
|
);
|
|
38111
|
-
var sdkThemePaletteSchema =
|
|
38112
|
-
var sdkThemeConfigSchema =
|
|
38184
|
+
var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
|
|
38185
|
+
var sdkThemeConfigSchema = z63.object({
|
|
38113
38186
|
palette: sdkThemePaletteSchema
|
|
38114
38187
|
});
|
|
38115
|
-
var sdkSectionBackgroundSchema =
|
|
38116
|
-
id:
|
|
38117
|
-
label:
|
|
38118
|
-
token:
|
|
38188
|
+
var sdkSectionBackgroundSchema = z63.object({
|
|
38189
|
+
id: z63.string().min(1),
|
|
38190
|
+
label: z63.string().min(1),
|
|
38191
|
+
token: z63.string().min(1)
|
|
38119
38192
|
});
|
|
38120
|
-
var sdkSectionOptionsConfigSchema =
|
|
38121
|
-
backgroundColor:
|
|
38122
|
-
backgroundImage:
|
|
38123
|
-
backgroundGradient:
|
|
38124
|
-
spacing:
|
|
38125
|
-
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()
|
|
38126
38199
|
});
|
|
38127
|
-
var sdkContainerOptionsConfigSchema =
|
|
38128
|
-
maxWidth:
|
|
38129
|
-
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()
|
|
38130
38203
|
});
|
|
38131
|
-
var sdkSiteStyleConfigSchema =
|
|
38132
|
-
sectionBackgrounds:
|
|
38204
|
+
var sdkSiteStyleConfigSchema = z63.object({
|
|
38205
|
+
sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
|
|
38133
38206
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
38134
38207
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
38135
38208
|
});
|
|
38136
|
-
var sdkSiteLayoutConfigSchema =
|
|
38137
|
-
footerBlocks:
|
|
38138
|
-
|
|
38139
|
-
id:
|
|
38140
|
-
kind:
|
|
38141
|
-
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()
|
|
38142
38215
|
})
|
|
38143
38216
|
).optional()
|
|
38144
38217
|
});
|
|
38145
|
-
var sdkFieldSelectOptionSchema =
|
|
38146
|
-
value:
|
|
38147
|
-
label:
|
|
38218
|
+
var sdkFieldSelectOptionSchema = z63.object({
|
|
38219
|
+
value: z63.string(),
|
|
38220
|
+
label: z63.string()
|
|
38148
38221
|
});
|
|
38149
|
-
var sdkBlockFieldConfigSchema =
|
|
38150
|
-
options:
|
|
38222
|
+
var sdkBlockFieldConfigSchema = z63.object({
|
|
38223
|
+
options: z63.array(sdkFieldSelectOptionSchema).optional()
|
|
38151
38224
|
});
|
|
38152
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
38153
|
-
|
|
38225
|
+
var sdkBlockFieldOptionsMapSchema = z63.record(
|
|
38226
|
+
z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
38154
38227
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
38155
38228
|
}),
|
|
38156
|
-
|
|
38229
|
+
z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
|
|
38157
38230
|
).optional();
|
|
38158
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
38159
|
-
blocks:
|
|
38231
|
+
var sdkContentTypeTemplateConfigSchema = z63.object({
|
|
38232
|
+
blocks: z63.array(z63.unknown())
|
|
38160
38233
|
}).passthrough();
|
|
38161
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
38162
|
-
mode:
|
|
38234
|
+
var sdkContentTypeOrderingConfigSchema = z63.object({
|
|
38235
|
+
mode: z63.enum(["default", "manual"]).optional()
|
|
38163
38236
|
}).optional();
|
|
38164
|
-
var sdkContentTypeConfigSchema =
|
|
38165
|
-
key:
|
|
38166
|
-
fields:
|
|
38237
|
+
var sdkContentTypeConfigSchema = z63.object({
|
|
38238
|
+
key: z63.string().min(1),
|
|
38239
|
+
fields: z63.array(z63.unknown()),
|
|
38167
38240
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
38168
38241
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
38169
38242
|
}).passthrough();
|
|
38170
|
-
var sdkContentConfigSchema =
|
|
38171
|
-
contentTypes:
|
|
38172
|
-
pages:
|
|
38173
|
-
entries:
|
|
38174
|
-
navigationMenus:
|
|
38175
|
-
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()
|
|
38176
38249
|
}).passthrough();
|
|
38177
38250
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
38178
38251
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -38187,62 +38260,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
38187
38260
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
38188
38261
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
38189
38262
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
38190
|
-
var sdkWorkflowIdSchema =
|
|
38263
|
+
var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
38191
38264
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
38192
38265
|
});
|
|
38193
|
-
var sdkWorkflowEndpointSchema =
|
|
38194
|
-
var sdkWorkflowManualTriggerSchema =
|
|
38195
|
-
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")
|
|
38196
38269
|
}).strict();
|
|
38197
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38270
|
+
var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
38198
38271
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
38199
38272
|
});
|
|
38200
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38273
|
+
var sdkWorkflowFieldChangedConditionSchema = z63.object({
|
|
38201
38274
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38202
|
-
changed:
|
|
38275
|
+
changed: z63.literal(true)
|
|
38203
38276
|
}).strict();
|
|
38204
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38277
|
+
var sdkWorkflowFieldEmptyConditionSchema = z63.object({
|
|
38205
38278
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38206
|
-
isEmpty:
|
|
38279
|
+
isEmpty: z63.boolean()
|
|
38207
38280
|
}).strict();
|
|
38208
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
38209
|
-
type:
|
|
38210
|
-
when:
|
|
38211
|
-
|
|
38281
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
|
|
38282
|
+
type: z63.literal("entry.draft.updated"),
|
|
38283
|
+
when: z63.array(
|
|
38284
|
+
z63.union([
|
|
38212
38285
|
sdkWorkflowFieldChangedConditionSchema,
|
|
38213
38286
|
sdkWorkflowFieldEmptyConditionSchema
|
|
38214
38287
|
])
|
|
38215
38288
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
38216
38289
|
}).strict();
|
|
38217
|
-
var sdkWorkflowTriggerSchema =
|
|
38290
|
+
var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
|
|
38218
38291
|
sdkWorkflowManualTriggerSchema,
|
|
38219
38292
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
38220
38293
|
]);
|
|
38221
|
-
var sdkWorkflowConfirmationSchema =
|
|
38222
|
-
title:
|
|
38223
|
-
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()
|
|
38224
38297
|
}).strict();
|
|
38225
|
-
var sdkWorkflowConfigSchema =
|
|
38298
|
+
var sdkWorkflowConfigSchema = z63.object({
|
|
38226
38299
|
id: sdkWorkflowIdSchema,
|
|
38227
|
-
title:
|
|
38228
|
-
description:
|
|
38229
|
-
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),
|
|
38230
38303
|
endpoint: sdkWorkflowEndpointSchema,
|
|
38231
|
-
triggers:
|
|
38304
|
+
triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
38232
38305
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
38233
38306
|
}).strict();
|
|
38234
|
-
var sdkWorkflowsSchema =
|
|
38307
|
+
var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
38235
38308
|
const ids = workflows.map((workflow) => workflow.id);
|
|
38236
38309
|
return ids.length === new Set(ids).size;
|
|
38237
38310
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
38238
|
-
var riverbankSiteConfigInputSchema =
|
|
38239
|
-
siteId:
|
|
38240
|
-
previewUrl:
|
|
38241
|
-
liveUrl:
|
|
38311
|
+
var riverbankSiteConfigInputSchema = z63.object({
|
|
38312
|
+
siteId: z63.string().uuid(),
|
|
38313
|
+
previewUrl: z63.string().url().optional(),
|
|
38314
|
+
liveUrl: z63.string().url().optional(),
|
|
38242
38315
|
theme: sdkThemeConfigSchema.optional(),
|
|
38243
38316
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
38244
38317
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
38245
|
-
customBlocks:
|
|
38318
|
+
customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
38246
38319
|
const ids = blocks.map((b) => b.id);
|
|
38247
38320
|
return ids.length === new Set(ids).size;
|
|
38248
38321
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -38250,50 +38323,50 @@ var riverbankSiteConfigInputSchema = z65.object({
|
|
|
38250
38323
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
38251
38324
|
workflows: sdkWorkflowsSchema,
|
|
38252
38325
|
content: sdkContentConfigSchema.optional(),
|
|
38253
|
-
contentDir:
|
|
38254
|
-
sync:
|
|
38255
|
-
existingEntries:
|
|
38326
|
+
contentDir: z63.string().optional(),
|
|
38327
|
+
sync: z63.object({
|
|
38328
|
+
existingEntries: z63.enum(["skip", "update"]).optional()
|
|
38256
38329
|
}).optional(),
|
|
38257
|
-
deploy:
|
|
38258
|
-
verifyCommand:
|
|
38259
|
-
prebuildOutput:
|
|
38330
|
+
deploy: z63.object({
|
|
38331
|
+
verifyCommand: z63.string().optional(),
|
|
38332
|
+
prebuildOutput: z63.string().optional()
|
|
38260
38333
|
}).optional(),
|
|
38261
|
-
themeSource:
|
|
38262
|
-
activeTheme:
|
|
38263
|
-
enablePortal:
|
|
38334
|
+
themeSource: z63.enum(["local", "cms"]).optional(),
|
|
38335
|
+
activeTheme: z63.string().optional(),
|
|
38336
|
+
enablePortal: z63.boolean().optional(),
|
|
38264
38337
|
dashboard: dashboardConfigSchema.optional()
|
|
38265
38338
|
}).strict();
|
|
38266
|
-
var pushSdkConfigBodySchema =
|
|
38339
|
+
var pushSdkConfigBodySchema = z63.object({
|
|
38267
38340
|
config: riverbankSiteConfigInputSchema,
|
|
38268
|
-
forceContentTypes:
|
|
38341
|
+
forceContentTypes: z63.boolean().optional()
|
|
38269
38342
|
}).strict();
|
|
38270
38343
|
|
|
38271
38344
|
// ../api/src/siteOnboarding.ts
|
|
38272
|
-
import { z as
|
|
38345
|
+
import { z as z64 } from "zod";
|
|
38273
38346
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
38274
38347
|
configure_appointments: {
|
|
38275
38348
|
requirementId: "configure_appointments",
|
|
38276
38349
|
reason: "launch_anyway"
|
|
38277
38350
|
}
|
|
38278
38351
|
};
|
|
38279
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38352
|
+
var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
|
|
38280
38353
|
"requirementId",
|
|
38281
38354
|
[
|
|
38282
|
-
|
|
38283
|
-
requirementId:
|
|
38355
|
+
z64.object({
|
|
38356
|
+
requirementId: z64.literal("review_generated_site")
|
|
38284
38357
|
}),
|
|
38285
|
-
|
|
38286
|
-
requirementId:
|
|
38358
|
+
z64.object({
|
|
38359
|
+
requirementId: z64.literal(
|
|
38287
38360
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
38288
38361
|
),
|
|
38289
|
-
overrideReason:
|
|
38362
|
+
overrideReason: z64.literal(
|
|
38290
38363
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
38291
38364
|
)
|
|
38292
38365
|
})
|
|
38293
38366
|
]
|
|
38294
38367
|
);
|
|
38295
|
-
var goLiveSiteRequestSchema =
|
|
38296
|
-
acceptExtraSiteCharge:
|
|
38368
|
+
var goLiveSiteRequestSchema = z64.object({
|
|
38369
|
+
acceptExtraSiteCharge: z64.boolean().optional()
|
|
38297
38370
|
});
|
|
38298
38371
|
|
|
38299
38372
|
// ../surfaces/src/index.ts
|
|
@@ -38377,7 +38450,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
38377
38450
|
];
|
|
38378
38451
|
|
|
38379
38452
|
// ../api/src/bookingVerticals.ts
|
|
38380
|
-
import { z as
|
|
38453
|
+
import { z as z65 } from "zod";
|
|
38381
38454
|
var VERTICAL_IDS = [
|
|
38382
38455
|
"yoga_wellness",
|
|
38383
38456
|
"fitness_pt",
|
|
@@ -38542,39 +38615,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
38542
38615
|
}
|
|
38543
38616
|
return [...issues];
|
|
38544
38617
|
}
|
|
38545
|
-
var VerticalIdSchema =
|
|
38618
|
+
var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
38546
38619
|
const parsed = parseVerticalId(value);
|
|
38547
38620
|
if (!parsed) {
|
|
38548
38621
|
ctx.addIssue({
|
|
38549
|
-
code:
|
|
38622
|
+
code: z65.ZodIssueCode.custom,
|
|
38550
38623
|
message: "Unknown booking vertical"
|
|
38551
38624
|
});
|
|
38552
|
-
return
|
|
38625
|
+
return z65.NEVER;
|
|
38553
38626
|
}
|
|
38554
38627
|
return parsed;
|
|
38555
38628
|
});
|
|
38556
|
-
var VerticalPresetIdSchema =
|
|
38629
|
+
var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
38557
38630
|
const parsed = parseVerticalPresetId(value);
|
|
38558
38631
|
if (!parsed) {
|
|
38559
38632
|
ctx.addIssue({
|
|
38560
|
-
code:
|
|
38633
|
+
code: z65.ZodIssueCode.custom,
|
|
38561
38634
|
message: "Unknown booking preset"
|
|
38562
38635
|
});
|
|
38563
|
-
return
|
|
38636
|
+
return z65.NEVER;
|
|
38564
38637
|
}
|
|
38565
38638
|
return parsed;
|
|
38566
38639
|
});
|
|
38567
|
-
var BookingVerticalConfigSchema =
|
|
38640
|
+
var BookingVerticalConfigSchema = z65.object({
|
|
38568
38641
|
verticalId: VerticalIdSchema.nullable(),
|
|
38569
|
-
selectedPresetIds:
|
|
38642
|
+
selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
|
|
38570
38643
|
}).transform((value, ctx) => {
|
|
38571
38644
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
38572
38645
|
if (resolved.kind === "invalid") {
|
|
38573
38646
|
ctx.addIssue({
|
|
38574
|
-
code:
|
|
38647
|
+
code: z65.ZodIssueCode.custom,
|
|
38575
38648
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
38576
38649
|
});
|
|
38577
|
-
return
|
|
38650
|
+
return z65.NEVER;
|
|
38578
38651
|
}
|
|
38579
38652
|
return resolved.config;
|
|
38580
38653
|
});
|
|
@@ -38601,51 +38674,51 @@ function isRecord7(value) {
|
|
|
38601
38674
|
}
|
|
38602
38675
|
|
|
38603
38676
|
// ../api/src/appointmentSetup.ts
|
|
38604
|
-
import { z as
|
|
38677
|
+
import { z as z66 } from "zod";
|
|
38605
38678
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
38606
|
-
var appointmentSetupRefSchema =
|
|
38607
|
-
|
|
38608
|
-
|
|
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) })
|
|
38609
38682
|
]);
|
|
38610
|
-
var appointmentSetupVenueChoiceSchema =
|
|
38611
|
-
|
|
38612
|
-
|
|
38613
|
-
|
|
38614
|
-
kind:
|
|
38615
|
-
draftId:
|
|
38616
|
-
title:
|
|
38617
|
-
description:
|
|
38618
|
-
timezone:
|
|
38619
|
-
addressJson:
|
|
38620
|
-
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()
|
|
38621
38694
|
})
|
|
38622
38695
|
]);
|
|
38623
|
-
var appointmentSetupPaymentDraftSchema =
|
|
38624
|
-
priceType:
|
|
38625
|
-
});
|
|
38626
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
38627
|
-
|
|
38628
|
-
|
|
38629
|
-
kind:
|
|
38630
|
-
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)
|
|
38631
38704
|
})
|
|
38632
38705
|
]);
|
|
38633
|
-
var appointmentSetupServiceDraftSchema =
|
|
38706
|
+
var appointmentSetupServiceDraftSchema = z66.object({
|
|
38634
38707
|
ref: appointmentSetupRefSchema,
|
|
38635
|
-
title:
|
|
38636
|
-
description:
|
|
38637
|
-
durationMinutes:
|
|
38638
|
-
prepMinutes:
|
|
38639
|
-
cleanupMinutes:
|
|
38640
|
-
priceAmount:
|
|
38641
|
-
isActive:
|
|
38642
|
-
locationType:
|
|
38643
|
-
|
|
38644
|
-
|
|
38645
|
-
|
|
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")
|
|
38646
38719
|
]),
|
|
38647
38720
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38648
|
-
timezone:
|
|
38721
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
38649
38722
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38650
38723
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
38651
38724
|
}).superRefine((service, ctx) => {
|
|
@@ -38664,49 +38737,49 @@ var appointmentSetupServiceDraftSchema = z68.object({
|
|
|
38664
38737
|
});
|
|
38665
38738
|
}
|
|
38666
38739
|
});
|
|
38667
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
38740
|
+
var appointmentSetupPractitionerDraftSchema = z66.object({
|
|
38668
38741
|
ref: appointmentSetupRefSchema,
|
|
38669
|
-
displayName:
|
|
38670
|
-
bio:
|
|
38671
|
-
timezone:
|
|
38672
|
-
colorHex:
|
|
38673
|
-
});
|
|
38674
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
38675
|
-
weekday:
|
|
38676
|
-
startTime:
|
|
38677
|
-
endTime:
|
|
38678
|
-
});
|
|
38679
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
38680
|
-
|
|
38681
|
-
|
|
38682
|
-
kind:
|
|
38683
|
-
intervalMinutes:
|
|
38684
|
-
|
|
38685
|
-
|
|
38686
|
-
|
|
38687
|
-
|
|
38688
|
-
|
|
38689
|
-
|
|
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)
|
|
38690
38763
|
])
|
|
38691
38764
|
})
|
|
38692
38765
|
]);
|
|
38693
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
38694
|
-
kind:
|
|
38766
|
+
var appointmentSetupAvailabilityDraftSchema = z66.object({
|
|
38767
|
+
kind: z66.literal("weekly_windows"),
|
|
38695
38768
|
resourceRef: appointmentSetupRefSchema,
|
|
38696
38769
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
38697
|
-
windows:
|
|
38770
|
+
windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
38698
38771
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
38699
38772
|
});
|
|
38700
38773
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
38701
38774
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
38702
|
-
var appointmentSetupBookingNoticeSchema =
|
|
38703
|
-
minLeadMinutes:
|
|
38704
|
-
maxBookingNoticeMinutes:
|
|
38705
|
-
});
|
|
38706
|
-
var applyAppointmentSetupRequestSchema =
|
|
38707
|
-
services:
|
|
38708
|
-
practitioners:
|
|
38709
|
-
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),
|
|
38710
38783
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
38711
38784
|
});
|
|
38712
38785
|
|
|
@@ -38739,24 +38812,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
38739
38812
|
];
|
|
38740
38813
|
|
|
38741
38814
|
// ../api/src/siteBanner.ts
|
|
38742
|
-
import { z as
|
|
38815
|
+
import { z as z67 } from "zod";
|
|
38743
38816
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
38744
38817
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
38745
38818
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
38746
38819
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
38747
|
-
var siteBannerScopeSchema =
|
|
38748
|
-
var siteBannerToneSchema =
|
|
38749
|
-
var siteBannerBodySchema =
|
|
38750
|
-
var siteBannerCtaSchema =
|
|
38751
|
-
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),
|
|
38752
38825
|
link: linkPayloadSchema
|
|
38753
38826
|
});
|
|
38754
|
-
var siteBannerSettingsSchema =
|
|
38755
|
-
|
|
38756
|
-
enabled:
|
|
38827
|
+
var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
|
|
38828
|
+
z67.object({
|
|
38829
|
+
enabled: z67.literal(false)
|
|
38757
38830
|
}),
|
|
38758
|
-
|
|
38759
|
-
enabled:
|
|
38831
|
+
z67.object({
|
|
38832
|
+
enabled: z67.literal(true),
|
|
38760
38833
|
scope: siteBannerScopeSchema,
|
|
38761
38834
|
tone: siteBannerToneSchema,
|
|
38762
38835
|
body: siteBannerBodySchema,
|
|
@@ -38770,7 +38843,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38770
38843
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38771
38844
|
for (const issue of analysis.issues) {
|
|
38772
38845
|
ctx.addIssue({
|
|
38773
|
-
code:
|
|
38846
|
+
code: z67.ZodIssueCode.custom,
|
|
38774
38847
|
path: ["body"],
|
|
38775
38848
|
message: siteBannerBodyIssueMessage(issue)
|
|
38776
38849
|
});
|
|
@@ -39077,75 +39150,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
39077
39150
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
39078
39151
|
|
|
39079
39152
|
// ../api/src/aiPlayground.ts
|
|
39080
|
-
import { z as
|
|
39081
|
-
var Rfc6902PatchOp =
|
|
39153
|
+
import { z as z68 } from "zod";
|
|
39154
|
+
var Rfc6902PatchOp = z68.discriminatedUnion("op", [
|
|
39082
39155
|
// Standard RFC-6902 operations
|
|
39083
|
-
|
|
39084
|
-
op:
|
|
39085
|
-
path:
|
|
39086
|
-
value:
|
|
39156
|
+
z68.object({
|
|
39157
|
+
op: z68.literal("add"),
|
|
39158
|
+
path: z68.string(),
|
|
39159
|
+
value: z68.unknown()
|
|
39087
39160
|
}),
|
|
39088
|
-
|
|
39089
|
-
op:
|
|
39090
|
-
path:
|
|
39161
|
+
z68.object({
|
|
39162
|
+
op: z68.literal("remove"),
|
|
39163
|
+
path: z68.string()
|
|
39091
39164
|
}),
|
|
39092
|
-
|
|
39093
|
-
op:
|
|
39094
|
-
path:
|
|
39095
|
-
value:
|
|
39165
|
+
z68.object({
|
|
39166
|
+
op: z68.literal("replace"),
|
|
39167
|
+
path: z68.string(),
|
|
39168
|
+
value: z68.unknown()
|
|
39096
39169
|
}),
|
|
39097
|
-
|
|
39098
|
-
op:
|
|
39099
|
-
from:
|
|
39100
|
-
path:
|
|
39170
|
+
z68.object({
|
|
39171
|
+
op: z68.literal("move"),
|
|
39172
|
+
from: z68.string(),
|
|
39173
|
+
path: z68.string()
|
|
39101
39174
|
}),
|
|
39102
|
-
|
|
39103
|
-
op:
|
|
39104
|
-
from:
|
|
39105
|
-
path:
|
|
39175
|
+
z68.object({
|
|
39176
|
+
op: z68.literal("copy"),
|
|
39177
|
+
from: z68.string(),
|
|
39178
|
+
path: z68.string()
|
|
39106
39179
|
}),
|
|
39107
39180
|
// Block-level operations (Phase 2)
|
|
39108
|
-
|
|
39109
|
-
op:
|
|
39110
|
-
blockKind:
|
|
39111
|
-
afterBlockId:
|
|
39112
|
-
content:
|
|
39113
|
-
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()
|
|
39114
39187
|
}),
|
|
39115
|
-
|
|
39116
|
-
op:
|
|
39117
|
-
blockId:
|
|
39118
|
-
rationale:
|
|
39188
|
+
z68.object({
|
|
39189
|
+
op: z68.literal("delete_block"),
|
|
39190
|
+
blockId: z68.string(),
|
|
39191
|
+
rationale: z68.string()
|
|
39119
39192
|
}),
|
|
39120
|
-
|
|
39121
|
-
op:
|
|
39122
|
-
blockId:
|
|
39123
|
-
afterBlockId:
|
|
39124
|
-
rationale:
|
|
39193
|
+
z68.object({
|
|
39194
|
+
op: z68.literal("reorder_block"),
|
|
39195
|
+
blockId: z68.string(),
|
|
39196
|
+
afterBlockId: z68.string().nullable(),
|
|
39197
|
+
rationale: z68.string()
|
|
39125
39198
|
})
|
|
39126
39199
|
]);
|
|
39127
|
-
var PlaygroundProposeRequest =
|
|
39128
|
-
request:
|
|
39200
|
+
var PlaygroundProposeRequest = z68.object({
|
|
39201
|
+
request: z68.string().min(1).max(2e3)
|
|
39129
39202
|
});
|
|
39130
|
-
var MultiPagePatchEnvelope =
|
|
39131
|
-
pageId:
|
|
39132
|
-
blockId:
|
|
39203
|
+
var MultiPagePatchEnvelope = z68.object({
|
|
39204
|
+
pageId: z68.string(),
|
|
39205
|
+
blockId: z68.string().optional(),
|
|
39133
39206
|
// Not present for page-level ops
|
|
39134
|
-
blockKind:
|
|
39135
|
-
blockPurpose:
|
|
39136
|
-
ops:
|
|
39137
|
-
rationale:
|
|
39138
|
-
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()
|
|
39139
39212
|
});
|
|
39140
|
-
var MultiPageUpdateResponse =
|
|
39141
|
-
patches:
|
|
39142
|
-
assistantMessage:
|
|
39143
|
-
pagesModified:
|
|
39144
|
-
toolCallsUsed:
|
|
39213
|
+
var MultiPageUpdateResponse = z68.object({
|
|
39214
|
+
patches: z68.array(MultiPagePatchEnvelope),
|
|
39215
|
+
assistantMessage: z68.string(),
|
|
39216
|
+
pagesModified: z68.number(),
|
|
39217
|
+
toolCallsUsed: z68.number()
|
|
39145
39218
|
});
|
|
39146
39219
|
|
|
39147
39220
|
// src/config/content-validation.ts
|
|
39148
|
-
import { z as
|
|
39221
|
+
import { z as z69 } from "zod";
|
|
39149
39222
|
|
|
39150
39223
|
// src/types/block-kinds.ts
|
|
39151
39224
|
var SYSTEM_BLOCK_KINDS = [
|
|
@@ -39289,36 +39362,36 @@ function describeInvalidBindingTransform(transform) {
|
|
|
39289
39362
|
}
|
|
39290
39363
|
|
|
39291
39364
|
// src/config/content-validation.ts
|
|
39292
|
-
var jsonDataSchema =
|
|
39293
|
-
var contentTypeKeySchema =
|
|
39365
|
+
var jsonDataSchema = z69.record(z69.string(), z69.any());
|
|
39366
|
+
var contentTypeKeySchema = z69.string().min(1).regex(
|
|
39294
39367
|
/^[a-z][a-z0-9-]*$/,
|
|
39295
39368
|
"Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
|
|
39296
39369
|
);
|
|
39297
|
-
var templateConfigSchemaForward =
|
|
39298
|
-
blocks:
|
|
39299
|
-
|
|
39300
|
-
identifier:
|
|
39301
|
-
kind:
|
|
39302
|
-
scope:
|
|
39303
|
-
bindings:
|
|
39304
|
-
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()
|
|
39305
39378
|
})
|
|
39306
39379
|
)
|
|
39307
39380
|
}).optional();
|
|
39308
|
-
var contentTypeOrderingSchema =
|
|
39309
|
-
mode:
|
|
39381
|
+
var contentTypeOrderingSchema = z69.object({
|
|
39382
|
+
mode: z69.enum(["default", "manual"]).optional()
|
|
39310
39383
|
}).optional();
|
|
39311
|
-
var contentTypeConfigSchema =
|
|
39384
|
+
var contentTypeConfigSchema = z69.object({
|
|
39312
39385
|
key: contentTypeKeySchema,
|
|
39313
|
-
name:
|
|
39314
|
-
description:
|
|
39315
|
-
hasPages:
|
|
39316
|
-
routePattern:
|
|
39386
|
+
name: z69.string().min(1),
|
|
39387
|
+
description: z69.string().optional(),
|
|
39388
|
+
hasPages: z69.boolean(),
|
|
39389
|
+
routePattern: z69.string().optional(),
|
|
39317
39390
|
// Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
|
|
39318
|
-
fields:
|
|
39319
|
-
titleField:
|
|
39391
|
+
fields: z69.array(z69.any()).min(1, "At least one field is required"),
|
|
39392
|
+
titleField: z69.string().optional(),
|
|
39320
39393
|
ordering: contentTypeOrderingSchema,
|
|
39321
|
-
isSingleton:
|
|
39394
|
+
isSingleton: z69.boolean().optional().default(false),
|
|
39322
39395
|
template: templateConfigSchemaForward
|
|
39323
39396
|
}).refine(
|
|
39324
39397
|
(data) => {
|
|
@@ -39340,7 +39413,7 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39340
39413
|
}
|
|
39341
39414
|
if (!data.routePattern) {
|
|
39342
39415
|
ctx.addIssue({
|
|
39343
|
-
code:
|
|
39416
|
+
code: z69.ZodIssueCode.custom,
|
|
39344
39417
|
path: ["routePattern"],
|
|
39345
39418
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39346
39419
|
});
|
|
@@ -39349,7 +39422,7 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39349
39422
|
const parseResult = safeParseRouteTemplate(data.routePattern);
|
|
39350
39423
|
if (!parseResult.success) {
|
|
39351
39424
|
ctx.addIssue({
|
|
39352
|
-
code:
|
|
39425
|
+
code: z69.ZodIssueCode.custom,
|
|
39353
39426
|
path: ["routePattern"],
|
|
39354
39427
|
message: describeRouteTemplateParseError(parseResult.error)
|
|
39355
39428
|
});
|
|
@@ -39357,44 +39430,44 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39357
39430
|
}
|
|
39358
39431
|
if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
|
|
39359
39432
|
ctx.addIssue({
|
|
39360
|
-
code:
|
|
39433
|
+
code: z69.ZodIssueCode.custom,
|
|
39361
39434
|
path: ["routePattern"],
|
|
39362
39435
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39363
39436
|
});
|
|
39364
39437
|
}
|
|
39365
39438
|
});
|
|
39366
|
-
var fieldBindingSchema =
|
|
39367
|
-
source:
|
|
39368
|
-
path:
|
|
39439
|
+
var fieldBindingSchema = z69.object({
|
|
39440
|
+
source: z69.literal("field"),
|
|
39441
|
+
path: z69.string().min(1, "Field path is required")
|
|
39369
39442
|
});
|
|
39370
|
-
var metaBindingSchema =
|
|
39371
|
-
source:
|
|
39372
|
-
path:
|
|
39443
|
+
var metaBindingSchema = z69.object({
|
|
39444
|
+
source: z69.literal("meta"),
|
|
39445
|
+
path: z69.enum(TEMPLATE_BINDING_META_PATHS, {
|
|
39373
39446
|
error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
|
|
39374
39447
|
})
|
|
39375
39448
|
});
|
|
39376
|
-
var literalBindingSchema =
|
|
39377
|
-
source:
|
|
39378
|
-
value:
|
|
39449
|
+
var literalBindingSchema = z69.object({
|
|
39450
|
+
source: z69.literal("literal"),
|
|
39451
|
+
value: z69.unknown()
|
|
39379
39452
|
});
|
|
39380
|
-
var transformBindingSchema =
|
|
39381
|
-
source:
|
|
39382
|
-
path:
|
|
39383
|
-
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, {
|
|
39384
39457
|
error: (issue) => describeInvalidBindingTransform(String(issue.input))
|
|
39385
39458
|
})
|
|
39386
39459
|
});
|
|
39387
|
-
var baseBindingSchema =
|
|
39460
|
+
var baseBindingSchema = z69.discriminatedUnion("source", [
|
|
39388
39461
|
fieldBindingSchema,
|
|
39389
39462
|
metaBindingSchema,
|
|
39390
39463
|
literalBindingSchema,
|
|
39391
39464
|
transformBindingSchema
|
|
39392
39465
|
]);
|
|
39393
|
-
var fallbackBindingSchema =
|
|
39394
|
-
source:
|
|
39395
|
-
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")
|
|
39396
39469
|
});
|
|
39397
|
-
var bindingSourceSchema =
|
|
39470
|
+
var bindingSourceSchema = z69.union([
|
|
39398
39471
|
baseBindingSchema,
|
|
39399
39472
|
fallbackBindingSchema
|
|
39400
39473
|
]);
|
|
@@ -39408,12 +39481,12 @@ function isValidBlockKind(kind) {
|
|
|
39408
39481
|
return false;
|
|
39409
39482
|
}
|
|
39410
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")';
|
|
39411
|
-
var blockKindSchema =
|
|
39412
|
-
var templateBlockConfigSchema =
|
|
39413
|
-
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"),
|
|
39414
39487
|
kind: blockKindSchema,
|
|
39415
|
-
scope:
|
|
39416
|
-
bindings:
|
|
39488
|
+
scope: z69.enum(["entry", "template"]),
|
|
39489
|
+
bindings: z69.record(z69.string(), bindingSourceSchema).optional(),
|
|
39417
39490
|
content: jsonDataSchema.optional()
|
|
39418
39491
|
}).refine(
|
|
39419
39492
|
(data) => {
|
|
@@ -39432,8 +39505,8 @@ var templateBlockConfigSchema = z71.object({
|
|
|
39432
39505
|
},
|
|
39433
39506
|
{ message: "Template-scoped blocks should define static content, not bindings" }
|
|
39434
39507
|
);
|
|
39435
|
-
var templateConfigSchema =
|
|
39436
|
-
blocks:
|
|
39508
|
+
var templateConfigSchema = z69.object({
|
|
39509
|
+
blocks: z69.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
|
|
39437
39510
|
}).refine(
|
|
39438
39511
|
(data) => {
|
|
39439
39512
|
const identifiers = data.blocks.map((b) => b.identifier);
|
|
@@ -39442,77 +39515,77 @@ var templateConfigSchema = z71.object({
|
|
|
39442
39515
|
},
|
|
39443
39516
|
{ message: "Template block identifiers must be unique" }
|
|
39444
39517
|
);
|
|
39445
|
-
var blockConfigSchema =
|
|
39518
|
+
var blockConfigSchema = z69.object({
|
|
39446
39519
|
kind: blockKindSchema,
|
|
39447
39520
|
content: jsonDataSchema,
|
|
39448
|
-
orderIndex:
|
|
39449
|
-
});
|
|
39450
|
-
var pageConfigSchema =
|
|
39451
|
-
identifier:
|
|
39452
|
-
title:
|
|
39453
|
-
path:
|
|
39454
|
-
purpose:
|
|
39455
|
-
blocks:
|
|
39456
|
-
status:
|
|
39457
|
-
metaTitle:
|
|
39458
|
-
metaDescription:
|
|
39459
|
-
});
|
|
39460
|
-
var entryConfigSchema =
|
|
39461
|
-
identifier:
|
|
39462
|
-
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"),
|
|
39463
39536
|
data: jsonDataSchema,
|
|
39464
|
-
status:
|
|
39465
|
-
slug:
|
|
39466
|
-
summary:
|
|
39537
|
+
status: z69.enum(["draft", "published"]).default("draft"),
|
|
39538
|
+
slug: z69.string().optional(),
|
|
39539
|
+
summary: z69.string().optional(),
|
|
39467
39540
|
// Hard remove legacy config-only titles: titles must live in entry `data`.
|
|
39468
|
-
title:
|
|
39541
|
+
title: z69.any().optional().refine((value) => value === void 0, {
|
|
39469
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."
|
|
39470
39543
|
}),
|
|
39471
|
-
metaTitle:
|
|
39472
|
-
metaDescription:
|
|
39544
|
+
metaTitle: z69.string().optional(),
|
|
39545
|
+
metaDescription: z69.string().optional()
|
|
39473
39546
|
});
|
|
39474
|
-
var dropdownLinkSchema =
|
|
39475
|
-
kind:
|
|
39547
|
+
var dropdownLinkSchema = z69.object({
|
|
39548
|
+
kind: z69.literal("dropdown")
|
|
39476
39549
|
});
|
|
39477
|
-
var navigationLinkSchema =
|
|
39550
|
+
var navigationLinkSchema = z69.discriminatedUnion("kind", [
|
|
39478
39551
|
...navigationLinkInputSchemaOptions,
|
|
39479
39552
|
dropdownLinkSchema
|
|
39480
39553
|
]);
|
|
39481
|
-
var baseNavigationItemSchema =
|
|
39482
|
-
label:
|
|
39554
|
+
var baseNavigationItemSchema = z69.object({
|
|
39555
|
+
label: z69.string().min(1, "Label is required"),
|
|
39483
39556
|
link: navigationLinkSchema,
|
|
39484
|
-
isCta:
|
|
39557
|
+
isCta: z69.boolean().optional()
|
|
39485
39558
|
});
|
|
39486
39559
|
var navigationItemConfigSchema = baseNavigationItemSchema.extend({
|
|
39487
|
-
children:
|
|
39488
|
-
});
|
|
39489
|
-
var navigationMenuConfigSchema =
|
|
39490
|
-
identifier:
|
|
39491
|
-
name:
|
|
39492
|
-
isPrimary:
|
|
39493
|
-
isFooter:
|
|
39494
|
-
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)
|
|
39495
39568
|
}).superRefine((menu, ctx) => {
|
|
39496
39569
|
const portalStats = collectPortalLinkStats(
|
|
39497
39570
|
menu.items
|
|
39498
39571
|
);
|
|
39499
39572
|
if (portalStats.count > 1) {
|
|
39500
39573
|
ctx.addIssue({
|
|
39501
|
-
code:
|
|
39574
|
+
code: z69.ZodIssueCode.custom,
|
|
39502
39575
|
message: "Only one portal link is allowed per navigation menu",
|
|
39503
39576
|
path: ["items"]
|
|
39504
39577
|
});
|
|
39505
39578
|
}
|
|
39506
39579
|
if (portalStats.nestedLabels.length > 0) {
|
|
39507
39580
|
ctx.addIssue({
|
|
39508
|
-
code:
|
|
39581
|
+
code: z69.ZodIssueCode.custom,
|
|
39509
39582
|
message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
|
|
39510
39583
|
path: ["items"]
|
|
39511
39584
|
});
|
|
39512
39585
|
}
|
|
39513
39586
|
if (portalStats.withChildrenLabels.length > 0) {
|
|
39514
39587
|
ctx.addIssue({
|
|
39515
|
-
code:
|
|
39588
|
+
code: z69.ZodIssueCode.custom,
|
|
39516
39589
|
message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
|
|
39517
39590
|
path: ["items"]
|
|
39518
39591
|
});
|
|
@@ -39522,44 +39595,44 @@ var navigationMenuConfigSchema = z71.object({
|
|
|
39522
39595
|
);
|
|
39523
39596
|
if (cartStats.nestedLabels.length > 0) {
|
|
39524
39597
|
ctx.addIssue({
|
|
39525
|
-
code:
|
|
39598
|
+
code: z69.ZodIssueCode.custom,
|
|
39526
39599
|
message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
|
|
39527
39600
|
path: ["items"]
|
|
39528
39601
|
});
|
|
39529
39602
|
}
|
|
39530
39603
|
if (cartStats.withChildrenLabels.length > 0) {
|
|
39531
39604
|
ctx.addIssue({
|
|
39532
|
-
code:
|
|
39605
|
+
code: z69.ZodIssueCode.custom,
|
|
39533
39606
|
message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
|
|
39534
39607
|
path: ["items"]
|
|
39535
39608
|
});
|
|
39536
39609
|
}
|
|
39537
39610
|
if (cartStats.ctaLabels.length > 0) {
|
|
39538
39611
|
ctx.addIssue({
|
|
39539
|
-
code:
|
|
39612
|
+
code: z69.ZodIssueCode.custom,
|
|
39540
39613
|
message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
|
|
39541
39614
|
path: ["items"]
|
|
39542
39615
|
});
|
|
39543
39616
|
}
|
|
39544
39617
|
if (cartStats.missingVisibleTextLabels.length > 0) {
|
|
39545
39618
|
ctx.addIssue({
|
|
39546
|
-
code:
|
|
39619
|
+
code: z69.ZodIssueCode.custom,
|
|
39547
39620
|
message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
|
|
39548
39621
|
path: ["items"]
|
|
39549
39622
|
});
|
|
39550
39623
|
}
|
|
39551
39624
|
});
|
|
39552
|
-
var siteSettingsConfigSchema =
|
|
39553
|
-
homepagePath:
|
|
39554
|
-
siteTitle:
|
|
39555
|
-
siteDescription:
|
|
39556
|
-
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()
|
|
39557
39630
|
});
|
|
39558
|
-
var contentConfigBaseSchema =
|
|
39559
|
-
contentTypes:
|
|
39560
|
-
entries:
|
|
39561
|
-
pages:
|
|
39562
|
-
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(),
|
|
39563
39636
|
settings: siteSettingsConfigSchema.optional()
|
|
39564
39637
|
});
|
|
39565
39638
|
var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
@@ -39568,7 +39641,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39568
39641
|
const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
|
|
39569
39642
|
if (duplicateKeys.length > 0) {
|
|
39570
39643
|
ctx.addIssue({
|
|
39571
|
-
code:
|
|
39644
|
+
code: z69.ZodIssueCode.custom,
|
|
39572
39645
|
message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
|
|
39573
39646
|
path: ["contentTypes"]
|
|
39574
39647
|
});
|
|
@@ -39579,7 +39652,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39579
39652
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39580
39653
|
if (duplicateIds.length > 0) {
|
|
39581
39654
|
ctx.addIssue({
|
|
39582
|
-
code:
|
|
39655
|
+
code: z69.ZodIssueCode.custom,
|
|
39583
39656
|
message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39584
39657
|
path: ["pages"]
|
|
39585
39658
|
});
|
|
@@ -39588,7 +39661,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39588
39661
|
const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
|
|
39589
39662
|
if (duplicatePaths.length > 0) {
|
|
39590
39663
|
ctx.addIssue({
|
|
39591
|
-
code:
|
|
39664
|
+
code: z69.ZodIssueCode.custom,
|
|
39592
39665
|
message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
|
|
39593
39666
|
path: ["pages"]
|
|
39594
39667
|
});
|
|
@@ -39599,7 +39672,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39599
39672
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39600
39673
|
if (duplicateIds.length > 0) {
|
|
39601
39674
|
ctx.addIssue({
|
|
39602
|
-
code:
|
|
39675
|
+
code: z69.ZodIssueCode.custom,
|
|
39603
39676
|
message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39604
39677
|
path: ["entries"]
|
|
39605
39678
|
});
|
|
@@ -39610,7 +39683,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39610
39683
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39611
39684
|
if (duplicateIds.length > 0) {
|
|
39612
39685
|
ctx.addIssue({
|
|
39613
|
-
code:
|
|
39686
|
+
code: z69.ZodIssueCode.custom,
|
|
39614
39687
|
message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39615
39688
|
path: ["navigationMenus"]
|
|
39616
39689
|
});
|
|
@@ -39624,7 +39697,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39624
39697
|
const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
|
|
39625
39698
|
if (entriesForType.length > 1) {
|
|
39626
39699
|
ctx.addIssue({
|
|
39627
|
-
code:
|
|
39700
|
+
code: z69.ZodIssueCode.custom,
|
|
39628
39701
|
message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
|
|
39629
39702
|
path: ["entries"]
|
|
39630
39703
|
});
|
|
@@ -39737,18 +39810,18 @@ function validateLayout(layout) {
|
|
|
39737
39810
|
}
|
|
39738
39811
|
|
|
39739
39812
|
// src/config/dashboard-validation.ts
|
|
39740
|
-
import { z as
|
|
39741
|
-
var navIdListSchema2 =
|
|
39813
|
+
import { z as z70 } from "zod";
|
|
39814
|
+
var navIdListSchema2 = z70.preprocess((value) => {
|
|
39742
39815
|
if (!Array.isArray(value)) return void 0;
|
|
39743
39816
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
39744
39817
|
return filtered.length > 0 ? filtered : void 0;
|
|
39745
|
-
},
|
|
39746
|
-
var dashboardNavVisibilityBaseSchema2 =
|
|
39747
|
-
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(),
|
|
39748
39821
|
allowIds: navIdListSchema2,
|
|
39749
39822
|
denyIds: navIdListSchema2
|
|
39750
39823
|
}).strip();
|
|
39751
|
-
var dashboardNavVisibilityRolesSchema2 =
|
|
39824
|
+
var dashboardNavVisibilityRolesSchema2 = z70.object({
|
|
39752
39825
|
administrator: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39753
39826
|
editor: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39754
39827
|
team_member: dashboardNavVisibilityBaseSchema2.optional()
|
|
@@ -39756,28 +39829,28 @@ var dashboardNavVisibilityRolesSchema2 = z72.object({
|
|
|
39756
39829
|
var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
|
|
39757
39830
|
roles: dashboardNavVisibilityRolesSchema2
|
|
39758
39831
|
}).strip();
|
|
39759
|
-
var dashboardNavigationConfigSchema2 =
|
|
39832
|
+
var dashboardNavigationConfigSchema2 = z70.object({
|
|
39760
39833
|
siteNav: dashboardNavVisibilitySchema2.optional(),
|
|
39761
39834
|
settingsNav: dashboardNavVisibilitySchema2.optional()
|
|
39762
39835
|
}).strip();
|
|
39763
|
-
var dashboardConfigSchema2 =
|
|
39764
|
-
previewEditingEnabled:
|
|
39836
|
+
var dashboardConfigSchema2 = z70.object({
|
|
39837
|
+
previewEditingEnabled: z70.boolean().optional(),
|
|
39765
39838
|
navigation: dashboardNavigationConfigSchema2.optional()
|
|
39766
39839
|
}).strip();
|
|
39767
39840
|
|
|
39768
39841
|
// src/zod/titleSourceSchema.ts
|
|
39769
|
-
import { z as
|
|
39770
|
-
var titleSourceValueSchema =
|
|
39771
|
-
|
|
39772
|
-
|
|
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)
|
|
39773
39846
|
]);
|
|
39774
39847
|
|
|
39775
39848
|
// src/config/validation.ts
|
|
39776
|
-
var sdkThemePaletteSchema2 =
|
|
39777
|
-
var sdkThemeConfigSchema2 =
|
|
39849
|
+
var sdkThemePaletteSchema2 = z72.record(z72.string(), z72.string());
|
|
39850
|
+
var sdkThemeConfigSchema2 = z72.object({
|
|
39778
39851
|
palette: sdkThemePaletteSchema2
|
|
39779
39852
|
});
|
|
39780
|
-
var sdkSiteUrlSchema =
|
|
39853
|
+
var sdkSiteUrlSchema = z72.string().url("Must be a valid URL").refine((url) => {
|
|
39781
39854
|
try {
|
|
39782
39855
|
const parsed = new URL(url);
|
|
39783
39856
|
const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
|
|
@@ -39786,97 +39859,97 @@ var sdkSiteUrlSchema = z74.string().url("Must be a valid URL").refine((url) => {
|
|
|
39786
39859
|
return false;
|
|
39787
39860
|
}
|
|
39788
39861
|
}, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
|
|
39789
|
-
var sectionBackgroundSchema =
|
|
39790
|
-
id:
|
|
39791
|
-
label:
|
|
39792
|
-
token:
|
|
39862
|
+
var sectionBackgroundSchema = z72.object({
|
|
39863
|
+
id: z72.string(),
|
|
39864
|
+
label: z72.string(),
|
|
39865
|
+
token: z72.string()
|
|
39793
39866
|
// Reference to theme palette token
|
|
39794
39867
|
});
|
|
39795
|
-
var sectionSpacingSchema =
|
|
39796
|
-
var containerMaxWidthSchema =
|
|
39797
|
-
var containerAlignmentSchema =
|
|
39798
|
-
var sectionOptionsSchema =
|
|
39799
|
-
backgroundColor:
|
|
39800
|
-
backgroundImage:
|
|
39801
|
-
backgroundGradient:
|
|
39802
|
-
spacing:
|
|
39803
|
-
|
|
39804
|
-
|
|
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()
|
|
39805
39878
|
]).optional(),
|
|
39806
|
-
textColor:
|
|
39879
|
+
textColor: z72.boolean().optional()
|
|
39807
39880
|
}).optional();
|
|
39808
|
-
var containerOptionsSchema =
|
|
39809
|
-
maxWidth:
|
|
39810
|
-
|
|
39811
|
-
|
|
39881
|
+
var containerOptionsSchema = z72.object({
|
|
39882
|
+
maxWidth: z72.union([
|
|
39883
|
+
z72.array(containerMaxWidthSchema),
|
|
39884
|
+
z72.boolean()
|
|
39812
39885
|
]).optional(),
|
|
39813
|
-
alignment:
|
|
39814
|
-
|
|
39815
|
-
|
|
39886
|
+
alignment: z72.union([
|
|
39887
|
+
z72.array(containerAlignmentSchema),
|
|
39888
|
+
z72.boolean()
|
|
39816
39889
|
]).optional()
|
|
39817
39890
|
}).optional();
|
|
39818
|
-
var siteStyleConfigSchema =
|
|
39819
|
-
sectionBackgrounds:
|
|
39891
|
+
var siteStyleConfigSchema = z72.object({
|
|
39892
|
+
sectionBackgrounds: z72.array(sectionBackgroundSchema).optional(),
|
|
39820
39893
|
sectionOptions: sectionOptionsSchema,
|
|
39821
39894
|
containerOptions: containerOptionsSchema
|
|
39822
39895
|
}).optional();
|
|
39823
|
-
var sdkLoaderEndpointSchema2 =
|
|
39896
|
+
var sdkLoaderEndpointSchema2 = z72.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
39824
39897
|
var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
|
|
39825
|
-
var loaderTransformStepSchema =
|
|
39826
|
-
id:
|
|
39898
|
+
var loaderTransformStepSchema = z72.object({
|
|
39899
|
+
id: z72.string().refine((id) => allowedTransformIds.has(id), {
|
|
39827
39900
|
message: "Unknown transform id"
|
|
39828
39901
|
}),
|
|
39829
|
-
options:
|
|
39902
|
+
options: z72.record(z72.string(), z72.unknown()).optional()
|
|
39830
39903
|
});
|
|
39831
|
-
var loaderParamBindingSchema2 =
|
|
39832
|
-
$bind:
|
|
39833
|
-
from:
|
|
39904
|
+
var loaderParamBindingSchema2 = z72.object({
|
|
39905
|
+
$bind: z72.object({
|
|
39906
|
+
from: z72.string().min(1, "Binding path is required"),
|
|
39834
39907
|
// Loader params are ultimately string-normalized for query strings, so fallbacks should
|
|
39835
39908
|
// stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
|
|
39836
39909
|
// more complex values into a string.
|
|
39837
39910
|
fallback: loaderFallbackScalarSchema.optional(),
|
|
39838
|
-
transforms:
|
|
39839
|
-
pick:
|
|
39840
|
-
coerce:
|
|
39911
|
+
transforms: z72.array(loaderTransformStepSchema).default([]),
|
|
39912
|
+
pick: z72.enum(["value", "collection", "context"]).default("value"),
|
|
39913
|
+
coerce: z72.enum(["number", "boolean", "string"]).optional()
|
|
39841
39914
|
})
|
|
39842
39915
|
});
|
|
39843
|
-
var loaderParamValueSchema2 =
|
|
39844
|
-
|
|
39845
|
-
|
|
39846
|
-
|
|
39916
|
+
var loaderParamValueSchema2 = z72.union([
|
|
39917
|
+
z72.string(),
|
|
39918
|
+
z72.number(),
|
|
39919
|
+
z72.boolean(),
|
|
39847
39920
|
loaderParamBindingSchema2
|
|
39848
39921
|
]);
|
|
39849
|
-
var loaderWhenValueSchema =
|
|
39850
|
-
|
|
39922
|
+
var loaderWhenValueSchema = z72.union([
|
|
39923
|
+
z72.boolean(),
|
|
39851
39924
|
loaderParamBindingSchema2
|
|
39852
39925
|
]);
|
|
39853
|
-
var sdkConfigLoaderSchema2 =
|
|
39926
|
+
var sdkConfigLoaderSchema2 = z72.object({
|
|
39854
39927
|
endpoint: sdkLoaderEndpointSchema2,
|
|
39855
|
-
params:
|
|
39856
|
-
mode:
|
|
39928
|
+
params: z72.record(z72.string(), loaderParamValueSchema2),
|
|
39929
|
+
mode: z72.enum(["server", "client"]).default("server"),
|
|
39857
39930
|
when: loaderWhenValueSchema.optional()
|
|
39858
39931
|
});
|
|
39859
|
-
var sdkDataLoadersSchema2 =
|
|
39932
|
+
var sdkDataLoadersSchema2 = z72.record(z72.string(), sdkConfigLoaderSchema2).refine(
|
|
39860
39933
|
(loaders) => Object.keys(loaders).length <= 5,
|
|
39861
39934
|
{ message: "Maximum 5 data loaders per block" }
|
|
39862
39935
|
).optional();
|
|
39863
|
-
var fieldSelectOptionSchema =
|
|
39864
|
-
value:
|
|
39865
|
-
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")
|
|
39866
39939
|
});
|
|
39867
|
-
var blockFieldConfigSchema =
|
|
39868
|
-
options:
|
|
39940
|
+
var blockFieldConfigSchema = z72.object({
|
|
39941
|
+
options: z72.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
|
|
39869
39942
|
});
|
|
39870
|
-
var blockFieldOptionsSchema =
|
|
39871
|
-
|
|
39943
|
+
var blockFieldOptionsSchema = z72.record(
|
|
39944
|
+
z72.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
39872
39945
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
39873
39946
|
}),
|
|
39874
|
-
|
|
39875
|
-
|
|
39947
|
+
z72.record(
|
|
39948
|
+
z72.string().min(1, "Field ID is required"),
|
|
39876
39949
|
blockFieldConfigSchema
|
|
39877
39950
|
)
|
|
39878
39951
|
).optional();
|
|
39879
|
-
var blockFieldExtensionSchema =
|
|
39952
|
+
var blockFieldExtensionSchema = z72.object({
|
|
39880
39953
|
fields: fieldSchema.array().min(1, "At least one field is required")
|
|
39881
39954
|
}).refine(
|
|
39882
39955
|
(data) => {
|
|
@@ -39890,10 +39963,10 @@ var blockFieldExtensionSchema = z74.object({
|
|
|
39890
39963
|
message: "Required fields must have a defaultValue to support existing blocks"
|
|
39891
39964
|
}
|
|
39892
39965
|
);
|
|
39893
|
-
var blockFieldExtensionsMapSchema =
|
|
39966
|
+
var blockFieldExtensionsMapSchema = z72.record(
|
|
39894
39967
|
// System blocks are kebab-case: block.body-text, block.event-calendar, ...
|
|
39895
39968
|
// Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
|
|
39896
|
-
|
|
39969
|
+
z72.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
|
|
39897
39970
|
message: "Block ID must be 'block.*' format (system blocks only)"
|
|
39898
39971
|
}),
|
|
39899
39972
|
blockFieldExtensionSchema
|
|
@@ -39909,7 +39982,7 @@ var blockFieldExtensionsMapSchema = z74.record(
|
|
|
39909
39982
|
(field) => field.id === collision.fieldId
|
|
39910
39983
|
);
|
|
39911
39984
|
ctx.addIssue({
|
|
39912
|
-
code:
|
|
39985
|
+
code: z72.ZodIssueCode.custom,
|
|
39913
39986
|
message: collision.message,
|
|
39914
39987
|
path: [
|
|
39915
39988
|
APPOINTMENT_BOOKING_BLOCK_ID,
|
|
@@ -39924,24 +39997,24 @@ var blockFieldExtensionsSchema = blockFieldExtensionsMapSchema.optional();
|
|
|
39924
39997
|
function collectAppointmentBookingExtensionReservedFieldCollisions(extension) {
|
|
39925
39998
|
return collectBookingReservedFieldCollisions(extension, { type: "booking" });
|
|
39926
39999
|
}
|
|
39927
|
-
var syncConfigSchema =
|
|
39928
|
-
existingEntries:
|
|
40000
|
+
var syncConfigSchema = z72.object({
|
|
40001
|
+
existingEntries: z72.enum(["skip", "update"]).optional()
|
|
39929
40002
|
}).optional();
|
|
39930
|
-
var deployConfigSchema =
|
|
39931
|
-
verifyCommand:
|
|
39932
|
-
prebuildOutput:
|
|
40003
|
+
var deployConfigSchema = z72.object({
|
|
40004
|
+
verifyCommand: z72.string().optional(),
|
|
40005
|
+
prebuildOutput: z72.string().optional()
|
|
39933
40006
|
}).optional();
|
|
39934
|
-
var sdkCustomBlockSchema =
|
|
40007
|
+
var sdkCustomBlockSchema = z72.object({
|
|
39935
40008
|
// Block ID must start with 'custom.'
|
|
39936
|
-
id:
|
|
40009
|
+
id: z72.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
39937
40010
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
39938
40011
|
}),
|
|
39939
|
-
title:
|
|
40012
|
+
title: z72.string().min(1, "Title is required"),
|
|
39940
40013
|
titleSource: titleSourceValueSchema.optional(),
|
|
39941
|
-
description:
|
|
40014
|
+
description: z72.string().optional(),
|
|
39942
40015
|
category: blockCategoryEnum,
|
|
39943
|
-
icon:
|
|
39944
|
-
tags:
|
|
40016
|
+
icon: z72.string().optional(),
|
|
40017
|
+
tags: z72.array(z72.string()).optional(),
|
|
39945
40018
|
// Reuse the exact field schema from @riverbankcms/blocks - all field types supported
|
|
39946
40019
|
fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
39947
40020
|
// Data loaders for CMS endpoints
|
|
@@ -39949,14 +40022,14 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39949
40022
|
// Optional declarative layout - when present, block can render without React override
|
|
39950
40023
|
layout: NodeSchema.optional(),
|
|
39951
40024
|
// Optional variants system (preferred when a block has multiple structural layouts)
|
|
39952
|
-
variants:
|
|
39953
|
-
defaultVariant:
|
|
39954
|
-
variantOptions:
|
|
39955
|
-
|
|
39956
|
-
|
|
39957
|
-
label:
|
|
39958
|
-
description:
|
|
39959
|
-
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()
|
|
39960
40033
|
})
|
|
39961
40034
|
).optional(),
|
|
39962
40035
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -39968,7 +40041,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39968
40041
|
const exists = fields3.some((field) => field.id === source);
|
|
39969
40042
|
if (!exists) {
|
|
39970
40043
|
ctx.addIssue({
|
|
39971
|
-
code:
|
|
40044
|
+
code: z72.ZodIssueCode.custom,
|
|
39972
40045
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
39973
40046
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
39974
40047
|
});
|
|
@@ -39977,7 +40050,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39977
40050
|
}
|
|
39978
40051
|
if (data.layout && data.variants) {
|
|
39979
40052
|
ctx.addIssue({
|
|
39980
|
-
code:
|
|
40053
|
+
code: z72.ZodIssueCode.custom,
|
|
39981
40054
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
39982
40055
|
path: ["variants"]
|
|
39983
40056
|
});
|
|
@@ -39987,7 +40060,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39987
40060
|
if (!result.valid) {
|
|
39988
40061
|
for (const error of result.errors) {
|
|
39989
40062
|
ctx.addIssue({
|
|
39990
|
-
code:
|
|
40063
|
+
code: z72.ZodIssueCode.custom,
|
|
39991
40064
|
message: error.message,
|
|
39992
40065
|
path: ["layout"]
|
|
39993
40066
|
});
|
|
@@ -39998,14 +40071,14 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39998
40071
|
const keys = Object.keys(data.variants);
|
|
39999
40072
|
if (keys.length === 0) {
|
|
40000
40073
|
ctx.addIssue({
|
|
40001
|
-
code:
|
|
40074
|
+
code: z72.ZodIssueCode.custom,
|
|
40002
40075
|
message: "`variants` must contain at least one variant key",
|
|
40003
40076
|
path: ["variants"]
|
|
40004
40077
|
});
|
|
40005
40078
|
}
|
|
40006
40079
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
40007
40080
|
ctx.addIssue({
|
|
40008
|
-
code:
|
|
40081
|
+
code: z72.ZodIssueCode.custom,
|
|
40009
40082
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
40010
40083
|
path: ["defaultVariant"]
|
|
40011
40084
|
});
|
|
@@ -40015,7 +40088,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40015
40088
|
if (!result.valid) {
|
|
40016
40089
|
for (const error of result.errors) {
|
|
40017
40090
|
ctx.addIssue({
|
|
40018
|
-
code:
|
|
40091
|
+
code: z72.ZodIssueCode.custom,
|
|
40019
40092
|
message: `${key}: ${error.message}`,
|
|
40020
40093
|
path: ["variants", key]
|
|
40021
40094
|
});
|
|
@@ -40026,7 +40099,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40026
40099
|
for (const key of Object.keys(data.variantOptions)) {
|
|
40027
40100
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
40028
40101
|
ctx.addIssue({
|
|
40029
|
-
code:
|
|
40102
|
+
code: z72.ZodIssueCode.custom,
|
|
40030
40103
|
message: "`variantOptions` key must exist in `variants`",
|
|
40031
40104
|
path: ["variantOptions", key]
|
|
40032
40105
|
});
|
|
@@ -40035,58 +40108,58 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40035
40108
|
}
|
|
40036
40109
|
}
|
|
40037
40110
|
});
|
|
40038
|
-
var themeSourceSchema =
|
|
40039
|
-
var activeThemeSchema =
|
|
40111
|
+
var themeSourceSchema = z72.enum(["local", "cms"]).optional();
|
|
40112
|
+
var activeThemeSchema = z72.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
|
|
40040
40113
|
message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
|
|
40041
40114
|
}).max(64, "Theme name too long").optional();
|
|
40042
40115
|
function isValidConfigBlockKind(kind) {
|
|
40043
40116
|
if (getBlockDefinition(kind)) return true;
|
|
40044
40117
|
return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
|
|
40045
40118
|
}
|
|
40046
|
-
var layoutBlockKindSchema =
|
|
40119
|
+
var layoutBlockKindSchema = z72.string().refine(isValidConfigBlockKind, {
|
|
40047
40120
|
message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
|
|
40048
40121
|
});
|
|
40049
|
-
var layoutFooterBlockSchema =
|
|
40050
|
-
id:
|
|
40122
|
+
var layoutFooterBlockSchema = z72.object({
|
|
40123
|
+
id: z72.string().min(1).optional(),
|
|
40051
40124
|
kind: layoutBlockKindSchema,
|
|
40052
40125
|
// Allow omitted content for blocks that rely on defaults.
|
|
40053
|
-
content:
|
|
40126
|
+
content: z72.record(z72.string(), z72.unknown()).optional()
|
|
40054
40127
|
}).strict();
|
|
40055
|
-
var layoutConfigSchema =
|
|
40056
|
-
footerBlocks:
|
|
40128
|
+
var layoutConfigSchema = z72.object({
|
|
40129
|
+
footerBlocks: z72.array(layoutFooterBlockSchema).optional()
|
|
40057
40130
|
}).strict();
|
|
40058
|
-
var sdkWorkflowIdSchema2 =
|
|
40131
|
+
var sdkWorkflowIdSchema2 = z72.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
40059
40132
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
40060
40133
|
});
|
|
40061
|
-
var sdkWorkflowEndpointSchema2 =
|
|
40062
|
-
var sdkWorkflowTriggerSchema2 =
|
|
40063
|
-
|
|
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()
|
|
40064
40137
|
]);
|
|
40065
|
-
var sdkWorkflowConfirmationSchema2 =
|
|
40066
|
-
title:
|
|
40067
|
-
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()
|
|
40068
40141
|
}).strict();
|
|
40069
|
-
var sdkWorkflowConfigSchema2 =
|
|
40142
|
+
var sdkWorkflowConfigSchema2 = z72.object({
|
|
40070
40143
|
id: sdkWorkflowIdSchema2,
|
|
40071
|
-
title:
|
|
40072
|
-
description:
|
|
40073
|
-
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),
|
|
40074
40147
|
endpoint: sdkWorkflowEndpointSchema2,
|
|
40075
|
-
triggers:
|
|
40148
|
+
triggers: z72.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
40076
40149
|
confirmation: sdkWorkflowConfirmationSchema2.optional()
|
|
40077
40150
|
}).strict();
|
|
40078
|
-
var sdkWorkflowsSchema2 =
|
|
40151
|
+
var sdkWorkflowsSchema2 = z72.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
40079
40152
|
const ids = workflows.map((workflow) => workflow.id);
|
|
40080
40153
|
return ids.length === new Set(ids).size;
|
|
40081
40154
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
40082
|
-
var riverbankSiteConfigSchema =
|
|
40083
|
-
siteId:
|
|
40155
|
+
var riverbankSiteConfigSchema = z72.object({
|
|
40156
|
+
siteId: z72.string().uuid(),
|
|
40084
40157
|
previewUrl: sdkSiteUrlSchema.optional(),
|
|
40085
40158
|
liveUrl: sdkSiteUrlSchema.optional(),
|
|
40086
40159
|
theme: sdkThemeConfigSchema2.optional(),
|
|
40087
40160
|
styles: siteStyleConfigSchema,
|
|
40088
40161
|
layout: layoutConfigSchema.optional(),
|
|
40089
|
-
customBlocks:
|
|
40162
|
+
customBlocks: z72.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
|
|
40090
40163
|
// Ensure unique block IDs
|
|
40091
40164
|
(blocks) => {
|
|
40092
40165
|
const ids = blocks.map((b) => b.id);
|
|
@@ -40099,7 +40172,7 @@ var riverbankSiteConfigSchema = z74.object({
|
|
|
40099
40172
|
workflows: sdkWorkflowsSchema2,
|
|
40100
40173
|
content: contentConfigSchema.optional(),
|
|
40101
40174
|
// CLI-related configuration (Phase 4)
|
|
40102
|
-
contentDir:
|
|
40175
|
+
contentDir: z72.string().optional(),
|
|
40103
40176
|
sync: syncConfigSchema,
|
|
40104
40177
|
deploy: deployConfigSchema,
|
|
40105
40178
|
// Theme sync configuration (Phase 5)
|