@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/config/validation.ts
|
|
2
|
-
import { z as
|
|
2
|
+
import { z as z72 } from "zod";
|
|
3
3
|
|
|
4
4
|
// ../api/src/apiEndpointTypes.ts
|
|
5
5
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
@@ -1813,6 +1813,24 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1813
1813
|
auth: "user",
|
|
1814
1814
|
responseKind: "json"
|
|
1815
1815
|
},
|
|
1816
|
+
resendSiteInvitation: {
|
|
1817
|
+
path: "/sites/{siteId}/members/invitations/{invitationId}/resend",
|
|
1818
|
+
method: "POST",
|
|
1819
|
+
errors: [
|
|
1820
|
+
"auth:forbidden",
|
|
1821
|
+
"resource:not_found",
|
|
1822
|
+
"validation:invalid_input",
|
|
1823
|
+
"external:service_error",
|
|
1824
|
+
"server:internal_error"
|
|
1825
|
+
],
|
|
1826
|
+
tags: [
|
|
1827
|
+
"site-{siteId}",
|
|
1828
|
+
"site-members-{siteId}",
|
|
1829
|
+
"site-invite-{invitationId}"
|
|
1830
|
+
],
|
|
1831
|
+
auth: "user",
|
|
1832
|
+
responseKind: "json"
|
|
1833
|
+
},
|
|
1816
1834
|
transferSiteOwnership: {
|
|
1817
1835
|
path: "/sites/{siteId}/members/transfer-ownership",
|
|
1818
1836
|
method: "POST",
|
|
@@ -6750,7 +6768,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
6750
6768
|
);
|
|
6751
6769
|
|
|
6752
6770
|
// ../api/src/sdkConfig/contracts.ts
|
|
6753
|
-
import { z as
|
|
6771
|
+
import { z as z63 } from "zod";
|
|
6754
6772
|
|
|
6755
6773
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
6756
6774
|
function augmentManifest(manifest) {
|
|
@@ -7178,12 +7196,17 @@ var visibleWhenPredicateSchema = z4.object({
|
|
|
7178
7196
|
minItems: z4.number().int().nonnegative().optional(),
|
|
7179
7197
|
maxItems: z4.number().int().nonnegative().optional()
|
|
7180
7198
|
});
|
|
7181
|
-
var visibleWhenSchema = z4.
|
|
7182
|
-
|
|
7183
|
-
|
|
7184
|
-
|
|
7185
|
-
|
|
7186
|
-
|
|
7199
|
+
var visibleWhenSchema = z4.lazy(
|
|
7200
|
+
() => z4.union([
|
|
7201
|
+
visibleWhenPredicateSchema,
|
|
7202
|
+
z4.object({
|
|
7203
|
+
allOf: z4.array(visibleWhenSchema).min(1)
|
|
7204
|
+
}),
|
|
7205
|
+
z4.object({
|
|
7206
|
+
anyOf: z4.array(visibleWhenSchema).min(1)
|
|
7207
|
+
})
|
|
7208
|
+
])
|
|
7209
|
+
);
|
|
7187
7210
|
var uiSchema = z4.object({
|
|
7188
7211
|
widget: z4.string().optional(),
|
|
7189
7212
|
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
@@ -20088,9 +20111,6 @@ var heroCopyFragment = defineFragment({
|
|
|
20088
20111
|
maxLength: 600
|
|
20089
20112
|
}
|
|
20090
20113
|
],
|
|
20091
|
-
// Layout order is [eyebrow, headline, subheadline]. The hero block's
|
|
20092
|
-
// `splitEditorial` variant reads these nodes by index; keep the order stable
|
|
20093
|
-
// (it fails fast at import if the count changes).
|
|
20094
20114
|
layout: [
|
|
20095
20115
|
text(
|
|
20096
20116
|
{
|
|
@@ -22328,32 +22348,6 @@ var splitReverseLayout = splitLayoutWith([
|
|
|
22328
22348
|
splitContentColumn,
|
|
22329
22349
|
splitImageColumn
|
|
22330
22350
|
]);
|
|
22331
|
-
var heroEyebrowNode = heroCopyFragment.layout[0];
|
|
22332
|
-
var heroHeadlineNode = heroCopyFragment.layout[1];
|
|
22333
|
-
var heroSubheadlineNode = heroCopyFragment.layout[2];
|
|
22334
|
-
var heroCtaRowNode = heroCtaRowFragment.layout[0];
|
|
22335
|
-
if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
|
|
22336
|
-
throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
|
|
22337
|
-
}
|
|
22338
|
-
var heroEditorialBottomRow = inline(
|
|
22339
|
-
{
|
|
22340
|
-
gap: "lg",
|
|
22341
|
-
align: "end",
|
|
22342
|
-
justify: "start",
|
|
22343
|
-
wrap: true,
|
|
22344
|
-
className: "rb-w-full"
|
|
22345
|
-
},
|
|
22346
|
-
[heroSubheadlineNode, heroCtaRowNode]
|
|
22347
|
-
);
|
|
22348
|
-
var splitEditorialContentColumn = heroContentWrapper(
|
|
22349
|
-
[heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
|
|
22350
|
-
"md",
|
|
22351
|
-
"rb-w-full rb-text-left"
|
|
22352
|
-
);
|
|
22353
|
-
var splitEditorialLayout = splitLayoutWith([
|
|
22354
|
-
splitEditorialContentColumn,
|
|
22355
|
-
splitImageColumn
|
|
22356
|
-
]);
|
|
22357
22351
|
var heroConfig = {
|
|
22358
22352
|
id: "block.hero",
|
|
22359
22353
|
title: "Hero",
|
|
@@ -22377,7 +22371,8 @@ var heroConfig = {
|
|
|
22377
22371
|
id: "imageShape",
|
|
22378
22372
|
label: "Image shape",
|
|
22379
22373
|
defaultValue: "default",
|
|
22380
|
-
uiIntent: "display"
|
|
22374
|
+
uiIntent: "display",
|
|
22375
|
+
visibleWhen: { field: "variant", oneOf: ["split", "splitReverse"] }
|
|
22381
22376
|
})
|
|
22382
22377
|
],
|
|
22383
22378
|
layout: classicLayout,
|
|
@@ -22385,8 +22380,7 @@ var heroConfig = {
|
|
|
22385
22380
|
classic: classicLayout,
|
|
22386
22381
|
micro: microLayout,
|
|
22387
22382
|
split: splitLayout,
|
|
22388
|
-
splitReverse: splitReverseLayout
|
|
22389
|
-
splitEditorial: splitEditorialLayout
|
|
22383
|
+
splitReverse: splitReverseLayout
|
|
22390
22384
|
},
|
|
22391
22385
|
defaultVariant: "classic",
|
|
22392
22386
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
@@ -24262,8 +24256,10 @@ function resolveGeneratedHeroLayoutStyles(content) {
|
|
|
24262
24256
|
return isPlainObject(raw) ? raw : null;
|
|
24263
24257
|
}
|
|
24264
24258
|
function readHeroLayoutString(content, generatedKey, fallbackKey = generatedKey) {
|
|
24259
|
+
const explicitValue = readString(content, fallbackKey);
|
|
24260
|
+
if (explicitValue !== void 0) return explicitValue;
|
|
24265
24261
|
const generated = resolveGeneratedHeroLayoutStyles(content);
|
|
24266
|
-
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] :
|
|
24262
|
+
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : void 0;
|
|
24267
24263
|
}
|
|
24268
24264
|
function resolveHeroVariant(content) {
|
|
24269
24265
|
const variant = readString(content, "variant");
|
|
@@ -24276,7 +24272,7 @@ function resolveHeroContentAlignment(content) {
|
|
|
24276
24272
|
const raw = readHeroLayoutString(content, "contentAlignment");
|
|
24277
24273
|
if (raw === "left" || raw === "center" || raw === "right") return raw;
|
|
24278
24274
|
const variant = resolveHeroVariant(content);
|
|
24279
|
-
if (variant === "split" || variant === "splitReverse"
|
|
24275
|
+
if (variant === "split" || variant === "splitReverse") return "left";
|
|
24280
24276
|
return "center";
|
|
24281
24277
|
}
|
|
24282
24278
|
function resolveHeroVerticalAlignment(content) {
|
|
@@ -24286,7 +24282,7 @@ function resolveHeroVerticalAlignment(content) {
|
|
|
24286
24282
|
const minHeight = sectionStyles?.minHeight;
|
|
24287
24283
|
if (minHeight === "banner" || minHeight === "hero" || minHeight === "immersive") return "center";
|
|
24288
24284
|
const variant = resolveHeroVariant(content);
|
|
24289
|
-
if (variant === "split" || variant === "splitReverse"
|
|
24285
|
+
if (variant === "split" || variant === "splitReverse") return "center";
|
|
24290
24286
|
return "top";
|
|
24291
24287
|
}
|
|
24292
24288
|
function resolveHeroContentMaxWidth(content) {
|
|
@@ -27852,9 +27848,6 @@ var appointmentBookingBlockDefinition = {
|
|
|
27852
27848
|
}
|
|
27853
27849
|
};
|
|
27854
27850
|
|
|
27855
|
-
// ../blocks/src/system/blocks/event-registration.ts
|
|
27856
|
-
import { z as z47 } from "zod";
|
|
27857
|
-
|
|
27858
27851
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27859
27852
|
import { z as z43 } from "zod";
|
|
27860
27853
|
|
|
@@ -28469,24 +28462,57 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28469
28462
|
return trimmed ? trimmed : null;
|
|
28470
28463
|
}
|
|
28471
28464
|
|
|
28472
|
-
// ../blocks/src/system/blocks/
|
|
28465
|
+
// ../blocks/src/system/blocks/shop.shared.ts
|
|
28473
28466
|
import { z as z44 } from "zod";
|
|
28474
|
-
var
|
|
28467
|
+
var publicPassProductSchema = z44.object({
|
|
28468
|
+
id: z44.string(),
|
|
28469
|
+
productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
28470
|
+
name: z44.string(),
|
|
28471
|
+
description: z44.string().nullable(),
|
|
28472
|
+
price: z44.number(),
|
|
28473
|
+
currency: z44.string(),
|
|
28474
|
+
creditsTotal: z44.number(),
|
|
28475
|
+
pricePerCredit: z44.number(),
|
|
28476
|
+
validDays: z44.number().nullable(),
|
|
28477
|
+
eligibleCategoryIds: z44.array(z44.string()),
|
|
28478
|
+
eligibleCategoryNames: z44.array(z44.string())
|
|
28479
|
+
});
|
|
28480
|
+
var publicPassProductCollectionSchema = z44.object({
|
|
28481
|
+
passes: z44.array(publicPassProductSchema)
|
|
28482
|
+
});
|
|
28483
|
+
var publicMembershipProductSchema = z44.object({
|
|
28475
28484
|
id: z44.string(),
|
|
28476
|
-
|
|
28477
|
-
|
|
28478
|
-
|
|
28479
|
-
|
|
28480
|
-
|
|
28481
|
-
|
|
28485
|
+
name: z44.string(),
|
|
28486
|
+
description: z44.string().nullable(),
|
|
28487
|
+
price: z44.number(),
|
|
28488
|
+
currency: z44.string(),
|
|
28489
|
+
billingInterval: z44.enum(["month", "year"]),
|
|
28490
|
+
eligibleCategoryIds: z44.array(z44.string()),
|
|
28491
|
+
eligibleCategoryNames: z44.array(z44.string())
|
|
28492
|
+
});
|
|
28493
|
+
var publicMembershipProductCollectionSchema = z44.object({
|
|
28494
|
+
memberships: z44.array(publicMembershipProductSchema)
|
|
28495
|
+
});
|
|
28496
|
+
|
|
28497
|
+
// ../blocks/src/system/blocks/event-registration.shared.ts
|
|
28498
|
+
import { z as z45 } from "zod";
|
|
28499
|
+
var occurrenceContextSchema = z45.object({
|
|
28500
|
+
id: z45.string(),
|
|
28501
|
+
seriesId: z45.string(),
|
|
28502
|
+
startsAt: z45.string(),
|
|
28503
|
+
endsAt: z45.string(),
|
|
28504
|
+
timeZone: z45.string(),
|
|
28505
|
+
capacityOverride: z45.number().nullable().optional(),
|
|
28506
|
+
overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
|
|
28482
28507
|
}).nullable();
|
|
28483
28508
|
|
|
28484
28509
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28485
|
-
import { z as
|
|
28510
|
+
import { z as z47 } from "zod";
|
|
28486
28511
|
|
|
28487
28512
|
// ../blocks/src/system/constants/events.ts
|
|
28488
28513
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
28489
|
-
var eventCalendarDisplayModeValues = ["combined", "
|
|
28514
|
+
var eventCalendarDisplayModeValues = ["combined", "calendar", "list", "timetable"];
|
|
28515
|
+
var eventCalendarDefaultViewValues = ["month", "week"];
|
|
28490
28516
|
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
28491
28517
|
var eventCalendarListLayoutOptions = [
|
|
28492
28518
|
{ id: "stack", label: "Stack" },
|
|
@@ -28496,6 +28522,9 @@ var eventCalendarListLayoutOptions = [
|
|
|
28496
28522
|
function isEventCalendarDisplayMode(value) {
|
|
28497
28523
|
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
28498
28524
|
}
|
|
28525
|
+
function isEventCalendarDefaultView(value) {
|
|
28526
|
+
return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
|
|
28527
|
+
}
|
|
28499
28528
|
function isEventCalendarListLayout(value) {
|
|
28500
28529
|
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
28501
28530
|
}
|
|
@@ -28636,16 +28665,17 @@ function readAmount(value) {
|
|
|
28636
28665
|
}
|
|
28637
28666
|
|
|
28638
28667
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28639
|
-
import { z as
|
|
28640
|
-
var previewStageSchema =
|
|
28641
|
-
var registrationButtonVariantSchema =
|
|
28642
|
-
var eventButtonVariantSchema =
|
|
28643
|
-
var eventLayoutSchema =
|
|
28644
|
-
var eventCalendarDisplayModeSchema =
|
|
28645
|
-
var
|
|
28646
|
-
var
|
|
28647
|
-
var
|
|
28648
|
-
var
|
|
28668
|
+
import { z as z46 } from "zod";
|
|
28669
|
+
var previewStageSchema = z46.enum(["preview", "published"]);
|
|
28670
|
+
var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
|
|
28671
|
+
var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
|
|
28672
|
+
var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
|
|
28673
|
+
var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
|
|
28674
|
+
var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
|
|
28675
|
+
var columnOptionSchema = z46.enum(["2", "3", "4"]);
|
|
28676
|
+
var weekStartSchema = z46.enum(["sunday", "monday"]);
|
|
28677
|
+
var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
|
|
28678
|
+
var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
|
|
28649
28679
|
|
|
28650
28680
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28651
28681
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -28663,7 +28693,7 @@ function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
|
28663
28693
|
function findPreSelectedEvent(input) {
|
|
28664
28694
|
const occurrenceContext = input.occurrenceContext;
|
|
28665
28695
|
if (!occurrenceContext) {
|
|
28666
|
-
return null;
|
|
28696
|
+
return input.scopedEvents.length === 1 ? input.scopedEvents[0] ?? null : null;
|
|
28667
28697
|
}
|
|
28668
28698
|
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28669
28699
|
startsAt: occurrenceContext.startsAt,
|
|
@@ -28705,68 +28735,72 @@ function toRegistrationEvents(events) {
|
|
|
28705
28735
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28706
28736
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28707
28737
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28708
|
-
var contentEntrySchema =
|
|
28709
|
-
id:
|
|
28710
|
-
slug:
|
|
28711
|
-
contentTypeSlug:
|
|
28738
|
+
var contentEntrySchema = z47.object({
|
|
28739
|
+
id: z47.string(),
|
|
28740
|
+
slug: z47.string(),
|
|
28741
|
+
contentTypeSlug: z47.string()
|
|
28712
28742
|
});
|
|
28713
|
-
var eventRegistrationPublicEventSchema =
|
|
28743
|
+
var eventRegistrationPublicEventSchema = z47.preprocess(
|
|
28714
28744
|
normalizeEventRegistrationEventInput,
|
|
28715
28745
|
publicEventSchema
|
|
28716
28746
|
);
|
|
28717
|
-
var eventRegistrationSourceSchema =
|
|
28718
|
-
siteId:
|
|
28719
|
-
apiBaseUrl:
|
|
28720
|
-
portalToken:
|
|
28721
|
-
previewToken:
|
|
28747
|
+
var eventRegistrationSourceSchema = z47.object({
|
|
28748
|
+
siteId: z47.string().optional(),
|
|
28749
|
+
apiBaseUrl: z47.string().optional(),
|
|
28750
|
+
portalToken: z47.string().nullable().optional(),
|
|
28751
|
+
previewToken: z47.string().nullable().optional(),
|
|
28722
28752
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28723
28753
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28724
|
-
events:
|
|
28725
|
-
className:
|
|
28726
|
-
buttonText:
|
|
28727
|
-
maxTickets:
|
|
28728
|
-
showVenue:
|
|
28729
|
-
showCapacity:
|
|
28730
|
-
successMessage:
|
|
28731
|
-
waitlistMessage:
|
|
28754
|
+
events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28755
|
+
className: z47.string().nullable().optional(),
|
|
28756
|
+
buttonText: z47.string().nullable().optional(),
|
|
28757
|
+
maxTickets: z47.string().nullable().optional(),
|
|
28758
|
+
showVenue: z47.boolean().optional(),
|
|
28759
|
+
showCapacity: z47.boolean().optional(),
|
|
28760
|
+
successMessage: z47.string().optional(),
|
|
28761
|
+
waitlistMessage: z47.string().optional(),
|
|
28732
28762
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28733
|
-
overlayEnabled:
|
|
28734
|
-
spamProtectionEnabled:
|
|
28763
|
+
overlayEnabled: z47.boolean().optional(),
|
|
28764
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
28735
28765
|
stage: previewStageSchema.optional(),
|
|
28736
|
-
supportEmail:
|
|
28737
|
-
|
|
28738
|
-
|
|
28739
|
-
|
|
28740
|
-
|
|
28741
|
-
|
|
28742
|
-
|
|
28743
|
-
|
|
28744
|
-
|
|
28745
|
-
|
|
28746
|
-
|
|
28747
|
-
|
|
28766
|
+
supportEmail: z47.string().optional(),
|
|
28767
|
+
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28768
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28769
|
+
});
|
|
28770
|
+
var eventRegistrationDisplaySchema = z47.object({
|
|
28771
|
+
kind: z47.literal("event-registration"),
|
|
28772
|
+
state: z47.literal("generic-shell"),
|
|
28773
|
+
className: z47.string().nullable(),
|
|
28774
|
+
titleText: z47.string(),
|
|
28775
|
+
bodyText: z47.string(),
|
|
28776
|
+
stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
28777
|
+
summaryButtonText: z47.string()
|
|
28778
|
+
});
|
|
28779
|
+
var eventRegistrationHydrationSchema = z47.object({
|
|
28748
28780
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28749
28781
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28750
|
-
events:
|
|
28751
|
-
maxTickets:
|
|
28752
|
-
showVenue:
|
|
28753
|
-
showCapacity:
|
|
28754
|
-
successMessage:
|
|
28755
|
-
waitlistMessage:
|
|
28782
|
+
events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28783
|
+
maxTickets: z47.string().optional(),
|
|
28784
|
+
showVenue: z47.boolean().optional(),
|
|
28785
|
+
showCapacity: z47.boolean().optional(),
|
|
28786
|
+
successMessage: z47.string().optional(),
|
|
28787
|
+
waitlistMessage: z47.string().optional(),
|
|
28756
28788
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28757
|
-
overlayEnabled:
|
|
28758
|
-
spamProtectionEnabled:
|
|
28759
|
-
supportEmail:
|
|
28789
|
+
overlayEnabled: z47.boolean().optional(),
|
|
28790
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
28791
|
+
supportEmail: z47.string().optional(),
|
|
28792
|
+
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28793
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28760
28794
|
});
|
|
28761
|
-
var eventRegistrationRenderSchema =
|
|
28795
|
+
var eventRegistrationRenderSchema = z47.object({
|
|
28762
28796
|
display: eventRegistrationDisplaySchema,
|
|
28763
28797
|
hydration: eventRegistrationHydrationSchema
|
|
28764
28798
|
});
|
|
28765
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
28766
|
-
siteId:
|
|
28767
|
-
apiBaseUrl:
|
|
28768
|
-
portalToken:
|
|
28769
|
-
previewToken:
|
|
28799
|
+
var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
|
|
28800
|
+
siteId: z47.string().optional(),
|
|
28801
|
+
apiBaseUrl: z47.string().optional(),
|
|
28802
|
+
portalToken: z47.string().nullable().optional(),
|
|
28803
|
+
previewToken: z47.string().nullable().optional(),
|
|
28770
28804
|
stage: previewStageSchema.optional()
|
|
28771
28805
|
}));
|
|
28772
28806
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -28872,7 +28906,9 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
28872
28906
|
buttonVariant: source.buttonVariant,
|
|
28873
28907
|
overlayEnabled: source.overlayEnabled,
|
|
28874
28908
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
28875
|
-
supportEmail: source.supportEmail
|
|
28909
|
+
supportEmail: source.supportEmail,
|
|
28910
|
+
sitePasses: source.sitePasses ?? null,
|
|
28911
|
+
siteMemberships: source.siteMemberships ?? null
|
|
28876
28912
|
}
|
|
28877
28913
|
})
|
|
28878
28914
|
});
|
|
@@ -29054,6 +29090,8 @@ var eventRegistrationManifest = createBlockManifest({
|
|
|
29054
29090
|
},
|
|
29055
29091
|
// Event data from loader
|
|
29056
29092
|
events: { $bind: { from: "data.events" } },
|
|
29093
|
+
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
29094
|
+
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
29057
29095
|
// Stage for preview mode (allows registering for draft events)
|
|
29058
29096
|
stage: {
|
|
29059
29097
|
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
@@ -29072,7 +29110,9 @@ var eventRegistrationBlockDefinition = {
|
|
|
29072
29110
|
manifest: eventRegistrationManifest,
|
|
29073
29111
|
runtime: eventRegistrationBlockRuntime,
|
|
29074
29112
|
dataSchemas: {
|
|
29075
|
-
events:
|
|
29113
|
+
events: publicEventsArraySchema.optional(),
|
|
29114
|
+
sitePasses: publicPassProductCollectionSchema.optional(),
|
|
29115
|
+
siteMemberships: publicMembershipProductCollectionSchema.optional(),
|
|
29076
29116
|
occurrenceContext: occurrenceContextSchema.optional()
|
|
29077
29117
|
},
|
|
29078
29118
|
dataLoaders: {
|
|
@@ -29091,6 +29131,20 @@ var eventRegistrationBlockDefinition = {
|
|
|
29091
29131
|
entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
|
|
29092
29132
|
},
|
|
29093
29133
|
mode: "server"
|
|
29134
|
+
},
|
|
29135
|
+
sitePasses: {
|
|
29136
|
+
endpoint: "listPublicPasses",
|
|
29137
|
+
params: {
|
|
29138
|
+
siteId: { $bind: { from: "$root.siteId" } }
|
|
29139
|
+
},
|
|
29140
|
+
mode: "server"
|
|
29141
|
+
},
|
|
29142
|
+
siteMemberships: {
|
|
29143
|
+
endpoint: "listPublicMemberships",
|
|
29144
|
+
params: {
|
|
29145
|
+
siteId: { $bind: { from: "$root.siteId" } }
|
|
29146
|
+
},
|
|
29147
|
+
mode: "server"
|
|
29094
29148
|
}
|
|
29095
29149
|
}
|
|
29096
29150
|
};
|
|
@@ -29422,35 +29476,7 @@ var courseRegistrationBlockDefinition = {
|
|
|
29422
29476
|
};
|
|
29423
29477
|
|
|
29424
29478
|
// ../blocks/src/system/blocks/event-details.ts
|
|
29425
|
-
import { z as z50 } from "zod";
|
|
29426
|
-
|
|
29427
|
-
// ../blocks/src/system/blocks/shop.shared.ts
|
|
29428
29479
|
import { z as z49 } from "zod";
|
|
29429
|
-
var publicPassProductSchema = z49.object({
|
|
29430
|
-
id: z49.string(),
|
|
29431
|
-
productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
29432
|
-
name: z49.string(),
|
|
29433
|
-
description: z49.string().nullable(),
|
|
29434
|
-
price: z49.number(),
|
|
29435
|
-
currency: z49.string(),
|
|
29436
|
-
creditsTotal: z49.number(),
|
|
29437
|
-
pricePerCredit: z49.number(),
|
|
29438
|
-
validDays: z49.number().nullable(),
|
|
29439
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
29440
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
29441
|
-
});
|
|
29442
|
-
var publicMembershipProductSchema = z49.object({
|
|
29443
|
-
id: z49.string(),
|
|
29444
|
-
name: z49.string(),
|
|
29445
|
-
description: z49.string().nullable(),
|
|
29446
|
-
price: z49.number(),
|
|
29447
|
-
currency: z49.string(),
|
|
29448
|
-
billingInterval: z49.enum(["month", "year"]),
|
|
29449
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
29450
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
29451
|
-
});
|
|
29452
|
-
|
|
29453
|
-
// ../blocks/src/system/blocks/event-details.ts
|
|
29454
29480
|
var eventDetailsManifest = createBlockManifest({
|
|
29455
29481
|
id: "block.event-details",
|
|
29456
29482
|
version: "1.0.0",
|
|
@@ -29582,40 +29608,40 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
29582
29608
|
})
|
|
29583
29609
|
]
|
|
29584
29610
|
});
|
|
29585
|
-
var occurrenceContextSchema2 =
|
|
29586
|
-
id:
|
|
29587
|
-
seriesId:
|
|
29588
|
-
startsAt:
|
|
29589
|
-
endsAt:
|
|
29590
|
-
timeZone:
|
|
29591
|
-
capacityOverride:
|
|
29592
|
-
overrides:
|
|
29611
|
+
var occurrenceContextSchema2 = z49.object({
|
|
29612
|
+
id: z49.string(),
|
|
29613
|
+
seriesId: z49.string(),
|
|
29614
|
+
startsAt: z49.string(),
|
|
29615
|
+
endsAt: z49.string(),
|
|
29616
|
+
timeZone: z49.string(),
|
|
29617
|
+
capacityOverride: z49.number().nullable().optional(),
|
|
29618
|
+
overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
|
|
29593
29619
|
}).nullable();
|
|
29594
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
29595
|
-
id:
|
|
29596
|
-
publicLabel:
|
|
29597
|
-
description:
|
|
29598
|
-
minTicketsRequired:
|
|
29620
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
|
|
29621
|
+
id: z49.string(),
|
|
29622
|
+
publicLabel: z49.string(),
|
|
29623
|
+
description: z49.string().nullable(),
|
|
29624
|
+
minTicketsRequired: z49.number().nullable()
|
|
29599
29625
|
});
|
|
29600
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
29626
|
+
var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
|
|
29601
29627
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29602
|
-
discountType:
|
|
29603
|
-
discountPercent:
|
|
29604
|
-
discountAmountCents:
|
|
29628
|
+
discountType: z49.literal("percent"),
|
|
29629
|
+
discountPercent: z49.number(),
|
|
29630
|
+
discountAmountCents: z49.null()
|
|
29605
29631
|
}),
|
|
29606
29632
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29607
|
-
discountType:
|
|
29608
|
-
discountPercent:
|
|
29609
|
-
discountAmountCents:
|
|
29633
|
+
discountType: z49.literal("fixed"),
|
|
29634
|
+
discountPercent: z49.null(),
|
|
29635
|
+
discountAmountCents: z49.number()
|
|
29610
29636
|
})
|
|
29611
29637
|
]);
|
|
29612
29638
|
var eventDetailsBlockDefinition = {
|
|
29613
29639
|
manifest: eventDetailsManifest,
|
|
29614
29640
|
dataSchemas: {
|
|
29615
|
-
eventDetailsData:
|
|
29641
|
+
eventDetailsData: z49.object({
|
|
29616
29642
|
events: publicEventsArraySchema,
|
|
29617
|
-
sitePasses:
|
|
29618
|
-
siteMemberships:
|
|
29643
|
+
sitePasses: publicPassProductCollectionSchema,
|
|
29644
|
+
siteMemberships: publicMembershipProductCollectionSchema,
|
|
29619
29645
|
autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
|
|
29620
29646
|
}).optional(),
|
|
29621
29647
|
occurrenceContext: occurrenceContextSchema2.optional()
|
|
@@ -29939,7 +29965,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
29939
29965
|
};
|
|
29940
29966
|
|
|
29941
29967
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
29942
|
-
import { z as
|
|
29968
|
+
import { z as z51 } from "zod";
|
|
29943
29969
|
|
|
29944
29970
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
29945
29971
|
var COLUMN_CLASSES = {
|
|
@@ -30047,16 +30073,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
30047
30073
|
}
|
|
30048
30074
|
|
|
30049
30075
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
30050
|
-
import { z as
|
|
30076
|
+
import { z as z50 } from "zod";
|
|
30051
30077
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
30052
|
-
var eventPageSizeSchema =
|
|
30053
|
-
|
|
30054
|
-
|
|
30055
|
-
|
|
30056
|
-
|
|
30057
|
-
|
|
30058
|
-
|
|
30059
|
-
|
|
30078
|
+
var eventPageSizeSchema = z50.union([
|
|
30079
|
+
z50.literal(3),
|
|
30080
|
+
z50.literal(6),
|
|
30081
|
+
z50.literal(10),
|
|
30082
|
+
z50.literal(12),
|
|
30083
|
+
z50.literal(20),
|
|
30084
|
+
z50.literal(24),
|
|
30085
|
+
z50.literal(30)
|
|
30060
30086
|
]);
|
|
30061
30087
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
30062
30088
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -30066,15 +30092,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
30066
30092
|
function resolveEventCalendarListPageSize(input) {
|
|
30067
30093
|
return resolveEventPageSize(input.eventsPerPage);
|
|
30068
30094
|
}
|
|
30069
|
-
var eventListPaginationActionSchema =
|
|
30070
|
-
|
|
30071
|
-
kind:
|
|
30072
|
-
label:
|
|
30095
|
+
var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
|
|
30096
|
+
z50.object({
|
|
30097
|
+
kind: z50.literal("loadMore"),
|
|
30098
|
+
label: z50.string()
|
|
30073
30099
|
}),
|
|
30074
|
-
|
|
30075
|
-
kind:
|
|
30076
|
-
label:
|
|
30077
|
-
href:
|
|
30100
|
+
z50.object({
|
|
30101
|
+
kind: z50.literal("seeAllLink"),
|
|
30102
|
+
label: z50.string(),
|
|
30103
|
+
href: z50.string()
|
|
30078
30104
|
})
|
|
30079
30105
|
]);
|
|
30080
30106
|
function resolveEventListPaginationAction(input) {
|
|
@@ -30087,89 +30113,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
30087
30113
|
}
|
|
30088
30114
|
|
|
30089
30115
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30090
|
-
var legacyEventCardVariantSchema =
|
|
30091
|
-
var eventCardVariantInputSchema =
|
|
30116
|
+
var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
|
|
30117
|
+
var eventCardVariantInputSchema = z51.union([
|
|
30092
30118
|
cardVariantRoleSchema,
|
|
30093
30119
|
legacyEventCardVariantSchema
|
|
30094
30120
|
]);
|
|
30095
|
-
var cardOrientationSchema =
|
|
30096
|
-
var eventBlockKindSchema =
|
|
30097
|
-
var eventSurfaceScopeSchema =
|
|
30098
|
-
var eventScheduleScopeSchema2 =
|
|
30099
|
-
var eventListingSourceSchema =
|
|
30100
|
-
events:
|
|
30101
|
-
siteId:
|
|
30102
|
-
apiBaseUrl:
|
|
30121
|
+
var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
|
|
30122
|
+
var eventBlockKindSchema = z51.enum(eventBlockKindValues);
|
|
30123
|
+
var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
|
|
30124
|
+
var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
|
|
30125
|
+
var eventListingSourceSchema = z51.object({
|
|
30126
|
+
events: z51.array(publicEventSchema).nullable().optional(),
|
|
30127
|
+
siteId: z51.string(),
|
|
30128
|
+
apiBaseUrl: z51.string().optional(),
|
|
30103
30129
|
stage: previewStageSchema.optional(),
|
|
30104
30130
|
layout: eventLayoutSchema.optional(),
|
|
30105
30131
|
columns: columnOptionSchema.optional(),
|
|
30106
|
-
eventsPerPage:
|
|
30107
|
-
paginationMode:
|
|
30108
|
-
seeAllUrl:
|
|
30109
|
-
loadMoreText:
|
|
30132
|
+
eventsPerPage: z51.string().optional(),
|
|
30133
|
+
paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30134
|
+
seeAllUrl: z51.string().optional(),
|
|
30135
|
+
loadMoreText: z51.string().optional(),
|
|
30110
30136
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
30111
30137
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30112
|
-
buttonText:
|
|
30113
|
-
showVenue:
|
|
30114
|
-
showMap:
|
|
30115
|
-
showCapacity:
|
|
30116
|
-
emptyMessage:
|
|
30117
|
-
className:
|
|
30118
|
-
showFilters:
|
|
30138
|
+
buttonText: z51.string().optional(),
|
|
30139
|
+
showVenue: z51.boolean().optional(),
|
|
30140
|
+
showMap: z51.boolean().optional(),
|
|
30141
|
+
showCapacity: z51.boolean().optional(),
|
|
30142
|
+
emptyMessage: z51.string().optional(),
|
|
30143
|
+
className: z51.string().optional(),
|
|
30144
|
+
showFilters: z51.boolean().nullable().optional(),
|
|
30119
30145
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30120
|
-
showVenueFilter:
|
|
30121
|
-
showStaffFilter:
|
|
30146
|
+
showVenueFilter: z51.boolean().nullable().optional(),
|
|
30147
|
+
showStaffFilter: z51.boolean().nullable().optional(),
|
|
30122
30148
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
30123
30149
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
30124
|
-
filterEventPresets:
|
|
30150
|
+
filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
|
|
30125
30151
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
30126
|
-
filterCategoryIds:
|
|
30127
|
-
filterStaffMemberId:
|
|
30128
|
-
filterVenueId:
|
|
30152
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
30153
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
30154
|
+
filterVenueId: z51.string().nullable().optional()
|
|
30129
30155
|
});
|
|
30130
|
-
var eventListingDisplaySchema =
|
|
30131
|
-
kind:
|
|
30132
|
-
state:
|
|
30156
|
+
var eventListingDisplaySchema = z51.object({
|
|
30157
|
+
kind: z51.literal("event-listing"),
|
|
30158
|
+
state: z51.enum(["loading", "empty", "ready"]),
|
|
30133
30159
|
listLayout: eventLayoutSchema,
|
|
30134
|
-
className:
|
|
30135
|
-
emptyMessage:
|
|
30136
|
-
loadingMessage:
|
|
30137
|
-
containerClass:
|
|
30160
|
+
className: z51.string().nullable(),
|
|
30161
|
+
emptyMessage: z51.string(),
|
|
30162
|
+
loadingMessage: z51.string(),
|
|
30163
|
+
containerClass: z51.string(),
|
|
30138
30164
|
cardVariant: cardVariantRoleSchema,
|
|
30139
30165
|
buttonVariant: eventButtonVariantSchema,
|
|
30140
|
-
buttonText:
|
|
30141
|
-
showVenue:
|
|
30142
|
-
showMap:
|
|
30143
|
-
showCapacity:
|
|
30166
|
+
buttonText: z51.string(),
|
|
30167
|
+
showVenue: z51.boolean(),
|
|
30168
|
+
showMap: z51.boolean(),
|
|
30169
|
+
showCapacity: z51.boolean(),
|
|
30144
30170
|
orientation: cardOrientationSchema,
|
|
30145
|
-
events:
|
|
30171
|
+
events: z51.array(publicEventSchema)
|
|
30146
30172
|
});
|
|
30147
|
-
var eventListingHydrationSchema =
|
|
30148
|
-
siteId:
|
|
30173
|
+
var eventListingHydrationSchema = z51.object({
|
|
30174
|
+
siteId: z51.string(),
|
|
30149
30175
|
stage: previewStageSchema.optional(),
|
|
30150
30176
|
eventsPerPage: eventPageSizeSchema,
|
|
30151
30177
|
paginationAction: eventListPaginationActionSchema,
|
|
30152
|
-
showFilters:
|
|
30178
|
+
showFilters: z51.boolean(),
|
|
30153
30179
|
showCategoryFilter: filterAutoShowSchema,
|
|
30154
|
-
showVenueFilter:
|
|
30155
|
-
showStaffFilter:
|
|
30180
|
+
showVenueFilter: z51.boolean(),
|
|
30181
|
+
showStaffFilter: z51.boolean(),
|
|
30156
30182
|
eventKind: eventBlockKindSchema,
|
|
30157
30183
|
eventSurface: eventSurfaceScopeSchema,
|
|
30158
|
-
filterEventPresets:
|
|
30184
|
+
filterEventPresets: z51.string().nullable(),
|
|
30159
30185
|
scheduleScope: eventScheduleScopeSchema2,
|
|
30160
|
-
filterCategoryIds:
|
|
30161
|
-
filterStaffMemberId:
|
|
30162
|
-
filterVenueId:
|
|
30163
|
-
fetchInitialEventsOnMount:
|
|
30186
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
30187
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
30188
|
+
filterVenueId: z51.string().nullable().optional(),
|
|
30189
|
+
fetchInitialEventsOnMount: z51.boolean()
|
|
30164
30190
|
});
|
|
30165
|
-
var eventListingRenderSchema =
|
|
30191
|
+
var eventListingRenderSchema = z51.object({
|
|
30166
30192
|
display: eventListingDisplaySchema,
|
|
30167
30193
|
hydration: eventListingHydrationSchema
|
|
30168
30194
|
});
|
|
30169
30195
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
30170
|
-
|
|
30171
|
-
siteId:
|
|
30172
|
-
apiBaseUrl:
|
|
30196
|
+
z51.object({
|
|
30197
|
+
siteId: z51.string(),
|
|
30198
|
+
apiBaseUrl: z51.string().optional(),
|
|
30173
30199
|
stage: previewStageSchema.optional()
|
|
30174
30200
|
})
|
|
30175
30201
|
);
|
|
@@ -30536,15 +30562,15 @@ var eventListingBlockDefinition = {
|
|
|
30536
30562
|
};
|
|
30537
30563
|
|
|
30538
30564
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30539
|
-
import { z as
|
|
30540
|
-
var eventBlockKindSchema2 =
|
|
30541
|
-
var eventSurfaceScopeSchema2 =
|
|
30542
|
-
var eventScheduleScopeSchema3 =
|
|
30543
|
-
var eventCalendarSourceSchema =
|
|
30565
|
+
import { z as z52 } from "zod";
|
|
30566
|
+
var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
|
|
30567
|
+
var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
|
|
30568
|
+
var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
|
|
30569
|
+
var eventCalendarSourceSchema = z52.object(
|
|
30544
30570
|
{
|
|
30545
|
-
events:
|
|
30546
|
-
siteId:
|
|
30547
|
-
apiBaseUrl:
|
|
30571
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
30572
|
+
siteId: z52.string(),
|
|
30573
|
+
apiBaseUrl: z52.string().optional(),
|
|
30548
30574
|
stage: previewStageSchema.optional(),
|
|
30549
30575
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
30550
30576
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -30552,78 +30578,80 @@ var eventCalendarSourceSchema = z53.object(
|
|
|
30552
30578
|
listColumns: columnOptionSchema.optional(),
|
|
30553
30579
|
layout: eventLayoutSchema.optional(),
|
|
30554
30580
|
columns: columnOptionSchema.optional(),
|
|
30555
|
-
eventsPerPage:
|
|
30556
|
-
paginationMode:
|
|
30557
|
-
seeAllUrl:
|
|
30558
|
-
loadMoreText:
|
|
30581
|
+
eventsPerPage: z52.string().optional(),
|
|
30582
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30583
|
+
seeAllUrl: z52.string().optional(),
|
|
30584
|
+
loadMoreText: z52.string().optional(),
|
|
30559
30585
|
startOfWeek: weekStartSchema.optional(),
|
|
30560
30586
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
30561
|
-
|
|
30587
|
+
defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
|
|
30588
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
30562
30589
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30563
|
-
showVenueFilter:
|
|
30564
|
-
showStaffFilter:
|
|
30590
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
30591
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
30565
30592
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
30566
30593
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
30567
|
-
filterEventPresets:
|
|
30594
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30568
30595
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
30569
|
-
filterCategoryIds:
|
|
30570
|
-
filterStaffMemberId:
|
|
30571
|
-
filterVenueId:
|
|
30596
|
+
filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30597
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30598
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
30572
30599
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30573
|
-
buttonText:
|
|
30574
|
-
showVenue:
|
|
30575
|
-
showMap:
|
|
30576
|
-
showCapacity:
|
|
30577
|
-
emptyMessage:
|
|
30578
|
-
className:
|
|
30600
|
+
buttonText: z52.string().optional(),
|
|
30601
|
+
showVenue: z52.boolean().nullable().optional(),
|
|
30602
|
+
showMap: z52.boolean().nullable().optional(),
|
|
30603
|
+
showCapacity: z52.boolean().nullable().optional(),
|
|
30604
|
+
emptyMessage: z52.string().optional(),
|
|
30605
|
+
className: z52.string().optional()
|
|
30579
30606
|
}
|
|
30580
30607
|
);
|
|
30581
|
-
var eventCalendarDisplaySchema =
|
|
30582
|
-
kind:
|
|
30608
|
+
var eventCalendarDisplaySchema = z52.object({
|
|
30609
|
+
kind: z52.literal("event-calendar"),
|
|
30583
30610
|
displayMode: eventCalendarDisplayModeSchema,
|
|
30584
|
-
className:
|
|
30585
|
-
events:
|
|
30611
|
+
className: z52.string().nullable(),
|
|
30612
|
+
events: z52.array(publicEventSchema),
|
|
30586
30613
|
listLayout: eventLayoutSchema,
|
|
30587
30614
|
listColumns: columnOptionSchema,
|
|
30588
30615
|
eventsPerPage: eventPageSizeSchema,
|
|
30589
30616
|
paginationAction: eventListPaginationActionSchema,
|
|
30590
30617
|
startOfWeek: weekStartSchema,
|
|
30591
30618
|
calendarTabViews: calendarTabViewsSchema,
|
|
30592
|
-
|
|
30619
|
+
defaultCalendarView: eventCalendarDefaultViewSchema,
|
|
30620
|
+
showFilters: z52.boolean(),
|
|
30593
30621
|
showCategoryFilter: filterAutoShowSchema,
|
|
30594
|
-
showVenueFilter:
|
|
30595
|
-
showStaffFilter:
|
|
30622
|
+
showVenueFilter: z52.boolean(),
|
|
30623
|
+
showStaffFilter: z52.boolean(),
|
|
30596
30624
|
eventKind: eventBlockKindSchema2,
|
|
30597
30625
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30598
|
-
filterEventPresets:
|
|
30626
|
+
filterEventPresets: z52.string().nullable(),
|
|
30599
30627
|
scheduleScope: eventScheduleScopeSchema3,
|
|
30600
|
-
filterCategoryIds:
|
|
30601
|
-
filterStaffMemberId:
|
|
30602
|
-
filterVenueId:
|
|
30628
|
+
filterCategoryIds: z52.string().nullable(),
|
|
30629
|
+
filterStaffMemberId: z52.string().nullable(),
|
|
30630
|
+
filterVenueId: z52.string().nullable(),
|
|
30603
30631
|
buttonVariant: eventButtonVariantSchema,
|
|
30604
|
-
buttonText:
|
|
30605
|
-
showVenue:
|
|
30606
|
-
showMap:
|
|
30607
|
-
showCapacity:
|
|
30608
|
-
emptyMessage:
|
|
30609
|
-
});
|
|
30610
|
-
var eventCalendarHydrationSchema =
|
|
30611
|
-
siteId:
|
|
30632
|
+
buttonText: z52.string(),
|
|
30633
|
+
showVenue: z52.boolean(),
|
|
30634
|
+
showMap: z52.boolean(),
|
|
30635
|
+
showCapacity: z52.boolean(),
|
|
30636
|
+
emptyMessage: z52.string()
|
|
30637
|
+
});
|
|
30638
|
+
var eventCalendarHydrationSchema = z52.object({
|
|
30639
|
+
siteId: z52.string(),
|
|
30612
30640
|
stage: previewStageSchema.optional(),
|
|
30613
|
-
prefetchedEvents:
|
|
30641
|
+
prefetchedEvents: z52.boolean(),
|
|
30614
30642
|
eventKind: eventBlockKindSchema2,
|
|
30615
30643
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30616
|
-
filterEventPresets:
|
|
30644
|
+
filterEventPresets: z52.string().nullable(),
|
|
30617
30645
|
scheduleScope: eventScheduleScopeSchema3
|
|
30618
30646
|
});
|
|
30619
|
-
var eventCalendarRenderSchema =
|
|
30647
|
+
var eventCalendarRenderSchema = z52.object({
|
|
30620
30648
|
display: eventCalendarDisplaySchema,
|
|
30621
30649
|
hydration: eventCalendarHydrationSchema
|
|
30622
30650
|
});
|
|
30623
30651
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
30624
|
-
|
|
30625
|
-
siteId:
|
|
30626
|
-
apiBaseUrl:
|
|
30652
|
+
z52.object({
|
|
30653
|
+
siteId: z52.string(),
|
|
30654
|
+
apiBaseUrl: z52.string().optional(),
|
|
30627
30655
|
stage: previewStageSchema.optional()
|
|
30628
30656
|
})
|
|
30629
30657
|
);
|
|
@@ -30653,6 +30681,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
30653
30681
|
}),
|
|
30654
30682
|
startOfWeek: source.startOfWeek ?? "monday",
|
|
30655
30683
|
calendarTabViews: source.calendarTabViews ?? "both",
|
|
30684
|
+
defaultCalendarView: source.defaultCalendarView ?? "month",
|
|
30656
30685
|
showFilters: source.showFilters ?? true,
|
|
30657
30686
|
showCategoryFilter: source.showCategoryFilter ?? "auto",
|
|
30658
30687
|
showVenueFilter: source.showVenueFilter ?? false,
|
|
@@ -30715,6 +30744,9 @@ function normalizeEventCalendarContent(content) {
|
|
|
30715
30744
|
...variant ? { variant } : {},
|
|
30716
30745
|
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
30717
30746
|
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
30747
|
+
defaultCalendarView: normalizeEventCalendarDefaultView(
|
|
30748
|
+
record.defaultCalendarView
|
|
30749
|
+
),
|
|
30718
30750
|
kind,
|
|
30719
30751
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
30720
30752
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -30732,6 +30764,9 @@ function normalizeEventCalendarDisplayMode(value) {
|
|
|
30732
30764
|
function normalizeEventCalendarListLayout(value) {
|
|
30733
30765
|
return isEventCalendarListLayout(value) ? value : void 0;
|
|
30734
30766
|
}
|
|
30767
|
+
function normalizeEventCalendarDefaultView(value) {
|
|
30768
|
+
return isEventCalendarDefaultView(value) ? value : void 0;
|
|
30769
|
+
}
|
|
30735
30770
|
var eventCalendarLayout = [
|
|
30736
30771
|
styledSection({
|
|
30737
30772
|
children: sectionContainer(
|
|
@@ -30791,6 +30826,9 @@ var eventCalendarLayout = [
|
|
|
30791
30826
|
calendarTabViews: {
|
|
30792
30827
|
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
30793
30828
|
},
|
|
30829
|
+
defaultCalendarView: {
|
|
30830
|
+
$bind: { from: "content.defaultCalendarView", fallback: "month" }
|
|
30831
|
+
},
|
|
30794
30832
|
// Filtering options
|
|
30795
30833
|
showFilters: {
|
|
30796
30834
|
$bind: { from: "content.showFilters", fallback: true }
|
|
@@ -30857,8 +30895,7 @@ var eventCalendarAdditionalFields = [
|
|
|
30857
30895
|
defaultValue: "combined",
|
|
30858
30896
|
options: [
|
|
30859
30897
|
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
30860
|
-
{ value: "
|
|
30861
|
-
{ value: "week", label: "Week agenda" },
|
|
30898
|
+
{ value: "calendar", label: "Calendar" },
|
|
30862
30899
|
{ value: "timetable", label: "Timetable" },
|
|
30863
30900
|
{ value: "list", label: "List" }
|
|
30864
30901
|
],
|
|
@@ -30897,7 +30934,12 @@ var eventCalendarAdditionalFields = [
|
|
|
30897
30934
|
],
|
|
30898
30935
|
ui: {
|
|
30899
30936
|
intent: "display",
|
|
30900
|
-
visibleWhen: {
|
|
30937
|
+
visibleWhen: {
|
|
30938
|
+
allOf: [
|
|
30939
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
30940
|
+
{ field: "listLayout", equals: "grid" }
|
|
30941
|
+
]
|
|
30942
|
+
}
|
|
30901
30943
|
}
|
|
30902
30944
|
},
|
|
30903
30945
|
{
|
|
@@ -30945,7 +30987,12 @@ var eventCalendarAdditionalFields = [
|
|
|
30945
30987
|
required: false,
|
|
30946
30988
|
ui: {
|
|
30947
30989
|
intent: "display",
|
|
30948
|
-
visibleWhen: {
|
|
30990
|
+
visibleWhen: {
|
|
30991
|
+
allOf: [
|
|
30992
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
30993
|
+
{ field: "paginationMode", equals: "seeAllLink" }
|
|
30994
|
+
]
|
|
30995
|
+
}
|
|
30949
30996
|
}
|
|
30950
30997
|
},
|
|
30951
30998
|
{
|
|
@@ -30978,7 +31025,7 @@ var eventCalendarAdditionalFields = [
|
|
|
30978
31025
|
intent: "display",
|
|
30979
31026
|
visibleWhen: {
|
|
30980
31027
|
field: "variant",
|
|
30981
|
-
oneOf: ["combined", "
|
|
31028
|
+
oneOf: ["combined", "calendar", "timetable"]
|
|
30982
31029
|
}
|
|
30983
31030
|
}
|
|
30984
31031
|
},
|
|
@@ -31001,6 +31048,33 @@ var eventCalendarAdditionalFields = [
|
|
|
31001
31048
|
visibleWhen: { field: "variant", equals: "combined" }
|
|
31002
31049
|
}
|
|
31003
31050
|
},
|
|
31051
|
+
{
|
|
31052
|
+
id: "defaultCalendarView",
|
|
31053
|
+
type: "select",
|
|
31054
|
+
label: "Calendar view",
|
|
31055
|
+
description: "Choose the standalone calendar view, or the first view in combined mode",
|
|
31056
|
+
required: false,
|
|
31057
|
+
multiple: false,
|
|
31058
|
+
defaultValue: "month",
|
|
31059
|
+
options: [
|
|
31060
|
+
{ value: "month", label: "Month" },
|
|
31061
|
+
{ value: "week", label: "Week" }
|
|
31062
|
+
],
|
|
31063
|
+
ui: {
|
|
31064
|
+
intent: "display",
|
|
31065
|
+
visibleWhen: {
|
|
31066
|
+
anyOf: [
|
|
31067
|
+
{ field: "variant", equals: "calendar" },
|
|
31068
|
+
{
|
|
31069
|
+
allOf: [
|
|
31070
|
+
{ field: "variant", equals: "combined" },
|
|
31071
|
+
{ field: "calendarTabViews", equals: "both" }
|
|
31072
|
+
]
|
|
31073
|
+
}
|
|
31074
|
+
]
|
|
31075
|
+
}
|
|
31076
|
+
}
|
|
31077
|
+
},
|
|
31004
31078
|
// Filtering options
|
|
31005
31079
|
{
|
|
31006
31080
|
id: "kind",
|
|
@@ -31028,7 +31102,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31028
31102
|
intent: "display",
|
|
31029
31103
|
visibleWhen: {
|
|
31030
31104
|
field: "variant",
|
|
31031
|
-
oneOf: ["combined", "list", "timetable"]
|
|
31105
|
+
oneOf: ["combined", "calendar", "list", "timetable"]
|
|
31032
31106
|
}
|
|
31033
31107
|
}
|
|
31034
31108
|
},
|
|
@@ -31048,8 +31122,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31048
31122
|
ui: {
|
|
31049
31123
|
intent: "display",
|
|
31050
31124
|
visibleWhen: {
|
|
31051
|
-
|
|
31052
|
-
|
|
31125
|
+
allOf: [
|
|
31126
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31127
|
+
{ field: "showFilters", equals: true }
|
|
31128
|
+
]
|
|
31053
31129
|
}
|
|
31054
31130
|
}
|
|
31055
31131
|
},
|
|
@@ -31063,8 +31139,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31063
31139
|
ui: {
|
|
31064
31140
|
intent: "display",
|
|
31065
31141
|
visibleWhen: {
|
|
31066
|
-
|
|
31067
|
-
|
|
31142
|
+
allOf: [
|
|
31143
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31144
|
+
{ field: "showFilters", equals: true }
|
|
31145
|
+
]
|
|
31068
31146
|
}
|
|
31069
31147
|
}
|
|
31070
31148
|
},
|
|
@@ -31078,8 +31156,10 @@ var eventCalendarAdditionalFields = [
|
|
|
31078
31156
|
ui: {
|
|
31079
31157
|
intent: "display",
|
|
31080
31158
|
visibleWhen: {
|
|
31081
|
-
|
|
31082
|
-
|
|
31159
|
+
allOf: [
|
|
31160
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
31161
|
+
{ field: "showFilters", equals: true }
|
|
31162
|
+
]
|
|
31083
31163
|
}
|
|
31084
31164
|
}
|
|
31085
31165
|
},
|
|
@@ -31093,8 +31173,15 @@ var eventCalendarAdditionalFields = [
|
|
|
31093
31173
|
ui: {
|
|
31094
31174
|
intent: "display",
|
|
31095
31175
|
visibleWhen: {
|
|
31096
|
-
|
|
31097
|
-
|
|
31176
|
+
anyOf: [
|
|
31177
|
+
{ field: "variant", oneOf: ["combined", "list", "timetable"] },
|
|
31178
|
+
{
|
|
31179
|
+
allOf: [
|
|
31180
|
+
{ field: "variant", equals: "calendar" },
|
|
31181
|
+
{ field: "defaultCalendarView", equals: "week" }
|
|
31182
|
+
]
|
|
31183
|
+
}
|
|
31184
|
+
]
|
|
31098
31185
|
}
|
|
31099
31186
|
}
|
|
31100
31187
|
},
|
|
@@ -31210,8 +31297,7 @@ var eventCalendarAdditionalFields = [
|
|
|
31210
31297
|
];
|
|
31211
31298
|
var eventCalendarVariants = {
|
|
31212
31299
|
combined: eventCalendarLayout[0],
|
|
31213
|
-
|
|
31214
|
-
week: eventCalendarLayout[0],
|
|
31300
|
+
calendar: eventCalendarLayout[0],
|
|
31215
31301
|
timetable: eventCalendarLayout[0],
|
|
31216
31302
|
list: eventCalendarLayout[0]
|
|
31217
31303
|
};
|
|
@@ -31223,8 +31309,7 @@ var eventCalendarDerivedFields = [
|
|
|
31223
31309
|
multiple: false,
|
|
31224
31310
|
options: [
|
|
31225
31311
|
{ value: "combined" },
|
|
31226
|
-
{ value: "
|
|
31227
|
-
{ value: "week" },
|
|
31312
|
+
{ value: "calendar" },
|
|
31228
31313
|
{ value: "timetable" },
|
|
31229
31314
|
{ value: "list" }
|
|
31230
31315
|
]
|
|
@@ -31237,6 +31322,13 @@ var eventCalendarDerivedFields = [
|
|
|
31237
31322
|
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
31238
31323
|
value: option.id
|
|
31239
31324
|
}))
|
|
31325
|
+
},
|
|
31326
|
+
{
|
|
31327
|
+
id: "defaultCalendarView",
|
|
31328
|
+
type: "select",
|
|
31329
|
+
required: false,
|
|
31330
|
+
multiple: false,
|
|
31331
|
+
options: [{ value: "month" }, { value: "week" }]
|
|
31240
31332
|
}
|
|
31241
31333
|
];
|
|
31242
31334
|
var eventCalendarContentShape = {
|
|
@@ -31285,8 +31377,7 @@ var eventCalendarConfig = {
|
|
|
31285
31377
|
defaultVariant: "combined",
|
|
31286
31378
|
variantOptions: {
|
|
31287
31379
|
combined: { label: "Combined" },
|
|
31288
|
-
|
|
31289
|
-
week: { label: "Week" },
|
|
31380
|
+
calendar: { label: "Calendar" },
|
|
31290
31381
|
timetable: { label: "Timetable" },
|
|
31291
31382
|
list: { label: "List" }
|
|
31292
31383
|
}
|
|
@@ -31332,7 +31423,7 @@ var eventCalendarBlockDefinition = {
|
|
|
31332
31423
|
};
|
|
31333
31424
|
|
|
31334
31425
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31335
|
-
import { z as
|
|
31426
|
+
import { z as z53 } from "zod";
|
|
31336
31427
|
|
|
31337
31428
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
31338
31429
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -31424,13 +31515,13 @@ function isRecord5(value) {
|
|
|
31424
31515
|
}
|
|
31425
31516
|
|
|
31426
31517
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31427
|
-
var publicRouteCandidatesSchema =
|
|
31428
|
-
routes:
|
|
31429
|
-
entityId:
|
|
31430
|
-
path:
|
|
31431
|
-
title:
|
|
31432
|
-
kind:
|
|
31433
|
-
contentTypeKey:
|
|
31518
|
+
var publicRouteCandidatesSchema = z53.object({
|
|
31519
|
+
routes: z53.array(z53.object({
|
|
31520
|
+
entityId: z53.string(),
|
|
31521
|
+
path: z53.string(),
|
|
31522
|
+
title: z53.string(),
|
|
31523
|
+
kind: z53.enum(["page", "content"]),
|
|
31524
|
+
contentTypeKey: z53.string().nullable().optional()
|
|
31434
31525
|
}))
|
|
31435
31526
|
});
|
|
31436
31527
|
var groupOverrideFields = [
|
|
@@ -31828,7 +31919,7 @@ function isRecord6(value) {
|
|
|
31828
31919
|
}
|
|
31829
31920
|
|
|
31830
31921
|
// ../blocks/src/system/blocks/embed.ts
|
|
31831
|
-
import { z as
|
|
31922
|
+
import { z as z54 } from "zod";
|
|
31832
31923
|
var embedFields = [
|
|
31833
31924
|
// Section heading
|
|
31834
31925
|
parseFieldDefinition({
|
|
@@ -32059,18 +32150,18 @@ var embedManifest = createBlockManifest({
|
|
|
32059
32150
|
spacing: "lg"
|
|
32060
32151
|
}
|
|
32061
32152
|
});
|
|
32062
|
-
var embedEntrySchema =
|
|
32063
|
-
id:
|
|
32064
|
-
identifier:
|
|
32065
|
-
title:
|
|
32066
|
-
slug:
|
|
32067
|
-
content:
|
|
32068
|
-
publishedAt:
|
|
32153
|
+
var embedEntrySchema = z54.object({
|
|
32154
|
+
id: z54.string(),
|
|
32155
|
+
identifier: z54.string(),
|
|
32156
|
+
title: z54.string(),
|
|
32157
|
+
slug: z54.string().nullable().optional(),
|
|
32158
|
+
content: z54.record(z54.string(), z54.unknown()).optional(),
|
|
32159
|
+
publishedAt: z54.string().nullable().optional()
|
|
32069
32160
|
});
|
|
32070
32161
|
var embedBlockDefinition = {
|
|
32071
32162
|
manifest: embedManifest,
|
|
32072
32163
|
dataSchemas: {
|
|
32073
|
-
entries:
|
|
32164
|
+
entries: z54.array(embedEntrySchema).optional()
|
|
32074
32165
|
},
|
|
32075
32166
|
dataLoaders: {
|
|
32076
32167
|
entries: {
|
|
@@ -33253,53 +33344,50 @@ var fileDownloadBlockDefinition = {
|
|
|
33253
33344
|
manifest: fileDownloadManifest
|
|
33254
33345
|
};
|
|
33255
33346
|
|
|
33256
|
-
// ../blocks/src/system/blocks/shop.ts
|
|
33257
|
-
import { z as z59 } from "zod";
|
|
33258
|
-
|
|
33259
33347
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33260
|
-
import { z as
|
|
33348
|
+
import { z as z57 } from "zod";
|
|
33261
33349
|
|
|
33262
33350
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
33263
|
-
import { z as
|
|
33264
|
-
var publicProductVariantSchema =
|
|
33265
|
-
id:
|
|
33266
|
-
title:
|
|
33267
|
-
sku:
|
|
33268
|
-
priceCents:
|
|
33269
|
-
stockQuantity:
|
|
33270
|
-
soldOut:
|
|
33271
|
-
});
|
|
33272
|
-
var publicProductSchema =
|
|
33273
|
-
id:
|
|
33274
|
-
contentEntryId:
|
|
33275
|
-
title:
|
|
33276
|
-
slug:
|
|
33277
|
-
path:
|
|
33278
|
-
status:
|
|
33279
|
-
priceCents:
|
|
33280
|
-
currency:
|
|
33281
|
-
productType:
|
|
33282
|
-
requiresShipping:
|
|
33283
|
-
hasVariants:
|
|
33284
|
-
trackInventory:
|
|
33285
|
-
soldOut:
|
|
33286
|
-
category:
|
|
33287
|
-
id:
|
|
33288
|
-
name:
|
|
33289
|
-
slug:
|
|
33351
|
+
import { z as z55 } from "zod";
|
|
33352
|
+
var publicProductVariantSchema = z55.object({
|
|
33353
|
+
id: z55.string(),
|
|
33354
|
+
title: z55.string(),
|
|
33355
|
+
sku: z55.string().nullable(),
|
|
33356
|
+
priceCents: z55.number(),
|
|
33357
|
+
stockQuantity: z55.number().nullable(),
|
|
33358
|
+
soldOut: z55.boolean()
|
|
33359
|
+
});
|
|
33360
|
+
var publicProductSchema = z55.object({
|
|
33361
|
+
id: z55.string(),
|
|
33362
|
+
contentEntryId: z55.string().nullable(),
|
|
33363
|
+
title: z55.string(),
|
|
33364
|
+
slug: z55.string(),
|
|
33365
|
+
path: z55.string().nullable(),
|
|
33366
|
+
status: z55.enum(["draft", "active"]),
|
|
33367
|
+
priceCents: z55.number(),
|
|
33368
|
+
currency: z55.string(),
|
|
33369
|
+
productType: z55.enum(["physical", "digital"]),
|
|
33370
|
+
requiresShipping: z55.boolean(),
|
|
33371
|
+
hasVariants: z55.boolean(),
|
|
33372
|
+
trackInventory: z55.boolean(),
|
|
33373
|
+
soldOut: z55.boolean(),
|
|
33374
|
+
category: z55.object({
|
|
33375
|
+
id: z55.string(),
|
|
33376
|
+
name: z55.string(),
|
|
33377
|
+
slug: z55.string()
|
|
33290
33378
|
}).nullable(),
|
|
33291
|
-
summary:
|
|
33292
|
-
body:
|
|
33293
|
-
gallery:
|
|
33294
|
-
|
|
33295
|
-
url:
|
|
33296
|
-
alt:
|
|
33379
|
+
summary: z55.string().nullable(),
|
|
33380
|
+
body: z55.unknown().nullable(),
|
|
33381
|
+
gallery: z55.array(
|
|
33382
|
+
z55.object({
|
|
33383
|
+
url: z55.string(),
|
|
33384
|
+
alt: z55.string().nullable()
|
|
33297
33385
|
})
|
|
33298
33386
|
),
|
|
33299
|
-
variants:
|
|
33387
|
+
variants: z55.array(publicProductVariantSchema)
|
|
33300
33388
|
});
|
|
33301
|
-
var publicProductsResponseSchema =
|
|
33302
|
-
products:
|
|
33389
|
+
var publicProductsResponseSchema = z55.object({
|
|
33390
|
+
products: z55.array(publicProductSchema)
|
|
33303
33391
|
});
|
|
33304
33392
|
|
|
33305
33393
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -33363,27 +33451,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
33363
33451
|
}
|
|
33364
33452
|
|
|
33365
33453
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
33366
|
-
import { z as
|
|
33367
|
-
var storedProductCartItemSchema =
|
|
33368
|
-
kind:
|
|
33369
|
-
productId:
|
|
33370
|
-
productCategoryId:
|
|
33371
|
-
variantId:
|
|
33372
|
-
title:
|
|
33373
|
-
variantTitle:
|
|
33374
|
-
quantity:
|
|
33375
|
-
unitPriceCents:
|
|
33376
|
-
currency:
|
|
33377
|
-
imageUrl:
|
|
33378
|
-
soldOut:
|
|
33379
|
-
});
|
|
33380
|
-
var storedPassCartItemSchema =
|
|
33381
|
-
kind:
|
|
33382
|
-
passId:
|
|
33383
|
-
title:
|
|
33384
|
-
quantity:
|
|
33385
|
-
unitPriceCents:
|
|
33386
|
-
currency:
|
|
33454
|
+
import { z as z56 } from "zod";
|
|
33455
|
+
var storedProductCartItemSchema = z56.object({
|
|
33456
|
+
kind: z56.literal("product"),
|
|
33457
|
+
productId: z56.string().min(1),
|
|
33458
|
+
productCategoryId: z56.string().min(1).optional().nullable(),
|
|
33459
|
+
variantId: z56.string().min(1).optional().nullable(),
|
|
33460
|
+
title: z56.string().min(1),
|
|
33461
|
+
variantTitle: z56.string().optional().nullable(),
|
|
33462
|
+
quantity: z56.number().finite(),
|
|
33463
|
+
unitPriceCents: z56.number().finite(),
|
|
33464
|
+
currency: z56.string().min(1),
|
|
33465
|
+
imageUrl: z56.string().optional().nullable(),
|
|
33466
|
+
soldOut: z56.boolean().optional()
|
|
33467
|
+
});
|
|
33468
|
+
var storedPassCartItemSchema = z56.object({
|
|
33469
|
+
kind: z56.literal("pass"),
|
|
33470
|
+
passId: z56.string().min(1),
|
|
33471
|
+
title: z56.string().min(1),
|
|
33472
|
+
quantity: z56.number().finite().optional(),
|
|
33473
|
+
unitPriceCents: z56.number().finite(),
|
|
33474
|
+
currency: z56.string().min(1)
|
|
33387
33475
|
});
|
|
33388
33476
|
function deriveCommerceCheckoutState(state) {
|
|
33389
33477
|
if (state.items.length === 0) {
|
|
@@ -33617,214 +33705,214 @@ function formatValidity(days) {
|
|
|
33617
33705
|
}
|
|
33618
33706
|
|
|
33619
33707
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33620
|
-
var shopModeSchema =
|
|
33621
|
-
var contentEntrySchema3 =
|
|
33622
|
-
id:
|
|
33623
|
-
slug:
|
|
33708
|
+
var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
33709
|
+
var contentEntrySchema3 = z57.object({
|
|
33710
|
+
id: z57.string().nullable().optional(),
|
|
33711
|
+
slug: z57.string().nullable().optional()
|
|
33624
33712
|
}).nullable();
|
|
33625
|
-
var shopSourceSchema =
|
|
33626
|
-
className:
|
|
33713
|
+
var shopSourceSchema = z57.object({
|
|
33714
|
+
className: z57.string().nullable().optional(),
|
|
33627
33715
|
mode: shopModeSchema.optional(),
|
|
33628
|
-
heading:
|
|
33629
|
-
productSlug:
|
|
33630
|
-
showPasses:
|
|
33631
|
-
showMemberships:
|
|
33632
|
-
layout:
|
|
33633
|
-
columns:
|
|
33634
|
-
showDescriptions:
|
|
33635
|
-
showSummary:
|
|
33636
|
-
showBody:
|
|
33637
|
-
showPrices:
|
|
33638
|
-
showValidityPeriod:
|
|
33639
|
-
showPricePerCredit:
|
|
33640
|
-
passesHeading:
|
|
33641
|
-
membershipsHeading:
|
|
33642
|
-
buyButtonText:
|
|
33643
|
-
addButtonText:
|
|
33644
|
-
passPurchaseMode:
|
|
33645
|
-
subscribeButtonText:
|
|
33646
|
-
emptyStateText:
|
|
33647
|
-
checkoutButtonText:
|
|
33648
|
-
clearButtonText:
|
|
33649
|
-
submitButtonText:
|
|
33716
|
+
heading: z57.string().nullable().optional(),
|
|
33717
|
+
productSlug: z57.string().nullable().optional(),
|
|
33718
|
+
showPasses: z57.boolean().optional(),
|
|
33719
|
+
showMemberships: z57.boolean().optional(),
|
|
33720
|
+
layout: z57.enum(["grid", "list"]).optional(),
|
|
33721
|
+
columns: z57.string().optional(),
|
|
33722
|
+
showDescriptions: z57.boolean().optional(),
|
|
33723
|
+
showSummary: z57.boolean().optional(),
|
|
33724
|
+
showBody: z57.boolean().optional(),
|
|
33725
|
+
showPrices: z57.boolean().optional(),
|
|
33726
|
+
showValidityPeriod: z57.boolean().optional(),
|
|
33727
|
+
showPricePerCredit: z57.boolean().nullable().optional(),
|
|
33728
|
+
passesHeading: z57.string().optional(),
|
|
33729
|
+
membershipsHeading: z57.string().optional(),
|
|
33730
|
+
buyButtonText: z57.string().optional(),
|
|
33731
|
+
addButtonText: z57.string().optional(),
|
|
33732
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
|
|
33733
|
+
subscribeButtonText: z57.string().optional(),
|
|
33734
|
+
emptyStateText: z57.string().optional(),
|
|
33735
|
+
checkoutButtonText: z57.string().optional(),
|
|
33736
|
+
clearButtonText: z57.string().optional(),
|
|
33737
|
+
submitButtonText: z57.string().optional(),
|
|
33650
33738
|
contentEntry: contentEntrySchema3.optional(),
|
|
33651
|
-
passes:
|
|
33652
|
-
memberships:
|
|
33653
|
-
products:
|
|
33654
|
-
siteId:
|
|
33655
|
-
apiBaseUrl:
|
|
33739
|
+
passes: z57.array(publicPassProductSchema).nullable().optional(),
|
|
33740
|
+
memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
|
|
33741
|
+
products: z57.array(publicProductSchema).nullable().optional(),
|
|
33742
|
+
siteId: z57.string().optional(),
|
|
33743
|
+
apiBaseUrl: z57.string().optional(),
|
|
33656
33744
|
stage: previewStageSchema.optional()
|
|
33657
33745
|
});
|
|
33658
|
-
var productVariantOptionDisplaySchema =
|
|
33659
|
-
id:
|
|
33660
|
-
label:
|
|
33661
|
-
soldOut:
|
|
33662
|
-
});
|
|
33663
|
-
var productCardDisplaySchema =
|
|
33664
|
-
productId:
|
|
33665
|
-
title:
|
|
33666
|
-
path:
|
|
33667
|
-
summary:
|
|
33668
|
-
priceLabel:
|
|
33669
|
-
image:
|
|
33670
|
-
url:
|
|
33671
|
-
alt:
|
|
33746
|
+
var productVariantOptionDisplaySchema = z57.object({
|
|
33747
|
+
id: z57.string(),
|
|
33748
|
+
label: z57.string(),
|
|
33749
|
+
soldOut: z57.boolean()
|
|
33750
|
+
});
|
|
33751
|
+
var productCardDisplaySchema = z57.object({
|
|
33752
|
+
productId: z57.string(),
|
|
33753
|
+
title: z57.string(),
|
|
33754
|
+
path: z57.string().nullable(),
|
|
33755
|
+
summary: z57.string().nullable(),
|
|
33756
|
+
priceLabel: z57.string().nullable(),
|
|
33757
|
+
image: z57.object({
|
|
33758
|
+
url: z57.string(),
|
|
33759
|
+
alt: z57.string().nullable()
|
|
33672
33760
|
}).nullable(),
|
|
33673
|
-
variantOptions:
|
|
33674
|
-
selectedVariantId:
|
|
33675
|
-
selectionLabel:
|
|
33676
|
-
actionLabel:
|
|
33677
|
-
soldOut:
|
|
33678
|
-
});
|
|
33679
|
-
var productListDisplaySchema =
|
|
33680
|
-
kind:
|
|
33681
|
-
state:
|
|
33682
|
-
heading:
|
|
33683
|
-
className:
|
|
33684
|
-
layout:
|
|
33685
|
-
columns:
|
|
33686
|
-
emptyMessage:
|
|
33687
|
-
cards:
|
|
33688
|
-
});
|
|
33689
|
-
var productDetailDisplaySchema =
|
|
33690
|
-
|
|
33691
|
-
kind:
|
|
33692
|
-
state:
|
|
33693
|
-
heading:
|
|
33694
|
-
className:
|
|
33695
|
-
emptyMessage:
|
|
33761
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
33762
|
+
selectedVariantId: z57.string().nullable(),
|
|
33763
|
+
selectionLabel: z57.string(),
|
|
33764
|
+
actionLabel: z57.string(),
|
|
33765
|
+
soldOut: z57.boolean()
|
|
33766
|
+
});
|
|
33767
|
+
var productListDisplaySchema = z57.object({
|
|
33768
|
+
kind: z57.literal("product-list"),
|
|
33769
|
+
state: z57.enum(["empty", "ready"]),
|
|
33770
|
+
heading: z57.string().nullable(),
|
|
33771
|
+
className: z57.string().nullable(),
|
|
33772
|
+
layout: z57.enum(["grid", "list"]),
|
|
33773
|
+
columns: z57.string(),
|
|
33774
|
+
emptyMessage: z57.string(),
|
|
33775
|
+
cards: z57.array(productCardDisplaySchema)
|
|
33776
|
+
});
|
|
33777
|
+
var productDetailDisplaySchema = z57.discriminatedUnion("state", [
|
|
33778
|
+
z57.object({
|
|
33779
|
+
kind: z57.literal("product-detail"),
|
|
33780
|
+
state: z57.literal("empty"),
|
|
33781
|
+
heading: z57.string().nullable(),
|
|
33782
|
+
className: z57.string().nullable(),
|
|
33783
|
+
emptyMessage: z57.string()
|
|
33696
33784
|
}),
|
|
33697
|
-
|
|
33698
|
-
kind:
|
|
33699
|
-
state:
|
|
33700
|
-
heading:
|
|
33701
|
-
className:
|
|
33702
|
-
title:
|
|
33703
|
-
priceLabel:
|
|
33704
|
-
summary:
|
|
33705
|
-
categoryLabel:
|
|
33706
|
-
gallery:
|
|
33707
|
-
url:
|
|
33708
|
-
alt:
|
|
33785
|
+
z57.object({
|
|
33786
|
+
kind: z57.literal("product-detail"),
|
|
33787
|
+
state: z57.literal("ready"),
|
|
33788
|
+
heading: z57.string().nullable(),
|
|
33789
|
+
className: z57.string().nullable(),
|
|
33790
|
+
title: z57.string(),
|
|
33791
|
+
priceLabel: z57.string(),
|
|
33792
|
+
summary: z57.string().nullable(),
|
|
33793
|
+
categoryLabel: z57.string().nullable(),
|
|
33794
|
+
gallery: z57.array(z57.object({
|
|
33795
|
+
url: z57.string(),
|
|
33796
|
+
alt: z57.string().nullable()
|
|
33709
33797
|
})),
|
|
33710
|
-
variantOptions:
|
|
33711
|
-
selectedVariantId:
|
|
33712
|
-
selectionLabel:
|
|
33713
|
-
actionLabel:
|
|
33714
|
-
soldOut:
|
|
33715
|
-
body:
|
|
33798
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
33799
|
+
selectedVariantId: z57.string().nullable(),
|
|
33800
|
+
selectionLabel: z57.string(),
|
|
33801
|
+
actionLabel: z57.string(),
|
|
33802
|
+
soldOut: z57.boolean(),
|
|
33803
|
+
body: z57.unknown().nullable()
|
|
33716
33804
|
})
|
|
33717
33805
|
]);
|
|
33718
|
-
var passCardDisplaySchema =
|
|
33719
|
-
id:
|
|
33720
|
-
title:
|
|
33721
|
-
description:
|
|
33722
|
-
priceLabel:
|
|
33723
|
-
creditsLabel:
|
|
33724
|
-
perCreditLabel:
|
|
33725
|
-
validityLabel:
|
|
33726
|
-
actionLabel:
|
|
33727
|
-
});
|
|
33728
|
-
var membershipCardDisplaySchema =
|
|
33729
|
-
id:
|
|
33730
|
-
title:
|
|
33731
|
-
description:
|
|
33732
|
-
priceLabel:
|
|
33733
|
-
intervalLabel:
|
|
33734
|
-
actionLabel:
|
|
33735
|
-
});
|
|
33736
|
-
var passesMembershipsDisplaySchema =
|
|
33737
|
-
kind:
|
|
33738
|
-
state:
|
|
33739
|
-
className:
|
|
33740
|
-
layout:
|
|
33741
|
-
columns:
|
|
33742
|
-
emptyMessage:
|
|
33743
|
-
passesHeading:
|
|
33744
|
-
membershipsHeading:
|
|
33745
|
-
passes:
|
|
33746
|
-
memberships:
|
|
33747
|
-
});
|
|
33748
|
-
var cartLineDisplaySchema =
|
|
33749
|
-
key:
|
|
33750
|
-
title:
|
|
33751
|
-
priceLabel:
|
|
33752
|
-
quantity:
|
|
33753
|
-
quantityEditable:
|
|
33754
|
-
});
|
|
33755
|
-
var cartDisplaySchema =
|
|
33756
|
-
kind:
|
|
33757
|
-
state:
|
|
33758
|
-
heading:
|
|
33759
|
-
className:
|
|
33760
|
-
emptyMessage:
|
|
33761
|
-
supportText:
|
|
33762
|
-
items:
|
|
33763
|
-
subtotalLabel:
|
|
33764
|
-
checkoutButtonText:
|
|
33765
|
-
clearButtonText:
|
|
33766
|
-
});
|
|
33767
|
-
var checkoutDisplaySchema =
|
|
33768
|
-
kind:
|
|
33769
|
-
state:
|
|
33770
|
-
heading:
|
|
33771
|
-
className:
|
|
33772
|
-
message:
|
|
33773
|
-
submitButtonText:
|
|
33774
|
-
});
|
|
33775
|
-
var passesMembershipsHydrationSchema =
|
|
33776
|
-
passes:
|
|
33777
|
-
memberships:
|
|
33778
|
-
passPurchaseMode:
|
|
33779
|
-
});
|
|
33780
|
-
var productListHydrationSchema =
|
|
33781
|
-
products:
|
|
33782
|
-
showSummary:
|
|
33783
|
-
showPrices:
|
|
33784
|
-
addButtonText:
|
|
33785
|
-
});
|
|
33786
|
-
var productDetailHydrationSchema =
|
|
33787
|
-
products:
|
|
33788
|
-
productId:
|
|
33789
|
-
showSummary:
|
|
33790
|
-
showBody:
|
|
33791
|
-
addButtonText:
|
|
33792
|
-
});
|
|
33793
|
-
var cartHydrationSchema =
|
|
33794
|
-
emptyStateText:
|
|
33795
|
-
checkoutButtonText:
|
|
33796
|
-
clearButtonText:
|
|
33797
|
-
});
|
|
33798
|
-
var checkoutHydrationSchema =
|
|
33799
|
-
emptyStateText:
|
|
33800
|
-
submitButtonText:
|
|
33801
|
-
});
|
|
33802
|
-
var passesMembershipsRenderSchema =
|
|
33806
|
+
var passCardDisplaySchema = z57.object({
|
|
33807
|
+
id: z57.string(),
|
|
33808
|
+
title: z57.string(),
|
|
33809
|
+
description: z57.string().nullable(),
|
|
33810
|
+
priceLabel: z57.string(),
|
|
33811
|
+
creditsLabel: z57.string(),
|
|
33812
|
+
perCreditLabel: z57.string().nullable(),
|
|
33813
|
+
validityLabel: z57.string().nullable(),
|
|
33814
|
+
actionLabel: z57.string()
|
|
33815
|
+
});
|
|
33816
|
+
var membershipCardDisplaySchema = z57.object({
|
|
33817
|
+
id: z57.string(),
|
|
33818
|
+
title: z57.string(),
|
|
33819
|
+
description: z57.string().nullable(),
|
|
33820
|
+
priceLabel: z57.string(),
|
|
33821
|
+
intervalLabel: z57.string(),
|
|
33822
|
+
actionLabel: z57.string()
|
|
33823
|
+
});
|
|
33824
|
+
var passesMembershipsDisplaySchema = z57.object({
|
|
33825
|
+
kind: z57.literal("passes-memberships"),
|
|
33826
|
+
state: z57.enum(["empty", "ready"]),
|
|
33827
|
+
className: z57.string().nullable(),
|
|
33828
|
+
layout: z57.enum(["grid", "list"]),
|
|
33829
|
+
columns: z57.string(),
|
|
33830
|
+
emptyMessage: z57.string(),
|
|
33831
|
+
passesHeading: z57.string(),
|
|
33832
|
+
membershipsHeading: z57.string(),
|
|
33833
|
+
passes: z57.array(passCardDisplaySchema),
|
|
33834
|
+
memberships: z57.array(membershipCardDisplaySchema)
|
|
33835
|
+
});
|
|
33836
|
+
var cartLineDisplaySchema = z57.object({
|
|
33837
|
+
key: z57.string(),
|
|
33838
|
+
title: z57.string(),
|
|
33839
|
+
priceLabel: z57.string(),
|
|
33840
|
+
quantity: z57.number(),
|
|
33841
|
+
quantityEditable: z57.boolean()
|
|
33842
|
+
});
|
|
33843
|
+
var cartDisplaySchema = z57.object({
|
|
33844
|
+
kind: z57.literal("cart"),
|
|
33845
|
+
state: z57.enum(["empty", "ready"]),
|
|
33846
|
+
heading: z57.string().nullable(),
|
|
33847
|
+
className: z57.string().nullable(),
|
|
33848
|
+
emptyMessage: z57.string(),
|
|
33849
|
+
supportText: z57.string().nullable(),
|
|
33850
|
+
items: z57.array(cartLineDisplaySchema),
|
|
33851
|
+
subtotalLabel: z57.string().nullable(),
|
|
33852
|
+
checkoutButtonText: z57.string(),
|
|
33853
|
+
clearButtonText: z57.string()
|
|
33854
|
+
});
|
|
33855
|
+
var checkoutDisplaySchema = z57.object({
|
|
33856
|
+
kind: z57.literal("checkout"),
|
|
33857
|
+
state: z57.enum(["empty", "blocked", "ready"]),
|
|
33858
|
+
heading: z57.string().nullable(),
|
|
33859
|
+
className: z57.string().nullable(),
|
|
33860
|
+
message: z57.string().nullable(),
|
|
33861
|
+
submitButtonText: z57.string()
|
|
33862
|
+
});
|
|
33863
|
+
var passesMembershipsHydrationSchema = z57.object({
|
|
33864
|
+
passes: z57.array(publicPassProductSchema),
|
|
33865
|
+
memberships: z57.array(publicMembershipProductSchema),
|
|
33866
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
|
|
33867
|
+
});
|
|
33868
|
+
var productListHydrationSchema = z57.object({
|
|
33869
|
+
products: z57.array(publicProductSchema),
|
|
33870
|
+
showSummary: z57.boolean(),
|
|
33871
|
+
showPrices: z57.boolean(),
|
|
33872
|
+
addButtonText: z57.string()
|
|
33873
|
+
});
|
|
33874
|
+
var productDetailHydrationSchema = z57.object({
|
|
33875
|
+
products: z57.array(publicProductSchema),
|
|
33876
|
+
productId: z57.string().nullable(),
|
|
33877
|
+
showSummary: z57.boolean(),
|
|
33878
|
+
showBody: z57.boolean(),
|
|
33879
|
+
addButtonText: z57.string()
|
|
33880
|
+
});
|
|
33881
|
+
var cartHydrationSchema = z57.object({
|
|
33882
|
+
emptyStateText: z57.string(),
|
|
33883
|
+
checkoutButtonText: z57.string(),
|
|
33884
|
+
clearButtonText: z57.string()
|
|
33885
|
+
});
|
|
33886
|
+
var checkoutHydrationSchema = z57.object({
|
|
33887
|
+
emptyStateText: z57.string(),
|
|
33888
|
+
submitButtonText: z57.string()
|
|
33889
|
+
});
|
|
33890
|
+
var passesMembershipsRenderSchema = z57.object({
|
|
33803
33891
|
display: passesMembershipsDisplaySchema,
|
|
33804
33892
|
hydration: passesMembershipsHydrationSchema
|
|
33805
33893
|
});
|
|
33806
|
-
var productListRenderSchema =
|
|
33894
|
+
var productListRenderSchema = z57.object({
|
|
33807
33895
|
display: productListDisplaySchema,
|
|
33808
33896
|
hydration: productListHydrationSchema
|
|
33809
33897
|
});
|
|
33810
|
-
var productDetailRenderSchema =
|
|
33898
|
+
var productDetailRenderSchema = z57.object({
|
|
33811
33899
|
display: productDetailDisplaySchema,
|
|
33812
33900
|
hydration: productDetailHydrationSchema
|
|
33813
33901
|
});
|
|
33814
|
-
var cartRenderSchema =
|
|
33902
|
+
var cartRenderSchema = z57.object({
|
|
33815
33903
|
display: cartDisplaySchema,
|
|
33816
33904
|
hydration: cartHydrationSchema
|
|
33817
33905
|
});
|
|
33818
|
-
var checkoutRenderSchema =
|
|
33906
|
+
var checkoutRenderSchema = z57.object({
|
|
33819
33907
|
display: checkoutDisplaySchema,
|
|
33820
33908
|
hydration: checkoutHydrationSchema
|
|
33821
33909
|
});
|
|
33822
33910
|
function resolveShowPricePerCredit(source) {
|
|
33823
33911
|
return source.showPricePerCredit ?? true;
|
|
33824
33912
|
}
|
|
33825
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
33826
|
-
siteId:
|
|
33827
|
-
apiBaseUrl:
|
|
33913
|
+
var shopIslandMetaCodec = createZodCodec(z57.object({
|
|
33914
|
+
siteId: z57.string().optional(),
|
|
33915
|
+
apiBaseUrl: z57.string().optional(),
|
|
33828
33916
|
stage: previewStageSchema.optional()
|
|
33829
33917
|
}));
|
|
33830
33918
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -34202,9 +34290,9 @@ var shopBlockDefinition = {
|
|
|
34202
34290
|
runtime: shopBlockRuntime,
|
|
34203
34291
|
dataSchemas: {
|
|
34204
34292
|
// listPublicPasses returns { passes: [...] }
|
|
34205
|
-
passes:
|
|
34293
|
+
passes: publicPassProductCollectionSchema.optional(),
|
|
34206
34294
|
// listPublicMemberships returns { memberships: [...] }
|
|
34207
|
-
memberships:
|
|
34295
|
+
memberships: publicMembershipProductCollectionSchema.optional()
|
|
34208
34296
|
},
|
|
34209
34297
|
dataLoaders: {
|
|
34210
34298
|
// Load passes for display
|
|
@@ -34227,7 +34315,7 @@ var shopBlockDefinition = {
|
|
|
34227
34315
|
};
|
|
34228
34316
|
|
|
34229
34317
|
// ../blocks/src/system/blocks/product-list.ts
|
|
34230
|
-
import { z as
|
|
34318
|
+
import { z as z58 } from "zod";
|
|
34231
34319
|
var productListManifest = createBlockManifest({
|
|
34232
34320
|
id: "block.product-list",
|
|
34233
34321
|
version: "1.0.0",
|
|
@@ -34360,7 +34448,7 @@ var productListBlockDefinition = {
|
|
|
34360
34448
|
}
|
|
34361
34449
|
}
|
|
34362
34450
|
};
|
|
34363
|
-
var productListDataSchema =
|
|
34451
|
+
var productListDataSchema = z58.object({
|
|
34364
34452
|
products: publicProductsResponseSchema.optional()
|
|
34365
34453
|
});
|
|
34366
34454
|
|
|
@@ -34621,72 +34709,72 @@ var checkoutBlockDefinition = {
|
|
|
34621
34709
|
};
|
|
34622
34710
|
|
|
34623
34711
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
34624
|
-
import { z as
|
|
34625
|
-
var publicGiftCardOfferSchema =
|
|
34626
|
-
id:
|
|
34627
|
-
kind:
|
|
34628
|
-
title:
|
|
34629
|
-
description:
|
|
34630
|
-
sortOrder:
|
|
34631
|
-
giftCard:
|
|
34632
|
-
fixedDenominations:
|
|
34633
|
-
customAmountEnabled:
|
|
34634
|
-
customAmountMinCents:
|
|
34635
|
-
customAmountMaxCents:
|
|
34712
|
+
import { z as z59 } from "zod";
|
|
34713
|
+
var publicGiftCardOfferSchema = z59.object({
|
|
34714
|
+
id: z59.string(),
|
|
34715
|
+
kind: z59.literal("gift_card"),
|
|
34716
|
+
title: z59.string(),
|
|
34717
|
+
description: z59.string().nullable(),
|
|
34718
|
+
sortOrder: z59.number().int(),
|
|
34719
|
+
giftCard: z59.object({
|
|
34720
|
+
fixedDenominations: z59.array(z59.number().int().positive()),
|
|
34721
|
+
customAmountEnabled: z59.boolean(),
|
|
34722
|
+
customAmountMinCents: z59.number().int().positive(),
|
|
34723
|
+
customAmountMaxCents: z59.number().int().positive()
|
|
34636
34724
|
}),
|
|
34637
|
-
voucher:
|
|
34638
|
-
});
|
|
34639
|
-
var publicVoucherOfferSchema =
|
|
34640
|
-
id:
|
|
34641
|
-
kind:
|
|
34642
|
-
title:
|
|
34643
|
-
description:
|
|
34644
|
-
sortOrder:
|
|
34645
|
-
giftCard:
|
|
34646
|
-
voucher:
|
|
34647
|
-
purchaseAmountCents:
|
|
34725
|
+
voucher: z59.null()
|
|
34726
|
+
});
|
|
34727
|
+
var publicVoucherOfferSchema = z59.object({
|
|
34728
|
+
id: z59.string(),
|
|
34729
|
+
kind: z59.literal("voucher"),
|
|
34730
|
+
title: z59.string(),
|
|
34731
|
+
description: z59.string().nullable(),
|
|
34732
|
+
sortOrder: z59.number().int(),
|
|
34733
|
+
giftCard: z59.null(),
|
|
34734
|
+
voucher: z59.object({
|
|
34735
|
+
purchaseAmountCents: z59.number().int().positive()
|
|
34648
34736
|
})
|
|
34649
34737
|
});
|
|
34650
|
-
var publicGiftingOffersResponseSchema =
|
|
34651
|
-
currency:
|
|
34652
|
-
giftCards:
|
|
34653
|
-
vouchers:
|
|
34738
|
+
var publicGiftingOffersResponseSchema = z59.object({
|
|
34739
|
+
currency: z59.string(),
|
|
34740
|
+
giftCards: z59.array(publicGiftCardOfferSchema),
|
|
34741
|
+
vouchers: z59.array(publicVoucherOfferSchema)
|
|
34654
34742
|
});
|
|
34655
|
-
var giftingSourceSchema =
|
|
34656
|
-
siteId:
|
|
34657
|
-
apiBaseUrl:
|
|
34743
|
+
var giftingSourceSchema = z59.object({
|
|
34744
|
+
siteId: z59.string().optional(),
|
|
34745
|
+
apiBaseUrl: z59.string().optional(),
|
|
34658
34746
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
34659
|
-
className:
|
|
34660
|
-
heading:
|
|
34661
|
-
intro:
|
|
34662
|
-
giftCardsHeading:
|
|
34663
|
-
vouchersHeading:
|
|
34664
|
-
emptyStateText:
|
|
34665
|
-
checkoutButtonText:
|
|
34666
|
-
successMessage:
|
|
34667
|
-
});
|
|
34668
|
-
var giftingDisplaySchema =
|
|
34669
|
-
kind:
|
|
34670
|
-
state:
|
|
34671
|
-
className:
|
|
34672
|
-
heading:
|
|
34673
|
-
intro:
|
|
34674
|
-
giftCardsHeading:
|
|
34675
|
-
vouchersHeading:
|
|
34676
|
-
emptyStateText:
|
|
34677
|
-
});
|
|
34678
|
-
var giftingHydrationSchema =
|
|
34747
|
+
className: z59.string().nullable().optional(),
|
|
34748
|
+
heading: z59.string().nullable().optional(),
|
|
34749
|
+
intro: z59.string().nullable().optional(),
|
|
34750
|
+
giftCardsHeading: z59.string().nullable().optional(),
|
|
34751
|
+
vouchersHeading: z59.string().nullable().optional(),
|
|
34752
|
+
emptyStateText: z59.string().nullable().optional(),
|
|
34753
|
+
checkoutButtonText: z59.string().nullable().optional(),
|
|
34754
|
+
successMessage: z59.string().nullable().optional()
|
|
34755
|
+
});
|
|
34756
|
+
var giftingDisplaySchema = z59.object({
|
|
34757
|
+
kind: z59.literal("gifting"),
|
|
34758
|
+
state: z59.literal("ready"),
|
|
34759
|
+
className: z59.string().nullable(),
|
|
34760
|
+
heading: z59.string(),
|
|
34761
|
+
intro: z59.string().nullable(),
|
|
34762
|
+
giftCardsHeading: z59.string(),
|
|
34763
|
+
vouchersHeading: z59.string(),
|
|
34764
|
+
emptyStateText: z59.string()
|
|
34765
|
+
});
|
|
34766
|
+
var giftingHydrationSchema = z59.object({
|
|
34679
34767
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
34680
|
-
checkoutButtonText:
|
|
34681
|
-
successMessage:
|
|
34768
|
+
checkoutButtonText: z59.string(),
|
|
34769
|
+
successMessage: z59.string()
|
|
34682
34770
|
});
|
|
34683
|
-
var giftingRenderSchema =
|
|
34771
|
+
var giftingRenderSchema = z59.object({
|
|
34684
34772
|
display: giftingDisplaySchema,
|
|
34685
34773
|
hydration: giftingHydrationSchema
|
|
34686
34774
|
});
|
|
34687
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
34688
|
-
siteId:
|
|
34689
|
-
apiBaseUrl:
|
|
34775
|
+
var giftingIslandMetaCodec = createZodCodec(z59.object({
|
|
34776
|
+
siteId: z59.string().optional(),
|
|
34777
|
+
apiBaseUrl: z59.string().optional()
|
|
34690
34778
|
}));
|
|
34691
34779
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
34692
34780
|
"siteId",
|
|
@@ -34857,7 +34945,7 @@ var giftingBlockDefinition = {
|
|
|
34857
34945
|
};
|
|
34858
34946
|
|
|
34859
34947
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34860
|
-
import { z as
|
|
34948
|
+
import { z as z60 } from "zod";
|
|
34861
34949
|
|
|
34862
34950
|
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
34863
34951
|
function parseNewsletterSignupBlockId(value) {
|
|
@@ -34964,65 +35052,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
34964
35052
|
}
|
|
34965
35053
|
|
|
34966
35054
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34967
|
-
var newsletterPresetSchema =
|
|
34968
|
-
var newsletterDestinationProviderSchema =
|
|
34969
|
-
var newsletterFieldSchema =
|
|
34970
|
-
id:
|
|
34971
|
-
type:
|
|
34972
|
-
label:
|
|
34973
|
-
required:
|
|
34974
|
-
placeholder:
|
|
34975
|
-
});
|
|
34976
|
-
var newsletterSignupBlockIdSchema =
|
|
34977
|
-
var signedNewsletterDestinationRefSchema =
|
|
34978
|
-
var newsletterPublicDestinationRefSchema =
|
|
34979
|
-
|
|
34980
|
-
tag:
|
|
35055
|
+
var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
35056
|
+
var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
|
|
35057
|
+
var newsletterFieldSchema = z60.object({
|
|
35058
|
+
id: z60.string(),
|
|
35059
|
+
type: z60.enum(["email", "text"]),
|
|
35060
|
+
label: z60.string(),
|
|
35061
|
+
required: z60.boolean(),
|
|
35062
|
+
placeholder: z60.string().optional()
|
|
35063
|
+
});
|
|
35064
|
+
var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
35065
|
+
var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
35066
|
+
var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
|
|
35067
|
+
z60.object({
|
|
35068
|
+
tag: z60.literal("block_ref"),
|
|
34981
35069
|
blockId: newsletterSignupBlockIdSchema
|
|
34982
35070
|
}),
|
|
34983
|
-
|
|
34984
|
-
tag:
|
|
35071
|
+
z60.object({
|
|
35072
|
+
tag: z60.literal("signed_destination_ref"),
|
|
34985
35073
|
token: signedNewsletterDestinationRefSchema
|
|
34986
35074
|
})
|
|
34987
35075
|
]);
|
|
34988
|
-
var newsletterSourceSchema =
|
|
34989
|
-
blockId:
|
|
34990
|
-
siteId:
|
|
34991
|
-
apiBaseUrl:
|
|
34992
|
-
listId:
|
|
35076
|
+
var newsletterSourceSchema = z60.object({
|
|
35077
|
+
blockId: z60.string().nullable().optional(),
|
|
35078
|
+
siteId: z60.string().optional(),
|
|
35079
|
+
apiBaseUrl: z60.string().optional(),
|
|
35080
|
+
listId: z60.string().nullable().optional(),
|
|
34993
35081
|
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
34994
35082
|
preset: newsletterPresetSchema.optional(),
|
|
34995
|
-
includePhone:
|
|
34996
|
-
buttonLabel:
|
|
34997
|
-
successMessage:
|
|
34998
|
-
privacyNote:
|
|
34999
|
-
tags:
|
|
35000
|
-
spamProtectionEnabled:
|
|
35001
|
-
className:
|
|
35002
|
-
});
|
|
35003
|
-
var newsletterDisplaySchema =
|
|
35004
|
-
kind:
|
|
35005
|
-
className:
|
|
35006
|
-
buttonLabel:
|
|
35007
|
-
successMessage:
|
|
35008
|
-
privacyNote:
|
|
35009
|
-
fields:
|
|
35010
|
-
});
|
|
35011
|
-
var newsletterHydrationSchema =
|
|
35083
|
+
includePhone: z60.boolean().optional(),
|
|
35084
|
+
buttonLabel: z60.string().nullable().optional(),
|
|
35085
|
+
successMessage: z60.string().nullable().optional(),
|
|
35086
|
+
privacyNote: z60.string().nullable().optional(),
|
|
35087
|
+
tags: z60.string().nullable().optional(),
|
|
35088
|
+
spamProtectionEnabled: z60.boolean().optional(),
|
|
35089
|
+
className: z60.string().nullable().optional()
|
|
35090
|
+
});
|
|
35091
|
+
var newsletterDisplaySchema = z60.object({
|
|
35092
|
+
kind: z60.literal("newsletter-form"),
|
|
35093
|
+
className: z60.string().nullable(),
|
|
35094
|
+
buttonLabel: z60.string(),
|
|
35095
|
+
successMessage: z60.string().nullable(),
|
|
35096
|
+
privacyNote: z60.string().nullable(),
|
|
35097
|
+
fields: z60.array(newsletterFieldSchema)
|
|
35098
|
+
});
|
|
35099
|
+
var newsletterHydrationSchema = z60.object({
|
|
35012
35100
|
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
35013
|
-
listId:
|
|
35101
|
+
listId: z60.string().nullable().optional(),
|
|
35014
35102
|
preset: newsletterPresetSchema,
|
|
35015
|
-
includePhone:
|
|
35016
|
-
tags:
|
|
35017
|
-
spamProtectionEnabled:
|
|
35103
|
+
includePhone: z60.boolean(),
|
|
35104
|
+
tags: z60.string().nullable().optional(),
|
|
35105
|
+
spamProtectionEnabled: z60.boolean().optional()
|
|
35018
35106
|
});
|
|
35019
|
-
var newsletterRenderSchema =
|
|
35107
|
+
var newsletterRenderSchema = z60.object({
|
|
35020
35108
|
display: newsletterDisplaySchema,
|
|
35021
35109
|
hydration: newsletterHydrationSchema
|
|
35022
35110
|
});
|
|
35023
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
35024
|
-
siteId:
|
|
35025
|
-
apiBaseUrl:
|
|
35111
|
+
var newsletterIslandMetaCodec = createZodCodec(z60.object({
|
|
35112
|
+
siteId: z60.string().optional(),
|
|
35113
|
+
apiBaseUrl: z60.string().optional()
|
|
35026
35114
|
}));
|
|
35027
35115
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
35028
35116
|
function buildNewsletterDisplay(source) {
|
|
@@ -35161,23 +35249,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
35161
35249
|
};
|
|
35162
35250
|
|
|
35163
35251
|
// ../blocks/src/system/blocks/team-members.ts
|
|
35164
|
-
import { z as
|
|
35252
|
+
import { z as z61 } from "zod";
|
|
35165
35253
|
var ITEM_NAME2 = "member";
|
|
35166
35254
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
35167
35255
|
message: "Team member photos must be image media"
|
|
35168
35256
|
}).nullable();
|
|
35169
|
-
var teamMemberDataSchema =
|
|
35170
|
-
_type:
|
|
35171
|
-
id:
|
|
35172
|
-
name:
|
|
35173
|
-
role:
|
|
35174
|
-
roleLabel:
|
|
35175
|
-
bio:
|
|
35176
|
-
summary:
|
|
35257
|
+
var teamMemberDataSchema = z61.object({
|
|
35258
|
+
_type: z61.literal("teamMember"),
|
|
35259
|
+
id: z61.string(),
|
|
35260
|
+
name: z61.string(),
|
|
35261
|
+
role: z61.string().nullable(),
|
|
35262
|
+
roleLabel: z61.string().nullable(),
|
|
35263
|
+
bio: z61.string().nullable(),
|
|
35264
|
+
summary: z61.string().nullable(),
|
|
35177
35265
|
photo: teamMemberPhotoSchema,
|
|
35178
|
-
profilePath:
|
|
35266
|
+
profilePath: z61.string().nullable()
|
|
35179
35267
|
});
|
|
35180
|
-
var teamMembersDataSchema =
|
|
35268
|
+
var teamMembersDataSchema = z61.array(teamMemberDataSchema);
|
|
35181
35269
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
35182
35270
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
35183
35271
|
var headingNode = text(
|
|
@@ -36069,13 +36157,6 @@ var systemBlockDefinitionsRaw = [
|
|
|
36069
36157
|
weight: "featured",
|
|
36070
36158
|
bias: "clear",
|
|
36071
36159
|
surfaces: heroSectionSurfaces
|
|
36072
|
-
}),
|
|
36073
|
-
layoutProfile({
|
|
36074
|
-
variantKey: "splitEditorial",
|
|
36075
|
-
family: "split",
|
|
36076
|
-
weight: "featured",
|
|
36077
|
-
bias: "clear",
|
|
36078
|
-
surfaces: heroSectionSurfaces
|
|
36079
36160
|
})
|
|
36080
36161
|
]
|
|
36081
36162
|
})),
|
|
@@ -36319,9 +36400,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
36319
36400
|
flow: offeringsFlow,
|
|
36320
36401
|
layoutProfiles: [
|
|
36321
36402
|
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
36403
|
+
layoutProfile({ variantKey: "calendar", family: "stack", weight: "standard" }),
|
|
36322
36404
|
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
36323
|
-
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
36324
|
-
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
36325
36405
|
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
36326
36406
|
]
|
|
36327
36407
|
})),
|
|
@@ -36884,10 +36964,7 @@ function normalizeRenderStage(stage) {
|
|
|
36884
36964
|
return stage === "preview" ? "preview" : "published";
|
|
36885
36965
|
}
|
|
36886
36966
|
function isRouteVisibleInStage(routeEntry, stageInput) {
|
|
36887
|
-
|
|
36888
|
-
if (stage === "preview" || !isRouteRecord(routeEntry)) {
|
|
36889
|
-
return true;
|
|
36890
|
-
}
|
|
36967
|
+
if (normalizeRenderStage(stageInput) === "preview" || !isRouteRecord(routeEntry)) return true;
|
|
36891
36968
|
const status = routeEntry.status;
|
|
36892
36969
|
return !(typeof status === "string" && status !== "published");
|
|
36893
36970
|
}
|
|
@@ -36896,52 +36973,45 @@ function extractRouteHref(candidate, stageInput = "published") {
|
|
|
36896
36973
|
const trimmed = candidate.trim();
|
|
36897
36974
|
return trimmed.length > 0 ? trimmed : null;
|
|
36898
36975
|
}
|
|
36899
|
-
if (!isRouteRecord(candidate))
|
|
36900
|
-
|
|
36901
|
-
|
|
36902
|
-
|
|
36903
|
-
|
|
36976
|
+
if (!isRouteRecord(candidate)) return null;
|
|
36977
|
+
const fields3 = normalizeRenderStage(stageInput) === "preview" ? [
|
|
36978
|
+
"draftPath",
|
|
36979
|
+
"path",
|
|
36980
|
+
"href",
|
|
36981
|
+
"url"
|
|
36982
|
+
] : [
|
|
36983
|
+
"path",
|
|
36984
|
+
"href",
|
|
36985
|
+
"url"
|
|
36986
|
+
];
|
|
36904
36987
|
for (const field of fields3) {
|
|
36905
36988
|
const value = candidate[field];
|
|
36906
|
-
if (typeof value === "string" && value.trim().length > 0)
|
|
36907
|
-
return value.trim();
|
|
36908
|
-
}
|
|
36989
|
+
if (typeof value === "string" && value.trim().length > 0) return value.trim();
|
|
36909
36990
|
}
|
|
36910
36991
|
return null;
|
|
36911
36992
|
}
|
|
36912
36993
|
function extractRouteUpdatedAt(candidate) {
|
|
36913
|
-
if (!isRouteRecord(candidate))
|
|
36914
|
-
|
|
36915
|
-
}
|
|
36916
|
-
const fields3 = [
|
|
36994
|
+
if (!isRouteRecord(candidate)) return null;
|
|
36995
|
+
for (const field of [
|
|
36917
36996
|
"updatedAt",
|
|
36918
36997
|
"updated_at",
|
|
36919
36998
|
"publishedAt",
|
|
36920
36999
|
"published_at",
|
|
36921
37000
|
"modifiedAt",
|
|
36922
37001
|
"modified_at"
|
|
36923
|
-
]
|
|
36924
|
-
for (const field of fields3) {
|
|
37002
|
+
]) {
|
|
36925
37003
|
const value = candidate[field];
|
|
36926
|
-
if (typeof value === "string" && value.length > 0)
|
|
36927
|
-
return value;
|
|
36928
|
-
}
|
|
37004
|
+
if (typeof value === "string" && value.length > 0) return value;
|
|
36929
37005
|
}
|
|
36930
37006
|
return null;
|
|
36931
37007
|
}
|
|
36932
37008
|
function resolveRouteTargetForStage(routeIdValue, routes, stageInput) {
|
|
36933
37009
|
const routeId = typeof routeIdValue === "string" ? routeIdValue : null;
|
|
36934
|
-
if (!routeId || !routes)
|
|
36935
|
-
return null;
|
|
36936
|
-
}
|
|
37010
|
+
if (!routeId || !routes) return null;
|
|
36937
37011
|
const routeEntry = routes[routeId];
|
|
36938
|
-
if (!isRouteVisibleInStage(routeEntry, stageInput))
|
|
36939
|
-
return null;
|
|
36940
|
-
}
|
|
37012
|
+
if (!isRouteVisibleInStage(routeEntry, stageInput)) return null;
|
|
36941
37013
|
const href = extractRouteHref(routeEntry, stageInput);
|
|
36942
|
-
if (!href)
|
|
36943
|
-
return null;
|
|
36944
|
-
}
|
|
37014
|
+
if (!href) return null;
|
|
36945
37015
|
return {
|
|
36946
37016
|
routeId,
|
|
36947
37017
|
href,
|
|
@@ -37871,42 +37941,45 @@ import { jsx as jsx5 } from "react/jsx-runtime";
|
|
|
37871
37941
|
import * as React from "react";
|
|
37872
37942
|
import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
37873
37943
|
|
|
37944
|
+
// ../theme-core/src/ResponsiveScope.tsx
|
|
37945
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
37946
|
+
|
|
37874
37947
|
// ../theme-core/src/fonts/uploadFormat.ts
|
|
37875
37948
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
37876
37949
|
|
|
37877
37950
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
37878
|
-
import { z as
|
|
37879
|
-
var themeBridgeConfigSchema =
|
|
37880
|
-
tokens:
|
|
37881
|
-
typography:
|
|
37882
|
-
headingFamily:
|
|
37883
|
-
bodyFamily:
|
|
37884
|
-
headingWeight:
|
|
37885
|
-
bodyWeight:
|
|
37951
|
+
import { z as z62 } from "zod";
|
|
37952
|
+
var themeBridgeConfigSchema = z62.object({
|
|
37953
|
+
tokens: z62.record(z62.string(), z62.string()),
|
|
37954
|
+
typography: z62.object({
|
|
37955
|
+
headingFamily: z62.string().optional(),
|
|
37956
|
+
bodyFamily: z62.string().optional(),
|
|
37957
|
+
headingWeight: z62.number().optional(),
|
|
37958
|
+
bodyWeight: z62.number().optional()
|
|
37886
37959
|
}).optional(),
|
|
37887
|
-
spacing:
|
|
37888
|
-
corners:
|
|
37889
|
-
shadows:
|
|
37890
|
-
components:
|
|
37891
|
-
buttons:
|
|
37892
|
-
|
|
37893
|
-
|
|
37894
|
-
variants:
|
|
37960
|
+
spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
|
|
37961
|
+
corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
37962
|
+
shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
|
|
37963
|
+
components: z62.object({
|
|
37964
|
+
buttons: z62.union([
|
|
37965
|
+
z62.boolean(),
|
|
37966
|
+
z62.object({
|
|
37967
|
+
variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
37895
37968
|
})
|
|
37896
37969
|
]).optional(),
|
|
37897
|
-
cards:
|
|
37898
|
-
|
|
37899
|
-
|
|
37900
|
-
variants:
|
|
37970
|
+
cards: z62.union([
|
|
37971
|
+
z62.boolean(),
|
|
37972
|
+
z62.object({
|
|
37973
|
+
variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
|
|
37901
37974
|
})
|
|
37902
37975
|
]).optional(),
|
|
37903
|
-
inputs:
|
|
37976
|
+
inputs: z62.boolean().optional()
|
|
37904
37977
|
}).optional(),
|
|
37905
|
-
overrides:
|
|
37978
|
+
overrides: z62.record(z62.string(), z62.string()).optional()
|
|
37906
37979
|
}).passthrough();
|
|
37907
37980
|
|
|
37908
37981
|
// ../theme-core/src/siteChrome.tsx
|
|
37909
|
-
import { Fragment as Fragment2, jsx as
|
|
37982
|
+
import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
37910
37983
|
|
|
37911
37984
|
// ../blocks/src/system/data/loaderEndpoints.ts
|
|
37912
37985
|
var SUPPORTED_LOADER_ENDPOINTS = [
|
|
@@ -37928,17 +38001,17 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
37928
38001
|
function unsafeRetypeZodSchema(schema) {
|
|
37929
38002
|
return schema;
|
|
37930
38003
|
}
|
|
37931
|
-
var navIdListSchema =
|
|
38004
|
+
var navIdListSchema = z63.preprocess((value) => {
|
|
37932
38005
|
if (!Array.isArray(value)) return void 0;
|
|
37933
38006
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
37934
38007
|
return filtered.length > 0 ? filtered : void 0;
|
|
37935
|
-
},
|
|
37936
|
-
var dashboardNavVisibilityBaseSchema =
|
|
37937
|
-
mode:
|
|
38008
|
+
}, z63.array(z63.string()).max(200).optional());
|
|
38009
|
+
var dashboardNavVisibilityBaseSchema = z63.object({
|
|
38010
|
+
mode: z63.enum(["augment", "restrict"]).optional(),
|
|
37938
38011
|
allowIds: navIdListSchema,
|
|
37939
38012
|
denyIds: navIdListSchema
|
|
37940
38013
|
}).strip();
|
|
37941
|
-
var dashboardNavVisibilityRolesSchema =
|
|
38014
|
+
var dashboardNavVisibilityRolesSchema = z63.object({
|
|
37942
38015
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
37943
38016
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
37944
38017
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -37946,63 +38019,63 @@ var dashboardNavVisibilityRolesSchema = z65.object({
|
|
|
37946
38019
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
37947
38020
|
roles: dashboardNavVisibilityRolesSchema
|
|
37948
38021
|
}).strip();
|
|
37949
|
-
var dashboardNavigationConfigSchema =
|
|
38022
|
+
var dashboardNavigationConfigSchema = z63.object({
|
|
37950
38023
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
37951
38024
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
37952
38025
|
}).strip();
|
|
37953
|
-
var dashboardConfigSchema =
|
|
37954
|
-
previewEditingEnabled:
|
|
38026
|
+
var dashboardConfigSchema = z63.object({
|
|
38027
|
+
previewEditingEnabled: z63.boolean().optional(),
|
|
37955
38028
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
37956
38029
|
}).strip();
|
|
37957
38030
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
37958
38031
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
37959
|
-
var sdkLoaderEndpointSchema =
|
|
37960
|
-
var loaderFallbackScalarSchema =
|
|
37961
|
-
|
|
37962
|
-
|
|
37963
|
-
|
|
37964
|
-
|
|
38032
|
+
var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
38033
|
+
var loaderFallbackScalarSchema = z63.union([
|
|
38034
|
+
z63.string(),
|
|
38035
|
+
z63.number(),
|
|
38036
|
+
z63.boolean(),
|
|
38037
|
+
z63.null()
|
|
37965
38038
|
]);
|
|
37966
|
-
var loaderParamBindingSchema =
|
|
37967
|
-
$bind:
|
|
37968
|
-
from:
|
|
38039
|
+
var loaderParamBindingSchema = z63.object({
|
|
38040
|
+
$bind: z63.object({
|
|
38041
|
+
from: z63.string().min(1, "Binding path is required"),
|
|
37969
38042
|
fallback: loaderFallbackScalarSchema.optional()
|
|
37970
38043
|
})
|
|
37971
38044
|
});
|
|
37972
|
-
var loaderParamValueSchema =
|
|
37973
|
-
|
|
37974
|
-
|
|
37975
|
-
|
|
38045
|
+
var loaderParamValueSchema = z63.union([
|
|
38046
|
+
z63.string(),
|
|
38047
|
+
z63.number(),
|
|
38048
|
+
z63.boolean(),
|
|
37976
38049
|
loaderParamBindingSchema
|
|
37977
38050
|
]);
|
|
37978
|
-
var sdkConfigLoaderSchema =
|
|
38051
|
+
var sdkConfigLoaderSchema = z63.object({
|
|
37979
38052
|
endpoint: sdkLoaderEndpointSchema,
|
|
37980
|
-
params:
|
|
37981
|
-
mode:
|
|
38053
|
+
params: z63.record(z63.string(), loaderParamValueSchema),
|
|
38054
|
+
mode: z63.enum(["server", "client"]).default("server")
|
|
37982
38055
|
});
|
|
37983
|
-
var sdkDataLoadersSchema =
|
|
37984
|
-
var sdkCustomBlockIdSchema =
|
|
38056
|
+
var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
38057
|
+
var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
37985
38058
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
37986
38059
|
}).transform((value) => value);
|
|
37987
|
-
var sdkCustomBlockInputSchema =
|
|
38060
|
+
var sdkCustomBlockInputSchema = z63.object({
|
|
37988
38061
|
id: sdkCustomBlockIdSchema,
|
|
37989
|
-
title:
|
|
37990
|
-
titleSource:
|
|
37991
|
-
description:
|
|
38062
|
+
title: z63.string().min(1),
|
|
38063
|
+
titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
|
|
38064
|
+
description: z63.string().optional(),
|
|
37992
38065
|
category: blockCategoryEnum,
|
|
37993
|
-
icon:
|
|
37994
|
-
tags:
|
|
38066
|
+
icon: z63.string().optional(),
|
|
38067
|
+
tags: z63.array(z63.string()).optional(),
|
|
37995
38068
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
37996
38069
|
dataLoaders: sdkDataLoadersSchema,
|
|
37997
38070
|
layout: NodeSchema.optional(),
|
|
37998
|
-
variants:
|
|
37999
|
-
defaultVariant:
|
|
38000
|
-
variantOptions:
|
|
38001
|
-
|
|
38002
|
-
|
|
38003
|
-
label:
|
|
38004
|
-
description:
|
|
38005
|
-
icon:
|
|
38071
|
+
variants: z63.record(z63.string().min(1), NodeSchema).optional(),
|
|
38072
|
+
defaultVariant: z63.string().min(1).optional(),
|
|
38073
|
+
variantOptions: z63.record(
|
|
38074
|
+
z63.string().min(1),
|
|
38075
|
+
z63.object({
|
|
38076
|
+
label: z63.string().min(1).optional(),
|
|
38077
|
+
description: z63.string().min(1).optional(),
|
|
38078
|
+
icon: z63.string().min(1).optional()
|
|
38006
38079
|
})
|
|
38007
38080
|
).optional(),
|
|
38008
38081
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -38013,7 +38086,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38013
38086
|
const exists = data.fields.some((field) => field.id === source);
|
|
38014
38087
|
if (!exists) {
|
|
38015
38088
|
ctx.addIssue({
|
|
38016
|
-
code:
|
|
38089
|
+
code: z63.ZodIssueCode.custom,
|
|
38017
38090
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
38018
38091
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
38019
38092
|
});
|
|
@@ -38022,7 +38095,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38022
38095
|
}
|
|
38023
38096
|
if (data.layout && data.variants) {
|
|
38024
38097
|
ctx.addIssue({
|
|
38025
|
-
code:
|
|
38098
|
+
code: z63.ZodIssueCode.custom,
|
|
38026
38099
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
38027
38100
|
path: ["variants"]
|
|
38028
38101
|
});
|
|
@@ -38031,14 +38104,14 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38031
38104
|
const keys = Object.keys(data.variants);
|
|
38032
38105
|
if (keys.length === 0) {
|
|
38033
38106
|
ctx.addIssue({
|
|
38034
|
-
code:
|
|
38107
|
+
code: z63.ZodIssueCode.custom,
|
|
38035
38108
|
message: "`variants` must contain at least one variant key",
|
|
38036
38109
|
path: ["variants"]
|
|
38037
38110
|
});
|
|
38038
38111
|
}
|
|
38039
38112
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
38040
38113
|
ctx.addIssue({
|
|
38041
|
-
code:
|
|
38114
|
+
code: z63.ZodIssueCode.custom,
|
|
38042
38115
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
38043
38116
|
path: ["defaultVariant"]
|
|
38044
38117
|
});
|
|
@@ -38047,7 +38120,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38047
38120
|
for (const key of Object.keys(data.variantOptions)) {
|
|
38048
38121
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
38049
38122
|
ctx.addIssue({
|
|
38050
|
-
code:
|
|
38123
|
+
code: z63.ZodIssueCode.custom,
|
|
38051
38124
|
message: "`variantOptions` key must exist in `variants`",
|
|
38052
38125
|
path: ["variantOptions", key]
|
|
38053
38126
|
});
|
|
@@ -38056,78 +38129,78 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
38056
38129
|
}
|
|
38057
38130
|
}
|
|
38058
38131
|
});
|
|
38059
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38132
|
+
var sdkBlockFieldExtensionInputSchema = z63.object({
|
|
38060
38133
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
38061
38134
|
});
|
|
38062
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
38063
|
-
|
|
38135
|
+
var sdkBlockFieldExtensionsInputSchema = z63.record(
|
|
38136
|
+
z63.string().min(1),
|
|
38064
38137
|
sdkBlockFieldExtensionInputSchema
|
|
38065
38138
|
);
|
|
38066
|
-
var sdkThemePaletteSchema =
|
|
38067
|
-
var sdkThemeConfigSchema =
|
|
38139
|
+
var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
|
|
38140
|
+
var sdkThemeConfigSchema = z63.object({
|
|
38068
38141
|
palette: sdkThemePaletteSchema
|
|
38069
38142
|
});
|
|
38070
|
-
var sdkSectionBackgroundSchema =
|
|
38071
|
-
id:
|
|
38072
|
-
label:
|
|
38073
|
-
token:
|
|
38143
|
+
var sdkSectionBackgroundSchema = z63.object({
|
|
38144
|
+
id: z63.string().min(1),
|
|
38145
|
+
label: z63.string().min(1),
|
|
38146
|
+
token: z63.string().min(1)
|
|
38074
38147
|
});
|
|
38075
|
-
var sdkSectionOptionsConfigSchema =
|
|
38076
|
-
backgroundColor:
|
|
38077
|
-
backgroundImage:
|
|
38078
|
-
backgroundGradient:
|
|
38079
|
-
spacing:
|
|
38080
|
-
textColor:
|
|
38148
|
+
var sdkSectionOptionsConfigSchema = z63.object({
|
|
38149
|
+
backgroundColor: z63.boolean().optional(),
|
|
38150
|
+
backgroundImage: z63.boolean().optional(),
|
|
38151
|
+
backgroundGradient: z63.boolean().optional(),
|
|
38152
|
+
spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
|
|
38153
|
+
textColor: z63.boolean().optional()
|
|
38081
38154
|
});
|
|
38082
|
-
var sdkContainerOptionsConfigSchema =
|
|
38083
|
-
maxWidth:
|
|
38084
|
-
alignment:
|
|
38155
|
+
var sdkContainerOptionsConfigSchema = z63.object({
|
|
38156
|
+
maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
|
|
38157
|
+
alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
|
|
38085
38158
|
});
|
|
38086
|
-
var sdkSiteStyleConfigSchema =
|
|
38087
|
-
sectionBackgrounds:
|
|
38159
|
+
var sdkSiteStyleConfigSchema = z63.object({
|
|
38160
|
+
sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
|
|
38088
38161
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
38089
38162
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
38090
38163
|
});
|
|
38091
|
-
var sdkSiteLayoutConfigSchema =
|
|
38092
|
-
footerBlocks:
|
|
38093
|
-
|
|
38094
|
-
id:
|
|
38095
|
-
kind:
|
|
38096
|
-
content:
|
|
38164
|
+
var sdkSiteLayoutConfigSchema = z63.object({
|
|
38165
|
+
footerBlocks: z63.array(
|
|
38166
|
+
z63.object({
|
|
38167
|
+
id: z63.string().min(1).optional(),
|
|
38168
|
+
kind: z63.string().min(1),
|
|
38169
|
+
content: z63.record(z63.string(), z63.unknown()).optional()
|
|
38097
38170
|
})
|
|
38098
38171
|
).optional()
|
|
38099
38172
|
});
|
|
38100
|
-
var sdkFieldSelectOptionSchema =
|
|
38101
|
-
value:
|
|
38102
|
-
label:
|
|
38173
|
+
var sdkFieldSelectOptionSchema = z63.object({
|
|
38174
|
+
value: z63.string(),
|
|
38175
|
+
label: z63.string()
|
|
38103
38176
|
});
|
|
38104
|
-
var sdkBlockFieldConfigSchema =
|
|
38105
|
-
options:
|
|
38177
|
+
var sdkBlockFieldConfigSchema = z63.object({
|
|
38178
|
+
options: z63.array(sdkFieldSelectOptionSchema).optional()
|
|
38106
38179
|
});
|
|
38107
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
38108
|
-
|
|
38180
|
+
var sdkBlockFieldOptionsMapSchema = z63.record(
|
|
38181
|
+
z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
38109
38182
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
38110
38183
|
}),
|
|
38111
|
-
|
|
38184
|
+
z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
|
|
38112
38185
|
).optional();
|
|
38113
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
38114
|
-
blocks:
|
|
38186
|
+
var sdkContentTypeTemplateConfigSchema = z63.object({
|
|
38187
|
+
blocks: z63.array(z63.unknown())
|
|
38115
38188
|
}).passthrough();
|
|
38116
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
38117
|
-
mode:
|
|
38189
|
+
var sdkContentTypeOrderingConfigSchema = z63.object({
|
|
38190
|
+
mode: z63.enum(["default", "manual"]).optional()
|
|
38118
38191
|
}).optional();
|
|
38119
|
-
var sdkContentTypeConfigSchema =
|
|
38120
|
-
key:
|
|
38121
|
-
fields:
|
|
38192
|
+
var sdkContentTypeConfigSchema = z63.object({
|
|
38193
|
+
key: z63.string().min(1),
|
|
38194
|
+
fields: z63.array(z63.unknown()),
|
|
38122
38195
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
38123
38196
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
38124
38197
|
}).passthrough();
|
|
38125
|
-
var sdkContentConfigSchema =
|
|
38126
|
-
contentTypes:
|
|
38127
|
-
pages:
|
|
38128
|
-
entries:
|
|
38129
|
-
navigationMenus:
|
|
38130
|
-
settings:
|
|
38198
|
+
var sdkContentConfigSchema = z63.object({
|
|
38199
|
+
contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
|
|
38200
|
+
pages: z63.array(z63.unknown()).optional(),
|
|
38201
|
+
entries: z63.array(z63.unknown()).optional(),
|
|
38202
|
+
navigationMenus: z63.array(z63.unknown()).optional(),
|
|
38203
|
+
settings: z63.unknown().optional()
|
|
38131
38204
|
}).passthrough();
|
|
38132
38205
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
38133
38206
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -38142,62 +38215,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
38142
38215
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
38143
38216
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
38144
38217
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
38145
|
-
var sdkWorkflowIdSchema =
|
|
38218
|
+
var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
38146
38219
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
38147
38220
|
});
|
|
38148
|
-
var sdkWorkflowEndpointSchema =
|
|
38149
|
-
var sdkWorkflowManualTriggerSchema =
|
|
38150
|
-
type:
|
|
38221
|
+
var sdkWorkflowEndpointSchema = z63.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
|
|
38222
|
+
var sdkWorkflowManualTriggerSchema = z63.object({
|
|
38223
|
+
type: z63.literal("manual")
|
|
38151
38224
|
}).strict();
|
|
38152
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38225
|
+
var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
38153
38226
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
38154
38227
|
});
|
|
38155
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38228
|
+
var sdkWorkflowFieldChangedConditionSchema = z63.object({
|
|
38156
38229
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38157
|
-
changed:
|
|
38230
|
+
changed: z63.literal(true)
|
|
38158
38231
|
}).strict();
|
|
38159
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38232
|
+
var sdkWorkflowFieldEmptyConditionSchema = z63.object({
|
|
38160
38233
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38161
|
-
isEmpty:
|
|
38234
|
+
isEmpty: z63.boolean()
|
|
38162
38235
|
}).strict();
|
|
38163
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
38164
|
-
type:
|
|
38165
|
-
when:
|
|
38166
|
-
|
|
38236
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
|
|
38237
|
+
type: z63.literal("entry.draft.updated"),
|
|
38238
|
+
when: z63.array(
|
|
38239
|
+
z63.union([
|
|
38167
38240
|
sdkWorkflowFieldChangedConditionSchema,
|
|
38168
38241
|
sdkWorkflowFieldEmptyConditionSchema
|
|
38169
38242
|
])
|
|
38170
38243
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
38171
38244
|
}).strict();
|
|
38172
|
-
var sdkWorkflowTriggerSchema =
|
|
38245
|
+
var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
|
|
38173
38246
|
sdkWorkflowManualTriggerSchema,
|
|
38174
38247
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
38175
38248
|
]);
|
|
38176
|
-
var sdkWorkflowConfirmationSchema =
|
|
38177
|
-
title:
|
|
38178
|
-
body:
|
|
38249
|
+
var sdkWorkflowConfirmationSchema = z63.object({
|
|
38250
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
38251
|
+
body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
38179
38252
|
}).strict();
|
|
38180
|
-
var sdkWorkflowConfigSchema =
|
|
38253
|
+
var sdkWorkflowConfigSchema = z63.object({
|
|
38181
38254
|
id: sdkWorkflowIdSchema,
|
|
38182
|
-
title:
|
|
38183
|
-
description:
|
|
38184
|
-
contentType:
|
|
38255
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
38256
|
+
description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
38257
|
+
contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
38185
38258
|
endpoint: sdkWorkflowEndpointSchema,
|
|
38186
|
-
triggers:
|
|
38259
|
+
triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
38187
38260
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
38188
38261
|
}).strict();
|
|
38189
|
-
var sdkWorkflowsSchema =
|
|
38262
|
+
var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
38190
38263
|
const ids = workflows.map((workflow) => workflow.id);
|
|
38191
38264
|
return ids.length === new Set(ids).size;
|
|
38192
38265
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
38193
|
-
var riverbankSiteConfigInputSchema =
|
|
38194
|
-
siteId:
|
|
38195
|
-
previewUrl:
|
|
38196
|
-
liveUrl:
|
|
38266
|
+
var riverbankSiteConfigInputSchema = z63.object({
|
|
38267
|
+
siteId: z63.string().uuid(),
|
|
38268
|
+
previewUrl: z63.string().url().optional(),
|
|
38269
|
+
liveUrl: z63.string().url().optional(),
|
|
38197
38270
|
theme: sdkThemeConfigSchema.optional(),
|
|
38198
38271
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
38199
38272
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
38200
|
-
customBlocks:
|
|
38273
|
+
customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
38201
38274
|
const ids = blocks.map((b) => b.id);
|
|
38202
38275
|
return ids.length === new Set(ids).size;
|
|
38203
38276
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -38205,50 +38278,50 @@ var riverbankSiteConfigInputSchema = z65.object({
|
|
|
38205
38278
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
38206
38279
|
workflows: sdkWorkflowsSchema,
|
|
38207
38280
|
content: sdkContentConfigSchema.optional(),
|
|
38208
|
-
contentDir:
|
|
38209
|
-
sync:
|
|
38210
|
-
existingEntries:
|
|
38281
|
+
contentDir: z63.string().optional(),
|
|
38282
|
+
sync: z63.object({
|
|
38283
|
+
existingEntries: z63.enum(["skip", "update"]).optional()
|
|
38211
38284
|
}).optional(),
|
|
38212
|
-
deploy:
|
|
38213
|
-
verifyCommand:
|
|
38214
|
-
prebuildOutput:
|
|
38285
|
+
deploy: z63.object({
|
|
38286
|
+
verifyCommand: z63.string().optional(),
|
|
38287
|
+
prebuildOutput: z63.string().optional()
|
|
38215
38288
|
}).optional(),
|
|
38216
|
-
themeSource:
|
|
38217
|
-
activeTheme:
|
|
38218
|
-
enablePortal:
|
|
38289
|
+
themeSource: z63.enum(["local", "cms"]).optional(),
|
|
38290
|
+
activeTheme: z63.string().optional(),
|
|
38291
|
+
enablePortal: z63.boolean().optional(),
|
|
38219
38292
|
dashboard: dashboardConfigSchema.optional()
|
|
38220
38293
|
}).strict();
|
|
38221
|
-
var pushSdkConfigBodySchema =
|
|
38294
|
+
var pushSdkConfigBodySchema = z63.object({
|
|
38222
38295
|
config: riverbankSiteConfigInputSchema,
|
|
38223
|
-
forceContentTypes:
|
|
38296
|
+
forceContentTypes: z63.boolean().optional()
|
|
38224
38297
|
}).strict();
|
|
38225
38298
|
|
|
38226
38299
|
// ../api/src/siteOnboarding.ts
|
|
38227
|
-
import { z as
|
|
38300
|
+
import { z as z64 } from "zod";
|
|
38228
38301
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
38229
38302
|
configure_appointments: {
|
|
38230
38303
|
requirementId: "configure_appointments",
|
|
38231
38304
|
reason: "launch_anyway"
|
|
38232
38305
|
}
|
|
38233
38306
|
};
|
|
38234
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38307
|
+
var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
|
|
38235
38308
|
"requirementId",
|
|
38236
38309
|
[
|
|
38237
|
-
|
|
38238
|
-
requirementId:
|
|
38310
|
+
z64.object({
|
|
38311
|
+
requirementId: z64.literal("review_generated_site")
|
|
38239
38312
|
}),
|
|
38240
|
-
|
|
38241
|
-
requirementId:
|
|
38313
|
+
z64.object({
|
|
38314
|
+
requirementId: z64.literal(
|
|
38242
38315
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
38243
38316
|
),
|
|
38244
|
-
overrideReason:
|
|
38317
|
+
overrideReason: z64.literal(
|
|
38245
38318
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
38246
38319
|
)
|
|
38247
38320
|
})
|
|
38248
38321
|
]
|
|
38249
38322
|
);
|
|
38250
|
-
var goLiveSiteRequestSchema =
|
|
38251
|
-
acceptExtraSiteCharge:
|
|
38323
|
+
var goLiveSiteRequestSchema = z64.object({
|
|
38324
|
+
acceptExtraSiteCharge: z64.boolean().optional()
|
|
38252
38325
|
});
|
|
38253
38326
|
|
|
38254
38327
|
// ../surfaces/src/index.ts
|
|
@@ -38332,7 +38405,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
38332
38405
|
];
|
|
38333
38406
|
|
|
38334
38407
|
// ../api/src/bookingVerticals.ts
|
|
38335
|
-
import { z as
|
|
38408
|
+
import { z as z65 } from "zod";
|
|
38336
38409
|
var VERTICAL_IDS = [
|
|
38337
38410
|
"yoga_wellness",
|
|
38338
38411
|
"fitness_pt",
|
|
@@ -38497,39 +38570,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
38497
38570
|
}
|
|
38498
38571
|
return [...issues];
|
|
38499
38572
|
}
|
|
38500
|
-
var VerticalIdSchema =
|
|
38573
|
+
var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
38501
38574
|
const parsed = parseVerticalId(value);
|
|
38502
38575
|
if (!parsed) {
|
|
38503
38576
|
ctx.addIssue({
|
|
38504
|
-
code:
|
|
38577
|
+
code: z65.ZodIssueCode.custom,
|
|
38505
38578
|
message: "Unknown booking vertical"
|
|
38506
38579
|
});
|
|
38507
|
-
return
|
|
38580
|
+
return z65.NEVER;
|
|
38508
38581
|
}
|
|
38509
38582
|
return parsed;
|
|
38510
38583
|
});
|
|
38511
|
-
var VerticalPresetIdSchema =
|
|
38584
|
+
var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
38512
38585
|
const parsed = parseVerticalPresetId(value);
|
|
38513
38586
|
if (!parsed) {
|
|
38514
38587
|
ctx.addIssue({
|
|
38515
|
-
code:
|
|
38588
|
+
code: z65.ZodIssueCode.custom,
|
|
38516
38589
|
message: "Unknown booking preset"
|
|
38517
38590
|
});
|
|
38518
|
-
return
|
|
38591
|
+
return z65.NEVER;
|
|
38519
38592
|
}
|
|
38520
38593
|
return parsed;
|
|
38521
38594
|
});
|
|
38522
|
-
var BookingVerticalConfigSchema =
|
|
38595
|
+
var BookingVerticalConfigSchema = z65.object({
|
|
38523
38596
|
verticalId: VerticalIdSchema.nullable(),
|
|
38524
|
-
selectedPresetIds:
|
|
38597
|
+
selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
|
|
38525
38598
|
}).transform((value, ctx) => {
|
|
38526
38599
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
38527
38600
|
if (resolved.kind === "invalid") {
|
|
38528
38601
|
ctx.addIssue({
|
|
38529
|
-
code:
|
|
38602
|
+
code: z65.ZodIssueCode.custom,
|
|
38530
38603
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
38531
38604
|
});
|
|
38532
|
-
return
|
|
38605
|
+
return z65.NEVER;
|
|
38533
38606
|
}
|
|
38534
38607
|
return resolved.config;
|
|
38535
38608
|
});
|
|
@@ -38556,51 +38629,51 @@ function isRecord7(value) {
|
|
|
38556
38629
|
}
|
|
38557
38630
|
|
|
38558
38631
|
// ../api/src/appointmentSetup.ts
|
|
38559
|
-
import { z as
|
|
38632
|
+
import { z as z66 } from "zod";
|
|
38560
38633
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
38561
|
-
var appointmentSetupRefSchema =
|
|
38562
|
-
|
|
38563
|
-
|
|
38634
|
+
var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
|
|
38635
|
+
z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
|
|
38636
|
+
z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
|
|
38564
38637
|
]);
|
|
38565
|
-
var appointmentSetupVenueChoiceSchema =
|
|
38566
|
-
|
|
38567
|
-
|
|
38568
|
-
|
|
38569
|
-
kind:
|
|
38570
|
-
draftId:
|
|
38571
|
-
title:
|
|
38572
|
-
description:
|
|
38573
|
-
timezone:
|
|
38574
|
-
addressJson:
|
|
38575
|
-
locationJson:
|
|
38638
|
+
var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
|
|
38639
|
+
z66.object({ kind: z66.literal("none") }),
|
|
38640
|
+
z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
|
|
38641
|
+
z66.object({
|
|
38642
|
+
kind: z66.literal("create"),
|
|
38643
|
+
draftId: z66.string().min(1),
|
|
38644
|
+
title: z66.string().trim().min(1),
|
|
38645
|
+
description: z66.string().nullable(),
|
|
38646
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
38647
|
+
addressJson: z66.record(z66.string(), z66.unknown()),
|
|
38648
|
+
locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
|
|
38576
38649
|
})
|
|
38577
38650
|
]);
|
|
38578
|
-
var appointmentSetupPaymentDraftSchema =
|
|
38579
|
-
priceType:
|
|
38580
|
-
});
|
|
38581
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
38582
|
-
|
|
38583
|
-
|
|
38584
|
-
kind:
|
|
38585
|
-
resourceRefs:
|
|
38651
|
+
var appointmentSetupPaymentDraftSchema = z66.object({
|
|
38652
|
+
priceType: z66.union([z66.literal("free"), z66.literal("paid")])
|
|
38653
|
+
});
|
|
38654
|
+
var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
|
|
38655
|
+
z66.object({ kind: z66.literal("all_practitioners") }),
|
|
38656
|
+
z66.object({
|
|
38657
|
+
kind: z66.literal("selected_practitioners"),
|
|
38658
|
+
resourceRefs: z66.array(appointmentSetupRefSchema)
|
|
38586
38659
|
})
|
|
38587
38660
|
]);
|
|
38588
|
-
var appointmentSetupServiceDraftSchema =
|
|
38661
|
+
var appointmentSetupServiceDraftSchema = z66.object({
|
|
38589
38662
|
ref: appointmentSetupRefSchema,
|
|
38590
|
-
title:
|
|
38591
|
-
description:
|
|
38592
|
-
durationMinutes:
|
|
38593
|
-
prepMinutes:
|
|
38594
|
-
cleanupMinutes:
|
|
38595
|
-
priceAmount:
|
|
38596
|
-
isActive:
|
|
38597
|
-
locationType:
|
|
38598
|
-
|
|
38599
|
-
|
|
38600
|
-
|
|
38663
|
+
title: z66.string().trim().min(1),
|
|
38664
|
+
description: z66.string().nullable(),
|
|
38665
|
+
durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
38666
|
+
prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38667
|
+
cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38668
|
+
priceAmount: z66.number().int().nonnegative().nullable(),
|
|
38669
|
+
isActive: z66.boolean(),
|
|
38670
|
+
locationType: z66.union([
|
|
38671
|
+
z66.literal("virtual"),
|
|
38672
|
+
z66.literal("in_person"),
|
|
38673
|
+
z66.literal("hybrid")
|
|
38601
38674
|
]),
|
|
38602
38675
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38603
|
-
timezone:
|
|
38676
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
38604
38677
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38605
38678
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
38606
38679
|
}).superRefine((service, ctx) => {
|
|
@@ -38619,49 +38692,49 @@ var appointmentSetupServiceDraftSchema = z68.object({
|
|
|
38619
38692
|
});
|
|
38620
38693
|
}
|
|
38621
38694
|
});
|
|
38622
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
38695
|
+
var appointmentSetupPractitionerDraftSchema = z66.object({
|
|
38623
38696
|
ref: appointmentSetupRefSchema,
|
|
38624
|
-
displayName:
|
|
38625
|
-
bio:
|
|
38626
|
-
timezone:
|
|
38627
|
-
colorHex:
|
|
38628
|
-
});
|
|
38629
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
38630
|
-
weekday:
|
|
38631
|
-
startTime:
|
|
38632
|
-
endTime:
|
|
38633
|
-
});
|
|
38634
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
38635
|
-
|
|
38636
|
-
|
|
38637
|
-
kind:
|
|
38638
|
-
intervalMinutes:
|
|
38639
|
-
|
|
38640
|
-
|
|
38641
|
-
|
|
38642
|
-
|
|
38643
|
-
|
|
38644
|
-
|
|
38697
|
+
displayName: z66.string().trim().min(1),
|
|
38698
|
+
bio: z66.string().nullable(),
|
|
38699
|
+
timezone: z66.string().trim().min(1),
|
|
38700
|
+
colorHex: z66.string().nullable()
|
|
38701
|
+
});
|
|
38702
|
+
var appointmentSetupWeeklyWindowDraftSchema = z66.object({
|
|
38703
|
+
weekday: z66.number().int().min(0).max(6),
|
|
38704
|
+
startTime: z66.string(),
|
|
38705
|
+
endTime: z66.string()
|
|
38706
|
+
});
|
|
38707
|
+
var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
|
|
38708
|
+
z66.object({ kind: z66.literal("automatic_spacing") }),
|
|
38709
|
+
z66.object({
|
|
38710
|
+
kind: z66.literal("regular_interval"),
|
|
38711
|
+
intervalMinutes: z66.union([
|
|
38712
|
+
z66.literal(10),
|
|
38713
|
+
z66.literal(15),
|
|
38714
|
+
z66.literal(20),
|
|
38715
|
+
z66.literal(30),
|
|
38716
|
+
z66.literal(45),
|
|
38717
|
+
z66.literal(60)
|
|
38645
38718
|
])
|
|
38646
38719
|
})
|
|
38647
38720
|
]);
|
|
38648
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
38649
|
-
kind:
|
|
38721
|
+
var appointmentSetupAvailabilityDraftSchema = z66.object({
|
|
38722
|
+
kind: z66.literal("weekly_windows"),
|
|
38650
38723
|
resourceRef: appointmentSetupRefSchema,
|
|
38651
38724
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
38652
|
-
windows:
|
|
38725
|
+
windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
38653
38726
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
38654
38727
|
});
|
|
38655
38728
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
38656
38729
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
38657
|
-
var appointmentSetupBookingNoticeSchema =
|
|
38658
|
-
minLeadMinutes:
|
|
38659
|
-
maxBookingNoticeMinutes:
|
|
38660
|
-
});
|
|
38661
|
-
var applyAppointmentSetupRequestSchema =
|
|
38662
|
-
services:
|
|
38663
|
-
practitioners:
|
|
38664
|
-
availability:
|
|
38730
|
+
var appointmentSetupBookingNoticeSchema = z66.object({
|
|
38731
|
+
minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
38732
|
+
maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
38733
|
+
});
|
|
38734
|
+
var applyAppointmentSetupRequestSchema = z66.object({
|
|
38735
|
+
services: z66.array(appointmentSetupServiceDraftSchema),
|
|
38736
|
+
practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
|
|
38737
|
+
availability: z66.array(appointmentSetupAvailabilityDraftSchema),
|
|
38665
38738
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
38666
38739
|
});
|
|
38667
38740
|
|
|
@@ -38694,24 +38767,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
38694
38767
|
];
|
|
38695
38768
|
|
|
38696
38769
|
// ../api/src/siteBanner.ts
|
|
38697
|
-
import { z as
|
|
38770
|
+
import { z as z67 } from "zod";
|
|
38698
38771
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
38699
38772
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
38700
38773
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
38701
38774
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
38702
|
-
var siteBannerScopeSchema =
|
|
38703
|
-
var siteBannerToneSchema =
|
|
38704
|
-
var siteBannerBodySchema =
|
|
38705
|
-
var siteBannerCtaSchema =
|
|
38706
|
-
label:
|
|
38775
|
+
var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
|
|
38776
|
+
var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
|
|
38777
|
+
var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
|
|
38778
|
+
var siteBannerCtaSchema = z67.object({
|
|
38779
|
+
label: z67.string().trim().min(1),
|
|
38707
38780
|
link: linkPayloadSchema
|
|
38708
38781
|
});
|
|
38709
|
-
var siteBannerSettingsSchema =
|
|
38710
|
-
|
|
38711
|
-
enabled:
|
|
38782
|
+
var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
|
|
38783
|
+
z67.object({
|
|
38784
|
+
enabled: z67.literal(false)
|
|
38712
38785
|
}),
|
|
38713
|
-
|
|
38714
|
-
enabled:
|
|
38786
|
+
z67.object({
|
|
38787
|
+
enabled: z67.literal(true),
|
|
38715
38788
|
scope: siteBannerScopeSchema,
|
|
38716
38789
|
tone: siteBannerToneSchema,
|
|
38717
38790
|
body: siteBannerBodySchema,
|
|
@@ -38725,7 +38798,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38725
38798
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38726
38799
|
for (const issue of analysis.issues) {
|
|
38727
38800
|
ctx.addIssue({
|
|
38728
|
-
code:
|
|
38801
|
+
code: z67.ZodIssueCode.custom,
|
|
38729
38802
|
path: ["body"],
|
|
38730
38803
|
message: siteBannerBodyIssueMessage(issue)
|
|
38731
38804
|
});
|
|
@@ -39032,75 +39105,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
39032
39105
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
39033
39106
|
|
|
39034
39107
|
// ../api/src/aiPlayground.ts
|
|
39035
|
-
import { z as
|
|
39036
|
-
var Rfc6902PatchOp =
|
|
39108
|
+
import { z as z68 } from "zod";
|
|
39109
|
+
var Rfc6902PatchOp = z68.discriminatedUnion("op", [
|
|
39037
39110
|
// Standard RFC-6902 operations
|
|
39038
|
-
|
|
39039
|
-
op:
|
|
39040
|
-
path:
|
|
39041
|
-
value:
|
|
39111
|
+
z68.object({
|
|
39112
|
+
op: z68.literal("add"),
|
|
39113
|
+
path: z68.string(),
|
|
39114
|
+
value: z68.unknown()
|
|
39042
39115
|
}),
|
|
39043
|
-
|
|
39044
|
-
op:
|
|
39045
|
-
path:
|
|
39116
|
+
z68.object({
|
|
39117
|
+
op: z68.literal("remove"),
|
|
39118
|
+
path: z68.string()
|
|
39046
39119
|
}),
|
|
39047
|
-
|
|
39048
|
-
op:
|
|
39049
|
-
path:
|
|
39050
|
-
value:
|
|
39120
|
+
z68.object({
|
|
39121
|
+
op: z68.literal("replace"),
|
|
39122
|
+
path: z68.string(),
|
|
39123
|
+
value: z68.unknown()
|
|
39051
39124
|
}),
|
|
39052
|
-
|
|
39053
|
-
op:
|
|
39054
|
-
from:
|
|
39055
|
-
path:
|
|
39125
|
+
z68.object({
|
|
39126
|
+
op: z68.literal("move"),
|
|
39127
|
+
from: z68.string(),
|
|
39128
|
+
path: z68.string()
|
|
39056
39129
|
}),
|
|
39057
|
-
|
|
39058
|
-
op:
|
|
39059
|
-
from:
|
|
39060
|
-
path:
|
|
39130
|
+
z68.object({
|
|
39131
|
+
op: z68.literal("copy"),
|
|
39132
|
+
from: z68.string(),
|
|
39133
|
+
path: z68.string()
|
|
39061
39134
|
}),
|
|
39062
39135
|
// Block-level operations (Phase 2)
|
|
39063
|
-
|
|
39064
|
-
op:
|
|
39065
|
-
blockKind:
|
|
39066
|
-
afterBlockId:
|
|
39067
|
-
content:
|
|
39068
|
-
rationale:
|
|
39136
|
+
z68.object({
|
|
39137
|
+
op: z68.literal("add_block"),
|
|
39138
|
+
blockKind: z68.string(),
|
|
39139
|
+
afterBlockId: z68.string().nullable(),
|
|
39140
|
+
content: z68.record(z68.string(), z68.unknown()),
|
|
39141
|
+
rationale: z68.string()
|
|
39069
39142
|
}),
|
|
39070
|
-
|
|
39071
|
-
op:
|
|
39072
|
-
blockId:
|
|
39073
|
-
rationale:
|
|
39143
|
+
z68.object({
|
|
39144
|
+
op: z68.literal("delete_block"),
|
|
39145
|
+
blockId: z68.string(),
|
|
39146
|
+
rationale: z68.string()
|
|
39074
39147
|
}),
|
|
39075
|
-
|
|
39076
|
-
op:
|
|
39077
|
-
blockId:
|
|
39078
|
-
afterBlockId:
|
|
39079
|
-
rationale:
|
|
39148
|
+
z68.object({
|
|
39149
|
+
op: z68.literal("reorder_block"),
|
|
39150
|
+
blockId: z68.string(),
|
|
39151
|
+
afterBlockId: z68.string().nullable(),
|
|
39152
|
+
rationale: z68.string()
|
|
39080
39153
|
})
|
|
39081
39154
|
]);
|
|
39082
|
-
var PlaygroundProposeRequest =
|
|
39083
|
-
request:
|
|
39155
|
+
var PlaygroundProposeRequest = z68.object({
|
|
39156
|
+
request: z68.string().min(1).max(2e3)
|
|
39084
39157
|
});
|
|
39085
|
-
var MultiPagePatchEnvelope =
|
|
39086
|
-
pageId:
|
|
39087
|
-
blockId:
|
|
39158
|
+
var MultiPagePatchEnvelope = z68.object({
|
|
39159
|
+
pageId: z68.string(),
|
|
39160
|
+
blockId: z68.string().optional(),
|
|
39088
39161
|
// Not present for page-level ops
|
|
39089
|
-
blockKind:
|
|
39090
|
-
blockPurpose:
|
|
39091
|
-
ops:
|
|
39092
|
-
rationale:
|
|
39093
|
-
currentContent:
|
|
39162
|
+
blockKind: z68.string().optional(),
|
|
39163
|
+
blockPurpose: z68.string().optional().nullable(),
|
|
39164
|
+
ops: z68.array(Rfc6902PatchOp),
|
|
39165
|
+
rationale: z68.string(),
|
|
39166
|
+
currentContent: z68.record(z68.string(), z68.unknown()).optional()
|
|
39094
39167
|
});
|
|
39095
|
-
var MultiPageUpdateResponse =
|
|
39096
|
-
patches:
|
|
39097
|
-
assistantMessage:
|
|
39098
|
-
pagesModified:
|
|
39099
|
-
toolCallsUsed:
|
|
39168
|
+
var MultiPageUpdateResponse = z68.object({
|
|
39169
|
+
patches: z68.array(MultiPagePatchEnvelope),
|
|
39170
|
+
assistantMessage: z68.string(),
|
|
39171
|
+
pagesModified: z68.number(),
|
|
39172
|
+
toolCallsUsed: z68.number()
|
|
39100
39173
|
});
|
|
39101
39174
|
|
|
39102
39175
|
// src/config/content-validation.ts
|
|
39103
|
-
import { z as
|
|
39176
|
+
import { z as z69 } from "zod";
|
|
39104
39177
|
|
|
39105
39178
|
// src/types/block-kinds.ts
|
|
39106
39179
|
var SYSTEM_BLOCK_KINDS = [
|
|
@@ -39256,36 +39329,36 @@ function describeInvalidBindingTransform(transform) {
|
|
|
39256
39329
|
}
|
|
39257
39330
|
|
|
39258
39331
|
// src/config/content-validation.ts
|
|
39259
|
-
var jsonDataSchema =
|
|
39260
|
-
var contentTypeKeySchema =
|
|
39332
|
+
var jsonDataSchema = z69.record(z69.string(), z69.any());
|
|
39333
|
+
var contentTypeKeySchema = z69.string().min(1).regex(
|
|
39261
39334
|
/^[a-z][a-z0-9-]*$/,
|
|
39262
39335
|
"Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
|
|
39263
39336
|
);
|
|
39264
|
-
var templateConfigSchemaForward =
|
|
39265
|
-
blocks:
|
|
39266
|
-
|
|
39267
|
-
identifier:
|
|
39268
|
-
kind:
|
|
39269
|
-
scope:
|
|
39270
|
-
bindings:
|
|
39271
|
-
content:
|
|
39337
|
+
var templateConfigSchemaForward = z69.object({
|
|
39338
|
+
blocks: z69.array(
|
|
39339
|
+
z69.object({
|
|
39340
|
+
identifier: z69.string().min(1),
|
|
39341
|
+
kind: z69.string(),
|
|
39342
|
+
scope: z69.enum(["entry", "template"]),
|
|
39343
|
+
bindings: z69.record(z69.string(), z69.any()).optional(),
|
|
39344
|
+
content: z69.record(z69.string(), z69.any()).optional()
|
|
39272
39345
|
})
|
|
39273
39346
|
)
|
|
39274
39347
|
}).optional();
|
|
39275
|
-
var contentTypeOrderingSchema =
|
|
39276
|
-
mode:
|
|
39348
|
+
var contentTypeOrderingSchema = z69.object({
|
|
39349
|
+
mode: z69.enum(["default", "manual"]).optional()
|
|
39277
39350
|
}).optional();
|
|
39278
|
-
var contentTypeConfigSchema =
|
|
39351
|
+
var contentTypeConfigSchema = z69.object({
|
|
39279
39352
|
key: contentTypeKeySchema,
|
|
39280
|
-
name:
|
|
39281
|
-
description:
|
|
39282
|
-
hasPages:
|
|
39283
|
-
routePattern:
|
|
39353
|
+
name: z69.string().min(1),
|
|
39354
|
+
description: z69.string().optional(),
|
|
39355
|
+
hasPages: z69.boolean(),
|
|
39356
|
+
routePattern: z69.string().optional(),
|
|
39284
39357
|
// Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
|
|
39285
|
-
fields:
|
|
39286
|
-
titleField:
|
|
39358
|
+
fields: z69.array(z69.any()).min(1, "At least one field is required"),
|
|
39359
|
+
titleField: z69.string().optional(),
|
|
39287
39360
|
ordering: contentTypeOrderingSchema,
|
|
39288
|
-
isSingleton:
|
|
39361
|
+
isSingleton: z69.boolean().optional().default(false),
|
|
39289
39362
|
template: templateConfigSchemaForward
|
|
39290
39363
|
}).refine(
|
|
39291
39364
|
(data) => {
|
|
@@ -39307,7 +39380,7 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39307
39380
|
}
|
|
39308
39381
|
if (!data.routePattern) {
|
|
39309
39382
|
ctx.addIssue({
|
|
39310
|
-
code:
|
|
39383
|
+
code: z69.ZodIssueCode.custom,
|
|
39311
39384
|
path: ["routePattern"],
|
|
39312
39385
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39313
39386
|
});
|
|
@@ -39316,7 +39389,7 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39316
39389
|
const parseResult = safeParseRouteTemplate(data.routePattern);
|
|
39317
39390
|
if (!parseResult.success) {
|
|
39318
39391
|
ctx.addIssue({
|
|
39319
|
-
code:
|
|
39392
|
+
code: z69.ZodIssueCode.custom,
|
|
39320
39393
|
path: ["routePattern"],
|
|
39321
39394
|
message: describeRouteTemplateParseError(parseResult.error)
|
|
39322
39395
|
});
|
|
@@ -39324,44 +39397,44 @@ var contentTypeConfigSchema = z71.object({
|
|
|
39324
39397
|
}
|
|
39325
39398
|
if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
|
|
39326
39399
|
ctx.addIssue({
|
|
39327
|
-
code:
|
|
39400
|
+
code: z69.ZodIssueCode.custom,
|
|
39328
39401
|
path: ["routePattern"],
|
|
39329
39402
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39330
39403
|
});
|
|
39331
39404
|
}
|
|
39332
39405
|
});
|
|
39333
|
-
var fieldBindingSchema =
|
|
39334
|
-
source:
|
|
39335
|
-
path:
|
|
39406
|
+
var fieldBindingSchema = z69.object({
|
|
39407
|
+
source: z69.literal("field"),
|
|
39408
|
+
path: z69.string().min(1, "Field path is required")
|
|
39336
39409
|
});
|
|
39337
|
-
var metaBindingSchema =
|
|
39338
|
-
source:
|
|
39339
|
-
path:
|
|
39410
|
+
var metaBindingSchema = z69.object({
|
|
39411
|
+
source: z69.literal("meta"),
|
|
39412
|
+
path: z69.enum(TEMPLATE_BINDING_META_PATHS, {
|
|
39340
39413
|
error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
|
|
39341
39414
|
})
|
|
39342
39415
|
});
|
|
39343
|
-
var literalBindingSchema =
|
|
39344
|
-
source:
|
|
39345
|
-
value:
|
|
39416
|
+
var literalBindingSchema = z69.object({
|
|
39417
|
+
source: z69.literal("literal"),
|
|
39418
|
+
value: z69.unknown()
|
|
39346
39419
|
});
|
|
39347
|
-
var transformBindingSchema =
|
|
39348
|
-
source:
|
|
39349
|
-
path:
|
|
39350
|
-
transform:
|
|
39420
|
+
var transformBindingSchema = z69.object({
|
|
39421
|
+
source: z69.literal("transform"),
|
|
39422
|
+
path: z69.string().min(1, "Transform path is required"),
|
|
39423
|
+
transform: z69.enum(BINDING_TRANSFORM_VALUES, {
|
|
39351
39424
|
error: (issue) => describeInvalidBindingTransform(String(issue.input))
|
|
39352
39425
|
})
|
|
39353
39426
|
});
|
|
39354
|
-
var baseBindingSchema =
|
|
39427
|
+
var baseBindingSchema = z69.discriminatedUnion("source", [
|
|
39355
39428
|
fieldBindingSchema,
|
|
39356
39429
|
metaBindingSchema,
|
|
39357
39430
|
literalBindingSchema,
|
|
39358
39431
|
transformBindingSchema
|
|
39359
39432
|
]);
|
|
39360
|
-
var fallbackBindingSchema =
|
|
39361
|
-
source:
|
|
39362
|
-
sources:
|
|
39433
|
+
var fallbackBindingSchema = z69.object({
|
|
39434
|
+
source: z69.literal("fallback"),
|
|
39435
|
+
sources: z69.array(z69.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
|
|
39363
39436
|
});
|
|
39364
|
-
var bindingSourceSchema =
|
|
39437
|
+
var bindingSourceSchema = z69.union([
|
|
39365
39438
|
baseBindingSchema,
|
|
39366
39439
|
fallbackBindingSchema
|
|
39367
39440
|
]);
|
|
@@ -39375,12 +39448,12 @@ function isValidBlockKind(kind) {
|
|
|
39375
39448
|
return false;
|
|
39376
39449
|
}
|
|
39377
39450
|
var BLOCK_KIND_ERROR_MESSAGE = 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.myBlock")';
|
|
39378
|
-
var blockKindSchema =
|
|
39379
|
-
var templateBlockConfigSchema =
|
|
39380
|
-
identifier:
|
|
39451
|
+
var blockKindSchema = z69.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
|
|
39452
|
+
var templateBlockConfigSchema = z69.object({
|
|
39453
|
+
identifier: z69.string().min(1, "Block identifier is required"),
|
|
39381
39454
|
kind: blockKindSchema,
|
|
39382
|
-
scope:
|
|
39383
|
-
bindings:
|
|
39455
|
+
scope: z69.enum(["entry", "template"]),
|
|
39456
|
+
bindings: z69.record(z69.string(), bindingSourceSchema).optional(),
|
|
39384
39457
|
content: jsonDataSchema.optional()
|
|
39385
39458
|
}).refine(
|
|
39386
39459
|
(data) => {
|
|
@@ -39399,8 +39472,8 @@ var templateBlockConfigSchema = z71.object({
|
|
|
39399
39472
|
},
|
|
39400
39473
|
{ message: "Template-scoped blocks should define static content, not bindings" }
|
|
39401
39474
|
);
|
|
39402
|
-
var templateConfigSchema =
|
|
39403
|
-
blocks:
|
|
39475
|
+
var templateConfigSchema = z69.object({
|
|
39476
|
+
blocks: z69.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
|
|
39404
39477
|
}).refine(
|
|
39405
39478
|
(data) => {
|
|
39406
39479
|
const identifiers = data.blocks.map((b) => b.identifier);
|
|
@@ -39409,77 +39482,77 @@ var templateConfigSchema = z71.object({
|
|
|
39409
39482
|
},
|
|
39410
39483
|
{ message: "Template block identifiers must be unique" }
|
|
39411
39484
|
);
|
|
39412
|
-
var blockConfigSchema =
|
|
39485
|
+
var blockConfigSchema = z69.object({
|
|
39413
39486
|
kind: blockKindSchema,
|
|
39414
39487
|
content: jsonDataSchema,
|
|
39415
|
-
orderIndex:
|
|
39416
|
-
});
|
|
39417
|
-
var pageConfigSchema =
|
|
39418
|
-
identifier:
|
|
39419
|
-
title:
|
|
39420
|
-
path:
|
|
39421
|
-
purpose:
|
|
39422
|
-
blocks:
|
|
39423
|
-
status:
|
|
39424
|
-
metaTitle:
|
|
39425
|
-
metaDescription:
|
|
39426
|
-
});
|
|
39427
|
-
var entryConfigSchema =
|
|
39428
|
-
identifier:
|
|
39429
|
-
contentType:
|
|
39488
|
+
orderIndex: z69.number().optional()
|
|
39489
|
+
});
|
|
39490
|
+
var pageConfigSchema = z69.object({
|
|
39491
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39492
|
+
title: z69.string().min(1, "Title is required"),
|
|
39493
|
+
path: z69.string().regex(/^\//, "Path must start with /"),
|
|
39494
|
+
purpose: z69.string().default("content"),
|
|
39495
|
+
blocks: z69.array(blockConfigSchema).optional(),
|
|
39496
|
+
status: z69.enum(["draft", "published"]).default("draft"),
|
|
39497
|
+
metaTitle: z69.string().optional(),
|
|
39498
|
+
metaDescription: z69.string().optional()
|
|
39499
|
+
});
|
|
39500
|
+
var entryConfigSchema = z69.object({
|
|
39501
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39502
|
+
contentType: z69.string().min(1, "Content type is required"),
|
|
39430
39503
|
data: jsonDataSchema,
|
|
39431
|
-
status:
|
|
39432
|
-
slug:
|
|
39433
|
-
summary:
|
|
39504
|
+
status: z69.enum(["draft", "published"]).default("draft"),
|
|
39505
|
+
slug: z69.string().optional(),
|
|
39506
|
+
summary: z69.string().optional(),
|
|
39434
39507
|
// Hard remove legacy config-only titles: titles must live in entry `data`.
|
|
39435
|
-
title:
|
|
39508
|
+
title: z69.any().optional().refine((value) => value === void 0, {
|
|
39436
39509
|
message: "Entry titles are now derived from entry data. Remove `title` and move it into `data` (e.g. `data.title`, or your configured `titleField`). Run `riverbankcms migrate entries` for guided migration."
|
|
39437
39510
|
}),
|
|
39438
|
-
metaTitle:
|
|
39439
|
-
metaDescription:
|
|
39511
|
+
metaTitle: z69.string().optional(),
|
|
39512
|
+
metaDescription: z69.string().optional()
|
|
39440
39513
|
});
|
|
39441
|
-
var dropdownLinkSchema =
|
|
39442
|
-
kind:
|
|
39514
|
+
var dropdownLinkSchema = z69.object({
|
|
39515
|
+
kind: z69.literal("dropdown")
|
|
39443
39516
|
});
|
|
39444
|
-
var navigationLinkSchema =
|
|
39517
|
+
var navigationLinkSchema = z69.discriminatedUnion("kind", [
|
|
39445
39518
|
...navigationLinkInputSchemaOptions,
|
|
39446
39519
|
dropdownLinkSchema
|
|
39447
39520
|
]);
|
|
39448
|
-
var baseNavigationItemSchema =
|
|
39449
|
-
label:
|
|
39521
|
+
var baseNavigationItemSchema = z69.object({
|
|
39522
|
+
label: z69.string().min(1, "Label is required"),
|
|
39450
39523
|
link: navigationLinkSchema,
|
|
39451
|
-
isCta:
|
|
39524
|
+
isCta: z69.boolean().optional()
|
|
39452
39525
|
});
|
|
39453
39526
|
var navigationItemConfigSchema = baseNavigationItemSchema.extend({
|
|
39454
|
-
children:
|
|
39455
|
-
});
|
|
39456
|
-
var navigationMenuConfigSchema =
|
|
39457
|
-
identifier:
|
|
39458
|
-
name:
|
|
39459
|
-
isPrimary:
|
|
39460
|
-
isFooter:
|
|
39461
|
-
items:
|
|
39527
|
+
children: z69.lazy(() => z69.array(navigationItemConfigSchema)).optional()
|
|
39528
|
+
});
|
|
39529
|
+
var navigationMenuConfigSchema = z69.object({
|
|
39530
|
+
identifier: z69.string().min(1, "Identifier is required"),
|
|
39531
|
+
name: z69.string().min(1, "Name is required"),
|
|
39532
|
+
isPrimary: z69.boolean().optional(),
|
|
39533
|
+
isFooter: z69.boolean().optional(),
|
|
39534
|
+
items: z69.array(navigationItemConfigSchema)
|
|
39462
39535
|
}).superRefine((menu, ctx) => {
|
|
39463
39536
|
const portalStats = collectPortalLinkStats(
|
|
39464
39537
|
menu.items
|
|
39465
39538
|
);
|
|
39466
39539
|
if (portalStats.count > 1) {
|
|
39467
39540
|
ctx.addIssue({
|
|
39468
|
-
code:
|
|
39541
|
+
code: z69.ZodIssueCode.custom,
|
|
39469
39542
|
message: "Only one portal link is allowed per navigation menu",
|
|
39470
39543
|
path: ["items"]
|
|
39471
39544
|
});
|
|
39472
39545
|
}
|
|
39473
39546
|
if (portalStats.nestedLabels.length > 0) {
|
|
39474
39547
|
ctx.addIssue({
|
|
39475
|
-
code:
|
|
39548
|
+
code: z69.ZodIssueCode.custom,
|
|
39476
39549
|
message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
|
|
39477
39550
|
path: ["items"]
|
|
39478
39551
|
});
|
|
39479
39552
|
}
|
|
39480
39553
|
if (portalStats.withChildrenLabels.length > 0) {
|
|
39481
39554
|
ctx.addIssue({
|
|
39482
|
-
code:
|
|
39555
|
+
code: z69.ZodIssueCode.custom,
|
|
39483
39556
|
message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
|
|
39484
39557
|
path: ["items"]
|
|
39485
39558
|
});
|
|
@@ -39489,44 +39562,44 @@ var navigationMenuConfigSchema = z71.object({
|
|
|
39489
39562
|
);
|
|
39490
39563
|
if (cartStats.nestedLabels.length > 0) {
|
|
39491
39564
|
ctx.addIssue({
|
|
39492
|
-
code:
|
|
39565
|
+
code: z69.ZodIssueCode.custom,
|
|
39493
39566
|
message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
|
|
39494
39567
|
path: ["items"]
|
|
39495
39568
|
});
|
|
39496
39569
|
}
|
|
39497
39570
|
if (cartStats.withChildrenLabels.length > 0) {
|
|
39498
39571
|
ctx.addIssue({
|
|
39499
|
-
code:
|
|
39572
|
+
code: z69.ZodIssueCode.custom,
|
|
39500
39573
|
message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
|
|
39501
39574
|
path: ["items"]
|
|
39502
39575
|
});
|
|
39503
39576
|
}
|
|
39504
39577
|
if (cartStats.ctaLabels.length > 0) {
|
|
39505
39578
|
ctx.addIssue({
|
|
39506
|
-
code:
|
|
39579
|
+
code: z69.ZodIssueCode.custom,
|
|
39507
39580
|
message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
|
|
39508
39581
|
path: ["items"]
|
|
39509
39582
|
});
|
|
39510
39583
|
}
|
|
39511
39584
|
if (cartStats.missingVisibleTextLabels.length > 0) {
|
|
39512
39585
|
ctx.addIssue({
|
|
39513
|
-
code:
|
|
39586
|
+
code: z69.ZodIssueCode.custom,
|
|
39514
39587
|
message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
|
|
39515
39588
|
path: ["items"]
|
|
39516
39589
|
});
|
|
39517
39590
|
}
|
|
39518
39591
|
});
|
|
39519
|
-
var siteSettingsConfigSchema =
|
|
39520
|
-
homepagePath:
|
|
39521
|
-
siteTitle:
|
|
39522
|
-
siteDescription:
|
|
39523
|
-
defaultTemplates:
|
|
39592
|
+
var siteSettingsConfigSchema = z69.object({
|
|
39593
|
+
homepagePath: z69.string().optional(),
|
|
39594
|
+
siteTitle: z69.string().optional(),
|
|
39595
|
+
siteDescription: z69.string().optional(),
|
|
39596
|
+
defaultTemplates: z69.record(z69.string(), z69.string()).optional()
|
|
39524
39597
|
});
|
|
39525
|
-
var contentConfigBaseSchema =
|
|
39526
|
-
contentTypes:
|
|
39527
|
-
entries:
|
|
39528
|
-
pages:
|
|
39529
|
-
navigationMenus:
|
|
39598
|
+
var contentConfigBaseSchema = z69.object({
|
|
39599
|
+
contentTypes: z69.array(contentTypeConfigSchema).optional(),
|
|
39600
|
+
entries: z69.array(entryConfigSchema).optional(),
|
|
39601
|
+
pages: z69.array(pageConfigSchema).optional(),
|
|
39602
|
+
navigationMenus: z69.array(navigationMenuConfigSchema).optional(),
|
|
39530
39603
|
settings: siteSettingsConfigSchema.optional()
|
|
39531
39604
|
});
|
|
39532
39605
|
var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
@@ -39535,7 +39608,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39535
39608
|
const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
|
|
39536
39609
|
if (duplicateKeys.length > 0) {
|
|
39537
39610
|
ctx.addIssue({
|
|
39538
|
-
code:
|
|
39611
|
+
code: z69.ZodIssueCode.custom,
|
|
39539
39612
|
message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
|
|
39540
39613
|
path: ["contentTypes"]
|
|
39541
39614
|
});
|
|
@@ -39546,7 +39619,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39546
39619
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39547
39620
|
if (duplicateIds.length > 0) {
|
|
39548
39621
|
ctx.addIssue({
|
|
39549
|
-
code:
|
|
39622
|
+
code: z69.ZodIssueCode.custom,
|
|
39550
39623
|
message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39551
39624
|
path: ["pages"]
|
|
39552
39625
|
});
|
|
@@ -39555,7 +39628,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39555
39628
|
const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
|
|
39556
39629
|
if (duplicatePaths.length > 0) {
|
|
39557
39630
|
ctx.addIssue({
|
|
39558
|
-
code:
|
|
39631
|
+
code: z69.ZodIssueCode.custom,
|
|
39559
39632
|
message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
|
|
39560
39633
|
path: ["pages"]
|
|
39561
39634
|
});
|
|
@@ -39566,7 +39639,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39566
39639
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39567
39640
|
if (duplicateIds.length > 0) {
|
|
39568
39641
|
ctx.addIssue({
|
|
39569
|
-
code:
|
|
39642
|
+
code: z69.ZodIssueCode.custom,
|
|
39570
39643
|
message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39571
39644
|
path: ["entries"]
|
|
39572
39645
|
});
|
|
@@ -39577,7 +39650,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39577
39650
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39578
39651
|
if (duplicateIds.length > 0) {
|
|
39579
39652
|
ctx.addIssue({
|
|
39580
|
-
code:
|
|
39653
|
+
code: z69.ZodIssueCode.custom,
|
|
39581
39654
|
message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39582
39655
|
path: ["navigationMenus"]
|
|
39583
39656
|
});
|
|
@@ -39591,7 +39664,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39591
39664
|
const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
|
|
39592
39665
|
if (entriesForType.length > 1) {
|
|
39593
39666
|
ctx.addIssue({
|
|
39594
|
-
code:
|
|
39667
|
+
code: z69.ZodIssueCode.custom,
|
|
39595
39668
|
message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
|
|
39596
39669
|
path: ["entries"]
|
|
39597
39670
|
});
|
|
@@ -39704,18 +39777,18 @@ function validateLayout(layout) {
|
|
|
39704
39777
|
}
|
|
39705
39778
|
|
|
39706
39779
|
// src/config/dashboard-validation.ts
|
|
39707
|
-
import { z as
|
|
39708
|
-
var navIdListSchema2 =
|
|
39780
|
+
import { z as z70 } from "zod";
|
|
39781
|
+
var navIdListSchema2 = z70.preprocess((value) => {
|
|
39709
39782
|
if (!Array.isArray(value)) return void 0;
|
|
39710
39783
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
39711
39784
|
return filtered.length > 0 ? filtered : void 0;
|
|
39712
|
-
},
|
|
39713
|
-
var dashboardNavVisibilityBaseSchema2 =
|
|
39714
|
-
mode:
|
|
39785
|
+
}, z70.array(z70.string()).max(200, "Maximum 200 nav IDs").optional());
|
|
39786
|
+
var dashboardNavVisibilityBaseSchema2 = z70.object({
|
|
39787
|
+
mode: z70.enum(["augment", "restrict"]).optional(),
|
|
39715
39788
|
allowIds: navIdListSchema2,
|
|
39716
39789
|
denyIds: navIdListSchema2
|
|
39717
39790
|
}).strip();
|
|
39718
|
-
var dashboardNavVisibilityRolesSchema2 =
|
|
39791
|
+
var dashboardNavVisibilityRolesSchema2 = z70.object({
|
|
39719
39792
|
administrator: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39720
39793
|
editor: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39721
39794
|
team_member: dashboardNavVisibilityBaseSchema2.optional()
|
|
@@ -39723,28 +39796,28 @@ var dashboardNavVisibilityRolesSchema2 = z72.object({
|
|
|
39723
39796
|
var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
|
|
39724
39797
|
roles: dashboardNavVisibilityRolesSchema2
|
|
39725
39798
|
}).strip();
|
|
39726
|
-
var dashboardNavigationConfigSchema2 =
|
|
39799
|
+
var dashboardNavigationConfigSchema2 = z70.object({
|
|
39727
39800
|
siteNav: dashboardNavVisibilitySchema2.optional(),
|
|
39728
39801
|
settingsNav: dashboardNavVisibilitySchema2.optional()
|
|
39729
39802
|
}).strip();
|
|
39730
|
-
var dashboardConfigSchema2 =
|
|
39731
|
-
previewEditingEnabled:
|
|
39803
|
+
var dashboardConfigSchema2 = z70.object({
|
|
39804
|
+
previewEditingEnabled: z70.boolean().optional(),
|
|
39732
39805
|
navigation: dashboardNavigationConfigSchema2.optional()
|
|
39733
39806
|
}).strip();
|
|
39734
39807
|
|
|
39735
39808
|
// src/zod/titleSourceSchema.ts
|
|
39736
|
-
import { z as
|
|
39737
|
-
var titleSourceValueSchema =
|
|
39738
|
-
|
|
39739
|
-
|
|
39809
|
+
import { z as z71 } from "zod";
|
|
39810
|
+
var titleSourceValueSchema = z71.union([
|
|
39811
|
+
z71.string().min(1),
|
|
39812
|
+
z71.array(z71.string().min(1)).min(1)
|
|
39740
39813
|
]);
|
|
39741
39814
|
|
|
39742
39815
|
// src/config/validation.ts
|
|
39743
|
-
var sdkThemePaletteSchema2 =
|
|
39744
|
-
var sdkThemeConfigSchema2 =
|
|
39816
|
+
var sdkThemePaletteSchema2 = z72.record(z72.string(), z72.string());
|
|
39817
|
+
var sdkThemeConfigSchema2 = z72.object({
|
|
39745
39818
|
palette: sdkThemePaletteSchema2
|
|
39746
39819
|
});
|
|
39747
|
-
var sdkSiteUrlSchema =
|
|
39820
|
+
var sdkSiteUrlSchema = z72.string().url("Must be a valid URL").refine((url) => {
|
|
39748
39821
|
try {
|
|
39749
39822
|
const parsed = new URL(url);
|
|
39750
39823
|
const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
|
|
@@ -39753,97 +39826,97 @@ var sdkSiteUrlSchema = z74.string().url("Must be a valid URL").refine((url) => {
|
|
|
39753
39826
|
return false;
|
|
39754
39827
|
}
|
|
39755
39828
|
}, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
|
|
39756
|
-
var sectionBackgroundSchema =
|
|
39757
|
-
id:
|
|
39758
|
-
label:
|
|
39759
|
-
token:
|
|
39829
|
+
var sectionBackgroundSchema = z72.object({
|
|
39830
|
+
id: z72.string(),
|
|
39831
|
+
label: z72.string(),
|
|
39832
|
+
token: z72.string()
|
|
39760
39833
|
// Reference to theme palette token
|
|
39761
39834
|
});
|
|
39762
|
-
var sectionSpacingSchema =
|
|
39763
|
-
var containerMaxWidthSchema =
|
|
39764
|
-
var containerAlignmentSchema =
|
|
39765
|
-
var sectionOptionsSchema =
|
|
39766
|
-
backgroundColor:
|
|
39767
|
-
backgroundImage:
|
|
39768
|
-
backgroundGradient:
|
|
39769
|
-
spacing:
|
|
39770
|
-
|
|
39771
|
-
|
|
39835
|
+
var sectionSpacingSchema = z72.enum(["compact", "default", "spacious"]);
|
|
39836
|
+
var containerMaxWidthSchema = z72.enum(["narrow", "default", "wide", "full"]);
|
|
39837
|
+
var containerAlignmentSchema = z72.enum(["left", "center", "right"]);
|
|
39838
|
+
var sectionOptionsSchema = z72.object({
|
|
39839
|
+
backgroundColor: z72.boolean().optional(),
|
|
39840
|
+
backgroundImage: z72.boolean().optional(),
|
|
39841
|
+
backgroundGradient: z72.boolean().optional(),
|
|
39842
|
+
spacing: z72.union([
|
|
39843
|
+
z72.array(sectionSpacingSchema),
|
|
39844
|
+
z72.boolean()
|
|
39772
39845
|
]).optional(),
|
|
39773
|
-
textColor:
|
|
39846
|
+
textColor: z72.boolean().optional()
|
|
39774
39847
|
}).optional();
|
|
39775
|
-
var containerOptionsSchema =
|
|
39776
|
-
maxWidth:
|
|
39777
|
-
|
|
39778
|
-
|
|
39848
|
+
var containerOptionsSchema = z72.object({
|
|
39849
|
+
maxWidth: z72.union([
|
|
39850
|
+
z72.array(containerMaxWidthSchema),
|
|
39851
|
+
z72.boolean()
|
|
39779
39852
|
]).optional(),
|
|
39780
|
-
alignment:
|
|
39781
|
-
|
|
39782
|
-
|
|
39853
|
+
alignment: z72.union([
|
|
39854
|
+
z72.array(containerAlignmentSchema),
|
|
39855
|
+
z72.boolean()
|
|
39783
39856
|
]).optional()
|
|
39784
39857
|
}).optional();
|
|
39785
|
-
var siteStyleConfigSchema =
|
|
39786
|
-
sectionBackgrounds:
|
|
39858
|
+
var siteStyleConfigSchema = z72.object({
|
|
39859
|
+
sectionBackgrounds: z72.array(sectionBackgroundSchema).optional(),
|
|
39787
39860
|
sectionOptions: sectionOptionsSchema,
|
|
39788
39861
|
containerOptions: containerOptionsSchema
|
|
39789
39862
|
}).optional();
|
|
39790
|
-
var sdkLoaderEndpointSchema2 =
|
|
39863
|
+
var sdkLoaderEndpointSchema2 = z72.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
39791
39864
|
var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
|
|
39792
|
-
var loaderTransformStepSchema =
|
|
39793
|
-
id:
|
|
39865
|
+
var loaderTransformStepSchema = z72.object({
|
|
39866
|
+
id: z72.string().refine((id) => allowedTransformIds.has(id), {
|
|
39794
39867
|
message: "Unknown transform id"
|
|
39795
39868
|
}),
|
|
39796
|
-
options:
|
|
39869
|
+
options: z72.record(z72.string(), z72.unknown()).optional()
|
|
39797
39870
|
});
|
|
39798
|
-
var loaderParamBindingSchema2 =
|
|
39799
|
-
$bind:
|
|
39800
|
-
from:
|
|
39871
|
+
var loaderParamBindingSchema2 = z72.object({
|
|
39872
|
+
$bind: z72.object({
|
|
39873
|
+
from: z72.string().min(1, "Binding path is required"),
|
|
39801
39874
|
// Loader params are ultimately string-normalized for query strings, so fallbacks should
|
|
39802
39875
|
// stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
|
|
39803
39876
|
// more complex values into a string.
|
|
39804
39877
|
fallback: loaderFallbackScalarSchema.optional(),
|
|
39805
|
-
transforms:
|
|
39806
|
-
pick:
|
|
39807
|
-
coerce:
|
|
39878
|
+
transforms: z72.array(loaderTransformStepSchema).default([]),
|
|
39879
|
+
pick: z72.enum(["value", "collection", "context"]).default("value"),
|
|
39880
|
+
coerce: z72.enum(["number", "boolean", "string"]).optional()
|
|
39808
39881
|
})
|
|
39809
39882
|
});
|
|
39810
|
-
var loaderParamValueSchema2 =
|
|
39811
|
-
|
|
39812
|
-
|
|
39813
|
-
|
|
39883
|
+
var loaderParamValueSchema2 = z72.union([
|
|
39884
|
+
z72.string(),
|
|
39885
|
+
z72.number(),
|
|
39886
|
+
z72.boolean(),
|
|
39814
39887
|
loaderParamBindingSchema2
|
|
39815
39888
|
]);
|
|
39816
|
-
var loaderWhenValueSchema =
|
|
39817
|
-
|
|
39889
|
+
var loaderWhenValueSchema = z72.union([
|
|
39890
|
+
z72.boolean(),
|
|
39818
39891
|
loaderParamBindingSchema2
|
|
39819
39892
|
]);
|
|
39820
|
-
var sdkConfigLoaderSchema2 =
|
|
39893
|
+
var sdkConfigLoaderSchema2 = z72.object({
|
|
39821
39894
|
endpoint: sdkLoaderEndpointSchema2,
|
|
39822
|
-
params:
|
|
39823
|
-
mode:
|
|
39895
|
+
params: z72.record(z72.string(), loaderParamValueSchema2),
|
|
39896
|
+
mode: z72.enum(["server", "client"]).default("server"),
|
|
39824
39897
|
when: loaderWhenValueSchema.optional()
|
|
39825
39898
|
});
|
|
39826
|
-
var sdkDataLoadersSchema2 =
|
|
39899
|
+
var sdkDataLoadersSchema2 = z72.record(z72.string(), sdkConfigLoaderSchema2).refine(
|
|
39827
39900
|
(loaders) => Object.keys(loaders).length <= 5,
|
|
39828
39901
|
{ message: "Maximum 5 data loaders per block" }
|
|
39829
39902
|
).optional();
|
|
39830
|
-
var fieldSelectOptionSchema =
|
|
39831
|
-
value:
|
|
39832
|
-
label:
|
|
39903
|
+
var fieldSelectOptionSchema = z72.object({
|
|
39904
|
+
value: z72.string().min(1, "Option value is required"),
|
|
39905
|
+
label: z72.string().min(1, "Option label is required")
|
|
39833
39906
|
});
|
|
39834
|
-
var blockFieldConfigSchema =
|
|
39835
|
-
options:
|
|
39907
|
+
var blockFieldConfigSchema = z72.object({
|
|
39908
|
+
options: z72.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
|
|
39836
39909
|
});
|
|
39837
|
-
var blockFieldOptionsSchema =
|
|
39838
|
-
|
|
39910
|
+
var blockFieldOptionsSchema = z72.record(
|
|
39911
|
+
z72.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
39839
39912
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
39840
39913
|
}),
|
|
39841
|
-
|
|
39842
|
-
|
|
39914
|
+
z72.record(
|
|
39915
|
+
z72.string().min(1, "Field ID is required"),
|
|
39843
39916
|
blockFieldConfigSchema
|
|
39844
39917
|
)
|
|
39845
39918
|
).optional();
|
|
39846
|
-
var blockFieldExtensionSchema =
|
|
39919
|
+
var blockFieldExtensionSchema = z72.object({
|
|
39847
39920
|
fields: fieldSchema.array().min(1, "At least one field is required")
|
|
39848
39921
|
}).refine(
|
|
39849
39922
|
(data) => {
|
|
@@ -39857,10 +39930,10 @@ var blockFieldExtensionSchema = z74.object({
|
|
|
39857
39930
|
message: "Required fields must have a defaultValue to support existing blocks"
|
|
39858
39931
|
}
|
|
39859
39932
|
);
|
|
39860
|
-
var blockFieldExtensionsMapSchema =
|
|
39933
|
+
var blockFieldExtensionsMapSchema = z72.record(
|
|
39861
39934
|
// System blocks are kebab-case: block.body-text, block.event-calendar, ...
|
|
39862
39935
|
// Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
|
|
39863
|
-
|
|
39936
|
+
z72.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
|
|
39864
39937
|
message: "Block ID must be 'block.*' format (system blocks only)"
|
|
39865
39938
|
}),
|
|
39866
39939
|
blockFieldExtensionSchema
|
|
@@ -39876,7 +39949,7 @@ var blockFieldExtensionsMapSchema = z74.record(
|
|
|
39876
39949
|
(field) => field.id === collision.fieldId
|
|
39877
39950
|
);
|
|
39878
39951
|
ctx.addIssue({
|
|
39879
|
-
code:
|
|
39952
|
+
code: z72.ZodIssueCode.custom,
|
|
39880
39953
|
message: collision.message,
|
|
39881
39954
|
path: [
|
|
39882
39955
|
APPOINTMENT_BOOKING_BLOCK_ID,
|
|
@@ -39942,24 +40015,24 @@ function validateFieldIdConflicts(blockFieldExtensions) {
|
|
|
39942
40015
|
}
|
|
39943
40016
|
return conflicts;
|
|
39944
40017
|
}
|
|
39945
|
-
var syncConfigSchema =
|
|
39946
|
-
existingEntries:
|
|
40018
|
+
var syncConfigSchema = z72.object({
|
|
40019
|
+
existingEntries: z72.enum(["skip", "update"]).optional()
|
|
39947
40020
|
}).optional();
|
|
39948
|
-
var deployConfigSchema =
|
|
39949
|
-
verifyCommand:
|
|
39950
|
-
prebuildOutput:
|
|
40021
|
+
var deployConfigSchema = z72.object({
|
|
40022
|
+
verifyCommand: z72.string().optional(),
|
|
40023
|
+
prebuildOutput: z72.string().optional()
|
|
39951
40024
|
}).optional();
|
|
39952
|
-
var sdkCustomBlockSchema =
|
|
40025
|
+
var sdkCustomBlockSchema = z72.object({
|
|
39953
40026
|
// Block ID must start with 'custom.'
|
|
39954
|
-
id:
|
|
40027
|
+
id: z72.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
39955
40028
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
39956
40029
|
}),
|
|
39957
|
-
title:
|
|
40030
|
+
title: z72.string().min(1, "Title is required"),
|
|
39958
40031
|
titleSource: titleSourceValueSchema.optional(),
|
|
39959
|
-
description:
|
|
40032
|
+
description: z72.string().optional(),
|
|
39960
40033
|
category: blockCategoryEnum,
|
|
39961
|
-
icon:
|
|
39962
|
-
tags:
|
|
40034
|
+
icon: z72.string().optional(),
|
|
40035
|
+
tags: z72.array(z72.string()).optional(),
|
|
39963
40036
|
// Reuse the exact field schema from @riverbankcms/blocks - all field types supported
|
|
39964
40037
|
fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
39965
40038
|
// Data loaders for CMS endpoints
|
|
@@ -39967,14 +40040,14 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39967
40040
|
// Optional declarative layout - when present, block can render without React override
|
|
39968
40041
|
layout: NodeSchema.optional(),
|
|
39969
40042
|
// Optional variants system (preferred when a block has multiple structural layouts)
|
|
39970
|
-
variants:
|
|
39971
|
-
defaultVariant:
|
|
39972
|
-
variantOptions:
|
|
39973
|
-
|
|
39974
|
-
|
|
39975
|
-
label:
|
|
39976
|
-
description:
|
|
39977
|
-
icon:
|
|
40043
|
+
variants: z72.record(z72.string().min(1), NodeSchema).optional(),
|
|
40044
|
+
defaultVariant: z72.string().min(1).optional(),
|
|
40045
|
+
variantOptions: z72.record(
|
|
40046
|
+
z72.string().min(1),
|
|
40047
|
+
z72.object({
|
|
40048
|
+
label: z72.string().min(1).optional(),
|
|
40049
|
+
description: z72.string().min(1).optional(),
|
|
40050
|
+
icon: z72.string().min(1).optional()
|
|
39978
40051
|
})
|
|
39979
40052
|
).optional(),
|
|
39980
40053
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -39986,7 +40059,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39986
40059
|
const exists = fields3.some((field) => field.id === source);
|
|
39987
40060
|
if (!exists) {
|
|
39988
40061
|
ctx.addIssue({
|
|
39989
|
-
code:
|
|
40062
|
+
code: z72.ZodIssueCode.custom,
|
|
39990
40063
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
39991
40064
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
39992
40065
|
});
|
|
@@ -39995,7 +40068,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
39995
40068
|
}
|
|
39996
40069
|
if (data.layout && data.variants) {
|
|
39997
40070
|
ctx.addIssue({
|
|
39998
|
-
code:
|
|
40071
|
+
code: z72.ZodIssueCode.custom,
|
|
39999
40072
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
40000
40073
|
path: ["variants"]
|
|
40001
40074
|
});
|
|
@@ -40005,7 +40078,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40005
40078
|
if (!result.valid) {
|
|
40006
40079
|
for (const error of result.errors) {
|
|
40007
40080
|
ctx.addIssue({
|
|
40008
|
-
code:
|
|
40081
|
+
code: z72.ZodIssueCode.custom,
|
|
40009
40082
|
message: error.message,
|
|
40010
40083
|
path: ["layout"]
|
|
40011
40084
|
});
|
|
@@ -40016,14 +40089,14 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40016
40089
|
const keys = Object.keys(data.variants);
|
|
40017
40090
|
if (keys.length === 0) {
|
|
40018
40091
|
ctx.addIssue({
|
|
40019
|
-
code:
|
|
40092
|
+
code: z72.ZodIssueCode.custom,
|
|
40020
40093
|
message: "`variants` must contain at least one variant key",
|
|
40021
40094
|
path: ["variants"]
|
|
40022
40095
|
});
|
|
40023
40096
|
}
|
|
40024
40097
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
40025
40098
|
ctx.addIssue({
|
|
40026
|
-
code:
|
|
40099
|
+
code: z72.ZodIssueCode.custom,
|
|
40027
40100
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
40028
40101
|
path: ["defaultVariant"]
|
|
40029
40102
|
});
|
|
@@ -40033,7 +40106,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40033
40106
|
if (!result.valid) {
|
|
40034
40107
|
for (const error of result.errors) {
|
|
40035
40108
|
ctx.addIssue({
|
|
40036
|
-
code:
|
|
40109
|
+
code: z72.ZodIssueCode.custom,
|
|
40037
40110
|
message: `${key}: ${error.message}`,
|
|
40038
40111
|
path: ["variants", key]
|
|
40039
40112
|
});
|
|
@@ -40044,7 +40117,7 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40044
40117
|
for (const key of Object.keys(data.variantOptions)) {
|
|
40045
40118
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
40046
40119
|
ctx.addIssue({
|
|
40047
|
-
code:
|
|
40120
|
+
code: z72.ZodIssueCode.custom,
|
|
40048
40121
|
message: "`variantOptions` key must exist in `variants`",
|
|
40049
40122
|
path: ["variantOptions", key]
|
|
40050
40123
|
});
|
|
@@ -40053,58 +40126,58 @@ var sdkCustomBlockSchema = z74.object({
|
|
|
40053
40126
|
}
|
|
40054
40127
|
}
|
|
40055
40128
|
});
|
|
40056
|
-
var themeSourceSchema =
|
|
40057
|
-
var activeThemeSchema =
|
|
40129
|
+
var themeSourceSchema = z72.enum(["local", "cms"]).optional();
|
|
40130
|
+
var activeThemeSchema = z72.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
|
|
40058
40131
|
message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
|
|
40059
40132
|
}).max(64, "Theme name too long").optional();
|
|
40060
40133
|
function isValidConfigBlockKind(kind) {
|
|
40061
40134
|
if (getBlockDefinition(kind)) return true;
|
|
40062
40135
|
return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
|
|
40063
40136
|
}
|
|
40064
|
-
var layoutBlockKindSchema =
|
|
40137
|
+
var layoutBlockKindSchema = z72.string().refine(isValidConfigBlockKind, {
|
|
40065
40138
|
message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
|
|
40066
40139
|
});
|
|
40067
|
-
var layoutFooterBlockSchema =
|
|
40068
|
-
id:
|
|
40140
|
+
var layoutFooterBlockSchema = z72.object({
|
|
40141
|
+
id: z72.string().min(1).optional(),
|
|
40069
40142
|
kind: layoutBlockKindSchema,
|
|
40070
40143
|
// Allow omitted content for blocks that rely on defaults.
|
|
40071
|
-
content:
|
|
40144
|
+
content: z72.record(z72.string(), z72.unknown()).optional()
|
|
40072
40145
|
}).strict();
|
|
40073
|
-
var layoutConfigSchema =
|
|
40074
|
-
footerBlocks:
|
|
40146
|
+
var layoutConfigSchema = z72.object({
|
|
40147
|
+
footerBlocks: z72.array(layoutFooterBlockSchema).optional()
|
|
40075
40148
|
}).strict();
|
|
40076
|
-
var sdkWorkflowIdSchema2 =
|
|
40149
|
+
var sdkWorkflowIdSchema2 = z72.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
40077
40150
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
40078
40151
|
});
|
|
40079
|
-
var sdkWorkflowEndpointSchema2 =
|
|
40080
|
-
var sdkWorkflowTriggerSchema2 =
|
|
40081
|
-
|
|
40152
|
+
var sdkWorkflowEndpointSchema2 = z72.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
|
|
40153
|
+
var sdkWorkflowTriggerSchema2 = z72.discriminatedUnion("type", [
|
|
40154
|
+
z72.object({ type: z72.literal("manual") }).strict()
|
|
40082
40155
|
]);
|
|
40083
|
-
var sdkWorkflowConfirmationSchema2 =
|
|
40084
|
-
title:
|
|
40085
|
-
body:
|
|
40156
|
+
var sdkWorkflowConfirmationSchema2 = z72.object({
|
|
40157
|
+
title: z72.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
40158
|
+
body: z72.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
40086
40159
|
}).strict();
|
|
40087
|
-
var sdkWorkflowConfigSchema2 =
|
|
40160
|
+
var sdkWorkflowConfigSchema2 = z72.object({
|
|
40088
40161
|
id: sdkWorkflowIdSchema2,
|
|
40089
|
-
title:
|
|
40090
|
-
description:
|
|
40091
|
-
contentType:
|
|
40162
|
+
title: z72.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
40163
|
+
description: z72.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
40164
|
+
contentType: z72.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
40092
40165
|
endpoint: sdkWorkflowEndpointSchema2,
|
|
40093
|
-
triggers:
|
|
40166
|
+
triggers: z72.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
40094
40167
|
confirmation: sdkWorkflowConfirmationSchema2.optional()
|
|
40095
40168
|
}).strict();
|
|
40096
|
-
var sdkWorkflowsSchema2 =
|
|
40169
|
+
var sdkWorkflowsSchema2 = z72.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
40097
40170
|
const ids = workflows.map((workflow) => workflow.id);
|
|
40098
40171
|
return ids.length === new Set(ids).size;
|
|
40099
40172
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
40100
|
-
var riverbankSiteConfigSchema =
|
|
40101
|
-
siteId:
|
|
40173
|
+
var riverbankSiteConfigSchema = z72.object({
|
|
40174
|
+
siteId: z72.string().uuid(),
|
|
40102
40175
|
previewUrl: sdkSiteUrlSchema.optional(),
|
|
40103
40176
|
liveUrl: sdkSiteUrlSchema.optional(),
|
|
40104
40177
|
theme: sdkThemeConfigSchema2.optional(),
|
|
40105
40178
|
styles: siteStyleConfigSchema,
|
|
40106
40179
|
layout: layoutConfigSchema.optional(),
|
|
40107
|
-
customBlocks:
|
|
40180
|
+
customBlocks: z72.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
|
|
40108
40181
|
// Ensure unique block IDs
|
|
40109
40182
|
(blocks) => {
|
|
40110
40183
|
const ids = blocks.map((b) => b.id);
|
|
@@ -40117,7 +40190,7 @@ var riverbankSiteConfigSchema = z74.object({
|
|
|
40117
40190
|
workflows: sdkWorkflowsSchema2,
|
|
40118
40191
|
content: contentConfigSchema.optional(),
|
|
40119
40192
|
// CLI-related configuration (Phase 4)
|
|
40120
|
-
contentDir:
|
|
40193
|
+
contentDir: z72.string().optional(),
|
|
40121
40194
|
sync: syncConfigSchema,
|
|
40122
40195
|
deploy: deployConfigSchema,
|
|
40123
40196
|
// Theme sync configuration (Phase 5)
|