@riverbankcms/sdk 0.84.2 → 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/ai/src/contracts/proposals.d.ts +684 -0
- package/dist/_dts/api/src/endpoints.d.ts +58 -14
- package/dist/_dts/api/src/index.d.ts +4 -1
- 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 +551 -20
- package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/canonical-entry-policy.d.ts +53 -0
- package/dist/_dts/sdk/src/cli/commands/migrate.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +7 -1
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/migrations/events.d.ts +73 -0
- 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/site-commands/src/commands.d.ts +57 -0
- package/dist/_dts/surfaces/src/index.d.ts +12 -0
- 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 +1858 -512
- 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
package/dist/server/config.mjs
CHANGED
|
@@ -44,7 +44,7 @@ function fallbackBinding(...sources) {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
// src/config/validation.ts
|
|
47
|
-
import { z as
|
|
47
|
+
import { z as z74 } from "zod";
|
|
48
48
|
|
|
49
49
|
// ../api/src/apiEndpointTypes.ts
|
|
50
50
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
@@ -799,6 +799,64 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
799
799
|
auth: "user",
|
|
800
800
|
responseKind: "json"
|
|
801
801
|
},
|
|
802
|
+
listMailchimpAudiences: {
|
|
803
|
+
path: "/sites/{siteId}/integrations/mailchimp/audiences",
|
|
804
|
+
method: "GET",
|
|
805
|
+
tags: [TAG_TEMPLATES.site],
|
|
806
|
+
auth: "user",
|
|
807
|
+
responseKind: "json",
|
|
808
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
809
|
+
},
|
|
810
|
+
getMailchimpSignupSyncHealth: {
|
|
811
|
+
path: "/sites/{siteId}/integrations/mailchimp/signup-sync-health",
|
|
812
|
+
method: "GET",
|
|
813
|
+
tags: [TAG_TEMPLATES.site],
|
|
814
|
+
auth: "user",
|
|
815
|
+
responseKind: "json",
|
|
816
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
817
|
+
},
|
|
818
|
+
getMailchimpConnection: {
|
|
819
|
+
path: "/sites/{siteId}/integrations/mailchimp/connection",
|
|
820
|
+
method: "GET",
|
|
821
|
+
tags: [TAG_TEMPLATES.site],
|
|
822
|
+
auth: "user",
|
|
823
|
+
responseKind: "json",
|
|
824
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
825
|
+
},
|
|
826
|
+
startMailchimpOAuth: {
|
|
827
|
+
path: "/sites/{siteId}/integrations/mailchimp/oauth/start",
|
|
828
|
+
method: "POST",
|
|
829
|
+
tags: [TAG_TEMPLATES.site],
|
|
830
|
+
auth: "user",
|
|
831
|
+
responseKind: "json",
|
|
832
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
833
|
+
errors: ["auth:forbidden", "validation:invalid_input", "server:internal_error"]
|
|
834
|
+
},
|
|
835
|
+
refreshMailchimpAudiences: {
|
|
836
|
+
path: "/sites/{siteId}/integrations/mailchimp/audiences/refresh",
|
|
837
|
+
method: "POST",
|
|
838
|
+
tags: [TAG_TEMPLATES.site],
|
|
839
|
+
auth: "user",
|
|
840
|
+
responseKind: "json",
|
|
841
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
842
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
843
|
+
},
|
|
844
|
+
disconnectMailchimp: {
|
|
845
|
+
path: "/sites/{siteId}/integrations/mailchimp/disconnect",
|
|
846
|
+
method: "POST",
|
|
847
|
+
tags: [TAG_TEMPLATES.site],
|
|
848
|
+
auth: "user",
|
|
849
|
+
responseKind: "json",
|
|
850
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
851
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
852
|
+
},
|
|
853
|
+
mailchimpOAuthCallback: {
|
|
854
|
+
path: "/auth/mailchimp/callback",
|
|
855
|
+
method: "GET",
|
|
856
|
+
auth: "public",
|
|
857
|
+
responseKind: "void",
|
|
858
|
+
errors: []
|
|
859
|
+
},
|
|
802
860
|
createNewsletterList: {
|
|
803
861
|
path: "/sites/{siteId}/newsletter/lists",
|
|
804
862
|
method: "POST",
|
|
@@ -3023,20 +3081,6 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3023
3081
|
auth: "user",
|
|
3024
3082
|
responseKind: "json"
|
|
3025
3083
|
},
|
|
3026
|
-
instagramUploadZip: {
|
|
3027
|
-
path: "/instagram/upload-zip",
|
|
3028
|
-
method: "POST",
|
|
3029
|
-
tags: ["instagram-import"],
|
|
3030
|
-
auth: "user",
|
|
3031
|
-
responseKind: "json"
|
|
3032
|
-
},
|
|
3033
|
-
createInstagramZipUploadUrl: {
|
|
3034
|
-
path: "/instagram/upload-zip-url",
|
|
3035
|
-
method: "POST",
|
|
3036
|
-
tags: ["instagram-import"],
|
|
3037
|
-
auth: "user",
|
|
3038
|
-
responseKind: "json"
|
|
3039
|
-
},
|
|
3040
3084
|
getAnalyticsReport: {
|
|
3041
3085
|
path: "/sites/{siteId}/analytics/report",
|
|
3042
3086
|
method: "GET",
|
|
@@ -6431,6 +6475,43 @@ function err(error) {
|
|
|
6431
6475
|
return { ok: false, error };
|
|
6432
6476
|
}
|
|
6433
6477
|
|
|
6478
|
+
// ../core/src/currency-format.ts
|
|
6479
|
+
var CURRENCY_LOCALE_BY_CODE = {
|
|
6480
|
+
USD: "en-US",
|
|
6481
|
+
GBP: "en-GB",
|
|
6482
|
+
EUR: "de-DE",
|
|
6483
|
+
AUD: "en-AU",
|
|
6484
|
+
CAD: "en-CA",
|
|
6485
|
+
NZD: "en-NZ",
|
|
6486
|
+
JPY: "ja-JP",
|
|
6487
|
+
CNY: "zh-CN",
|
|
6488
|
+
CHF: "de-CH"
|
|
6489
|
+
};
|
|
6490
|
+
function resolveCurrencyLocale(currencyCode, override) {
|
|
6491
|
+
return override ?? CURRENCY_LOCALE_BY_CODE[currencyCode] ?? "en";
|
|
6492
|
+
}
|
|
6493
|
+
function formatCurrencyAmount(amountCents, currency, options) {
|
|
6494
|
+
const currencyCode = currency.toUpperCase();
|
|
6495
|
+
const locale = resolveCurrencyLocale(currencyCode, options?.locale);
|
|
6496
|
+
try {
|
|
6497
|
+
const exactFormatter = new Intl.NumberFormat(locale, {
|
|
6498
|
+
style: "currency",
|
|
6499
|
+
currency: currencyCode
|
|
6500
|
+
});
|
|
6501
|
+
const fractionDigits = options?.decimals === "auto" ? {
|
|
6502
|
+
minimumFractionDigits: 0,
|
|
6503
|
+
maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
|
|
6504
|
+
} : {};
|
|
6505
|
+
return new Intl.NumberFormat(locale, {
|
|
6506
|
+
style: "currency",
|
|
6507
|
+
currency: currencyCode,
|
|
6508
|
+
...fractionDigits
|
|
6509
|
+
}).format(amountCents / 100);
|
|
6510
|
+
} catch {
|
|
6511
|
+
return `${(amountCents / 100).toFixed(2)} ${currencyCode}`;
|
|
6512
|
+
}
|
|
6513
|
+
}
|
|
6514
|
+
|
|
6434
6515
|
// ../core/src/event-pricing.ts
|
|
6435
6516
|
function publicEventPricingType(pricing) {
|
|
6436
6517
|
switch (pricing.kind) {
|
|
@@ -6451,6 +6532,7 @@ function isFreePublicEventPriceDisplay(display) {
|
|
|
6451
6532
|
return display.display.kind === "free";
|
|
6452
6533
|
case "exact":
|
|
6453
6534
|
case "from":
|
|
6535
|
+
case "range":
|
|
6454
6536
|
case "mixed":
|
|
6455
6537
|
case "unavailable":
|
|
6456
6538
|
return false;
|
|
@@ -6713,7 +6795,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
6713
6795
|
);
|
|
6714
6796
|
|
|
6715
6797
|
// ../api/src/sdkConfig/contracts.ts
|
|
6716
|
-
import { z as
|
|
6798
|
+
import { z as z65 } from "zod";
|
|
6717
6799
|
|
|
6718
6800
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
6719
6801
|
function augmentManifest(manifest) {
|
|
@@ -21871,15 +21953,53 @@ var newsletterFormFragment = defineFragment({
|
|
|
21871
21953
|
title: "Newsletter Form",
|
|
21872
21954
|
description: "Newsletter subscription form with preset field configurations.",
|
|
21873
21955
|
fields: [
|
|
21956
|
+
{
|
|
21957
|
+
id: "destinationProvider",
|
|
21958
|
+
type: "select",
|
|
21959
|
+
label: "Send signups to",
|
|
21960
|
+
description: "Choose where new subscribers from this form should go.",
|
|
21961
|
+
defaultValue: "riverbank",
|
|
21962
|
+
required: true,
|
|
21963
|
+
ui: { intent: "behavior" },
|
|
21964
|
+
options: [
|
|
21965
|
+
{ value: "riverbank", label: "Riverbank newsletter" }
|
|
21966
|
+
]
|
|
21967
|
+
},
|
|
21874
21968
|
{
|
|
21875
21969
|
id: "listId",
|
|
21876
21970
|
type: "reference",
|
|
21877
21971
|
label: "Newsletter list",
|
|
21878
21972
|
description: "Select the list new subscribers should be added to.",
|
|
21879
|
-
required:
|
|
21973
|
+
required: false,
|
|
21880
21974
|
referenceKind: "newsletterList",
|
|
21881
21975
|
allowManualEntry: false,
|
|
21882
|
-
ui: {
|
|
21976
|
+
ui: {
|
|
21977
|
+
intent: "behavior",
|
|
21978
|
+
visibleWhen: { field: "destinationProvider", equals: "riverbank" }
|
|
21979
|
+
}
|
|
21980
|
+
},
|
|
21981
|
+
{
|
|
21982
|
+
id: "mailchimpAudienceId",
|
|
21983
|
+
type: "reference",
|
|
21984
|
+
label: "Mailchimp audience",
|
|
21985
|
+
description: "Choose the Mailchimp audience for new subscribers.",
|
|
21986
|
+
required: false,
|
|
21987
|
+
referenceKind: "mailchimpAudience",
|
|
21988
|
+
allowManualEntry: false,
|
|
21989
|
+
ui: {
|
|
21990
|
+
intent: "behavior",
|
|
21991
|
+
visibleWhen: { field: "destinationProvider", equals: "mailchimp" }
|
|
21992
|
+
}
|
|
21993
|
+
},
|
|
21994
|
+
{
|
|
21995
|
+
id: "mailchimpTags",
|
|
21996
|
+
type: "text",
|
|
21997
|
+
label: "Mailchimp tags",
|
|
21998
|
+
description: "Optional tags to apply in Mailchimp, separated by commas or semicolons.",
|
|
21999
|
+
ui: {
|
|
22000
|
+
intent: "behavior",
|
|
22001
|
+
visibleWhen: { field: "destinationProvider", equals: "mailchimp" }
|
|
22002
|
+
}
|
|
21883
22003
|
},
|
|
21884
22004
|
{
|
|
21885
22005
|
id: "preset",
|
|
@@ -21926,13 +22046,18 @@ var newsletterFormFragment = defineFragment({
|
|
|
21926
22046
|
id: "tags",
|
|
21927
22047
|
type: "text",
|
|
21928
22048
|
label: "Tags (optional)",
|
|
21929
|
-
description: "Optional tags to apply on subscribe (comma or semicolon separated)."
|
|
22049
|
+
description: "Optional tags to apply on subscribe (comma or semicolon separated).",
|
|
22050
|
+
ui: {
|
|
22051
|
+
intent: "behavior",
|
|
22052
|
+
visibleWhen: { field: "destinationProvider", equals: "riverbank" }
|
|
22053
|
+
}
|
|
21930
22054
|
}
|
|
21931
22055
|
],
|
|
21932
22056
|
layout: [
|
|
21933
22057
|
el(
|
|
21934
22058
|
"newsletter-form",
|
|
21935
22059
|
withApiBindings({
|
|
22060
|
+
destinationProvider: { $bind: { from: "destinationProvider" } },
|
|
21936
22061
|
listId: { $bind: { from: "listId" } },
|
|
21937
22062
|
preset: { $bind: { from: "preset" } },
|
|
21938
22063
|
includePhone: { $bind: { from: "includePhone" } },
|
|
@@ -27773,10 +27898,10 @@ var appointmentBookingBlockDefinition = {
|
|
|
27773
27898
|
};
|
|
27774
27899
|
|
|
27775
27900
|
// ../blocks/src/system/blocks/event-registration.ts
|
|
27776
|
-
import { z as
|
|
27901
|
+
import { z as z47 } from "zod";
|
|
27777
27902
|
|
|
27778
27903
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27779
|
-
import { z as
|
|
27904
|
+
import { z as z43 } from "zod";
|
|
27780
27905
|
|
|
27781
27906
|
// ../blocks/src/lib/media.ts
|
|
27782
27907
|
import z39 from "zod";
|
|
@@ -27854,296 +27979,339 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
|
|
|
27854
27979
|
archiveMediaSchema
|
|
27855
27980
|
]);
|
|
27856
27981
|
|
|
27857
|
-
// ../blocks/src/system/
|
|
27982
|
+
// ../blocks/src/system/manifest/richTextSchema.ts
|
|
27858
27983
|
import { z as z40 } from "zod";
|
|
27859
|
-
var
|
|
27984
|
+
var TipTapMarkSchema = z40.object({
|
|
27985
|
+
type: z40.string(),
|
|
27986
|
+
attrs: z40.record(z40.string(), z40.unknown()).optional()
|
|
27987
|
+
});
|
|
27988
|
+
var TipTapNodeSchema = z40.lazy(
|
|
27989
|
+
() => z40.object({
|
|
27990
|
+
type: z40.string(),
|
|
27991
|
+
content: z40.array(TipTapNodeSchema).optional(),
|
|
27992
|
+
text: z40.string().optional(),
|
|
27993
|
+
attrs: z40.record(z40.string(), z40.unknown()).optional(),
|
|
27994
|
+
marks: z40.array(TipTapMarkSchema).optional()
|
|
27995
|
+
})
|
|
27996
|
+
);
|
|
27997
|
+
var RichTextValueSchema = z40.union([
|
|
27998
|
+
// Canonical: TipTap document directly
|
|
27999
|
+
TipTapNodeSchema,
|
|
28000
|
+
// Legacy (read-tolerance only): wrapped in { doc: {...} }
|
|
28001
|
+
z40.object({
|
|
28002
|
+
doc: TipTapNodeSchema
|
|
28003
|
+
})
|
|
28004
|
+
]);
|
|
28005
|
+
var RichTextDocSchema = z40.object({
|
|
28006
|
+
type: z40.literal("doc"),
|
|
28007
|
+
content: z40.array(TipTapNodeSchema)
|
|
28008
|
+
});
|
|
28009
|
+
|
|
28010
|
+
// ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
28011
|
+
import { z as z41 } from "zod";
|
|
28012
|
+
var bookingDepositRefundPolicySchema = z41.enum([
|
|
27860
28013
|
"refundable",
|
|
27861
28014
|
"non_refundable"
|
|
27862
28015
|
]);
|
|
27863
|
-
var bookingInstalmentPlanSchema =
|
|
27864
|
-
|
|
27865
|
-
kind:
|
|
27866
|
-
depositAmountCents:
|
|
28016
|
+
var bookingInstalmentPlanSchema = z41.union([
|
|
28017
|
+
z41.object({
|
|
28018
|
+
kind: z41.literal("deposit_plus_one_remainder"),
|
|
28019
|
+
depositAmountCents: z41.number().int().min(0),
|
|
27867
28020
|
depositRefundability: bookingDepositRefundPolicySchema,
|
|
27868
|
-
remainderDueCount:
|
|
27869
|
-
intervalUnit:
|
|
28021
|
+
remainderDueCount: z41.number().int().positive(),
|
|
28022
|
+
intervalUnit: z41.enum(["day", "week", "month"])
|
|
27870
28023
|
}),
|
|
27871
|
-
|
|
27872
|
-
kind:
|
|
27873
|
-
depositAmountCents:
|
|
28024
|
+
z41.object({
|
|
28025
|
+
kind: z41.literal("deposit_plus_scheduled_instalments"),
|
|
28026
|
+
depositAmountCents: z41.number().int().min(0),
|
|
27874
28027
|
depositRefundability: bookingDepositRefundPolicySchema,
|
|
27875
|
-
instalmentCount:
|
|
27876
|
-
intervalCount:
|
|
27877
|
-
intervalUnit:
|
|
28028
|
+
instalmentCount: z41.number().int().positive(),
|
|
28029
|
+
intervalCount: z41.number().int().positive(),
|
|
28030
|
+
intervalUnit: z41.enum(["day", "week", "month"])
|
|
27878
28031
|
}),
|
|
27879
|
-
|
|
27880
|
-
kind:
|
|
27881
|
-
instalmentCount:
|
|
27882
|
-
intervalCount:
|
|
27883
|
-
intervalUnit:
|
|
28032
|
+
z41.object({
|
|
28033
|
+
kind: z41.literal("equal_scheduled_instalments"),
|
|
28034
|
+
instalmentCount: z41.number().int().positive(),
|
|
28035
|
+
intervalCount: z41.number().int().positive(),
|
|
28036
|
+
intervalUnit: z41.enum(["day", "week", "month"])
|
|
27884
28037
|
})
|
|
27885
28038
|
]);
|
|
27886
|
-
var bookingFlexibleBalanceDueDateRuleSchema =
|
|
27887
|
-
|
|
27888
|
-
kind:
|
|
27889
|
-
daysBeforeStart:
|
|
28039
|
+
var bookingFlexibleBalanceDueDateRuleSchema = z41.union([
|
|
28040
|
+
z41.object({
|
|
28041
|
+
kind: z41.literal("relative_to_start_date"),
|
|
28042
|
+
daysBeforeStart: z41.number().int().positive()
|
|
27890
28043
|
}),
|
|
27891
|
-
|
|
27892
|
-
kind:
|
|
27893
|
-
dueAt:
|
|
28044
|
+
z41.object({
|
|
28045
|
+
kind: z41.literal("fixed_calendar_date"),
|
|
28046
|
+
dueAt: z41.string().datetime()
|
|
27894
28047
|
})
|
|
27895
28048
|
]);
|
|
27896
|
-
var bookingFlexibleBalanceConfigSchema =
|
|
27897
|
-
upfrontAmountCents:
|
|
28049
|
+
var bookingFlexibleBalanceConfigSchema = z41.object({
|
|
28050
|
+
upfrontAmountCents: z41.number().int().min(0),
|
|
27898
28051
|
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
27899
28052
|
depositRefundability: bookingDepositRefundPolicySchema
|
|
27900
28053
|
});
|
|
27901
|
-
var blockBookingPaymentCollectionOptionSchema =
|
|
27902
|
-
|
|
27903
|
-
kind:
|
|
28054
|
+
var blockBookingPaymentCollectionOptionSchema = z41.union([
|
|
28055
|
+
z41.object({
|
|
28056
|
+
kind: z41.literal("upfront")
|
|
27904
28057
|
}),
|
|
27905
|
-
|
|
27906
|
-
kind:
|
|
28058
|
+
z41.object({
|
|
28059
|
+
kind: z41.literal("deferred_manual")
|
|
27907
28060
|
}),
|
|
27908
|
-
|
|
27909
|
-
kind:
|
|
28061
|
+
z41.object({
|
|
28062
|
+
kind: z41.literal("instalment_plan"),
|
|
27910
28063
|
plan: bookingInstalmentPlanSchema
|
|
27911
28064
|
}),
|
|
27912
|
-
|
|
27913
|
-
kind:
|
|
28065
|
+
z41.object({
|
|
28066
|
+
kind: z41.literal("flexible_balance"),
|
|
27914
28067
|
config: bookingFlexibleBalanceConfigSchema
|
|
27915
28068
|
})
|
|
27916
28069
|
]);
|
|
27917
|
-
var blockBookingPaymentTermsSchema =
|
|
27918
|
-
allowedOptions:
|
|
28070
|
+
var blockBookingPaymentTermsSchema = z41.object({
|
|
28071
|
+
allowedOptions: z41.array(blockBookingPaymentCollectionOptionSchema).min(1)
|
|
27919
28072
|
});
|
|
27920
28073
|
|
|
27921
28074
|
// ../blocks/src/system/blocks/courses/shared/schemas.ts
|
|
27922
|
-
import { z as
|
|
27923
|
-
var courseVenueSchema =
|
|
27924
|
-
id:
|
|
27925
|
-
name:
|
|
27926
|
-
address:
|
|
27927
|
-
});
|
|
27928
|
-
var courseSessionSchema =
|
|
27929
|
-
id:
|
|
27930
|
-
startsAt:
|
|
27931
|
-
endsAt:
|
|
27932
|
-
timeZone:
|
|
27933
|
-
capacityOverride:
|
|
27934
|
-
overrides:
|
|
27935
|
-
});
|
|
27936
|
-
var courseTeamMemberSummarySchema =
|
|
27937
|
-
id:
|
|
27938
|
-
name:
|
|
27939
|
-
roleLabel:
|
|
27940
|
-
summary:
|
|
27941
|
-
profilePath:
|
|
27942
|
-
});
|
|
27943
|
-
var coursePricingOptionSchema =
|
|
27944
|
-
id:
|
|
27945
|
-
name:
|
|
27946
|
-
description:
|
|
27947
|
-
priceAmount:
|
|
27948
|
-
isActive:
|
|
27949
|
-
sortOrder:
|
|
27950
|
-
capacityLimit:
|
|
27951
|
-
saleStartsAt:
|
|
27952
|
-
saleEndsAt:
|
|
27953
|
-
attendanceScope:
|
|
27954
|
-
});
|
|
27955
|
-
var coursePricingSchema =
|
|
27956
|
-
bookingRequirement:
|
|
27957
|
-
pricingStrategy:
|
|
27958
|
-
currency:
|
|
27959
|
-
singlePriceAmount:
|
|
28075
|
+
import { z as z42 } from "zod";
|
|
28076
|
+
var courseVenueSchema = z42.object({
|
|
28077
|
+
id: z42.string(),
|
|
28078
|
+
name: z42.string(),
|
|
28079
|
+
address: z42.string().nullable()
|
|
28080
|
+
});
|
|
28081
|
+
var courseSessionSchema = z42.object({
|
|
28082
|
+
id: z42.string(),
|
|
28083
|
+
startsAt: z42.string(),
|
|
28084
|
+
endsAt: z42.string(),
|
|
28085
|
+
timeZone: z42.string(),
|
|
28086
|
+
capacityOverride: z42.number().nullable().optional(),
|
|
28087
|
+
overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
|
|
28088
|
+
});
|
|
28089
|
+
var courseTeamMemberSummarySchema = z42.object({
|
|
28090
|
+
id: z42.string(),
|
|
28091
|
+
name: z42.string(),
|
|
28092
|
+
roleLabel: z42.string().nullable(),
|
|
28093
|
+
summary: z42.string().nullable(),
|
|
28094
|
+
profilePath: z42.string().nullable()
|
|
28095
|
+
});
|
|
28096
|
+
var coursePricingOptionSchema = z42.object({
|
|
28097
|
+
id: z42.string(),
|
|
28098
|
+
name: z42.string(),
|
|
28099
|
+
description: z42.string().nullable(),
|
|
28100
|
+
priceAmount: z42.number(),
|
|
28101
|
+
isActive: z42.boolean(),
|
|
28102
|
+
sortOrder: z42.number(),
|
|
28103
|
+
capacityLimit: z42.number().nullable(),
|
|
28104
|
+
saleStartsAt: z42.string().nullable(),
|
|
28105
|
+
saleEndsAt: z42.string().nullable(),
|
|
28106
|
+
attendanceScope: z42.enum(["in_person", "online", "both"]).nullable().optional()
|
|
28107
|
+
});
|
|
28108
|
+
var coursePricingSchema = z42.object({
|
|
28109
|
+
bookingRequirement: z42.enum(["none", "required"]),
|
|
28110
|
+
pricingStrategy: z42.enum(["free", "single", "tiered"]),
|
|
28111
|
+
currency: z42.string(),
|
|
28112
|
+
singlePriceAmount: z42.number().nullable(),
|
|
27960
28113
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
27961
|
-
options:
|
|
27962
|
-
});
|
|
27963
|
-
var publicCourseSchema =
|
|
27964
|
-
id:
|
|
27965
|
-
title:
|
|
27966
|
-
slug:
|
|
27967
|
-
description:
|
|
27968
|
-
teamMembers:
|
|
27969
|
-
enrollmentOpen:
|
|
28114
|
+
options: z42.array(coursePricingOptionSchema)
|
|
28115
|
+
});
|
|
28116
|
+
var publicCourseSchema = z42.object({
|
|
28117
|
+
id: z42.string(),
|
|
28118
|
+
title: z42.string(),
|
|
28119
|
+
slug: z42.string(),
|
|
28120
|
+
description: z42.unknown().nullable(),
|
|
28121
|
+
teamMembers: z42.array(courseTeamMemberSummarySchema).optional(),
|
|
28122
|
+
enrollmentOpen: z42.boolean(),
|
|
27970
28123
|
pricing: coursePricingSchema.optional(),
|
|
27971
|
-
priceCents:
|
|
27972
|
-
currency:
|
|
28124
|
+
priceCents: z42.number().nullable(),
|
|
28125
|
+
currency: z42.string(),
|
|
27973
28126
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
27974
|
-
enrollmentCapacity:
|
|
27975
|
-
acceptsMemberships:
|
|
27976
|
-
status:
|
|
27977
|
-
sessionsCount:
|
|
27978
|
-
enrolledCount:
|
|
27979
|
-
availableSpots:
|
|
27980
|
-
sessions:
|
|
28127
|
+
enrollmentCapacity: z42.number().nullable(),
|
|
28128
|
+
acceptsMemberships: z42.boolean(),
|
|
28129
|
+
status: z42.enum(["active", "draft", "cancelled"]),
|
|
28130
|
+
sessionsCount: z42.number(),
|
|
28131
|
+
enrolledCount: z42.number(),
|
|
28132
|
+
availableSpots: z42.number().nullable(),
|
|
28133
|
+
sessions: z42.array(courseSessionSchema),
|
|
27981
28134
|
venue: courseVenueSchema.nullable(),
|
|
27982
|
-
contentEntryId:
|
|
28135
|
+
contentEntryId: z42.string().nullable()
|
|
27983
28136
|
});
|
|
27984
|
-
var publicCoursesArraySchema =
|
|
28137
|
+
var publicCoursesArraySchema = z42.array(publicCourseSchema);
|
|
27985
28138
|
|
|
27986
28139
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27987
|
-
var eventPresetSchema =
|
|
27988
|
-
var eventScheduleScopeSchema =
|
|
27989
|
-
var eventDestinationModeSchema =
|
|
27990
|
-
var eventVenueSchema =
|
|
27991
|
-
id:
|
|
27992
|
-
name:
|
|
27993
|
-
address:
|
|
27994
|
-
location:
|
|
27995
|
-
lat:
|
|
27996
|
-
lng:
|
|
28140
|
+
var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
|
|
28141
|
+
var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
|
|
28142
|
+
var eventDestinationModeSchema = z43.enum(["cms-managed", "system-managed"]);
|
|
28143
|
+
var eventVenueSchema = z43.object({
|
|
28144
|
+
id: z43.string(),
|
|
28145
|
+
name: z43.string(),
|
|
28146
|
+
address: z43.string().nullable(),
|
|
28147
|
+
location: z43.object({
|
|
28148
|
+
lat: z43.number(),
|
|
28149
|
+
lng: z43.number()
|
|
27997
28150
|
}).nullable()
|
|
27998
28151
|
});
|
|
27999
|
-
var eventCategorySchema =
|
|
28000
|
-
id:
|
|
28001
|
-
name:
|
|
28002
|
-
color:
|
|
28003
|
-
});
|
|
28004
|
-
var pricingTypeSchema =
|
|
28005
|
-
var accessRestrictionSchema =
|
|
28006
|
-
var eventPricingModeSchema =
|
|
28007
|
-
var publicCoursePriceDisplaySchema =
|
|
28008
|
-
|
|
28009
|
-
|
|
28010
|
-
|
|
28011
|
-
|
|
28152
|
+
var eventCategorySchema = z43.object({
|
|
28153
|
+
id: z43.string(),
|
|
28154
|
+
name: z43.string(),
|
|
28155
|
+
color: z43.string().nullable()
|
|
28156
|
+
});
|
|
28157
|
+
var pricingTypeSchema = z43.enum(["free", "paid"]);
|
|
28158
|
+
var accessRestrictionSchema = z43.enum(["none", "category"]);
|
|
28159
|
+
var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
|
|
28160
|
+
var publicCoursePriceDisplaySchema = z43.discriminatedUnion("kind", [
|
|
28161
|
+
z43.object({ kind: z43.literal("free"), currency: z43.string() }),
|
|
28162
|
+
z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
|
|
28163
|
+
z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
|
|
28164
|
+
z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
|
|
28012
28165
|
]);
|
|
28013
|
-
var publicEventPriceDisplaySchema =
|
|
28014
|
-
|
|
28015
|
-
|
|
28016
|
-
|
|
28017
|
-
|
|
28018
|
-
|
|
28019
|
-
|
|
28166
|
+
var publicEventPriceDisplaySchema = z43.discriminatedUnion("kind", [
|
|
28167
|
+
z43.object({ kind: z43.literal("free"), currency: z43.string() }),
|
|
28168
|
+
z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
|
|
28169
|
+
z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
|
|
28170
|
+
z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
|
|
28171
|
+
z43.object({
|
|
28172
|
+
kind: z43.literal("mixed"),
|
|
28173
|
+
paidFromAmount: z43.number(),
|
|
28174
|
+
paidToAmount: z43.number(),
|
|
28175
|
+
currency: z43.string()
|
|
28176
|
+
}),
|
|
28177
|
+
z43.object({ kind: z43.literal("unavailable"), currency: z43.string() }),
|
|
28178
|
+
z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28020
28179
|
]);
|
|
28021
|
-
var publicEventTicketTypePriceDisplaySchema =
|
|
28022
|
-
|
|
28023
|
-
|
|
28024
|
-
|
|
28025
|
-
|
|
28026
|
-
|
|
28180
|
+
var publicEventTicketTypePriceDisplaySchema = z43.union([
|
|
28181
|
+
z43.object({ kind: z43.literal("free"), currency: z43.string() }),
|
|
28182
|
+
z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
|
|
28183
|
+
z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
|
|
28184
|
+
z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
|
|
28185
|
+
z43.object({
|
|
28186
|
+
kind: z43.literal("mixed"),
|
|
28187
|
+
paidFromAmount: z43.number(),
|
|
28188
|
+
paidToAmount: z43.number(),
|
|
28189
|
+
currency: z43.string()
|
|
28190
|
+
}),
|
|
28191
|
+
z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
|
|
28027
28192
|
]);
|
|
28028
|
-
var publicEventAttendanceModeSchema =
|
|
28029
|
-
var publicEventAttendanceModeAvailabilitySchema =
|
|
28193
|
+
var publicEventAttendanceModeSchema = z43.enum(["in_person", "online"]);
|
|
28194
|
+
var publicEventAttendanceModeAvailabilitySchema = z43.object({
|
|
28030
28195
|
mode: publicEventAttendanceModeSchema,
|
|
28031
|
-
capacity:
|
|
28032
|
-
registeredCount:
|
|
28033
|
-
availableSpots:
|
|
28034
|
-
waitlistEnabled:
|
|
28035
|
-
});
|
|
28036
|
-
var publicEventTicketTypeAvailabilitySchema =
|
|
28037
|
-
|
|
28038
|
-
kind:
|
|
28039
|
-
remainingCapacity:
|
|
28196
|
+
capacity: z43.number().nullable(),
|
|
28197
|
+
registeredCount: z43.number(),
|
|
28198
|
+
availableSpots: z43.number().nullable(),
|
|
28199
|
+
waitlistEnabled: z43.boolean()
|
|
28200
|
+
});
|
|
28201
|
+
var publicEventTicketTypeAvailabilitySchema = z43.union([
|
|
28202
|
+
z43.object({
|
|
28203
|
+
kind: z43.literal("available"),
|
|
28204
|
+
remainingCapacity: z43.number().nullable()
|
|
28040
28205
|
}),
|
|
28041
|
-
|
|
28042
|
-
kind:
|
|
28043
|
-
reason:
|
|
28044
|
-
remainingCapacity:
|
|
28206
|
+
z43.object({
|
|
28207
|
+
kind: z43.literal("unavailable"),
|
|
28208
|
+
reason: z43.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
|
|
28209
|
+
remainingCapacity: z43.number().nullable()
|
|
28045
28210
|
})
|
|
28046
28211
|
]);
|
|
28047
|
-
var publicEventTicketTypeSchema =
|
|
28048
|
-
id:
|
|
28049
|
-
siteId:
|
|
28050
|
-
eventSeriesId:
|
|
28051
|
-
name:
|
|
28052
|
-
description:
|
|
28053
|
-
priceAmount:
|
|
28054
|
-
isActive:
|
|
28055
|
-
sortOrder:
|
|
28056
|
-
capacityMode:
|
|
28057
|
-
capacityLimit:
|
|
28058
|
-
attendanceScope:
|
|
28059
|
-
saleStartsAt:
|
|
28060
|
-
saleEndsAt:
|
|
28212
|
+
var publicEventTicketTypeSchema = z43.object({
|
|
28213
|
+
id: z43.string(),
|
|
28214
|
+
siteId: z43.string(),
|
|
28215
|
+
eventSeriesId: z43.string(),
|
|
28216
|
+
name: z43.string(),
|
|
28217
|
+
description: z43.string().nullable(),
|
|
28218
|
+
priceAmount: z43.number(),
|
|
28219
|
+
isActive: z43.boolean(),
|
|
28220
|
+
sortOrder: z43.number(),
|
|
28221
|
+
capacityMode: z43.enum(["limited", "unlimited"]),
|
|
28222
|
+
capacityLimit: z43.number().nullable(),
|
|
28223
|
+
attendanceScope: z43.enum(["in_person", "online", "both"]).optional(),
|
|
28224
|
+
saleStartsAt: z43.string().nullable(),
|
|
28225
|
+
saleEndsAt: z43.string().nullable(),
|
|
28061
28226
|
availability: publicEventTicketTypeAvailabilitySchema,
|
|
28062
|
-
createdAt:
|
|
28063
|
-
updatedAt:
|
|
28064
|
-
});
|
|
28065
|
-
var publicEventPricingSchema =
|
|
28066
|
-
|
|
28067
|
-
kind:
|
|
28068
|
-
currency:
|
|
28069
|
-
display:
|
|
28227
|
+
createdAt: z43.string(),
|
|
28228
|
+
updatedAt: z43.string()
|
|
28229
|
+
});
|
|
28230
|
+
var publicEventPricingSchema = z43.discriminatedUnion("kind", [
|
|
28231
|
+
z43.object({
|
|
28232
|
+
kind: z43.literal("drop_in"),
|
|
28233
|
+
currency: z43.string(),
|
|
28234
|
+
display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
|
|
28070
28235
|
}),
|
|
28071
|
-
|
|
28072
|
-
kind:
|
|
28073
|
-
currency:
|
|
28074
|
-
display:
|
|
28236
|
+
z43.object({
|
|
28237
|
+
kind: z43.literal("free_registration"),
|
|
28238
|
+
currency: z43.string(),
|
|
28239
|
+
display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
|
|
28075
28240
|
}),
|
|
28076
|
-
|
|
28077
|
-
kind:
|
|
28078
|
-
amount:
|
|
28079
|
-
currency:
|
|
28080
|
-
display:
|
|
28241
|
+
z43.object({
|
|
28242
|
+
kind: z43.literal("single_paid"),
|
|
28243
|
+
amount: z43.number(),
|
|
28244
|
+
currency: z43.string(),
|
|
28245
|
+
display: z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() })
|
|
28081
28246
|
}),
|
|
28082
|
-
|
|
28083
|
-
kind:
|
|
28084
|
-
currency:
|
|
28085
|
-
ticketTypes:
|
|
28247
|
+
z43.object({
|
|
28248
|
+
kind: z43.literal("ticket_types"),
|
|
28249
|
+
currency: z43.string(),
|
|
28250
|
+
ticketTypes: z43.array(publicEventTicketTypeSchema),
|
|
28086
28251
|
display: publicEventTicketTypePriceDisplaySchema
|
|
28087
28252
|
}),
|
|
28088
|
-
|
|
28089
|
-
kind:
|
|
28090
|
-
display:
|
|
28253
|
+
z43.object({
|
|
28254
|
+
kind: z43.literal("course"),
|
|
28255
|
+
display: z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28091
28256
|
})
|
|
28092
28257
|
]);
|
|
28093
|
-
var publicTeamMemberSummarySchema =
|
|
28094
|
-
id:
|
|
28095
|
-
name:
|
|
28096
|
-
roleLabel:
|
|
28097
|
-
summary:
|
|
28098
|
-
profilePath:
|
|
28258
|
+
var publicTeamMemberSummarySchema = z43.object({
|
|
28259
|
+
id: z43.string(),
|
|
28260
|
+
name: z43.string(),
|
|
28261
|
+
roleLabel: z43.string().nullable(),
|
|
28262
|
+
summary: z43.string().nullable(),
|
|
28263
|
+
profilePath: z43.string().nullable()
|
|
28099
28264
|
});
|
|
28100
|
-
var publicEventSchema =
|
|
28101
|
-
kind:
|
|
28265
|
+
var publicEventSchema = z43.object({
|
|
28266
|
+
kind: z43.enum(["event", "course_session"]).optional(),
|
|
28102
28267
|
eventPreset: eventPresetSchema.optional(),
|
|
28103
28268
|
eventDestinationMode: eventDestinationModeSchema.optional(),
|
|
28104
28269
|
scheduleScope: eventScheduleScopeSchema.optional(),
|
|
28105
|
-
id:
|
|
28106
|
-
occurrenceId:
|
|
28107
|
-
seriesId:
|
|
28108
|
-
title:
|
|
28109
|
-
description:
|
|
28110
|
-
|
|
28111
|
-
|
|
28112
|
-
|
|
28270
|
+
id: z43.string(),
|
|
28271
|
+
occurrenceId: z43.string(),
|
|
28272
|
+
seriesId: z43.string(),
|
|
28273
|
+
title: z43.string(),
|
|
28274
|
+
description: z43.string().nullable(),
|
|
28275
|
+
content: z43.object({
|
|
28276
|
+
body: RichTextDocSchema.nullable().optional()
|
|
28277
|
+
}).optional(),
|
|
28278
|
+
presentation: z43.object({
|
|
28279
|
+
cardTitleOverride: z43.string().nullable().optional(),
|
|
28280
|
+
summary: z43.string().nullable().optional(),
|
|
28113
28281
|
image: mediaSchema2.nullable().optional()
|
|
28114
28282
|
}).optional(),
|
|
28115
|
-
slug:
|
|
28116
|
-
path:
|
|
28117
|
-
requiresRegistration:
|
|
28118
|
-
deliveryMode:
|
|
28119
|
-
attendanceModes:
|
|
28120
|
-
startsAt:
|
|
28121
|
-
endsAt:
|
|
28122
|
-
capacity:
|
|
28123
|
-
registeredCount:
|
|
28124
|
-
availableSpots:
|
|
28125
|
-
waitlistEnabled:
|
|
28283
|
+
slug: z43.string(),
|
|
28284
|
+
path: z43.string(),
|
|
28285
|
+
requiresRegistration: z43.boolean(),
|
|
28286
|
+
deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
|
|
28287
|
+
attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
|
|
28288
|
+
startsAt: z43.string(),
|
|
28289
|
+
endsAt: z43.string(),
|
|
28290
|
+
capacity: z43.number().nullable(),
|
|
28291
|
+
registeredCount: z43.number(),
|
|
28292
|
+
availableSpots: z43.number().nullable(),
|
|
28293
|
+
waitlistEnabled: z43.boolean(),
|
|
28126
28294
|
venue: eventVenueSchema.nullable(),
|
|
28127
28295
|
eventCategory: eventCategorySchema.nullable(),
|
|
28128
|
-
teamMembers:
|
|
28129
|
-
status:
|
|
28130
|
-
timeZone:
|
|
28296
|
+
teamMembers: z43.array(publicTeamMemberSummarySchema).optional(),
|
|
28297
|
+
status: z43.enum(["active", "draft", "archived"]).optional(),
|
|
28298
|
+
timeZone: z43.string(),
|
|
28131
28299
|
pricing: publicEventPricingSchema,
|
|
28132
28300
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28133
28301
|
accessRestriction: accessRestrictionSchema,
|
|
28134
|
-
allowedCategoryIds:
|
|
28135
|
-
requireGuestDetails:
|
|
28136
|
-
acceptsPasses:
|
|
28137
|
-
acceptsMemberships:
|
|
28138
|
-
course:
|
|
28139
|
-
id:
|
|
28302
|
+
allowedCategoryIds: z43.array(z43.string()),
|
|
28303
|
+
requireGuestDetails: z43.boolean().optional(),
|
|
28304
|
+
acceptsPasses: z43.boolean().optional(),
|
|
28305
|
+
acceptsMemberships: z43.boolean().optional(),
|
|
28306
|
+
course: z43.object({
|
|
28307
|
+
id: z43.string(),
|
|
28140
28308
|
pricing: coursePricingSchema.optional(),
|
|
28141
|
-
priceCents:
|
|
28142
|
-
currency:
|
|
28143
|
-
enrollmentOpen:
|
|
28309
|
+
priceCents: z43.number().nullable(),
|
|
28310
|
+
currency: z43.string(),
|
|
28311
|
+
enrollmentOpen: z43.boolean()
|
|
28144
28312
|
}).nullable().optional()
|
|
28145
28313
|
});
|
|
28146
|
-
var publicEventsArraySchema =
|
|
28314
|
+
var publicEventsArraySchema = z43.array(publicEventSchema);
|
|
28147
28315
|
|
|
28148
28316
|
// ../blocks/src/system/blocks/events/shared/fields.ts
|
|
28149
28317
|
var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
|
|
@@ -28347,19 +28515,19 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28347
28515
|
}
|
|
28348
28516
|
|
|
28349
28517
|
// ../blocks/src/system/blocks/event-registration.shared.ts
|
|
28350
|
-
import { z as
|
|
28351
|
-
var occurrenceContextSchema =
|
|
28352
|
-
id:
|
|
28353
|
-
seriesId:
|
|
28354
|
-
startsAt:
|
|
28355
|
-
endsAt:
|
|
28356
|
-
timeZone:
|
|
28357
|
-
capacityOverride:
|
|
28358
|
-
overrides:
|
|
28518
|
+
import { z as z44 } from "zod";
|
|
28519
|
+
var occurrenceContextSchema = z44.object({
|
|
28520
|
+
id: z44.string(),
|
|
28521
|
+
seriesId: z44.string(),
|
|
28522
|
+
startsAt: z44.string(),
|
|
28523
|
+
endsAt: z44.string(),
|
|
28524
|
+
timeZone: z44.string(),
|
|
28525
|
+
capacityOverride: z44.number().nullable().optional(),
|
|
28526
|
+
overrides: z44.record(z44.string(), z44.unknown()).nullable().optional()
|
|
28359
28527
|
}).nullable();
|
|
28360
28528
|
|
|
28361
28529
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28362
|
-
import { z as
|
|
28530
|
+
import { z as z46 } from "zod";
|
|
28363
28531
|
|
|
28364
28532
|
// ../blocks/src/system/constants/events.ts
|
|
28365
28533
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
@@ -28457,10 +28625,21 @@ function readLegacyPriceDisplay(value, currency) {
|
|
|
28457
28625
|
amount: readAmount(value.amount) ?? 0,
|
|
28458
28626
|
currency: displayCurrency
|
|
28459
28627
|
} : { kind: "unavailable", currency };
|
|
28628
|
+
case "range": {
|
|
28629
|
+
const minAmount = readAmount(value.minAmount);
|
|
28630
|
+
const maxAmount = readAmount(value.maxAmount);
|
|
28631
|
+
return minAmount !== null && maxAmount !== null ? {
|
|
28632
|
+
kind: "range",
|
|
28633
|
+
minAmount,
|
|
28634
|
+
maxAmount,
|
|
28635
|
+
currency: displayCurrency
|
|
28636
|
+
} : { kind: "unavailable", currency };
|
|
28637
|
+
}
|
|
28460
28638
|
case "mixed":
|
|
28461
28639
|
return readAmount(value.paidFromAmount) !== null ? {
|
|
28462
28640
|
kind: "mixed",
|
|
28463
28641
|
paidFromAmount: readAmount(value.paidFromAmount) ?? 0,
|
|
28642
|
+
paidToAmount: readAmount(value.paidToAmount) ?? readAmount(value.paidFromAmount) ?? 0,
|
|
28464
28643
|
currency: displayCurrency
|
|
28465
28644
|
} : { kind: "unavailable", currency };
|
|
28466
28645
|
case "unavailable":
|
|
@@ -28502,16 +28681,16 @@ function readAmount(value) {
|
|
|
28502
28681
|
}
|
|
28503
28682
|
|
|
28504
28683
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28505
|
-
import { z as
|
|
28506
|
-
var previewStageSchema =
|
|
28507
|
-
var registrationButtonVariantSchema =
|
|
28508
|
-
var eventButtonVariantSchema =
|
|
28509
|
-
var eventLayoutSchema =
|
|
28510
|
-
var eventCalendarDisplayModeSchema =
|
|
28511
|
-
var columnOptionSchema =
|
|
28512
|
-
var weekStartSchema =
|
|
28513
|
-
var filterAutoShowSchema =
|
|
28514
|
-
var calendarTabViewsSchema =
|
|
28684
|
+
import { z as z45 } from "zod";
|
|
28685
|
+
var previewStageSchema = z45.enum(["preview", "published"]);
|
|
28686
|
+
var registrationButtonVariantSchema = z45.enum(["primary", "secondary", "outline"]);
|
|
28687
|
+
var eventButtonVariantSchema = z45.enum(["primary", "secondary", "outline", "link"]);
|
|
28688
|
+
var eventLayoutSchema = z45.enum(eventCalendarListLayoutValues);
|
|
28689
|
+
var eventCalendarDisplayModeSchema = z45.enum(eventCalendarDisplayModeValues);
|
|
28690
|
+
var columnOptionSchema = z45.enum(["2", "3", "4"]);
|
|
28691
|
+
var weekStartSchema = z45.enum(["sunday", "monday"]);
|
|
28692
|
+
var filterAutoShowSchema = z45.enum(["auto", "always", "never"]);
|
|
28693
|
+
var calendarTabViewsSchema = z45.enum(["both", "month", "week"]);
|
|
28515
28694
|
|
|
28516
28695
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28517
28696
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -28571,66 +28750,68 @@ function toRegistrationEvents(events) {
|
|
|
28571
28750
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28572
28751
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28573
28752
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28574
|
-
var contentEntrySchema =
|
|
28575
|
-
id:
|
|
28576
|
-
slug:
|
|
28577
|
-
contentTypeSlug:
|
|
28753
|
+
var contentEntrySchema = z46.object({
|
|
28754
|
+
id: z46.string(),
|
|
28755
|
+
slug: z46.string(),
|
|
28756
|
+
contentTypeSlug: z46.string()
|
|
28578
28757
|
});
|
|
28579
|
-
var eventRegistrationPublicEventSchema =
|
|
28758
|
+
var eventRegistrationPublicEventSchema = z46.preprocess(
|
|
28580
28759
|
normalizeEventRegistrationEventInput,
|
|
28581
28760
|
publicEventSchema
|
|
28582
28761
|
);
|
|
28583
|
-
var eventRegistrationSourceSchema =
|
|
28584
|
-
siteId:
|
|
28585
|
-
apiBaseUrl:
|
|
28586
|
-
portalToken:
|
|
28587
|
-
previewToken:
|
|
28762
|
+
var eventRegistrationSourceSchema = z46.object({
|
|
28763
|
+
siteId: z46.string().optional(),
|
|
28764
|
+
apiBaseUrl: z46.string().optional(),
|
|
28765
|
+
portalToken: z46.string().nullable().optional(),
|
|
28766
|
+
previewToken: z46.string().nullable().optional(),
|
|
28588
28767
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28589
28768
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28590
|
-
events:
|
|
28591
|
-
className:
|
|
28592
|
-
buttonText:
|
|
28593
|
-
maxTickets:
|
|
28594
|
-
showVenue:
|
|
28595
|
-
showCapacity:
|
|
28596
|
-
successMessage:
|
|
28597
|
-
waitlistMessage:
|
|
28769
|
+
events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28770
|
+
className: z46.string().nullable().optional(),
|
|
28771
|
+
buttonText: z46.string().nullable().optional(),
|
|
28772
|
+
maxTickets: z46.string().nullable().optional(),
|
|
28773
|
+
showVenue: z46.boolean().optional(),
|
|
28774
|
+
showCapacity: z46.boolean().optional(),
|
|
28775
|
+
successMessage: z46.string().optional(),
|
|
28776
|
+
waitlistMessage: z46.string().optional(),
|
|
28598
28777
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28599
|
-
|
|
28778
|
+
overlayEnabled: z46.boolean().optional(),
|
|
28779
|
+
spamProtectionEnabled: z46.boolean().optional(),
|
|
28600
28780
|
stage: previewStageSchema.optional(),
|
|
28601
|
-
supportEmail:
|
|
28602
|
-
});
|
|
28603
|
-
var eventRegistrationDisplaySchema =
|
|
28604
|
-
kind:
|
|
28605
|
-
state:
|
|
28606
|
-
className:
|
|
28607
|
-
titleText:
|
|
28608
|
-
bodyText:
|
|
28609
|
-
stepLabels:
|
|
28610
|
-
summaryButtonText:
|
|
28611
|
-
});
|
|
28612
|
-
var eventRegistrationHydrationSchema =
|
|
28781
|
+
supportEmail: z46.string().optional()
|
|
28782
|
+
});
|
|
28783
|
+
var eventRegistrationDisplaySchema = z46.object({
|
|
28784
|
+
kind: z46.literal("event-registration"),
|
|
28785
|
+
state: z46.literal("generic-shell"),
|
|
28786
|
+
className: z46.string().nullable(),
|
|
28787
|
+
titleText: z46.string(),
|
|
28788
|
+
bodyText: z46.string(),
|
|
28789
|
+
stepLabels: z46.array(z46.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
28790
|
+
summaryButtonText: z46.string()
|
|
28791
|
+
});
|
|
28792
|
+
var eventRegistrationHydrationSchema = z46.object({
|
|
28613
28793
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28614
28794
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28615
|
-
events:
|
|
28616
|
-
maxTickets:
|
|
28617
|
-
showVenue:
|
|
28618
|
-
showCapacity:
|
|
28619
|
-
successMessage:
|
|
28620
|
-
waitlistMessage:
|
|
28795
|
+
events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28796
|
+
maxTickets: z46.string().optional(),
|
|
28797
|
+
showVenue: z46.boolean().optional(),
|
|
28798
|
+
showCapacity: z46.boolean().optional(),
|
|
28799
|
+
successMessage: z46.string().optional(),
|
|
28800
|
+
waitlistMessage: z46.string().optional(),
|
|
28621
28801
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28622
|
-
|
|
28623
|
-
|
|
28802
|
+
overlayEnabled: z46.boolean().optional(),
|
|
28803
|
+
spamProtectionEnabled: z46.boolean().optional(),
|
|
28804
|
+
supportEmail: z46.string().optional()
|
|
28624
28805
|
});
|
|
28625
|
-
var eventRegistrationRenderSchema =
|
|
28806
|
+
var eventRegistrationRenderSchema = z46.object({
|
|
28626
28807
|
display: eventRegistrationDisplaySchema,
|
|
28627
28808
|
hydration: eventRegistrationHydrationSchema
|
|
28628
28809
|
});
|
|
28629
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
28630
|
-
siteId:
|
|
28631
|
-
apiBaseUrl:
|
|
28632
|
-
portalToken:
|
|
28633
|
-
previewToken:
|
|
28810
|
+
var eventRegistrationIslandMetaCodec = createZodCodec(z46.object({
|
|
28811
|
+
siteId: z46.string().optional(),
|
|
28812
|
+
apiBaseUrl: z46.string().optional(),
|
|
28813
|
+
portalToken: z46.string().nullable().optional(),
|
|
28814
|
+
previewToken: z46.string().nullable().optional(),
|
|
28634
28815
|
stage: previewStageSchema.optional()
|
|
28635
28816
|
}));
|
|
28636
28817
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -28734,6 +28915,7 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
28734
28915
|
successMessage: source.successMessage,
|
|
28735
28916
|
waitlistMessage: source.waitlistMessage,
|
|
28736
28917
|
buttonVariant: source.buttonVariant,
|
|
28918
|
+
overlayEnabled: source.overlayEnabled,
|
|
28737
28919
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
28738
28920
|
supportEmail: source.supportEmail
|
|
28739
28921
|
}
|
|
@@ -28909,6 +29091,12 @@ var eventRegistrationManifest = createBlockManifest({
|
|
|
28909
29091
|
buttonVariant: {
|
|
28910
29092
|
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
28911
29093
|
},
|
|
29094
|
+
overlayEnabled: {
|
|
29095
|
+
$bind: {
|
|
29096
|
+
from: "$root.eventRegistrationOverlayEnabled",
|
|
29097
|
+
fallback: false
|
|
29098
|
+
}
|
|
29099
|
+
},
|
|
28912
29100
|
// Event data from loader
|
|
28913
29101
|
events: { $bind: { from: "data.events" } },
|
|
28914
29102
|
// Stage for preview mode (allows registering for draft events)
|
|
@@ -28929,7 +29117,7 @@ var eventRegistrationBlockDefinition = {
|
|
|
28929
29117
|
manifest: eventRegistrationManifest,
|
|
28930
29118
|
runtime: eventRegistrationBlockRuntime,
|
|
28931
29119
|
dataSchemas: {
|
|
28932
|
-
events:
|
|
29120
|
+
events: z47.array(publicEventSchema).optional(),
|
|
28933
29121
|
occurrenceContext: occurrenceContextSchema.optional()
|
|
28934
29122
|
},
|
|
28935
29123
|
dataLoaders: {
|
|
@@ -28953,73 +29141,73 @@ var eventRegistrationBlockDefinition = {
|
|
|
28953
29141
|
};
|
|
28954
29142
|
|
|
28955
29143
|
// ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
|
|
28956
|
-
import { z as
|
|
28957
|
-
var contentEntrySchema2 =
|
|
28958
|
-
id:
|
|
28959
|
-
slug:
|
|
28960
|
-
contentTypeSlug:
|
|
28961
|
-
});
|
|
28962
|
-
var courseEntrySubrouteContextSchema =
|
|
28963
|
-
|
|
28964
|
-
kind:
|
|
28965
|
-
run:
|
|
28966
|
-
courseId:
|
|
28967
|
-
seriesId:
|
|
28968
|
-
runSlug:
|
|
28969
|
-
runName:
|
|
29144
|
+
import { z as z48 } from "zod";
|
|
29145
|
+
var contentEntrySchema2 = z48.object({
|
|
29146
|
+
id: z48.string(),
|
|
29147
|
+
slug: z48.string(),
|
|
29148
|
+
contentTypeSlug: z48.string()
|
|
29149
|
+
});
|
|
29150
|
+
var courseEntrySubrouteContextSchema = z48.union([
|
|
29151
|
+
z48.object({
|
|
29152
|
+
kind: z48.literal("course-run"),
|
|
29153
|
+
run: z48.object({
|
|
29154
|
+
courseId: z48.string(),
|
|
29155
|
+
seriesId: z48.string(),
|
|
29156
|
+
runSlug: z48.string(),
|
|
29157
|
+
runName: z48.string().nullable()
|
|
28970
29158
|
})
|
|
28971
29159
|
}),
|
|
28972
|
-
|
|
28973
|
-
kind:
|
|
29160
|
+
z48.object({
|
|
29161
|
+
kind: z48.literal("event-occurrence"),
|
|
28974
29162
|
occurrence: occurrenceContextSchema
|
|
28975
29163
|
})
|
|
28976
29164
|
]);
|
|
28977
|
-
var courseRegistrationSourceSchema =
|
|
28978
|
-
siteId:
|
|
28979
|
-
apiBaseUrl:
|
|
28980
|
-
portalToken:
|
|
29165
|
+
var courseRegistrationSourceSchema = z48.object({
|
|
29166
|
+
siteId: z48.string().optional(),
|
|
29167
|
+
apiBaseUrl: z48.string().optional(),
|
|
29168
|
+
portalToken: z48.string().nullable().optional(),
|
|
28981
29169
|
contentEntry: contentEntrySchema2.nullable().optional(),
|
|
28982
29170
|
entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
|
|
28983
|
-
courses:
|
|
28984
|
-
className:
|
|
28985
|
-
showSessions:
|
|
28986
|
-
showPrice:
|
|
28987
|
-
showCapacity:
|
|
28988
|
-
showVenue:
|
|
28989
|
-
successMessage:
|
|
28990
|
-
waitlistMessage:
|
|
28991
|
-
membershipMessage:
|
|
28992
|
-
buttonText:
|
|
29171
|
+
courses: z48.array(publicCourseSchema).nullable().optional(),
|
|
29172
|
+
className: z48.string().nullable().optional(),
|
|
29173
|
+
showSessions: z48.boolean().optional(),
|
|
29174
|
+
showPrice: z48.boolean().optional(),
|
|
29175
|
+
showCapacity: z48.boolean().optional(),
|
|
29176
|
+
showVenue: z48.boolean().optional(),
|
|
29177
|
+
successMessage: z48.string().optional(),
|
|
29178
|
+
waitlistMessage: z48.string().optional(),
|
|
29179
|
+
membershipMessage: z48.string().optional(),
|
|
29180
|
+
buttonText: z48.string().nullable().optional(),
|
|
28993
29181
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28994
29182
|
stage: previewStageSchema.optional()
|
|
28995
29183
|
});
|
|
28996
|
-
var courseRegistrationDisplaySchema =
|
|
28997
|
-
kind:
|
|
28998
|
-
state:
|
|
28999
|
-
className:
|
|
29000
|
-
summaryButtonText:
|
|
29184
|
+
var courseRegistrationDisplaySchema = z48.object({
|
|
29185
|
+
kind: z48.literal("course-registration"),
|
|
29186
|
+
state: z48.literal("shell"),
|
|
29187
|
+
className: z48.string().nullable(),
|
|
29188
|
+
summaryButtonText: z48.string()
|
|
29001
29189
|
});
|
|
29002
|
-
var courseRegistrationHydrationSchema =
|
|
29190
|
+
var courseRegistrationHydrationSchema = z48.object({
|
|
29003
29191
|
contentEntry: contentEntrySchema2.nullable().optional(),
|
|
29004
29192
|
entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
|
|
29005
|
-
courses:
|
|
29006
|
-
showSessions:
|
|
29007
|
-
showPrice:
|
|
29008
|
-
showCapacity:
|
|
29009
|
-
showVenue:
|
|
29010
|
-
successMessage:
|
|
29011
|
-
waitlistMessage:
|
|
29012
|
-
membershipMessage:
|
|
29193
|
+
courses: z48.array(publicCourseSchema).nullable().optional(),
|
|
29194
|
+
showSessions: z48.boolean().optional(),
|
|
29195
|
+
showPrice: z48.boolean().optional(),
|
|
29196
|
+
showCapacity: z48.boolean().optional(),
|
|
29197
|
+
showVenue: z48.boolean().optional(),
|
|
29198
|
+
successMessage: z48.string().optional(),
|
|
29199
|
+
waitlistMessage: z48.string().optional(),
|
|
29200
|
+
membershipMessage: z48.string().optional(),
|
|
29013
29201
|
buttonVariant: registrationButtonVariantSchema.optional()
|
|
29014
29202
|
});
|
|
29015
|
-
var courseRegistrationRenderSchema =
|
|
29203
|
+
var courseRegistrationRenderSchema = z48.object({
|
|
29016
29204
|
display: courseRegistrationDisplaySchema,
|
|
29017
29205
|
hydration: courseRegistrationHydrationSchema
|
|
29018
29206
|
});
|
|
29019
|
-
var courseRegistrationIslandMetaCodec = createZodCodec(
|
|
29020
|
-
siteId:
|
|
29021
|
-
apiBaseUrl:
|
|
29022
|
-
portalToken:
|
|
29207
|
+
var courseRegistrationIslandMetaCodec = createZodCodec(z48.object({
|
|
29208
|
+
siteId: z48.string().optional(),
|
|
29209
|
+
apiBaseUrl: z48.string().optional(),
|
|
29210
|
+
portalToken: z48.string().nullable().optional(),
|
|
29023
29211
|
stage: previewStageSchema.optional()
|
|
29024
29212
|
}));
|
|
29025
29213
|
var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -29279,32 +29467,32 @@ var courseRegistrationBlockDefinition = {
|
|
|
29279
29467
|
};
|
|
29280
29468
|
|
|
29281
29469
|
// ../blocks/src/system/blocks/event-details.ts
|
|
29282
|
-
import { z as
|
|
29470
|
+
import { z as z50 } from "zod";
|
|
29283
29471
|
|
|
29284
29472
|
// ../blocks/src/system/blocks/shop.shared.ts
|
|
29285
|
-
import { z as
|
|
29286
|
-
var publicPassProductSchema =
|
|
29287
|
-
id:
|
|
29288
|
-
productUseCase:
|
|
29289
|
-
name:
|
|
29290
|
-
description:
|
|
29291
|
-
price:
|
|
29292
|
-
currency:
|
|
29293
|
-
creditsTotal:
|
|
29294
|
-
pricePerCredit:
|
|
29295
|
-
validDays:
|
|
29296
|
-
eligibleCategoryIds:
|
|
29297
|
-
eligibleCategoryNames:
|
|
29298
|
-
});
|
|
29299
|
-
var publicMembershipProductSchema =
|
|
29300
|
-
id:
|
|
29301
|
-
name:
|
|
29302
|
-
description:
|
|
29303
|
-
price:
|
|
29304
|
-
currency:
|
|
29305
|
-
billingInterval:
|
|
29306
|
-
eligibleCategoryIds:
|
|
29307
|
-
eligibleCategoryNames:
|
|
29473
|
+
import { z as z49 } from "zod";
|
|
29474
|
+
var publicPassProductSchema = z49.object({
|
|
29475
|
+
id: z49.string(),
|
|
29476
|
+
productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
29477
|
+
name: z49.string(),
|
|
29478
|
+
description: z49.string().nullable(),
|
|
29479
|
+
price: z49.number(),
|
|
29480
|
+
currency: z49.string(),
|
|
29481
|
+
creditsTotal: z49.number(),
|
|
29482
|
+
pricePerCredit: z49.number(),
|
|
29483
|
+
validDays: z49.number().nullable(),
|
|
29484
|
+
eligibleCategoryIds: z49.array(z49.string()),
|
|
29485
|
+
eligibleCategoryNames: z49.array(z49.string())
|
|
29486
|
+
});
|
|
29487
|
+
var publicMembershipProductSchema = z49.object({
|
|
29488
|
+
id: z49.string(),
|
|
29489
|
+
name: z49.string(),
|
|
29490
|
+
description: z49.string().nullable(),
|
|
29491
|
+
price: z49.number(),
|
|
29492
|
+
currency: z49.string(),
|
|
29493
|
+
billingInterval: z49.enum(["month", "year"]),
|
|
29494
|
+
eligibleCategoryIds: z49.array(z49.string()),
|
|
29495
|
+
eligibleCategoryNames: z49.array(z49.string())
|
|
29308
29496
|
});
|
|
29309
29497
|
|
|
29310
29498
|
// ../blocks/src/system/blocks/event-details.ts
|
|
@@ -29439,40 +29627,40 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
29439
29627
|
})
|
|
29440
29628
|
]
|
|
29441
29629
|
});
|
|
29442
|
-
var occurrenceContextSchema2 =
|
|
29443
|
-
id:
|
|
29444
|
-
seriesId:
|
|
29445
|
-
startsAt:
|
|
29446
|
-
endsAt:
|
|
29447
|
-
timeZone:
|
|
29448
|
-
capacityOverride:
|
|
29449
|
-
overrides:
|
|
29630
|
+
var occurrenceContextSchema2 = z50.object({
|
|
29631
|
+
id: z50.string(),
|
|
29632
|
+
seriesId: z50.string(),
|
|
29633
|
+
startsAt: z50.string(),
|
|
29634
|
+
endsAt: z50.string(),
|
|
29635
|
+
timeZone: z50.string(),
|
|
29636
|
+
capacityOverride: z50.number().nullable().optional(),
|
|
29637
|
+
overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
|
|
29450
29638
|
}).nullable();
|
|
29451
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
29452
|
-
id:
|
|
29453
|
-
publicLabel:
|
|
29454
|
-
description:
|
|
29455
|
-
minTicketsRequired:
|
|
29639
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
|
|
29640
|
+
id: z50.string(),
|
|
29641
|
+
publicLabel: z50.string(),
|
|
29642
|
+
description: z50.string().nullable(),
|
|
29643
|
+
minTicketsRequired: z50.number().nullable()
|
|
29456
29644
|
});
|
|
29457
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
29645
|
+
var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
|
|
29458
29646
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29459
|
-
discountType:
|
|
29460
|
-
discountPercent:
|
|
29461
|
-
discountAmountCents:
|
|
29647
|
+
discountType: z50.literal("percent"),
|
|
29648
|
+
discountPercent: z50.number(),
|
|
29649
|
+
discountAmountCents: z50.null()
|
|
29462
29650
|
}),
|
|
29463
29651
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29464
|
-
discountType:
|
|
29465
|
-
discountPercent:
|
|
29466
|
-
discountAmountCents:
|
|
29652
|
+
discountType: z50.literal("fixed"),
|
|
29653
|
+
discountPercent: z50.null(),
|
|
29654
|
+
discountAmountCents: z50.number()
|
|
29467
29655
|
})
|
|
29468
29656
|
]);
|
|
29469
29657
|
var eventDetailsBlockDefinition = {
|
|
29470
29658
|
manifest: eventDetailsManifest,
|
|
29471
29659
|
dataSchemas: {
|
|
29472
|
-
eventDetailsData:
|
|
29660
|
+
eventDetailsData: z50.object({
|
|
29473
29661
|
events: publicEventsArraySchema,
|
|
29474
|
-
sitePasses:
|
|
29475
|
-
siteMemberships:
|
|
29662
|
+
sitePasses: z50.object({ passes: z50.array(publicPassProductSchema) }),
|
|
29663
|
+
siteMemberships: z50.object({ memberships: z50.array(publicMembershipProductSchema) }),
|
|
29476
29664
|
autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
|
|
29477
29665
|
}).optional(),
|
|
29478
29666
|
occurrenceContext: occurrenceContextSchema2.optional()
|
|
@@ -29796,7 +29984,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
29796
29984
|
};
|
|
29797
29985
|
|
|
29798
29986
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
29799
|
-
import { z as
|
|
29987
|
+
import { z as z52 } from "zod";
|
|
29800
29988
|
|
|
29801
29989
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
29802
29990
|
var COLUMN_CLASSES = {
|
|
@@ -29904,16 +30092,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
29904
30092
|
}
|
|
29905
30093
|
|
|
29906
30094
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
29907
|
-
import { z as
|
|
30095
|
+
import { z as z51 } from "zod";
|
|
29908
30096
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
29909
|
-
var eventPageSizeSchema =
|
|
29910
|
-
|
|
29911
|
-
|
|
29912
|
-
|
|
29913
|
-
|
|
29914
|
-
|
|
29915
|
-
|
|
29916
|
-
|
|
30097
|
+
var eventPageSizeSchema = z51.union([
|
|
30098
|
+
z51.literal(3),
|
|
30099
|
+
z51.literal(6),
|
|
30100
|
+
z51.literal(10),
|
|
30101
|
+
z51.literal(12),
|
|
30102
|
+
z51.literal(20),
|
|
30103
|
+
z51.literal(24),
|
|
30104
|
+
z51.literal(30)
|
|
29917
30105
|
]);
|
|
29918
30106
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
29919
30107
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -29923,15 +30111,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
29923
30111
|
function resolveEventCalendarListPageSize(input) {
|
|
29924
30112
|
return resolveEventPageSize(input.eventsPerPage);
|
|
29925
30113
|
}
|
|
29926
|
-
var eventListPaginationActionSchema =
|
|
29927
|
-
|
|
29928
|
-
kind:
|
|
29929
|
-
label:
|
|
30114
|
+
var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
|
|
30115
|
+
z51.object({
|
|
30116
|
+
kind: z51.literal("loadMore"),
|
|
30117
|
+
label: z51.string()
|
|
29930
30118
|
}),
|
|
29931
|
-
|
|
29932
|
-
kind:
|
|
29933
|
-
label:
|
|
29934
|
-
href:
|
|
30119
|
+
z51.object({
|
|
30120
|
+
kind: z51.literal("seeAllLink"),
|
|
30121
|
+
label: z51.string(),
|
|
30122
|
+
href: z51.string()
|
|
29935
30123
|
})
|
|
29936
30124
|
]);
|
|
29937
30125
|
function resolveEventListPaginationAction(input) {
|
|
@@ -29944,89 +30132,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
29944
30132
|
}
|
|
29945
30133
|
|
|
29946
30134
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
29947
|
-
var legacyEventCardVariantSchema =
|
|
29948
|
-
var eventCardVariantInputSchema =
|
|
30135
|
+
var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
|
|
30136
|
+
var eventCardVariantInputSchema = z52.union([
|
|
29949
30137
|
cardVariantRoleSchema,
|
|
29950
30138
|
legacyEventCardVariantSchema
|
|
29951
30139
|
]);
|
|
29952
|
-
var cardOrientationSchema =
|
|
29953
|
-
var eventBlockKindSchema =
|
|
29954
|
-
var eventSurfaceScopeSchema =
|
|
29955
|
-
var eventScheduleScopeSchema2 =
|
|
29956
|
-
var eventListingSourceSchema =
|
|
29957
|
-
events:
|
|
29958
|
-
siteId:
|
|
29959
|
-
apiBaseUrl:
|
|
30140
|
+
var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
|
|
30141
|
+
var eventBlockKindSchema = z52.enum(eventBlockKindValues);
|
|
30142
|
+
var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
|
|
30143
|
+
var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
|
|
30144
|
+
var eventListingSourceSchema = z52.object({
|
|
30145
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
30146
|
+
siteId: z52.string(),
|
|
30147
|
+
apiBaseUrl: z52.string().optional(),
|
|
29960
30148
|
stage: previewStageSchema.optional(),
|
|
29961
30149
|
layout: eventLayoutSchema.optional(),
|
|
29962
30150
|
columns: columnOptionSchema.optional(),
|
|
29963
|
-
eventsPerPage:
|
|
29964
|
-
paginationMode:
|
|
29965
|
-
seeAllUrl:
|
|
29966
|
-
loadMoreText:
|
|
30151
|
+
eventsPerPage: z52.string().optional(),
|
|
30152
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30153
|
+
seeAllUrl: z52.string().optional(),
|
|
30154
|
+
loadMoreText: z52.string().optional(),
|
|
29967
30155
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
29968
30156
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
29969
|
-
buttonText:
|
|
29970
|
-
showVenue:
|
|
29971
|
-
showMap:
|
|
29972
|
-
showCapacity:
|
|
29973
|
-
emptyMessage:
|
|
29974
|
-
className:
|
|
29975
|
-
showFilters:
|
|
30157
|
+
buttonText: z52.string().optional(),
|
|
30158
|
+
showVenue: z52.boolean().optional(),
|
|
30159
|
+
showMap: z52.boolean().optional(),
|
|
30160
|
+
showCapacity: z52.boolean().optional(),
|
|
30161
|
+
emptyMessage: z52.string().optional(),
|
|
30162
|
+
className: z52.string().optional(),
|
|
30163
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
29976
30164
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
29977
|
-
showVenueFilter:
|
|
29978
|
-
showStaffFilter:
|
|
30165
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
30166
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
29979
30167
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
29980
30168
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
29981
|
-
filterEventPresets:
|
|
30169
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
29982
30170
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
29983
|
-
filterCategoryIds:
|
|
29984
|
-
filterStaffMemberId:
|
|
29985
|
-
filterVenueId:
|
|
30171
|
+
filterCategoryIds: z52.string().nullable().optional(),
|
|
30172
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30173
|
+
filterVenueId: z52.string().nullable().optional()
|
|
29986
30174
|
});
|
|
29987
|
-
var eventListingDisplaySchema =
|
|
29988
|
-
kind:
|
|
29989
|
-
state:
|
|
30175
|
+
var eventListingDisplaySchema = z52.object({
|
|
30176
|
+
kind: z52.literal("event-listing"),
|
|
30177
|
+
state: z52.enum(["loading", "empty", "ready"]),
|
|
29990
30178
|
listLayout: eventLayoutSchema,
|
|
29991
|
-
className:
|
|
29992
|
-
emptyMessage:
|
|
29993
|
-
loadingMessage:
|
|
29994
|
-
containerClass:
|
|
30179
|
+
className: z52.string().nullable(),
|
|
30180
|
+
emptyMessage: z52.string(),
|
|
30181
|
+
loadingMessage: z52.string(),
|
|
30182
|
+
containerClass: z52.string(),
|
|
29995
30183
|
cardVariant: cardVariantRoleSchema,
|
|
29996
30184
|
buttonVariant: eventButtonVariantSchema,
|
|
29997
|
-
buttonText:
|
|
29998
|
-
showVenue:
|
|
29999
|
-
showMap:
|
|
30000
|
-
showCapacity:
|
|
30185
|
+
buttonText: z52.string(),
|
|
30186
|
+
showVenue: z52.boolean(),
|
|
30187
|
+
showMap: z52.boolean(),
|
|
30188
|
+
showCapacity: z52.boolean(),
|
|
30001
30189
|
orientation: cardOrientationSchema,
|
|
30002
|
-
events:
|
|
30190
|
+
events: z52.array(publicEventSchema)
|
|
30003
30191
|
});
|
|
30004
|
-
var eventListingHydrationSchema =
|
|
30005
|
-
siteId:
|
|
30192
|
+
var eventListingHydrationSchema = z52.object({
|
|
30193
|
+
siteId: z52.string(),
|
|
30006
30194
|
stage: previewStageSchema.optional(),
|
|
30007
30195
|
eventsPerPage: eventPageSizeSchema,
|
|
30008
30196
|
paginationAction: eventListPaginationActionSchema,
|
|
30009
|
-
showFilters:
|
|
30197
|
+
showFilters: z52.boolean(),
|
|
30010
30198
|
showCategoryFilter: filterAutoShowSchema,
|
|
30011
|
-
showVenueFilter:
|
|
30012
|
-
showStaffFilter:
|
|
30199
|
+
showVenueFilter: z52.boolean(),
|
|
30200
|
+
showStaffFilter: z52.boolean(),
|
|
30013
30201
|
eventKind: eventBlockKindSchema,
|
|
30014
30202
|
eventSurface: eventSurfaceScopeSchema,
|
|
30015
|
-
filterEventPresets:
|
|
30203
|
+
filterEventPresets: z52.string().nullable(),
|
|
30016
30204
|
scheduleScope: eventScheduleScopeSchema2,
|
|
30017
|
-
filterCategoryIds:
|
|
30018
|
-
filterStaffMemberId:
|
|
30019
|
-
filterVenueId:
|
|
30020
|
-
fetchInitialEventsOnMount:
|
|
30205
|
+
filterCategoryIds: z52.string().nullable().optional(),
|
|
30206
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30207
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
30208
|
+
fetchInitialEventsOnMount: z52.boolean()
|
|
30021
30209
|
});
|
|
30022
|
-
var eventListingRenderSchema =
|
|
30210
|
+
var eventListingRenderSchema = z52.object({
|
|
30023
30211
|
display: eventListingDisplaySchema,
|
|
30024
30212
|
hydration: eventListingHydrationSchema
|
|
30025
30213
|
});
|
|
30026
30214
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
30027
|
-
|
|
30028
|
-
siteId:
|
|
30029
|
-
apiBaseUrl:
|
|
30215
|
+
z52.object({
|
|
30216
|
+
siteId: z52.string(),
|
|
30217
|
+
apiBaseUrl: z52.string().optional(),
|
|
30030
30218
|
stage: previewStageSchema.optional()
|
|
30031
30219
|
})
|
|
30032
30220
|
);
|
|
@@ -30393,15 +30581,15 @@ var eventListingBlockDefinition = {
|
|
|
30393
30581
|
};
|
|
30394
30582
|
|
|
30395
30583
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30396
|
-
import { z as
|
|
30397
|
-
var eventBlockKindSchema2 =
|
|
30398
|
-
var eventSurfaceScopeSchema2 =
|
|
30399
|
-
var eventScheduleScopeSchema3 =
|
|
30400
|
-
var eventCalendarSourceSchema =
|
|
30584
|
+
import { z as z53 } from "zod";
|
|
30585
|
+
var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
|
|
30586
|
+
var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
|
|
30587
|
+
var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
|
|
30588
|
+
var eventCalendarSourceSchema = z53.object(
|
|
30401
30589
|
{
|
|
30402
|
-
events:
|
|
30403
|
-
siteId:
|
|
30404
|
-
apiBaseUrl:
|
|
30590
|
+
events: z53.array(publicEventSchema).nullable().optional(),
|
|
30591
|
+
siteId: z53.string(),
|
|
30592
|
+
apiBaseUrl: z53.string().optional(),
|
|
30405
30593
|
stage: previewStageSchema.optional(),
|
|
30406
30594
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
30407
30595
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -30409,78 +30597,78 @@ var eventCalendarSourceSchema = z52.object(
|
|
|
30409
30597
|
listColumns: columnOptionSchema.optional(),
|
|
30410
30598
|
layout: eventLayoutSchema.optional(),
|
|
30411
30599
|
columns: columnOptionSchema.optional(),
|
|
30412
|
-
eventsPerPage:
|
|
30413
|
-
paginationMode:
|
|
30414
|
-
seeAllUrl:
|
|
30415
|
-
loadMoreText:
|
|
30600
|
+
eventsPerPage: z53.string().optional(),
|
|
30601
|
+
paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30602
|
+
seeAllUrl: z53.string().optional(),
|
|
30603
|
+
loadMoreText: z53.string().optional(),
|
|
30416
30604
|
startOfWeek: weekStartSchema.optional(),
|
|
30417
30605
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
30418
|
-
showFilters:
|
|
30606
|
+
showFilters: z53.boolean().nullable().optional(),
|
|
30419
30607
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30420
|
-
showVenueFilter:
|
|
30421
|
-
showStaffFilter:
|
|
30608
|
+
showVenueFilter: z53.boolean().nullable().optional(),
|
|
30609
|
+
showStaffFilter: z53.boolean().nullable().optional(),
|
|
30422
30610
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
30423
30611
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
30424
|
-
filterEventPresets:
|
|
30612
|
+
filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
|
|
30425
30613
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
30426
|
-
filterCategoryIds:
|
|
30427
|
-
filterStaffMemberId:
|
|
30428
|
-
filterVenueId:
|
|
30614
|
+
filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
|
|
30615
|
+
filterStaffMemberId: z53.string().nullable().optional(),
|
|
30616
|
+
filterVenueId: z53.string().nullable().optional(),
|
|
30429
30617
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30430
|
-
buttonText:
|
|
30431
|
-
showVenue:
|
|
30432
|
-
showMap:
|
|
30433
|
-
showCapacity:
|
|
30434
|
-
emptyMessage:
|
|
30435
|
-
className:
|
|
30618
|
+
buttonText: z53.string().optional(),
|
|
30619
|
+
showVenue: z53.boolean().nullable().optional(),
|
|
30620
|
+
showMap: z53.boolean().nullable().optional(),
|
|
30621
|
+
showCapacity: z53.boolean().nullable().optional(),
|
|
30622
|
+
emptyMessage: z53.string().optional(),
|
|
30623
|
+
className: z53.string().optional()
|
|
30436
30624
|
}
|
|
30437
30625
|
);
|
|
30438
|
-
var eventCalendarDisplaySchema =
|
|
30439
|
-
kind:
|
|
30626
|
+
var eventCalendarDisplaySchema = z53.object({
|
|
30627
|
+
kind: z53.literal("event-calendar"),
|
|
30440
30628
|
displayMode: eventCalendarDisplayModeSchema,
|
|
30441
|
-
className:
|
|
30442
|
-
events:
|
|
30629
|
+
className: z53.string().nullable(),
|
|
30630
|
+
events: z53.array(publicEventSchema),
|
|
30443
30631
|
listLayout: eventLayoutSchema,
|
|
30444
30632
|
listColumns: columnOptionSchema,
|
|
30445
30633
|
eventsPerPage: eventPageSizeSchema,
|
|
30446
30634
|
paginationAction: eventListPaginationActionSchema,
|
|
30447
30635
|
startOfWeek: weekStartSchema,
|
|
30448
30636
|
calendarTabViews: calendarTabViewsSchema,
|
|
30449
|
-
showFilters:
|
|
30637
|
+
showFilters: z53.boolean(),
|
|
30450
30638
|
showCategoryFilter: filterAutoShowSchema,
|
|
30451
|
-
showVenueFilter:
|
|
30452
|
-
showStaffFilter:
|
|
30639
|
+
showVenueFilter: z53.boolean(),
|
|
30640
|
+
showStaffFilter: z53.boolean(),
|
|
30453
30641
|
eventKind: eventBlockKindSchema2,
|
|
30454
30642
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30455
|
-
filterEventPresets:
|
|
30643
|
+
filterEventPresets: z53.string().nullable(),
|
|
30456
30644
|
scheduleScope: eventScheduleScopeSchema3,
|
|
30457
|
-
filterCategoryIds:
|
|
30458
|
-
filterStaffMemberId:
|
|
30459
|
-
filterVenueId:
|
|
30645
|
+
filterCategoryIds: z53.string().nullable(),
|
|
30646
|
+
filterStaffMemberId: z53.string().nullable(),
|
|
30647
|
+
filterVenueId: z53.string().nullable(),
|
|
30460
30648
|
buttonVariant: eventButtonVariantSchema,
|
|
30461
|
-
buttonText:
|
|
30462
|
-
showVenue:
|
|
30463
|
-
showMap:
|
|
30464
|
-
showCapacity:
|
|
30465
|
-
emptyMessage:
|
|
30466
|
-
});
|
|
30467
|
-
var eventCalendarHydrationSchema =
|
|
30468
|
-
siteId:
|
|
30649
|
+
buttonText: z53.string(),
|
|
30650
|
+
showVenue: z53.boolean(),
|
|
30651
|
+
showMap: z53.boolean(),
|
|
30652
|
+
showCapacity: z53.boolean(),
|
|
30653
|
+
emptyMessage: z53.string()
|
|
30654
|
+
});
|
|
30655
|
+
var eventCalendarHydrationSchema = z53.object({
|
|
30656
|
+
siteId: z53.string(),
|
|
30469
30657
|
stage: previewStageSchema.optional(),
|
|
30470
|
-
prefetchedEvents:
|
|
30658
|
+
prefetchedEvents: z53.boolean(),
|
|
30471
30659
|
eventKind: eventBlockKindSchema2,
|
|
30472
30660
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30473
|
-
filterEventPresets:
|
|
30661
|
+
filterEventPresets: z53.string().nullable(),
|
|
30474
30662
|
scheduleScope: eventScheduleScopeSchema3
|
|
30475
30663
|
});
|
|
30476
|
-
var eventCalendarRenderSchema =
|
|
30664
|
+
var eventCalendarRenderSchema = z53.object({
|
|
30477
30665
|
display: eventCalendarDisplaySchema,
|
|
30478
30666
|
hydration: eventCalendarHydrationSchema
|
|
30479
30667
|
});
|
|
30480
30668
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
30481
|
-
|
|
30482
|
-
siteId:
|
|
30483
|
-
apiBaseUrl:
|
|
30669
|
+
z53.object({
|
|
30670
|
+
siteId: z53.string(),
|
|
30671
|
+
apiBaseUrl: z53.string().optional(),
|
|
30484
30672
|
stage: previewStageSchema.optional()
|
|
30485
30673
|
})
|
|
30486
30674
|
);
|
|
@@ -31189,7 +31377,7 @@ var eventCalendarBlockDefinition = {
|
|
|
31189
31377
|
};
|
|
31190
31378
|
|
|
31191
31379
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31192
|
-
import { z as
|
|
31380
|
+
import { z as z54 } from "zod";
|
|
31193
31381
|
|
|
31194
31382
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
31195
31383
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -31281,13 +31469,13 @@ function isRecord5(value) {
|
|
|
31281
31469
|
}
|
|
31282
31470
|
|
|
31283
31471
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31284
|
-
var publicRouteCandidatesSchema =
|
|
31285
|
-
routes:
|
|
31286
|
-
entityId:
|
|
31287
|
-
path:
|
|
31288
|
-
title:
|
|
31289
|
-
kind:
|
|
31290
|
-
contentTypeKey:
|
|
31472
|
+
var publicRouteCandidatesSchema = z54.object({
|
|
31473
|
+
routes: z54.array(z54.object({
|
|
31474
|
+
entityId: z54.string(),
|
|
31475
|
+
path: z54.string(),
|
|
31476
|
+
title: z54.string(),
|
|
31477
|
+
kind: z54.enum(["page", "content"]),
|
|
31478
|
+
contentTypeKey: z54.string().nullable().optional()
|
|
31291
31479
|
}))
|
|
31292
31480
|
});
|
|
31293
31481
|
var groupOverrideFields = [
|
|
@@ -31685,7 +31873,7 @@ function isRecord6(value) {
|
|
|
31685
31873
|
}
|
|
31686
31874
|
|
|
31687
31875
|
// ../blocks/src/system/blocks/embed.ts
|
|
31688
|
-
import { z as
|
|
31876
|
+
import { z as z55 } from "zod";
|
|
31689
31877
|
var embedFields = [
|
|
31690
31878
|
// Section heading
|
|
31691
31879
|
parseFieldDefinition({
|
|
@@ -31916,18 +32104,18 @@ var embedManifest = createBlockManifest({
|
|
|
31916
32104
|
spacing: "lg"
|
|
31917
32105
|
}
|
|
31918
32106
|
});
|
|
31919
|
-
var embedEntrySchema =
|
|
31920
|
-
id:
|
|
31921
|
-
identifier:
|
|
31922
|
-
title:
|
|
31923
|
-
slug:
|
|
31924
|
-
content:
|
|
31925
|
-
publishedAt:
|
|
32107
|
+
var embedEntrySchema = z55.object({
|
|
32108
|
+
id: z55.string(),
|
|
32109
|
+
identifier: z55.string(),
|
|
32110
|
+
title: z55.string(),
|
|
32111
|
+
slug: z55.string().nullable().optional(),
|
|
32112
|
+
content: z55.record(z55.string(), z55.unknown()).optional(),
|
|
32113
|
+
publishedAt: z55.string().nullable().optional()
|
|
31926
32114
|
});
|
|
31927
32115
|
var embedBlockDefinition = {
|
|
31928
32116
|
manifest: embedManifest,
|
|
31929
32117
|
dataSchemas: {
|
|
31930
|
-
entries:
|
|
32118
|
+
entries: z55.array(embedEntrySchema).optional()
|
|
31931
32119
|
},
|
|
31932
32120
|
dataLoaders: {
|
|
31933
32121
|
entries: {
|
|
@@ -33111,52 +33299,52 @@ var fileDownloadBlockDefinition = {
|
|
|
33111
33299
|
};
|
|
33112
33300
|
|
|
33113
33301
|
// ../blocks/src/system/blocks/shop.ts
|
|
33114
|
-
import { z as
|
|
33302
|
+
import { z as z59 } from "zod";
|
|
33115
33303
|
|
|
33116
33304
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33117
|
-
import { z as
|
|
33305
|
+
import { z as z58 } from "zod";
|
|
33118
33306
|
|
|
33119
33307
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
33120
|
-
import { z as
|
|
33121
|
-
var publicProductVariantSchema =
|
|
33122
|
-
id:
|
|
33123
|
-
title:
|
|
33124
|
-
sku:
|
|
33125
|
-
priceCents:
|
|
33126
|
-
stockQuantity:
|
|
33127
|
-
soldOut:
|
|
33128
|
-
});
|
|
33129
|
-
var publicProductSchema =
|
|
33130
|
-
id:
|
|
33131
|
-
contentEntryId:
|
|
33132
|
-
title:
|
|
33133
|
-
slug:
|
|
33134
|
-
path:
|
|
33135
|
-
status:
|
|
33136
|
-
priceCents:
|
|
33137
|
-
currency:
|
|
33138
|
-
productType:
|
|
33139
|
-
requiresShipping:
|
|
33140
|
-
hasVariants:
|
|
33141
|
-
trackInventory:
|
|
33142
|
-
soldOut:
|
|
33143
|
-
category:
|
|
33144
|
-
id:
|
|
33145
|
-
name:
|
|
33146
|
-
slug:
|
|
33308
|
+
import { z as z56 } from "zod";
|
|
33309
|
+
var publicProductVariantSchema = z56.object({
|
|
33310
|
+
id: z56.string(),
|
|
33311
|
+
title: z56.string(),
|
|
33312
|
+
sku: z56.string().nullable(),
|
|
33313
|
+
priceCents: z56.number(),
|
|
33314
|
+
stockQuantity: z56.number().nullable(),
|
|
33315
|
+
soldOut: z56.boolean()
|
|
33316
|
+
});
|
|
33317
|
+
var publicProductSchema = z56.object({
|
|
33318
|
+
id: z56.string(),
|
|
33319
|
+
contentEntryId: z56.string().nullable(),
|
|
33320
|
+
title: z56.string(),
|
|
33321
|
+
slug: z56.string(),
|
|
33322
|
+
path: z56.string().nullable(),
|
|
33323
|
+
status: z56.enum(["draft", "active"]),
|
|
33324
|
+
priceCents: z56.number(),
|
|
33325
|
+
currency: z56.string(),
|
|
33326
|
+
productType: z56.enum(["physical", "digital"]),
|
|
33327
|
+
requiresShipping: z56.boolean(),
|
|
33328
|
+
hasVariants: z56.boolean(),
|
|
33329
|
+
trackInventory: z56.boolean(),
|
|
33330
|
+
soldOut: z56.boolean(),
|
|
33331
|
+
category: z56.object({
|
|
33332
|
+
id: z56.string(),
|
|
33333
|
+
name: z56.string(),
|
|
33334
|
+
slug: z56.string()
|
|
33147
33335
|
}).nullable(),
|
|
33148
|
-
summary:
|
|
33149
|
-
body:
|
|
33150
|
-
gallery:
|
|
33151
|
-
|
|
33152
|
-
url:
|
|
33153
|
-
alt:
|
|
33336
|
+
summary: z56.string().nullable(),
|
|
33337
|
+
body: z56.unknown().nullable(),
|
|
33338
|
+
gallery: z56.array(
|
|
33339
|
+
z56.object({
|
|
33340
|
+
url: z56.string(),
|
|
33341
|
+
alt: z56.string().nullable()
|
|
33154
33342
|
})
|
|
33155
33343
|
),
|
|
33156
|
-
variants:
|
|
33344
|
+
variants: z56.array(publicProductVariantSchema)
|
|
33157
33345
|
});
|
|
33158
|
-
var publicProductsResponseSchema =
|
|
33159
|
-
products:
|
|
33346
|
+
var publicProductsResponseSchema = z56.object({
|
|
33347
|
+
products: z56.array(publicProductSchema)
|
|
33160
33348
|
});
|
|
33161
33349
|
|
|
33162
33350
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -33220,27 +33408,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
33220
33408
|
}
|
|
33221
33409
|
|
|
33222
33410
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
33223
|
-
import { z as
|
|
33224
|
-
var storedProductCartItemSchema =
|
|
33225
|
-
kind:
|
|
33226
|
-
productId:
|
|
33227
|
-
productCategoryId:
|
|
33228
|
-
variantId:
|
|
33229
|
-
title:
|
|
33230
|
-
variantTitle:
|
|
33231
|
-
quantity:
|
|
33232
|
-
unitPriceCents:
|
|
33233
|
-
currency:
|
|
33234
|
-
imageUrl:
|
|
33235
|
-
soldOut:
|
|
33236
|
-
});
|
|
33237
|
-
var storedPassCartItemSchema =
|
|
33238
|
-
kind:
|
|
33239
|
-
passId:
|
|
33240
|
-
title:
|
|
33241
|
-
quantity:
|
|
33242
|
-
unitPriceCents:
|
|
33243
|
-
currency:
|
|
33411
|
+
import { z as z57 } from "zod";
|
|
33412
|
+
var storedProductCartItemSchema = z57.object({
|
|
33413
|
+
kind: z57.literal("product"),
|
|
33414
|
+
productId: z57.string().min(1),
|
|
33415
|
+
productCategoryId: z57.string().min(1).optional().nullable(),
|
|
33416
|
+
variantId: z57.string().min(1).optional().nullable(),
|
|
33417
|
+
title: z57.string().min(1),
|
|
33418
|
+
variantTitle: z57.string().optional().nullable(),
|
|
33419
|
+
quantity: z57.number().finite(),
|
|
33420
|
+
unitPriceCents: z57.number().finite(),
|
|
33421
|
+
currency: z57.string().min(1),
|
|
33422
|
+
imageUrl: z57.string().optional().nullable(),
|
|
33423
|
+
soldOut: z57.boolean().optional()
|
|
33424
|
+
});
|
|
33425
|
+
var storedPassCartItemSchema = z57.object({
|
|
33426
|
+
kind: z57.literal("pass"),
|
|
33427
|
+
passId: z57.string().min(1),
|
|
33428
|
+
title: z57.string().min(1),
|
|
33429
|
+
quantity: z57.number().finite().optional(),
|
|
33430
|
+
unitPriceCents: z57.number().finite(),
|
|
33431
|
+
currency: z57.string().min(1)
|
|
33244
33432
|
});
|
|
33245
33433
|
function deriveCommerceCheckoutState(state) {
|
|
33246
33434
|
if (state.items.length === 0) {
|
|
@@ -33279,10 +33467,7 @@ function resolveSelectedProduct(products, contentEntry, productSlug) {
|
|
|
33279
33467
|
|
|
33280
33468
|
// ../blocks/src/system/runtime/nodes/commerce/shared/display.ts
|
|
33281
33469
|
function formatCommercePrice(cents, currency) {
|
|
33282
|
-
return
|
|
33283
|
-
style: "currency",
|
|
33284
|
-
currency: currency.toUpperCase()
|
|
33285
|
-
}).format(cents / 100);
|
|
33470
|
+
return formatCurrencyAmount(cents, currency);
|
|
33286
33471
|
}
|
|
33287
33472
|
function getPassesHeading(passes, explicitHeading) {
|
|
33288
33473
|
if (explicitHeading) return explicitHeading;
|
|
@@ -33477,214 +33662,214 @@ function formatValidity(days) {
|
|
|
33477
33662
|
}
|
|
33478
33663
|
|
|
33479
33664
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33480
|
-
var shopModeSchema =
|
|
33481
|
-
var contentEntrySchema3 =
|
|
33482
|
-
id:
|
|
33483
|
-
slug:
|
|
33665
|
+
var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
33666
|
+
var contentEntrySchema3 = z58.object({
|
|
33667
|
+
id: z58.string().nullable().optional(),
|
|
33668
|
+
slug: z58.string().nullable().optional()
|
|
33484
33669
|
}).nullable();
|
|
33485
|
-
var shopSourceSchema =
|
|
33486
|
-
className:
|
|
33670
|
+
var shopSourceSchema = z58.object({
|
|
33671
|
+
className: z58.string().nullable().optional(),
|
|
33487
33672
|
mode: shopModeSchema.optional(),
|
|
33488
|
-
heading:
|
|
33489
|
-
productSlug:
|
|
33490
|
-
showPasses:
|
|
33491
|
-
showMemberships:
|
|
33492
|
-
layout:
|
|
33493
|
-
columns:
|
|
33494
|
-
showDescriptions:
|
|
33495
|
-
showSummary:
|
|
33496
|
-
showBody:
|
|
33497
|
-
showPrices:
|
|
33498
|
-
showValidityPeriod:
|
|
33499
|
-
showPricePerCredit:
|
|
33500
|
-
passesHeading:
|
|
33501
|
-
membershipsHeading:
|
|
33502
|
-
buyButtonText:
|
|
33503
|
-
addButtonText:
|
|
33504
|
-
passPurchaseMode:
|
|
33505
|
-
subscribeButtonText:
|
|
33506
|
-
emptyStateText:
|
|
33507
|
-
checkoutButtonText:
|
|
33508
|
-
clearButtonText:
|
|
33509
|
-
submitButtonText:
|
|
33673
|
+
heading: z58.string().nullable().optional(),
|
|
33674
|
+
productSlug: z58.string().nullable().optional(),
|
|
33675
|
+
showPasses: z58.boolean().optional(),
|
|
33676
|
+
showMemberships: z58.boolean().optional(),
|
|
33677
|
+
layout: z58.enum(["grid", "list"]).optional(),
|
|
33678
|
+
columns: z58.string().optional(),
|
|
33679
|
+
showDescriptions: z58.boolean().optional(),
|
|
33680
|
+
showSummary: z58.boolean().optional(),
|
|
33681
|
+
showBody: z58.boolean().optional(),
|
|
33682
|
+
showPrices: z58.boolean().optional(),
|
|
33683
|
+
showValidityPeriod: z58.boolean().optional(),
|
|
33684
|
+
showPricePerCredit: z58.boolean().nullable().optional(),
|
|
33685
|
+
passesHeading: z58.string().optional(),
|
|
33686
|
+
membershipsHeading: z58.string().optional(),
|
|
33687
|
+
buyButtonText: z58.string().optional(),
|
|
33688
|
+
addButtonText: z58.string().optional(),
|
|
33689
|
+
passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
|
|
33690
|
+
subscribeButtonText: z58.string().optional(),
|
|
33691
|
+
emptyStateText: z58.string().optional(),
|
|
33692
|
+
checkoutButtonText: z58.string().optional(),
|
|
33693
|
+
clearButtonText: z58.string().optional(),
|
|
33694
|
+
submitButtonText: z58.string().optional(),
|
|
33510
33695
|
contentEntry: contentEntrySchema3.optional(),
|
|
33511
|
-
passes:
|
|
33512
|
-
memberships:
|
|
33513
|
-
products:
|
|
33514
|
-
siteId:
|
|
33515
|
-
apiBaseUrl:
|
|
33696
|
+
passes: z58.array(publicPassProductSchema).nullable().optional(),
|
|
33697
|
+
memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
|
|
33698
|
+
products: z58.array(publicProductSchema).nullable().optional(),
|
|
33699
|
+
siteId: z58.string().optional(),
|
|
33700
|
+
apiBaseUrl: z58.string().optional(),
|
|
33516
33701
|
stage: previewStageSchema.optional()
|
|
33517
33702
|
});
|
|
33518
|
-
var productVariantOptionDisplaySchema =
|
|
33519
|
-
id:
|
|
33520
|
-
label:
|
|
33521
|
-
soldOut:
|
|
33522
|
-
});
|
|
33523
|
-
var productCardDisplaySchema =
|
|
33524
|
-
productId:
|
|
33525
|
-
title:
|
|
33526
|
-
path:
|
|
33527
|
-
summary:
|
|
33528
|
-
priceLabel:
|
|
33529
|
-
image:
|
|
33530
|
-
url:
|
|
33531
|
-
alt:
|
|
33703
|
+
var productVariantOptionDisplaySchema = z58.object({
|
|
33704
|
+
id: z58.string(),
|
|
33705
|
+
label: z58.string(),
|
|
33706
|
+
soldOut: z58.boolean()
|
|
33707
|
+
});
|
|
33708
|
+
var productCardDisplaySchema = z58.object({
|
|
33709
|
+
productId: z58.string(),
|
|
33710
|
+
title: z58.string(),
|
|
33711
|
+
path: z58.string().nullable(),
|
|
33712
|
+
summary: z58.string().nullable(),
|
|
33713
|
+
priceLabel: z58.string().nullable(),
|
|
33714
|
+
image: z58.object({
|
|
33715
|
+
url: z58.string(),
|
|
33716
|
+
alt: z58.string().nullable()
|
|
33532
33717
|
}).nullable(),
|
|
33533
|
-
variantOptions:
|
|
33534
|
-
selectedVariantId:
|
|
33535
|
-
selectionLabel:
|
|
33536
|
-
actionLabel:
|
|
33537
|
-
soldOut:
|
|
33538
|
-
});
|
|
33539
|
-
var productListDisplaySchema =
|
|
33540
|
-
kind:
|
|
33541
|
-
state:
|
|
33542
|
-
heading:
|
|
33543
|
-
className:
|
|
33544
|
-
layout:
|
|
33545
|
-
columns:
|
|
33546
|
-
emptyMessage:
|
|
33547
|
-
cards:
|
|
33548
|
-
});
|
|
33549
|
-
var productDetailDisplaySchema =
|
|
33550
|
-
|
|
33551
|
-
kind:
|
|
33552
|
-
state:
|
|
33553
|
-
heading:
|
|
33554
|
-
className:
|
|
33555
|
-
emptyMessage:
|
|
33718
|
+
variantOptions: z58.array(productVariantOptionDisplaySchema),
|
|
33719
|
+
selectedVariantId: z58.string().nullable(),
|
|
33720
|
+
selectionLabel: z58.string(),
|
|
33721
|
+
actionLabel: z58.string(),
|
|
33722
|
+
soldOut: z58.boolean()
|
|
33723
|
+
});
|
|
33724
|
+
var productListDisplaySchema = z58.object({
|
|
33725
|
+
kind: z58.literal("product-list"),
|
|
33726
|
+
state: z58.enum(["empty", "ready"]),
|
|
33727
|
+
heading: z58.string().nullable(),
|
|
33728
|
+
className: z58.string().nullable(),
|
|
33729
|
+
layout: z58.enum(["grid", "list"]),
|
|
33730
|
+
columns: z58.string(),
|
|
33731
|
+
emptyMessage: z58.string(),
|
|
33732
|
+
cards: z58.array(productCardDisplaySchema)
|
|
33733
|
+
});
|
|
33734
|
+
var productDetailDisplaySchema = z58.discriminatedUnion("state", [
|
|
33735
|
+
z58.object({
|
|
33736
|
+
kind: z58.literal("product-detail"),
|
|
33737
|
+
state: z58.literal("empty"),
|
|
33738
|
+
heading: z58.string().nullable(),
|
|
33739
|
+
className: z58.string().nullable(),
|
|
33740
|
+
emptyMessage: z58.string()
|
|
33556
33741
|
}),
|
|
33557
|
-
|
|
33558
|
-
kind:
|
|
33559
|
-
state:
|
|
33560
|
-
heading:
|
|
33561
|
-
className:
|
|
33562
|
-
title:
|
|
33563
|
-
priceLabel:
|
|
33564
|
-
summary:
|
|
33565
|
-
categoryLabel:
|
|
33566
|
-
gallery:
|
|
33567
|
-
url:
|
|
33568
|
-
alt:
|
|
33742
|
+
z58.object({
|
|
33743
|
+
kind: z58.literal("product-detail"),
|
|
33744
|
+
state: z58.literal("ready"),
|
|
33745
|
+
heading: z58.string().nullable(),
|
|
33746
|
+
className: z58.string().nullable(),
|
|
33747
|
+
title: z58.string(),
|
|
33748
|
+
priceLabel: z58.string(),
|
|
33749
|
+
summary: z58.string().nullable(),
|
|
33750
|
+
categoryLabel: z58.string().nullable(),
|
|
33751
|
+
gallery: z58.array(z58.object({
|
|
33752
|
+
url: z58.string(),
|
|
33753
|
+
alt: z58.string().nullable()
|
|
33569
33754
|
})),
|
|
33570
|
-
variantOptions:
|
|
33571
|
-
selectedVariantId:
|
|
33572
|
-
selectionLabel:
|
|
33573
|
-
actionLabel:
|
|
33574
|
-
soldOut:
|
|
33575
|
-
body:
|
|
33755
|
+
variantOptions: z58.array(productVariantOptionDisplaySchema),
|
|
33756
|
+
selectedVariantId: z58.string().nullable(),
|
|
33757
|
+
selectionLabel: z58.string(),
|
|
33758
|
+
actionLabel: z58.string(),
|
|
33759
|
+
soldOut: z58.boolean(),
|
|
33760
|
+
body: z58.unknown().nullable()
|
|
33576
33761
|
})
|
|
33577
33762
|
]);
|
|
33578
|
-
var passCardDisplaySchema =
|
|
33579
|
-
id:
|
|
33580
|
-
title:
|
|
33581
|
-
description:
|
|
33582
|
-
priceLabel:
|
|
33583
|
-
creditsLabel:
|
|
33584
|
-
perCreditLabel:
|
|
33585
|
-
validityLabel:
|
|
33586
|
-
actionLabel:
|
|
33587
|
-
});
|
|
33588
|
-
var membershipCardDisplaySchema =
|
|
33589
|
-
id:
|
|
33590
|
-
title:
|
|
33591
|
-
description:
|
|
33592
|
-
priceLabel:
|
|
33593
|
-
intervalLabel:
|
|
33594
|
-
actionLabel:
|
|
33595
|
-
});
|
|
33596
|
-
var passesMembershipsDisplaySchema =
|
|
33597
|
-
kind:
|
|
33598
|
-
state:
|
|
33599
|
-
className:
|
|
33600
|
-
layout:
|
|
33601
|
-
columns:
|
|
33602
|
-
emptyMessage:
|
|
33603
|
-
passesHeading:
|
|
33604
|
-
membershipsHeading:
|
|
33605
|
-
passes:
|
|
33606
|
-
memberships:
|
|
33607
|
-
});
|
|
33608
|
-
var cartLineDisplaySchema =
|
|
33609
|
-
key:
|
|
33610
|
-
title:
|
|
33611
|
-
priceLabel:
|
|
33612
|
-
quantity:
|
|
33613
|
-
quantityEditable:
|
|
33614
|
-
});
|
|
33615
|
-
var cartDisplaySchema =
|
|
33616
|
-
kind:
|
|
33617
|
-
state:
|
|
33618
|
-
heading:
|
|
33619
|
-
className:
|
|
33620
|
-
emptyMessage:
|
|
33621
|
-
supportText:
|
|
33622
|
-
items:
|
|
33623
|
-
subtotalLabel:
|
|
33624
|
-
checkoutButtonText:
|
|
33625
|
-
clearButtonText:
|
|
33626
|
-
});
|
|
33627
|
-
var checkoutDisplaySchema =
|
|
33628
|
-
kind:
|
|
33629
|
-
state:
|
|
33630
|
-
heading:
|
|
33631
|
-
className:
|
|
33632
|
-
message:
|
|
33633
|
-
submitButtonText:
|
|
33634
|
-
});
|
|
33635
|
-
var passesMembershipsHydrationSchema =
|
|
33636
|
-
passes:
|
|
33637
|
-
memberships:
|
|
33638
|
-
passPurchaseMode:
|
|
33639
|
-
});
|
|
33640
|
-
var productListHydrationSchema =
|
|
33641
|
-
products:
|
|
33642
|
-
showSummary:
|
|
33643
|
-
showPrices:
|
|
33644
|
-
addButtonText:
|
|
33645
|
-
});
|
|
33646
|
-
var productDetailHydrationSchema =
|
|
33647
|
-
products:
|
|
33648
|
-
productId:
|
|
33649
|
-
showSummary:
|
|
33650
|
-
showBody:
|
|
33651
|
-
addButtonText:
|
|
33652
|
-
});
|
|
33653
|
-
var cartHydrationSchema =
|
|
33654
|
-
emptyStateText:
|
|
33655
|
-
checkoutButtonText:
|
|
33656
|
-
clearButtonText:
|
|
33657
|
-
});
|
|
33658
|
-
var checkoutHydrationSchema =
|
|
33659
|
-
emptyStateText:
|
|
33660
|
-
submitButtonText:
|
|
33661
|
-
});
|
|
33662
|
-
var passesMembershipsRenderSchema =
|
|
33763
|
+
var passCardDisplaySchema = z58.object({
|
|
33764
|
+
id: z58.string(),
|
|
33765
|
+
title: z58.string(),
|
|
33766
|
+
description: z58.string().nullable(),
|
|
33767
|
+
priceLabel: z58.string(),
|
|
33768
|
+
creditsLabel: z58.string(),
|
|
33769
|
+
perCreditLabel: z58.string().nullable(),
|
|
33770
|
+
validityLabel: z58.string().nullable(),
|
|
33771
|
+
actionLabel: z58.string()
|
|
33772
|
+
});
|
|
33773
|
+
var membershipCardDisplaySchema = z58.object({
|
|
33774
|
+
id: z58.string(),
|
|
33775
|
+
title: z58.string(),
|
|
33776
|
+
description: z58.string().nullable(),
|
|
33777
|
+
priceLabel: z58.string(),
|
|
33778
|
+
intervalLabel: z58.string(),
|
|
33779
|
+
actionLabel: z58.string()
|
|
33780
|
+
});
|
|
33781
|
+
var passesMembershipsDisplaySchema = z58.object({
|
|
33782
|
+
kind: z58.literal("passes-memberships"),
|
|
33783
|
+
state: z58.enum(["empty", "ready"]),
|
|
33784
|
+
className: z58.string().nullable(),
|
|
33785
|
+
layout: z58.enum(["grid", "list"]),
|
|
33786
|
+
columns: z58.string(),
|
|
33787
|
+
emptyMessage: z58.string(),
|
|
33788
|
+
passesHeading: z58.string(),
|
|
33789
|
+
membershipsHeading: z58.string(),
|
|
33790
|
+
passes: z58.array(passCardDisplaySchema),
|
|
33791
|
+
memberships: z58.array(membershipCardDisplaySchema)
|
|
33792
|
+
});
|
|
33793
|
+
var cartLineDisplaySchema = z58.object({
|
|
33794
|
+
key: z58.string(),
|
|
33795
|
+
title: z58.string(),
|
|
33796
|
+
priceLabel: z58.string(),
|
|
33797
|
+
quantity: z58.number(),
|
|
33798
|
+
quantityEditable: z58.boolean()
|
|
33799
|
+
});
|
|
33800
|
+
var cartDisplaySchema = z58.object({
|
|
33801
|
+
kind: z58.literal("cart"),
|
|
33802
|
+
state: z58.enum(["empty", "ready"]),
|
|
33803
|
+
heading: z58.string().nullable(),
|
|
33804
|
+
className: z58.string().nullable(),
|
|
33805
|
+
emptyMessage: z58.string(),
|
|
33806
|
+
supportText: z58.string().nullable(),
|
|
33807
|
+
items: z58.array(cartLineDisplaySchema),
|
|
33808
|
+
subtotalLabel: z58.string().nullable(),
|
|
33809
|
+
checkoutButtonText: z58.string(),
|
|
33810
|
+
clearButtonText: z58.string()
|
|
33811
|
+
});
|
|
33812
|
+
var checkoutDisplaySchema = z58.object({
|
|
33813
|
+
kind: z58.literal("checkout"),
|
|
33814
|
+
state: z58.enum(["empty", "blocked", "ready"]),
|
|
33815
|
+
heading: z58.string().nullable(),
|
|
33816
|
+
className: z58.string().nullable(),
|
|
33817
|
+
message: z58.string().nullable(),
|
|
33818
|
+
submitButtonText: z58.string()
|
|
33819
|
+
});
|
|
33820
|
+
var passesMembershipsHydrationSchema = z58.object({
|
|
33821
|
+
passes: z58.array(publicPassProductSchema),
|
|
33822
|
+
memberships: z58.array(publicMembershipProductSchema),
|
|
33823
|
+
passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
|
|
33824
|
+
});
|
|
33825
|
+
var productListHydrationSchema = z58.object({
|
|
33826
|
+
products: z58.array(publicProductSchema),
|
|
33827
|
+
showSummary: z58.boolean(),
|
|
33828
|
+
showPrices: z58.boolean(),
|
|
33829
|
+
addButtonText: z58.string()
|
|
33830
|
+
});
|
|
33831
|
+
var productDetailHydrationSchema = z58.object({
|
|
33832
|
+
products: z58.array(publicProductSchema),
|
|
33833
|
+
productId: z58.string().nullable(),
|
|
33834
|
+
showSummary: z58.boolean(),
|
|
33835
|
+
showBody: z58.boolean(),
|
|
33836
|
+
addButtonText: z58.string()
|
|
33837
|
+
});
|
|
33838
|
+
var cartHydrationSchema = z58.object({
|
|
33839
|
+
emptyStateText: z58.string(),
|
|
33840
|
+
checkoutButtonText: z58.string(),
|
|
33841
|
+
clearButtonText: z58.string()
|
|
33842
|
+
});
|
|
33843
|
+
var checkoutHydrationSchema = z58.object({
|
|
33844
|
+
emptyStateText: z58.string(),
|
|
33845
|
+
submitButtonText: z58.string()
|
|
33846
|
+
});
|
|
33847
|
+
var passesMembershipsRenderSchema = z58.object({
|
|
33663
33848
|
display: passesMembershipsDisplaySchema,
|
|
33664
33849
|
hydration: passesMembershipsHydrationSchema
|
|
33665
33850
|
});
|
|
33666
|
-
var productListRenderSchema =
|
|
33851
|
+
var productListRenderSchema = z58.object({
|
|
33667
33852
|
display: productListDisplaySchema,
|
|
33668
33853
|
hydration: productListHydrationSchema
|
|
33669
33854
|
});
|
|
33670
|
-
var productDetailRenderSchema =
|
|
33855
|
+
var productDetailRenderSchema = z58.object({
|
|
33671
33856
|
display: productDetailDisplaySchema,
|
|
33672
33857
|
hydration: productDetailHydrationSchema
|
|
33673
33858
|
});
|
|
33674
|
-
var cartRenderSchema =
|
|
33859
|
+
var cartRenderSchema = z58.object({
|
|
33675
33860
|
display: cartDisplaySchema,
|
|
33676
33861
|
hydration: cartHydrationSchema
|
|
33677
33862
|
});
|
|
33678
|
-
var checkoutRenderSchema =
|
|
33863
|
+
var checkoutRenderSchema = z58.object({
|
|
33679
33864
|
display: checkoutDisplaySchema,
|
|
33680
33865
|
hydration: checkoutHydrationSchema
|
|
33681
33866
|
});
|
|
33682
33867
|
function resolveShowPricePerCredit(source) {
|
|
33683
33868
|
return source.showPricePerCredit ?? true;
|
|
33684
33869
|
}
|
|
33685
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
33686
|
-
siteId:
|
|
33687
|
-
apiBaseUrl:
|
|
33870
|
+
var shopIslandMetaCodec = createZodCodec(z58.object({
|
|
33871
|
+
siteId: z58.string().optional(),
|
|
33872
|
+
apiBaseUrl: z58.string().optional(),
|
|
33688
33873
|
stage: previewStageSchema.optional()
|
|
33689
33874
|
}));
|
|
33690
33875
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -34062,9 +34247,9 @@ var shopBlockDefinition = {
|
|
|
34062
34247
|
runtime: shopBlockRuntime,
|
|
34063
34248
|
dataSchemas: {
|
|
34064
34249
|
// listPublicPasses returns { passes: [...] }
|
|
34065
|
-
passes:
|
|
34250
|
+
passes: z59.object({ passes: z59.array(publicPassProductSchema) }).optional(),
|
|
34066
34251
|
// listPublicMemberships returns { memberships: [...] }
|
|
34067
|
-
memberships:
|
|
34252
|
+
memberships: z59.object({ memberships: z59.array(publicMembershipProductSchema) }).optional()
|
|
34068
34253
|
},
|
|
34069
34254
|
dataLoaders: {
|
|
34070
34255
|
// Load passes for display
|
|
@@ -34087,7 +34272,7 @@ var shopBlockDefinition = {
|
|
|
34087
34272
|
};
|
|
34088
34273
|
|
|
34089
34274
|
// ../blocks/src/system/blocks/product-list.ts
|
|
34090
|
-
import { z as
|
|
34275
|
+
import { z as z60 } from "zod";
|
|
34091
34276
|
var productListManifest = createBlockManifest({
|
|
34092
34277
|
id: "block.product-list",
|
|
34093
34278
|
version: "1.0.0",
|
|
@@ -34220,7 +34405,7 @@ var productListBlockDefinition = {
|
|
|
34220
34405
|
}
|
|
34221
34406
|
}
|
|
34222
34407
|
};
|
|
34223
|
-
var productListDataSchema =
|
|
34408
|
+
var productListDataSchema = z60.object({
|
|
34224
34409
|
products: publicProductsResponseSchema.optional()
|
|
34225
34410
|
});
|
|
34226
34411
|
|
|
@@ -34481,72 +34666,72 @@ var checkoutBlockDefinition = {
|
|
|
34481
34666
|
};
|
|
34482
34667
|
|
|
34483
34668
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
34484
|
-
import { z as
|
|
34485
|
-
var publicGiftCardOfferSchema =
|
|
34486
|
-
id:
|
|
34487
|
-
kind:
|
|
34488
|
-
title:
|
|
34489
|
-
description:
|
|
34490
|
-
sortOrder:
|
|
34491
|
-
giftCard:
|
|
34492
|
-
fixedDenominations:
|
|
34493
|
-
customAmountEnabled:
|
|
34494
|
-
customAmountMinCents:
|
|
34495
|
-
customAmountMaxCents:
|
|
34669
|
+
import { z as z61 } from "zod";
|
|
34670
|
+
var publicGiftCardOfferSchema = z61.object({
|
|
34671
|
+
id: z61.string(),
|
|
34672
|
+
kind: z61.literal("gift_card"),
|
|
34673
|
+
title: z61.string(),
|
|
34674
|
+
description: z61.string().nullable(),
|
|
34675
|
+
sortOrder: z61.number().int(),
|
|
34676
|
+
giftCard: z61.object({
|
|
34677
|
+
fixedDenominations: z61.array(z61.number().int().positive()),
|
|
34678
|
+
customAmountEnabled: z61.boolean(),
|
|
34679
|
+
customAmountMinCents: z61.number().int().positive(),
|
|
34680
|
+
customAmountMaxCents: z61.number().int().positive()
|
|
34496
34681
|
}),
|
|
34497
|
-
voucher:
|
|
34498
|
-
});
|
|
34499
|
-
var publicVoucherOfferSchema =
|
|
34500
|
-
id:
|
|
34501
|
-
kind:
|
|
34502
|
-
title:
|
|
34503
|
-
description:
|
|
34504
|
-
sortOrder:
|
|
34505
|
-
giftCard:
|
|
34506
|
-
voucher:
|
|
34507
|
-
purchaseAmountCents:
|
|
34682
|
+
voucher: z61.null()
|
|
34683
|
+
});
|
|
34684
|
+
var publicVoucherOfferSchema = z61.object({
|
|
34685
|
+
id: z61.string(),
|
|
34686
|
+
kind: z61.literal("voucher"),
|
|
34687
|
+
title: z61.string(),
|
|
34688
|
+
description: z61.string().nullable(),
|
|
34689
|
+
sortOrder: z61.number().int(),
|
|
34690
|
+
giftCard: z61.null(),
|
|
34691
|
+
voucher: z61.object({
|
|
34692
|
+
purchaseAmountCents: z61.number().int().positive()
|
|
34508
34693
|
})
|
|
34509
34694
|
});
|
|
34510
|
-
var publicGiftingOffersResponseSchema =
|
|
34511
|
-
currency:
|
|
34512
|
-
giftCards:
|
|
34513
|
-
vouchers:
|
|
34695
|
+
var publicGiftingOffersResponseSchema = z61.object({
|
|
34696
|
+
currency: z61.string(),
|
|
34697
|
+
giftCards: z61.array(publicGiftCardOfferSchema),
|
|
34698
|
+
vouchers: z61.array(publicVoucherOfferSchema)
|
|
34514
34699
|
});
|
|
34515
|
-
var giftingSourceSchema =
|
|
34516
|
-
siteId:
|
|
34517
|
-
apiBaseUrl:
|
|
34700
|
+
var giftingSourceSchema = z61.object({
|
|
34701
|
+
siteId: z61.string().optional(),
|
|
34702
|
+
apiBaseUrl: z61.string().optional(),
|
|
34518
34703
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
34519
|
-
className:
|
|
34520
|
-
heading:
|
|
34521
|
-
intro:
|
|
34522
|
-
giftCardsHeading:
|
|
34523
|
-
vouchersHeading:
|
|
34524
|
-
emptyStateText:
|
|
34525
|
-
checkoutButtonText:
|
|
34526
|
-
successMessage:
|
|
34527
|
-
});
|
|
34528
|
-
var giftingDisplaySchema =
|
|
34529
|
-
kind:
|
|
34530
|
-
state:
|
|
34531
|
-
className:
|
|
34532
|
-
heading:
|
|
34533
|
-
intro:
|
|
34534
|
-
giftCardsHeading:
|
|
34535
|
-
vouchersHeading:
|
|
34536
|
-
emptyStateText:
|
|
34537
|
-
});
|
|
34538
|
-
var giftingHydrationSchema =
|
|
34704
|
+
className: z61.string().nullable().optional(),
|
|
34705
|
+
heading: z61.string().nullable().optional(),
|
|
34706
|
+
intro: z61.string().nullable().optional(),
|
|
34707
|
+
giftCardsHeading: z61.string().nullable().optional(),
|
|
34708
|
+
vouchersHeading: z61.string().nullable().optional(),
|
|
34709
|
+
emptyStateText: z61.string().nullable().optional(),
|
|
34710
|
+
checkoutButtonText: z61.string().nullable().optional(),
|
|
34711
|
+
successMessage: z61.string().nullable().optional()
|
|
34712
|
+
});
|
|
34713
|
+
var giftingDisplaySchema = z61.object({
|
|
34714
|
+
kind: z61.literal("gifting"),
|
|
34715
|
+
state: z61.literal("ready"),
|
|
34716
|
+
className: z61.string().nullable(),
|
|
34717
|
+
heading: z61.string(),
|
|
34718
|
+
intro: z61.string().nullable(),
|
|
34719
|
+
giftCardsHeading: z61.string(),
|
|
34720
|
+
vouchersHeading: z61.string(),
|
|
34721
|
+
emptyStateText: z61.string()
|
|
34722
|
+
});
|
|
34723
|
+
var giftingHydrationSchema = z61.object({
|
|
34539
34724
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
34540
|
-
checkoutButtonText:
|
|
34541
|
-
successMessage:
|
|
34725
|
+
checkoutButtonText: z61.string(),
|
|
34726
|
+
successMessage: z61.string()
|
|
34542
34727
|
});
|
|
34543
|
-
var giftingRenderSchema =
|
|
34728
|
+
var giftingRenderSchema = z61.object({
|
|
34544
34729
|
display: giftingDisplaySchema,
|
|
34545
34730
|
hydration: giftingHydrationSchema
|
|
34546
34731
|
});
|
|
34547
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
34548
|
-
siteId:
|
|
34549
|
-
apiBaseUrl:
|
|
34732
|
+
var giftingIslandMetaCodec = createZodCodec(z61.object({
|
|
34733
|
+
siteId: z61.string().optional(),
|
|
34734
|
+
apiBaseUrl: z61.string().optional()
|
|
34550
34735
|
}));
|
|
34551
34736
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
34552
34737
|
"siteId",
|
|
@@ -34717,7 +34902,61 @@ var giftingBlockDefinition = {
|
|
|
34717
34902
|
};
|
|
34718
34903
|
|
|
34719
34904
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34720
|
-
import { z as
|
|
34905
|
+
import { z as z62 } from "zod";
|
|
34906
|
+
|
|
34907
|
+
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
34908
|
+
function parseNewsletterSignupBlockId(value) {
|
|
34909
|
+
const trimmed = parseTrimmedString(value);
|
|
34910
|
+
return trimmed && BLOCK_ID_PATTERN.test(trimmed) ? trimmed : null;
|
|
34911
|
+
}
|
|
34912
|
+
function parseSignedNewsletterDestinationRef(value) {
|
|
34913
|
+
const trimmed = parseTrimmedString(value);
|
|
34914
|
+
return trimmed && SIGNED_DESTINATION_REF_PATTERN.test(trimmed) ? trimmed : null;
|
|
34915
|
+
}
|
|
34916
|
+
function parseNewsletterSignupDestinationProvider(value) {
|
|
34917
|
+
return value === "riverbank" || value === "mailchimp" ? value : null;
|
|
34918
|
+
}
|
|
34919
|
+
function buildNewsletterSignupBlockRef(blockId) {
|
|
34920
|
+
const parsed = parseNewsletterSignupBlockId(blockId);
|
|
34921
|
+
return parsed ? { tag: "block_ref", blockId: parsed } : null;
|
|
34922
|
+
}
|
|
34923
|
+
function normalizeNewsletterSignupEditorValuesForDestination(values) {
|
|
34924
|
+
const destinationProvider = parseNewsletterSignupDestinationProvider(values.destinationProvider) ?? "riverbank";
|
|
34925
|
+
if (destinationProvider === "mailchimp") {
|
|
34926
|
+
return {
|
|
34927
|
+
destinationProvider,
|
|
34928
|
+
mailchimpAudienceId: values.mailchimpAudienceId,
|
|
34929
|
+
mailchimpTags: values.mailchimpTags
|
|
34930
|
+
};
|
|
34931
|
+
}
|
|
34932
|
+
return {
|
|
34933
|
+
destinationProvider,
|
|
34934
|
+
listId: values.listId,
|
|
34935
|
+
tags: values.tags
|
|
34936
|
+
};
|
|
34937
|
+
}
|
|
34938
|
+
function deriveNewsletterSignupRuntimeSource(values) {
|
|
34939
|
+
const normalized = normalizeNewsletterSignupEditorValuesForDestination(values);
|
|
34940
|
+
if (normalized.destinationProvider === "mailchimp") {
|
|
34941
|
+
return {
|
|
34942
|
+
destinationProvider: "mailchimp",
|
|
34943
|
+
listId: null,
|
|
34944
|
+
tags: null
|
|
34945
|
+
};
|
|
34946
|
+
}
|
|
34947
|
+
return {
|
|
34948
|
+
destinationProvider: "riverbank",
|
|
34949
|
+
listId: parseTrimmedString(normalized.listId),
|
|
34950
|
+
tags: parseTrimmedString(normalized.tags)
|
|
34951
|
+
};
|
|
34952
|
+
}
|
|
34953
|
+
var BLOCK_ID_PATTERN = /^[A-Za-z0-9._:-]{1,200}$/;
|
|
34954
|
+
var SIGNED_DESTINATION_REF_PATTERN = /^[A-Za-z0-9._~-]{16,1000}$/;
|
|
34955
|
+
function parseTrimmedString(value) {
|
|
34956
|
+
if (typeof value !== "string") return null;
|
|
34957
|
+
const trimmed = value.trim();
|
|
34958
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
34959
|
+
}
|
|
34721
34960
|
|
|
34722
34961
|
// ../blocks/src/system/runtime/nodes/newsletter-form.types.ts
|
|
34723
34962
|
function getPresetFields(preset2, options) {
|
|
@@ -34770,49 +35009,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
34770
35009
|
}
|
|
34771
35010
|
|
|
34772
35011
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
34773
|
-
var newsletterPresetSchema =
|
|
34774
|
-
var
|
|
34775
|
-
|
|
34776
|
-
|
|
34777
|
-
|
|
34778
|
-
|
|
34779
|
-
|
|
34780
|
-
|
|
34781
|
-
|
|
34782
|
-
|
|
34783
|
-
|
|
34784
|
-
|
|
35012
|
+
var newsletterPresetSchema = z62.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
35013
|
+
var newsletterDestinationProviderSchema = z62.enum(["riverbank", "mailchimp"]);
|
|
35014
|
+
var newsletterFieldSchema = z62.object({
|
|
35015
|
+
id: z62.string(),
|
|
35016
|
+
type: z62.enum(["email", "text"]),
|
|
35017
|
+
label: z62.string(),
|
|
35018
|
+
required: z62.boolean(),
|
|
35019
|
+
placeholder: z62.string().optional()
|
|
35020
|
+
});
|
|
35021
|
+
var newsletterSignupBlockIdSchema = z62.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
35022
|
+
var signedNewsletterDestinationRefSchema = z62.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
35023
|
+
var newsletterPublicDestinationRefSchema = z62.discriminatedUnion("tag", [
|
|
35024
|
+
z62.object({
|
|
35025
|
+
tag: z62.literal("block_ref"),
|
|
35026
|
+
blockId: newsletterSignupBlockIdSchema
|
|
35027
|
+
}),
|
|
35028
|
+
z62.object({
|
|
35029
|
+
tag: z62.literal("signed_destination_ref"),
|
|
35030
|
+
token: signedNewsletterDestinationRefSchema
|
|
35031
|
+
})
|
|
35032
|
+
]);
|
|
35033
|
+
var newsletterSourceSchema = z62.object({
|
|
35034
|
+
blockId: z62.string().nullable().optional(),
|
|
35035
|
+
siteId: z62.string().optional(),
|
|
35036
|
+
apiBaseUrl: z62.string().optional(),
|
|
35037
|
+
listId: z62.string().nullable().optional(),
|
|
35038
|
+
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
34785
35039
|
preset: newsletterPresetSchema.optional(),
|
|
34786
|
-
includePhone:
|
|
34787
|
-
buttonLabel:
|
|
34788
|
-
successMessage:
|
|
34789
|
-
privacyNote:
|
|
34790
|
-
tags:
|
|
34791
|
-
spamProtectionEnabled:
|
|
34792
|
-
className:
|
|
34793
|
-
});
|
|
34794
|
-
var newsletterDisplaySchema =
|
|
34795
|
-
kind:
|
|
34796
|
-
className:
|
|
34797
|
-
buttonLabel:
|
|
34798
|
-
successMessage:
|
|
34799
|
-
privacyNote:
|
|
34800
|
-
fields:
|
|
34801
|
-
});
|
|
34802
|
-
var newsletterHydrationSchema =
|
|
34803
|
-
|
|
35040
|
+
includePhone: z62.boolean().optional(),
|
|
35041
|
+
buttonLabel: z62.string().nullable().optional(),
|
|
35042
|
+
successMessage: z62.string().nullable().optional(),
|
|
35043
|
+
privacyNote: z62.string().nullable().optional(),
|
|
35044
|
+
tags: z62.string().nullable().optional(),
|
|
35045
|
+
spamProtectionEnabled: z62.boolean().optional(),
|
|
35046
|
+
className: z62.string().nullable().optional()
|
|
35047
|
+
});
|
|
35048
|
+
var newsletterDisplaySchema = z62.object({
|
|
35049
|
+
kind: z62.literal("newsletter-form"),
|
|
35050
|
+
className: z62.string().nullable(),
|
|
35051
|
+
buttonLabel: z62.string(),
|
|
35052
|
+
successMessage: z62.string().nullable(),
|
|
35053
|
+
privacyNote: z62.string().nullable(),
|
|
35054
|
+
fields: z62.array(newsletterFieldSchema)
|
|
35055
|
+
});
|
|
35056
|
+
var newsletterHydrationSchema = z62.object({
|
|
35057
|
+
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
35058
|
+
listId: z62.string().nullable().optional(),
|
|
34804
35059
|
preset: newsletterPresetSchema,
|
|
34805
|
-
includePhone:
|
|
34806
|
-
tags:
|
|
34807
|
-
spamProtectionEnabled:
|
|
35060
|
+
includePhone: z62.boolean(),
|
|
35061
|
+
tags: z62.string().nullable().optional(),
|
|
35062
|
+
spamProtectionEnabled: z62.boolean().optional()
|
|
34808
35063
|
});
|
|
34809
|
-
var newsletterRenderSchema =
|
|
35064
|
+
var newsletterRenderSchema = z62.object({
|
|
34810
35065
|
display: newsletterDisplaySchema,
|
|
34811
35066
|
hydration: newsletterHydrationSchema
|
|
34812
35067
|
});
|
|
34813
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
34814
|
-
siteId:
|
|
34815
|
-
apiBaseUrl:
|
|
35068
|
+
var newsletterIslandMetaCodec = createZodCodec(z62.object({
|
|
35069
|
+
siteId: z62.string().optional(),
|
|
35070
|
+
apiBaseUrl: z62.string().optional()
|
|
34816
35071
|
}));
|
|
34817
35072
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
34818
35073
|
function buildNewsletterDisplay(source) {
|
|
@@ -34833,16 +35088,20 @@ var newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
34833
35088
|
source: createZodCodec(newsletterSourceSchema),
|
|
34834
35089
|
render: createZodCodec(newsletterRenderSchema)
|
|
34835
35090
|
},
|
|
34836
|
-
buildRender: (source) =>
|
|
34837
|
-
|
|
34838
|
-
|
|
34839
|
-
|
|
34840
|
-
|
|
34841
|
-
|
|
34842
|
-
|
|
34843
|
-
|
|
34844
|
-
|
|
34845
|
-
|
|
35091
|
+
buildRender: (source) => {
|
|
35092
|
+
const runtimeSource = deriveNewsletterSignupRuntimeSource(source);
|
|
35093
|
+
return {
|
|
35094
|
+
display: buildNewsletterDisplay(source),
|
|
35095
|
+
hydration: {
|
|
35096
|
+
destinationRef: buildNewsletterSignupBlockRef(source.blockId),
|
|
35097
|
+
listId: runtimeSource.listId,
|
|
35098
|
+
preset: source.preset ?? "emailOnly",
|
|
35099
|
+
includePhone: source.includePhone ?? false,
|
|
35100
|
+
tags: runtimeSource.tags,
|
|
35101
|
+
spamProtectionEnabled: source.spamProtectionEnabled
|
|
35102
|
+
}
|
|
35103
|
+
};
|
|
35104
|
+
}
|
|
34846
35105
|
});
|
|
34847
35106
|
var newsletterFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
34848
35107
|
runtime: newsletterFormBlockRuntime,
|
|
@@ -34854,6 +35113,20 @@ var newsletterFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
|
34854
35113
|
apiBaseUrl: value.apiBaseUrl
|
|
34855
35114
|
})
|
|
34856
35115
|
});
|
|
35116
|
+
function parseRequiredNewsletterSignupBlockId(value) {
|
|
35117
|
+
const parsed = parseNewsletterSignupBlockId(value);
|
|
35118
|
+
if (!parsed) {
|
|
35119
|
+
throw new Error("Newsletter signup block destination ref requires blockId");
|
|
35120
|
+
}
|
|
35121
|
+
return parsed;
|
|
35122
|
+
}
|
|
35123
|
+
function parseRequiredSignedNewsletterDestinationRef(value) {
|
|
35124
|
+
const parsed = parseSignedNewsletterDestinationRef(value);
|
|
35125
|
+
if (!parsed) {
|
|
35126
|
+
throw new Error("Newsletter signup signed destination ref requires token");
|
|
35127
|
+
}
|
|
35128
|
+
return parsed;
|
|
35129
|
+
}
|
|
34857
35130
|
|
|
34858
35131
|
// ../blocks/src/system/blocks/newsletter-signup.ts
|
|
34859
35132
|
var stackedComposition = composeFragments([
|
|
@@ -34933,23 +35206,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
34933
35206
|
};
|
|
34934
35207
|
|
|
34935
35208
|
// ../blocks/src/system/blocks/team-members.ts
|
|
34936
|
-
import { z as
|
|
35209
|
+
import { z as z63 } from "zod";
|
|
34937
35210
|
var ITEM_NAME2 = "member";
|
|
34938
35211
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
34939
35212
|
message: "Team member photos must be image media"
|
|
34940
35213
|
}).nullable();
|
|
34941
|
-
var teamMemberDataSchema =
|
|
34942
|
-
_type:
|
|
34943
|
-
id:
|
|
34944
|
-
name:
|
|
34945
|
-
role:
|
|
34946
|
-
roleLabel:
|
|
34947
|
-
bio:
|
|
34948
|
-
summary:
|
|
35214
|
+
var teamMemberDataSchema = z63.object({
|
|
35215
|
+
_type: z63.literal("teamMember"),
|
|
35216
|
+
id: z63.string(),
|
|
35217
|
+
name: z63.string(),
|
|
35218
|
+
role: z63.string().nullable(),
|
|
35219
|
+
roleLabel: z63.string().nullable(),
|
|
35220
|
+
bio: z63.string().nullable(),
|
|
35221
|
+
summary: z63.string().nullable(),
|
|
34949
35222
|
photo: teamMemberPhotoSchema,
|
|
34950
|
-
profilePath:
|
|
35223
|
+
profilePath: z63.string().nullable()
|
|
34951
35224
|
});
|
|
34952
|
-
var teamMembersDataSchema =
|
|
35225
|
+
var teamMembersDataSchema = z63.array(teamMemberDataSchema);
|
|
34953
35226
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
34954
35227
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
34955
35228
|
var headingNode = text(
|
|
@@ -37647,34 +37920,34 @@ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
|
37647
37920
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
37648
37921
|
|
|
37649
37922
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
37650
|
-
import { z as
|
|
37651
|
-
var themeBridgeConfigSchema =
|
|
37652
|
-
tokens:
|
|
37653
|
-
typography:
|
|
37654
|
-
headingFamily:
|
|
37655
|
-
bodyFamily:
|
|
37656
|
-
headingWeight:
|
|
37657
|
-
bodyWeight:
|
|
37923
|
+
import { z as z64 } from "zod";
|
|
37924
|
+
var themeBridgeConfigSchema = z64.object({
|
|
37925
|
+
tokens: z64.record(z64.string(), z64.string()),
|
|
37926
|
+
typography: z64.object({
|
|
37927
|
+
headingFamily: z64.string().optional(),
|
|
37928
|
+
bodyFamily: z64.string().optional(),
|
|
37929
|
+
headingWeight: z64.number().optional(),
|
|
37930
|
+
bodyWeight: z64.number().optional()
|
|
37658
37931
|
}).optional(),
|
|
37659
|
-
spacing:
|
|
37660
|
-
corners:
|
|
37661
|
-
shadows:
|
|
37662
|
-
components:
|
|
37663
|
-
buttons:
|
|
37664
|
-
|
|
37665
|
-
|
|
37666
|
-
variants:
|
|
37932
|
+
spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
|
|
37933
|
+
corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
37934
|
+
shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
|
|
37935
|
+
components: z64.object({
|
|
37936
|
+
buttons: z64.union([
|
|
37937
|
+
z64.boolean(),
|
|
37938
|
+
z64.object({
|
|
37939
|
+
variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
37667
37940
|
})
|
|
37668
37941
|
]).optional(),
|
|
37669
|
-
cards:
|
|
37670
|
-
|
|
37671
|
-
|
|
37672
|
-
variants:
|
|
37942
|
+
cards: z64.union([
|
|
37943
|
+
z64.boolean(),
|
|
37944
|
+
z64.object({
|
|
37945
|
+
variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
|
|
37673
37946
|
})
|
|
37674
37947
|
]).optional(),
|
|
37675
|
-
inputs:
|
|
37948
|
+
inputs: z64.boolean().optional()
|
|
37676
37949
|
}).optional(),
|
|
37677
|
-
overrides:
|
|
37950
|
+
overrides: z64.record(z64.string(), z64.string()).optional()
|
|
37678
37951
|
}).passthrough();
|
|
37679
37952
|
|
|
37680
37953
|
// ../theme-core/src/siteChrome.tsx
|
|
@@ -37700,17 +37973,17 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
37700
37973
|
function unsafeRetypeZodSchema(schema) {
|
|
37701
37974
|
return schema;
|
|
37702
37975
|
}
|
|
37703
|
-
var navIdListSchema =
|
|
37976
|
+
var navIdListSchema = z65.preprocess((value) => {
|
|
37704
37977
|
if (!Array.isArray(value)) return void 0;
|
|
37705
37978
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
37706
37979
|
return filtered.length > 0 ? filtered : void 0;
|
|
37707
|
-
},
|
|
37708
|
-
var dashboardNavVisibilityBaseSchema =
|
|
37709
|
-
mode:
|
|
37980
|
+
}, z65.array(z65.string()).max(200).optional());
|
|
37981
|
+
var dashboardNavVisibilityBaseSchema = z65.object({
|
|
37982
|
+
mode: z65.enum(["augment", "restrict"]).optional(),
|
|
37710
37983
|
allowIds: navIdListSchema,
|
|
37711
37984
|
denyIds: navIdListSchema
|
|
37712
37985
|
}).strip();
|
|
37713
|
-
var dashboardNavVisibilityRolesSchema =
|
|
37986
|
+
var dashboardNavVisibilityRolesSchema = z65.object({
|
|
37714
37987
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
37715
37988
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
37716
37989
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -37718,63 +37991,63 @@ var dashboardNavVisibilityRolesSchema = z64.object({
|
|
|
37718
37991
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
37719
37992
|
roles: dashboardNavVisibilityRolesSchema
|
|
37720
37993
|
}).strip();
|
|
37721
|
-
var dashboardNavigationConfigSchema =
|
|
37994
|
+
var dashboardNavigationConfigSchema = z65.object({
|
|
37722
37995
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
37723
37996
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
37724
37997
|
}).strip();
|
|
37725
|
-
var dashboardConfigSchema =
|
|
37726
|
-
previewEditingEnabled:
|
|
37998
|
+
var dashboardConfigSchema = z65.object({
|
|
37999
|
+
previewEditingEnabled: z65.boolean().optional(),
|
|
37727
38000
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
37728
38001
|
}).strip();
|
|
37729
38002
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
37730
38003
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
37731
|
-
var sdkLoaderEndpointSchema =
|
|
37732
|
-
var loaderFallbackScalarSchema =
|
|
37733
|
-
|
|
37734
|
-
|
|
37735
|
-
|
|
37736
|
-
|
|
38004
|
+
var sdkLoaderEndpointSchema = z65.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
38005
|
+
var loaderFallbackScalarSchema = z65.union([
|
|
38006
|
+
z65.string(),
|
|
38007
|
+
z65.number(),
|
|
38008
|
+
z65.boolean(),
|
|
38009
|
+
z65.null()
|
|
37737
38010
|
]);
|
|
37738
|
-
var loaderParamBindingSchema =
|
|
37739
|
-
$bind:
|
|
37740
|
-
from:
|
|
38011
|
+
var loaderParamBindingSchema = z65.object({
|
|
38012
|
+
$bind: z65.object({
|
|
38013
|
+
from: z65.string().min(1, "Binding path is required"),
|
|
37741
38014
|
fallback: loaderFallbackScalarSchema.optional()
|
|
37742
38015
|
})
|
|
37743
38016
|
});
|
|
37744
|
-
var loaderParamValueSchema =
|
|
37745
|
-
|
|
37746
|
-
|
|
37747
|
-
|
|
38017
|
+
var loaderParamValueSchema = z65.union([
|
|
38018
|
+
z65.string(),
|
|
38019
|
+
z65.number(),
|
|
38020
|
+
z65.boolean(),
|
|
37748
38021
|
loaderParamBindingSchema
|
|
37749
38022
|
]);
|
|
37750
|
-
var sdkConfigLoaderSchema =
|
|
38023
|
+
var sdkConfigLoaderSchema = z65.object({
|
|
37751
38024
|
endpoint: sdkLoaderEndpointSchema,
|
|
37752
|
-
params:
|
|
37753
|
-
mode:
|
|
38025
|
+
params: z65.record(z65.string(), loaderParamValueSchema),
|
|
38026
|
+
mode: z65.enum(["server", "client"]).default("server")
|
|
37754
38027
|
});
|
|
37755
|
-
var sdkDataLoadersSchema =
|
|
37756
|
-
var sdkCustomBlockIdSchema =
|
|
38028
|
+
var sdkDataLoadersSchema = z65.record(z65.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
38029
|
+
var sdkCustomBlockIdSchema = z65.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
37757
38030
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
37758
38031
|
}).transform((value) => value);
|
|
37759
|
-
var sdkCustomBlockInputSchema =
|
|
38032
|
+
var sdkCustomBlockInputSchema = z65.object({
|
|
37760
38033
|
id: sdkCustomBlockIdSchema,
|
|
37761
|
-
title:
|
|
37762
|
-
titleSource:
|
|
37763
|
-
description:
|
|
38034
|
+
title: z65.string().min(1),
|
|
38035
|
+
titleSource: z65.union([z65.string().min(1), z65.array(z65.string().min(1)).min(1)]).optional(),
|
|
38036
|
+
description: z65.string().optional(),
|
|
37764
38037
|
category: blockCategoryEnum,
|
|
37765
|
-
icon:
|
|
37766
|
-
tags:
|
|
38038
|
+
icon: z65.string().optional(),
|
|
38039
|
+
tags: z65.array(z65.string()).optional(),
|
|
37767
38040
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
37768
38041
|
dataLoaders: sdkDataLoadersSchema,
|
|
37769
38042
|
layout: NodeSchema.optional(),
|
|
37770
|
-
variants:
|
|
37771
|
-
defaultVariant:
|
|
37772
|
-
variantOptions:
|
|
37773
|
-
|
|
37774
|
-
|
|
37775
|
-
label:
|
|
37776
|
-
description:
|
|
37777
|
-
icon:
|
|
38043
|
+
variants: z65.record(z65.string().min(1), NodeSchema).optional(),
|
|
38044
|
+
defaultVariant: z65.string().min(1).optional(),
|
|
38045
|
+
variantOptions: z65.record(
|
|
38046
|
+
z65.string().min(1),
|
|
38047
|
+
z65.object({
|
|
38048
|
+
label: z65.string().min(1).optional(),
|
|
38049
|
+
description: z65.string().min(1).optional(),
|
|
38050
|
+
icon: z65.string().min(1).optional()
|
|
37778
38051
|
})
|
|
37779
38052
|
).optional(),
|
|
37780
38053
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -37785,7 +38058,7 @@ var sdkCustomBlockInputSchema = z64.object({
|
|
|
37785
38058
|
const exists = data.fields.some((field) => field.id === source);
|
|
37786
38059
|
if (!exists) {
|
|
37787
38060
|
ctx.addIssue({
|
|
37788
|
-
code:
|
|
38061
|
+
code: z65.ZodIssueCode.custom,
|
|
37789
38062
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
37790
38063
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
37791
38064
|
});
|
|
@@ -37794,7 +38067,7 @@ var sdkCustomBlockInputSchema = z64.object({
|
|
|
37794
38067
|
}
|
|
37795
38068
|
if (data.layout && data.variants) {
|
|
37796
38069
|
ctx.addIssue({
|
|
37797
|
-
code:
|
|
38070
|
+
code: z65.ZodIssueCode.custom,
|
|
37798
38071
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
37799
38072
|
path: ["variants"]
|
|
37800
38073
|
});
|
|
@@ -37803,14 +38076,14 @@ var sdkCustomBlockInputSchema = z64.object({
|
|
|
37803
38076
|
const keys = Object.keys(data.variants);
|
|
37804
38077
|
if (keys.length === 0) {
|
|
37805
38078
|
ctx.addIssue({
|
|
37806
|
-
code:
|
|
38079
|
+
code: z65.ZodIssueCode.custom,
|
|
37807
38080
|
message: "`variants` must contain at least one variant key",
|
|
37808
38081
|
path: ["variants"]
|
|
37809
38082
|
});
|
|
37810
38083
|
}
|
|
37811
38084
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
37812
38085
|
ctx.addIssue({
|
|
37813
|
-
code:
|
|
38086
|
+
code: z65.ZodIssueCode.custom,
|
|
37814
38087
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
37815
38088
|
path: ["defaultVariant"]
|
|
37816
38089
|
});
|
|
@@ -37819,7 +38092,7 @@ var sdkCustomBlockInputSchema = z64.object({
|
|
|
37819
38092
|
for (const key of Object.keys(data.variantOptions)) {
|
|
37820
38093
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
37821
38094
|
ctx.addIssue({
|
|
37822
|
-
code:
|
|
38095
|
+
code: z65.ZodIssueCode.custom,
|
|
37823
38096
|
message: "`variantOptions` key must exist in `variants`",
|
|
37824
38097
|
path: ["variantOptions", key]
|
|
37825
38098
|
});
|
|
@@ -37828,78 +38101,78 @@ var sdkCustomBlockInputSchema = z64.object({
|
|
|
37828
38101
|
}
|
|
37829
38102
|
}
|
|
37830
38103
|
});
|
|
37831
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38104
|
+
var sdkBlockFieldExtensionInputSchema = z65.object({
|
|
37832
38105
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
37833
38106
|
});
|
|
37834
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
37835
|
-
|
|
38107
|
+
var sdkBlockFieldExtensionsInputSchema = z65.record(
|
|
38108
|
+
z65.string().min(1),
|
|
37836
38109
|
sdkBlockFieldExtensionInputSchema
|
|
37837
38110
|
);
|
|
37838
|
-
var sdkThemePaletteSchema =
|
|
37839
|
-
var sdkThemeConfigSchema =
|
|
38111
|
+
var sdkThemePaletteSchema = z65.record(z65.string(), z65.string());
|
|
38112
|
+
var sdkThemeConfigSchema = z65.object({
|
|
37840
38113
|
palette: sdkThemePaletteSchema
|
|
37841
38114
|
});
|
|
37842
|
-
var sdkSectionBackgroundSchema =
|
|
37843
|
-
id:
|
|
37844
|
-
label:
|
|
37845
|
-
token:
|
|
38115
|
+
var sdkSectionBackgroundSchema = z65.object({
|
|
38116
|
+
id: z65.string().min(1),
|
|
38117
|
+
label: z65.string().min(1),
|
|
38118
|
+
token: z65.string().min(1)
|
|
37846
38119
|
});
|
|
37847
|
-
var sdkSectionOptionsConfigSchema =
|
|
37848
|
-
backgroundColor:
|
|
37849
|
-
backgroundImage:
|
|
37850
|
-
backgroundGradient:
|
|
37851
|
-
spacing:
|
|
37852
|
-
textColor:
|
|
38120
|
+
var sdkSectionOptionsConfigSchema = z65.object({
|
|
38121
|
+
backgroundColor: z65.boolean().optional(),
|
|
38122
|
+
backgroundImage: z65.boolean().optional(),
|
|
38123
|
+
backgroundGradient: z65.boolean().optional(),
|
|
38124
|
+
spacing: z65.union([z65.array(z65.enum(["compact", "default", "spacious"])), z65.boolean()]).optional(),
|
|
38125
|
+
textColor: z65.boolean().optional()
|
|
37853
38126
|
});
|
|
37854
|
-
var sdkContainerOptionsConfigSchema =
|
|
37855
|
-
maxWidth:
|
|
37856
|
-
alignment:
|
|
38127
|
+
var sdkContainerOptionsConfigSchema = z65.object({
|
|
38128
|
+
maxWidth: z65.union([z65.array(z65.enum(["narrow", "default", "wide", "full"])), z65.boolean()]).optional(),
|
|
38129
|
+
alignment: z65.union([z65.array(z65.enum(["left", "center", "right"])), z65.boolean()]).optional()
|
|
37857
38130
|
});
|
|
37858
|
-
var sdkSiteStyleConfigSchema =
|
|
37859
|
-
sectionBackgrounds:
|
|
38131
|
+
var sdkSiteStyleConfigSchema = z65.object({
|
|
38132
|
+
sectionBackgrounds: z65.array(sdkSectionBackgroundSchema).optional(),
|
|
37860
38133
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
37861
38134
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
37862
38135
|
});
|
|
37863
|
-
var sdkSiteLayoutConfigSchema =
|
|
37864
|
-
footerBlocks:
|
|
37865
|
-
|
|
37866
|
-
id:
|
|
37867
|
-
kind:
|
|
37868
|
-
content:
|
|
38136
|
+
var sdkSiteLayoutConfigSchema = z65.object({
|
|
38137
|
+
footerBlocks: z65.array(
|
|
38138
|
+
z65.object({
|
|
38139
|
+
id: z65.string().min(1).optional(),
|
|
38140
|
+
kind: z65.string().min(1),
|
|
38141
|
+
content: z65.record(z65.string(), z65.unknown()).optional()
|
|
37869
38142
|
})
|
|
37870
38143
|
).optional()
|
|
37871
38144
|
});
|
|
37872
|
-
var sdkFieldSelectOptionSchema =
|
|
37873
|
-
value:
|
|
37874
|
-
label:
|
|
38145
|
+
var sdkFieldSelectOptionSchema = z65.object({
|
|
38146
|
+
value: z65.string(),
|
|
38147
|
+
label: z65.string()
|
|
37875
38148
|
});
|
|
37876
|
-
var sdkBlockFieldConfigSchema =
|
|
37877
|
-
options:
|
|
38149
|
+
var sdkBlockFieldConfigSchema = z65.object({
|
|
38150
|
+
options: z65.array(sdkFieldSelectOptionSchema).optional()
|
|
37878
38151
|
});
|
|
37879
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
37880
|
-
|
|
38152
|
+
var sdkBlockFieldOptionsMapSchema = z65.record(
|
|
38153
|
+
z65.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
37881
38154
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
37882
38155
|
}),
|
|
37883
|
-
|
|
38156
|
+
z65.record(z65.string().min(1), sdkBlockFieldConfigSchema)
|
|
37884
38157
|
).optional();
|
|
37885
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
37886
|
-
blocks:
|
|
38158
|
+
var sdkContentTypeTemplateConfigSchema = z65.object({
|
|
38159
|
+
blocks: z65.array(z65.unknown())
|
|
37887
38160
|
}).passthrough();
|
|
37888
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
37889
|
-
mode:
|
|
38161
|
+
var sdkContentTypeOrderingConfigSchema = z65.object({
|
|
38162
|
+
mode: z65.enum(["default", "manual"]).optional()
|
|
37890
38163
|
}).optional();
|
|
37891
|
-
var sdkContentTypeConfigSchema =
|
|
37892
|
-
key:
|
|
37893
|
-
fields:
|
|
38164
|
+
var sdkContentTypeConfigSchema = z65.object({
|
|
38165
|
+
key: z65.string().min(1),
|
|
38166
|
+
fields: z65.array(z65.unknown()),
|
|
37894
38167
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
37895
38168
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
37896
38169
|
}).passthrough();
|
|
37897
|
-
var sdkContentConfigSchema =
|
|
37898
|
-
contentTypes:
|
|
37899
|
-
pages:
|
|
37900
|
-
entries:
|
|
37901
|
-
navigationMenus:
|
|
37902
|
-
settings:
|
|
38170
|
+
var sdkContentConfigSchema = z65.object({
|
|
38171
|
+
contentTypes: z65.array(sdkContentTypeConfigSchema).optional(),
|
|
38172
|
+
pages: z65.array(z65.unknown()).optional(),
|
|
38173
|
+
entries: z65.array(z65.unknown()).optional(),
|
|
38174
|
+
navigationMenus: z65.array(z65.unknown()).optional(),
|
|
38175
|
+
settings: z65.unknown().optional()
|
|
37903
38176
|
}).passthrough();
|
|
37904
38177
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
37905
38178
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -37914,62 +38187,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
37914
38187
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
37915
38188
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
37916
38189
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
37917
|
-
var sdkWorkflowIdSchema =
|
|
38190
|
+
var sdkWorkflowIdSchema = z65.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
37918
38191
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
37919
38192
|
});
|
|
37920
|
-
var sdkWorkflowEndpointSchema =
|
|
37921
|
-
var sdkWorkflowManualTriggerSchema =
|
|
37922
|
-
type:
|
|
38193
|
+
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 "/"' });
|
|
38194
|
+
var sdkWorkflowManualTriggerSchema = z65.object({
|
|
38195
|
+
type: z65.literal("manual")
|
|
37923
38196
|
}).strict();
|
|
37924
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38197
|
+
var sdkWorkflowTriggerFieldSchema = z65.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
37925
38198
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
37926
38199
|
});
|
|
37927
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38200
|
+
var sdkWorkflowFieldChangedConditionSchema = z65.object({
|
|
37928
38201
|
field: sdkWorkflowTriggerFieldSchema,
|
|
37929
|
-
changed:
|
|
38202
|
+
changed: z65.literal(true)
|
|
37930
38203
|
}).strict();
|
|
37931
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38204
|
+
var sdkWorkflowFieldEmptyConditionSchema = z65.object({
|
|
37932
38205
|
field: sdkWorkflowTriggerFieldSchema,
|
|
37933
|
-
isEmpty:
|
|
38206
|
+
isEmpty: z65.boolean()
|
|
37934
38207
|
}).strict();
|
|
37935
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
37936
|
-
type:
|
|
37937
|
-
when:
|
|
37938
|
-
|
|
38208
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z65.object({
|
|
38209
|
+
type: z65.literal("entry.draft.updated"),
|
|
38210
|
+
when: z65.array(
|
|
38211
|
+
z65.union([
|
|
37939
38212
|
sdkWorkflowFieldChangedConditionSchema,
|
|
37940
38213
|
sdkWorkflowFieldEmptyConditionSchema
|
|
37941
38214
|
])
|
|
37942
38215
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
37943
38216
|
}).strict();
|
|
37944
|
-
var sdkWorkflowTriggerSchema =
|
|
38217
|
+
var sdkWorkflowTriggerSchema = z65.discriminatedUnion("type", [
|
|
37945
38218
|
sdkWorkflowManualTriggerSchema,
|
|
37946
38219
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
37947
38220
|
]);
|
|
37948
|
-
var sdkWorkflowConfirmationSchema =
|
|
37949
|
-
title:
|
|
37950
|
-
body:
|
|
38221
|
+
var sdkWorkflowConfirmationSchema = z65.object({
|
|
38222
|
+
title: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
38223
|
+
body: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
37951
38224
|
}).strict();
|
|
37952
|
-
var sdkWorkflowConfigSchema =
|
|
38225
|
+
var sdkWorkflowConfigSchema = z65.object({
|
|
37953
38226
|
id: sdkWorkflowIdSchema,
|
|
37954
|
-
title:
|
|
37955
|
-
description:
|
|
37956
|
-
contentType:
|
|
38227
|
+
title: z65.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
38228
|
+
description: z65.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
38229
|
+
contentType: z65.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
37957
38230
|
endpoint: sdkWorkflowEndpointSchema,
|
|
37958
|
-
triggers:
|
|
38231
|
+
triggers: z65.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
37959
38232
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
37960
38233
|
}).strict();
|
|
37961
|
-
var sdkWorkflowsSchema =
|
|
38234
|
+
var sdkWorkflowsSchema = z65.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
37962
38235
|
const ids = workflows.map((workflow) => workflow.id);
|
|
37963
38236
|
return ids.length === new Set(ids).size;
|
|
37964
38237
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
37965
|
-
var riverbankSiteConfigInputSchema =
|
|
37966
|
-
siteId:
|
|
37967
|
-
previewUrl:
|
|
37968
|
-
liveUrl:
|
|
38238
|
+
var riverbankSiteConfigInputSchema = z65.object({
|
|
38239
|
+
siteId: z65.string().uuid(),
|
|
38240
|
+
previewUrl: z65.string().url().optional(),
|
|
38241
|
+
liveUrl: z65.string().url().optional(),
|
|
37969
38242
|
theme: sdkThemeConfigSchema.optional(),
|
|
37970
38243
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
37971
38244
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
37972
|
-
customBlocks:
|
|
38245
|
+
customBlocks: z65.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
37973
38246
|
const ids = blocks.map((b) => b.id);
|
|
37974
38247
|
return ids.length === new Set(ids).size;
|
|
37975
38248
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -37977,50 +38250,50 @@ var riverbankSiteConfigInputSchema = z64.object({
|
|
|
37977
38250
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
37978
38251
|
workflows: sdkWorkflowsSchema,
|
|
37979
38252
|
content: sdkContentConfigSchema.optional(),
|
|
37980
|
-
contentDir:
|
|
37981
|
-
sync:
|
|
37982
|
-
existingEntries:
|
|
38253
|
+
contentDir: z65.string().optional(),
|
|
38254
|
+
sync: z65.object({
|
|
38255
|
+
existingEntries: z65.enum(["skip", "update"]).optional()
|
|
37983
38256
|
}).optional(),
|
|
37984
|
-
deploy:
|
|
37985
|
-
verifyCommand:
|
|
37986
|
-
prebuildOutput:
|
|
38257
|
+
deploy: z65.object({
|
|
38258
|
+
verifyCommand: z65.string().optional(),
|
|
38259
|
+
prebuildOutput: z65.string().optional()
|
|
37987
38260
|
}).optional(),
|
|
37988
|
-
themeSource:
|
|
37989
|
-
activeTheme:
|
|
37990
|
-
enablePortal:
|
|
38261
|
+
themeSource: z65.enum(["local", "cms"]).optional(),
|
|
38262
|
+
activeTheme: z65.string().optional(),
|
|
38263
|
+
enablePortal: z65.boolean().optional(),
|
|
37991
38264
|
dashboard: dashboardConfigSchema.optional()
|
|
37992
38265
|
}).strict();
|
|
37993
|
-
var pushSdkConfigBodySchema =
|
|
38266
|
+
var pushSdkConfigBodySchema = z65.object({
|
|
37994
38267
|
config: riverbankSiteConfigInputSchema,
|
|
37995
|
-
forceContentTypes:
|
|
38268
|
+
forceContentTypes: z65.boolean().optional()
|
|
37996
38269
|
}).strict();
|
|
37997
38270
|
|
|
37998
38271
|
// ../api/src/siteOnboarding.ts
|
|
37999
|
-
import { z as
|
|
38272
|
+
import { z as z66 } from "zod";
|
|
38000
38273
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
38001
38274
|
configure_appointments: {
|
|
38002
38275
|
requirementId: "configure_appointments",
|
|
38003
38276
|
reason: "launch_anyway"
|
|
38004
38277
|
}
|
|
38005
38278
|
};
|
|
38006
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38279
|
+
var acknowledgeLaunchRequirementRequestSchema = z66.discriminatedUnion(
|
|
38007
38280
|
"requirementId",
|
|
38008
38281
|
[
|
|
38009
|
-
|
|
38010
|
-
requirementId:
|
|
38282
|
+
z66.object({
|
|
38283
|
+
requirementId: z66.literal("review_generated_site")
|
|
38011
38284
|
}),
|
|
38012
|
-
|
|
38013
|
-
requirementId:
|
|
38285
|
+
z66.object({
|
|
38286
|
+
requirementId: z66.literal(
|
|
38014
38287
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
38015
38288
|
),
|
|
38016
|
-
overrideReason:
|
|
38289
|
+
overrideReason: z66.literal(
|
|
38017
38290
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
38018
38291
|
)
|
|
38019
38292
|
})
|
|
38020
38293
|
]
|
|
38021
38294
|
);
|
|
38022
|
-
var goLiveSiteRequestSchema =
|
|
38023
|
-
acceptExtraSiteCharge:
|
|
38295
|
+
var goLiveSiteRequestSchema = z66.object({
|
|
38296
|
+
acceptExtraSiteCharge: z66.boolean().optional()
|
|
38024
38297
|
});
|
|
38025
38298
|
|
|
38026
38299
|
// ../surfaces/src/index.ts
|
|
@@ -38104,7 +38377,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
38104
38377
|
];
|
|
38105
38378
|
|
|
38106
38379
|
// ../api/src/bookingVerticals.ts
|
|
38107
|
-
import { z as
|
|
38380
|
+
import { z as z67 } from "zod";
|
|
38108
38381
|
var VERTICAL_IDS = [
|
|
38109
38382
|
"yoga_wellness",
|
|
38110
38383
|
"fitness_pt",
|
|
@@ -38269,39 +38542,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
38269
38542
|
}
|
|
38270
38543
|
return [...issues];
|
|
38271
38544
|
}
|
|
38272
|
-
var VerticalIdSchema =
|
|
38545
|
+
var VerticalIdSchema = z67.string().trim().transform((value, ctx) => {
|
|
38273
38546
|
const parsed = parseVerticalId(value);
|
|
38274
38547
|
if (!parsed) {
|
|
38275
38548
|
ctx.addIssue({
|
|
38276
|
-
code:
|
|
38549
|
+
code: z67.ZodIssueCode.custom,
|
|
38277
38550
|
message: "Unknown booking vertical"
|
|
38278
38551
|
});
|
|
38279
|
-
return
|
|
38552
|
+
return z67.NEVER;
|
|
38280
38553
|
}
|
|
38281
38554
|
return parsed;
|
|
38282
38555
|
});
|
|
38283
|
-
var VerticalPresetIdSchema =
|
|
38556
|
+
var VerticalPresetIdSchema = z67.string().trim().transform((value, ctx) => {
|
|
38284
38557
|
const parsed = parseVerticalPresetId(value);
|
|
38285
38558
|
if (!parsed) {
|
|
38286
38559
|
ctx.addIssue({
|
|
38287
|
-
code:
|
|
38560
|
+
code: z67.ZodIssueCode.custom,
|
|
38288
38561
|
message: "Unknown booking preset"
|
|
38289
38562
|
});
|
|
38290
|
-
return
|
|
38563
|
+
return z67.NEVER;
|
|
38291
38564
|
}
|
|
38292
38565
|
return parsed;
|
|
38293
38566
|
});
|
|
38294
|
-
var BookingVerticalConfigSchema =
|
|
38567
|
+
var BookingVerticalConfigSchema = z67.object({
|
|
38295
38568
|
verticalId: VerticalIdSchema.nullable(),
|
|
38296
|
-
selectedPresetIds:
|
|
38569
|
+
selectedPresetIds: z67.array(VerticalPresetIdSchema).max(20)
|
|
38297
38570
|
}).transform((value, ctx) => {
|
|
38298
38571
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
38299
38572
|
if (resolved.kind === "invalid") {
|
|
38300
38573
|
ctx.addIssue({
|
|
38301
|
-
code:
|
|
38574
|
+
code: z67.ZodIssueCode.custom,
|
|
38302
38575
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
38303
38576
|
});
|
|
38304
|
-
return
|
|
38577
|
+
return z67.NEVER;
|
|
38305
38578
|
}
|
|
38306
38579
|
return resolved.config;
|
|
38307
38580
|
});
|
|
@@ -38328,51 +38601,51 @@ function isRecord7(value) {
|
|
|
38328
38601
|
}
|
|
38329
38602
|
|
|
38330
38603
|
// ../api/src/appointmentSetup.ts
|
|
38331
|
-
import { z as
|
|
38604
|
+
import { z as z68 } from "zod";
|
|
38332
38605
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
38333
|
-
var appointmentSetupRefSchema =
|
|
38334
|
-
|
|
38335
|
-
|
|
38606
|
+
var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
|
|
38607
|
+
z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
|
|
38608
|
+
z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
|
|
38336
38609
|
]);
|
|
38337
|
-
var appointmentSetupVenueChoiceSchema =
|
|
38338
|
-
|
|
38339
|
-
|
|
38340
|
-
|
|
38341
|
-
kind:
|
|
38342
|
-
draftId:
|
|
38343
|
-
title:
|
|
38344
|
-
description:
|
|
38345
|
-
timezone:
|
|
38346
|
-
addressJson:
|
|
38347
|
-
locationJson:
|
|
38610
|
+
var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
|
|
38611
|
+
z68.object({ kind: z68.literal("none") }),
|
|
38612
|
+
z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
|
|
38613
|
+
z68.object({
|
|
38614
|
+
kind: z68.literal("create"),
|
|
38615
|
+
draftId: z68.string().min(1),
|
|
38616
|
+
title: z68.string().trim().min(1),
|
|
38617
|
+
description: z68.string().nullable(),
|
|
38618
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
38619
|
+
addressJson: z68.record(z68.string(), z68.unknown()),
|
|
38620
|
+
locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
|
|
38348
38621
|
})
|
|
38349
38622
|
]);
|
|
38350
|
-
var appointmentSetupPaymentDraftSchema =
|
|
38351
|
-
priceType:
|
|
38352
|
-
});
|
|
38353
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
38354
|
-
|
|
38355
|
-
|
|
38356
|
-
kind:
|
|
38357
|
-
resourceRefs:
|
|
38623
|
+
var appointmentSetupPaymentDraftSchema = z68.object({
|
|
38624
|
+
priceType: z68.union([z68.literal("free"), z68.literal("paid")])
|
|
38625
|
+
});
|
|
38626
|
+
var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
|
|
38627
|
+
z68.object({ kind: z68.literal("all_practitioners") }),
|
|
38628
|
+
z68.object({
|
|
38629
|
+
kind: z68.literal("selected_practitioners"),
|
|
38630
|
+
resourceRefs: z68.array(appointmentSetupRefSchema)
|
|
38358
38631
|
})
|
|
38359
38632
|
]);
|
|
38360
|
-
var appointmentSetupServiceDraftSchema =
|
|
38633
|
+
var appointmentSetupServiceDraftSchema = z68.object({
|
|
38361
38634
|
ref: appointmentSetupRefSchema,
|
|
38362
|
-
title:
|
|
38363
|
-
description:
|
|
38364
|
-
durationMinutes:
|
|
38365
|
-
prepMinutes:
|
|
38366
|
-
cleanupMinutes:
|
|
38367
|
-
priceAmount:
|
|
38368
|
-
isActive:
|
|
38369
|
-
locationType:
|
|
38370
|
-
|
|
38371
|
-
|
|
38372
|
-
|
|
38635
|
+
title: z68.string().trim().min(1),
|
|
38636
|
+
description: z68.string().nullable(),
|
|
38637
|
+
durationMinutes: z68.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
38638
|
+
prepMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38639
|
+
cleanupMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38640
|
+
priceAmount: z68.number().int().nonnegative().nullable(),
|
|
38641
|
+
isActive: z68.boolean(),
|
|
38642
|
+
locationType: z68.union([
|
|
38643
|
+
z68.literal("virtual"),
|
|
38644
|
+
z68.literal("in_person"),
|
|
38645
|
+
z68.literal("hybrid")
|
|
38373
38646
|
]),
|
|
38374
38647
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38375
|
-
timezone:
|
|
38648
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
38376
38649
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38377
38650
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
38378
38651
|
}).superRefine((service, ctx) => {
|
|
@@ -38391,49 +38664,49 @@ var appointmentSetupServiceDraftSchema = z67.object({
|
|
|
38391
38664
|
});
|
|
38392
38665
|
}
|
|
38393
38666
|
});
|
|
38394
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
38667
|
+
var appointmentSetupPractitionerDraftSchema = z68.object({
|
|
38395
38668
|
ref: appointmentSetupRefSchema,
|
|
38396
|
-
displayName:
|
|
38397
|
-
bio:
|
|
38398
|
-
timezone:
|
|
38399
|
-
colorHex:
|
|
38400
|
-
});
|
|
38401
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
38402
|
-
weekday:
|
|
38403
|
-
startTime:
|
|
38404
|
-
endTime:
|
|
38405
|
-
});
|
|
38406
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
38407
|
-
|
|
38408
|
-
|
|
38409
|
-
kind:
|
|
38410
|
-
intervalMinutes:
|
|
38411
|
-
|
|
38412
|
-
|
|
38413
|
-
|
|
38414
|
-
|
|
38415
|
-
|
|
38416
|
-
|
|
38669
|
+
displayName: z68.string().trim().min(1),
|
|
38670
|
+
bio: z68.string().nullable(),
|
|
38671
|
+
timezone: z68.string().trim().min(1),
|
|
38672
|
+
colorHex: z68.string().nullable()
|
|
38673
|
+
});
|
|
38674
|
+
var appointmentSetupWeeklyWindowDraftSchema = z68.object({
|
|
38675
|
+
weekday: z68.number().int().min(0).max(6),
|
|
38676
|
+
startTime: z68.string(),
|
|
38677
|
+
endTime: z68.string()
|
|
38678
|
+
});
|
|
38679
|
+
var appointmentSetupStartTimePolicyDraftSchema = z68.discriminatedUnion("kind", [
|
|
38680
|
+
z68.object({ kind: z68.literal("automatic_spacing") }),
|
|
38681
|
+
z68.object({
|
|
38682
|
+
kind: z68.literal("regular_interval"),
|
|
38683
|
+
intervalMinutes: z68.union([
|
|
38684
|
+
z68.literal(10),
|
|
38685
|
+
z68.literal(15),
|
|
38686
|
+
z68.literal(20),
|
|
38687
|
+
z68.literal(30),
|
|
38688
|
+
z68.literal(45),
|
|
38689
|
+
z68.literal(60)
|
|
38417
38690
|
])
|
|
38418
38691
|
})
|
|
38419
38692
|
]);
|
|
38420
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
38421
|
-
kind:
|
|
38693
|
+
var appointmentSetupAvailabilityDraftSchema = z68.object({
|
|
38694
|
+
kind: z68.literal("weekly_windows"),
|
|
38422
38695
|
resourceRef: appointmentSetupRefSchema,
|
|
38423
38696
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
38424
|
-
windows:
|
|
38697
|
+
windows: z68.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
38425
38698
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
38426
38699
|
});
|
|
38427
38700
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
38428
38701
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
38429
|
-
var appointmentSetupBookingNoticeSchema =
|
|
38430
|
-
minLeadMinutes:
|
|
38431
|
-
maxBookingNoticeMinutes:
|
|
38432
|
-
});
|
|
38433
|
-
var applyAppointmentSetupRequestSchema =
|
|
38434
|
-
services:
|
|
38435
|
-
practitioners:
|
|
38436
|
-
availability:
|
|
38702
|
+
var appointmentSetupBookingNoticeSchema = z68.object({
|
|
38703
|
+
minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
38704
|
+
maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
38705
|
+
});
|
|
38706
|
+
var applyAppointmentSetupRequestSchema = z68.object({
|
|
38707
|
+
services: z68.array(appointmentSetupServiceDraftSchema),
|
|
38708
|
+
practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
|
|
38709
|
+
availability: z68.array(appointmentSetupAvailabilityDraftSchema),
|
|
38437
38710
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
38438
38711
|
});
|
|
38439
38712
|
|
|
@@ -38466,24 +38739,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
38466
38739
|
];
|
|
38467
38740
|
|
|
38468
38741
|
// ../api/src/siteBanner.ts
|
|
38469
|
-
import { z as
|
|
38742
|
+
import { z as z69 } from "zod";
|
|
38470
38743
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
38471
38744
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
38472
38745
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
38473
38746
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
38474
|
-
var siteBannerScopeSchema =
|
|
38475
|
-
var siteBannerToneSchema =
|
|
38476
|
-
var siteBannerBodySchema =
|
|
38477
|
-
var siteBannerCtaSchema =
|
|
38478
|
-
label:
|
|
38747
|
+
var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
|
|
38748
|
+
var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
|
|
38749
|
+
var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
|
|
38750
|
+
var siteBannerCtaSchema = z69.object({
|
|
38751
|
+
label: z69.string().trim().min(1),
|
|
38479
38752
|
link: linkPayloadSchema
|
|
38480
38753
|
});
|
|
38481
|
-
var siteBannerSettingsSchema =
|
|
38482
|
-
|
|
38483
|
-
enabled:
|
|
38754
|
+
var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
|
|
38755
|
+
z69.object({
|
|
38756
|
+
enabled: z69.literal(false)
|
|
38484
38757
|
}),
|
|
38485
|
-
|
|
38486
|
-
enabled:
|
|
38758
|
+
z69.object({
|
|
38759
|
+
enabled: z69.literal(true),
|
|
38487
38760
|
scope: siteBannerScopeSchema,
|
|
38488
38761
|
tone: siteBannerToneSchema,
|
|
38489
38762
|
body: siteBannerBodySchema,
|
|
@@ -38497,7 +38770,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38497
38770
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38498
38771
|
for (const issue of analysis.issues) {
|
|
38499
38772
|
ctx.addIssue({
|
|
38500
|
-
code:
|
|
38773
|
+
code: z69.ZodIssueCode.custom,
|
|
38501
38774
|
path: ["body"],
|
|
38502
38775
|
message: siteBannerBodyIssueMessage(issue)
|
|
38503
38776
|
});
|
|
@@ -38804,75 +39077,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
38804
39077
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
38805
39078
|
|
|
38806
39079
|
// ../api/src/aiPlayground.ts
|
|
38807
|
-
import { z as
|
|
38808
|
-
var Rfc6902PatchOp =
|
|
39080
|
+
import { z as z70 } from "zod";
|
|
39081
|
+
var Rfc6902PatchOp = z70.discriminatedUnion("op", [
|
|
38809
39082
|
// Standard RFC-6902 operations
|
|
38810
|
-
|
|
38811
|
-
op:
|
|
38812
|
-
path:
|
|
38813
|
-
value:
|
|
39083
|
+
z70.object({
|
|
39084
|
+
op: z70.literal("add"),
|
|
39085
|
+
path: z70.string(),
|
|
39086
|
+
value: z70.unknown()
|
|
38814
39087
|
}),
|
|
38815
|
-
|
|
38816
|
-
op:
|
|
38817
|
-
path:
|
|
39088
|
+
z70.object({
|
|
39089
|
+
op: z70.literal("remove"),
|
|
39090
|
+
path: z70.string()
|
|
38818
39091
|
}),
|
|
38819
|
-
|
|
38820
|
-
op:
|
|
38821
|
-
path:
|
|
38822
|
-
value:
|
|
39092
|
+
z70.object({
|
|
39093
|
+
op: z70.literal("replace"),
|
|
39094
|
+
path: z70.string(),
|
|
39095
|
+
value: z70.unknown()
|
|
38823
39096
|
}),
|
|
38824
|
-
|
|
38825
|
-
op:
|
|
38826
|
-
from:
|
|
38827
|
-
path:
|
|
39097
|
+
z70.object({
|
|
39098
|
+
op: z70.literal("move"),
|
|
39099
|
+
from: z70.string(),
|
|
39100
|
+
path: z70.string()
|
|
38828
39101
|
}),
|
|
38829
|
-
|
|
38830
|
-
op:
|
|
38831
|
-
from:
|
|
38832
|
-
path:
|
|
39102
|
+
z70.object({
|
|
39103
|
+
op: z70.literal("copy"),
|
|
39104
|
+
from: z70.string(),
|
|
39105
|
+
path: z70.string()
|
|
38833
39106
|
}),
|
|
38834
39107
|
// Block-level operations (Phase 2)
|
|
38835
|
-
|
|
38836
|
-
op:
|
|
38837
|
-
blockKind:
|
|
38838
|
-
afterBlockId:
|
|
38839
|
-
content:
|
|
38840
|
-
rationale:
|
|
39108
|
+
z70.object({
|
|
39109
|
+
op: z70.literal("add_block"),
|
|
39110
|
+
blockKind: z70.string(),
|
|
39111
|
+
afterBlockId: z70.string().nullable(),
|
|
39112
|
+
content: z70.record(z70.string(), z70.unknown()),
|
|
39113
|
+
rationale: z70.string()
|
|
38841
39114
|
}),
|
|
38842
|
-
|
|
38843
|
-
op:
|
|
38844
|
-
blockId:
|
|
38845
|
-
rationale:
|
|
39115
|
+
z70.object({
|
|
39116
|
+
op: z70.literal("delete_block"),
|
|
39117
|
+
blockId: z70.string(),
|
|
39118
|
+
rationale: z70.string()
|
|
38846
39119
|
}),
|
|
38847
|
-
|
|
38848
|
-
op:
|
|
38849
|
-
blockId:
|
|
38850
|
-
afterBlockId:
|
|
38851
|
-
rationale:
|
|
39120
|
+
z70.object({
|
|
39121
|
+
op: z70.literal("reorder_block"),
|
|
39122
|
+
blockId: z70.string(),
|
|
39123
|
+
afterBlockId: z70.string().nullable(),
|
|
39124
|
+
rationale: z70.string()
|
|
38852
39125
|
})
|
|
38853
39126
|
]);
|
|
38854
|
-
var PlaygroundProposeRequest =
|
|
38855
|
-
request:
|
|
39127
|
+
var PlaygroundProposeRequest = z70.object({
|
|
39128
|
+
request: z70.string().min(1).max(2e3)
|
|
38856
39129
|
});
|
|
38857
|
-
var MultiPagePatchEnvelope =
|
|
38858
|
-
pageId:
|
|
38859
|
-
blockId:
|
|
39130
|
+
var MultiPagePatchEnvelope = z70.object({
|
|
39131
|
+
pageId: z70.string(),
|
|
39132
|
+
blockId: z70.string().optional(),
|
|
38860
39133
|
// Not present for page-level ops
|
|
38861
|
-
blockKind:
|
|
38862
|
-
blockPurpose:
|
|
38863
|
-
ops:
|
|
38864
|
-
rationale:
|
|
38865
|
-
currentContent:
|
|
39134
|
+
blockKind: z70.string().optional(),
|
|
39135
|
+
blockPurpose: z70.string().optional().nullable(),
|
|
39136
|
+
ops: z70.array(Rfc6902PatchOp),
|
|
39137
|
+
rationale: z70.string(),
|
|
39138
|
+
currentContent: z70.record(z70.string(), z70.unknown()).optional()
|
|
38866
39139
|
});
|
|
38867
|
-
var MultiPageUpdateResponse =
|
|
38868
|
-
patches:
|
|
38869
|
-
assistantMessage:
|
|
38870
|
-
pagesModified:
|
|
38871
|
-
toolCallsUsed:
|
|
39140
|
+
var MultiPageUpdateResponse = z70.object({
|
|
39141
|
+
patches: z70.array(MultiPagePatchEnvelope),
|
|
39142
|
+
assistantMessage: z70.string(),
|
|
39143
|
+
pagesModified: z70.number(),
|
|
39144
|
+
toolCallsUsed: z70.number()
|
|
38872
39145
|
});
|
|
38873
39146
|
|
|
38874
39147
|
// src/config/content-validation.ts
|
|
38875
|
-
import { z as
|
|
39148
|
+
import { z as z71 } from "zod";
|
|
38876
39149
|
|
|
38877
39150
|
// src/types/block-kinds.ts
|
|
38878
39151
|
var SYSTEM_BLOCK_KINDS = [
|
|
@@ -39016,36 +39289,36 @@ function describeInvalidBindingTransform(transform) {
|
|
|
39016
39289
|
}
|
|
39017
39290
|
|
|
39018
39291
|
// src/config/content-validation.ts
|
|
39019
|
-
var jsonDataSchema =
|
|
39020
|
-
var contentTypeKeySchema =
|
|
39292
|
+
var jsonDataSchema = z71.record(z71.string(), z71.any());
|
|
39293
|
+
var contentTypeKeySchema = z71.string().min(1).regex(
|
|
39021
39294
|
/^[a-z][a-z0-9-]*$/,
|
|
39022
39295
|
"Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
|
|
39023
39296
|
);
|
|
39024
|
-
var templateConfigSchemaForward =
|
|
39025
|
-
blocks:
|
|
39026
|
-
|
|
39027
|
-
identifier:
|
|
39028
|
-
kind:
|
|
39029
|
-
scope:
|
|
39030
|
-
bindings:
|
|
39031
|
-
content:
|
|
39297
|
+
var templateConfigSchemaForward = z71.object({
|
|
39298
|
+
blocks: z71.array(
|
|
39299
|
+
z71.object({
|
|
39300
|
+
identifier: z71.string().min(1),
|
|
39301
|
+
kind: z71.string(),
|
|
39302
|
+
scope: z71.enum(["entry", "template"]),
|
|
39303
|
+
bindings: z71.record(z71.string(), z71.any()).optional(),
|
|
39304
|
+
content: z71.record(z71.string(), z71.any()).optional()
|
|
39032
39305
|
})
|
|
39033
39306
|
)
|
|
39034
39307
|
}).optional();
|
|
39035
|
-
var contentTypeOrderingSchema =
|
|
39036
|
-
mode:
|
|
39308
|
+
var contentTypeOrderingSchema = z71.object({
|
|
39309
|
+
mode: z71.enum(["default", "manual"]).optional()
|
|
39037
39310
|
}).optional();
|
|
39038
|
-
var contentTypeConfigSchema =
|
|
39311
|
+
var contentTypeConfigSchema = z71.object({
|
|
39039
39312
|
key: contentTypeKeySchema,
|
|
39040
|
-
name:
|
|
39041
|
-
description:
|
|
39042
|
-
hasPages:
|
|
39043
|
-
routePattern:
|
|
39313
|
+
name: z71.string().min(1),
|
|
39314
|
+
description: z71.string().optional(),
|
|
39315
|
+
hasPages: z71.boolean(),
|
|
39316
|
+
routePattern: z71.string().optional(),
|
|
39044
39317
|
// Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
|
|
39045
|
-
fields:
|
|
39046
|
-
titleField:
|
|
39318
|
+
fields: z71.array(z71.any()).min(1, "At least one field is required"),
|
|
39319
|
+
titleField: z71.string().optional(),
|
|
39047
39320
|
ordering: contentTypeOrderingSchema,
|
|
39048
|
-
isSingleton:
|
|
39321
|
+
isSingleton: z71.boolean().optional().default(false),
|
|
39049
39322
|
template: templateConfigSchemaForward
|
|
39050
39323
|
}).refine(
|
|
39051
39324
|
(data) => {
|
|
@@ -39067,7 +39340,7 @@ var contentTypeConfigSchema = z70.object({
|
|
|
39067
39340
|
}
|
|
39068
39341
|
if (!data.routePattern) {
|
|
39069
39342
|
ctx.addIssue({
|
|
39070
|
-
code:
|
|
39343
|
+
code: z71.ZodIssueCode.custom,
|
|
39071
39344
|
path: ["routePattern"],
|
|
39072
39345
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39073
39346
|
});
|
|
@@ -39076,7 +39349,7 @@ var contentTypeConfigSchema = z70.object({
|
|
|
39076
39349
|
const parseResult = safeParseRouteTemplate(data.routePattern);
|
|
39077
39350
|
if (!parseResult.success) {
|
|
39078
39351
|
ctx.addIssue({
|
|
39079
|
-
code:
|
|
39352
|
+
code: z71.ZodIssueCode.custom,
|
|
39080
39353
|
path: ["routePattern"],
|
|
39081
39354
|
message: describeRouteTemplateParseError(parseResult.error)
|
|
39082
39355
|
});
|
|
@@ -39084,44 +39357,44 @@ var contentTypeConfigSchema = z70.object({
|
|
|
39084
39357
|
}
|
|
39085
39358
|
if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
|
|
39086
39359
|
ctx.addIssue({
|
|
39087
|
-
code:
|
|
39360
|
+
code: z71.ZodIssueCode.custom,
|
|
39088
39361
|
path: ["routePattern"],
|
|
39089
39362
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39090
39363
|
});
|
|
39091
39364
|
}
|
|
39092
39365
|
});
|
|
39093
|
-
var fieldBindingSchema =
|
|
39094
|
-
source:
|
|
39095
|
-
path:
|
|
39366
|
+
var fieldBindingSchema = z71.object({
|
|
39367
|
+
source: z71.literal("field"),
|
|
39368
|
+
path: z71.string().min(1, "Field path is required")
|
|
39096
39369
|
});
|
|
39097
|
-
var metaBindingSchema =
|
|
39098
|
-
source:
|
|
39099
|
-
path:
|
|
39370
|
+
var metaBindingSchema = z71.object({
|
|
39371
|
+
source: z71.literal("meta"),
|
|
39372
|
+
path: z71.enum(TEMPLATE_BINDING_META_PATHS, {
|
|
39100
39373
|
error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
|
|
39101
39374
|
})
|
|
39102
39375
|
});
|
|
39103
|
-
var literalBindingSchema =
|
|
39104
|
-
source:
|
|
39105
|
-
value:
|
|
39376
|
+
var literalBindingSchema = z71.object({
|
|
39377
|
+
source: z71.literal("literal"),
|
|
39378
|
+
value: z71.unknown()
|
|
39106
39379
|
});
|
|
39107
|
-
var transformBindingSchema =
|
|
39108
|
-
source:
|
|
39109
|
-
path:
|
|
39110
|
-
transform:
|
|
39380
|
+
var transformBindingSchema = z71.object({
|
|
39381
|
+
source: z71.literal("transform"),
|
|
39382
|
+
path: z71.string().min(1, "Transform path is required"),
|
|
39383
|
+
transform: z71.enum(BINDING_TRANSFORM_VALUES, {
|
|
39111
39384
|
error: (issue) => describeInvalidBindingTransform(String(issue.input))
|
|
39112
39385
|
})
|
|
39113
39386
|
});
|
|
39114
|
-
var baseBindingSchema =
|
|
39387
|
+
var baseBindingSchema = z71.discriminatedUnion("source", [
|
|
39115
39388
|
fieldBindingSchema,
|
|
39116
39389
|
metaBindingSchema,
|
|
39117
39390
|
literalBindingSchema,
|
|
39118
39391
|
transformBindingSchema
|
|
39119
39392
|
]);
|
|
39120
|
-
var fallbackBindingSchema =
|
|
39121
|
-
source:
|
|
39122
|
-
sources:
|
|
39393
|
+
var fallbackBindingSchema = z71.object({
|
|
39394
|
+
source: z71.literal("fallback"),
|
|
39395
|
+
sources: z71.array(z71.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
|
|
39123
39396
|
});
|
|
39124
|
-
var bindingSourceSchema =
|
|
39397
|
+
var bindingSourceSchema = z71.union([
|
|
39125
39398
|
baseBindingSchema,
|
|
39126
39399
|
fallbackBindingSchema
|
|
39127
39400
|
]);
|
|
@@ -39135,12 +39408,12 @@ function isValidBlockKind(kind) {
|
|
|
39135
39408
|
return false;
|
|
39136
39409
|
}
|
|
39137
39410
|
var BLOCK_KIND_ERROR_MESSAGE = 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.myBlock")';
|
|
39138
|
-
var blockKindSchema =
|
|
39139
|
-
var templateBlockConfigSchema =
|
|
39140
|
-
identifier:
|
|
39411
|
+
var blockKindSchema = z71.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
|
|
39412
|
+
var templateBlockConfigSchema = z71.object({
|
|
39413
|
+
identifier: z71.string().min(1, "Block identifier is required"),
|
|
39141
39414
|
kind: blockKindSchema,
|
|
39142
|
-
scope:
|
|
39143
|
-
bindings:
|
|
39415
|
+
scope: z71.enum(["entry", "template"]),
|
|
39416
|
+
bindings: z71.record(z71.string(), bindingSourceSchema).optional(),
|
|
39144
39417
|
content: jsonDataSchema.optional()
|
|
39145
39418
|
}).refine(
|
|
39146
39419
|
(data) => {
|
|
@@ -39159,8 +39432,8 @@ var templateBlockConfigSchema = z70.object({
|
|
|
39159
39432
|
},
|
|
39160
39433
|
{ message: "Template-scoped blocks should define static content, not bindings" }
|
|
39161
39434
|
);
|
|
39162
|
-
var templateConfigSchema =
|
|
39163
|
-
blocks:
|
|
39435
|
+
var templateConfigSchema = z71.object({
|
|
39436
|
+
blocks: z71.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
|
|
39164
39437
|
}).refine(
|
|
39165
39438
|
(data) => {
|
|
39166
39439
|
const identifiers = data.blocks.map((b) => b.identifier);
|
|
@@ -39169,77 +39442,77 @@ var templateConfigSchema = z70.object({
|
|
|
39169
39442
|
},
|
|
39170
39443
|
{ message: "Template block identifiers must be unique" }
|
|
39171
39444
|
);
|
|
39172
|
-
var blockConfigSchema =
|
|
39445
|
+
var blockConfigSchema = z71.object({
|
|
39173
39446
|
kind: blockKindSchema,
|
|
39174
39447
|
content: jsonDataSchema,
|
|
39175
|
-
orderIndex:
|
|
39176
|
-
});
|
|
39177
|
-
var pageConfigSchema =
|
|
39178
|
-
identifier:
|
|
39179
|
-
title:
|
|
39180
|
-
path:
|
|
39181
|
-
purpose:
|
|
39182
|
-
blocks:
|
|
39183
|
-
status:
|
|
39184
|
-
metaTitle:
|
|
39185
|
-
metaDescription:
|
|
39186
|
-
});
|
|
39187
|
-
var entryConfigSchema =
|
|
39188
|
-
identifier:
|
|
39189
|
-
contentType:
|
|
39448
|
+
orderIndex: z71.number().optional()
|
|
39449
|
+
});
|
|
39450
|
+
var pageConfigSchema = z71.object({
|
|
39451
|
+
identifier: z71.string().min(1, "Identifier is required"),
|
|
39452
|
+
title: z71.string().min(1, "Title is required"),
|
|
39453
|
+
path: z71.string().regex(/^\//, "Path must start with /"),
|
|
39454
|
+
purpose: z71.string().default("content"),
|
|
39455
|
+
blocks: z71.array(blockConfigSchema).optional(),
|
|
39456
|
+
status: z71.enum(["draft", "published"]).default("draft"),
|
|
39457
|
+
metaTitle: z71.string().optional(),
|
|
39458
|
+
metaDescription: z71.string().optional()
|
|
39459
|
+
});
|
|
39460
|
+
var entryConfigSchema = z71.object({
|
|
39461
|
+
identifier: z71.string().min(1, "Identifier is required"),
|
|
39462
|
+
contentType: z71.string().min(1, "Content type is required"),
|
|
39190
39463
|
data: jsonDataSchema,
|
|
39191
|
-
status:
|
|
39192
|
-
slug:
|
|
39193
|
-
summary:
|
|
39464
|
+
status: z71.enum(["draft", "published"]).default("draft"),
|
|
39465
|
+
slug: z71.string().optional(),
|
|
39466
|
+
summary: z71.string().optional(),
|
|
39194
39467
|
// Hard remove legacy config-only titles: titles must live in entry `data`.
|
|
39195
|
-
title:
|
|
39468
|
+
title: z71.any().optional().refine((value) => value === void 0, {
|
|
39196
39469
|
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."
|
|
39197
39470
|
}),
|
|
39198
|
-
metaTitle:
|
|
39199
|
-
metaDescription:
|
|
39471
|
+
metaTitle: z71.string().optional(),
|
|
39472
|
+
metaDescription: z71.string().optional()
|
|
39200
39473
|
});
|
|
39201
|
-
var dropdownLinkSchema =
|
|
39202
|
-
kind:
|
|
39474
|
+
var dropdownLinkSchema = z71.object({
|
|
39475
|
+
kind: z71.literal("dropdown")
|
|
39203
39476
|
});
|
|
39204
|
-
var navigationLinkSchema =
|
|
39477
|
+
var navigationLinkSchema = z71.discriminatedUnion("kind", [
|
|
39205
39478
|
...navigationLinkInputSchemaOptions,
|
|
39206
39479
|
dropdownLinkSchema
|
|
39207
39480
|
]);
|
|
39208
|
-
var baseNavigationItemSchema =
|
|
39209
|
-
label:
|
|
39481
|
+
var baseNavigationItemSchema = z71.object({
|
|
39482
|
+
label: z71.string().min(1, "Label is required"),
|
|
39210
39483
|
link: navigationLinkSchema,
|
|
39211
|
-
isCta:
|
|
39484
|
+
isCta: z71.boolean().optional()
|
|
39212
39485
|
});
|
|
39213
39486
|
var navigationItemConfigSchema = baseNavigationItemSchema.extend({
|
|
39214
|
-
children:
|
|
39215
|
-
});
|
|
39216
|
-
var navigationMenuConfigSchema =
|
|
39217
|
-
identifier:
|
|
39218
|
-
name:
|
|
39219
|
-
isPrimary:
|
|
39220
|
-
isFooter:
|
|
39221
|
-
items:
|
|
39487
|
+
children: z71.lazy(() => z71.array(navigationItemConfigSchema)).optional()
|
|
39488
|
+
});
|
|
39489
|
+
var navigationMenuConfigSchema = z71.object({
|
|
39490
|
+
identifier: z71.string().min(1, "Identifier is required"),
|
|
39491
|
+
name: z71.string().min(1, "Name is required"),
|
|
39492
|
+
isPrimary: z71.boolean().optional(),
|
|
39493
|
+
isFooter: z71.boolean().optional(),
|
|
39494
|
+
items: z71.array(navigationItemConfigSchema)
|
|
39222
39495
|
}).superRefine((menu, ctx) => {
|
|
39223
39496
|
const portalStats = collectPortalLinkStats(
|
|
39224
39497
|
menu.items
|
|
39225
39498
|
);
|
|
39226
39499
|
if (portalStats.count > 1) {
|
|
39227
39500
|
ctx.addIssue({
|
|
39228
|
-
code:
|
|
39501
|
+
code: z71.ZodIssueCode.custom,
|
|
39229
39502
|
message: "Only one portal link is allowed per navigation menu",
|
|
39230
39503
|
path: ["items"]
|
|
39231
39504
|
});
|
|
39232
39505
|
}
|
|
39233
39506
|
if (portalStats.nestedLabels.length > 0) {
|
|
39234
39507
|
ctx.addIssue({
|
|
39235
|
-
code:
|
|
39508
|
+
code: z71.ZodIssueCode.custom,
|
|
39236
39509
|
message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
|
|
39237
39510
|
path: ["items"]
|
|
39238
39511
|
});
|
|
39239
39512
|
}
|
|
39240
39513
|
if (portalStats.withChildrenLabels.length > 0) {
|
|
39241
39514
|
ctx.addIssue({
|
|
39242
|
-
code:
|
|
39515
|
+
code: z71.ZodIssueCode.custom,
|
|
39243
39516
|
message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
|
|
39244
39517
|
path: ["items"]
|
|
39245
39518
|
});
|
|
@@ -39249,44 +39522,44 @@ var navigationMenuConfigSchema = z70.object({
|
|
|
39249
39522
|
);
|
|
39250
39523
|
if (cartStats.nestedLabels.length > 0) {
|
|
39251
39524
|
ctx.addIssue({
|
|
39252
|
-
code:
|
|
39525
|
+
code: z71.ZodIssueCode.custom,
|
|
39253
39526
|
message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
|
|
39254
39527
|
path: ["items"]
|
|
39255
39528
|
});
|
|
39256
39529
|
}
|
|
39257
39530
|
if (cartStats.withChildrenLabels.length > 0) {
|
|
39258
39531
|
ctx.addIssue({
|
|
39259
|
-
code:
|
|
39532
|
+
code: z71.ZodIssueCode.custom,
|
|
39260
39533
|
message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
|
|
39261
39534
|
path: ["items"]
|
|
39262
39535
|
});
|
|
39263
39536
|
}
|
|
39264
39537
|
if (cartStats.ctaLabels.length > 0) {
|
|
39265
39538
|
ctx.addIssue({
|
|
39266
|
-
code:
|
|
39539
|
+
code: z71.ZodIssueCode.custom,
|
|
39267
39540
|
message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
|
|
39268
39541
|
path: ["items"]
|
|
39269
39542
|
});
|
|
39270
39543
|
}
|
|
39271
39544
|
if (cartStats.missingVisibleTextLabels.length > 0) {
|
|
39272
39545
|
ctx.addIssue({
|
|
39273
|
-
code:
|
|
39546
|
+
code: z71.ZodIssueCode.custom,
|
|
39274
39547
|
message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
|
|
39275
39548
|
path: ["items"]
|
|
39276
39549
|
});
|
|
39277
39550
|
}
|
|
39278
39551
|
});
|
|
39279
|
-
var siteSettingsConfigSchema =
|
|
39280
|
-
homepagePath:
|
|
39281
|
-
siteTitle:
|
|
39282
|
-
siteDescription:
|
|
39283
|
-
defaultTemplates:
|
|
39552
|
+
var siteSettingsConfigSchema = z71.object({
|
|
39553
|
+
homepagePath: z71.string().optional(),
|
|
39554
|
+
siteTitle: z71.string().optional(),
|
|
39555
|
+
siteDescription: z71.string().optional(),
|
|
39556
|
+
defaultTemplates: z71.record(z71.string(), z71.string()).optional()
|
|
39284
39557
|
});
|
|
39285
|
-
var contentConfigBaseSchema =
|
|
39286
|
-
contentTypes:
|
|
39287
|
-
entries:
|
|
39288
|
-
pages:
|
|
39289
|
-
navigationMenus:
|
|
39558
|
+
var contentConfigBaseSchema = z71.object({
|
|
39559
|
+
contentTypes: z71.array(contentTypeConfigSchema).optional(),
|
|
39560
|
+
entries: z71.array(entryConfigSchema).optional(),
|
|
39561
|
+
pages: z71.array(pageConfigSchema).optional(),
|
|
39562
|
+
navigationMenus: z71.array(navigationMenuConfigSchema).optional(),
|
|
39290
39563
|
settings: siteSettingsConfigSchema.optional()
|
|
39291
39564
|
});
|
|
39292
39565
|
var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
@@ -39295,7 +39568,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39295
39568
|
const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
|
|
39296
39569
|
if (duplicateKeys.length > 0) {
|
|
39297
39570
|
ctx.addIssue({
|
|
39298
|
-
code:
|
|
39571
|
+
code: z71.ZodIssueCode.custom,
|
|
39299
39572
|
message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
|
|
39300
39573
|
path: ["contentTypes"]
|
|
39301
39574
|
});
|
|
@@ -39306,7 +39579,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39306
39579
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39307
39580
|
if (duplicateIds.length > 0) {
|
|
39308
39581
|
ctx.addIssue({
|
|
39309
|
-
code:
|
|
39582
|
+
code: z71.ZodIssueCode.custom,
|
|
39310
39583
|
message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39311
39584
|
path: ["pages"]
|
|
39312
39585
|
});
|
|
@@ -39315,7 +39588,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39315
39588
|
const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
|
|
39316
39589
|
if (duplicatePaths.length > 0) {
|
|
39317
39590
|
ctx.addIssue({
|
|
39318
|
-
code:
|
|
39591
|
+
code: z71.ZodIssueCode.custom,
|
|
39319
39592
|
message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
|
|
39320
39593
|
path: ["pages"]
|
|
39321
39594
|
});
|
|
@@ -39326,7 +39599,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39326
39599
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39327
39600
|
if (duplicateIds.length > 0) {
|
|
39328
39601
|
ctx.addIssue({
|
|
39329
|
-
code:
|
|
39602
|
+
code: z71.ZodIssueCode.custom,
|
|
39330
39603
|
message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39331
39604
|
path: ["entries"]
|
|
39332
39605
|
});
|
|
@@ -39337,7 +39610,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39337
39610
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39338
39611
|
if (duplicateIds.length > 0) {
|
|
39339
39612
|
ctx.addIssue({
|
|
39340
|
-
code:
|
|
39613
|
+
code: z71.ZodIssueCode.custom,
|
|
39341
39614
|
message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39342
39615
|
path: ["navigationMenus"]
|
|
39343
39616
|
});
|
|
@@ -39351,7 +39624,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39351
39624
|
const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
|
|
39352
39625
|
if (entriesForType.length > 1) {
|
|
39353
39626
|
ctx.addIssue({
|
|
39354
|
-
code:
|
|
39627
|
+
code: z71.ZodIssueCode.custom,
|
|
39355
39628
|
message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
|
|
39356
39629
|
path: ["entries"]
|
|
39357
39630
|
});
|
|
@@ -39464,18 +39737,18 @@ function validateLayout(layout) {
|
|
|
39464
39737
|
}
|
|
39465
39738
|
|
|
39466
39739
|
// src/config/dashboard-validation.ts
|
|
39467
|
-
import { z as
|
|
39468
|
-
var navIdListSchema2 =
|
|
39740
|
+
import { z as z72 } from "zod";
|
|
39741
|
+
var navIdListSchema2 = z72.preprocess((value) => {
|
|
39469
39742
|
if (!Array.isArray(value)) return void 0;
|
|
39470
39743
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
39471
39744
|
return filtered.length > 0 ? filtered : void 0;
|
|
39472
|
-
},
|
|
39473
|
-
var dashboardNavVisibilityBaseSchema2 =
|
|
39474
|
-
mode:
|
|
39745
|
+
}, z72.array(z72.string()).max(200, "Maximum 200 nav IDs").optional());
|
|
39746
|
+
var dashboardNavVisibilityBaseSchema2 = z72.object({
|
|
39747
|
+
mode: z72.enum(["augment", "restrict"]).optional(),
|
|
39475
39748
|
allowIds: navIdListSchema2,
|
|
39476
39749
|
denyIds: navIdListSchema2
|
|
39477
39750
|
}).strip();
|
|
39478
|
-
var dashboardNavVisibilityRolesSchema2 =
|
|
39751
|
+
var dashboardNavVisibilityRolesSchema2 = z72.object({
|
|
39479
39752
|
administrator: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39480
39753
|
editor: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39481
39754
|
team_member: dashboardNavVisibilityBaseSchema2.optional()
|
|
@@ -39483,43 +39756,28 @@ var dashboardNavVisibilityRolesSchema2 = z71.object({
|
|
|
39483
39756
|
var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
|
|
39484
39757
|
roles: dashboardNavVisibilityRolesSchema2
|
|
39485
39758
|
}).strip();
|
|
39486
|
-
var dashboardNavigationConfigSchema2 =
|
|
39759
|
+
var dashboardNavigationConfigSchema2 = z72.object({
|
|
39487
39760
|
siteNav: dashboardNavVisibilitySchema2.optional(),
|
|
39488
39761
|
settingsNav: dashboardNavVisibilitySchema2.optional()
|
|
39489
39762
|
}).strip();
|
|
39490
|
-
var dashboardConfigSchema2 =
|
|
39491
|
-
previewEditingEnabled:
|
|
39763
|
+
var dashboardConfigSchema2 = z72.object({
|
|
39764
|
+
previewEditingEnabled: z72.boolean().optional(),
|
|
39492
39765
|
navigation: dashboardNavigationConfigSchema2.optional()
|
|
39493
39766
|
}).strip();
|
|
39494
39767
|
|
|
39495
39768
|
// src/zod/titleSourceSchema.ts
|
|
39496
|
-
import { z as
|
|
39497
|
-
var titleSourceValueSchema =
|
|
39498
|
-
|
|
39499
|
-
|
|
39769
|
+
import { z as z73 } from "zod";
|
|
39770
|
+
var titleSourceValueSchema = z73.union([
|
|
39771
|
+
z73.string().min(1),
|
|
39772
|
+
z73.array(z73.string().min(1)).min(1)
|
|
39500
39773
|
]);
|
|
39501
39774
|
|
|
39502
|
-
// src/data/prefetchBlockData.ts
|
|
39503
|
-
var SUPPORTED_LOADER_ENDPOINTS2 = [
|
|
39504
|
-
"listPublishedEntries",
|
|
39505
|
-
"getPublishedEntryPreview",
|
|
39506
|
-
"listPublicEvents",
|
|
39507
|
-
"listPublicCourses",
|
|
39508
|
-
"listPublicTeamMembers",
|
|
39509
|
-
"listPublicProducts",
|
|
39510
|
-
"listPublicPasses",
|
|
39511
|
-
"listPublicMemberships",
|
|
39512
|
-
"getPublicFormById",
|
|
39513
|
-
"getPublicBookingServices",
|
|
39514
|
-
"getPublicEventDetails"
|
|
39515
|
-
];
|
|
39516
|
-
|
|
39517
39775
|
// src/config/validation.ts
|
|
39518
|
-
var sdkThemePaletteSchema2 =
|
|
39519
|
-
var sdkThemeConfigSchema2 =
|
|
39776
|
+
var sdkThemePaletteSchema2 = z74.record(z74.string(), z74.string());
|
|
39777
|
+
var sdkThemeConfigSchema2 = z74.object({
|
|
39520
39778
|
palette: sdkThemePaletteSchema2
|
|
39521
39779
|
});
|
|
39522
|
-
var sdkSiteUrlSchema =
|
|
39780
|
+
var sdkSiteUrlSchema = z74.string().url("Must be a valid URL").refine((url) => {
|
|
39523
39781
|
try {
|
|
39524
39782
|
const parsed = new URL(url);
|
|
39525
39783
|
const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
|
|
@@ -39528,97 +39786,97 @@ var sdkSiteUrlSchema = z73.string().url("Must be a valid URL").refine((url) => {
|
|
|
39528
39786
|
return false;
|
|
39529
39787
|
}
|
|
39530
39788
|
}, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
|
|
39531
|
-
var sectionBackgroundSchema =
|
|
39532
|
-
id:
|
|
39533
|
-
label:
|
|
39534
|
-
token:
|
|
39789
|
+
var sectionBackgroundSchema = z74.object({
|
|
39790
|
+
id: z74.string(),
|
|
39791
|
+
label: z74.string(),
|
|
39792
|
+
token: z74.string()
|
|
39535
39793
|
// Reference to theme palette token
|
|
39536
39794
|
});
|
|
39537
|
-
var sectionSpacingSchema =
|
|
39538
|
-
var containerMaxWidthSchema =
|
|
39539
|
-
var containerAlignmentSchema =
|
|
39540
|
-
var sectionOptionsSchema =
|
|
39541
|
-
backgroundColor:
|
|
39542
|
-
backgroundImage:
|
|
39543
|
-
backgroundGradient:
|
|
39544
|
-
spacing:
|
|
39545
|
-
|
|
39546
|
-
|
|
39795
|
+
var sectionSpacingSchema = z74.enum(["compact", "default", "spacious"]);
|
|
39796
|
+
var containerMaxWidthSchema = z74.enum(["narrow", "default", "wide", "full"]);
|
|
39797
|
+
var containerAlignmentSchema = z74.enum(["left", "center", "right"]);
|
|
39798
|
+
var sectionOptionsSchema = z74.object({
|
|
39799
|
+
backgroundColor: z74.boolean().optional(),
|
|
39800
|
+
backgroundImage: z74.boolean().optional(),
|
|
39801
|
+
backgroundGradient: z74.boolean().optional(),
|
|
39802
|
+
spacing: z74.union([
|
|
39803
|
+
z74.array(sectionSpacingSchema),
|
|
39804
|
+
z74.boolean()
|
|
39547
39805
|
]).optional(),
|
|
39548
|
-
textColor:
|
|
39806
|
+
textColor: z74.boolean().optional()
|
|
39549
39807
|
}).optional();
|
|
39550
|
-
var containerOptionsSchema =
|
|
39551
|
-
maxWidth:
|
|
39552
|
-
|
|
39553
|
-
|
|
39808
|
+
var containerOptionsSchema = z74.object({
|
|
39809
|
+
maxWidth: z74.union([
|
|
39810
|
+
z74.array(containerMaxWidthSchema),
|
|
39811
|
+
z74.boolean()
|
|
39554
39812
|
]).optional(),
|
|
39555
|
-
alignment:
|
|
39556
|
-
|
|
39557
|
-
|
|
39813
|
+
alignment: z74.union([
|
|
39814
|
+
z74.array(containerAlignmentSchema),
|
|
39815
|
+
z74.boolean()
|
|
39558
39816
|
]).optional()
|
|
39559
39817
|
}).optional();
|
|
39560
|
-
var siteStyleConfigSchema =
|
|
39561
|
-
sectionBackgrounds:
|
|
39818
|
+
var siteStyleConfigSchema = z74.object({
|
|
39819
|
+
sectionBackgrounds: z74.array(sectionBackgroundSchema).optional(),
|
|
39562
39820
|
sectionOptions: sectionOptionsSchema,
|
|
39563
39821
|
containerOptions: containerOptionsSchema
|
|
39564
39822
|
}).optional();
|
|
39565
|
-
var sdkLoaderEndpointSchema2 =
|
|
39823
|
+
var sdkLoaderEndpointSchema2 = z74.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
39566
39824
|
var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
|
|
39567
|
-
var loaderTransformStepSchema =
|
|
39568
|
-
id:
|
|
39825
|
+
var loaderTransformStepSchema = z74.object({
|
|
39826
|
+
id: z74.string().refine((id) => allowedTransformIds.has(id), {
|
|
39569
39827
|
message: "Unknown transform id"
|
|
39570
39828
|
}),
|
|
39571
|
-
options:
|
|
39829
|
+
options: z74.record(z74.string(), z74.unknown()).optional()
|
|
39572
39830
|
});
|
|
39573
|
-
var loaderParamBindingSchema2 =
|
|
39574
|
-
$bind:
|
|
39575
|
-
from:
|
|
39831
|
+
var loaderParamBindingSchema2 = z74.object({
|
|
39832
|
+
$bind: z74.object({
|
|
39833
|
+
from: z74.string().min(1, "Binding path is required"),
|
|
39576
39834
|
// Loader params are ultimately string-normalized for query strings, so fallbacks should
|
|
39577
39835
|
// stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
|
|
39578
39836
|
// more complex values into a string.
|
|
39579
39837
|
fallback: loaderFallbackScalarSchema.optional(),
|
|
39580
|
-
transforms:
|
|
39581
|
-
pick:
|
|
39582
|
-
coerce:
|
|
39838
|
+
transforms: z74.array(loaderTransformStepSchema).default([]),
|
|
39839
|
+
pick: z74.enum(["value", "collection", "context"]).default("value"),
|
|
39840
|
+
coerce: z74.enum(["number", "boolean", "string"]).optional()
|
|
39583
39841
|
})
|
|
39584
39842
|
});
|
|
39585
|
-
var loaderParamValueSchema2 =
|
|
39586
|
-
|
|
39587
|
-
|
|
39588
|
-
|
|
39843
|
+
var loaderParamValueSchema2 = z74.union([
|
|
39844
|
+
z74.string(),
|
|
39845
|
+
z74.number(),
|
|
39846
|
+
z74.boolean(),
|
|
39589
39847
|
loaderParamBindingSchema2
|
|
39590
39848
|
]);
|
|
39591
|
-
var loaderWhenValueSchema =
|
|
39592
|
-
|
|
39849
|
+
var loaderWhenValueSchema = z74.union([
|
|
39850
|
+
z74.boolean(),
|
|
39593
39851
|
loaderParamBindingSchema2
|
|
39594
39852
|
]);
|
|
39595
|
-
var sdkConfigLoaderSchema2 =
|
|
39853
|
+
var sdkConfigLoaderSchema2 = z74.object({
|
|
39596
39854
|
endpoint: sdkLoaderEndpointSchema2,
|
|
39597
|
-
params:
|
|
39598
|
-
mode:
|
|
39855
|
+
params: z74.record(z74.string(), loaderParamValueSchema2),
|
|
39856
|
+
mode: z74.enum(["server", "client"]).default("server"),
|
|
39599
39857
|
when: loaderWhenValueSchema.optional()
|
|
39600
39858
|
});
|
|
39601
|
-
var sdkDataLoadersSchema2 =
|
|
39859
|
+
var sdkDataLoadersSchema2 = z74.record(z74.string(), sdkConfigLoaderSchema2).refine(
|
|
39602
39860
|
(loaders) => Object.keys(loaders).length <= 5,
|
|
39603
39861
|
{ message: "Maximum 5 data loaders per block" }
|
|
39604
39862
|
).optional();
|
|
39605
|
-
var fieldSelectOptionSchema =
|
|
39606
|
-
value:
|
|
39607
|
-
label:
|
|
39863
|
+
var fieldSelectOptionSchema = z74.object({
|
|
39864
|
+
value: z74.string().min(1, "Option value is required"),
|
|
39865
|
+
label: z74.string().min(1, "Option label is required")
|
|
39608
39866
|
});
|
|
39609
|
-
var blockFieldConfigSchema =
|
|
39610
|
-
options:
|
|
39867
|
+
var blockFieldConfigSchema = z74.object({
|
|
39868
|
+
options: z74.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
|
|
39611
39869
|
});
|
|
39612
|
-
var blockFieldOptionsSchema =
|
|
39613
|
-
|
|
39870
|
+
var blockFieldOptionsSchema = z74.record(
|
|
39871
|
+
z74.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
39614
39872
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
39615
39873
|
}),
|
|
39616
|
-
|
|
39617
|
-
|
|
39874
|
+
z74.record(
|
|
39875
|
+
z74.string().min(1, "Field ID is required"),
|
|
39618
39876
|
blockFieldConfigSchema
|
|
39619
39877
|
)
|
|
39620
39878
|
).optional();
|
|
39621
|
-
var blockFieldExtensionSchema =
|
|
39879
|
+
var blockFieldExtensionSchema = z74.object({
|
|
39622
39880
|
fields: fieldSchema.array().min(1, "At least one field is required")
|
|
39623
39881
|
}).refine(
|
|
39624
39882
|
(data) => {
|
|
@@ -39632,10 +39890,10 @@ var blockFieldExtensionSchema = z73.object({
|
|
|
39632
39890
|
message: "Required fields must have a defaultValue to support existing blocks"
|
|
39633
39891
|
}
|
|
39634
39892
|
);
|
|
39635
|
-
var blockFieldExtensionsMapSchema =
|
|
39893
|
+
var blockFieldExtensionsMapSchema = z74.record(
|
|
39636
39894
|
// System blocks are kebab-case: block.body-text, block.event-calendar, ...
|
|
39637
39895
|
// Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
|
|
39638
|
-
|
|
39896
|
+
z74.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
|
|
39639
39897
|
message: "Block ID must be 'block.*' format (system blocks only)"
|
|
39640
39898
|
}),
|
|
39641
39899
|
blockFieldExtensionSchema
|
|
@@ -39651,7 +39909,7 @@ var blockFieldExtensionsMapSchema = z73.record(
|
|
|
39651
39909
|
(field) => field.id === collision.fieldId
|
|
39652
39910
|
);
|
|
39653
39911
|
ctx.addIssue({
|
|
39654
|
-
code:
|
|
39912
|
+
code: z74.ZodIssueCode.custom,
|
|
39655
39913
|
message: collision.message,
|
|
39656
39914
|
path: [
|
|
39657
39915
|
APPOINTMENT_BOOKING_BLOCK_ID,
|
|
@@ -39666,24 +39924,24 @@ var blockFieldExtensionsSchema = blockFieldExtensionsMapSchema.optional();
|
|
|
39666
39924
|
function collectAppointmentBookingExtensionReservedFieldCollisions(extension) {
|
|
39667
39925
|
return collectBookingReservedFieldCollisions(extension, { type: "booking" });
|
|
39668
39926
|
}
|
|
39669
|
-
var syncConfigSchema =
|
|
39670
|
-
existingEntries:
|
|
39927
|
+
var syncConfigSchema = z74.object({
|
|
39928
|
+
existingEntries: z74.enum(["skip", "update"]).optional()
|
|
39671
39929
|
}).optional();
|
|
39672
|
-
var deployConfigSchema =
|
|
39673
|
-
verifyCommand:
|
|
39674
|
-
prebuildOutput:
|
|
39930
|
+
var deployConfigSchema = z74.object({
|
|
39931
|
+
verifyCommand: z74.string().optional(),
|
|
39932
|
+
prebuildOutput: z74.string().optional()
|
|
39675
39933
|
}).optional();
|
|
39676
|
-
var sdkCustomBlockSchema =
|
|
39934
|
+
var sdkCustomBlockSchema = z74.object({
|
|
39677
39935
|
// Block ID must start with 'custom.'
|
|
39678
|
-
id:
|
|
39936
|
+
id: z74.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
39679
39937
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
39680
39938
|
}),
|
|
39681
|
-
title:
|
|
39939
|
+
title: z74.string().min(1, "Title is required"),
|
|
39682
39940
|
titleSource: titleSourceValueSchema.optional(),
|
|
39683
|
-
description:
|
|
39941
|
+
description: z74.string().optional(),
|
|
39684
39942
|
category: blockCategoryEnum,
|
|
39685
|
-
icon:
|
|
39686
|
-
tags:
|
|
39943
|
+
icon: z74.string().optional(),
|
|
39944
|
+
tags: z74.array(z74.string()).optional(),
|
|
39687
39945
|
// Reuse the exact field schema from @riverbankcms/blocks - all field types supported
|
|
39688
39946
|
fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
39689
39947
|
// Data loaders for CMS endpoints
|
|
@@ -39691,14 +39949,14 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39691
39949
|
// Optional declarative layout - when present, block can render without React override
|
|
39692
39950
|
layout: NodeSchema.optional(),
|
|
39693
39951
|
// Optional variants system (preferred when a block has multiple structural layouts)
|
|
39694
|
-
variants:
|
|
39695
|
-
defaultVariant:
|
|
39696
|
-
variantOptions:
|
|
39697
|
-
|
|
39698
|
-
|
|
39699
|
-
label:
|
|
39700
|
-
description:
|
|
39701
|
-
icon:
|
|
39952
|
+
variants: z74.record(z74.string().min(1), NodeSchema).optional(),
|
|
39953
|
+
defaultVariant: z74.string().min(1).optional(),
|
|
39954
|
+
variantOptions: z74.record(
|
|
39955
|
+
z74.string().min(1),
|
|
39956
|
+
z74.object({
|
|
39957
|
+
label: z74.string().min(1).optional(),
|
|
39958
|
+
description: z74.string().min(1).optional(),
|
|
39959
|
+
icon: z74.string().min(1).optional()
|
|
39702
39960
|
})
|
|
39703
39961
|
).optional(),
|
|
39704
39962
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -39710,7 +39968,7 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39710
39968
|
const exists = fields3.some((field) => field.id === source);
|
|
39711
39969
|
if (!exists) {
|
|
39712
39970
|
ctx.addIssue({
|
|
39713
|
-
code:
|
|
39971
|
+
code: z74.ZodIssueCode.custom,
|
|
39714
39972
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
39715
39973
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
39716
39974
|
});
|
|
@@ -39719,7 +39977,7 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39719
39977
|
}
|
|
39720
39978
|
if (data.layout && data.variants) {
|
|
39721
39979
|
ctx.addIssue({
|
|
39722
|
-
code:
|
|
39980
|
+
code: z74.ZodIssueCode.custom,
|
|
39723
39981
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
39724
39982
|
path: ["variants"]
|
|
39725
39983
|
});
|
|
@@ -39729,7 +39987,7 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39729
39987
|
if (!result.valid) {
|
|
39730
39988
|
for (const error of result.errors) {
|
|
39731
39989
|
ctx.addIssue({
|
|
39732
|
-
code:
|
|
39990
|
+
code: z74.ZodIssueCode.custom,
|
|
39733
39991
|
message: error.message,
|
|
39734
39992
|
path: ["layout"]
|
|
39735
39993
|
});
|
|
@@ -39740,14 +39998,14 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39740
39998
|
const keys = Object.keys(data.variants);
|
|
39741
39999
|
if (keys.length === 0) {
|
|
39742
40000
|
ctx.addIssue({
|
|
39743
|
-
code:
|
|
40001
|
+
code: z74.ZodIssueCode.custom,
|
|
39744
40002
|
message: "`variants` must contain at least one variant key",
|
|
39745
40003
|
path: ["variants"]
|
|
39746
40004
|
});
|
|
39747
40005
|
}
|
|
39748
40006
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
39749
40007
|
ctx.addIssue({
|
|
39750
|
-
code:
|
|
40008
|
+
code: z74.ZodIssueCode.custom,
|
|
39751
40009
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
39752
40010
|
path: ["defaultVariant"]
|
|
39753
40011
|
});
|
|
@@ -39757,7 +40015,7 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39757
40015
|
if (!result.valid) {
|
|
39758
40016
|
for (const error of result.errors) {
|
|
39759
40017
|
ctx.addIssue({
|
|
39760
|
-
code:
|
|
40018
|
+
code: z74.ZodIssueCode.custom,
|
|
39761
40019
|
message: `${key}: ${error.message}`,
|
|
39762
40020
|
path: ["variants", key]
|
|
39763
40021
|
});
|
|
@@ -39768,7 +40026,7 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39768
40026
|
for (const key of Object.keys(data.variantOptions)) {
|
|
39769
40027
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
39770
40028
|
ctx.addIssue({
|
|
39771
|
-
code:
|
|
40029
|
+
code: z74.ZodIssueCode.custom,
|
|
39772
40030
|
message: "`variantOptions` key must exist in `variants`",
|
|
39773
40031
|
path: ["variantOptions", key]
|
|
39774
40032
|
});
|
|
@@ -39777,58 +40035,58 @@ var sdkCustomBlockSchema = z73.object({
|
|
|
39777
40035
|
}
|
|
39778
40036
|
}
|
|
39779
40037
|
});
|
|
39780
|
-
var themeSourceSchema =
|
|
39781
|
-
var activeThemeSchema =
|
|
40038
|
+
var themeSourceSchema = z74.enum(["local", "cms"]).optional();
|
|
40039
|
+
var activeThemeSchema = z74.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
|
|
39782
40040
|
message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
|
|
39783
40041
|
}).max(64, "Theme name too long").optional();
|
|
39784
40042
|
function isValidConfigBlockKind(kind) {
|
|
39785
40043
|
if (getBlockDefinition(kind)) return true;
|
|
39786
40044
|
return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
|
|
39787
40045
|
}
|
|
39788
|
-
var layoutBlockKindSchema =
|
|
40046
|
+
var layoutBlockKindSchema = z74.string().refine(isValidConfigBlockKind, {
|
|
39789
40047
|
message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
|
|
39790
40048
|
});
|
|
39791
|
-
var layoutFooterBlockSchema =
|
|
39792
|
-
id:
|
|
40049
|
+
var layoutFooterBlockSchema = z74.object({
|
|
40050
|
+
id: z74.string().min(1).optional(),
|
|
39793
40051
|
kind: layoutBlockKindSchema,
|
|
39794
40052
|
// Allow omitted content for blocks that rely on defaults.
|
|
39795
|
-
content:
|
|
40053
|
+
content: z74.record(z74.string(), z74.unknown()).optional()
|
|
39796
40054
|
}).strict();
|
|
39797
|
-
var layoutConfigSchema =
|
|
39798
|
-
footerBlocks:
|
|
40055
|
+
var layoutConfigSchema = z74.object({
|
|
40056
|
+
footerBlocks: z74.array(layoutFooterBlockSchema).optional()
|
|
39799
40057
|
}).strict();
|
|
39800
|
-
var sdkWorkflowIdSchema2 =
|
|
40058
|
+
var sdkWorkflowIdSchema2 = z74.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
39801
40059
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
39802
40060
|
});
|
|
39803
|
-
var sdkWorkflowEndpointSchema2 =
|
|
39804
|
-
var sdkWorkflowTriggerSchema2 =
|
|
39805
|
-
|
|
40061
|
+
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 "/"' });
|
|
40062
|
+
var sdkWorkflowTriggerSchema2 = z74.discriminatedUnion("type", [
|
|
40063
|
+
z74.object({ type: z74.literal("manual") }).strict()
|
|
39806
40064
|
]);
|
|
39807
|
-
var sdkWorkflowConfirmationSchema2 =
|
|
39808
|
-
title:
|
|
39809
|
-
body:
|
|
40065
|
+
var sdkWorkflowConfirmationSchema2 = z74.object({
|
|
40066
|
+
title: z74.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
40067
|
+
body: z74.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
39810
40068
|
}).strict();
|
|
39811
|
-
var sdkWorkflowConfigSchema2 =
|
|
40069
|
+
var sdkWorkflowConfigSchema2 = z74.object({
|
|
39812
40070
|
id: sdkWorkflowIdSchema2,
|
|
39813
|
-
title:
|
|
39814
|
-
description:
|
|
39815
|
-
contentType:
|
|
40071
|
+
title: z74.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
40072
|
+
description: z74.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
40073
|
+
contentType: z74.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
39816
40074
|
endpoint: sdkWorkflowEndpointSchema2,
|
|
39817
|
-
triggers:
|
|
40075
|
+
triggers: z74.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
39818
40076
|
confirmation: sdkWorkflowConfirmationSchema2.optional()
|
|
39819
40077
|
}).strict();
|
|
39820
|
-
var sdkWorkflowsSchema2 =
|
|
40078
|
+
var sdkWorkflowsSchema2 = z74.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
39821
40079
|
const ids = workflows.map((workflow) => workflow.id);
|
|
39822
40080
|
return ids.length === new Set(ids).size;
|
|
39823
40081
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
39824
|
-
var riverbankSiteConfigSchema =
|
|
39825
|
-
siteId:
|
|
40082
|
+
var riverbankSiteConfigSchema = z74.object({
|
|
40083
|
+
siteId: z74.string().uuid(),
|
|
39826
40084
|
previewUrl: sdkSiteUrlSchema.optional(),
|
|
39827
40085
|
liveUrl: sdkSiteUrlSchema.optional(),
|
|
39828
40086
|
theme: sdkThemeConfigSchema2.optional(),
|
|
39829
40087
|
styles: siteStyleConfigSchema,
|
|
39830
40088
|
layout: layoutConfigSchema.optional(),
|
|
39831
|
-
customBlocks:
|
|
40089
|
+
customBlocks: z74.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
|
|
39832
40090
|
// Ensure unique block IDs
|
|
39833
40091
|
(blocks) => {
|
|
39834
40092
|
const ids = blocks.map((b) => b.id);
|
|
@@ -39841,7 +40099,7 @@ var riverbankSiteConfigSchema = z73.object({
|
|
|
39841
40099
|
workflows: sdkWorkflowsSchema2,
|
|
39842
40100
|
content: contentConfigSchema.optional(),
|
|
39843
40101
|
// CLI-related configuration (Phase 4)
|
|
39844
|
-
contentDir:
|
|
40102
|
+
contentDir: z74.string().optional(),
|
|
39845
40103
|
sync: syncConfigSchema,
|
|
39846
40104
|
deploy: deployConfigSchema,
|
|
39847
40105
|
// Theme sync configuration (Phase 5)
|