@riverbankcms/sdk 0.85.0 → 0.88.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/dist/{PreviewEditorSidebar-4PH35ZIE.mjs → PreviewEditorSidebar-EVRS3C7T.mjs} +3 -3
- package/dist/{PreviewEditorUI-WHMCRJGM.mjs → PreviewEditorUI-54WD4IGE.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-ZALZDJEK.mjs +8 -0
- package/dist/_dts/api/src/endpoints.d.ts +58 -14
- package/dist/_dts/api/src/index.d.ts +3 -0
- package/dist/_dts/api/src/launchReadiness.d.ts +3 -3
- package/dist/_dts/api/src/mailchimpIntegration.d.ts +215 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +35 -15
- package/dist/_dts/api/src/siteInfrastructure.d.ts +0 -14
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -13
- package/dist/_dts/api/src/types.d.ts +6 -3
- package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +42 -42
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +300 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +63 -3
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
- package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +53 -1
- package/dist/_dts/blocks/src/system/manifest/richTextSchema.d.ts +27 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +23 -23
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +10 -2
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +4 -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/shared/utils.d.ts +11 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +32 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +5 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +5 -1
- package/dist/_dts/blocks/src/system/runtime/shared/utils/formatting.d.ts +1 -1
- package/dist/_dts/content-model/src/referenceFields.d.ts +1 -1
- package/dist/_dts/core/src/currency-format.d.ts +37 -2
- package/dist/_dts/core/src/event-pricing.d.ts +24 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +549 -18
- package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +3 -1
- package/dist/_dts/sdk/src/client/types.d.ts +9 -0
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -0
- package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +3 -9
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/three-pass-converter.d.ts +7 -18
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -1
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -3
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +4 -24
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +45 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +9 -9
- package/dist/_dts/theme-core/src/schema.d.ts +11 -11
- package/dist/{chunk-ZR2GQK2A.mjs → chunk-7KOO7RPP.mjs} +953 -315
- package/dist/{chunk-OCGTXHSO.mjs → chunk-ER4UIW4X.mjs} +7 -7
- package/dist/{chunk-WFPYN7KA.mjs → chunk-HVOBXA3Y.mjs} +2 -2
- package/dist/{chunk-NFWGLRZZ.mjs → chunk-K3JWH6HE.mjs} +37 -3
- package/dist/{chunk-4QNLOTES.mjs → chunk-O4LVYUVH.mjs} +58 -14
- package/dist/{chunk-PYDHOMEO.mjs → chunk-YDMBIIS5.mjs} +1 -1
- package/dist/cli/index.mjs +408 -109
- package/dist/client/{accordion-2UZPBMYM.mjs → accordion-PT5CGW5N.mjs} +2 -2
- package/dist/client/{bookingForm-36CWQUMV.mjs → bookingForm-2HLRTEYS.mjs} +7 -7
- package/dist/client/bookings.mjs +51 -6
- package/dist/client/{carousel-QH77HR6X.mjs → carousel-Z2LKYSWA.mjs} +3 -3
- package/dist/client/cart-ND5IK4A6.mjs +18 -0
- package/dist/client/checkout-EYUSGAY7.mjs +18 -0
- package/dist/client/{chunk-SYIJ5JO2.mjs → chunk-6DVPO44G.mjs} +1 -1
- package/dist/client/{chunk-3C2VTPWI.mjs → chunk-BAWHZ5GM.mjs} +176 -13
- package/dist/client/{chunk-52CGCQ7B.mjs → chunk-BL66UWGD.mjs} +10 -80
- package/dist/client/{chunk-VGDBVNOO.mjs → chunk-DIRW2LNG.mjs} +241 -210
- package/dist/client/{chunk-UDNSI5PY.mjs → chunk-GOFO7HRH.mjs} +1 -2
- package/dist/client/{chunk-ZKUO52W3.mjs → chunk-H4MHEXYS.mjs} +1 -1
- package/dist/client/{chunk-ZE5G642V.mjs → chunk-LI2C6M5O.mjs} +75 -1
- package/dist/client/{chunk-3DTWLTXM.mjs → chunk-MHBEWDT7.mjs} +117 -3
- package/dist/client/{chunk-4OXKTA3D.mjs → chunk-O5JNI3E4.mjs} +2 -2
- package/dist/client/{chunk-XSV6KW4D.mjs → chunk-S4G65LGR.mjs} +1 -1
- package/dist/client/{chunk-DVNUDUVT.mjs → chunk-WBQG7VJA.mjs} +4 -1
- package/dist/client/{chunk-F5VRX5Y6.mjs → chunk-WCVK4MBJ.mjs} +1 -1
- package/dist/client/{chunk-7UCLJ5SP.mjs → chunk-X7GVFB7Y.mjs} +4 -7
- package/dist/client/client.mjs +2125 -1403
- package/dist/client/{courseRegistration-TMKU6ABO.mjs → courseRegistration-H3AZBUEG.mjs} +7 -7
- package/dist/client/{eventCalendar-G6TI32X6.mjs → eventCalendar-FPKJGLGS.mjs} +10 -11
- package/dist/client/{eventCombined-SCKEMNAR.mjs → eventCombined-QCGIZBUY.mjs} +10 -11
- package/dist/client/{eventDetails-XPIFXXPK.mjs → eventDetails-HIT3BJWU.mjs} +10 -11
- package/dist/client/{eventListing-7QFMEMGT.mjs → eventListing-R4HNWJDN.mjs} +10 -11
- package/dist/client/{eventRegistration-TOODSZUI.mjs → eventRegistration-Q7BYY5HF.mjs} +10 -11
- package/dist/client/{form-MTCMVCZT.mjs → form-NI6YOG6S.mjs} +3 -3
- package/dist/client/{headerSection-Y5TMR3TW.mjs → headerSection-SDYGII36.mjs} +4 -4
- package/dist/client/hooks.mjs +1682 -1412
- package/dist/client/{locationMap-RH2LG7FZ.mjs → locationMap-BDETEUQD.mjs} +3 -4
- package/dist/client/{newsletterForm-PCAIPFMA.mjs → newsletterForm-EKYIU67X.mjs} +70 -22
- package/dist/client/{productDetail-OIGDR4YE.mjs → productDetail-5UTGNN76.mjs} +8 -9
- package/dist/client/{productList-4MA5S2CX.mjs → productList-7YA5KXZQ.mjs} +8 -9
- package/dist/client/rendering/client.mjs +753 -329
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3786 -3034
- package/dist/client/shop-AIMUMZYC.mjs +20 -0
- package/dist/preview-next/before-render.mjs +58 -14
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/editor-chrome.css +56 -9
- package/dist/preview-next/middleware.mjs +58 -14
- package/dist/{sdk-runtime-QLOCYKVU.mjs → sdk-runtime-NW472WNT.mjs} +6 -6
- package/dist/server/components.mjs +1518 -1015
- package/dist/server/config-validation.mjs +1719 -1461
- package/dist/server/config.mjs +1719 -1461
- package/dist/server/data.mjs +1683 -1413
- package/dist/server/index.mjs +79 -17
- package/dist/server/next.mjs +1902 -1311
- package/dist/server/page-converter.mjs +2193 -1169
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1709 -1209
- package/dist/server/rendering.mjs +1894 -1347
- package/dist/server/routing.mjs +1872 -1499
- package/dist/server/server.mjs +1571 -1264
- package/dist/server/theme-bridge.mjs +234 -0
- package/dist/styles/index.css +232 -0
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-4FGSVUYI.mjs +0 -8
- package/dist/client/cart-X4YK4FTW.mjs +0 -19
- package/dist/client/checkout-OM2BEPWD.mjs +0 -19
- package/dist/client/chunk-I2MMZO53.mjs +0 -6
- package/dist/client/shop-WXSYV5QO.mjs +0 -21
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/config/validation.ts
|
|
2
|
-
import { z as
|
|
2
|
+
import { z as z74 } from "zod";
|
|
3
3
|
|
|
4
4
|
// ../api/src/apiEndpointTypes.ts
|
|
5
5
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
@@ -754,6 +754,64 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
754
754
|
auth: "user",
|
|
755
755
|
responseKind: "json"
|
|
756
756
|
},
|
|
757
|
+
listMailchimpAudiences: {
|
|
758
|
+
path: "/sites/{siteId}/integrations/mailchimp/audiences",
|
|
759
|
+
method: "GET",
|
|
760
|
+
tags: [TAG_TEMPLATES.site],
|
|
761
|
+
auth: "user",
|
|
762
|
+
responseKind: "json",
|
|
763
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
764
|
+
},
|
|
765
|
+
getMailchimpSignupSyncHealth: {
|
|
766
|
+
path: "/sites/{siteId}/integrations/mailchimp/signup-sync-health",
|
|
767
|
+
method: "GET",
|
|
768
|
+
tags: [TAG_TEMPLATES.site],
|
|
769
|
+
auth: "user",
|
|
770
|
+
responseKind: "json",
|
|
771
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
772
|
+
},
|
|
773
|
+
getMailchimpConnection: {
|
|
774
|
+
path: "/sites/{siteId}/integrations/mailchimp/connection",
|
|
775
|
+
method: "GET",
|
|
776
|
+
tags: [TAG_TEMPLATES.site],
|
|
777
|
+
auth: "user",
|
|
778
|
+
responseKind: "json",
|
|
779
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
780
|
+
},
|
|
781
|
+
startMailchimpOAuth: {
|
|
782
|
+
path: "/sites/{siteId}/integrations/mailchimp/oauth/start",
|
|
783
|
+
method: "POST",
|
|
784
|
+
tags: [TAG_TEMPLATES.site],
|
|
785
|
+
auth: "user",
|
|
786
|
+
responseKind: "json",
|
|
787
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
788
|
+
errors: ["auth:forbidden", "validation:invalid_input", "server:internal_error"]
|
|
789
|
+
},
|
|
790
|
+
refreshMailchimpAudiences: {
|
|
791
|
+
path: "/sites/{siteId}/integrations/mailchimp/audiences/refresh",
|
|
792
|
+
method: "POST",
|
|
793
|
+
tags: [TAG_TEMPLATES.site],
|
|
794
|
+
auth: "user",
|
|
795
|
+
responseKind: "json",
|
|
796
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
797
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
798
|
+
},
|
|
799
|
+
disconnectMailchimp: {
|
|
800
|
+
path: "/sites/{siteId}/integrations/mailchimp/disconnect",
|
|
801
|
+
method: "POST",
|
|
802
|
+
tags: [TAG_TEMPLATES.site],
|
|
803
|
+
auth: "user",
|
|
804
|
+
responseKind: "json",
|
|
805
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
806
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
807
|
+
},
|
|
808
|
+
mailchimpOAuthCallback: {
|
|
809
|
+
path: "/auth/mailchimp/callback",
|
|
810
|
+
method: "GET",
|
|
811
|
+
auth: "public",
|
|
812
|
+
responseKind: "void",
|
|
813
|
+
errors: []
|
|
814
|
+
},
|
|
757
815
|
createNewsletterList: {
|
|
758
816
|
path: "/sites/{siteId}/newsletter/lists",
|
|
759
817
|
method: "POST",
|
|
@@ -2978,20 +3036,6 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
2978
3036
|
auth: "user",
|
|
2979
3037
|
responseKind: "json"
|
|
2980
3038
|
},
|
|
2981
|
-
instagramUploadZip: {
|
|
2982
|
-
path: "/instagram/upload-zip",
|
|
2983
|
-
method: "POST",
|
|
2984
|
-
tags: ["instagram-import"],
|
|
2985
|
-
auth: "user",
|
|
2986
|
-
responseKind: "json"
|
|
2987
|
-
},
|
|
2988
|
-
createInstagramZipUploadUrl: {
|
|
2989
|
-
path: "/instagram/upload-zip-url",
|
|
2990
|
-
method: "POST",
|
|
2991
|
-
tags: ["instagram-import"],
|
|
2992
|
-
auth: "user",
|
|
2993
|
-
responseKind: "json"
|
|
2994
|
-
},
|
|
2995
3039
|
getAnalyticsReport: {
|
|
2996
3040
|
path: "/sites/{siteId}/analytics/report",
|
|
2997
3041
|
method: "GET",
|
|
@@ -6386,6 +6430,43 @@ function err(error) {
|
|
|
6386
6430
|
return { ok: false, error };
|
|
6387
6431
|
}
|
|
6388
6432
|
|
|
6433
|
+
// ../core/src/currency-format.ts
|
|
6434
|
+
var CURRENCY_LOCALE_BY_CODE = {
|
|
6435
|
+
USD: "en-US",
|
|
6436
|
+
GBP: "en-GB",
|
|
6437
|
+
EUR: "de-DE",
|
|
6438
|
+
AUD: "en-AU",
|
|
6439
|
+
CAD: "en-CA",
|
|
6440
|
+
NZD: "en-NZ",
|
|
6441
|
+
JPY: "ja-JP",
|
|
6442
|
+
CNY: "zh-CN",
|
|
6443
|
+
CHF: "de-CH"
|
|
6444
|
+
};
|
|
6445
|
+
function resolveCurrencyLocale(currencyCode, override) {
|
|
6446
|
+
return override ?? CURRENCY_LOCALE_BY_CODE[currencyCode] ?? "en";
|
|
6447
|
+
}
|
|
6448
|
+
function formatCurrencyAmount(amountCents, currency, options) {
|
|
6449
|
+
const currencyCode = currency.toUpperCase();
|
|
6450
|
+
const locale = resolveCurrencyLocale(currencyCode, options?.locale);
|
|
6451
|
+
try {
|
|
6452
|
+
const exactFormatter = new Intl.NumberFormat(locale, {
|
|
6453
|
+
style: "currency",
|
|
6454
|
+
currency: currencyCode
|
|
6455
|
+
});
|
|
6456
|
+
const fractionDigits = options?.decimals === "auto" ? {
|
|
6457
|
+
minimumFractionDigits: 0,
|
|
6458
|
+
maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
|
|
6459
|
+
} : {};
|
|
6460
|
+
return new Intl.NumberFormat(locale, {
|
|
6461
|
+
style: "currency",
|
|
6462
|
+
currency: currencyCode,
|
|
6463
|
+
...fractionDigits
|
|
6464
|
+
}).format(amountCents / 100);
|
|
6465
|
+
} catch {
|
|
6466
|
+
return `${(amountCents / 100).toFixed(2)} ${currencyCode}`;
|
|
6467
|
+
}
|
|
6468
|
+
}
|
|
6469
|
+
|
|
6389
6470
|
// ../core/src/event-pricing.ts
|
|
6390
6471
|
function publicEventPricingType(pricing) {
|
|
6391
6472
|
switch (pricing.kind) {
|
|
@@ -6406,6 +6487,7 @@ function isFreePublicEventPriceDisplay(display) {
|
|
|
6406
6487
|
return display.display.kind === "free";
|
|
6407
6488
|
case "exact":
|
|
6408
6489
|
case "from":
|
|
6490
|
+
case "range":
|
|
6409
6491
|
case "mixed":
|
|
6410
6492
|
case "unavailable":
|
|
6411
6493
|
return false;
|
|
@@ -6668,7 +6750,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
6668
6750
|
);
|
|
6669
6751
|
|
|
6670
6752
|
// ../api/src/sdkConfig/contracts.ts
|
|
6671
|
-
import { z as
|
|
6753
|
+
import { z as z65 } from "zod";
|
|
6672
6754
|
|
|
6673
6755
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
6674
6756
|
function augmentManifest(manifest) {
|
|
@@ -21826,15 +21908,53 @@ var newsletterFormFragment = defineFragment({
|
|
|
21826
21908
|
title: "Newsletter Form",
|
|
21827
21909
|
description: "Newsletter subscription form with preset field configurations.",
|
|
21828
21910
|
fields: [
|
|
21911
|
+
{
|
|
21912
|
+
id: "destinationProvider",
|
|
21913
|
+
type: "select",
|
|
21914
|
+
label: "Send signups to",
|
|
21915
|
+
description: "Choose where new subscribers from this form should go.",
|
|
21916
|
+
defaultValue: "riverbank",
|
|
21917
|
+
required: true,
|
|
21918
|
+
ui: { intent: "behavior" },
|
|
21919
|
+
options: [
|
|
21920
|
+
{ value: "riverbank", label: "Riverbank newsletter" }
|
|
21921
|
+
]
|
|
21922
|
+
},
|
|
21829
21923
|
{
|
|
21830
21924
|
id: "listId",
|
|
21831
21925
|
type: "reference",
|
|
21832
21926
|
label: "Newsletter list",
|
|
21833
21927
|
description: "Select the list new subscribers should be added to.",
|
|
21834
|
-
required:
|
|
21928
|
+
required: false,
|
|
21835
21929
|
referenceKind: "newsletterList",
|
|
21836
21930
|
allowManualEntry: false,
|
|
21837
|
-
ui: {
|
|
21931
|
+
ui: {
|
|
21932
|
+
intent: "behavior",
|
|
21933
|
+
visibleWhen: { field: "destinationProvider", equals: "riverbank" }
|
|
21934
|
+
}
|
|
21935
|
+
},
|
|
21936
|
+
{
|
|
21937
|
+
id: "mailchimpAudienceId",
|
|
21938
|
+
type: "reference",
|
|
21939
|
+
label: "Mailchimp audience",
|
|
21940
|
+
description: "Choose the Mailchimp audience for new subscribers.",
|
|
21941
|
+
required: false,
|
|
21942
|
+
referenceKind: "mailchimpAudience",
|
|
21943
|
+
allowManualEntry: false,
|
|
21944
|
+
ui: {
|
|
21945
|
+
intent: "behavior",
|
|
21946
|
+
visibleWhen: { field: "destinationProvider", equals: "mailchimp" }
|
|
21947
|
+
}
|
|
21948
|
+
},
|
|
21949
|
+
{
|
|
21950
|
+
id: "mailchimpTags",
|
|
21951
|
+
type: "text",
|
|
21952
|
+
label: "Mailchimp tags",
|
|
21953
|
+
description: "Optional tags to apply in Mailchimp, separated by commas or semicolons.",
|
|
21954
|
+
ui: {
|
|
21955
|
+
intent: "behavior",
|
|
21956
|
+
visibleWhen: { field: "destinationProvider", equals: "mailchimp" }
|
|
21957
|
+
}
|
|
21838
21958
|
},
|
|
21839
21959
|
{
|
|
21840
21960
|
id: "preset",
|
|
@@ -21881,13 +22001,18 @@ var newsletterFormFragment = defineFragment({
|
|
|
21881
22001
|
id: "tags",
|
|
21882
22002
|
type: "text",
|
|
21883
22003
|
label: "Tags (optional)",
|
|
21884
|
-
description: "Optional tags to apply on subscribe (comma or semicolon separated)."
|
|
22004
|
+
description: "Optional tags to apply on subscribe (comma or semicolon separated).",
|
|
22005
|
+
ui: {
|
|
22006
|
+
intent: "behavior",
|
|
22007
|
+
visibleWhen: { field: "destinationProvider", equals: "riverbank" }
|
|
22008
|
+
}
|
|
21885
22009
|
}
|
|
21886
22010
|
],
|
|
21887
22011
|
layout: [
|
|
21888
22012
|
el(
|
|
21889
22013
|
"newsletter-form",
|
|
21890
22014
|
withApiBindings({
|
|
22015
|
+
destinationProvider: { $bind: { from: "destinationProvider" } },
|
|
21891
22016
|
listId: { $bind: { from: "listId" } },
|
|
21892
22017
|
preset: { $bind: { from: "preset" } },
|
|
21893
22018
|
includePhone: { $bind: { from: "includePhone" } },
|
|
@@ -27728,10 +27853,10 @@ var appointmentBookingBlockDefinition = {
|
|
|
27728
27853
|
};
|
|
27729
27854
|
|
|
27730
27855
|
// ../blocks/src/system/blocks/event-registration.ts
|
|
27731
|
-
import { z as
|
|
27856
|
+
import { z as z47 } from "zod";
|
|
27732
27857
|
|
|
27733
27858
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27734
|
-
import { z as
|
|
27859
|
+
import { z as z43 } from "zod";
|
|
27735
27860
|
|
|
27736
27861
|
// ../blocks/src/lib/media.ts
|
|
27737
27862
|
import z39 from "zod";
|
|
@@ -27809,296 +27934,339 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
|
|
|
27809
27934
|
archiveMediaSchema
|
|
27810
27935
|
]);
|
|
27811
27936
|
|
|
27812
|
-
// ../blocks/src/system/
|
|
27937
|
+
// ../blocks/src/system/manifest/richTextSchema.ts
|
|
27813
27938
|
import { z as z40 } from "zod";
|
|
27814
|
-
var
|
|
27939
|
+
var TipTapMarkSchema = z40.object({
|
|
27940
|
+
type: z40.string(),
|
|
27941
|
+
attrs: z40.record(z40.string(), z40.unknown()).optional()
|
|
27942
|
+
});
|
|
27943
|
+
var TipTapNodeSchema = z40.lazy(
|
|
27944
|
+
() => z40.object({
|
|
27945
|
+
type: z40.string(),
|
|
27946
|
+
content: z40.array(TipTapNodeSchema).optional(),
|
|
27947
|
+
text: z40.string().optional(),
|
|
27948
|
+
attrs: z40.record(z40.string(), z40.unknown()).optional(),
|
|
27949
|
+
marks: z40.array(TipTapMarkSchema).optional()
|
|
27950
|
+
})
|
|
27951
|
+
);
|
|
27952
|
+
var RichTextValueSchema = z40.union([
|
|
27953
|
+
// Canonical: TipTap document directly
|
|
27954
|
+
TipTapNodeSchema,
|
|
27955
|
+
// Legacy (read-tolerance only): wrapped in { doc: {...} }
|
|
27956
|
+
z40.object({
|
|
27957
|
+
doc: TipTapNodeSchema
|
|
27958
|
+
})
|
|
27959
|
+
]);
|
|
27960
|
+
var RichTextDocSchema = z40.object({
|
|
27961
|
+
type: z40.literal("doc"),
|
|
27962
|
+
content: z40.array(TipTapNodeSchema)
|
|
27963
|
+
});
|
|
27964
|
+
|
|
27965
|
+
// ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
27966
|
+
import { z as z41 } from "zod";
|
|
27967
|
+
var bookingDepositRefundPolicySchema = z41.enum([
|
|
27815
27968
|
"refundable",
|
|
27816
27969
|
"non_refundable"
|
|
27817
27970
|
]);
|
|
27818
|
-
var bookingInstalmentPlanSchema =
|
|
27819
|
-
|
|
27820
|
-
kind:
|
|
27821
|
-
depositAmountCents:
|
|
27971
|
+
var bookingInstalmentPlanSchema = z41.union([
|
|
27972
|
+
z41.object({
|
|
27973
|
+
kind: z41.literal("deposit_plus_one_remainder"),
|
|
27974
|
+
depositAmountCents: z41.number().int().min(0),
|
|
27822
27975
|
depositRefundability: bookingDepositRefundPolicySchema,
|
|
27823
|
-
remainderDueCount:
|
|
27824
|
-
intervalUnit:
|
|
27976
|
+
remainderDueCount: z41.number().int().positive(),
|
|
27977
|
+
intervalUnit: z41.enum(["day", "week", "month"])
|
|
27825
27978
|
}),
|
|
27826
|
-
|
|
27827
|
-
kind:
|
|
27828
|
-
depositAmountCents:
|
|
27979
|
+
z41.object({
|
|
27980
|
+
kind: z41.literal("deposit_plus_scheduled_instalments"),
|
|
27981
|
+
depositAmountCents: z41.number().int().min(0),
|
|
27829
27982
|
depositRefundability: bookingDepositRefundPolicySchema,
|
|
27830
|
-
instalmentCount:
|
|
27831
|
-
intervalCount:
|
|
27832
|
-
intervalUnit:
|
|
27983
|
+
instalmentCount: z41.number().int().positive(),
|
|
27984
|
+
intervalCount: z41.number().int().positive(),
|
|
27985
|
+
intervalUnit: z41.enum(["day", "week", "month"])
|
|
27833
27986
|
}),
|
|
27834
|
-
|
|
27835
|
-
kind:
|
|
27836
|
-
instalmentCount:
|
|
27837
|
-
intervalCount:
|
|
27838
|
-
intervalUnit:
|
|
27987
|
+
z41.object({
|
|
27988
|
+
kind: z41.literal("equal_scheduled_instalments"),
|
|
27989
|
+
instalmentCount: z41.number().int().positive(),
|
|
27990
|
+
intervalCount: z41.number().int().positive(),
|
|
27991
|
+
intervalUnit: z41.enum(["day", "week", "month"])
|
|
27839
27992
|
})
|
|
27840
27993
|
]);
|
|
27841
|
-
var bookingFlexibleBalanceDueDateRuleSchema =
|
|
27842
|
-
|
|
27843
|
-
kind:
|
|
27844
|
-
daysBeforeStart:
|
|
27994
|
+
var bookingFlexibleBalanceDueDateRuleSchema = z41.union([
|
|
27995
|
+
z41.object({
|
|
27996
|
+
kind: z41.literal("relative_to_start_date"),
|
|
27997
|
+
daysBeforeStart: z41.number().int().positive()
|
|
27845
27998
|
}),
|
|
27846
|
-
|
|
27847
|
-
kind:
|
|
27848
|
-
dueAt:
|
|
27999
|
+
z41.object({
|
|
28000
|
+
kind: z41.literal("fixed_calendar_date"),
|
|
28001
|
+
dueAt: z41.string().datetime()
|
|
27849
28002
|
})
|
|
27850
28003
|
]);
|
|
27851
|
-
var bookingFlexibleBalanceConfigSchema =
|
|
27852
|
-
upfrontAmountCents:
|
|
28004
|
+
var bookingFlexibleBalanceConfigSchema = z41.object({
|
|
28005
|
+
upfrontAmountCents: z41.number().int().min(0),
|
|
27853
28006
|
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
27854
28007
|
depositRefundability: bookingDepositRefundPolicySchema
|
|
27855
28008
|
});
|
|
27856
|
-
var blockBookingPaymentCollectionOptionSchema =
|
|
27857
|
-
|
|
27858
|
-
kind:
|
|
28009
|
+
var blockBookingPaymentCollectionOptionSchema = z41.union([
|
|
28010
|
+
z41.object({
|
|
28011
|
+
kind: z41.literal("upfront")
|
|
27859
28012
|
}),
|
|
27860
|
-
|
|
27861
|
-
kind:
|
|
28013
|
+
z41.object({
|
|
28014
|
+
kind: z41.literal("deferred_manual")
|
|
27862
28015
|
}),
|
|
27863
|
-
|
|
27864
|
-
kind:
|
|
28016
|
+
z41.object({
|
|
28017
|
+
kind: z41.literal("instalment_plan"),
|
|
27865
28018
|
plan: bookingInstalmentPlanSchema
|
|
27866
28019
|
}),
|
|
27867
|
-
|
|
27868
|
-
kind:
|
|
28020
|
+
z41.object({
|
|
28021
|
+
kind: z41.literal("flexible_balance"),
|
|
27869
28022
|
config: bookingFlexibleBalanceConfigSchema
|
|
27870
28023
|
})
|
|
27871
28024
|
]);
|
|
27872
|
-
var blockBookingPaymentTermsSchema =
|
|
27873
|
-
allowedOptions:
|
|
28025
|
+
var blockBookingPaymentTermsSchema = z41.object({
|
|
28026
|
+
allowedOptions: z41.array(blockBookingPaymentCollectionOptionSchema).min(1)
|
|
27874
28027
|
});
|
|
27875
28028
|
|
|
27876
28029
|
// ../blocks/src/system/blocks/courses/shared/schemas.ts
|
|
27877
|
-
import { z as
|
|
27878
|
-
var courseVenueSchema =
|
|
27879
|
-
id:
|
|
27880
|
-
name:
|
|
27881
|
-
address:
|
|
27882
|
-
});
|
|
27883
|
-
var courseSessionSchema =
|
|
27884
|
-
id:
|
|
27885
|
-
startsAt:
|
|
27886
|
-
endsAt:
|
|
27887
|
-
timeZone:
|
|
27888
|
-
capacityOverride:
|
|
27889
|
-
overrides:
|
|
27890
|
-
});
|
|
27891
|
-
var courseTeamMemberSummarySchema =
|
|
27892
|
-
id:
|
|
27893
|
-
name:
|
|
27894
|
-
roleLabel:
|
|
27895
|
-
summary:
|
|
27896
|
-
profilePath:
|
|
27897
|
-
});
|
|
27898
|
-
var coursePricingOptionSchema =
|
|
27899
|
-
id:
|
|
27900
|
-
name:
|
|
27901
|
-
description:
|
|
27902
|
-
priceAmount:
|
|
27903
|
-
isActive:
|
|
27904
|
-
sortOrder:
|
|
27905
|
-
capacityLimit:
|
|
27906
|
-
saleStartsAt:
|
|
27907
|
-
saleEndsAt:
|
|
27908
|
-
attendanceScope:
|
|
27909
|
-
});
|
|
27910
|
-
var coursePricingSchema =
|
|
27911
|
-
bookingRequirement:
|
|
27912
|
-
pricingStrategy:
|
|
27913
|
-
currency:
|
|
27914
|
-
singlePriceAmount:
|
|
28030
|
+
import { z as z42 } from "zod";
|
|
28031
|
+
var courseVenueSchema = z42.object({
|
|
28032
|
+
id: z42.string(),
|
|
28033
|
+
name: z42.string(),
|
|
28034
|
+
address: z42.string().nullable()
|
|
28035
|
+
});
|
|
28036
|
+
var courseSessionSchema = z42.object({
|
|
28037
|
+
id: z42.string(),
|
|
28038
|
+
startsAt: z42.string(),
|
|
28039
|
+
endsAt: z42.string(),
|
|
28040
|
+
timeZone: z42.string(),
|
|
28041
|
+
capacityOverride: z42.number().nullable().optional(),
|
|
28042
|
+
overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
|
|
28043
|
+
});
|
|
28044
|
+
var courseTeamMemberSummarySchema = z42.object({
|
|
28045
|
+
id: z42.string(),
|
|
28046
|
+
name: z42.string(),
|
|
28047
|
+
roleLabel: z42.string().nullable(),
|
|
28048
|
+
summary: z42.string().nullable(),
|
|
28049
|
+
profilePath: z42.string().nullable()
|
|
28050
|
+
});
|
|
28051
|
+
var coursePricingOptionSchema = z42.object({
|
|
28052
|
+
id: z42.string(),
|
|
28053
|
+
name: z42.string(),
|
|
28054
|
+
description: z42.string().nullable(),
|
|
28055
|
+
priceAmount: z42.number(),
|
|
28056
|
+
isActive: z42.boolean(),
|
|
28057
|
+
sortOrder: z42.number(),
|
|
28058
|
+
capacityLimit: z42.number().nullable(),
|
|
28059
|
+
saleStartsAt: z42.string().nullable(),
|
|
28060
|
+
saleEndsAt: z42.string().nullable(),
|
|
28061
|
+
attendanceScope: z42.enum(["in_person", "online", "both"]).nullable().optional()
|
|
28062
|
+
});
|
|
28063
|
+
var coursePricingSchema = z42.object({
|
|
28064
|
+
bookingRequirement: z42.enum(["none", "required"]),
|
|
28065
|
+
pricingStrategy: z42.enum(["free", "single", "tiered"]),
|
|
28066
|
+
currency: z42.string(),
|
|
28067
|
+
singlePriceAmount: z42.number().nullable(),
|
|
27915
28068
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
27916
|
-
options:
|
|
27917
|
-
});
|
|
27918
|
-
var publicCourseSchema =
|
|
27919
|
-
id:
|
|
27920
|
-
title:
|
|
27921
|
-
slug:
|
|
27922
|
-
description:
|
|
27923
|
-
teamMembers:
|
|
27924
|
-
enrollmentOpen:
|
|
28069
|
+
options: z42.array(coursePricingOptionSchema)
|
|
28070
|
+
});
|
|
28071
|
+
var publicCourseSchema = z42.object({
|
|
28072
|
+
id: z42.string(),
|
|
28073
|
+
title: z42.string(),
|
|
28074
|
+
slug: z42.string(),
|
|
28075
|
+
description: z42.unknown().nullable(),
|
|
28076
|
+
teamMembers: z42.array(courseTeamMemberSummarySchema).optional(),
|
|
28077
|
+
enrollmentOpen: z42.boolean(),
|
|
27925
28078
|
pricing: coursePricingSchema.optional(),
|
|
27926
|
-
priceCents:
|
|
27927
|
-
currency:
|
|
28079
|
+
priceCents: z42.number().nullable(),
|
|
28080
|
+
currency: z42.string(),
|
|
27928
28081
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
27929
|
-
enrollmentCapacity:
|
|
27930
|
-
acceptsMemberships:
|
|
27931
|
-
status:
|
|
27932
|
-
sessionsCount:
|
|
27933
|
-
enrolledCount:
|
|
27934
|
-
availableSpots:
|
|
27935
|
-
sessions:
|
|
28082
|
+
enrollmentCapacity: z42.number().nullable(),
|
|
28083
|
+
acceptsMemberships: z42.boolean(),
|
|
28084
|
+
status: z42.enum(["active", "draft", "cancelled"]),
|
|
28085
|
+
sessionsCount: z42.number(),
|
|
28086
|
+
enrolledCount: z42.number(),
|
|
28087
|
+
availableSpots: z42.number().nullable(),
|
|
28088
|
+
sessions: z42.array(courseSessionSchema),
|
|
27936
28089
|
venue: courseVenueSchema.nullable(),
|
|
27937
|
-
contentEntryId:
|
|
28090
|
+
contentEntryId: z42.string().nullable()
|
|
27938
28091
|
});
|
|
27939
|
-
var publicCoursesArraySchema =
|
|
28092
|
+
var publicCoursesArraySchema = z42.array(publicCourseSchema);
|
|
27940
28093
|
|
|
27941
28094
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27942
|
-
var eventPresetSchema =
|
|
27943
|
-
var eventScheduleScopeSchema =
|
|
27944
|
-
var eventDestinationModeSchema =
|
|
27945
|
-
var eventVenueSchema =
|
|
27946
|
-
id:
|
|
27947
|
-
name:
|
|
27948
|
-
address:
|
|
27949
|
-
location:
|
|
27950
|
-
lat:
|
|
27951
|
-
lng:
|
|
28095
|
+
var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
|
|
28096
|
+
var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
|
|
28097
|
+
var eventDestinationModeSchema = z43.enum(["cms-managed", "system-managed"]);
|
|
28098
|
+
var eventVenueSchema = z43.object({
|
|
28099
|
+
id: z43.string(),
|
|
28100
|
+
name: z43.string(),
|
|
28101
|
+
address: z43.string().nullable(),
|
|
28102
|
+
location: z43.object({
|
|
28103
|
+
lat: z43.number(),
|
|
28104
|
+
lng: z43.number()
|
|
27952
28105
|
}).nullable()
|
|
27953
28106
|
});
|
|
27954
|
-
var eventCategorySchema =
|
|
27955
|
-
id:
|
|
27956
|
-
name:
|
|
27957
|
-
color:
|
|
27958
|
-
});
|
|
27959
|
-
var pricingTypeSchema =
|
|
27960
|
-
var accessRestrictionSchema =
|
|
27961
|
-
var eventPricingModeSchema =
|
|
27962
|
-
var publicCoursePriceDisplaySchema =
|
|
27963
|
-
|
|
27964
|
-
|
|
27965
|
-
|
|
27966
|
-
|
|
28107
|
+
var eventCategorySchema = z43.object({
|
|
28108
|
+
id: z43.string(),
|
|
28109
|
+
name: z43.string(),
|
|
28110
|
+
color: z43.string().nullable()
|
|
28111
|
+
});
|
|
28112
|
+
var pricingTypeSchema = z43.enum(["free", "paid"]);
|
|
28113
|
+
var accessRestrictionSchema = z43.enum(["none", "category"]);
|
|
28114
|
+
var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
|
|
28115
|
+
var publicCoursePriceDisplaySchema = z43.discriminatedUnion("kind", [
|
|
28116
|
+
z43.object({ kind: z43.literal("free"), currency: z43.string() }),
|
|
28117
|
+
z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
|
|
28118
|
+
z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
|
|
28119
|
+
z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
|
|
27967
28120
|
]);
|
|
27968
|
-
var publicEventPriceDisplaySchema =
|
|
27969
|
-
|
|
27970
|
-
|
|
27971
|
-
|
|
27972
|
-
|
|
27973
|
-
|
|
27974
|
-
|
|
28121
|
+
var publicEventPriceDisplaySchema = z43.discriminatedUnion("kind", [
|
|
28122
|
+
z43.object({ kind: z43.literal("free"), currency: z43.string() }),
|
|
28123
|
+
z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
|
|
28124
|
+
z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
|
|
28125
|
+
z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
|
|
28126
|
+
z43.object({
|
|
28127
|
+
kind: z43.literal("mixed"),
|
|
28128
|
+
paidFromAmount: z43.number(),
|
|
28129
|
+
paidToAmount: z43.number(),
|
|
28130
|
+
currency: z43.string()
|
|
28131
|
+
}),
|
|
28132
|
+
z43.object({ kind: z43.literal("unavailable"), currency: z43.string() }),
|
|
28133
|
+
z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
27975
28134
|
]);
|
|
27976
|
-
var publicEventTicketTypePriceDisplaySchema =
|
|
27977
|
-
|
|
27978
|
-
|
|
27979
|
-
|
|
27980
|
-
|
|
27981
|
-
|
|
28135
|
+
var publicEventTicketTypePriceDisplaySchema = z43.union([
|
|
28136
|
+
z43.object({ kind: z43.literal("free"), currency: z43.string() }),
|
|
28137
|
+
z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
|
|
28138
|
+
z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
|
|
28139
|
+
z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
|
|
28140
|
+
z43.object({
|
|
28141
|
+
kind: z43.literal("mixed"),
|
|
28142
|
+
paidFromAmount: z43.number(),
|
|
28143
|
+
paidToAmount: z43.number(),
|
|
28144
|
+
currency: z43.string()
|
|
28145
|
+
}),
|
|
28146
|
+
z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
|
|
27982
28147
|
]);
|
|
27983
|
-
var publicEventAttendanceModeSchema =
|
|
27984
|
-
var publicEventAttendanceModeAvailabilitySchema =
|
|
28148
|
+
var publicEventAttendanceModeSchema = z43.enum(["in_person", "online"]);
|
|
28149
|
+
var publicEventAttendanceModeAvailabilitySchema = z43.object({
|
|
27985
28150
|
mode: publicEventAttendanceModeSchema,
|
|
27986
|
-
capacity:
|
|
27987
|
-
registeredCount:
|
|
27988
|
-
availableSpots:
|
|
27989
|
-
waitlistEnabled:
|
|
27990
|
-
});
|
|
27991
|
-
var publicEventTicketTypeAvailabilitySchema =
|
|
27992
|
-
|
|
27993
|
-
kind:
|
|
27994
|
-
remainingCapacity:
|
|
28151
|
+
capacity: z43.number().nullable(),
|
|
28152
|
+
registeredCount: z43.number(),
|
|
28153
|
+
availableSpots: z43.number().nullable(),
|
|
28154
|
+
waitlistEnabled: z43.boolean()
|
|
28155
|
+
});
|
|
28156
|
+
var publicEventTicketTypeAvailabilitySchema = z43.union([
|
|
28157
|
+
z43.object({
|
|
28158
|
+
kind: z43.literal("available"),
|
|
28159
|
+
remainingCapacity: z43.number().nullable()
|
|
27995
28160
|
}),
|
|
27996
|
-
|
|
27997
|
-
kind:
|
|
27998
|
-
reason:
|
|
27999
|
-
remainingCapacity:
|
|
28161
|
+
z43.object({
|
|
28162
|
+
kind: z43.literal("unavailable"),
|
|
28163
|
+
reason: z43.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
|
|
28164
|
+
remainingCapacity: z43.number().nullable()
|
|
28000
28165
|
})
|
|
28001
28166
|
]);
|
|
28002
|
-
var publicEventTicketTypeSchema =
|
|
28003
|
-
id:
|
|
28004
|
-
siteId:
|
|
28005
|
-
eventSeriesId:
|
|
28006
|
-
name:
|
|
28007
|
-
description:
|
|
28008
|
-
priceAmount:
|
|
28009
|
-
isActive:
|
|
28010
|
-
sortOrder:
|
|
28011
|
-
capacityMode:
|
|
28012
|
-
capacityLimit:
|
|
28013
|
-
attendanceScope:
|
|
28014
|
-
saleStartsAt:
|
|
28015
|
-
saleEndsAt:
|
|
28167
|
+
var publicEventTicketTypeSchema = z43.object({
|
|
28168
|
+
id: z43.string(),
|
|
28169
|
+
siteId: z43.string(),
|
|
28170
|
+
eventSeriesId: z43.string(),
|
|
28171
|
+
name: z43.string(),
|
|
28172
|
+
description: z43.string().nullable(),
|
|
28173
|
+
priceAmount: z43.number(),
|
|
28174
|
+
isActive: z43.boolean(),
|
|
28175
|
+
sortOrder: z43.number(),
|
|
28176
|
+
capacityMode: z43.enum(["limited", "unlimited"]),
|
|
28177
|
+
capacityLimit: z43.number().nullable(),
|
|
28178
|
+
attendanceScope: z43.enum(["in_person", "online", "both"]).optional(),
|
|
28179
|
+
saleStartsAt: z43.string().nullable(),
|
|
28180
|
+
saleEndsAt: z43.string().nullable(),
|
|
28016
28181
|
availability: publicEventTicketTypeAvailabilitySchema,
|
|
28017
|
-
createdAt:
|
|
28018
|
-
updatedAt:
|
|
28019
|
-
});
|
|
28020
|
-
var publicEventPricingSchema =
|
|
28021
|
-
|
|
28022
|
-
kind:
|
|
28023
|
-
currency:
|
|
28024
|
-
display:
|
|
28182
|
+
createdAt: z43.string(),
|
|
28183
|
+
updatedAt: z43.string()
|
|
28184
|
+
});
|
|
28185
|
+
var publicEventPricingSchema = z43.discriminatedUnion("kind", [
|
|
28186
|
+
z43.object({
|
|
28187
|
+
kind: z43.literal("drop_in"),
|
|
28188
|
+
currency: z43.string(),
|
|
28189
|
+
display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
|
|
28025
28190
|
}),
|
|
28026
|
-
|
|
28027
|
-
kind:
|
|
28028
|
-
currency:
|
|
28029
|
-
display:
|
|
28191
|
+
z43.object({
|
|
28192
|
+
kind: z43.literal("free_registration"),
|
|
28193
|
+
currency: z43.string(),
|
|
28194
|
+
display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
|
|
28030
28195
|
}),
|
|
28031
|
-
|
|
28032
|
-
kind:
|
|
28033
|
-
amount:
|
|
28034
|
-
currency:
|
|
28035
|
-
display:
|
|
28196
|
+
z43.object({
|
|
28197
|
+
kind: z43.literal("single_paid"),
|
|
28198
|
+
amount: z43.number(),
|
|
28199
|
+
currency: z43.string(),
|
|
28200
|
+
display: z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() })
|
|
28036
28201
|
}),
|
|
28037
|
-
|
|
28038
|
-
kind:
|
|
28039
|
-
currency:
|
|
28040
|
-
ticketTypes:
|
|
28202
|
+
z43.object({
|
|
28203
|
+
kind: z43.literal("ticket_types"),
|
|
28204
|
+
currency: z43.string(),
|
|
28205
|
+
ticketTypes: z43.array(publicEventTicketTypeSchema),
|
|
28041
28206
|
display: publicEventTicketTypePriceDisplaySchema
|
|
28042
28207
|
}),
|
|
28043
|
-
|
|
28044
|
-
kind:
|
|
28045
|
-
display:
|
|
28208
|
+
z43.object({
|
|
28209
|
+
kind: z43.literal("course"),
|
|
28210
|
+
display: z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28046
28211
|
})
|
|
28047
28212
|
]);
|
|
28048
|
-
var publicTeamMemberSummarySchema =
|
|
28049
|
-
id:
|
|
28050
|
-
name:
|
|
28051
|
-
roleLabel:
|
|
28052
|
-
summary:
|
|
28053
|
-
profilePath:
|
|
28213
|
+
var publicTeamMemberSummarySchema = z43.object({
|
|
28214
|
+
id: z43.string(),
|
|
28215
|
+
name: z43.string(),
|
|
28216
|
+
roleLabel: z43.string().nullable(),
|
|
28217
|
+
summary: z43.string().nullable(),
|
|
28218
|
+
profilePath: z43.string().nullable()
|
|
28054
28219
|
});
|
|
28055
|
-
var publicEventSchema =
|
|
28056
|
-
kind:
|
|
28220
|
+
var publicEventSchema = z43.object({
|
|
28221
|
+
kind: z43.enum(["event", "course_session"]).optional(),
|
|
28057
28222
|
eventPreset: eventPresetSchema.optional(),
|
|
28058
28223
|
eventDestinationMode: eventDestinationModeSchema.optional(),
|
|
28059
28224
|
scheduleScope: eventScheduleScopeSchema.optional(),
|
|
28060
|
-
id:
|
|
28061
|
-
occurrenceId:
|
|
28062
|
-
seriesId:
|
|
28063
|
-
title:
|
|
28064
|
-
description:
|
|
28065
|
-
|
|
28066
|
-
|
|
28067
|
-
|
|
28225
|
+
id: z43.string(),
|
|
28226
|
+
occurrenceId: z43.string(),
|
|
28227
|
+
seriesId: z43.string(),
|
|
28228
|
+
title: z43.string(),
|
|
28229
|
+
description: z43.string().nullable(),
|
|
28230
|
+
content: z43.object({
|
|
28231
|
+
body: RichTextDocSchema.nullable().optional()
|
|
28232
|
+
}).optional(),
|
|
28233
|
+
presentation: z43.object({
|
|
28234
|
+
cardTitleOverride: z43.string().nullable().optional(),
|
|
28235
|
+
summary: z43.string().nullable().optional(),
|
|
28068
28236
|
image: mediaSchema2.nullable().optional()
|
|
28069
28237
|
}).optional(),
|
|
28070
|
-
slug:
|
|
28071
|
-
path:
|
|
28072
|
-
requiresRegistration:
|
|
28073
|
-
deliveryMode:
|
|
28074
|
-
attendanceModes:
|
|
28075
|
-
startsAt:
|
|
28076
|
-
endsAt:
|
|
28077
|
-
capacity:
|
|
28078
|
-
registeredCount:
|
|
28079
|
-
availableSpots:
|
|
28080
|
-
waitlistEnabled:
|
|
28238
|
+
slug: z43.string(),
|
|
28239
|
+
path: z43.string(),
|
|
28240
|
+
requiresRegistration: z43.boolean(),
|
|
28241
|
+
deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
|
|
28242
|
+
attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
|
|
28243
|
+
startsAt: z43.string(),
|
|
28244
|
+
endsAt: z43.string(),
|
|
28245
|
+
capacity: z43.number().nullable(),
|
|
28246
|
+
registeredCount: z43.number(),
|
|
28247
|
+
availableSpots: z43.number().nullable(),
|
|
28248
|
+
waitlistEnabled: z43.boolean(),
|
|
28081
28249
|
venue: eventVenueSchema.nullable(),
|
|
28082
28250
|
eventCategory: eventCategorySchema.nullable(),
|
|
28083
|
-
teamMembers:
|
|
28084
|
-
status:
|
|
28085
|
-
timeZone:
|
|
28251
|
+
teamMembers: z43.array(publicTeamMemberSummarySchema).optional(),
|
|
28252
|
+
status: z43.enum(["active", "draft", "archived"]).optional(),
|
|
28253
|
+
timeZone: z43.string(),
|
|
28086
28254
|
pricing: publicEventPricingSchema,
|
|
28087
28255
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28088
28256
|
accessRestriction: accessRestrictionSchema,
|
|
28089
|
-
allowedCategoryIds:
|
|
28090
|
-
requireGuestDetails:
|
|
28091
|
-
acceptsPasses:
|
|
28092
|
-
acceptsMemberships:
|
|
28093
|
-
course:
|
|
28094
|
-
id:
|
|
28257
|
+
allowedCategoryIds: z43.array(z43.string()),
|
|
28258
|
+
requireGuestDetails: z43.boolean().optional(),
|
|
28259
|
+
acceptsPasses: z43.boolean().optional(),
|
|
28260
|
+
acceptsMemberships: z43.boolean().optional(),
|
|
28261
|
+
course: z43.object({
|
|
28262
|
+
id: z43.string(),
|
|
28095
28263
|
pricing: coursePricingSchema.optional(),
|
|
28096
|
-
priceCents:
|
|
28097
|
-
currency:
|
|
28098
|
-
enrollmentOpen:
|
|
28264
|
+
priceCents: z43.number().nullable(),
|
|
28265
|
+
currency: z43.string(),
|
|
28266
|
+
enrollmentOpen: z43.boolean()
|
|
28099
28267
|
}).nullable().optional()
|
|
28100
28268
|
});
|
|
28101
|
-
var publicEventsArraySchema =
|
|
28269
|
+
var publicEventsArraySchema = z43.array(publicEventSchema);
|
|
28102
28270
|
|
|
28103
28271
|
// ../blocks/src/system/blocks/events/shared/fields.ts
|
|
28104
28272
|
var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
|
|
@@ -28302,19 +28470,19 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28302
28470
|
}
|
|
28303
28471
|
|
|
28304
28472
|
// ../blocks/src/system/blocks/event-registration.shared.ts
|
|
28305
|
-
import { z as
|
|
28306
|
-
var occurrenceContextSchema =
|
|
28307
|
-
id:
|
|
28308
|
-
seriesId:
|
|
28309
|
-
startsAt:
|
|
28310
|
-
endsAt:
|
|
28311
|
-
timeZone:
|
|
28312
|
-
capacityOverride:
|
|
28313
|
-
overrides:
|
|
28473
|
+
import { z as z44 } from "zod";
|
|
28474
|
+
var occurrenceContextSchema = z44.object({
|
|
28475
|
+
id: z44.string(),
|
|
28476
|
+
seriesId: z44.string(),
|
|
28477
|
+
startsAt: z44.string(),
|
|
28478
|
+
endsAt: z44.string(),
|
|
28479
|
+
timeZone: z44.string(),
|
|
28480
|
+
capacityOverride: z44.number().nullable().optional(),
|
|
28481
|
+
overrides: z44.record(z44.string(), z44.unknown()).nullable().optional()
|
|
28314
28482
|
}).nullable();
|
|
28315
28483
|
|
|
28316
28484
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28317
|
-
import { z as
|
|
28485
|
+
import { z as z46 } from "zod";
|
|
28318
28486
|
|
|
28319
28487
|
// ../blocks/src/system/constants/events.ts
|
|
28320
28488
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
@@ -28412,10 +28580,21 @@ function readLegacyPriceDisplay(value, currency) {
|
|
|
28412
28580
|
amount: readAmount(value.amount) ?? 0,
|
|
28413
28581
|
currency: displayCurrency
|
|
28414
28582
|
} : { kind: "unavailable", currency };
|
|
28583
|
+
case "range": {
|
|
28584
|
+
const minAmount = readAmount(value.minAmount);
|
|
28585
|
+
const maxAmount = readAmount(value.maxAmount);
|
|
28586
|
+
return minAmount !== null && maxAmount !== null ? {
|
|
28587
|
+
kind: "range",
|
|
28588
|
+
minAmount,
|
|
28589
|
+
maxAmount,
|
|
28590
|
+
currency: displayCurrency
|
|
28591
|
+
} : { kind: "unavailable", currency };
|
|
28592
|
+
}
|
|
28415
28593
|
case "mixed":
|
|
28416
28594
|
return readAmount(value.paidFromAmount) !== null ? {
|
|
28417
28595
|
kind: "mixed",
|
|
28418
28596
|
paidFromAmount: readAmount(value.paidFromAmount) ?? 0,
|
|
28597
|
+
paidToAmount: readAmount(value.paidToAmount) ?? readAmount(value.paidFromAmount) ?? 0,
|
|
28419
28598
|
currency: displayCurrency
|
|
28420
28599
|
} : { kind: "unavailable", currency };
|
|
28421
28600
|
case "unavailable":
|
|
@@ -28457,16 +28636,16 @@ function readAmount(value) {
|
|
|
28457
28636
|
}
|
|
28458
28637
|
|
|
28459
28638
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28460
|
-
import { z as
|
|
28461
|
-
var previewStageSchema =
|
|
28462
|
-
var registrationButtonVariantSchema =
|
|
28463
|
-
var eventButtonVariantSchema =
|
|
28464
|
-
var eventLayoutSchema =
|
|
28465
|
-
var eventCalendarDisplayModeSchema =
|
|
28466
|
-
var columnOptionSchema =
|
|
28467
|
-
var weekStartSchema =
|
|
28468
|
-
var filterAutoShowSchema =
|
|
28469
|
-
var calendarTabViewsSchema =
|
|
28639
|
+
import { z as z45 } from "zod";
|
|
28640
|
+
var previewStageSchema = z45.enum(["preview", "published"]);
|
|
28641
|
+
var registrationButtonVariantSchema = z45.enum(["primary", "secondary", "outline"]);
|
|
28642
|
+
var eventButtonVariantSchema = z45.enum(["primary", "secondary", "outline", "link"]);
|
|
28643
|
+
var eventLayoutSchema = z45.enum(eventCalendarListLayoutValues);
|
|
28644
|
+
var eventCalendarDisplayModeSchema = z45.enum(eventCalendarDisplayModeValues);
|
|
28645
|
+
var columnOptionSchema = z45.enum(["2", "3", "4"]);
|
|
28646
|
+
var weekStartSchema = z45.enum(["sunday", "monday"]);
|
|
28647
|
+
var filterAutoShowSchema = z45.enum(["auto", "always", "never"]);
|
|
28648
|
+
var calendarTabViewsSchema = z45.enum(["both", "month", "week"]);
|
|
28470
28649
|
|
|
28471
28650
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28472
28651
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -28526,66 +28705,68 @@ function toRegistrationEvents(events) {
|
|
|
28526
28705
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28527
28706
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28528
28707
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28529
|
-
var contentEntrySchema =
|
|
28530
|
-
id:
|
|
28531
|
-
slug:
|
|
28532
|
-
contentTypeSlug:
|
|
28708
|
+
var contentEntrySchema = z46.object({
|
|
28709
|
+
id: z46.string(),
|
|
28710
|
+
slug: z46.string(),
|
|
28711
|
+
contentTypeSlug: z46.string()
|
|
28533
28712
|
});
|
|
28534
|
-
var eventRegistrationPublicEventSchema =
|
|
28713
|
+
var eventRegistrationPublicEventSchema = z46.preprocess(
|
|
28535
28714
|
normalizeEventRegistrationEventInput,
|
|
28536
28715
|
publicEventSchema
|
|
28537
28716
|
);
|
|
28538
|
-
var eventRegistrationSourceSchema =
|
|
28539
|
-
siteId:
|
|
28540
|
-
apiBaseUrl:
|
|
28541
|
-
portalToken:
|
|
28542
|
-
previewToken:
|
|
28717
|
+
var eventRegistrationSourceSchema = z46.object({
|
|
28718
|
+
siteId: z46.string().optional(),
|
|
28719
|
+
apiBaseUrl: z46.string().optional(),
|
|
28720
|
+
portalToken: z46.string().nullable().optional(),
|
|
28721
|
+
previewToken: z46.string().nullable().optional(),
|
|
28543
28722
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28544
28723
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28545
|
-
events:
|
|
28546
|
-
className:
|
|
28547
|
-
buttonText:
|
|
28548
|
-
maxTickets:
|
|
28549
|
-
showVenue:
|
|
28550
|
-
showCapacity:
|
|
28551
|
-
successMessage:
|
|
28552
|
-
waitlistMessage:
|
|
28724
|
+
events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28725
|
+
className: z46.string().nullable().optional(),
|
|
28726
|
+
buttonText: z46.string().nullable().optional(),
|
|
28727
|
+
maxTickets: z46.string().nullable().optional(),
|
|
28728
|
+
showVenue: z46.boolean().optional(),
|
|
28729
|
+
showCapacity: z46.boolean().optional(),
|
|
28730
|
+
successMessage: z46.string().optional(),
|
|
28731
|
+
waitlistMessage: z46.string().optional(),
|
|
28553
28732
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28554
|
-
|
|
28733
|
+
overlayEnabled: z46.boolean().optional(),
|
|
28734
|
+
spamProtectionEnabled: z46.boolean().optional(),
|
|
28555
28735
|
stage: previewStageSchema.optional(),
|
|
28556
|
-
supportEmail:
|
|
28557
|
-
});
|
|
28558
|
-
var eventRegistrationDisplaySchema =
|
|
28559
|
-
kind:
|
|
28560
|
-
state:
|
|
28561
|
-
className:
|
|
28562
|
-
titleText:
|
|
28563
|
-
bodyText:
|
|
28564
|
-
stepLabels:
|
|
28565
|
-
summaryButtonText:
|
|
28566
|
-
});
|
|
28567
|
-
var eventRegistrationHydrationSchema =
|
|
28736
|
+
supportEmail: z46.string().optional()
|
|
28737
|
+
});
|
|
28738
|
+
var eventRegistrationDisplaySchema = z46.object({
|
|
28739
|
+
kind: z46.literal("event-registration"),
|
|
28740
|
+
state: z46.literal("generic-shell"),
|
|
28741
|
+
className: z46.string().nullable(),
|
|
28742
|
+
titleText: z46.string(),
|
|
28743
|
+
bodyText: z46.string(),
|
|
28744
|
+
stepLabels: z46.array(z46.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
28745
|
+
summaryButtonText: z46.string()
|
|
28746
|
+
});
|
|
28747
|
+
var eventRegistrationHydrationSchema = z46.object({
|
|
28568
28748
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28569
28749
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28570
|
-
events:
|
|
28571
|
-
maxTickets:
|
|
28572
|
-
showVenue:
|
|
28573
|
-
showCapacity:
|
|
28574
|
-
successMessage:
|
|
28575
|
-
waitlistMessage:
|
|
28750
|
+
events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28751
|
+
maxTickets: z46.string().optional(),
|
|
28752
|
+
showVenue: z46.boolean().optional(),
|
|
28753
|
+
showCapacity: z46.boolean().optional(),
|
|
28754
|
+
successMessage: z46.string().optional(),
|
|
28755
|
+
waitlistMessage: z46.string().optional(),
|
|
28576
28756
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28577
|
-
|
|
28578
|
-
|
|
28757
|
+
overlayEnabled: z46.boolean().optional(),
|
|
28758
|
+
spamProtectionEnabled: z46.boolean().optional(),
|
|
28759
|
+
supportEmail: z46.string().optional()
|
|
28579
28760
|
});
|
|
28580
|
-
var eventRegistrationRenderSchema =
|
|
28761
|
+
var eventRegistrationRenderSchema = z46.object({
|
|
28581
28762
|
display: eventRegistrationDisplaySchema,
|
|
28582
28763
|
hydration: eventRegistrationHydrationSchema
|
|
28583
28764
|
});
|
|
28584
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
28585
|
-
siteId:
|
|
28586
|
-
apiBaseUrl:
|
|
28587
|
-
portalToken:
|
|
28588
|
-
previewToken:
|
|
28765
|
+
var eventRegistrationIslandMetaCodec = createZodCodec(z46.object({
|
|
28766
|
+
siteId: z46.string().optional(),
|
|
28767
|
+
apiBaseUrl: z46.string().optional(),
|
|
28768
|
+
portalToken: z46.string().nullable().optional(),
|
|
28769
|
+
previewToken: z46.string().nullable().optional(),
|
|
28589
28770
|
stage: previewStageSchema.optional()
|
|
28590
28771
|
}));
|
|
28591
28772
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -28689,6 +28870,7 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
28689
28870
|
successMessage: source.successMessage,
|
|
28690
28871
|
waitlistMessage: source.waitlistMessage,
|
|
28691
28872
|
buttonVariant: source.buttonVariant,
|
|
28873
|
+
overlayEnabled: source.overlayEnabled,
|
|
28692
28874
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
28693
28875
|
supportEmail: source.supportEmail
|
|
28694
28876
|
}
|
|
@@ -28864,6 +29046,12 @@ var eventRegistrationManifest = createBlockManifest({
|
|
|
28864
29046
|
buttonVariant: {
|
|
28865
29047
|
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
28866
29048
|
},
|
|
29049
|
+
overlayEnabled: {
|
|
29050
|
+
$bind: {
|
|
29051
|
+
from: "$root.eventRegistrationOverlayEnabled",
|
|
29052
|
+
fallback: false
|
|
29053
|
+
}
|
|
29054
|
+
},
|
|
28867
29055
|
// Event data from loader
|
|
28868
29056
|
events: { $bind: { from: "data.events" } },
|
|
28869
29057
|
// Stage for preview mode (allows registering for draft events)
|
|
@@ -28884,7 +29072,7 @@ var eventRegistrationBlockDefinition = {
|
|
|
28884
29072
|
manifest: eventRegistrationManifest,
|
|
28885
29073
|
runtime: eventRegistrationBlockRuntime,
|
|
28886
29074
|
dataSchemas: {
|
|
28887
|
-
events:
|
|
29075
|
+
events: z47.array(publicEventSchema).optional(),
|
|
28888
29076
|
occurrenceContext: occurrenceContextSchema.optional()
|
|
28889
29077
|
},
|
|
28890
29078
|
dataLoaders: {
|
|
@@ -28908,73 +29096,73 @@ var eventRegistrationBlockDefinition = {
|
|
|
28908
29096
|
};
|
|
28909
29097
|
|
|
28910
29098
|
// ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
|
|
28911
|
-
import { z as
|
|
28912
|
-
var contentEntrySchema2 =
|
|
28913
|
-
id:
|
|
28914
|
-
slug:
|
|
28915
|
-
contentTypeSlug:
|
|
28916
|
-
});
|
|
28917
|
-
var courseEntrySubrouteContextSchema =
|
|
28918
|
-
|
|
28919
|
-
kind:
|
|
28920
|
-
run:
|
|
28921
|
-
courseId:
|
|
28922
|
-
seriesId:
|
|
28923
|
-
runSlug:
|
|
28924
|
-
runName:
|
|
29099
|
+
import { z as z48 } from "zod";
|
|
29100
|
+
var contentEntrySchema2 = z48.object({
|
|
29101
|
+
id: z48.string(),
|
|
29102
|
+
slug: z48.string(),
|
|
29103
|
+
contentTypeSlug: z48.string()
|
|
29104
|
+
});
|
|
29105
|
+
var courseEntrySubrouteContextSchema = z48.union([
|
|
29106
|
+
z48.object({
|
|
29107
|
+
kind: z48.literal("course-run"),
|
|
29108
|
+
run: z48.object({
|
|
29109
|
+
courseId: z48.string(),
|
|
29110
|
+
seriesId: z48.string(),
|
|
29111
|
+
runSlug: z48.string(),
|
|
29112
|
+
runName: z48.string().nullable()
|
|
28925
29113
|
})
|
|
28926
29114
|
}),
|
|
28927
|
-
|
|
28928
|
-
kind:
|
|
29115
|
+
z48.object({
|
|
29116
|
+
kind: z48.literal("event-occurrence"),
|
|
28929
29117
|
occurrence: occurrenceContextSchema
|
|
28930
29118
|
})
|
|
28931
29119
|
]);
|
|
28932
|
-
var courseRegistrationSourceSchema =
|
|
28933
|
-
siteId:
|
|
28934
|
-
apiBaseUrl:
|
|
28935
|
-
portalToken:
|
|
29120
|
+
var courseRegistrationSourceSchema = z48.object({
|
|
29121
|
+
siteId: z48.string().optional(),
|
|
29122
|
+
apiBaseUrl: z48.string().optional(),
|
|
29123
|
+
portalToken: z48.string().nullable().optional(),
|
|
28936
29124
|
contentEntry: contentEntrySchema2.nullable().optional(),
|
|
28937
29125
|
entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
|
|
28938
|
-
courses:
|
|
28939
|
-
className:
|
|
28940
|
-
showSessions:
|
|
28941
|
-
showPrice:
|
|
28942
|
-
showCapacity:
|
|
28943
|
-
showVenue:
|
|
28944
|
-
successMessage:
|
|
28945
|
-
waitlistMessage:
|
|
28946
|
-
membershipMessage:
|
|
28947
|
-
buttonText:
|
|
29126
|
+
courses: z48.array(publicCourseSchema).nullable().optional(),
|
|
29127
|
+
className: z48.string().nullable().optional(),
|
|
29128
|
+
showSessions: z48.boolean().optional(),
|
|
29129
|
+
showPrice: z48.boolean().optional(),
|
|
29130
|
+
showCapacity: z48.boolean().optional(),
|
|
29131
|
+
showVenue: z48.boolean().optional(),
|
|
29132
|
+
successMessage: z48.string().optional(),
|
|
29133
|
+
waitlistMessage: z48.string().optional(),
|
|
29134
|
+
membershipMessage: z48.string().optional(),
|
|
29135
|
+
buttonText: z48.string().nullable().optional(),
|
|
28948
29136
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28949
29137
|
stage: previewStageSchema.optional()
|
|
28950
29138
|
});
|
|
28951
|
-
var courseRegistrationDisplaySchema =
|
|
28952
|
-
kind:
|
|
28953
|
-
state:
|
|
28954
|
-
className:
|
|
28955
|
-
summaryButtonText:
|
|
29139
|
+
var courseRegistrationDisplaySchema = z48.object({
|
|
29140
|
+
kind: z48.literal("course-registration"),
|
|
29141
|
+
state: z48.literal("shell"),
|
|
29142
|
+
className: z48.string().nullable(),
|
|
29143
|
+
summaryButtonText: z48.string()
|
|
28956
29144
|
});
|
|
28957
|
-
var courseRegistrationHydrationSchema =
|
|
29145
|
+
var courseRegistrationHydrationSchema = z48.object({
|
|
28958
29146
|
contentEntry: contentEntrySchema2.nullable().optional(),
|
|
28959
29147
|
entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
|
|
28960
|
-
courses:
|
|
28961
|
-
showSessions:
|
|
28962
|
-
showPrice:
|
|
28963
|
-
showCapacity:
|
|
28964
|
-
showVenue:
|
|
28965
|
-
successMessage:
|
|
28966
|
-
waitlistMessage:
|
|
28967
|
-
membershipMessage:
|
|
29148
|
+
courses: z48.array(publicCourseSchema).nullable().optional(),
|
|
29149
|
+
showSessions: z48.boolean().optional(),
|
|
29150
|
+
showPrice: z48.boolean().optional(),
|
|
29151
|
+
showCapacity: z48.boolean().optional(),
|
|
29152
|
+
showVenue: z48.boolean().optional(),
|
|
29153
|
+
successMessage: z48.string().optional(),
|
|
29154
|
+
waitlistMessage: z48.string().optional(),
|
|
29155
|
+
membershipMessage: z48.string().optional(),
|
|
28968
29156
|
buttonVariant: registrationButtonVariantSchema.optional()
|
|
28969
29157
|
});
|
|
28970
|
-
var courseRegistrationRenderSchema =
|
|
29158
|
+
var courseRegistrationRenderSchema = z48.object({
|
|
28971
29159
|
display: courseRegistrationDisplaySchema,
|
|
28972
29160
|
hydration: courseRegistrationHydrationSchema
|
|
28973
29161
|
});
|
|
28974
|
-
var courseRegistrationIslandMetaCodec = createZodCodec(
|
|
28975
|
-
siteId:
|
|
28976
|
-
apiBaseUrl:
|
|
28977
|
-
portalToken:
|
|
29162
|
+
var courseRegistrationIslandMetaCodec = createZodCodec(z48.object({
|
|
29163
|
+
siteId: z48.string().optional(),
|
|
29164
|
+
apiBaseUrl: z48.string().optional(),
|
|
29165
|
+
portalToken: z48.string().nullable().optional(),
|
|
28978
29166
|
stage: previewStageSchema.optional()
|
|
28979
29167
|
}));
|
|
28980
29168
|
var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -29234,32 +29422,32 @@ var courseRegistrationBlockDefinition = {
|
|
|
29234
29422
|
};
|
|
29235
29423
|
|
|
29236
29424
|
// ../blocks/src/system/blocks/event-details.ts
|
|
29237
|
-
import { z as
|
|
29425
|
+
import { z as z50 } from "zod";
|
|
29238
29426
|
|
|
29239
29427
|
// ../blocks/src/system/blocks/shop.shared.ts
|
|
29240
|
-
import { z as
|
|
29241
|
-
var publicPassProductSchema =
|
|
29242
|
-
id:
|
|
29243
|
-
productUseCase:
|
|
29244
|
-
name:
|
|
29245
|
-
description:
|
|
29246
|
-
price:
|
|
29247
|
-
currency:
|
|
29248
|
-
creditsTotal:
|
|
29249
|
-
pricePerCredit:
|
|
29250
|
-
validDays:
|
|
29251
|
-
eligibleCategoryIds:
|
|
29252
|
-
eligibleCategoryNames:
|
|
29253
|
-
});
|
|
29254
|
-
var publicMembershipProductSchema =
|
|
29255
|
-
id:
|
|
29256
|
-
name:
|
|
29257
|
-
description:
|
|
29258
|
-
price:
|
|
29259
|
-
currency:
|
|
29260
|
-
billingInterval:
|
|
29261
|
-
eligibleCategoryIds:
|
|
29262
|
-
eligibleCategoryNames:
|
|
29428
|
+
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())
|
|
29263
29451
|
});
|
|
29264
29452
|
|
|
29265
29453
|
// ../blocks/src/system/blocks/event-details.ts
|
|
@@ -29394,40 +29582,40 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
29394
29582
|
})
|
|
29395
29583
|
]
|
|
29396
29584
|
});
|
|
29397
|
-
var occurrenceContextSchema2 =
|
|
29398
|
-
id:
|
|
29399
|
-
seriesId:
|
|
29400
|
-
startsAt:
|
|
29401
|
-
endsAt:
|
|
29402
|
-
timeZone:
|
|
29403
|
-
capacityOverride:
|
|
29404
|
-
overrides:
|
|
29585
|
+
var occurrenceContextSchema2 = z50.object({
|
|
29586
|
+
id: z50.string(),
|
|
29587
|
+
seriesId: z50.string(),
|
|
29588
|
+
startsAt: z50.string(),
|
|
29589
|
+
endsAt: z50.string(),
|
|
29590
|
+
timeZone: z50.string(),
|
|
29591
|
+
capacityOverride: z50.number().nullable().optional(),
|
|
29592
|
+
overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
|
|
29405
29593
|
}).nullable();
|
|
29406
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
29407
|
-
id:
|
|
29408
|
-
publicLabel:
|
|
29409
|
-
description:
|
|
29410
|
-
minTicketsRequired:
|
|
29594
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
|
|
29595
|
+
id: z50.string(),
|
|
29596
|
+
publicLabel: z50.string(),
|
|
29597
|
+
description: z50.string().nullable(),
|
|
29598
|
+
minTicketsRequired: z50.number().nullable()
|
|
29411
29599
|
});
|
|
29412
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
29600
|
+
var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
|
|
29413
29601
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29414
|
-
discountType:
|
|
29415
|
-
discountPercent:
|
|
29416
|
-
discountAmountCents:
|
|
29602
|
+
discountType: z50.literal("percent"),
|
|
29603
|
+
discountPercent: z50.number(),
|
|
29604
|
+
discountAmountCents: z50.null()
|
|
29417
29605
|
}),
|
|
29418
29606
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29419
|
-
discountType:
|
|
29420
|
-
discountPercent:
|
|
29421
|
-
discountAmountCents:
|
|
29607
|
+
discountType: z50.literal("fixed"),
|
|
29608
|
+
discountPercent: z50.null(),
|
|
29609
|
+
discountAmountCents: z50.number()
|
|
29422
29610
|
})
|
|
29423
29611
|
]);
|
|
29424
29612
|
var eventDetailsBlockDefinition = {
|
|
29425
29613
|
manifest: eventDetailsManifest,
|
|
29426
29614
|
dataSchemas: {
|
|
29427
|
-
eventDetailsData:
|
|
29615
|
+
eventDetailsData: z50.object({
|
|
29428
29616
|
events: publicEventsArraySchema,
|
|
29429
|
-
sitePasses:
|
|
29430
|
-
siteMemberships:
|
|
29617
|
+
sitePasses: z50.object({ passes: z50.array(publicPassProductSchema) }),
|
|
29618
|
+
siteMemberships: z50.object({ memberships: z50.array(publicMembershipProductSchema) }),
|
|
29431
29619
|
autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
|
|
29432
29620
|
}).optional(),
|
|
29433
29621
|
occurrenceContext: occurrenceContextSchema2.optional()
|
|
@@ -29751,7 +29939,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
29751
29939
|
};
|
|
29752
29940
|
|
|
29753
29941
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
29754
|
-
import { z as
|
|
29942
|
+
import { z as z52 } from "zod";
|
|
29755
29943
|
|
|
29756
29944
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
29757
29945
|
var COLUMN_CLASSES = {
|
|
@@ -29859,16 +30047,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
29859
30047
|
}
|
|
29860
30048
|
|
|
29861
30049
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
29862
|
-
import { z as
|
|
30050
|
+
import { z as z51 } from "zod";
|
|
29863
30051
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
29864
|
-
var eventPageSizeSchema =
|
|
29865
|
-
|
|
29866
|
-
|
|
29867
|
-
|
|
29868
|
-
|
|
29869
|
-
|
|
29870
|
-
|
|
29871
|
-
|
|
30052
|
+
var eventPageSizeSchema = z51.union([
|
|
30053
|
+
z51.literal(3),
|
|
30054
|
+
z51.literal(6),
|
|
30055
|
+
z51.literal(10),
|
|
30056
|
+
z51.literal(12),
|
|
30057
|
+
z51.literal(20),
|
|
30058
|
+
z51.literal(24),
|
|
30059
|
+
z51.literal(30)
|
|
29872
30060
|
]);
|
|
29873
30061
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
29874
30062
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -29878,15 +30066,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
29878
30066
|
function resolveEventCalendarListPageSize(input) {
|
|
29879
30067
|
return resolveEventPageSize(input.eventsPerPage);
|
|
29880
30068
|
}
|
|
29881
|
-
var eventListPaginationActionSchema =
|
|
29882
|
-
|
|
29883
|
-
kind:
|
|
29884
|
-
label:
|
|
30069
|
+
var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
|
|
30070
|
+
z51.object({
|
|
30071
|
+
kind: z51.literal("loadMore"),
|
|
30072
|
+
label: z51.string()
|
|
29885
30073
|
}),
|
|
29886
|
-
|
|
29887
|
-
kind:
|
|
29888
|
-
label:
|
|
29889
|
-
href:
|
|
30074
|
+
z51.object({
|
|
30075
|
+
kind: z51.literal("seeAllLink"),
|
|
30076
|
+
label: z51.string(),
|
|
30077
|
+
href: z51.string()
|
|
29890
30078
|
})
|
|
29891
30079
|
]);
|
|
29892
30080
|
function resolveEventListPaginationAction(input) {
|
|
@@ -29899,89 +30087,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
29899
30087
|
}
|
|
29900
30088
|
|
|
29901
30089
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
29902
|
-
var legacyEventCardVariantSchema =
|
|
29903
|
-
var eventCardVariantInputSchema =
|
|
30090
|
+
var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
|
|
30091
|
+
var eventCardVariantInputSchema = z52.union([
|
|
29904
30092
|
cardVariantRoleSchema,
|
|
29905
30093
|
legacyEventCardVariantSchema
|
|
29906
30094
|
]);
|
|
29907
|
-
var cardOrientationSchema =
|
|
29908
|
-
var eventBlockKindSchema =
|
|
29909
|
-
var eventSurfaceScopeSchema =
|
|
29910
|
-
var eventScheduleScopeSchema2 =
|
|
29911
|
-
var eventListingSourceSchema =
|
|
29912
|
-
events:
|
|
29913
|
-
siteId:
|
|
29914
|
-
apiBaseUrl:
|
|
30095
|
+
var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
|
|
30096
|
+
var eventBlockKindSchema = z52.enum(eventBlockKindValues);
|
|
30097
|
+
var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
|
|
30098
|
+
var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
|
|
30099
|
+
var eventListingSourceSchema = z52.object({
|
|
30100
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
30101
|
+
siteId: z52.string(),
|
|
30102
|
+
apiBaseUrl: z52.string().optional(),
|
|
29915
30103
|
stage: previewStageSchema.optional(),
|
|
29916
30104
|
layout: eventLayoutSchema.optional(),
|
|
29917
30105
|
columns: columnOptionSchema.optional(),
|
|
29918
|
-
eventsPerPage:
|
|
29919
|
-
paginationMode:
|
|
29920
|
-
seeAllUrl:
|
|
29921
|
-
loadMoreText:
|
|
30106
|
+
eventsPerPage: z52.string().optional(),
|
|
30107
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30108
|
+
seeAllUrl: z52.string().optional(),
|
|
30109
|
+
loadMoreText: z52.string().optional(),
|
|
29922
30110
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
29923
30111
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
29924
|
-
buttonText:
|
|
29925
|
-
showVenue:
|
|
29926
|
-
showMap:
|
|
29927
|
-
showCapacity:
|
|
29928
|
-
emptyMessage:
|
|
29929
|
-
className:
|
|
29930
|
-
showFilters:
|
|
30112
|
+
buttonText: z52.string().optional(),
|
|
30113
|
+
showVenue: z52.boolean().optional(),
|
|
30114
|
+
showMap: z52.boolean().optional(),
|
|
30115
|
+
showCapacity: z52.boolean().optional(),
|
|
30116
|
+
emptyMessage: z52.string().optional(),
|
|
30117
|
+
className: z52.string().optional(),
|
|
30118
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
29931
30119
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
29932
|
-
showVenueFilter:
|
|
29933
|
-
showStaffFilter:
|
|
30120
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
30121
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
29934
30122
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
29935
30123
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
29936
|
-
filterEventPresets:
|
|
30124
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
29937
30125
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
29938
|
-
filterCategoryIds:
|
|
29939
|
-
filterStaffMemberId:
|
|
29940
|
-
filterVenueId:
|
|
30126
|
+
filterCategoryIds: z52.string().nullable().optional(),
|
|
30127
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30128
|
+
filterVenueId: z52.string().nullable().optional()
|
|
29941
30129
|
});
|
|
29942
|
-
var eventListingDisplaySchema =
|
|
29943
|
-
kind:
|
|
29944
|
-
state:
|
|
30130
|
+
var eventListingDisplaySchema = z52.object({
|
|
30131
|
+
kind: z52.literal("event-listing"),
|
|
30132
|
+
state: z52.enum(["loading", "empty", "ready"]),
|
|
29945
30133
|
listLayout: eventLayoutSchema,
|
|
29946
|
-
className:
|
|
29947
|
-
emptyMessage:
|
|
29948
|
-
loadingMessage:
|
|
29949
|
-
containerClass:
|
|
30134
|
+
className: z52.string().nullable(),
|
|
30135
|
+
emptyMessage: z52.string(),
|
|
30136
|
+
loadingMessage: z52.string(),
|
|
30137
|
+
containerClass: z52.string(),
|
|
29950
30138
|
cardVariant: cardVariantRoleSchema,
|
|
29951
30139
|
buttonVariant: eventButtonVariantSchema,
|
|
29952
|
-
buttonText:
|
|
29953
|
-
showVenue:
|
|
29954
|
-
showMap:
|
|
29955
|
-
showCapacity:
|
|
30140
|
+
buttonText: z52.string(),
|
|
30141
|
+
showVenue: z52.boolean(),
|
|
30142
|
+
showMap: z52.boolean(),
|
|
30143
|
+
showCapacity: z52.boolean(),
|
|
29956
30144
|
orientation: cardOrientationSchema,
|
|
29957
|
-
events:
|
|
30145
|
+
events: z52.array(publicEventSchema)
|
|
29958
30146
|
});
|
|
29959
|
-
var eventListingHydrationSchema =
|
|
29960
|
-
siteId:
|
|
30147
|
+
var eventListingHydrationSchema = z52.object({
|
|
30148
|
+
siteId: z52.string(),
|
|
29961
30149
|
stage: previewStageSchema.optional(),
|
|
29962
30150
|
eventsPerPage: eventPageSizeSchema,
|
|
29963
30151
|
paginationAction: eventListPaginationActionSchema,
|
|
29964
|
-
showFilters:
|
|
30152
|
+
showFilters: z52.boolean(),
|
|
29965
30153
|
showCategoryFilter: filterAutoShowSchema,
|
|
29966
|
-
showVenueFilter:
|
|
29967
|
-
showStaffFilter:
|
|
30154
|
+
showVenueFilter: z52.boolean(),
|
|
30155
|
+
showStaffFilter: z52.boolean(),
|
|
29968
30156
|
eventKind: eventBlockKindSchema,
|
|
29969
30157
|
eventSurface: eventSurfaceScopeSchema,
|
|
29970
|
-
filterEventPresets:
|
|
30158
|
+
filterEventPresets: z52.string().nullable(),
|
|
29971
30159
|
scheduleScope: eventScheduleScopeSchema2,
|
|
29972
|
-
filterCategoryIds:
|
|
29973
|
-
filterStaffMemberId:
|
|
29974
|
-
filterVenueId:
|
|
29975
|
-
fetchInitialEventsOnMount:
|
|
30160
|
+
filterCategoryIds: z52.string().nullable().optional(),
|
|
30161
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30162
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
30163
|
+
fetchInitialEventsOnMount: z52.boolean()
|
|
29976
30164
|
});
|
|
29977
|
-
var eventListingRenderSchema =
|
|
30165
|
+
var eventListingRenderSchema = z52.object({
|
|
29978
30166
|
display: eventListingDisplaySchema,
|
|
29979
30167
|
hydration: eventListingHydrationSchema
|
|
29980
30168
|
});
|
|
29981
30169
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
29982
|
-
|
|
29983
|
-
siteId:
|
|
29984
|
-
apiBaseUrl:
|
|
30170
|
+
z52.object({
|
|
30171
|
+
siteId: z52.string(),
|
|
30172
|
+
apiBaseUrl: z52.string().optional(),
|
|
29985
30173
|
stage: previewStageSchema.optional()
|
|
29986
30174
|
})
|
|
29987
30175
|
);
|
|
@@ -30348,15 +30536,15 @@ var eventListingBlockDefinition = {
|
|
|
30348
30536
|
};
|
|
30349
30537
|
|
|
30350
30538
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30351
|
-
import { z as
|
|
30352
|
-
var eventBlockKindSchema2 =
|
|
30353
|
-
var eventSurfaceScopeSchema2 =
|
|
30354
|
-
var eventScheduleScopeSchema3 =
|
|
30355
|
-
var eventCalendarSourceSchema =
|
|
30539
|
+
import { z as z53 } from "zod";
|
|
30540
|
+
var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
|
|
30541
|
+
var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
|
|
30542
|
+
var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
|
|
30543
|
+
var eventCalendarSourceSchema = z53.object(
|
|
30356
30544
|
{
|
|
30357
|
-
events:
|
|
30358
|
-
siteId:
|
|
30359
|
-
apiBaseUrl:
|
|
30545
|
+
events: z53.array(publicEventSchema).nullable().optional(),
|
|
30546
|
+
siteId: z53.string(),
|
|
30547
|
+
apiBaseUrl: z53.string().optional(),
|
|
30360
30548
|
stage: previewStageSchema.optional(),
|
|
30361
30549
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
30362
30550
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -30364,78 +30552,78 @@ var eventCalendarSourceSchema = z52.object(
|
|
|
30364
30552
|
listColumns: columnOptionSchema.optional(),
|
|
30365
30553
|
layout: eventLayoutSchema.optional(),
|
|
30366
30554
|
columns: columnOptionSchema.optional(),
|
|
30367
|
-
eventsPerPage:
|
|
30368
|
-
paginationMode:
|
|
30369
|
-
seeAllUrl:
|
|
30370
|
-
loadMoreText:
|
|
30555
|
+
eventsPerPage: z53.string().optional(),
|
|
30556
|
+
paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30557
|
+
seeAllUrl: z53.string().optional(),
|
|
30558
|
+
loadMoreText: z53.string().optional(),
|
|
30371
30559
|
startOfWeek: weekStartSchema.optional(),
|
|
30372
30560
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
30373
|
-
showFilters:
|
|
30561
|
+
showFilters: z53.boolean().nullable().optional(),
|
|
30374
30562
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30375
|
-
showVenueFilter:
|
|
30376
|
-
showStaffFilter:
|
|
30563
|
+
showVenueFilter: z53.boolean().nullable().optional(),
|
|
30564
|
+
showStaffFilter: z53.boolean().nullable().optional(),
|
|
30377
30565
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
30378
30566
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
30379
|
-
filterEventPresets:
|
|
30567
|
+
filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
|
|
30380
30568
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
30381
|
-
filterCategoryIds:
|
|
30382
|
-
filterStaffMemberId:
|
|
30383
|
-
filterVenueId:
|
|
30569
|
+
filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
|
|
30570
|
+
filterStaffMemberId: z53.string().nullable().optional(),
|
|
30571
|
+
filterVenueId: z53.string().nullable().optional(),
|
|
30384
30572
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30385
|
-
buttonText:
|
|
30386
|
-
showVenue:
|
|
30387
|
-
showMap:
|
|
30388
|
-
showCapacity:
|
|
30389
|
-
emptyMessage:
|
|
30390
|
-
className:
|
|
30573
|
+
buttonText: z53.string().optional(),
|
|
30574
|
+
showVenue: z53.boolean().nullable().optional(),
|
|
30575
|
+
showMap: z53.boolean().nullable().optional(),
|
|
30576
|
+
showCapacity: z53.boolean().nullable().optional(),
|
|
30577
|
+
emptyMessage: z53.string().optional(),
|
|
30578
|
+
className: z53.string().optional()
|
|
30391
30579
|
}
|
|
30392
30580
|
);
|
|
30393
|
-
var eventCalendarDisplaySchema =
|
|
30394
|
-
kind:
|
|
30581
|
+
var eventCalendarDisplaySchema = z53.object({
|
|
30582
|
+
kind: z53.literal("event-calendar"),
|
|
30395
30583
|
displayMode: eventCalendarDisplayModeSchema,
|
|
30396
|
-
className:
|
|
30397
|
-
events:
|
|
30584
|
+
className: z53.string().nullable(),
|
|
30585
|
+
events: z53.array(publicEventSchema),
|
|
30398
30586
|
listLayout: eventLayoutSchema,
|
|
30399
30587
|
listColumns: columnOptionSchema,
|
|
30400
30588
|
eventsPerPage: eventPageSizeSchema,
|
|
30401
30589
|
paginationAction: eventListPaginationActionSchema,
|
|
30402
30590
|
startOfWeek: weekStartSchema,
|
|
30403
30591
|
calendarTabViews: calendarTabViewsSchema,
|
|
30404
|
-
showFilters:
|
|
30592
|
+
showFilters: z53.boolean(),
|
|
30405
30593
|
showCategoryFilter: filterAutoShowSchema,
|
|
30406
|
-
showVenueFilter:
|
|
30407
|
-
showStaffFilter:
|
|
30594
|
+
showVenueFilter: z53.boolean(),
|
|
30595
|
+
showStaffFilter: z53.boolean(),
|
|
30408
30596
|
eventKind: eventBlockKindSchema2,
|
|
30409
30597
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30410
|
-
filterEventPresets:
|
|
30598
|
+
filterEventPresets: z53.string().nullable(),
|
|
30411
30599
|
scheduleScope: eventScheduleScopeSchema3,
|
|
30412
|
-
filterCategoryIds:
|
|
30413
|
-
filterStaffMemberId:
|
|
30414
|
-
filterVenueId:
|
|
30600
|
+
filterCategoryIds: z53.string().nullable(),
|
|
30601
|
+
filterStaffMemberId: z53.string().nullable(),
|
|
30602
|
+
filterVenueId: z53.string().nullable(),
|
|
30415
30603
|
buttonVariant: eventButtonVariantSchema,
|
|
30416
|
-
buttonText:
|
|
30417
|
-
showVenue:
|
|
30418
|
-
showMap:
|
|
30419
|
-
showCapacity:
|
|
30420
|
-
emptyMessage:
|
|
30421
|
-
});
|
|
30422
|
-
var eventCalendarHydrationSchema =
|
|
30423
|
-
siteId:
|
|
30604
|
+
buttonText: z53.string(),
|
|
30605
|
+
showVenue: z53.boolean(),
|
|
30606
|
+
showMap: z53.boolean(),
|
|
30607
|
+
showCapacity: z53.boolean(),
|
|
30608
|
+
emptyMessage: z53.string()
|
|
30609
|
+
});
|
|
30610
|
+
var eventCalendarHydrationSchema = z53.object({
|
|
30611
|
+
siteId: z53.string(),
|
|
30424
30612
|
stage: previewStageSchema.optional(),
|
|
30425
|
-
prefetchedEvents:
|
|
30613
|
+
prefetchedEvents: z53.boolean(),
|
|
30426
30614
|
eventKind: eventBlockKindSchema2,
|
|
30427
30615
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30428
|
-
filterEventPresets:
|
|
30616
|
+
filterEventPresets: z53.string().nullable(),
|
|
30429
30617
|
scheduleScope: eventScheduleScopeSchema3
|
|
30430
30618
|
});
|
|
30431
|
-
var eventCalendarRenderSchema =
|
|
30619
|
+
var eventCalendarRenderSchema = z53.object({
|
|
30432
30620
|
display: eventCalendarDisplaySchema,
|
|
30433
30621
|
hydration: eventCalendarHydrationSchema
|
|
30434
30622
|
});
|
|
30435
30623
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
30436
|
-
|
|
30437
|
-
siteId:
|
|
30438
|
-
apiBaseUrl:
|
|
30624
|
+
z53.object({
|
|
30625
|
+
siteId: z53.string(),
|
|
30626
|
+
apiBaseUrl: z53.string().optional(),
|
|
30439
30627
|
stage: previewStageSchema.optional()
|
|
30440
30628
|
})
|
|
30441
30629
|
);
|
|
@@ -31144,7 +31332,7 @@ var eventCalendarBlockDefinition = {
|
|
|
31144
31332
|
};
|
|
31145
31333
|
|
|
31146
31334
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31147
|
-
import { z as
|
|
31335
|
+
import { z as z54 } from "zod";
|
|
31148
31336
|
|
|
31149
31337
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
31150
31338
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -31236,13 +31424,13 @@ function isRecord5(value) {
|
|
|
31236
31424
|
}
|
|
31237
31425
|
|
|
31238
31426
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31239
|
-
var publicRouteCandidatesSchema =
|
|
31240
|
-
routes:
|
|
31241
|
-
entityId:
|
|
31242
|
-
path:
|
|
31243
|
-
title:
|
|
31244
|
-
kind:
|
|
31245
|
-
contentTypeKey:
|
|
31427
|
+
var publicRouteCandidatesSchema = z54.object({
|
|
31428
|
+
routes: z54.array(z54.object({
|
|
31429
|
+
entityId: z54.string(),
|
|
31430
|
+
path: z54.string(),
|
|
31431
|
+
title: z54.string(),
|
|
31432
|
+
kind: z54.enum(["page", "content"]),
|
|
31433
|
+
contentTypeKey: z54.string().nullable().optional()
|
|
31246
31434
|
}))
|
|
31247
31435
|
});
|
|
31248
31436
|
var groupOverrideFields = [
|
|
@@ -31640,7 +31828,7 @@ function isRecord6(value) {
|
|
|
31640
31828
|
}
|
|
31641
31829
|
|
|
31642
31830
|
// ../blocks/src/system/blocks/embed.ts
|
|
31643
|
-
import { z as
|
|
31831
|
+
import { z as z55 } from "zod";
|
|
31644
31832
|
var embedFields = [
|
|
31645
31833
|
// Section heading
|
|
31646
31834
|
parseFieldDefinition({
|
|
@@ -31871,18 +32059,18 @@ var embedManifest = createBlockManifest({
|
|
|
31871
32059
|
spacing: "lg"
|
|
31872
32060
|
}
|
|
31873
32061
|
});
|
|
31874
|
-
var embedEntrySchema =
|
|
31875
|
-
id:
|
|
31876
|
-
identifier:
|
|
31877
|
-
title:
|
|
31878
|
-
slug:
|
|
31879
|
-
content:
|
|
31880
|
-
publishedAt:
|
|
32062
|
+
var embedEntrySchema = z55.object({
|
|
32063
|
+
id: z55.string(),
|
|
32064
|
+
identifier: z55.string(),
|
|
32065
|
+
title: z55.string(),
|
|
32066
|
+
slug: z55.string().nullable().optional(),
|
|
32067
|
+
content: z55.record(z55.string(), z55.unknown()).optional(),
|
|
32068
|
+
publishedAt: z55.string().nullable().optional()
|
|
31881
32069
|
});
|
|
31882
32070
|
var embedBlockDefinition = {
|
|
31883
32071
|
manifest: embedManifest,
|
|
31884
32072
|
dataSchemas: {
|
|
31885
|
-
entries:
|
|
32073
|
+
entries: z55.array(embedEntrySchema).optional()
|
|
31886
32074
|
},
|
|
31887
32075
|
dataLoaders: {
|
|
31888
32076
|
entries: {
|
|
@@ -33066,52 +33254,52 @@ var fileDownloadBlockDefinition = {
|
|
|
33066
33254
|
};
|
|
33067
33255
|
|
|
33068
33256
|
// ../blocks/src/system/blocks/shop.ts
|
|
33069
|
-
import { z as
|
|
33257
|
+
import { z as z59 } from "zod";
|
|
33070
33258
|
|
|
33071
33259
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33072
|
-
import { z as
|
|
33260
|
+
import { z as z58 } from "zod";
|
|
33073
33261
|
|
|
33074
33262
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
33075
|
-
import { z as
|
|
33076
|
-
var publicProductVariantSchema =
|
|
33077
|
-
id:
|
|
33078
|
-
title:
|
|
33079
|
-
sku:
|
|
33080
|
-
priceCents:
|
|
33081
|
-
stockQuantity:
|
|
33082
|
-
soldOut:
|
|
33083
|
-
});
|
|
33084
|
-
var publicProductSchema =
|
|
33085
|
-
id:
|
|
33086
|
-
contentEntryId:
|
|
33087
|
-
title:
|
|
33088
|
-
slug:
|
|
33089
|
-
path:
|
|
33090
|
-
status:
|
|
33091
|
-
priceCents:
|
|
33092
|
-
currency:
|
|
33093
|
-
productType:
|
|
33094
|
-
requiresShipping:
|
|
33095
|
-
hasVariants:
|
|
33096
|
-
trackInventory:
|
|
33097
|
-
soldOut:
|
|
33098
|
-
category:
|
|
33099
|
-
id:
|
|
33100
|
-
name:
|
|
33101
|
-
slug:
|
|
33263
|
+
import { z as z56 } from "zod";
|
|
33264
|
+
var publicProductVariantSchema = z56.object({
|
|
33265
|
+
id: z56.string(),
|
|
33266
|
+
title: z56.string(),
|
|
33267
|
+
sku: z56.string().nullable(),
|
|
33268
|
+
priceCents: z56.number(),
|
|
33269
|
+
stockQuantity: z56.number().nullable(),
|
|
33270
|
+
soldOut: z56.boolean()
|
|
33271
|
+
});
|
|
33272
|
+
var publicProductSchema = z56.object({
|
|
33273
|
+
id: z56.string(),
|
|
33274
|
+
contentEntryId: z56.string().nullable(),
|
|
33275
|
+
title: z56.string(),
|
|
33276
|
+
slug: z56.string(),
|
|
33277
|
+
path: z56.string().nullable(),
|
|
33278
|
+
status: z56.enum(["draft", "active"]),
|
|
33279
|
+
priceCents: z56.number(),
|
|
33280
|
+
currency: z56.string(),
|
|
33281
|
+
productType: z56.enum(["physical", "digital"]),
|
|
33282
|
+
requiresShipping: z56.boolean(),
|
|
33283
|
+
hasVariants: z56.boolean(),
|
|
33284
|
+
trackInventory: z56.boolean(),
|
|
33285
|
+
soldOut: z56.boolean(),
|
|
33286
|
+
category: z56.object({
|
|
33287
|
+
id: z56.string(),
|
|
33288
|
+
name: z56.string(),
|
|
33289
|
+
slug: z56.string()
|
|
33102
33290
|
}).nullable(),
|
|
33103
|
-
summary:
|
|
33104
|
-
body:
|
|
33105
|
-
gallery:
|
|
33106
|
-
|
|
33107
|
-
url:
|
|
33108
|
-
alt:
|
|
33291
|
+
summary: z56.string().nullable(),
|
|
33292
|
+
body: z56.unknown().nullable(),
|
|
33293
|
+
gallery: z56.array(
|
|
33294
|
+
z56.object({
|
|
33295
|
+
url: z56.string(),
|
|
33296
|
+
alt: z56.string().nullable()
|
|
33109
33297
|
})
|
|
33110
33298
|
),
|
|
33111
|
-
variants:
|
|
33299
|
+
variants: z56.array(publicProductVariantSchema)
|
|
33112
33300
|
});
|
|
33113
|
-
var publicProductsResponseSchema =
|
|
33114
|
-
products:
|
|
33301
|
+
var publicProductsResponseSchema = z56.object({
|
|
33302
|
+
products: z56.array(publicProductSchema)
|
|
33115
33303
|
});
|
|
33116
33304
|
|
|
33117
33305
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -33175,27 +33363,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
33175
33363
|
}
|
|
33176
33364
|
|
|
33177
33365
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
33178
|
-
import { z as
|
|
33179
|
-
var storedProductCartItemSchema =
|
|
33180
|
-
kind:
|
|
33181
|
-
productId:
|
|
33182
|
-
productCategoryId:
|
|
33183
|
-
variantId:
|
|
33184
|
-
title:
|
|
33185
|
-
variantTitle:
|
|
33186
|
-
quantity:
|
|
33187
|
-
unitPriceCents:
|
|
33188
|
-
currency:
|
|
33189
|
-
imageUrl:
|
|
33190
|
-
soldOut:
|
|
33191
|
-
});
|
|
33192
|
-
var storedPassCartItemSchema =
|
|
33193
|
-
kind:
|
|
33194
|
-
passId:
|
|
33195
|
-
title:
|
|
33196
|
-
quantity:
|
|
33197
|
-
unitPriceCents:
|
|
33198
|
-
currency:
|
|
33366
|
+
import { z as z57 } from "zod";
|
|
33367
|
+
var storedProductCartItemSchema = z57.object({
|
|
33368
|
+
kind: z57.literal("product"),
|
|
33369
|
+
productId: z57.string().min(1),
|
|
33370
|
+
productCategoryId: z57.string().min(1).optional().nullable(),
|
|
33371
|
+
variantId: z57.string().min(1).optional().nullable(),
|
|
33372
|
+
title: z57.string().min(1),
|
|
33373
|
+
variantTitle: z57.string().optional().nullable(),
|
|
33374
|
+
quantity: z57.number().finite(),
|
|
33375
|
+
unitPriceCents: z57.number().finite(),
|
|
33376
|
+
currency: z57.string().min(1),
|
|
33377
|
+
imageUrl: z57.string().optional().nullable(),
|
|
33378
|
+
soldOut: z57.boolean().optional()
|
|
33379
|
+
});
|
|
33380
|
+
var storedPassCartItemSchema = z57.object({
|
|
33381
|
+
kind: z57.literal("pass"),
|
|
33382
|
+
passId: z57.string().min(1),
|
|
33383
|
+
title: z57.string().min(1),
|
|
33384
|
+
quantity: z57.number().finite().optional(),
|
|
33385
|
+
unitPriceCents: z57.number().finite(),
|
|
33386
|
+
currency: z57.string().min(1)
|
|
33199
33387
|
});
|
|
33200
33388
|
function deriveCommerceCheckoutState(state) {
|
|
33201
33389
|
if (state.items.length === 0) {
|
|
@@ -33234,10 +33422,7 @@ function resolveSelectedProduct(products, contentEntry, productSlug) {
|
|
|
33234
33422
|
|
|
33235
33423
|
// ../blocks/src/system/runtime/nodes/commerce/shared/display.ts
|
|
33236
33424
|
function formatCommercePrice(cents, currency) {
|
|
33237
|
-
return
|
|
33238
|
-
style: "currency",
|
|
33239
|
-
currency: currency.toUpperCase()
|
|
33240
|
-
}).format(cents / 100);
|
|
33425
|
+
return formatCurrencyAmount(cents, currency);
|
|
33241
33426
|
}
|
|
33242
33427
|
function getPassesHeading(passes, explicitHeading) {
|
|
33243
33428
|
if (explicitHeading) return explicitHeading;
|
|
@@ -33432,214 +33617,214 @@ function formatValidity(days) {
|
|
|
33432
33617
|
}
|
|
33433
33618
|
|
|
33434
33619
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33435
|
-
var shopModeSchema =
|
|
33436
|
-
var contentEntrySchema3 =
|
|
33437
|
-
id:
|
|
33438
|
-
slug:
|
|
33620
|
+
var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
33621
|
+
var contentEntrySchema3 = z58.object({
|
|
33622
|
+
id: z58.string().nullable().optional(),
|
|
33623
|
+
slug: z58.string().nullable().optional()
|
|
33439
33624
|
}).nullable();
|
|
33440
|
-
var shopSourceSchema =
|
|
33441
|
-
className:
|
|
33625
|
+
var shopSourceSchema = z58.object({
|
|
33626
|
+
className: z58.string().nullable().optional(),
|
|
33442
33627
|
mode: shopModeSchema.optional(),
|
|
33443
|
-
heading:
|
|
33444
|
-
productSlug:
|
|
33445
|
-
showPasses:
|
|
33446
|
-
showMemberships:
|
|
33447
|
-
layout:
|
|
33448
|
-
columns:
|
|
33449
|
-
showDescriptions:
|
|
33450
|
-
showSummary:
|
|
33451
|
-
showBody:
|
|
33452
|
-
showPrices:
|
|
33453
|
-
showValidityPeriod:
|
|
33454
|
-
showPricePerCredit:
|
|
33455
|
-
passesHeading:
|
|
33456
|
-
membershipsHeading:
|
|
33457
|
-
buyButtonText:
|
|
33458
|
-
addButtonText:
|
|
33459
|
-
passPurchaseMode:
|
|
33460
|
-
subscribeButtonText:
|
|
33461
|
-
emptyStateText:
|
|
33462
|
-
checkoutButtonText:
|
|
33463
|
-
clearButtonText:
|
|
33464
|
-
submitButtonText:
|
|
33628
|
+
heading: z58.string().nullable().optional(),
|
|
33629
|
+
productSlug: z58.string().nullable().optional(),
|
|
33630
|
+
showPasses: z58.boolean().optional(),
|
|
33631
|
+
showMemberships: z58.boolean().optional(),
|
|
33632
|
+
layout: z58.enum(["grid", "list"]).optional(),
|
|
33633
|
+
columns: z58.string().optional(),
|
|
33634
|
+
showDescriptions: z58.boolean().optional(),
|
|
33635
|
+
showSummary: z58.boolean().optional(),
|
|
33636
|
+
showBody: z58.boolean().optional(),
|
|
33637
|
+
showPrices: z58.boolean().optional(),
|
|
33638
|
+
showValidityPeriod: z58.boolean().optional(),
|
|
33639
|
+
showPricePerCredit: z58.boolean().nullable().optional(),
|
|
33640
|
+
passesHeading: z58.string().optional(),
|
|
33641
|
+
membershipsHeading: z58.string().optional(),
|
|
33642
|
+
buyButtonText: z58.string().optional(),
|
|
33643
|
+
addButtonText: z58.string().optional(),
|
|
33644
|
+
passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
|
|
33645
|
+
subscribeButtonText: z58.string().optional(),
|
|
33646
|
+
emptyStateText: z58.string().optional(),
|
|
33647
|
+
checkoutButtonText: z58.string().optional(),
|
|
33648
|
+
clearButtonText: z58.string().optional(),
|
|
33649
|
+
submitButtonText: z58.string().optional(),
|
|
33465
33650
|
contentEntry: contentEntrySchema3.optional(),
|
|
33466
|
-
passes:
|
|
33467
|
-
memberships:
|
|
33468
|
-
products:
|
|
33469
|
-
siteId:
|
|
33470
|
-
apiBaseUrl:
|
|
33651
|
+
passes: z58.array(publicPassProductSchema).nullable().optional(),
|
|
33652
|
+
memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
|
|
33653
|
+
products: z58.array(publicProductSchema).nullable().optional(),
|
|
33654
|
+
siteId: z58.string().optional(),
|
|
33655
|
+
apiBaseUrl: z58.string().optional(),
|
|
33471
33656
|
stage: previewStageSchema.optional()
|
|
33472
33657
|
});
|
|
33473
|
-
var productVariantOptionDisplaySchema =
|
|
33474
|
-
id:
|
|
33475
|
-
label:
|
|
33476
|
-
soldOut:
|
|
33477
|
-
});
|
|
33478
|
-
var productCardDisplaySchema =
|
|
33479
|
-
productId:
|
|
33480
|
-
title:
|
|
33481
|
-
path:
|
|
33482
|
-
summary:
|
|
33483
|
-
priceLabel:
|
|
33484
|
-
image:
|
|
33485
|
-
url:
|
|
33486
|
-
alt:
|
|
33658
|
+
var productVariantOptionDisplaySchema = z58.object({
|
|
33659
|
+
id: z58.string(),
|
|
33660
|
+
label: z58.string(),
|
|
33661
|
+
soldOut: z58.boolean()
|
|
33662
|
+
});
|
|
33663
|
+
var productCardDisplaySchema = z58.object({
|
|
33664
|
+
productId: z58.string(),
|
|
33665
|
+
title: z58.string(),
|
|
33666
|
+
path: z58.string().nullable(),
|
|
33667
|
+
summary: z58.string().nullable(),
|
|
33668
|
+
priceLabel: z58.string().nullable(),
|
|
33669
|
+
image: z58.object({
|
|
33670
|
+
url: z58.string(),
|
|
33671
|
+
alt: z58.string().nullable()
|
|
33487
33672
|
}).nullable(),
|
|
33488
|
-
variantOptions:
|
|
33489
|
-
selectedVariantId:
|
|
33490
|
-
selectionLabel:
|
|
33491
|
-
actionLabel:
|
|
33492
|
-
soldOut:
|
|
33493
|
-
});
|
|
33494
|
-
var productListDisplaySchema =
|
|
33495
|
-
kind:
|
|
33496
|
-
state:
|
|
33497
|
-
heading:
|
|
33498
|
-
className:
|
|
33499
|
-
layout:
|
|
33500
|
-
columns:
|
|
33501
|
-
emptyMessage:
|
|
33502
|
-
cards:
|
|
33503
|
-
});
|
|
33504
|
-
var productDetailDisplaySchema =
|
|
33505
|
-
|
|
33506
|
-
kind:
|
|
33507
|
-
state:
|
|
33508
|
-
heading:
|
|
33509
|
-
className:
|
|
33510
|
-
emptyMessage:
|
|
33673
|
+
variantOptions: z58.array(productVariantOptionDisplaySchema),
|
|
33674
|
+
selectedVariantId: z58.string().nullable(),
|
|
33675
|
+
selectionLabel: z58.string(),
|
|
33676
|
+
actionLabel: z58.string(),
|
|
33677
|
+
soldOut: z58.boolean()
|
|
33678
|
+
});
|
|
33679
|
+
var productListDisplaySchema = z58.object({
|
|
33680
|
+
kind: z58.literal("product-list"),
|
|
33681
|
+
state: z58.enum(["empty", "ready"]),
|
|
33682
|
+
heading: z58.string().nullable(),
|
|
33683
|
+
className: z58.string().nullable(),
|
|
33684
|
+
layout: z58.enum(["grid", "list"]),
|
|
33685
|
+
columns: z58.string(),
|
|
33686
|
+
emptyMessage: z58.string(),
|
|
33687
|
+
cards: z58.array(productCardDisplaySchema)
|
|
33688
|
+
});
|
|
33689
|
+
var productDetailDisplaySchema = z58.discriminatedUnion("state", [
|
|
33690
|
+
z58.object({
|
|
33691
|
+
kind: z58.literal("product-detail"),
|
|
33692
|
+
state: z58.literal("empty"),
|
|
33693
|
+
heading: z58.string().nullable(),
|
|
33694
|
+
className: z58.string().nullable(),
|
|
33695
|
+
emptyMessage: z58.string()
|
|
33511
33696
|
}),
|
|
33512
|
-
|
|
33513
|
-
kind:
|
|
33514
|
-
state:
|
|
33515
|
-
heading:
|
|
33516
|
-
className:
|
|
33517
|
-
title:
|
|
33518
|
-
priceLabel:
|
|
33519
|
-
summary:
|
|
33520
|
-
categoryLabel:
|
|
33521
|
-
gallery:
|
|
33522
|
-
url:
|
|
33523
|
-
alt:
|
|
33697
|
+
z58.object({
|
|
33698
|
+
kind: z58.literal("product-detail"),
|
|
33699
|
+
state: z58.literal("ready"),
|
|
33700
|
+
heading: z58.string().nullable(),
|
|
33701
|
+
className: z58.string().nullable(),
|
|
33702
|
+
title: z58.string(),
|
|
33703
|
+
priceLabel: z58.string(),
|
|
33704
|
+
summary: z58.string().nullable(),
|
|
33705
|
+
categoryLabel: z58.string().nullable(),
|
|
33706
|
+
gallery: z58.array(z58.object({
|
|
33707
|
+
url: z58.string(),
|
|
33708
|
+
alt: z58.string().nullable()
|
|
33524
33709
|
})),
|
|
33525
|
-
variantOptions:
|
|
33526
|
-
selectedVariantId:
|
|
33527
|
-
selectionLabel:
|
|
33528
|
-
actionLabel:
|
|
33529
|
-
soldOut:
|
|
33530
|
-
body:
|
|
33710
|
+
variantOptions: z58.array(productVariantOptionDisplaySchema),
|
|
33711
|
+
selectedVariantId: z58.string().nullable(),
|
|
33712
|
+
selectionLabel: z58.string(),
|
|
33713
|
+
actionLabel: z58.string(),
|
|
33714
|
+
soldOut: z58.boolean(),
|
|
33715
|
+
body: z58.unknown().nullable()
|
|
33531
33716
|
})
|
|
33532
33717
|
]);
|
|
33533
|
-
var passCardDisplaySchema =
|
|
33534
|
-
id:
|
|
33535
|
-
title:
|
|
33536
|
-
description:
|
|
33537
|
-
priceLabel:
|
|
33538
|
-
creditsLabel:
|
|
33539
|
-
perCreditLabel:
|
|
33540
|
-
validityLabel:
|
|
33541
|
-
actionLabel:
|
|
33542
|
-
});
|
|
33543
|
-
var membershipCardDisplaySchema =
|
|
33544
|
-
id:
|
|
33545
|
-
title:
|
|
33546
|
-
description:
|
|
33547
|
-
priceLabel:
|
|
33548
|
-
intervalLabel:
|
|
33549
|
-
actionLabel:
|
|
33550
|
-
});
|
|
33551
|
-
var passesMembershipsDisplaySchema =
|
|
33552
|
-
kind:
|
|
33553
|
-
state:
|
|
33554
|
-
className:
|
|
33555
|
-
layout:
|
|
33556
|
-
columns:
|
|
33557
|
-
emptyMessage:
|
|
33558
|
-
passesHeading:
|
|
33559
|
-
membershipsHeading:
|
|
33560
|
-
passes:
|
|
33561
|
-
memberships:
|
|
33562
|
-
});
|
|
33563
|
-
var cartLineDisplaySchema =
|
|
33564
|
-
key:
|
|
33565
|
-
title:
|
|
33566
|
-
priceLabel:
|
|
33567
|
-
quantity:
|
|
33568
|
-
quantityEditable:
|
|
33569
|
-
});
|
|
33570
|
-
var cartDisplaySchema =
|
|
33571
|
-
kind:
|
|
33572
|
-
state:
|
|
33573
|
-
heading:
|
|
33574
|
-
className:
|
|
33575
|
-
emptyMessage:
|
|
33576
|
-
supportText:
|
|
33577
|
-
items:
|
|
33578
|
-
subtotalLabel:
|
|
33579
|
-
checkoutButtonText:
|
|
33580
|
-
clearButtonText:
|
|
33581
|
-
});
|
|
33582
|
-
var checkoutDisplaySchema =
|
|
33583
|
-
kind:
|
|
33584
|
-
state:
|
|
33585
|
-
heading:
|
|
33586
|
-
className:
|
|
33587
|
-
message:
|
|
33588
|
-
submitButtonText:
|
|
33589
|
-
});
|
|
33590
|
-
var passesMembershipsHydrationSchema =
|
|
33591
|
-
passes:
|
|
33592
|
-
memberships:
|
|
33593
|
-
passPurchaseMode:
|
|
33594
|
-
});
|
|
33595
|
-
var productListHydrationSchema =
|
|
33596
|
-
products:
|
|
33597
|
-
showSummary:
|
|
33598
|
-
showPrices:
|
|
33599
|
-
addButtonText:
|
|
33600
|
-
});
|
|
33601
|
-
var productDetailHydrationSchema =
|
|
33602
|
-
products:
|
|
33603
|
-
productId:
|
|
33604
|
-
showSummary:
|
|
33605
|
-
showBody:
|
|
33606
|
-
addButtonText:
|
|
33607
|
-
});
|
|
33608
|
-
var cartHydrationSchema =
|
|
33609
|
-
emptyStateText:
|
|
33610
|
-
checkoutButtonText:
|
|
33611
|
-
clearButtonText:
|
|
33612
|
-
});
|
|
33613
|
-
var checkoutHydrationSchema =
|
|
33614
|
-
emptyStateText:
|
|
33615
|
-
submitButtonText:
|
|
33616
|
-
});
|
|
33617
|
-
var passesMembershipsRenderSchema =
|
|
33718
|
+
var passCardDisplaySchema = z58.object({
|
|
33719
|
+
id: z58.string(),
|
|
33720
|
+
title: z58.string(),
|
|
33721
|
+
description: z58.string().nullable(),
|
|
33722
|
+
priceLabel: z58.string(),
|
|
33723
|
+
creditsLabel: z58.string(),
|
|
33724
|
+
perCreditLabel: z58.string().nullable(),
|
|
33725
|
+
validityLabel: z58.string().nullable(),
|
|
33726
|
+
actionLabel: z58.string()
|
|
33727
|
+
});
|
|
33728
|
+
var membershipCardDisplaySchema = z58.object({
|
|
33729
|
+
id: z58.string(),
|
|
33730
|
+
title: z58.string(),
|
|
33731
|
+
description: z58.string().nullable(),
|
|
33732
|
+
priceLabel: z58.string(),
|
|
33733
|
+
intervalLabel: z58.string(),
|
|
33734
|
+
actionLabel: z58.string()
|
|
33735
|
+
});
|
|
33736
|
+
var passesMembershipsDisplaySchema = z58.object({
|
|
33737
|
+
kind: z58.literal("passes-memberships"),
|
|
33738
|
+
state: z58.enum(["empty", "ready"]),
|
|
33739
|
+
className: z58.string().nullable(),
|
|
33740
|
+
layout: z58.enum(["grid", "list"]),
|
|
33741
|
+
columns: z58.string(),
|
|
33742
|
+
emptyMessage: z58.string(),
|
|
33743
|
+
passesHeading: z58.string(),
|
|
33744
|
+
membershipsHeading: z58.string(),
|
|
33745
|
+
passes: z58.array(passCardDisplaySchema),
|
|
33746
|
+
memberships: z58.array(membershipCardDisplaySchema)
|
|
33747
|
+
});
|
|
33748
|
+
var cartLineDisplaySchema = z58.object({
|
|
33749
|
+
key: z58.string(),
|
|
33750
|
+
title: z58.string(),
|
|
33751
|
+
priceLabel: z58.string(),
|
|
33752
|
+
quantity: z58.number(),
|
|
33753
|
+
quantityEditable: z58.boolean()
|
|
33754
|
+
});
|
|
33755
|
+
var cartDisplaySchema = z58.object({
|
|
33756
|
+
kind: z58.literal("cart"),
|
|
33757
|
+
state: z58.enum(["empty", "ready"]),
|
|
33758
|
+
heading: z58.string().nullable(),
|
|
33759
|
+
className: z58.string().nullable(),
|
|
33760
|
+
emptyMessage: z58.string(),
|
|
33761
|
+
supportText: z58.string().nullable(),
|
|
33762
|
+
items: z58.array(cartLineDisplaySchema),
|
|
33763
|
+
subtotalLabel: z58.string().nullable(),
|
|
33764
|
+
checkoutButtonText: z58.string(),
|
|
33765
|
+
clearButtonText: z58.string()
|
|
33766
|
+
});
|
|
33767
|
+
var checkoutDisplaySchema = z58.object({
|
|
33768
|
+
kind: z58.literal("checkout"),
|
|
33769
|
+
state: z58.enum(["empty", "blocked", "ready"]),
|
|
33770
|
+
heading: z58.string().nullable(),
|
|
33771
|
+
className: z58.string().nullable(),
|
|
33772
|
+
message: z58.string().nullable(),
|
|
33773
|
+
submitButtonText: z58.string()
|
|
33774
|
+
});
|
|
33775
|
+
var passesMembershipsHydrationSchema = z58.object({
|
|
33776
|
+
passes: z58.array(publicPassProductSchema),
|
|
33777
|
+
memberships: z58.array(publicMembershipProductSchema),
|
|
33778
|
+
passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
|
|
33779
|
+
});
|
|
33780
|
+
var productListHydrationSchema = z58.object({
|
|
33781
|
+
products: z58.array(publicProductSchema),
|
|
33782
|
+
showSummary: z58.boolean(),
|
|
33783
|
+
showPrices: z58.boolean(),
|
|
33784
|
+
addButtonText: z58.string()
|
|
33785
|
+
});
|
|
33786
|
+
var productDetailHydrationSchema = z58.object({
|
|
33787
|
+
products: z58.array(publicProductSchema),
|
|
33788
|
+
productId: z58.string().nullable(),
|
|
33789
|
+
showSummary: z58.boolean(),
|
|
33790
|
+
showBody: z58.boolean(),
|
|
33791
|
+
addButtonText: z58.string()
|
|
33792
|
+
});
|
|
33793
|
+
var cartHydrationSchema = z58.object({
|
|
33794
|
+
emptyStateText: z58.string(),
|
|
33795
|
+
checkoutButtonText: z58.string(),
|
|
33796
|
+
clearButtonText: z58.string()
|
|
33797
|
+
});
|
|
33798
|
+
var checkoutHydrationSchema = z58.object({
|
|
33799
|
+
emptyStateText: z58.string(),
|
|
33800
|
+
submitButtonText: z58.string()
|
|
33801
|
+
});
|
|
33802
|
+
var passesMembershipsRenderSchema = z58.object({
|
|
33618
33803
|
display: passesMembershipsDisplaySchema,
|
|
33619
33804
|
hydration: passesMembershipsHydrationSchema
|
|
33620
33805
|
});
|
|
33621
|
-
var productListRenderSchema =
|
|
33806
|
+
var productListRenderSchema = z58.object({
|
|
33622
33807
|
display: productListDisplaySchema,
|
|
33623
33808
|
hydration: productListHydrationSchema
|
|
33624
33809
|
});
|
|
33625
|
-
var productDetailRenderSchema =
|
|
33810
|
+
var productDetailRenderSchema = z58.object({
|
|
33626
33811
|
display: productDetailDisplaySchema,
|
|
33627
33812
|
hydration: productDetailHydrationSchema
|
|
33628
33813
|
});
|
|
33629
|
-
var cartRenderSchema =
|
|
33814
|
+
var cartRenderSchema = z58.object({
|
|
33630
33815
|
display: cartDisplaySchema,
|
|
33631
33816
|
hydration: cartHydrationSchema
|
|
33632
33817
|
});
|
|
33633
|
-
var checkoutRenderSchema =
|
|
33818
|
+
var checkoutRenderSchema = z58.object({
|
|
33634
33819
|
display: checkoutDisplaySchema,
|
|
33635
33820
|
hydration: checkoutHydrationSchema
|
|
33636
33821
|
});
|
|
33637
33822
|
function resolveShowPricePerCredit(source) {
|
|
33638
33823
|
return source.showPricePerCredit ?? true;
|
|
33639
33824
|
}
|
|
33640
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
33641
|
-
siteId:
|
|
33642
|
-
apiBaseUrl:
|
|
33825
|
+
var shopIslandMetaCodec = createZodCodec(z58.object({
|
|
33826
|
+
siteId: z58.string().optional(),
|
|
33827
|
+
apiBaseUrl: z58.string().optional(),
|
|
33643
33828
|
stage: previewStageSchema.optional()
|
|
33644
33829
|
}));
|
|
33645
33830
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -34017,9 +34202,9 @@ var shopBlockDefinition = {
|
|
|
34017
34202
|
runtime: shopBlockRuntime,
|
|
34018
34203
|
dataSchemas: {
|
|
34019
34204
|
// listPublicPasses returns { passes: [...] }
|
|
34020
|
-
passes:
|
|
34205
|
+
passes: z59.object({ passes: z59.array(publicPassProductSchema) }).optional(),
|
|
34021
34206
|
// listPublicMemberships returns { memberships: [...] }
|
|
34022
|
-
memberships:
|
|
34207
|
+
memberships: z59.object({ memberships: z59.array(publicMembershipProductSchema) }).optional()
|
|
34023
34208
|
},
|
|
34024
34209
|
dataLoaders: {
|
|
34025
34210
|
// Load passes for display
|
|
@@ -34042,7 +34227,7 @@ var shopBlockDefinition = {
|
|
|
34042
34227
|
};
|
|
34043
34228
|
|
|
34044
34229
|
// ../blocks/src/system/blocks/product-list.ts
|
|
34045
|
-
import { z as
|
|
34230
|
+
import { z as z60 } from "zod";
|
|
34046
34231
|
var productListManifest = createBlockManifest({
|
|
34047
34232
|
id: "block.product-list",
|
|
34048
34233
|
version: "1.0.0",
|
|
@@ -34175,7 +34360,7 @@ var productListBlockDefinition = {
|
|
|
34175
34360
|
}
|
|
34176
34361
|
}
|
|
34177
34362
|
};
|
|
34178
|
-
var productListDataSchema =
|
|
34363
|
+
var productListDataSchema = z60.object({
|
|
34179
34364
|
products: publicProductsResponseSchema.optional()
|
|
34180
34365
|
});
|
|
34181
34366
|
|
|
@@ -34436,72 +34621,72 @@ var checkoutBlockDefinition = {
|
|
|
34436
34621
|
};
|
|
34437
34622
|
|
|
34438
34623
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
34439
|
-
import { z as
|
|
34440
|
-
var publicGiftCardOfferSchema =
|
|
34441
|
-
id:
|
|
34442
|
-
kind:
|
|
34443
|
-
title:
|
|
34444
|
-
description:
|
|
34445
|
-
sortOrder:
|
|
34446
|
-
giftCard:
|
|
34447
|
-
fixedDenominations:
|
|
34448
|
-
customAmountEnabled:
|
|
34449
|
-
customAmountMinCents:
|
|
34450
|
-
customAmountMaxCents:
|
|
34624
|
+
import { z as z61 } from "zod";
|
|
34625
|
+
var publicGiftCardOfferSchema = z61.object({
|
|
34626
|
+
id: z61.string(),
|
|
34627
|
+
kind: z61.literal("gift_card"),
|
|
34628
|
+
title: z61.string(),
|
|
34629
|
+
description: z61.string().nullable(),
|
|
34630
|
+
sortOrder: z61.number().int(),
|
|
34631
|
+
giftCard: z61.object({
|
|
34632
|
+
fixedDenominations: z61.array(z61.number().int().positive()),
|
|
34633
|
+
customAmountEnabled: z61.boolean(),
|
|
34634
|
+
customAmountMinCents: z61.number().int().positive(),
|
|
34635
|
+
customAmountMaxCents: z61.number().int().positive()
|
|
34451
34636
|
}),
|
|
34452
|
-
voucher:
|
|
34453
|
-
});
|
|
34454
|
-
var publicVoucherOfferSchema =
|
|
34455
|
-
id:
|
|
34456
|
-
kind:
|
|
34457
|
-
title:
|
|
34458
|
-
description:
|
|
34459
|
-
sortOrder:
|
|
34460
|
-
giftCard:
|
|
34461
|
-
voucher:
|
|
34462
|
-
purchaseAmountCents:
|
|
34637
|
+
voucher: z61.null()
|
|
34638
|
+
});
|
|
34639
|
+
var publicVoucherOfferSchema = z61.object({
|
|
34640
|
+
id: z61.string(),
|
|
34641
|
+
kind: z61.literal("voucher"),
|
|
34642
|
+
title: z61.string(),
|
|
34643
|
+
description: z61.string().nullable(),
|
|
34644
|
+
sortOrder: z61.number().int(),
|
|
34645
|
+
giftCard: z61.null(),
|
|
34646
|
+
voucher: z61.object({
|
|
34647
|
+
purchaseAmountCents: z61.number().int().positive()
|
|
34463
34648
|
})
|
|
34464
34649
|
});
|
|
34465
|
-
var publicGiftingOffersResponseSchema =
|
|
34466
|
-
currency:
|
|
34467
|
-
giftCards:
|
|
34468
|
-
vouchers:
|
|
34650
|
+
var publicGiftingOffersResponseSchema = z61.object({
|
|
34651
|
+
currency: z61.string(),
|
|
34652
|
+
giftCards: z61.array(publicGiftCardOfferSchema),
|
|
34653
|
+
vouchers: z61.array(publicVoucherOfferSchema)
|
|
34469
34654
|
});
|
|
34470
|
-
var giftingSourceSchema =
|
|
34471
|
-
siteId:
|
|
34472
|
-
apiBaseUrl:
|
|
34655
|
+
var giftingSourceSchema = z61.object({
|
|
34656
|
+
siteId: z61.string().optional(),
|
|
34657
|
+
apiBaseUrl: z61.string().optional(),
|
|
34473
34658
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
34474
|
-
className:
|
|
34475
|
-
heading:
|
|
34476
|
-
intro:
|
|
34477
|
-
giftCardsHeading:
|
|
34478
|
-
vouchersHeading:
|
|
34479
|
-
emptyStateText:
|
|
34480
|
-
checkoutButtonText:
|
|
34481
|
-
successMessage:
|
|
34482
|
-
});
|
|
34483
|
-
var giftingDisplaySchema =
|
|
34484
|
-
kind:
|
|
34485
|
-
state:
|
|
34486
|
-
className:
|
|
34487
|
-
heading:
|
|
34488
|
-
intro:
|
|
34489
|
-
giftCardsHeading:
|
|
34490
|
-
vouchersHeading:
|
|
34491
|
-
emptyStateText:
|
|
34492
|
-
});
|
|
34493
|
-
var giftingHydrationSchema =
|
|
34659
|
+
className: z61.string().nullable().optional(),
|
|
34660
|
+
heading: z61.string().nullable().optional(),
|
|
34661
|
+
intro: z61.string().nullable().optional(),
|
|
34662
|
+
giftCardsHeading: z61.string().nullable().optional(),
|
|
34663
|
+
vouchersHeading: z61.string().nullable().optional(),
|
|
34664
|
+
emptyStateText: z61.string().nullable().optional(),
|
|
34665
|
+
checkoutButtonText: z61.string().nullable().optional(),
|
|
34666
|
+
successMessage: z61.string().nullable().optional()
|
|
34667
|
+
});
|
|
34668
|
+
var giftingDisplaySchema = z61.object({
|
|
34669
|
+
kind: z61.literal("gifting"),
|
|
34670
|
+
state: z61.literal("ready"),
|
|
34671
|
+
className: z61.string().nullable(),
|
|
34672
|
+
heading: z61.string(),
|
|
34673
|
+
intro: z61.string().nullable(),
|
|
34674
|
+
giftCardsHeading: z61.string(),
|
|
34675
|
+
vouchersHeading: z61.string(),
|
|
34676
|
+
emptyStateText: z61.string()
|
|
34677
|
+
});
|
|
34678
|
+
var giftingHydrationSchema = z61.object({
|
|
34494
34679
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
34495
|
-
checkoutButtonText:
|
|
34496
|
-
successMessage:
|
|
34680
|
+
checkoutButtonText: z61.string(),
|
|
34681
|
+
successMessage: z61.string()
|
|
34497
34682
|
});
|
|
34498
|
-
var giftingRenderSchema =
|
|
34683
|
+
var giftingRenderSchema = z61.object({
|
|
34499
34684
|
display: giftingDisplaySchema,
|
|
34500
34685
|
hydration: giftingHydrationSchema
|
|
34501
34686
|
});
|
|
34502
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
34503
|
-
siteId:
|
|
34504
|
-
apiBaseUrl:
|
|
34687
|
+
var giftingIslandMetaCodec = createZodCodec(z61.object({
|
|
34688
|
+
siteId: z61.string().optional(),
|
|
34689
|
+
apiBaseUrl: z61.string().optional()
|
|
34505
34690
|
}));
|
|
34506
34691
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
34507
34692
|
"siteId",
|
|
@@ -34672,7 +34857,61 @@ var giftingBlockDefinition = {
|
|
|
34672
34857
|
};
|
|
34673
34858
|
|
|
34674
34859
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34675
|
-
import { z as
|
|
34860
|
+
import { z as z62 } from "zod";
|
|
34861
|
+
|
|
34862
|
+
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
34863
|
+
function parseNewsletterSignupBlockId(value) {
|
|
34864
|
+
const trimmed = parseTrimmedString(value);
|
|
34865
|
+
return trimmed && BLOCK_ID_PATTERN.test(trimmed) ? trimmed : null;
|
|
34866
|
+
}
|
|
34867
|
+
function parseSignedNewsletterDestinationRef(value) {
|
|
34868
|
+
const trimmed = parseTrimmedString(value);
|
|
34869
|
+
return trimmed && SIGNED_DESTINATION_REF_PATTERN.test(trimmed) ? trimmed : null;
|
|
34870
|
+
}
|
|
34871
|
+
function parseNewsletterSignupDestinationProvider(value) {
|
|
34872
|
+
return value === "riverbank" || value === "mailchimp" ? value : null;
|
|
34873
|
+
}
|
|
34874
|
+
function buildNewsletterSignupBlockRef(blockId) {
|
|
34875
|
+
const parsed = parseNewsletterSignupBlockId(blockId);
|
|
34876
|
+
return parsed ? { tag: "block_ref", blockId: parsed } : null;
|
|
34877
|
+
}
|
|
34878
|
+
function normalizeNewsletterSignupEditorValuesForDestination(values) {
|
|
34879
|
+
const destinationProvider = parseNewsletterSignupDestinationProvider(values.destinationProvider) ?? "riverbank";
|
|
34880
|
+
if (destinationProvider === "mailchimp") {
|
|
34881
|
+
return {
|
|
34882
|
+
destinationProvider,
|
|
34883
|
+
mailchimpAudienceId: values.mailchimpAudienceId,
|
|
34884
|
+
mailchimpTags: values.mailchimpTags
|
|
34885
|
+
};
|
|
34886
|
+
}
|
|
34887
|
+
return {
|
|
34888
|
+
destinationProvider,
|
|
34889
|
+
listId: values.listId,
|
|
34890
|
+
tags: values.tags
|
|
34891
|
+
};
|
|
34892
|
+
}
|
|
34893
|
+
function deriveNewsletterSignupRuntimeSource(values) {
|
|
34894
|
+
const normalized = normalizeNewsletterSignupEditorValuesForDestination(values);
|
|
34895
|
+
if (normalized.destinationProvider === "mailchimp") {
|
|
34896
|
+
return {
|
|
34897
|
+
destinationProvider: "mailchimp",
|
|
34898
|
+
listId: null,
|
|
34899
|
+
tags: null
|
|
34900
|
+
};
|
|
34901
|
+
}
|
|
34902
|
+
return {
|
|
34903
|
+
destinationProvider: "riverbank",
|
|
34904
|
+
listId: parseTrimmedString(normalized.listId),
|
|
34905
|
+
tags: parseTrimmedString(normalized.tags)
|
|
34906
|
+
};
|
|
34907
|
+
}
|
|
34908
|
+
var BLOCK_ID_PATTERN = /^[A-Za-z0-9._:-]{1,200}$/;
|
|
34909
|
+
var SIGNED_DESTINATION_REF_PATTERN = /^[A-Za-z0-9._~-]{16,1000}$/;
|
|
34910
|
+
function parseTrimmedString(value) {
|
|
34911
|
+
if (typeof value !== "string") return null;
|
|
34912
|
+
const trimmed = value.trim();
|
|
34913
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
34914
|
+
}
|
|
34676
34915
|
|
|
34677
34916
|
// ../blocks/src/system/runtime/nodes/newsletter-form.types.ts
|
|
34678
34917
|
function getPresetFields(preset2, options) {
|
|
@@ -34725,49 +34964,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
34725
34964
|
}
|
|
34726
34965
|
|
|
34727
34966
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34728
|
-
var newsletterPresetSchema =
|
|
34729
|
-
var
|
|
34730
|
-
|
|
34731
|
-
|
|
34732
|
-
|
|
34733
|
-
|
|
34734
|
-
|
|
34735
|
-
|
|
34736
|
-
|
|
34737
|
-
|
|
34738
|
-
|
|
34739
|
-
|
|
34967
|
+
var newsletterPresetSchema = z62.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
34968
|
+
var newsletterDestinationProviderSchema = z62.enum(["riverbank", "mailchimp"]);
|
|
34969
|
+
var newsletterFieldSchema = z62.object({
|
|
34970
|
+
id: z62.string(),
|
|
34971
|
+
type: z62.enum(["email", "text"]),
|
|
34972
|
+
label: z62.string(),
|
|
34973
|
+
required: z62.boolean(),
|
|
34974
|
+
placeholder: z62.string().optional()
|
|
34975
|
+
});
|
|
34976
|
+
var newsletterSignupBlockIdSchema = z62.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
34977
|
+
var signedNewsletterDestinationRefSchema = z62.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
34978
|
+
var newsletterPublicDestinationRefSchema = z62.discriminatedUnion("tag", [
|
|
34979
|
+
z62.object({
|
|
34980
|
+
tag: z62.literal("block_ref"),
|
|
34981
|
+
blockId: newsletterSignupBlockIdSchema
|
|
34982
|
+
}),
|
|
34983
|
+
z62.object({
|
|
34984
|
+
tag: z62.literal("signed_destination_ref"),
|
|
34985
|
+
token: signedNewsletterDestinationRefSchema
|
|
34986
|
+
})
|
|
34987
|
+
]);
|
|
34988
|
+
var newsletterSourceSchema = z62.object({
|
|
34989
|
+
blockId: z62.string().nullable().optional(),
|
|
34990
|
+
siteId: z62.string().optional(),
|
|
34991
|
+
apiBaseUrl: z62.string().optional(),
|
|
34992
|
+
listId: z62.string().nullable().optional(),
|
|
34993
|
+
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
34740
34994
|
preset: newsletterPresetSchema.optional(),
|
|
34741
|
-
includePhone:
|
|
34742
|
-
buttonLabel:
|
|
34743
|
-
successMessage:
|
|
34744
|
-
privacyNote:
|
|
34745
|
-
tags:
|
|
34746
|
-
spamProtectionEnabled:
|
|
34747
|
-
className:
|
|
34748
|
-
});
|
|
34749
|
-
var newsletterDisplaySchema =
|
|
34750
|
-
kind:
|
|
34751
|
-
className:
|
|
34752
|
-
buttonLabel:
|
|
34753
|
-
successMessage:
|
|
34754
|
-
privacyNote:
|
|
34755
|
-
fields:
|
|
34756
|
-
});
|
|
34757
|
-
var newsletterHydrationSchema =
|
|
34758
|
-
|
|
34995
|
+
includePhone: z62.boolean().optional(),
|
|
34996
|
+
buttonLabel: z62.string().nullable().optional(),
|
|
34997
|
+
successMessage: z62.string().nullable().optional(),
|
|
34998
|
+
privacyNote: z62.string().nullable().optional(),
|
|
34999
|
+
tags: z62.string().nullable().optional(),
|
|
35000
|
+
spamProtectionEnabled: z62.boolean().optional(),
|
|
35001
|
+
className: z62.string().nullable().optional()
|
|
35002
|
+
});
|
|
35003
|
+
var newsletterDisplaySchema = z62.object({
|
|
35004
|
+
kind: z62.literal("newsletter-form"),
|
|
35005
|
+
className: z62.string().nullable(),
|
|
35006
|
+
buttonLabel: z62.string(),
|
|
35007
|
+
successMessage: z62.string().nullable(),
|
|
35008
|
+
privacyNote: z62.string().nullable(),
|
|
35009
|
+
fields: z62.array(newsletterFieldSchema)
|
|
35010
|
+
});
|
|
35011
|
+
var newsletterHydrationSchema = z62.object({
|
|
35012
|
+
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
35013
|
+
listId: z62.string().nullable().optional(),
|
|
34759
35014
|
preset: newsletterPresetSchema,
|
|
34760
|
-
includePhone:
|
|
34761
|
-
tags:
|
|
34762
|
-
spamProtectionEnabled:
|
|
35015
|
+
includePhone: z62.boolean(),
|
|
35016
|
+
tags: z62.string().nullable().optional(),
|
|
35017
|
+
spamProtectionEnabled: z62.boolean().optional()
|
|
34763
35018
|
});
|
|
34764
|
-
var newsletterRenderSchema =
|
|
35019
|
+
var newsletterRenderSchema = z62.object({
|
|
34765
35020
|
display: newsletterDisplaySchema,
|
|
34766
35021
|
hydration: newsletterHydrationSchema
|
|
34767
35022
|
});
|
|
34768
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
34769
|
-
siteId:
|
|
34770
|
-
apiBaseUrl:
|
|
35023
|
+
var newsletterIslandMetaCodec = createZodCodec(z62.object({
|
|
35024
|
+
siteId: z62.string().optional(),
|
|
35025
|
+
apiBaseUrl: z62.string().optional()
|
|
34771
35026
|
}));
|
|
34772
35027
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
34773
35028
|
function buildNewsletterDisplay(source) {
|
|
@@ -34788,16 +35043,20 @@ var newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
34788
35043
|
source: createZodCodec(newsletterSourceSchema),
|
|
34789
35044
|
render: createZodCodec(newsletterRenderSchema)
|
|
34790
35045
|
},
|
|
34791
|
-
buildRender: (source) =>
|
|
34792
|
-
|
|
34793
|
-
|
|
34794
|
-
|
|
34795
|
-
|
|
34796
|
-
|
|
34797
|
-
|
|
34798
|
-
|
|
34799
|
-
|
|
34800
|
-
|
|
35046
|
+
buildRender: (source) => {
|
|
35047
|
+
const runtimeSource = deriveNewsletterSignupRuntimeSource(source);
|
|
35048
|
+
return {
|
|
35049
|
+
display: buildNewsletterDisplay(source),
|
|
35050
|
+
hydration: {
|
|
35051
|
+
destinationRef: buildNewsletterSignupBlockRef(source.blockId),
|
|
35052
|
+
listId: runtimeSource.listId,
|
|
35053
|
+
preset: source.preset ?? "emailOnly",
|
|
35054
|
+
includePhone: source.includePhone ?? false,
|
|
35055
|
+
tags: runtimeSource.tags,
|
|
35056
|
+
spamProtectionEnabled: source.spamProtectionEnabled
|
|
35057
|
+
}
|
|
35058
|
+
};
|
|
35059
|
+
}
|
|
34801
35060
|
});
|
|
34802
35061
|
var newsletterFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
34803
35062
|
runtime: newsletterFormBlockRuntime,
|
|
@@ -34809,6 +35068,20 @@ var newsletterFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
|
34809
35068
|
apiBaseUrl: value.apiBaseUrl
|
|
34810
35069
|
})
|
|
34811
35070
|
});
|
|
35071
|
+
function parseRequiredNewsletterSignupBlockId(value) {
|
|
35072
|
+
const parsed = parseNewsletterSignupBlockId(value);
|
|
35073
|
+
if (!parsed) {
|
|
35074
|
+
throw new Error("Newsletter signup block destination ref requires blockId");
|
|
35075
|
+
}
|
|
35076
|
+
return parsed;
|
|
35077
|
+
}
|
|
35078
|
+
function parseRequiredSignedNewsletterDestinationRef(value) {
|
|
35079
|
+
const parsed = parseSignedNewsletterDestinationRef(value);
|
|
35080
|
+
if (!parsed) {
|
|
35081
|
+
throw new Error("Newsletter signup signed destination ref requires token");
|
|
35082
|
+
}
|
|
35083
|
+
return parsed;
|
|
35084
|
+
}
|
|
34812
35085
|
|
|
34813
35086
|
// ../blocks/src/system/blocks/newsletter-signup.ts
|
|
34814
35087
|
var stackedComposition = composeFragments([
|
|
@@ -34888,23 +35161,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
34888
35161
|
};
|
|
34889
35162
|
|
|
34890
35163
|
// ../blocks/src/system/blocks/team-members.ts
|
|
34891
|
-
import { z as
|
|
35164
|
+
import { z as z63 } from "zod";
|
|
34892
35165
|
var ITEM_NAME2 = "member";
|
|
34893
35166
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
34894
35167
|
message: "Team member photos must be image media"
|
|
34895
35168
|
}).nullable();
|
|
34896
|
-
var teamMemberDataSchema =
|
|
34897
|
-
_type:
|
|
34898
|
-
id:
|
|
34899
|
-
name:
|
|
34900
|
-
role:
|
|
34901
|
-
roleLabel:
|
|
34902
|
-
bio:
|
|
34903
|
-
summary:
|
|
35169
|
+
var teamMemberDataSchema = z63.object({
|
|
35170
|
+
_type: z63.literal("teamMember"),
|
|
35171
|
+
id: z63.string(),
|
|
35172
|
+
name: z63.string(),
|
|
35173
|
+
role: z63.string().nullable(),
|
|
35174
|
+
roleLabel: z63.string().nullable(),
|
|
35175
|
+
bio: z63.string().nullable(),
|
|
35176
|
+
summary: z63.string().nullable(),
|
|
34904
35177
|
photo: teamMemberPhotoSchema,
|
|
34905
|
-
profilePath:
|
|
35178
|
+
profilePath: z63.string().nullable()
|
|
34906
35179
|
});
|
|
34907
|
-
var teamMembersDataSchema =
|
|
35180
|
+
var teamMembersDataSchema = z63.array(teamMemberDataSchema);
|
|
34908
35181
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
34909
35182
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
34910
35183
|
var headingNode = text(
|
|
@@ -37602,34 +37875,34 @@ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
|
37602
37875
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
37603
37876
|
|
|
37604
37877
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
37605
|
-
import { z as
|
|
37606
|
-
var themeBridgeConfigSchema =
|
|
37607
|
-
tokens:
|
|
37608
|
-
typography:
|
|
37609
|
-
headingFamily:
|
|
37610
|
-
bodyFamily:
|
|
37611
|
-
headingWeight:
|
|
37612
|
-
bodyWeight:
|
|
37878
|
+
import { z as z64 } from "zod";
|
|
37879
|
+
var themeBridgeConfigSchema = z64.object({
|
|
37880
|
+
tokens: z64.record(z64.string(), z64.string()),
|
|
37881
|
+
typography: z64.object({
|
|
37882
|
+
headingFamily: z64.string().optional(),
|
|
37883
|
+
bodyFamily: z64.string().optional(),
|
|
37884
|
+
headingWeight: z64.number().optional(),
|
|
37885
|
+
bodyWeight: z64.number().optional()
|
|
37613
37886
|
}).optional(),
|
|
37614
|
-
spacing:
|
|
37615
|
-
corners:
|
|
37616
|
-
shadows:
|
|
37617
|
-
components:
|
|
37618
|
-
buttons:
|
|
37619
|
-
|
|
37620
|
-
|
|
37621
|
-
variants:
|
|
37887
|
+
spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
|
|
37888
|
+
corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
37889
|
+
shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
|
|
37890
|
+
components: z64.object({
|
|
37891
|
+
buttons: z64.union([
|
|
37892
|
+
z64.boolean(),
|
|
37893
|
+
z64.object({
|
|
37894
|
+
variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
37622
37895
|
})
|
|
37623
37896
|
]).optional(),
|
|
37624
|
-
cards:
|
|
37625
|
-
|
|
37626
|
-
|
|
37627
|
-
variants:
|
|
37897
|
+
cards: z64.union([
|
|
37898
|
+
z64.boolean(),
|
|
37899
|
+
z64.object({
|
|
37900
|
+
variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
|
|
37628
37901
|
})
|
|
37629
37902
|
]).optional(),
|
|
37630
|
-
inputs:
|
|
37903
|
+
inputs: z64.boolean().optional()
|
|
37631
37904
|
}).optional(),
|
|
37632
|
-
overrides:
|
|
37905
|
+
overrides: z64.record(z64.string(), z64.string()).optional()
|
|
37633
37906
|
}).passthrough();
|
|
37634
37907
|
|
|
37635
37908
|
// ../theme-core/src/siteChrome.tsx
|
|
@@ -37655,17 +37928,17 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
37655
37928
|
function unsafeRetypeZodSchema(schema) {
|
|
37656
37929
|
return schema;
|
|
37657
37930
|
}
|
|
37658
|
-
var navIdListSchema =
|
|
37931
|
+
var navIdListSchema = z65.preprocess((value) => {
|
|
37659
37932
|
if (!Array.isArray(value)) return void 0;
|
|
37660
37933
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
37661
37934
|
return filtered.length > 0 ? filtered : void 0;
|
|
37662
|
-
},
|
|
37663
|
-
var dashboardNavVisibilityBaseSchema =
|
|
37664
|
-
mode:
|
|
37935
|
+
}, z65.array(z65.string()).max(200).optional());
|
|
37936
|
+
var dashboardNavVisibilityBaseSchema = z65.object({
|
|
37937
|
+
mode: z65.enum(["augment", "restrict"]).optional(),
|
|
37665
37938
|
allowIds: navIdListSchema,
|
|
37666
37939
|
denyIds: navIdListSchema
|
|
37667
37940
|
}).strip();
|
|
37668
|
-
var dashboardNavVisibilityRolesSchema =
|
|
37941
|
+
var dashboardNavVisibilityRolesSchema = z65.object({
|
|
37669
37942
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
37670
37943
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
37671
37944
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -37673,63 +37946,63 @@ var dashboardNavVisibilityRolesSchema = z64.object({
|
|
|
37673
37946
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
37674
37947
|
roles: dashboardNavVisibilityRolesSchema
|
|
37675
37948
|
}).strip();
|
|
37676
|
-
var dashboardNavigationConfigSchema =
|
|
37949
|
+
var dashboardNavigationConfigSchema = z65.object({
|
|
37677
37950
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
37678
37951
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
37679
37952
|
}).strip();
|
|
37680
|
-
var dashboardConfigSchema =
|
|
37681
|
-
previewEditingEnabled:
|
|
37953
|
+
var dashboardConfigSchema = z65.object({
|
|
37954
|
+
previewEditingEnabled: z65.boolean().optional(),
|
|
37682
37955
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
37683
37956
|
}).strip();
|
|
37684
37957
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
37685
37958
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
37686
|
-
var sdkLoaderEndpointSchema =
|
|
37687
|
-
var loaderFallbackScalarSchema =
|
|
37688
|
-
|
|
37689
|
-
|
|
37690
|
-
|
|
37691
|
-
|
|
37959
|
+
var sdkLoaderEndpointSchema = z65.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
37960
|
+
var loaderFallbackScalarSchema = z65.union([
|
|
37961
|
+
z65.string(),
|
|
37962
|
+
z65.number(),
|
|
37963
|
+
z65.boolean(),
|
|
37964
|
+
z65.null()
|
|
37692
37965
|
]);
|
|
37693
|
-
var loaderParamBindingSchema =
|
|
37694
|
-
$bind:
|
|
37695
|
-
from:
|
|
37966
|
+
var loaderParamBindingSchema = z65.object({
|
|
37967
|
+
$bind: z65.object({
|
|
37968
|
+
from: z65.string().min(1, "Binding path is required"),
|
|
37696
37969
|
fallback: loaderFallbackScalarSchema.optional()
|
|
37697
37970
|
})
|
|
37698
37971
|
});
|
|
37699
|
-
var loaderParamValueSchema =
|
|
37700
|
-
|
|
37701
|
-
|
|
37702
|
-
|
|
37972
|
+
var loaderParamValueSchema = z65.union([
|
|
37973
|
+
z65.string(),
|
|
37974
|
+
z65.number(),
|
|
37975
|
+
z65.boolean(),
|
|
37703
37976
|
loaderParamBindingSchema
|
|
37704
37977
|
]);
|
|
37705
|
-
var sdkConfigLoaderSchema =
|
|
37978
|
+
var sdkConfigLoaderSchema = z65.object({
|
|
37706
37979
|
endpoint: sdkLoaderEndpointSchema,
|
|
37707
|
-
params:
|
|
37708
|
-
mode:
|
|
37980
|
+
params: z65.record(z65.string(), loaderParamValueSchema),
|
|
37981
|
+
mode: z65.enum(["server", "client"]).default("server")
|
|
37709
37982
|
});
|
|
37710
|
-
var sdkDataLoadersSchema =
|
|
37711
|
-
var sdkCustomBlockIdSchema =
|
|
37983
|
+
var sdkDataLoadersSchema = z65.record(z65.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
37984
|
+
var sdkCustomBlockIdSchema = z65.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
37712
37985
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
37713
37986
|
}).transform((value) => value);
|
|
37714
|
-
var sdkCustomBlockInputSchema =
|
|
37987
|
+
var sdkCustomBlockInputSchema = z65.object({
|
|
37715
37988
|
id: sdkCustomBlockIdSchema,
|
|
37716
|
-
title:
|
|
37717
|
-
titleSource:
|
|
37718
|
-
description:
|
|
37989
|
+
title: z65.string().min(1),
|
|
37990
|
+
titleSource: z65.union([z65.string().min(1), z65.array(z65.string().min(1)).min(1)]).optional(),
|
|
37991
|
+
description: z65.string().optional(),
|
|
37719
37992
|
category: blockCategoryEnum,
|
|
37720
|
-
icon:
|
|
37721
|
-
tags:
|
|
37993
|
+
icon: z65.string().optional(),
|
|
37994
|
+
tags: z65.array(z65.string()).optional(),
|
|
37722
37995
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
37723
37996
|
dataLoaders: sdkDataLoadersSchema,
|
|
37724
37997
|
layout: NodeSchema.optional(),
|
|
37725
|
-
variants:
|
|
37726
|
-
defaultVariant:
|
|
37727
|
-
variantOptions:
|
|
37728
|
-
|
|
37729
|
-
|
|
37730
|
-
label:
|
|
37731
|
-
description:
|
|
37732
|
-
icon:
|
|
37998
|
+
variants: z65.record(z65.string().min(1), NodeSchema).optional(),
|
|
37999
|
+
defaultVariant: z65.string().min(1).optional(),
|
|
38000
|
+
variantOptions: z65.record(
|
|
38001
|
+
z65.string().min(1),
|
|
38002
|
+
z65.object({
|
|
38003
|
+
label: z65.string().min(1).optional(),
|
|
38004
|
+
description: z65.string().min(1).optional(),
|
|
38005
|
+
icon: z65.string().min(1).optional()
|
|
37733
38006
|
})
|
|
37734
38007
|
).optional(),
|
|
37735
38008
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -37740,7 +38013,7 @@ var sdkCustomBlockInputSchema = z64.object({
|
|
|
37740
38013
|
const exists = data.fields.some((field) => field.id === source);
|
|
37741
38014
|
if (!exists) {
|
|
37742
38015
|
ctx.addIssue({
|
|
37743
|
-
code:
|
|
38016
|
+
code: z65.ZodIssueCode.custom,
|
|
37744
38017
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
37745
38018
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
37746
38019
|
});
|
|
@@ -37749,7 +38022,7 @@ var sdkCustomBlockInputSchema = z64.object({
|
|
|
37749
38022
|
}
|
|
37750
38023
|
if (data.layout && data.variants) {
|
|
37751
38024
|
ctx.addIssue({
|
|
37752
|
-
code:
|
|
38025
|
+
code: z65.ZodIssueCode.custom,
|
|
37753
38026
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
37754
38027
|
path: ["variants"]
|
|
37755
38028
|
});
|
|
@@ -37758,14 +38031,14 @@ var sdkCustomBlockInputSchema = z64.object({
|
|
|
37758
38031
|
const keys = Object.keys(data.variants);
|
|
37759
38032
|
if (keys.length === 0) {
|
|
37760
38033
|
ctx.addIssue({
|
|
37761
|
-
code:
|
|
38034
|
+
code: z65.ZodIssueCode.custom,
|
|
37762
38035
|
message: "`variants` must contain at least one variant key",
|
|
37763
38036
|
path: ["variants"]
|
|
37764
38037
|
});
|
|
37765
38038
|
}
|
|
37766
38039
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
37767
38040
|
ctx.addIssue({
|
|
37768
|
-
code:
|
|
38041
|
+
code: z65.ZodIssueCode.custom,
|
|
37769
38042
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
37770
38043
|
path: ["defaultVariant"]
|
|
37771
38044
|
});
|
|
@@ -37774,7 +38047,7 @@ var sdkCustomBlockInputSchema = z64.object({
|
|
|
37774
38047
|
for (const key of Object.keys(data.variantOptions)) {
|
|
37775
38048
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
37776
38049
|
ctx.addIssue({
|
|
37777
|
-
code:
|
|
38050
|
+
code: z65.ZodIssueCode.custom,
|
|
37778
38051
|
message: "`variantOptions` key must exist in `variants`",
|
|
37779
38052
|
path: ["variantOptions", key]
|
|
37780
38053
|
});
|
|
@@ -37783,78 +38056,78 @@ var sdkCustomBlockInputSchema = z64.object({
|
|
|
37783
38056
|
}
|
|
37784
38057
|
}
|
|
37785
38058
|
});
|
|
37786
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38059
|
+
var sdkBlockFieldExtensionInputSchema = z65.object({
|
|
37787
38060
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
37788
38061
|
});
|
|
37789
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
37790
|
-
|
|
38062
|
+
var sdkBlockFieldExtensionsInputSchema = z65.record(
|
|
38063
|
+
z65.string().min(1),
|
|
37791
38064
|
sdkBlockFieldExtensionInputSchema
|
|
37792
38065
|
);
|
|
37793
|
-
var sdkThemePaletteSchema =
|
|
37794
|
-
var sdkThemeConfigSchema =
|
|
38066
|
+
var sdkThemePaletteSchema = z65.record(z65.string(), z65.string());
|
|
38067
|
+
var sdkThemeConfigSchema = z65.object({
|
|
37795
38068
|
palette: sdkThemePaletteSchema
|
|
37796
38069
|
});
|
|
37797
|
-
var sdkSectionBackgroundSchema =
|
|
37798
|
-
id:
|
|
37799
|
-
label:
|
|
37800
|
-
token:
|
|
38070
|
+
var sdkSectionBackgroundSchema = z65.object({
|
|
38071
|
+
id: z65.string().min(1),
|
|
38072
|
+
label: z65.string().min(1),
|
|
38073
|
+
token: z65.string().min(1)
|
|
37801
38074
|
});
|
|
37802
|
-
var sdkSectionOptionsConfigSchema =
|
|
37803
|
-
backgroundColor:
|
|
37804
|
-
backgroundImage:
|
|
37805
|
-
backgroundGradient:
|
|
37806
|
-
spacing:
|
|
37807
|
-
textColor:
|
|
38075
|
+
var sdkSectionOptionsConfigSchema = z65.object({
|
|
38076
|
+
backgroundColor: z65.boolean().optional(),
|
|
38077
|
+
backgroundImage: z65.boolean().optional(),
|
|
38078
|
+
backgroundGradient: z65.boolean().optional(),
|
|
38079
|
+
spacing: z65.union([z65.array(z65.enum(["compact", "default", "spacious"])), z65.boolean()]).optional(),
|
|
38080
|
+
textColor: z65.boolean().optional()
|
|
37808
38081
|
});
|
|
37809
|
-
var sdkContainerOptionsConfigSchema =
|
|
37810
|
-
maxWidth:
|
|
37811
|
-
alignment:
|
|
38082
|
+
var sdkContainerOptionsConfigSchema = z65.object({
|
|
38083
|
+
maxWidth: z65.union([z65.array(z65.enum(["narrow", "default", "wide", "full"])), z65.boolean()]).optional(),
|
|
38084
|
+
alignment: z65.union([z65.array(z65.enum(["left", "center", "right"])), z65.boolean()]).optional()
|
|
37812
38085
|
});
|
|
37813
|
-
var sdkSiteStyleConfigSchema =
|
|
37814
|
-
sectionBackgrounds:
|
|
38086
|
+
var sdkSiteStyleConfigSchema = z65.object({
|
|
38087
|
+
sectionBackgrounds: z65.array(sdkSectionBackgroundSchema).optional(),
|
|
37815
38088
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
37816
38089
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
37817
38090
|
});
|
|
37818
|
-
var sdkSiteLayoutConfigSchema =
|
|
37819
|
-
footerBlocks:
|
|
37820
|
-
|
|
37821
|
-
id:
|
|
37822
|
-
kind:
|
|
37823
|
-
content:
|
|
38091
|
+
var sdkSiteLayoutConfigSchema = z65.object({
|
|
38092
|
+
footerBlocks: z65.array(
|
|
38093
|
+
z65.object({
|
|
38094
|
+
id: z65.string().min(1).optional(),
|
|
38095
|
+
kind: z65.string().min(1),
|
|
38096
|
+
content: z65.record(z65.string(), z65.unknown()).optional()
|
|
37824
38097
|
})
|
|
37825
38098
|
).optional()
|
|
37826
38099
|
});
|
|
37827
|
-
var sdkFieldSelectOptionSchema =
|
|
37828
|
-
value:
|
|
37829
|
-
label:
|
|
38100
|
+
var sdkFieldSelectOptionSchema = z65.object({
|
|
38101
|
+
value: z65.string(),
|
|
38102
|
+
label: z65.string()
|
|
37830
38103
|
});
|
|
37831
|
-
var sdkBlockFieldConfigSchema =
|
|
37832
|
-
options:
|
|
38104
|
+
var sdkBlockFieldConfigSchema = z65.object({
|
|
38105
|
+
options: z65.array(sdkFieldSelectOptionSchema).optional()
|
|
37833
38106
|
});
|
|
37834
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
37835
|
-
|
|
38107
|
+
var sdkBlockFieldOptionsMapSchema = z65.record(
|
|
38108
|
+
z65.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
37836
38109
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
37837
38110
|
}),
|
|
37838
|
-
|
|
38111
|
+
z65.record(z65.string().min(1), sdkBlockFieldConfigSchema)
|
|
37839
38112
|
).optional();
|
|
37840
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
37841
|
-
blocks:
|
|
38113
|
+
var sdkContentTypeTemplateConfigSchema = z65.object({
|
|
38114
|
+
blocks: z65.array(z65.unknown())
|
|
37842
38115
|
}).passthrough();
|
|
37843
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
37844
|
-
mode:
|
|
38116
|
+
var sdkContentTypeOrderingConfigSchema = z65.object({
|
|
38117
|
+
mode: z65.enum(["default", "manual"]).optional()
|
|
37845
38118
|
}).optional();
|
|
37846
|
-
var sdkContentTypeConfigSchema =
|
|
37847
|
-
key:
|
|
37848
|
-
fields:
|
|
38119
|
+
var sdkContentTypeConfigSchema = z65.object({
|
|
38120
|
+
key: z65.string().min(1),
|
|
38121
|
+
fields: z65.array(z65.unknown()),
|
|
37849
38122
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
37850
38123
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
37851
38124
|
}).passthrough();
|
|
37852
|
-
var sdkContentConfigSchema =
|
|
37853
|
-
contentTypes:
|
|
37854
|
-
pages:
|
|
37855
|
-
entries:
|
|
37856
|
-
navigationMenus:
|
|
37857
|
-
settings:
|
|
38125
|
+
var sdkContentConfigSchema = z65.object({
|
|
38126
|
+
contentTypes: z65.array(sdkContentTypeConfigSchema).optional(),
|
|
38127
|
+
pages: z65.array(z65.unknown()).optional(),
|
|
38128
|
+
entries: z65.array(z65.unknown()).optional(),
|
|
38129
|
+
navigationMenus: z65.array(z65.unknown()).optional(),
|
|
38130
|
+
settings: z65.unknown().optional()
|
|
37858
38131
|
}).passthrough();
|
|
37859
38132
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
37860
38133
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -37869,62 +38142,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
37869
38142
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
37870
38143
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
37871
38144
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
37872
|
-
var sdkWorkflowIdSchema =
|
|
38145
|
+
var sdkWorkflowIdSchema = z65.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
37873
38146
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
37874
38147
|
});
|
|
37875
|
-
var sdkWorkflowEndpointSchema =
|
|
37876
|
-
var sdkWorkflowManualTriggerSchema =
|
|
37877
|
-
type:
|
|
38148
|
+
var sdkWorkflowEndpointSchema = z65.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 "/"' });
|
|
38149
|
+
var sdkWorkflowManualTriggerSchema = z65.object({
|
|
38150
|
+
type: z65.literal("manual")
|
|
37878
38151
|
}).strict();
|
|
37879
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38152
|
+
var sdkWorkflowTriggerFieldSchema = z65.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
37880
38153
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
37881
38154
|
});
|
|
37882
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38155
|
+
var sdkWorkflowFieldChangedConditionSchema = z65.object({
|
|
37883
38156
|
field: sdkWorkflowTriggerFieldSchema,
|
|
37884
|
-
changed:
|
|
38157
|
+
changed: z65.literal(true)
|
|
37885
38158
|
}).strict();
|
|
37886
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38159
|
+
var sdkWorkflowFieldEmptyConditionSchema = z65.object({
|
|
37887
38160
|
field: sdkWorkflowTriggerFieldSchema,
|
|
37888
|
-
isEmpty:
|
|
38161
|
+
isEmpty: z65.boolean()
|
|
37889
38162
|
}).strict();
|
|
37890
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
37891
|
-
type:
|
|
37892
|
-
when:
|
|
37893
|
-
|
|
38163
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z65.object({
|
|
38164
|
+
type: z65.literal("entry.draft.updated"),
|
|
38165
|
+
when: z65.array(
|
|
38166
|
+
z65.union([
|
|
37894
38167
|
sdkWorkflowFieldChangedConditionSchema,
|
|
37895
38168
|
sdkWorkflowFieldEmptyConditionSchema
|
|
37896
38169
|
])
|
|
37897
38170
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
37898
38171
|
}).strict();
|
|
37899
|
-
var sdkWorkflowTriggerSchema =
|
|
38172
|
+
var sdkWorkflowTriggerSchema = z65.discriminatedUnion("type", [
|
|
37900
38173
|
sdkWorkflowManualTriggerSchema,
|
|
37901
38174
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
37902
38175
|
]);
|
|
37903
|
-
var sdkWorkflowConfirmationSchema =
|
|
37904
|
-
title:
|
|
37905
|
-
body:
|
|
38176
|
+
var sdkWorkflowConfirmationSchema = z65.object({
|
|
38177
|
+
title: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
38178
|
+
body: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
37906
38179
|
}).strict();
|
|
37907
|
-
var sdkWorkflowConfigSchema =
|
|
38180
|
+
var sdkWorkflowConfigSchema = z65.object({
|
|
37908
38181
|
id: sdkWorkflowIdSchema,
|
|
37909
|
-
title:
|
|
37910
|
-
description:
|
|
37911
|
-
contentType:
|
|
38182
|
+
title: z65.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
38183
|
+
description: z65.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
38184
|
+
contentType: z65.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
37912
38185
|
endpoint: sdkWorkflowEndpointSchema,
|
|
37913
|
-
triggers:
|
|
38186
|
+
triggers: z65.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
37914
38187
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
37915
38188
|
}).strict();
|
|
37916
|
-
var sdkWorkflowsSchema =
|
|
38189
|
+
var sdkWorkflowsSchema = z65.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
37917
38190
|
const ids = workflows.map((workflow) => workflow.id);
|
|
37918
38191
|
return ids.length === new Set(ids).size;
|
|
37919
38192
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
37920
|
-
var riverbankSiteConfigInputSchema =
|
|
37921
|
-
siteId:
|
|
37922
|
-
previewUrl:
|
|
37923
|
-
liveUrl:
|
|
38193
|
+
var riverbankSiteConfigInputSchema = z65.object({
|
|
38194
|
+
siteId: z65.string().uuid(),
|
|
38195
|
+
previewUrl: z65.string().url().optional(),
|
|
38196
|
+
liveUrl: z65.string().url().optional(),
|
|
37924
38197
|
theme: sdkThemeConfigSchema.optional(),
|
|
37925
38198
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
37926
38199
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
37927
|
-
customBlocks:
|
|
38200
|
+
customBlocks: z65.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
37928
38201
|
const ids = blocks.map((b) => b.id);
|
|
37929
38202
|
return ids.length === new Set(ids).size;
|
|
37930
38203
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -37932,50 +38205,50 @@ var riverbankSiteConfigInputSchema = z64.object({
|
|
|
37932
38205
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
37933
38206
|
workflows: sdkWorkflowsSchema,
|
|
37934
38207
|
content: sdkContentConfigSchema.optional(),
|
|
37935
|
-
contentDir:
|
|
37936
|
-
sync:
|
|
37937
|
-
existingEntries:
|
|
38208
|
+
contentDir: z65.string().optional(),
|
|
38209
|
+
sync: z65.object({
|
|
38210
|
+
existingEntries: z65.enum(["skip", "update"]).optional()
|
|
37938
38211
|
}).optional(),
|
|
37939
|
-
deploy:
|
|
37940
|
-
verifyCommand:
|
|
37941
|
-
prebuildOutput:
|
|
38212
|
+
deploy: z65.object({
|
|
38213
|
+
verifyCommand: z65.string().optional(),
|
|
38214
|
+
prebuildOutput: z65.string().optional()
|
|
37942
38215
|
}).optional(),
|
|
37943
|
-
themeSource:
|
|
37944
|
-
activeTheme:
|
|
37945
|
-
enablePortal:
|
|
38216
|
+
themeSource: z65.enum(["local", "cms"]).optional(),
|
|
38217
|
+
activeTheme: z65.string().optional(),
|
|
38218
|
+
enablePortal: z65.boolean().optional(),
|
|
37946
38219
|
dashboard: dashboardConfigSchema.optional()
|
|
37947
38220
|
}).strict();
|
|
37948
|
-
var pushSdkConfigBodySchema =
|
|
38221
|
+
var pushSdkConfigBodySchema = z65.object({
|
|
37949
38222
|
config: riverbankSiteConfigInputSchema,
|
|
37950
|
-
forceContentTypes:
|
|
38223
|
+
forceContentTypes: z65.boolean().optional()
|
|
37951
38224
|
}).strict();
|
|
37952
38225
|
|
|
37953
38226
|
// ../api/src/siteOnboarding.ts
|
|
37954
|
-
import { z as
|
|
38227
|
+
import { z as z66 } from "zod";
|
|
37955
38228
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
37956
38229
|
configure_appointments: {
|
|
37957
38230
|
requirementId: "configure_appointments",
|
|
37958
38231
|
reason: "launch_anyway"
|
|
37959
38232
|
}
|
|
37960
38233
|
};
|
|
37961
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38234
|
+
var acknowledgeLaunchRequirementRequestSchema = z66.discriminatedUnion(
|
|
37962
38235
|
"requirementId",
|
|
37963
38236
|
[
|
|
37964
|
-
|
|
37965
|
-
requirementId:
|
|
38237
|
+
z66.object({
|
|
38238
|
+
requirementId: z66.literal("review_generated_site")
|
|
37966
38239
|
}),
|
|
37967
|
-
|
|
37968
|
-
requirementId:
|
|
38240
|
+
z66.object({
|
|
38241
|
+
requirementId: z66.literal(
|
|
37969
38242
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
37970
38243
|
),
|
|
37971
|
-
overrideReason:
|
|
38244
|
+
overrideReason: z66.literal(
|
|
37972
38245
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
37973
38246
|
)
|
|
37974
38247
|
})
|
|
37975
38248
|
]
|
|
37976
38249
|
);
|
|
37977
|
-
var goLiveSiteRequestSchema =
|
|
37978
|
-
acceptExtraSiteCharge:
|
|
38250
|
+
var goLiveSiteRequestSchema = z66.object({
|
|
38251
|
+
acceptExtraSiteCharge: z66.boolean().optional()
|
|
37979
38252
|
});
|
|
37980
38253
|
|
|
37981
38254
|
// ../surfaces/src/index.ts
|
|
@@ -38059,7 +38332,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
38059
38332
|
];
|
|
38060
38333
|
|
|
38061
38334
|
// ../api/src/bookingVerticals.ts
|
|
38062
|
-
import { z as
|
|
38335
|
+
import { z as z67 } from "zod";
|
|
38063
38336
|
var VERTICAL_IDS = [
|
|
38064
38337
|
"yoga_wellness",
|
|
38065
38338
|
"fitness_pt",
|
|
@@ -38224,39 +38497,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
38224
38497
|
}
|
|
38225
38498
|
return [...issues];
|
|
38226
38499
|
}
|
|
38227
|
-
var VerticalIdSchema =
|
|
38500
|
+
var VerticalIdSchema = z67.string().trim().transform((value, ctx) => {
|
|
38228
38501
|
const parsed = parseVerticalId(value);
|
|
38229
38502
|
if (!parsed) {
|
|
38230
38503
|
ctx.addIssue({
|
|
38231
|
-
code:
|
|
38504
|
+
code: z67.ZodIssueCode.custom,
|
|
38232
38505
|
message: "Unknown booking vertical"
|
|
38233
38506
|
});
|
|
38234
|
-
return
|
|
38507
|
+
return z67.NEVER;
|
|
38235
38508
|
}
|
|
38236
38509
|
return parsed;
|
|
38237
38510
|
});
|
|
38238
|
-
var VerticalPresetIdSchema =
|
|
38511
|
+
var VerticalPresetIdSchema = z67.string().trim().transform((value, ctx) => {
|
|
38239
38512
|
const parsed = parseVerticalPresetId(value);
|
|
38240
38513
|
if (!parsed) {
|
|
38241
38514
|
ctx.addIssue({
|
|
38242
|
-
code:
|
|
38515
|
+
code: z67.ZodIssueCode.custom,
|
|
38243
38516
|
message: "Unknown booking preset"
|
|
38244
38517
|
});
|
|
38245
|
-
return
|
|
38518
|
+
return z67.NEVER;
|
|
38246
38519
|
}
|
|
38247
38520
|
return parsed;
|
|
38248
38521
|
});
|
|
38249
|
-
var BookingVerticalConfigSchema =
|
|
38522
|
+
var BookingVerticalConfigSchema = z67.object({
|
|
38250
38523
|
verticalId: VerticalIdSchema.nullable(),
|
|
38251
|
-
selectedPresetIds:
|
|
38524
|
+
selectedPresetIds: z67.array(VerticalPresetIdSchema).max(20)
|
|
38252
38525
|
}).transform((value, ctx) => {
|
|
38253
38526
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
38254
38527
|
if (resolved.kind === "invalid") {
|
|
38255
38528
|
ctx.addIssue({
|
|
38256
|
-
code:
|
|
38529
|
+
code: z67.ZodIssueCode.custom,
|
|
38257
38530
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
38258
38531
|
});
|
|
38259
|
-
return
|
|
38532
|
+
return z67.NEVER;
|
|
38260
38533
|
}
|
|
38261
38534
|
return resolved.config;
|
|
38262
38535
|
});
|
|
@@ -38283,51 +38556,51 @@ function isRecord7(value) {
|
|
|
38283
38556
|
}
|
|
38284
38557
|
|
|
38285
38558
|
// ../api/src/appointmentSetup.ts
|
|
38286
|
-
import { z as
|
|
38559
|
+
import { z as z68 } from "zod";
|
|
38287
38560
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
38288
|
-
var appointmentSetupRefSchema =
|
|
38289
|
-
|
|
38290
|
-
|
|
38561
|
+
var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
|
|
38562
|
+
z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
|
|
38563
|
+
z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
|
|
38291
38564
|
]);
|
|
38292
|
-
var appointmentSetupVenueChoiceSchema =
|
|
38293
|
-
|
|
38294
|
-
|
|
38295
|
-
|
|
38296
|
-
kind:
|
|
38297
|
-
draftId:
|
|
38298
|
-
title:
|
|
38299
|
-
description:
|
|
38300
|
-
timezone:
|
|
38301
|
-
addressJson:
|
|
38302
|
-
locationJson:
|
|
38565
|
+
var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
|
|
38566
|
+
z68.object({ kind: z68.literal("none") }),
|
|
38567
|
+
z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
|
|
38568
|
+
z68.object({
|
|
38569
|
+
kind: z68.literal("create"),
|
|
38570
|
+
draftId: z68.string().min(1),
|
|
38571
|
+
title: z68.string().trim().min(1),
|
|
38572
|
+
description: z68.string().nullable(),
|
|
38573
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
38574
|
+
addressJson: z68.record(z68.string(), z68.unknown()),
|
|
38575
|
+
locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
|
|
38303
38576
|
})
|
|
38304
38577
|
]);
|
|
38305
|
-
var appointmentSetupPaymentDraftSchema =
|
|
38306
|
-
priceType:
|
|
38307
|
-
});
|
|
38308
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
38309
|
-
|
|
38310
|
-
|
|
38311
|
-
kind:
|
|
38312
|
-
resourceRefs:
|
|
38578
|
+
var appointmentSetupPaymentDraftSchema = z68.object({
|
|
38579
|
+
priceType: z68.union([z68.literal("free"), z68.literal("paid")])
|
|
38580
|
+
});
|
|
38581
|
+
var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
|
|
38582
|
+
z68.object({ kind: z68.literal("all_practitioners") }),
|
|
38583
|
+
z68.object({
|
|
38584
|
+
kind: z68.literal("selected_practitioners"),
|
|
38585
|
+
resourceRefs: z68.array(appointmentSetupRefSchema)
|
|
38313
38586
|
})
|
|
38314
38587
|
]);
|
|
38315
|
-
var appointmentSetupServiceDraftSchema =
|
|
38588
|
+
var appointmentSetupServiceDraftSchema = z68.object({
|
|
38316
38589
|
ref: appointmentSetupRefSchema,
|
|
38317
|
-
title:
|
|
38318
|
-
description:
|
|
38319
|
-
durationMinutes:
|
|
38320
|
-
prepMinutes:
|
|
38321
|
-
cleanupMinutes:
|
|
38322
|
-
priceAmount:
|
|
38323
|
-
isActive:
|
|
38324
|
-
locationType:
|
|
38325
|
-
|
|
38326
|
-
|
|
38327
|
-
|
|
38590
|
+
title: z68.string().trim().min(1),
|
|
38591
|
+
description: z68.string().nullable(),
|
|
38592
|
+
durationMinutes: z68.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
38593
|
+
prepMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38594
|
+
cleanupMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38595
|
+
priceAmount: z68.number().int().nonnegative().nullable(),
|
|
38596
|
+
isActive: z68.boolean(),
|
|
38597
|
+
locationType: z68.union([
|
|
38598
|
+
z68.literal("virtual"),
|
|
38599
|
+
z68.literal("in_person"),
|
|
38600
|
+
z68.literal("hybrid")
|
|
38328
38601
|
]),
|
|
38329
38602
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38330
|
-
timezone:
|
|
38603
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
38331
38604
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38332
38605
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
38333
38606
|
}).superRefine((service, ctx) => {
|
|
@@ -38346,49 +38619,49 @@ var appointmentSetupServiceDraftSchema = z67.object({
|
|
|
38346
38619
|
});
|
|
38347
38620
|
}
|
|
38348
38621
|
});
|
|
38349
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
38622
|
+
var appointmentSetupPractitionerDraftSchema = z68.object({
|
|
38350
38623
|
ref: appointmentSetupRefSchema,
|
|
38351
|
-
displayName:
|
|
38352
|
-
bio:
|
|
38353
|
-
timezone:
|
|
38354
|
-
colorHex:
|
|
38355
|
-
});
|
|
38356
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
38357
|
-
weekday:
|
|
38358
|
-
startTime:
|
|
38359
|
-
endTime:
|
|
38360
|
-
});
|
|
38361
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
38362
|
-
|
|
38363
|
-
|
|
38364
|
-
kind:
|
|
38365
|
-
intervalMinutes:
|
|
38366
|
-
|
|
38367
|
-
|
|
38368
|
-
|
|
38369
|
-
|
|
38370
|
-
|
|
38371
|
-
|
|
38624
|
+
displayName: z68.string().trim().min(1),
|
|
38625
|
+
bio: z68.string().nullable(),
|
|
38626
|
+
timezone: z68.string().trim().min(1),
|
|
38627
|
+
colorHex: z68.string().nullable()
|
|
38628
|
+
});
|
|
38629
|
+
var appointmentSetupWeeklyWindowDraftSchema = z68.object({
|
|
38630
|
+
weekday: z68.number().int().min(0).max(6),
|
|
38631
|
+
startTime: z68.string(),
|
|
38632
|
+
endTime: z68.string()
|
|
38633
|
+
});
|
|
38634
|
+
var appointmentSetupStartTimePolicyDraftSchema = z68.discriminatedUnion("kind", [
|
|
38635
|
+
z68.object({ kind: z68.literal("automatic_spacing") }),
|
|
38636
|
+
z68.object({
|
|
38637
|
+
kind: z68.literal("regular_interval"),
|
|
38638
|
+
intervalMinutes: z68.union([
|
|
38639
|
+
z68.literal(10),
|
|
38640
|
+
z68.literal(15),
|
|
38641
|
+
z68.literal(20),
|
|
38642
|
+
z68.literal(30),
|
|
38643
|
+
z68.literal(45),
|
|
38644
|
+
z68.literal(60)
|
|
38372
38645
|
])
|
|
38373
38646
|
})
|
|
38374
38647
|
]);
|
|
38375
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
38376
|
-
kind:
|
|
38648
|
+
var appointmentSetupAvailabilityDraftSchema = z68.object({
|
|
38649
|
+
kind: z68.literal("weekly_windows"),
|
|
38377
38650
|
resourceRef: appointmentSetupRefSchema,
|
|
38378
38651
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
38379
|
-
windows:
|
|
38652
|
+
windows: z68.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
38380
38653
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
38381
38654
|
});
|
|
38382
38655
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
38383
38656
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
38384
|
-
var appointmentSetupBookingNoticeSchema =
|
|
38385
|
-
minLeadMinutes:
|
|
38386
|
-
maxBookingNoticeMinutes:
|
|
38387
|
-
});
|
|
38388
|
-
var applyAppointmentSetupRequestSchema =
|
|
38389
|
-
services:
|
|
38390
|
-
practitioners:
|
|
38391
|
-
availability:
|
|
38657
|
+
var appointmentSetupBookingNoticeSchema = z68.object({
|
|
38658
|
+
minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
38659
|
+
maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
38660
|
+
});
|
|
38661
|
+
var applyAppointmentSetupRequestSchema = z68.object({
|
|
38662
|
+
services: z68.array(appointmentSetupServiceDraftSchema),
|
|
38663
|
+
practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
|
|
38664
|
+
availability: z68.array(appointmentSetupAvailabilityDraftSchema),
|
|
38392
38665
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
38393
38666
|
});
|
|
38394
38667
|
|
|
@@ -38421,24 +38694,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
38421
38694
|
];
|
|
38422
38695
|
|
|
38423
38696
|
// ../api/src/siteBanner.ts
|
|
38424
|
-
import { z as
|
|
38697
|
+
import { z as z69 } from "zod";
|
|
38425
38698
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
38426
38699
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
38427
38700
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
38428
38701
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
38429
|
-
var siteBannerScopeSchema =
|
|
38430
|
-
var siteBannerToneSchema =
|
|
38431
|
-
var siteBannerBodySchema =
|
|
38432
|
-
var siteBannerCtaSchema =
|
|
38433
|
-
label:
|
|
38702
|
+
var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
|
|
38703
|
+
var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
|
|
38704
|
+
var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
|
|
38705
|
+
var siteBannerCtaSchema = z69.object({
|
|
38706
|
+
label: z69.string().trim().min(1),
|
|
38434
38707
|
link: linkPayloadSchema
|
|
38435
38708
|
});
|
|
38436
|
-
var siteBannerSettingsSchema =
|
|
38437
|
-
|
|
38438
|
-
enabled:
|
|
38709
|
+
var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
|
|
38710
|
+
z69.object({
|
|
38711
|
+
enabled: z69.literal(false)
|
|
38439
38712
|
}),
|
|
38440
|
-
|
|
38441
|
-
enabled:
|
|
38713
|
+
z69.object({
|
|
38714
|
+
enabled: z69.literal(true),
|
|
38442
38715
|
scope: siteBannerScopeSchema,
|
|
38443
38716
|
tone: siteBannerToneSchema,
|
|
38444
38717
|
body: siteBannerBodySchema,
|
|
@@ -38452,7 +38725,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38452
38725
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38453
38726
|
for (const issue of analysis.issues) {
|
|
38454
38727
|
ctx.addIssue({
|
|
38455
|
-
code:
|
|
38728
|
+
code: z69.ZodIssueCode.custom,
|
|
38456
38729
|
path: ["body"],
|
|
38457
38730
|
message: siteBannerBodyIssueMessage(issue)
|
|
38458
38731
|
});
|
|
@@ -38759,75 +39032,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
38759
39032
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
38760
39033
|
|
|
38761
39034
|
// ../api/src/aiPlayground.ts
|
|
38762
|
-
import { z as
|
|
38763
|
-
var Rfc6902PatchOp =
|
|
39035
|
+
import { z as z70 } from "zod";
|
|
39036
|
+
var Rfc6902PatchOp = z70.discriminatedUnion("op", [
|
|
38764
39037
|
// Standard RFC-6902 operations
|
|
38765
|
-
|
|
38766
|
-
op:
|
|
38767
|
-
path:
|
|
38768
|
-
value:
|
|
39038
|
+
z70.object({
|
|
39039
|
+
op: z70.literal("add"),
|
|
39040
|
+
path: z70.string(),
|
|
39041
|
+
value: z70.unknown()
|
|
38769
39042
|
}),
|
|
38770
|
-
|
|
38771
|
-
op:
|
|
38772
|
-
path:
|
|
39043
|
+
z70.object({
|
|
39044
|
+
op: z70.literal("remove"),
|
|
39045
|
+
path: z70.string()
|
|
38773
39046
|
}),
|
|
38774
|
-
|
|
38775
|
-
op:
|
|
38776
|
-
path:
|
|
38777
|
-
value:
|
|
39047
|
+
z70.object({
|
|
39048
|
+
op: z70.literal("replace"),
|
|
39049
|
+
path: z70.string(),
|
|
39050
|
+
value: z70.unknown()
|
|
38778
39051
|
}),
|
|
38779
|
-
|
|
38780
|
-
op:
|
|
38781
|
-
from:
|
|
38782
|
-
path:
|
|
39052
|
+
z70.object({
|
|
39053
|
+
op: z70.literal("move"),
|
|
39054
|
+
from: z70.string(),
|
|
39055
|
+
path: z70.string()
|
|
38783
39056
|
}),
|
|
38784
|
-
|
|
38785
|
-
op:
|
|
38786
|
-
from:
|
|
38787
|
-
path:
|
|
39057
|
+
z70.object({
|
|
39058
|
+
op: z70.literal("copy"),
|
|
39059
|
+
from: z70.string(),
|
|
39060
|
+
path: z70.string()
|
|
38788
39061
|
}),
|
|
38789
39062
|
// Block-level operations (Phase 2)
|
|
38790
|
-
|
|
38791
|
-
op:
|
|
38792
|
-
blockKind:
|
|
38793
|
-
afterBlockId:
|
|
38794
|
-
content:
|
|
38795
|
-
rationale:
|
|
39063
|
+
z70.object({
|
|
39064
|
+
op: z70.literal("add_block"),
|
|
39065
|
+
blockKind: z70.string(),
|
|
39066
|
+
afterBlockId: z70.string().nullable(),
|
|
39067
|
+
content: z70.record(z70.string(), z70.unknown()),
|
|
39068
|
+
rationale: z70.string()
|
|
38796
39069
|
}),
|
|
38797
|
-
|
|
38798
|
-
op:
|
|
38799
|
-
blockId:
|
|
38800
|
-
rationale:
|
|
39070
|
+
z70.object({
|
|
39071
|
+
op: z70.literal("delete_block"),
|
|
39072
|
+
blockId: z70.string(),
|
|
39073
|
+
rationale: z70.string()
|
|
38801
39074
|
}),
|
|
38802
|
-
|
|
38803
|
-
op:
|
|
38804
|
-
blockId:
|
|
38805
|
-
afterBlockId:
|
|
38806
|
-
rationale:
|
|
39075
|
+
z70.object({
|
|
39076
|
+
op: z70.literal("reorder_block"),
|
|
39077
|
+
blockId: z70.string(),
|
|
39078
|
+
afterBlockId: z70.string().nullable(),
|
|
39079
|
+
rationale: z70.string()
|
|
38807
39080
|
})
|
|
38808
39081
|
]);
|
|
38809
|
-
var PlaygroundProposeRequest =
|
|
38810
|
-
request:
|
|
39082
|
+
var PlaygroundProposeRequest = z70.object({
|
|
39083
|
+
request: z70.string().min(1).max(2e3)
|
|
38811
39084
|
});
|
|
38812
|
-
var MultiPagePatchEnvelope =
|
|
38813
|
-
pageId:
|
|
38814
|
-
blockId:
|
|
39085
|
+
var MultiPagePatchEnvelope = z70.object({
|
|
39086
|
+
pageId: z70.string(),
|
|
39087
|
+
blockId: z70.string().optional(),
|
|
38815
39088
|
// Not present for page-level ops
|
|
38816
|
-
blockKind:
|
|
38817
|
-
blockPurpose:
|
|
38818
|
-
ops:
|
|
38819
|
-
rationale:
|
|
38820
|
-
currentContent:
|
|
39089
|
+
blockKind: z70.string().optional(),
|
|
39090
|
+
blockPurpose: z70.string().optional().nullable(),
|
|
39091
|
+
ops: z70.array(Rfc6902PatchOp),
|
|
39092
|
+
rationale: z70.string(),
|
|
39093
|
+
currentContent: z70.record(z70.string(), z70.unknown()).optional()
|
|
38821
39094
|
});
|
|
38822
|
-
var MultiPageUpdateResponse =
|
|
38823
|
-
patches:
|
|
38824
|
-
assistantMessage:
|
|
38825
|
-
pagesModified:
|
|
38826
|
-
toolCallsUsed:
|
|
39095
|
+
var MultiPageUpdateResponse = z70.object({
|
|
39096
|
+
patches: z70.array(MultiPagePatchEnvelope),
|
|
39097
|
+
assistantMessage: z70.string(),
|
|
39098
|
+
pagesModified: z70.number(),
|
|
39099
|
+
toolCallsUsed: z70.number()
|
|
38827
39100
|
});
|
|
38828
39101
|
|
|
38829
39102
|
// src/config/content-validation.ts
|
|
38830
|
-
import { z as
|
|
39103
|
+
import { z as z71 } from "zod";
|
|
38831
39104
|
|
|
38832
39105
|
// src/types/block-kinds.ts
|
|
38833
39106
|
var SYSTEM_BLOCK_KINDS = [
|
|
@@ -38983,36 +39256,36 @@ function describeInvalidBindingTransform(transform) {
|
|
|
38983
39256
|
}
|
|
38984
39257
|
|
|
38985
39258
|
// src/config/content-validation.ts
|
|
38986
|
-
var jsonDataSchema =
|
|
38987
|
-
var contentTypeKeySchema =
|
|
39259
|
+
var jsonDataSchema = z71.record(z71.string(), z71.any());
|
|
39260
|
+
var contentTypeKeySchema = z71.string().min(1).regex(
|
|
38988
39261
|
/^[a-z][a-z0-9-]*$/,
|
|
38989
39262
|
"Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
|
|
38990
39263
|
);
|
|
38991
|
-
var templateConfigSchemaForward =
|
|
38992
|
-
blocks:
|
|
38993
|
-
|
|
38994
|
-
identifier:
|
|
38995
|
-
kind:
|
|
38996
|
-
scope:
|
|
38997
|
-
bindings:
|
|
38998
|
-
content:
|
|
39264
|
+
var templateConfigSchemaForward = z71.object({
|
|
39265
|
+
blocks: z71.array(
|
|
39266
|
+
z71.object({
|
|
39267
|
+
identifier: z71.string().min(1),
|
|
39268
|
+
kind: z71.string(),
|
|
39269
|
+
scope: z71.enum(["entry", "template"]),
|
|
39270
|
+
bindings: z71.record(z71.string(), z71.any()).optional(),
|
|
39271
|
+
content: z71.record(z71.string(), z71.any()).optional()
|
|
38999
39272
|
})
|
|
39000
39273
|
)
|
|
39001
39274
|
}).optional();
|
|
39002
|
-
var contentTypeOrderingSchema =
|
|
39003
|
-
mode:
|
|
39275
|
+
var contentTypeOrderingSchema = z71.object({
|
|
39276
|
+
mode: z71.enum(["default", "manual"]).optional()
|
|
39004
39277
|
}).optional();
|
|
39005
|
-
var contentTypeConfigSchema =
|
|
39278
|
+
var contentTypeConfigSchema = z71.object({
|
|
39006
39279
|
key: contentTypeKeySchema,
|
|
39007
|
-
name:
|
|
39008
|
-
description:
|
|
39009
|
-
hasPages:
|
|
39010
|
-
routePattern:
|
|
39280
|
+
name: z71.string().min(1),
|
|
39281
|
+
description: z71.string().optional(),
|
|
39282
|
+
hasPages: z71.boolean(),
|
|
39283
|
+
routePattern: z71.string().optional(),
|
|
39011
39284
|
// Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
|
|
39012
|
-
fields:
|
|
39013
|
-
titleField:
|
|
39285
|
+
fields: z71.array(z71.any()).min(1, "At least one field is required"),
|
|
39286
|
+
titleField: z71.string().optional(),
|
|
39014
39287
|
ordering: contentTypeOrderingSchema,
|
|
39015
|
-
isSingleton:
|
|
39288
|
+
isSingleton: z71.boolean().optional().default(false),
|
|
39016
39289
|
template: templateConfigSchemaForward
|
|
39017
39290
|
}).refine(
|
|
39018
39291
|
(data) => {
|
|
@@ -39034,7 +39307,7 @@ var contentTypeConfigSchema = z70.object({
|
|
|
39034
39307
|
}
|
|
39035
39308
|
if (!data.routePattern) {
|
|
39036
39309
|
ctx.addIssue({
|
|
39037
|
-
code:
|
|
39310
|
+
code: z71.ZodIssueCode.custom,
|
|
39038
39311
|
path: ["routePattern"],
|
|
39039
39312
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39040
39313
|
});
|
|
@@ -39043,7 +39316,7 @@ var contentTypeConfigSchema = z70.object({
|
|
|
39043
39316
|
const parseResult = safeParseRouteTemplate(data.routePattern);
|
|
39044
39317
|
if (!parseResult.success) {
|
|
39045
39318
|
ctx.addIssue({
|
|
39046
|
-
code:
|
|
39319
|
+
code: z71.ZodIssueCode.custom,
|
|
39047
39320
|
path: ["routePattern"],
|
|
39048
39321
|
message: describeRouteTemplateParseError(parseResult.error)
|
|
39049
39322
|
});
|
|
@@ -39051,44 +39324,44 @@ var contentTypeConfigSchema = z70.object({
|
|
|
39051
39324
|
}
|
|
39052
39325
|
if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
|
|
39053
39326
|
ctx.addIssue({
|
|
39054
|
-
code:
|
|
39327
|
+
code: z71.ZodIssueCode.custom,
|
|
39055
39328
|
path: ["routePattern"],
|
|
39056
39329
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39057
39330
|
});
|
|
39058
39331
|
}
|
|
39059
39332
|
});
|
|
39060
|
-
var fieldBindingSchema =
|
|
39061
|
-
source:
|
|
39062
|
-
path:
|
|
39333
|
+
var fieldBindingSchema = z71.object({
|
|
39334
|
+
source: z71.literal("field"),
|
|
39335
|
+
path: z71.string().min(1, "Field path is required")
|
|
39063
39336
|
});
|
|
39064
|
-
var metaBindingSchema =
|
|
39065
|
-
source:
|
|
39066
|
-
path:
|
|
39337
|
+
var metaBindingSchema = z71.object({
|
|
39338
|
+
source: z71.literal("meta"),
|
|
39339
|
+
path: z71.enum(TEMPLATE_BINDING_META_PATHS, {
|
|
39067
39340
|
error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
|
|
39068
39341
|
})
|
|
39069
39342
|
});
|
|
39070
|
-
var literalBindingSchema =
|
|
39071
|
-
source:
|
|
39072
|
-
value:
|
|
39343
|
+
var literalBindingSchema = z71.object({
|
|
39344
|
+
source: z71.literal("literal"),
|
|
39345
|
+
value: z71.unknown()
|
|
39073
39346
|
});
|
|
39074
|
-
var transformBindingSchema =
|
|
39075
|
-
source:
|
|
39076
|
-
path:
|
|
39077
|
-
transform:
|
|
39347
|
+
var transformBindingSchema = z71.object({
|
|
39348
|
+
source: z71.literal("transform"),
|
|
39349
|
+
path: z71.string().min(1, "Transform path is required"),
|
|
39350
|
+
transform: z71.enum(BINDING_TRANSFORM_VALUES, {
|
|
39078
39351
|
error: (issue) => describeInvalidBindingTransform(String(issue.input))
|
|
39079
39352
|
})
|
|
39080
39353
|
});
|
|
39081
|
-
var baseBindingSchema =
|
|
39354
|
+
var baseBindingSchema = z71.discriminatedUnion("source", [
|
|
39082
39355
|
fieldBindingSchema,
|
|
39083
39356
|
metaBindingSchema,
|
|
39084
39357
|
literalBindingSchema,
|
|
39085
39358
|
transformBindingSchema
|
|
39086
39359
|
]);
|
|
39087
|
-
var fallbackBindingSchema =
|
|
39088
|
-
source:
|
|
39089
|
-
sources:
|
|
39360
|
+
var fallbackBindingSchema = z71.object({
|
|
39361
|
+
source: z71.literal("fallback"),
|
|
39362
|
+
sources: z71.array(z71.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
|
|
39090
39363
|
});
|
|
39091
|
-
var bindingSourceSchema =
|
|
39364
|
+
var bindingSourceSchema = z71.union([
|
|
39092
39365
|
baseBindingSchema,
|
|
39093
39366
|
fallbackBindingSchema
|
|
39094
39367
|
]);
|
|
@@ -39102,12 +39375,12 @@ function isValidBlockKind(kind) {
|
|
|
39102
39375
|
return false;
|
|
39103
39376
|
}
|
|
39104
39377
|
var BLOCK_KIND_ERROR_MESSAGE = 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.myBlock")';
|
|
39105
|
-
var blockKindSchema =
|
|
39106
|
-
var templateBlockConfigSchema =
|
|
39107
|
-
identifier:
|
|
39378
|
+
var blockKindSchema = z71.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
|
|
39379
|
+
var templateBlockConfigSchema = z71.object({
|
|
39380
|
+
identifier: z71.string().min(1, "Block identifier is required"),
|
|
39108
39381
|
kind: blockKindSchema,
|
|
39109
|
-
scope:
|
|
39110
|
-
bindings:
|
|
39382
|
+
scope: z71.enum(["entry", "template"]),
|
|
39383
|
+
bindings: z71.record(z71.string(), bindingSourceSchema).optional(),
|
|
39111
39384
|
content: jsonDataSchema.optional()
|
|
39112
39385
|
}).refine(
|
|
39113
39386
|
(data) => {
|
|
@@ -39126,8 +39399,8 @@ var templateBlockConfigSchema = z70.object({
|
|
|
39126
39399
|
},
|
|
39127
39400
|
{ message: "Template-scoped blocks should define static content, not bindings" }
|
|
39128
39401
|
);
|
|
39129
|
-
var templateConfigSchema =
|
|
39130
|
-
blocks:
|
|
39402
|
+
var templateConfigSchema = z71.object({
|
|
39403
|
+
blocks: z71.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
|
|
39131
39404
|
}).refine(
|
|
39132
39405
|
(data) => {
|
|
39133
39406
|
const identifiers = data.blocks.map((b) => b.identifier);
|
|
@@ -39136,77 +39409,77 @@ var templateConfigSchema = z70.object({
|
|
|
39136
39409
|
},
|
|
39137
39410
|
{ message: "Template block identifiers must be unique" }
|
|
39138
39411
|
);
|
|
39139
|
-
var blockConfigSchema =
|
|
39412
|
+
var blockConfigSchema = z71.object({
|
|
39140
39413
|
kind: blockKindSchema,
|
|
39141
39414
|
content: jsonDataSchema,
|
|
39142
|
-
orderIndex:
|
|
39143
|
-
});
|
|
39144
|
-
var pageConfigSchema =
|
|
39145
|
-
identifier:
|
|
39146
|
-
title:
|
|
39147
|
-
path:
|
|
39148
|
-
purpose:
|
|
39149
|
-
blocks:
|
|
39150
|
-
status:
|
|
39151
|
-
metaTitle:
|
|
39152
|
-
metaDescription:
|
|
39153
|
-
});
|
|
39154
|
-
var entryConfigSchema =
|
|
39155
|
-
identifier:
|
|
39156
|
-
contentType:
|
|
39415
|
+
orderIndex: z71.number().optional()
|
|
39416
|
+
});
|
|
39417
|
+
var pageConfigSchema = z71.object({
|
|
39418
|
+
identifier: z71.string().min(1, "Identifier is required"),
|
|
39419
|
+
title: z71.string().min(1, "Title is required"),
|
|
39420
|
+
path: z71.string().regex(/^\//, "Path must start with /"),
|
|
39421
|
+
purpose: z71.string().default("content"),
|
|
39422
|
+
blocks: z71.array(blockConfigSchema).optional(),
|
|
39423
|
+
status: z71.enum(["draft", "published"]).default("draft"),
|
|
39424
|
+
metaTitle: z71.string().optional(),
|
|
39425
|
+
metaDescription: z71.string().optional()
|
|
39426
|
+
});
|
|
39427
|
+
var entryConfigSchema = z71.object({
|
|
39428
|
+
identifier: z71.string().min(1, "Identifier is required"),
|
|
39429
|
+
contentType: z71.string().min(1, "Content type is required"),
|
|
39157
39430
|
data: jsonDataSchema,
|
|
39158
|
-
status:
|
|
39159
|
-
slug:
|
|
39160
|
-
summary:
|
|
39431
|
+
status: z71.enum(["draft", "published"]).default("draft"),
|
|
39432
|
+
slug: z71.string().optional(),
|
|
39433
|
+
summary: z71.string().optional(),
|
|
39161
39434
|
// Hard remove legacy config-only titles: titles must live in entry `data`.
|
|
39162
|
-
title:
|
|
39435
|
+
title: z71.any().optional().refine((value) => value === void 0, {
|
|
39163
39436
|
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."
|
|
39164
39437
|
}),
|
|
39165
|
-
metaTitle:
|
|
39166
|
-
metaDescription:
|
|
39438
|
+
metaTitle: z71.string().optional(),
|
|
39439
|
+
metaDescription: z71.string().optional()
|
|
39167
39440
|
});
|
|
39168
|
-
var dropdownLinkSchema =
|
|
39169
|
-
kind:
|
|
39441
|
+
var dropdownLinkSchema = z71.object({
|
|
39442
|
+
kind: z71.literal("dropdown")
|
|
39170
39443
|
});
|
|
39171
|
-
var navigationLinkSchema =
|
|
39444
|
+
var navigationLinkSchema = z71.discriminatedUnion("kind", [
|
|
39172
39445
|
...navigationLinkInputSchemaOptions,
|
|
39173
39446
|
dropdownLinkSchema
|
|
39174
39447
|
]);
|
|
39175
|
-
var baseNavigationItemSchema =
|
|
39176
|
-
label:
|
|
39448
|
+
var baseNavigationItemSchema = z71.object({
|
|
39449
|
+
label: z71.string().min(1, "Label is required"),
|
|
39177
39450
|
link: navigationLinkSchema,
|
|
39178
|
-
isCta:
|
|
39451
|
+
isCta: z71.boolean().optional()
|
|
39179
39452
|
});
|
|
39180
39453
|
var navigationItemConfigSchema = baseNavigationItemSchema.extend({
|
|
39181
|
-
children:
|
|
39182
|
-
});
|
|
39183
|
-
var navigationMenuConfigSchema =
|
|
39184
|
-
identifier:
|
|
39185
|
-
name:
|
|
39186
|
-
isPrimary:
|
|
39187
|
-
isFooter:
|
|
39188
|
-
items:
|
|
39454
|
+
children: z71.lazy(() => z71.array(navigationItemConfigSchema)).optional()
|
|
39455
|
+
});
|
|
39456
|
+
var navigationMenuConfigSchema = z71.object({
|
|
39457
|
+
identifier: z71.string().min(1, "Identifier is required"),
|
|
39458
|
+
name: z71.string().min(1, "Name is required"),
|
|
39459
|
+
isPrimary: z71.boolean().optional(),
|
|
39460
|
+
isFooter: z71.boolean().optional(),
|
|
39461
|
+
items: z71.array(navigationItemConfigSchema)
|
|
39189
39462
|
}).superRefine((menu, ctx) => {
|
|
39190
39463
|
const portalStats = collectPortalLinkStats(
|
|
39191
39464
|
menu.items
|
|
39192
39465
|
);
|
|
39193
39466
|
if (portalStats.count > 1) {
|
|
39194
39467
|
ctx.addIssue({
|
|
39195
|
-
code:
|
|
39468
|
+
code: z71.ZodIssueCode.custom,
|
|
39196
39469
|
message: "Only one portal link is allowed per navigation menu",
|
|
39197
39470
|
path: ["items"]
|
|
39198
39471
|
});
|
|
39199
39472
|
}
|
|
39200
39473
|
if (portalStats.nestedLabels.length > 0) {
|
|
39201
39474
|
ctx.addIssue({
|
|
39202
|
-
code:
|
|
39475
|
+
code: z71.ZodIssueCode.custom,
|
|
39203
39476
|
message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
|
|
39204
39477
|
path: ["items"]
|
|
39205
39478
|
});
|
|
39206
39479
|
}
|
|
39207
39480
|
if (portalStats.withChildrenLabels.length > 0) {
|
|
39208
39481
|
ctx.addIssue({
|
|
39209
|
-
code:
|
|
39482
|
+
code: z71.ZodIssueCode.custom,
|
|
39210
39483
|
message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
|
|
39211
39484
|
path: ["items"]
|
|
39212
39485
|
});
|
|
@@ -39216,44 +39489,44 @@ var navigationMenuConfigSchema = z70.object({
|
|
|
39216
39489
|
);
|
|
39217
39490
|
if (cartStats.nestedLabels.length > 0) {
|
|
39218
39491
|
ctx.addIssue({
|
|
39219
|
-
code:
|
|
39492
|
+
code: z71.ZodIssueCode.custom,
|
|
39220
39493
|
message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
|
|
39221
39494
|
path: ["items"]
|
|
39222
39495
|
});
|
|
39223
39496
|
}
|
|
39224
39497
|
if (cartStats.withChildrenLabels.length > 0) {
|
|
39225
39498
|
ctx.addIssue({
|
|
39226
|
-
code:
|
|
39499
|
+
code: z71.ZodIssueCode.custom,
|
|
39227
39500
|
message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
|
|
39228
39501
|
path: ["items"]
|
|
39229
39502
|
});
|
|
39230
39503
|
}
|
|
39231
39504
|
if (cartStats.ctaLabels.length > 0) {
|
|
39232
39505
|
ctx.addIssue({
|
|
39233
|
-
code:
|
|
39506
|
+
code: z71.ZodIssueCode.custom,
|
|
39234
39507
|
message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
|
|
39235
39508
|
path: ["items"]
|
|
39236
39509
|
});
|
|
39237
39510
|
}
|
|
39238
39511
|
if (cartStats.missingVisibleTextLabels.length > 0) {
|
|
39239
39512
|
ctx.addIssue({
|
|
39240
|
-
code:
|
|
39513
|
+
code: z71.ZodIssueCode.custom,
|
|
39241
39514
|
message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
|
|
39242
39515
|
path: ["items"]
|
|
39243
39516
|
});
|
|
39244
39517
|
}
|
|
39245
39518
|
});
|
|
39246
|
-
var siteSettingsConfigSchema =
|
|
39247
|
-
homepagePath:
|
|
39248
|
-
siteTitle:
|
|
39249
|
-
siteDescription:
|
|
39250
|
-
defaultTemplates:
|
|
39519
|
+
var siteSettingsConfigSchema = z71.object({
|
|
39520
|
+
homepagePath: z71.string().optional(),
|
|
39521
|
+
siteTitle: z71.string().optional(),
|
|
39522
|
+
siteDescription: z71.string().optional(),
|
|
39523
|
+
defaultTemplates: z71.record(z71.string(), z71.string()).optional()
|
|
39251
39524
|
});
|
|
39252
|
-
var contentConfigBaseSchema =
|
|
39253
|
-
contentTypes:
|
|
39254
|
-
entries:
|
|
39255
|
-
pages:
|
|
39256
|
-
navigationMenus:
|
|
39525
|
+
var contentConfigBaseSchema = z71.object({
|
|
39526
|
+
contentTypes: z71.array(contentTypeConfigSchema).optional(),
|
|
39527
|
+
entries: z71.array(entryConfigSchema).optional(),
|
|
39528
|
+
pages: z71.array(pageConfigSchema).optional(),
|
|
39529
|
+
navigationMenus: z71.array(navigationMenuConfigSchema).optional(),
|
|
39257
39530
|
settings: siteSettingsConfigSchema.optional()
|
|
39258
39531
|
});
|
|
39259
39532
|
var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
@@ -39262,7 +39535,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39262
39535
|
const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
|
|
39263
39536
|
if (duplicateKeys.length > 0) {
|
|
39264
39537
|
ctx.addIssue({
|
|
39265
|
-
code:
|
|
39538
|
+
code: z71.ZodIssueCode.custom,
|
|
39266
39539
|
message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
|
|
39267
39540
|
path: ["contentTypes"]
|
|
39268
39541
|
});
|
|
@@ -39273,7 +39546,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39273
39546
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39274
39547
|
if (duplicateIds.length > 0) {
|
|
39275
39548
|
ctx.addIssue({
|
|
39276
|
-
code:
|
|
39549
|
+
code: z71.ZodIssueCode.custom,
|
|
39277
39550
|
message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39278
39551
|
path: ["pages"]
|
|
39279
39552
|
});
|
|
@@ -39282,7 +39555,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39282
39555
|
const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
|
|
39283
39556
|
if (duplicatePaths.length > 0) {
|
|
39284
39557
|
ctx.addIssue({
|
|
39285
|
-
code:
|
|
39558
|
+
code: z71.ZodIssueCode.custom,
|
|
39286
39559
|
message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
|
|
39287
39560
|
path: ["pages"]
|
|
39288
39561
|
});
|
|
@@ -39293,7 +39566,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39293
39566
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39294
39567
|
if (duplicateIds.length > 0) {
|
|
39295
39568
|
ctx.addIssue({
|
|
39296
|
-
code:
|
|
39569
|
+
code: z71.ZodIssueCode.custom,
|
|
39297
39570
|
message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39298
39571
|
path: ["entries"]
|
|
39299
39572
|
});
|
|
@@ -39304,7 +39577,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39304
39577
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39305
39578
|
if (duplicateIds.length > 0) {
|
|
39306
39579
|
ctx.addIssue({
|
|
39307
|
-
code:
|
|
39580
|
+
code: z71.ZodIssueCode.custom,
|
|
39308
39581
|
message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39309
39582
|
path: ["navigationMenus"]
|
|
39310
39583
|
});
|
|
@@ -39318,7 +39591,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39318
39591
|
const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
|
|
39319
39592
|
if (entriesForType.length > 1) {
|
|
39320
39593
|
ctx.addIssue({
|
|
39321
|
-
code:
|
|
39594
|
+
code: z71.ZodIssueCode.custom,
|
|
39322
39595
|
message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
|
|
39323
39596
|
path: ["entries"]
|
|
39324
39597
|
});
|
|
@@ -39431,18 +39704,18 @@ function validateLayout(layout) {
|
|
|
39431
39704
|
}
|
|
39432
39705
|
|
|
39433
39706
|
// src/config/dashboard-validation.ts
|
|
39434
|
-
import { z as
|
|
39435
|
-
var navIdListSchema2 =
|
|
39707
|
+
import { z as z72 } from "zod";
|
|
39708
|
+
var navIdListSchema2 = z72.preprocess((value) => {
|
|
39436
39709
|
if (!Array.isArray(value)) return void 0;
|
|
39437
39710
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
39438
39711
|
return filtered.length > 0 ? filtered : void 0;
|
|
39439
|
-
},
|
|
39440
|
-
var dashboardNavVisibilityBaseSchema2 =
|
|
39441
|
-
mode:
|
|
39712
|
+
}, z72.array(z72.string()).max(200, "Maximum 200 nav IDs").optional());
|
|
39713
|
+
var dashboardNavVisibilityBaseSchema2 = z72.object({
|
|
39714
|
+
mode: z72.enum(["augment", "restrict"]).optional(),
|
|
39442
39715
|
allowIds: navIdListSchema2,
|
|
39443
39716
|
denyIds: navIdListSchema2
|
|
39444
39717
|
}).strip();
|
|
39445
|
-
var dashboardNavVisibilityRolesSchema2 =
|
|
39718
|
+
var dashboardNavVisibilityRolesSchema2 = z72.object({
|
|
39446
39719
|
administrator: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39447
39720
|
editor: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39448
39721
|
team_member: dashboardNavVisibilityBaseSchema2.optional()
|
|
@@ -39450,43 +39723,28 @@ var dashboardNavVisibilityRolesSchema2 = z71.object({
|
|
|
39450
39723
|
var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
|
|
39451
39724
|
roles: dashboardNavVisibilityRolesSchema2
|
|
39452
39725
|
}).strip();
|
|
39453
|
-
var dashboardNavigationConfigSchema2 =
|
|
39726
|
+
var dashboardNavigationConfigSchema2 = z72.object({
|
|
39454
39727
|
siteNav: dashboardNavVisibilitySchema2.optional(),
|
|
39455
39728
|
settingsNav: dashboardNavVisibilitySchema2.optional()
|
|
39456
39729
|
}).strip();
|
|
39457
|
-
var dashboardConfigSchema2 =
|
|
39458
|
-
previewEditingEnabled:
|
|
39730
|
+
var dashboardConfigSchema2 = z72.object({
|
|
39731
|
+
previewEditingEnabled: z72.boolean().optional(),
|
|
39459
39732
|
navigation: dashboardNavigationConfigSchema2.optional()
|
|
39460
39733
|
}).strip();
|
|
39461
39734
|
|
|
39462
39735
|
// src/zod/titleSourceSchema.ts
|
|
39463
|
-
import { z as
|
|
39464
|
-
var titleSourceValueSchema =
|
|
39465
|
-
|
|
39466
|
-
|
|
39736
|
+
import { z as z73 } from "zod";
|
|
39737
|
+
var titleSourceValueSchema = z73.union([
|
|
39738
|
+
z73.string().min(1),
|
|
39739
|
+
z73.array(z73.string().min(1)).min(1)
|
|
39467
39740
|
]);
|
|
39468
39741
|
|
|
39469
|
-
// src/data/prefetchBlockData.ts
|
|
39470
|
-
var SUPPORTED_LOADER_ENDPOINTS2 = [
|
|
39471
|
-
"listPublishedEntries",
|
|
39472
|
-
"getPublishedEntryPreview",
|
|
39473
|
-
"listPublicEvents",
|
|
39474
|
-
"listPublicCourses",
|
|
39475
|
-
"listPublicTeamMembers",
|
|
39476
|
-
"listPublicProducts",
|
|
39477
|
-
"listPublicPasses",
|
|
39478
|
-
"listPublicMemberships",
|
|
39479
|
-
"getPublicFormById",
|
|
39480
|
-
"getPublicBookingServices",
|
|
39481
|
-
"getPublicEventDetails"
|
|
39482
|
-
];
|
|
39483
|
-
|
|
39484
39742
|
// src/config/validation.ts
|
|
39485
|
-
var sdkThemePaletteSchema2 =
|
|
39486
|
-
var sdkThemeConfigSchema2 =
|
|
39743
|
+
var sdkThemePaletteSchema2 = z74.record(z74.string(), z74.string());
|
|
39744
|
+
var sdkThemeConfigSchema2 = z74.object({
|
|
39487
39745
|
palette: sdkThemePaletteSchema2
|
|
39488
39746
|
});
|
|
39489
|
-
var sdkSiteUrlSchema =
|
|
39747
|
+
var sdkSiteUrlSchema = z74.string().url("Must be a valid URL").refine((url) => {
|
|
39490
39748
|
try {
|
|
39491
39749
|
const parsed = new URL(url);
|
|
39492
39750
|
const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
|
|
@@ -39495,97 +39753,97 @@ var sdkSiteUrlSchema = z73.string().url("Must be a valid URL").refine((url) => {
|
|
|
39495
39753
|
return false;
|
|
39496
39754
|
}
|
|
39497
39755
|
}, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
|
|
39498
|
-
var sectionBackgroundSchema =
|
|
39499
|
-
id:
|
|
39500
|
-
label:
|
|
39501
|
-
token:
|
|
39756
|
+
var sectionBackgroundSchema = z74.object({
|
|
39757
|
+
id: z74.string(),
|
|
39758
|
+
label: z74.string(),
|
|
39759
|
+
token: z74.string()
|
|
39502
39760
|
// Reference to theme palette token
|
|
39503
39761
|
});
|
|
39504
|
-
var sectionSpacingSchema =
|
|
39505
|
-
var containerMaxWidthSchema =
|
|
39506
|
-
var containerAlignmentSchema =
|
|
39507
|
-
var sectionOptionsSchema =
|
|
39508
|
-
backgroundColor:
|
|
39509
|
-
backgroundImage:
|
|
39510
|
-
backgroundGradient:
|
|
39511
|
-
spacing:
|
|
39512
|
-
|
|
39513
|
-
|
|
39762
|
+
var sectionSpacingSchema = z74.enum(["compact", "default", "spacious"]);
|
|
39763
|
+
var containerMaxWidthSchema = z74.enum(["narrow", "default", "wide", "full"]);
|
|
39764
|
+
var containerAlignmentSchema = z74.enum(["left", "center", "right"]);
|
|
39765
|
+
var sectionOptionsSchema = z74.object({
|
|
39766
|
+
backgroundColor: z74.boolean().optional(),
|
|
39767
|
+
backgroundImage: z74.boolean().optional(),
|
|
39768
|
+
backgroundGradient: z74.boolean().optional(),
|
|
39769
|
+
spacing: z74.union([
|
|
39770
|
+
z74.array(sectionSpacingSchema),
|
|
39771
|
+
z74.boolean()
|
|
39514
39772
|
]).optional(),
|
|
39515
|
-
textColor:
|
|
39773
|
+
textColor: z74.boolean().optional()
|
|
39516
39774
|
}).optional();
|
|
39517
|
-
var containerOptionsSchema =
|
|
39518
|
-
maxWidth:
|
|
39519
|
-
|
|
39520
|
-
|
|
39775
|
+
var containerOptionsSchema = z74.object({
|
|
39776
|
+
maxWidth: z74.union([
|
|
39777
|
+
z74.array(containerMaxWidthSchema),
|
|
39778
|
+
z74.boolean()
|
|
39521
39779
|
]).optional(),
|
|
39522
|
-
alignment:
|
|
39523
|
-
|
|
39524
|
-
|
|
39780
|
+
alignment: z74.union([
|
|
39781
|
+
z74.array(containerAlignmentSchema),
|
|
39782
|
+
z74.boolean()
|
|
39525
39783
|
]).optional()
|
|
39526
39784
|
}).optional();
|
|
39527
|
-
var siteStyleConfigSchema =
|
|
39528
|
-
sectionBackgrounds:
|
|
39785
|
+
var siteStyleConfigSchema = z74.object({
|
|
39786
|
+
sectionBackgrounds: z74.array(sectionBackgroundSchema).optional(),
|
|
39529
39787
|
sectionOptions: sectionOptionsSchema,
|
|
39530
39788
|
containerOptions: containerOptionsSchema
|
|
39531
39789
|
}).optional();
|
|
39532
|
-
var sdkLoaderEndpointSchema2 =
|
|
39790
|
+
var sdkLoaderEndpointSchema2 = z74.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
39533
39791
|
var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
|
|
39534
|
-
var loaderTransformStepSchema =
|
|
39535
|
-
id:
|
|
39792
|
+
var loaderTransformStepSchema = z74.object({
|
|
39793
|
+
id: z74.string().refine((id) => allowedTransformIds.has(id), {
|
|
39536
39794
|
message: "Unknown transform id"
|
|
39537
39795
|
}),
|
|
39538
|
-
options:
|
|
39796
|
+
options: z74.record(z74.string(), z74.unknown()).optional()
|
|
39539
39797
|
});
|
|
39540
|
-
var loaderParamBindingSchema2 =
|
|
39541
|
-
$bind:
|
|
39542
|
-
from:
|
|
39798
|
+
var loaderParamBindingSchema2 = z74.object({
|
|
39799
|
+
$bind: z74.object({
|
|
39800
|
+
from: z74.string().min(1, "Binding path is required"),
|
|
39543
39801
|
// Loader params are ultimately string-normalized for query strings, so fallbacks should
|
|
39544
39802
|
// stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
|
|
39545
39803
|
// more complex values into a string.
|
|
39546
39804
|
fallback: loaderFallbackScalarSchema.optional(),
|
|
39547
|
-
transforms:
|
|
39548
|
-
pick:
|
|
39549
|
-
coerce:
|
|
39805
|
+
transforms: z74.array(loaderTransformStepSchema).default([]),
|
|
39806
|
+
pick: z74.enum(["value", "collection", "context"]).default("value"),
|
|
39807
|
+
coerce: z74.enum(["number", "boolean", "string"]).optional()
|
|
39550
39808
|
})
|
|
39551
39809
|
});
|
|
39552
|
-
var loaderParamValueSchema2 =
|
|
39553
|
-
|
|
39554
|
-
|
|
39555
|
-
|
|
39810
|
+
var loaderParamValueSchema2 = z74.union([
|
|
39811
|
+
z74.string(),
|
|
39812
|
+
z74.number(),
|
|
39813
|
+
z74.boolean(),
|
|
39556
39814
|
loaderParamBindingSchema2
|
|
39557
39815
|
]);
|
|
39558
|
-
var loaderWhenValueSchema =
|
|
39559
|
-
|
|
39816
|
+
var loaderWhenValueSchema = z74.union([
|
|
39817
|
+
z74.boolean(),
|
|
39560
39818
|
loaderParamBindingSchema2
|
|
39561
39819
|
]);
|
|
39562
|
-
var sdkConfigLoaderSchema2 =
|
|
39820
|
+
var sdkConfigLoaderSchema2 = z74.object({
|
|
39563
39821
|
endpoint: sdkLoaderEndpointSchema2,
|
|
39564
|
-
params:
|
|
39565
|
-
mode:
|
|
39822
|
+
params: z74.record(z74.string(), loaderParamValueSchema2),
|
|
39823
|
+
mode: z74.enum(["server", "client"]).default("server"),
|
|
39566
39824
|
when: loaderWhenValueSchema.optional()
|
|
39567
39825
|
});
|
|
39568
|
-
var sdkDataLoadersSchema2 =
|
|
39826
|
+
var sdkDataLoadersSchema2 = z74.record(z74.string(), sdkConfigLoaderSchema2).refine(
|
|
39569
39827
|
(loaders) => Object.keys(loaders).length <= 5,
|
|
39570
39828
|
{ message: "Maximum 5 data loaders per block" }
|
|
39571
39829
|
).optional();
|
|
39572
|
-
var fieldSelectOptionSchema =
|
|
39573
|
-
value:
|
|
39574
|
-
label:
|
|
39830
|
+
var fieldSelectOptionSchema = z74.object({
|
|
39831
|
+
value: z74.string().min(1, "Option value is required"),
|
|
39832
|
+
label: z74.string().min(1, "Option label is required")
|
|
39575
39833
|
});
|
|
39576
|
-
var blockFieldConfigSchema =
|
|
39577
|
-
options:
|
|
39834
|
+
var blockFieldConfigSchema = z74.object({
|
|
39835
|
+
options: z74.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
|
|
39578
39836
|
});
|
|
39579
|
-
var blockFieldOptionsSchema =
|
|
39580
|
-
|
|
39837
|
+
var blockFieldOptionsSchema = z74.record(
|
|
39838
|
+
z74.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
39581
39839
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
39582
39840
|
}),
|
|
39583
|
-
|
|
39584
|
-
|
|
39841
|
+
z74.record(
|
|
39842
|
+
z74.string().min(1, "Field ID is required"),
|
|
39585
39843
|
blockFieldConfigSchema
|
|
39586
39844
|
)
|
|
39587
39845
|
).optional();
|
|
39588
|
-
var blockFieldExtensionSchema =
|
|
39846
|
+
var blockFieldExtensionSchema = z74.object({
|
|
39589
39847
|
fields: fieldSchema.array().min(1, "At least one field is required")
|
|
39590
39848
|
}).refine(
|
|
39591
39849
|
(data) => {
|
|
@@ -39599,10 +39857,10 @@ var blockFieldExtensionSchema = z73.object({
|
|
|
39599
39857
|
message: "Required fields must have a defaultValue to support existing blocks"
|
|
39600
39858
|
}
|
|
39601
39859
|
);
|
|
39602
|
-
var blockFieldExtensionsMapSchema =
|
|
39860
|
+
var blockFieldExtensionsMapSchema = z74.record(
|
|
39603
39861
|
// System blocks are kebab-case: block.body-text, block.event-calendar, ...
|
|
39604
39862
|
// Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
|
|
39605
|
-
|
|
39863
|
+
z74.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
|
|
39606
39864
|
message: "Block ID must be 'block.*' format (system blocks only)"
|
|
39607
39865
|
}),
|
|
39608
39866
|
blockFieldExtensionSchema
|
|
@@ -39618,7 +39876,7 @@ var blockFieldExtensionsMapSchema = z73.record(
|
|
|
39618
39876
|
(field) => field.id === collision.fieldId
|
|
39619
39877
|
);
|
|
39620
39878
|
ctx.addIssue({
|
|
39621
|
-
code:
|
|
39879
|
+
code: z74.ZodIssueCode.custom,
|
|
39622
39880
|
message: collision.message,
|
|
39623
39881
|
path: [
|
|
39624
39882
|
APPOINTMENT_BOOKING_BLOCK_ID,
|
|
@@ -39684,24 +39942,24 @@ function validateFieldIdConflicts(blockFieldExtensions) {
|
|
|
39684
39942
|
}
|
|
39685
39943
|
return conflicts;
|
|
39686
39944
|
}
|
|
39687
|
-
var syncConfigSchema =
|
|
39688
|
-
existingEntries:
|
|
39945
|
+
var syncConfigSchema = z74.object({
|
|
39946
|
+
existingEntries: z74.enum(["skip", "update"]).optional()
|
|
39689
39947
|
}).optional();
|
|
39690
|
-
var deployConfigSchema =
|
|
39691
|
-
verifyCommand:
|
|
39692
|
-
prebuildOutput:
|
|
39948
|
+
var deployConfigSchema = z74.object({
|
|
39949
|
+
verifyCommand: z74.string().optional(),
|
|
39950
|
+
prebuildOutput: z74.string().optional()
|
|
39693
39951
|
}).optional();
|
|
39694
|
-
var sdkCustomBlockSchema =
|
|
39952
|
+
var sdkCustomBlockSchema = z74.object({
|
|
39695
39953
|
// Block ID must start with 'custom.'
|
|
39696
|
-
id:
|
|
39954
|
+
id: z74.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
39697
39955
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
39698
39956
|
}),
|
|
39699
|
-
title:
|
|
39957
|
+
title: z74.string().min(1, "Title is required"),
|
|
39700
39958
|
titleSource: titleSourceValueSchema.optional(),
|
|
39701
|
-
description:
|
|
39959
|
+
description: z74.string().optional(),
|
|
39702
39960
|
category: blockCategoryEnum,
|
|
39703
|
-
icon:
|
|
39704
|
-
tags:
|
|
39961
|
+
icon: z74.string().optional(),
|
|
39962
|
+
tags: z74.array(z74.string()).optional(),
|
|
39705
39963
|
// Reuse the exact field schema from @riverbankcms/blocks - all field types supported
|
|
39706
39964
|
fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
39707
39965
|
// Data loaders for CMS endpoints
|
|
@@ -39709,14 +39967,14 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39709
39967
|
// Optional declarative layout - when present, block can render without React override
|
|
39710
39968
|
layout: NodeSchema.optional(),
|
|
39711
39969
|
// Optional variants system (preferred when a block has multiple structural layouts)
|
|
39712
|
-
variants:
|
|
39713
|
-
defaultVariant:
|
|
39714
|
-
variantOptions:
|
|
39715
|
-
|
|
39716
|
-
|
|
39717
|
-
label:
|
|
39718
|
-
description:
|
|
39719
|
-
icon:
|
|
39970
|
+
variants: z74.record(z74.string().min(1), NodeSchema).optional(),
|
|
39971
|
+
defaultVariant: z74.string().min(1).optional(),
|
|
39972
|
+
variantOptions: z74.record(
|
|
39973
|
+
z74.string().min(1),
|
|
39974
|
+
z74.object({
|
|
39975
|
+
label: z74.string().min(1).optional(),
|
|
39976
|
+
description: z74.string().min(1).optional(),
|
|
39977
|
+
icon: z74.string().min(1).optional()
|
|
39720
39978
|
})
|
|
39721
39979
|
).optional(),
|
|
39722
39980
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -39728,7 +39986,7 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39728
39986
|
const exists = fields3.some((field) => field.id === source);
|
|
39729
39987
|
if (!exists) {
|
|
39730
39988
|
ctx.addIssue({
|
|
39731
|
-
code:
|
|
39989
|
+
code: z74.ZodIssueCode.custom,
|
|
39732
39990
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
39733
39991
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
39734
39992
|
});
|
|
@@ -39737,7 +39995,7 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39737
39995
|
}
|
|
39738
39996
|
if (data.layout && data.variants) {
|
|
39739
39997
|
ctx.addIssue({
|
|
39740
|
-
code:
|
|
39998
|
+
code: z74.ZodIssueCode.custom,
|
|
39741
39999
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
39742
40000
|
path: ["variants"]
|
|
39743
40001
|
});
|
|
@@ -39747,7 +40005,7 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39747
40005
|
if (!result.valid) {
|
|
39748
40006
|
for (const error of result.errors) {
|
|
39749
40007
|
ctx.addIssue({
|
|
39750
|
-
code:
|
|
40008
|
+
code: z74.ZodIssueCode.custom,
|
|
39751
40009
|
message: error.message,
|
|
39752
40010
|
path: ["layout"]
|
|
39753
40011
|
});
|
|
@@ -39758,14 +40016,14 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39758
40016
|
const keys = Object.keys(data.variants);
|
|
39759
40017
|
if (keys.length === 0) {
|
|
39760
40018
|
ctx.addIssue({
|
|
39761
|
-
code:
|
|
40019
|
+
code: z74.ZodIssueCode.custom,
|
|
39762
40020
|
message: "`variants` must contain at least one variant key",
|
|
39763
40021
|
path: ["variants"]
|
|
39764
40022
|
});
|
|
39765
40023
|
}
|
|
39766
40024
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
39767
40025
|
ctx.addIssue({
|
|
39768
|
-
code:
|
|
40026
|
+
code: z74.ZodIssueCode.custom,
|
|
39769
40027
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
39770
40028
|
path: ["defaultVariant"]
|
|
39771
40029
|
});
|
|
@@ -39775,7 +40033,7 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39775
40033
|
if (!result.valid) {
|
|
39776
40034
|
for (const error of result.errors) {
|
|
39777
40035
|
ctx.addIssue({
|
|
39778
|
-
code:
|
|
40036
|
+
code: z74.ZodIssueCode.custom,
|
|
39779
40037
|
message: `${key}: ${error.message}`,
|
|
39780
40038
|
path: ["variants", key]
|
|
39781
40039
|
});
|
|
@@ -39786,7 +40044,7 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39786
40044
|
for (const key of Object.keys(data.variantOptions)) {
|
|
39787
40045
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
39788
40046
|
ctx.addIssue({
|
|
39789
|
-
code:
|
|
40047
|
+
code: z74.ZodIssueCode.custom,
|
|
39790
40048
|
message: "`variantOptions` key must exist in `variants`",
|
|
39791
40049
|
path: ["variantOptions", key]
|
|
39792
40050
|
});
|
|
@@ -39795,58 +40053,58 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39795
40053
|
}
|
|
39796
40054
|
}
|
|
39797
40055
|
});
|
|
39798
|
-
var themeSourceSchema =
|
|
39799
|
-
var activeThemeSchema =
|
|
40056
|
+
var themeSourceSchema = z74.enum(["local", "cms"]).optional();
|
|
40057
|
+
var activeThemeSchema = z74.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
|
|
39800
40058
|
message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
|
|
39801
40059
|
}).max(64, "Theme name too long").optional();
|
|
39802
40060
|
function isValidConfigBlockKind(kind) {
|
|
39803
40061
|
if (getBlockDefinition(kind)) return true;
|
|
39804
40062
|
return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
|
|
39805
40063
|
}
|
|
39806
|
-
var layoutBlockKindSchema =
|
|
40064
|
+
var layoutBlockKindSchema = z74.string().refine(isValidConfigBlockKind, {
|
|
39807
40065
|
message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
|
|
39808
40066
|
});
|
|
39809
|
-
var layoutFooterBlockSchema =
|
|
39810
|
-
id:
|
|
40067
|
+
var layoutFooterBlockSchema = z74.object({
|
|
40068
|
+
id: z74.string().min(1).optional(),
|
|
39811
40069
|
kind: layoutBlockKindSchema,
|
|
39812
40070
|
// Allow omitted content for blocks that rely on defaults.
|
|
39813
|
-
content:
|
|
40071
|
+
content: z74.record(z74.string(), z74.unknown()).optional()
|
|
39814
40072
|
}).strict();
|
|
39815
|
-
var layoutConfigSchema =
|
|
39816
|
-
footerBlocks:
|
|
40073
|
+
var layoutConfigSchema = z74.object({
|
|
40074
|
+
footerBlocks: z74.array(layoutFooterBlockSchema).optional()
|
|
39817
40075
|
}).strict();
|
|
39818
|
-
var sdkWorkflowIdSchema2 =
|
|
40076
|
+
var sdkWorkflowIdSchema2 = z74.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
39819
40077
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
39820
40078
|
});
|
|
39821
|
-
var sdkWorkflowEndpointSchema2 =
|
|
39822
|
-
var sdkWorkflowTriggerSchema2 =
|
|
39823
|
-
|
|
40079
|
+
var sdkWorkflowEndpointSchema2 = z74.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 "/"' });
|
|
40080
|
+
var sdkWorkflowTriggerSchema2 = z74.discriminatedUnion("type", [
|
|
40081
|
+
z74.object({ type: z74.literal("manual") }).strict()
|
|
39824
40082
|
]);
|
|
39825
|
-
var sdkWorkflowConfirmationSchema2 =
|
|
39826
|
-
title:
|
|
39827
|
-
body:
|
|
40083
|
+
var sdkWorkflowConfirmationSchema2 = z74.object({
|
|
40084
|
+
title: z74.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
40085
|
+
body: z74.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
39828
40086
|
}).strict();
|
|
39829
|
-
var sdkWorkflowConfigSchema2 =
|
|
40087
|
+
var sdkWorkflowConfigSchema2 = z74.object({
|
|
39830
40088
|
id: sdkWorkflowIdSchema2,
|
|
39831
|
-
title:
|
|
39832
|
-
description:
|
|
39833
|
-
contentType:
|
|
40089
|
+
title: z74.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
40090
|
+
description: z74.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
40091
|
+
contentType: z74.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
39834
40092
|
endpoint: sdkWorkflowEndpointSchema2,
|
|
39835
|
-
triggers:
|
|
40093
|
+
triggers: z74.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
39836
40094
|
confirmation: sdkWorkflowConfirmationSchema2.optional()
|
|
39837
40095
|
}).strict();
|
|
39838
|
-
var sdkWorkflowsSchema2 =
|
|
40096
|
+
var sdkWorkflowsSchema2 = z74.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
39839
40097
|
const ids = workflows.map((workflow) => workflow.id);
|
|
39840
40098
|
return ids.length === new Set(ids).size;
|
|
39841
40099
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
39842
|
-
var riverbankSiteConfigSchema =
|
|
39843
|
-
siteId:
|
|
40100
|
+
var riverbankSiteConfigSchema = z74.object({
|
|
40101
|
+
siteId: z74.string().uuid(),
|
|
39844
40102
|
previewUrl: sdkSiteUrlSchema.optional(),
|
|
39845
40103
|
liveUrl: sdkSiteUrlSchema.optional(),
|
|
39846
40104
|
theme: sdkThemeConfigSchema2.optional(),
|
|
39847
40105
|
styles: siteStyleConfigSchema,
|
|
39848
40106
|
layout: layoutConfigSchema.optional(),
|
|
39849
|
-
customBlocks:
|
|
40107
|
+
customBlocks: z74.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
|
|
39850
40108
|
// Ensure unique block IDs
|
|
39851
40109
|
(blocks) => {
|
|
39852
40110
|
const ids = blocks.map((b) => b.id);
|
|
@@ -39859,7 +40117,7 @@ var riverbankSiteConfigSchema = z73.object({
|
|
|
39859
40117
|
workflows: sdkWorkflowsSchema2,
|
|
39860
40118
|
content: contentConfigSchema.optional(),
|
|
39861
40119
|
// CLI-related configuration (Phase 4)
|
|
39862
|
-
contentDir:
|
|
40120
|
+
contentDir: z74.string().optional(),
|
|
39863
40121
|
sync: syncConfigSchema,
|
|
39864
40122
|
deploy: deployConfigSchema,
|
|
39865
40123
|
// Theme sync configuration (Phase 5)
|