@riverbankcms/sdk 0.88.0 → 0.90.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -4
- package/dist/{PreviewEditorSidebar-EVRS3C7T.mjs → PreviewEditorSidebar-KVXNF3VW.mjs} +3 -3
- package/dist/{PreviewEditorUI-54WD4IGE.mjs → PreviewEditorUI-J3JN5Z7T.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-UBL6MSNP.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +216 -0
- package/dist/_dts/altcha/src/AltchaWidget.d.ts +1 -1
- package/dist/_dts/api/src/accessAdmin.d.ts +7 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +2 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +4 -2
- package/dist/_dts/api/src/bookings.d.ts +3 -1
- package/dist/_dts/api/src/endpoints.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +7 -6
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -5
- package/dist/_dts/api/src/request.d.ts +21 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +3 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/siteMembers.d.ts +6 -1
- package/dist/_dts/api/src/types.d.ts +4 -2
- package/dist/_dts/api/src/url.d.ts +6 -3
- package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +5 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +9 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +7 -11
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -6
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +0 -2
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +8 -0
- package/dist/_dts/blocks/src/system/constants/events.d.ts +4 -1
- package/dist/_dts/blocks/src/system/icons/cta.d.ts +3 -3
- package/dist/_dts/blocks/src/system/icons/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -2
- package/dist/_dts/blocks/src/system/icons/semantic.d.ts +3 -3
- package/dist/_dts/blocks/src/system/icons/svg.d.ts +72 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +18 -5
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +51 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/loadStateError.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.state.d.ts +55 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.state.d.ts +39 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.d.ts +4 -27
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.state.d.ts +40 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.state.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.state.d.ts +39 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +50 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +11 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +11 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/calendarViewOptions.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +24 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +35 -0
- package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
- package/dist/_dts/content-model/src/entry-slots/sdkBlocks.d.ts +21 -0
- package/dist/_dts/content-model/src/entry-slots/types.d.ts +61 -0
- package/dist/_dts/core/src/branded.d.ts +7 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/money-input.d.ts +18 -0
- package/dist/_dts/core/src/site-route-target.d.ts +40 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +209 -2
- package/dist/_dts/media-core/src/fileDomain.d.ts +4 -0
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
- package/dist/_dts/media-editor/src/fieldUi.d.ts +6 -0
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +6 -0
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +10 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +12 -5
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -55
- package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +160 -0
- package/dist/_dts/sdk/src/client/types.d.ts +26 -1
- package/dist/_dts/sdk/src/components.d.ts +1 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -1
- package/dist/_dts/sdk/src/index.d.ts +3 -1
- package/dist/_dts/sdk/src/next/types.d.ts +8 -11
- package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/blocks-theme-scope.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +8 -7
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -6
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/server.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +26 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +18 -0
- package/dist/_dts/theme-core/src/ResponsiveScope.d.ts +12 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/types.d.ts +5 -5
- package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +21 -21
- package/dist/_dts/theme-core/src/schema.d.ts +18 -18
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
- package/dist/_dts/theme-core/src/themeRuntime.d.ts +11 -0
- package/dist/{chunk-ER4UIW4X.mjs → chunk-AEOYWPE4.mjs} +91 -55
- package/dist/{chunk-O4LVYUVH.mjs → chunk-BOQXMCSP.mjs} +147 -101
- package/dist/{chunk-HVOBXA3Y.mjs → chunk-GSPFFUVB.mjs} +2 -2
- package/dist/{chunk-7KOO7RPP.mjs → chunk-PMBB6MQ7.mjs} +2273 -1113
- package/dist/{chunk-K3JWH6HE.mjs → chunk-RQ3XZ4SJ.mjs} +9 -1
- package/dist/{chunk-YDMBIIS5.mjs → chunk-UG7I7S7W.mjs} +1 -1
- package/dist/cli/index.mjs +1564 -546
- package/dist/cli/init-docs/content/cli-reference.md +6 -1
- package/dist/cli/init-docs/content/content-management.md +27 -0
- package/dist/client/{accordion-PT5CGW5N.mjs → accordion-GXQNWQ6O.mjs} +2 -2
- package/dist/client/{bookingForm-2HLRTEYS.mjs → bookingForm-STLUJ36H.mjs} +206 -335
- package/dist/client/bookings.mjs +821 -413
- package/dist/client/{carousel-Z2LKYSWA.mjs → carousel-CVRN6EPP.mjs} +4 -3
- package/dist/client/{cart-ND5IK4A6.mjs → cart-IYIBA5CL.mjs} +8 -8
- package/dist/client/{checkout-EYUSGAY7.mjs → checkout-O3BGM4GS.mjs} +8 -8
- package/dist/client/chunk-4RTFGHZN.mjs +433 -0
- package/dist/client/{chunk-DIRW2LNG.mjs → chunk-6DPXDOIL.mjs} +336 -225
- package/dist/client/chunk-6N7YRNYU.mjs +183 -0
- package/dist/client/{chunk-O5JNI3E4.mjs → chunk-7DH35FGA.mjs} +2 -2
- package/dist/client/{chunk-S4G65LGR.mjs → chunk-D3ETC2SU.mjs} +1 -1
- package/dist/client/{chunk-BAWHZ5GM.mjs → chunk-DAS5CIER.mjs} +460 -157
- package/dist/client/{chunk-6DVPO44G.mjs → chunk-FHU6PFPM.mjs} +1 -1
- package/dist/client/{chunk-SDIYSQAY.mjs → chunk-HIHOQGIP.mjs} +2 -3
- package/dist/client/{chunk-BL66UWGD.mjs → chunk-MFPKS6QS.mjs} +13 -16
- package/dist/client/{chunk-X7GVFB7Y.mjs → chunk-NBFRJ5NB.mjs} +157 -5
- package/dist/client/{chunk-WCVK4MBJ.mjs → chunk-VFHZLZAC.mjs} +1 -1
- package/dist/client/{chunk-GOFO7HRH.mjs → chunk-WHZQDPBZ.mjs} +19 -1
- package/dist/client/{chunk-MHBEWDT7.mjs → chunk-Z62JYS5O.mjs} +122 -50
- package/dist/client/client.mjs +5979 -5198
- package/dist/client/{courseRegistration-H3AZBUEG.mjs → courseRegistration-2D3ACMJR.mjs} +20 -58
- package/dist/client/{eventCalendar-FPKJGLGS.mjs → eventCalendar-QY4UZUFF.mjs} +11 -11
- package/dist/client/{eventCombined-QCGIZBUY.mjs → eventCombined-RRCDKJC2.mjs} +11 -11
- package/dist/client/{eventDetails-HIT3BJWU.mjs → eventDetails-YO335BUT.mjs} +11 -11
- package/dist/client/{eventListing-R4HNWJDN.mjs → eventListing-PXA6GFQ3.mjs} +11 -11
- package/dist/client/{eventRegistration-Q7BYY5HF.mjs → eventRegistration-2ZHEDDXO.mjs} +11 -11
- package/dist/client/{form-NI6YOG6S.mjs → form-ZS6KX4U2.mjs} +7 -7
- package/dist/client/{headerSection-SDYGII36.mjs → headerSection-QK5SLIIB.mjs} +3 -3
- package/dist/client/hooks.mjs +1102 -1029
- package/dist/client/{locationMap-BDETEUQD.mjs → locationMap-GFNIUD2X.mjs} +3 -3
- package/dist/client/{newsletterForm-EKYIU67X.mjs → newsletterForm-PGLTTCUG.mjs} +61 -25
- package/dist/client/{productDetail-5UTGNN76.mjs → productDetail-OPBE5ZPI.mjs} +8 -8
- package/dist/client/{productList-7YA5KXZQ.mjs → productList-NI72Q62Z.mjs} +8 -8
- package/dist/client/rendering/client.mjs +4390 -4245
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3327 -3181
- package/dist/client/{shop-AIMUMZYC.mjs → shop-3ZQPEWYI.mjs} +8 -8
- package/dist/client/spam-protection.mjs +4 -5
- package/dist/preview-next/before-render.mjs +20 -2
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +18 -0
- package/dist/{sdk-runtime-NW472WNT.mjs → sdk-runtime-FSHXCWDS.mjs} +6 -6
- package/dist/server/components.mjs +2580 -2783
- package/dist/server/config-validation.mjs +1334 -1261
- package/dist/server/config.mjs +1334 -1261
- package/dist/server/data.mjs +1102 -1029
- package/dist/server/index.mjs +1097 -476
- package/dist/server/navigation.mjs +20 -30
- package/dist/server/next.mjs +3282 -2847
- package/dist/server/page-converter.mjs +1009 -946
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2580 -2783
- package/dist/server/rendering.mjs +2586 -2789
- package/dist/server/routing.mjs +1440 -1053
- package/dist/server/server.mjs +1886 -1153
- package/dist/server/theme-bridge.mjs +34 -5
- package/dist/styles/index.css +26 -0
- package/package.json +3 -2
- package/dist/SdkPreviewModeRuntime-ZALZDJEK.mjs +0 -8
- package/dist/client/chunk-H4MHEXYS.mjs +0 -184
- package/dist/client/chunk-ZFHRN6W2.mjs +0 -66
- /package/dist/client/{chunk-LI2C6M5O.mjs → chunk-25W2EQUN.mjs} +0 -0
package/dist/server/server.mjs
CHANGED
|
@@ -1865,6 +1865,24 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1865
1865
|
auth: "user",
|
|
1866
1866
|
responseKind: "json"
|
|
1867
1867
|
},
|
|
1868
|
+
resendSiteInvitation: {
|
|
1869
|
+
path: "/sites/{siteId}/members/invitations/{invitationId}/resend",
|
|
1870
|
+
method: "POST",
|
|
1871
|
+
errors: [
|
|
1872
|
+
"auth:forbidden",
|
|
1873
|
+
"resource:not_found",
|
|
1874
|
+
"validation:invalid_input",
|
|
1875
|
+
"external:service_error",
|
|
1876
|
+
"server:internal_error"
|
|
1877
|
+
],
|
|
1878
|
+
tags: [
|
|
1879
|
+
"site-{siteId}",
|
|
1880
|
+
"site-members-{siteId}",
|
|
1881
|
+
"site-invite-{invitationId}"
|
|
1882
|
+
],
|
|
1883
|
+
auth: "user",
|
|
1884
|
+
responseKind: "json"
|
|
1885
|
+
},
|
|
1868
1886
|
transferSiteOwnership: {
|
|
1869
1887
|
path: "/sites/{siteId}/members/transfer-ownership",
|
|
1870
1888
|
method: "POST",
|
|
@@ -6501,19 +6519,23 @@ function normalizeDashboardOrigin(input) {
|
|
|
6501
6519
|
}
|
|
6502
6520
|
function deriveCmsApiUrlFromDashboardUrl(input) {
|
|
6503
6521
|
const origin = normalizeDashboardOrigin(input);
|
|
6504
|
-
return origin ? `${origin}/api` : "";
|
|
6522
|
+
return origin ? normalizeCmsApiBaseUrl(`${origin}/api`) : "";
|
|
6523
|
+
}
|
|
6524
|
+
function normalizeCmsApiBaseUrl(input) {
|
|
6525
|
+
return input.trim().replace(/\/+$/, "").replace(/(?:\/api)+$/i, "/api");
|
|
6505
6526
|
}
|
|
6506
6527
|
function getCmsApiUrl() {
|
|
6507
6528
|
if (typeof window !== "undefined") {
|
|
6508
|
-
return "/api";
|
|
6529
|
+
return normalizeCmsApiBaseUrl("/api");
|
|
6509
6530
|
}
|
|
6510
6531
|
const internalUrl = process.env.CMS_API_URL;
|
|
6511
6532
|
if (internalUrl) {
|
|
6512
|
-
return internalUrl
|
|
6533
|
+
return normalizeCmsApiBaseUrl(internalUrl);
|
|
6513
6534
|
}
|
|
6514
6535
|
const dashboardUrl = process.env.NEXT_PUBLIC_DASHBOARD_URL;
|
|
6515
6536
|
if (dashboardUrl) {
|
|
6516
|
-
|
|
6537
|
+
const apiUrl = deriveCmsApiUrlFromDashboardUrl(dashboardUrl);
|
|
6538
|
+
if (apiUrl) return apiUrl;
|
|
6517
6539
|
}
|
|
6518
6540
|
throw new Error(
|
|
6519
6541
|
"CMS_API_URL or NEXT_PUBLIC_DASHBOARD_URL is not configured. Set NEXT_PUBLIC_DASHBOARD_URL to your dashboard URL (e.g., http://localhost:4000)"
|
|
@@ -6622,6 +6644,27 @@ function serializeQueryValue(value) {
|
|
|
6622
6644
|
if (value instanceof Date) return value.toISOString();
|
|
6623
6645
|
return null;
|
|
6624
6646
|
}
|
|
6647
|
+
function normalizeHeaders(source) {
|
|
6648
|
+
const normalized = {};
|
|
6649
|
+
if (!source) return normalized;
|
|
6650
|
+
new Headers(source).forEach((value, key) => {
|
|
6651
|
+
normalized[key] = value;
|
|
6652
|
+
});
|
|
6653
|
+
return normalized;
|
|
6654
|
+
}
|
|
6655
|
+
function buildRequestHeaders(input) {
|
|
6656
|
+
const headers = {
|
|
6657
|
+
...normalizeHeaders(input.optionsHeaders),
|
|
6658
|
+
...normalizeHeaders(input.authHeaders)
|
|
6659
|
+
};
|
|
6660
|
+
if (input.sdkVersion) {
|
|
6661
|
+
headers["x-sdk-version"] = input.sdkVersion;
|
|
6662
|
+
}
|
|
6663
|
+
if (input.includeJsonContentType) {
|
|
6664
|
+
headers["Content-Type"] = "application/json";
|
|
6665
|
+
}
|
|
6666
|
+
return headers;
|
|
6667
|
+
}
|
|
6625
6668
|
function serializePathParam(endpoint, key, value) {
|
|
6626
6669
|
if (typeof value === "string") {
|
|
6627
6670
|
return value;
|
|
@@ -6757,104 +6800,20 @@ function createRawCMSClient(headers = {}, baseUrl) {
|
|
|
6757
6800
|
params,
|
|
6758
6801
|
options = {}
|
|
6759
6802
|
}) => {
|
|
6760
|
-
const
|
|
6761
|
-
|
|
6762
|
-
|
|
6763
|
-
|
|
6764
|
-
|
|
6765
|
-
|
|
6766
|
-
|
|
6767
|
-
|
|
6768
|
-
if (originalPath.includes(bracePlaceholder) || originalPath.includes(colonPlaceholder)) {
|
|
6769
|
-
const stringValue = serializePathParam(endpoint, key, value);
|
|
6770
|
-
url = url.replace(bracePlaceholder, stringValue);
|
|
6771
|
-
url = url.replace(colonPlaceholder, stringValue);
|
|
6772
|
-
} else {
|
|
6773
|
-
unusedParams[key] = value;
|
|
6774
|
-
}
|
|
6775
|
-
});
|
|
6776
|
-
}
|
|
6777
|
-
const unresolvedPathParams = [
|
|
6778
|
-
...url.match(/\{[^}]+\}/g) ?? [],
|
|
6779
|
-
...url.match(/(^|\/):([A-Za-z][A-Za-z0-9_]*)\b/g) ?? []
|
|
6780
|
-
];
|
|
6781
|
-
if (unresolvedPathParams.length > 0) {
|
|
6782
|
-
const missingParams = Array.from(
|
|
6783
|
-
new Set(
|
|
6784
|
-
unresolvedPathParams.map((token) => {
|
|
6785
|
-
if (token.startsWith("{") && token.endsWith("}")) {
|
|
6786
|
-
return token.slice(1, -1);
|
|
6787
|
-
}
|
|
6788
|
-
return token.replace(/^\//, "").slice(1);
|
|
6789
|
-
})
|
|
6790
|
-
)
|
|
6791
|
-
);
|
|
6792
|
-
throw new Error(
|
|
6793
|
-
`Missing required path params for endpoint ${String(endpoint)}: ${missingParams.join(", ")}`
|
|
6794
|
-
);
|
|
6795
|
-
}
|
|
6796
|
-
const endpointConfig = API_ENDPOINTS[endpoint];
|
|
6797
|
-
const method = endpointConfig.method;
|
|
6798
|
-
const isGetOrHead = method === "GET" || method === "HEAD";
|
|
6799
|
-
const queryParams = new URLSearchParams();
|
|
6800
|
-
Object.entries(unusedParams).forEach(([key, value]) => {
|
|
6801
|
-
appendQueryParam(queryParams, key, value);
|
|
6803
|
+
const plan = buildApiRequestPlan({
|
|
6804
|
+
endpoint,
|
|
6805
|
+
body,
|
|
6806
|
+
params,
|
|
6807
|
+
options,
|
|
6808
|
+
headers,
|
|
6809
|
+
baseUrl: normalizeCmsApiBaseUrl(baseUrl ?? resolveApiBaseUrl()),
|
|
6810
|
+
sdkVersion
|
|
6802
6811
|
});
|
|
6803
|
-
|
|
6804
|
-
|
|
6805
|
-
appendQueryParam(queryParams, key, value);
|
|
6806
|
-
});
|
|
6807
|
-
}
|
|
6808
|
-
const queryString = queryParams.toString();
|
|
6809
|
-
if (queryString) {
|
|
6810
|
-
url += (url.includes("?") ? "&" : "?") + queryString;
|
|
6811
|
-
}
|
|
6812
|
-
const formDataBody = isFormDataBody(body) ? body : void 0;
|
|
6813
|
-
const optionsNext = options?.next;
|
|
6814
|
-
const nextOptions = { ...optionsNext ?? {} };
|
|
6815
|
-
const cacheIsNoStore = options?.cache === "no-store";
|
|
6816
|
-
if (cacheIsNoStore) {
|
|
6817
|
-
delete nextOptions.revalidate;
|
|
6818
|
-
} else if (isGetOrHead && nextOptions.revalidate === void 0 && "revalidate" in endpointConfig && typeof endpointConfig.revalidate === "number") {
|
|
6819
|
-
nextOptions.revalidate = endpointConfig.revalidate;
|
|
6820
|
-
}
|
|
6821
|
-
if ("tags" in endpointConfig && Array.isArray(endpointConfig.tags)) {
|
|
6822
|
-
const processedTags = endpointConfig.tags.map((tag) => {
|
|
6823
|
-
let processedTag = tag;
|
|
6824
|
-
if (params) {
|
|
6825
|
-
Object.entries(params).forEach(([key, value]) => {
|
|
6826
|
-
processedTag = processedTag.replace(`{${key}}`, String(value));
|
|
6827
|
-
});
|
|
6828
|
-
}
|
|
6829
|
-
return /\{[^}]+\}/.test(processedTag) ? null : processedTag;
|
|
6830
|
-
}).filter((tag) => tag !== null);
|
|
6831
|
-
nextOptions.tags = Array.from(/* @__PURE__ */ new Set([...nextOptions.tags ?? [], ...processedTags]));
|
|
6832
|
-
}
|
|
6833
|
-
const requestInit = {
|
|
6834
|
-
method,
|
|
6835
|
-
...options,
|
|
6836
|
-
// Include credentials for same-origin requests (sends cookies for auth)
|
|
6837
|
-
credentials: "same-origin",
|
|
6838
|
-
// Don't include body for GET/HEAD requests
|
|
6839
|
-
// FormData is pre-narrowed via isFormDataBody() above
|
|
6840
|
-
body: isGetOrHead || body == null ? void 0 : formDataBody ?? JSON.stringify(body),
|
|
6841
|
-
headers: {
|
|
6842
|
-
...options.headers,
|
|
6843
|
-
...headers,
|
|
6844
|
-
// Include SDK version if set
|
|
6845
|
-
...sdkVersion && { "x-sdk-version": sdkVersion },
|
|
6846
|
-
// Don't set Content-Type for GET/HEAD requests without body
|
|
6847
|
-
...isGetOrHead ? {} : formDataBody ? {} : { "Content-Type": "application/json" }
|
|
6848
|
-
},
|
|
6849
|
-
// Add Next.js caching options
|
|
6850
|
-
next: Object.keys(nextOptions).length > 0 ? nextOptions : void 0
|
|
6851
|
-
};
|
|
6852
|
-
const fetchPromise = fetch(url, requestInit);
|
|
6853
|
-
if (!isGetOrHead && "tags" in endpointConfig && Array.isArray(endpointConfig.tags)) {
|
|
6854
|
-
const tags2 = endpointConfig.tags.map((tag) => tag);
|
|
6812
|
+
const fetchPromise = fetch(plan.url, plan.init);
|
|
6813
|
+
if (plan.cacheInvalidationTags) {
|
|
6855
6814
|
return fetchPromise.then((response) => {
|
|
6856
6815
|
if (response.ok) {
|
|
6857
|
-
invalidateCacheTags(
|
|
6816
|
+
invalidateCacheTags(plan.cacheInvalidationTags, params);
|
|
6858
6817
|
}
|
|
6859
6818
|
return response;
|
|
6860
6819
|
});
|
|
@@ -6862,6 +6821,100 @@ function createRawCMSClient(headers = {}, baseUrl) {
|
|
|
6862
6821
|
return fetchPromise;
|
|
6863
6822
|
};
|
|
6864
6823
|
}
|
|
6824
|
+
function buildApiRequestPlan(input) {
|
|
6825
|
+
const { endpoint, body, params, headers = {}, baseUrl } = input;
|
|
6826
|
+
const options = input.options ?? {};
|
|
6827
|
+
let url = buildEndpointURL(baseUrl, endpoint);
|
|
6828
|
+
const originalPath = API_ENDPOINTS[endpoint].path;
|
|
6829
|
+
const unusedParams = {};
|
|
6830
|
+
if (params) {
|
|
6831
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
6832
|
+
const bracePlaceholder = `{${key}}`;
|
|
6833
|
+
const colonPlaceholder = `:${key}`;
|
|
6834
|
+
if (originalPath.includes(bracePlaceholder) || originalPath.includes(colonPlaceholder)) {
|
|
6835
|
+
const stringValue = serializePathParam(endpoint, key, value);
|
|
6836
|
+
url = url.replace(bracePlaceholder, stringValue);
|
|
6837
|
+
url = url.replace(colonPlaceholder, stringValue);
|
|
6838
|
+
} else {
|
|
6839
|
+
unusedParams[key] = value;
|
|
6840
|
+
}
|
|
6841
|
+
});
|
|
6842
|
+
}
|
|
6843
|
+
const unresolvedPathParams = [
|
|
6844
|
+
...url.match(/\{[^}]+\}/g) ?? [],
|
|
6845
|
+
...url.match(/(^|\/):([A-Za-z][A-Za-z0-9_]*)\b/g) ?? []
|
|
6846
|
+
];
|
|
6847
|
+
if (unresolvedPathParams.length > 0) {
|
|
6848
|
+
const missingParams = Array.from(
|
|
6849
|
+
new Set(
|
|
6850
|
+
unresolvedPathParams.map((token) => {
|
|
6851
|
+
if (token.startsWith("{") && token.endsWith("}")) {
|
|
6852
|
+
return token.slice(1, -1);
|
|
6853
|
+
}
|
|
6854
|
+
return token.replace(/^\//, "").slice(1);
|
|
6855
|
+
})
|
|
6856
|
+
)
|
|
6857
|
+
);
|
|
6858
|
+
throw new Error(
|
|
6859
|
+
`Missing required path params for endpoint ${String(endpoint)}: ${missingParams.join(", ")}`
|
|
6860
|
+
);
|
|
6861
|
+
}
|
|
6862
|
+
const endpointConfig = API_ENDPOINTS[endpoint];
|
|
6863
|
+
const method = endpointConfig.method;
|
|
6864
|
+
const isGetOrHead = method === "GET" || method === "HEAD";
|
|
6865
|
+
const queryParams = new URLSearchParams();
|
|
6866
|
+
Object.entries(unusedParams).forEach(([key, value]) => {
|
|
6867
|
+
appendQueryParam(queryParams, key, value);
|
|
6868
|
+
});
|
|
6869
|
+
if (isGetOrHead && typeof body === "object" && body !== null && !isFormDataBody(body)) {
|
|
6870
|
+
Object.entries(body).forEach(([key, value]) => {
|
|
6871
|
+
appendQueryParam(queryParams, key, value);
|
|
6872
|
+
});
|
|
6873
|
+
}
|
|
6874
|
+
const queryString = queryParams.toString();
|
|
6875
|
+
if (queryString) {
|
|
6876
|
+
url += (url.includes("?") ? "&" : "?") + queryString;
|
|
6877
|
+
}
|
|
6878
|
+
const formDataBody = isFormDataBody(body) ? body : void 0;
|
|
6879
|
+
const optionsNext = options?.next;
|
|
6880
|
+
const nextOptions = { ...optionsNext ?? {} };
|
|
6881
|
+
const cacheIsNoStore = options?.cache === "no-store";
|
|
6882
|
+
if (cacheIsNoStore) {
|
|
6883
|
+
delete nextOptions.revalidate;
|
|
6884
|
+
} else if (isGetOrHead && nextOptions.revalidate === void 0 && "revalidate" in endpointConfig && typeof endpointConfig.revalidate === "number") {
|
|
6885
|
+
nextOptions.revalidate = endpointConfig.revalidate;
|
|
6886
|
+
}
|
|
6887
|
+
if ("tags" in endpointConfig && Array.isArray(endpointConfig.tags)) {
|
|
6888
|
+
const processedTags = endpointConfig.tags.map((tag) => {
|
|
6889
|
+
let processedTag = tag;
|
|
6890
|
+
if (params) {
|
|
6891
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
6892
|
+
processedTag = processedTag.replace(`{${key}}`, String(value));
|
|
6893
|
+
});
|
|
6894
|
+
}
|
|
6895
|
+
return /\{[^}]+\}/.test(processedTag) ? null : processedTag;
|
|
6896
|
+
}).filter((tag) => tag !== null);
|
|
6897
|
+
nextOptions.tags = Array.from(/* @__PURE__ */ new Set([...nextOptions.tags ?? [], ...processedTags]));
|
|
6898
|
+
}
|
|
6899
|
+
const init = {
|
|
6900
|
+
method,
|
|
6901
|
+
...options,
|
|
6902
|
+
credentials: "same-origin",
|
|
6903
|
+
body: isGetOrHead || body == null ? void 0 : formDataBody ?? JSON.stringify(body),
|
|
6904
|
+
headers: buildRequestHeaders({
|
|
6905
|
+
optionsHeaders: options.headers,
|
|
6906
|
+
authHeaders: headers,
|
|
6907
|
+
sdkVersion: input.sdkVersion,
|
|
6908
|
+
includeJsonContentType: !isGetOrHead && !formDataBody
|
|
6909
|
+
}),
|
|
6910
|
+
...Object.keys(nextOptions).length > 0 ? { next: nextOptions } : {}
|
|
6911
|
+
};
|
|
6912
|
+
return {
|
|
6913
|
+
url,
|
|
6914
|
+
init,
|
|
6915
|
+
...!isGetOrHead && "tags" in endpointConfig && Array.isArray(endpointConfig.tags) ? { cacheInvalidationTags: endpointConfig.tags.map((tag) => tag) } : {}
|
|
6916
|
+
};
|
|
6917
|
+
}
|
|
6865
6918
|
function createParsedClient(rawClient) {
|
|
6866
6919
|
return async (params) => {
|
|
6867
6920
|
const response = await rawClient(params);
|
|
@@ -7042,7 +7095,7 @@ var SimpleCache = class {
|
|
|
7042
7095
|
};
|
|
7043
7096
|
|
|
7044
7097
|
// src/version.ts
|
|
7045
|
-
var SDK_VERSION = "0.
|
|
7098
|
+
var SDK_VERSION = "0.90.0";
|
|
7046
7099
|
|
|
7047
7100
|
// src/client/error.ts
|
|
7048
7101
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -7199,6 +7252,476 @@ function attachResilienceStatusToError(error, resilienceStatus) {
|
|
|
7199
7252
|
return target;
|
|
7200
7253
|
}
|
|
7201
7254
|
|
|
7255
|
+
// src/public-api/runtime.ts
|
|
7256
|
+
var PUBLIC_ENDPOINT_NAMES2 = [
|
|
7257
|
+
"getSite",
|
|
7258
|
+
"getContentByPath",
|
|
7259
|
+
"listPublishedEntries",
|
|
7260
|
+
"getPublishedEntryPreview",
|
|
7261
|
+
"getPublicFormById",
|
|
7262
|
+
"listPublicForms",
|
|
7263
|
+
"getPublicBookingServices",
|
|
7264
|
+
"getPublicChallenge",
|
|
7265
|
+
"listPublicEvents",
|
|
7266
|
+
"batchBlockLoaders",
|
|
7267
|
+
"listPublicCourses",
|
|
7268
|
+
"listPublicTeamMembers",
|
|
7269
|
+
"listPublicProducts",
|
|
7270
|
+
"listPublicPasses",
|
|
7271
|
+
"listPublicMemberships",
|
|
7272
|
+
"resolveEntrySubroute",
|
|
7273
|
+
"resolveEventOccurrence",
|
|
7274
|
+
"checkRedirect",
|
|
7275
|
+
"getRoutableContent",
|
|
7276
|
+
"getPublicRoutableContent",
|
|
7277
|
+
"getPublicSitemapRoutes"
|
|
7278
|
+
];
|
|
7279
|
+
var API_ENDPOINTS2 = Object.freeze({
|
|
7280
|
+
getSite: {
|
|
7281
|
+
path: "/sites",
|
|
7282
|
+
method: "GET",
|
|
7283
|
+
revalidate: 900,
|
|
7284
|
+
tags: ["riverbank:site", "riverbank:site:id:{id}", "riverbank:site:slug:{slug}", "riverbank:site:domain:{domain}"],
|
|
7285
|
+
auth: "public",
|
|
7286
|
+
responseKind: "json"
|
|
7287
|
+
},
|
|
7288
|
+
getContentByPath: {
|
|
7289
|
+
path: "/sites/{siteId}/pages",
|
|
7290
|
+
method: "GET",
|
|
7291
|
+
tags: ["riverbank:site:{siteId}:routable-content"],
|
|
7292
|
+
auth: "public",
|
|
7293
|
+
responseKind: "json"
|
|
7294
|
+
},
|
|
7295
|
+
listPublishedEntries: {
|
|
7296
|
+
path: "/public/content/{siteId}/{type}/entries",
|
|
7297
|
+
method: "GET",
|
|
7298
|
+
revalidate: 60,
|
|
7299
|
+
tags: ["content-{siteId}-{type}"],
|
|
7300
|
+
auth: "public",
|
|
7301
|
+
responseKind: "json"
|
|
7302
|
+
},
|
|
7303
|
+
getPublishedEntryPreview: {
|
|
7304
|
+
path: "/public/content/{siteId}/{type}/{slug}/preview",
|
|
7305
|
+
method: "GET",
|
|
7306
|
+
revalidate: 60,
|
|
7307
|
+
tags: ["content-{siteId}-{type}-{slug}"],
|
|
7308
|
+
auth: "public",
|
|
7309
|
+
responseKind: "json"
|
|
7310
|
+
},
|
|
7311
|
+
getPublicFormById: {
|
|
7312
|
+
path: "/public/forms/{formId}",
|
|
7313
|
+
method: "GET",
|
|
7314
|
+
revalidate: 60,
|
|
7315
|
+
tags: ["riverbank:form:{formId}"],
|
|
7316
|
+
auth: "public",
|
|
7317
|
+
responseKind: "json"
|
|
7318
|
+
},
|
|
7319
|
+
listPublicForms: {
|
|
7320
|
+
path: "/public/sites/{siteId}/forms",
|
|
7321
|
+
method: "GET",
|
|
7322
|
+
revalidate: 60,
|
|
7323
|
+
tags: ["riverbank:site:{siteId}:forms"],
|
|
7324
|
+
auth: "public",
|
|
7325
|
+
responseKind: "json"
|
|
7326
|
+
},
|
|
7327
|
+
getPublicBookingServices: {
|
|
7328
|
+
path: "/public/bookings/services",
|
|
7329
|
+
method: "GET",
|
|
7330
|
+
revalidate: 60,
|
|
7331
|
+
tags: ["site-{siteId}"],
|
|
7332
|
+
auth: "public",
|
|
7333
|
+
responseKind: "json"
|
|
7334
|
+
},
|
|
7335
|
+
getPublicChallenge: {
|
|
7336
|
+
path: "/public/challenge",
|
|
7337
|
+
method: "GET",
|
|
7338
|
+
auth: "public",
|
|
7339
|
+
responseKind: "text"
|
|
7340
|
+
},
|
|
7341
|
+
listPublicEvents: {
|
|
7342
|
+
path: "/public/sites/{siteId}/events",
|
|
7343
|
+
method: "GET",
|
|
7344
|
+
revalidate: 60,
|
|
7345
|
+
tags: ["riverbank:site:{siteId}:public-events"],
|
|
7346
|
+
auth: "public",
|
|
7347
|
+
responseKind: "json"
|
|
7348
|
+
},
|
|
7349
|
+
batchBlockLoaders: {
|
|
7350
|
+
path: "/public/sites/{siteId}/block-loaders/batch",
|
|
7351
|
+
method: "POST",
|
|
7352
|
+
auth: "public",
|
|
7353
|
+
responseKind: "json"
|
|
7354
|
+
},
|
|
7355
|
+
listPublicCourses: {
|
|
7356
|
+
path: "/public/sites/{siteId}/courses",
|
|
7357
|
+
method: "GET",
|
|
7358
|
+
revalidate: 60,
|
|
7359
|
+
tags: ["riverbank:site:{siteId}:public-courses"],
|
|
7360
|
+
auth: "public",
|
|
7361
|
+
responseKind: "json"
|
|
7362
|
+
},
|
|
7363
|
+
listPublicTeamMembers: {
|
|
7364
|
+
path: "/public/sites/{siteId}/team-members",
|
|
7365
|
+
method: "GET",
|
|
7366
|
+
revalidate: 60,
|
|
7367
|
+
tags: ["riverbank:site:{siteId}:public-team-members"],
|
|
7368
|
+
auth: "public",
|
|
7369
|
+
responseKind: "json"
|
|
7370
|
+
},
|
|
7371
|
+
listPublicProducts: {
|
|
7372
|
+
path: "/public/sites/{siteId}/products",
|
|
7373
|
+
method: "GET",
|
|
7374
|
+
revalidate: 300,
|
|
7375
|
+
tags: ["riverbank:site:{siteId}:public-products"],
|
|
7376
|
+
auth: "public",
|
|
7377
|
+
responseKind: "json"
|
|
7378
|
+
},
|
|
7379
|
+
listPublicPasses: {
|
|
7380
|
+
path: "/public/sites/{siteId}/bookings/products/passes",
|
|
7381
|
+
method: "GET",
|
|
7382
|
+
revalidate: 300,
|
|
7383
|
+
tags: ["riverbank:site:{siteId}:public-passes"],
|
|
7384
|
+
auth: "public",
|
|
7385
|
+
responseKind: "json"
|
|
7386
|
+
},
|
|
7387
|
+
listPublicMemberships: {
|
|
7388
|
+
path: "/public/sites/{siteId}/bookings/products/memberships",
|
|
7389
|
+
method: "GET",
|
|
7390
|
+
revalidate: 300,
|
|
7391
|
+
tags: ["riverbank:site:{siteId}:public-memberships"],
|
|
7392
|
+
auth: "public",
|
|
7393
|
+
responseKind: "json"
|
|
7394
|
+
},
|
|
7395
|
+
resolveEntrySubroute: {
|
|
7396
|
+
path: "/public/sites/{siteId}/routing/subroutes/resolve",
|
|
7397
|
+
method: "GET",
|
|
7398
|
+
revalidate: 60,
|
|
7399
|
+
tags: ["site-{siteId}", "entry-subroute"],
|
|
7400
|
+
auth: "public",
|
|
7401
|
+
responseKind: "json"
|
|
7402
|
+
},
|
|
7403
|
+
resolveEventOccurrence: {
|
|
7404
|
+
path: "/public/sites/{siteId}/events/occurrences/resolve",
|
|
7405
|
+
method: "GET",
|
|
7406
|
+
revalidate: 60,
|
|
7407
|
+
tags: ["riverbank:site:{siteId}:public-events", "event-occurrence"],
|
|
7408
|
+
auth: "public",
|
|
7409
|
+
responseKind: "json"
|
|
7410
|
+
},
|
|
7411
|
+
checkRedirect: {
|
|
7412
|
+
path: "/public/content/redirect",
|
|
7413
|
+
method: "GET",
|
|
7414
|
+
revalidate: 86400,
|
|
7415
|
+
tags: ["redirect"],
|
|
7416
|
+
auth: "public",
|
|
7417
|
+
responseKind: "json"
|
|
7418
|
+
},
|
|
7419
|
+
getRoutableContent: {
|
|
7420
|
+
path: "/sites/{siteId}/routable-content",
|
|
7421
|
+
method: "GET",
|
|
7422
|
+
revalidate: 60,
|
|
7423
|
+
tags: ["riverbank:site:{siteId}:routable-content"],
|
|
7424
|
+
auth: "user",
|
|
7425
|
+
responseKind: "json"
|
|
7426
|
+
},
|
|
7427
|
+
getPublicRoutableContent: {
|
|
7428
|
+
path: "/public/sites/{siteId}/routable-content",
|
|
7429
|
+
method: "GET",
|
|
7430
|
+
revalidate: 60,
|
|
7431
|
+
tags: ["riverbank:site:{siteId}:routable-content"],
|
|
7432
|
+
auth: "public",
|
|
7433
|
+
responseKind: "json"
|
|
7434
|
+
},
|
|
7435
|
+
getPublicSitemapRoutes: {
|
|
7436
|
+
path: "/public/sites/{siteId}/sitemap",
|
|
7437
|
+
method: "GET",
|
|
7438
|
+
revalidate: 60,
|
|
7439
|
+
tags: ["riverbank:site:{siteId}:routable-content", "riverbank:site:{siteId}:settings"],
|
|
7440
|
+
auth: "public",
|
|
7441
|
+
responseKind: "json"
|
|
7442
|
+
}
|
|
7443
|
+
});
|
|
7444
|
+
|
|
7445
|
+
// src/client/runtimeCachePolicy.ts
|
|
7446
|
+
var DEFAULT_PUBLISHED_RUNTIME_CACHE_PAYLOAD_SCHEMA_VERSION = 1;
|
|
7447
|
+
var DEFAULT_STALE_TTL_SEC = 24 * 60 * 60;
|
|
7448
|
+
var DEFAULT_MEMORY_TTL_SEC = 60;
|
|
7449
|
+
var RUNTIME_CACHE_DURABILITY_OVERRIDES = {
|
|
7450
|
+
getSite: {
|
|
7451
|
+
kind: "durable-public-stale",
|
|
7452
|
+
staleTtlSec: DEFAULT_STALE_TTL_SEC
|
|
7453
|
+
},
|
|
7454
|
+
getContentByPath: {
|
|
7455
|
+
kind: "durable-public-stale",
|
|
7456
|
+
staleTtlSec: DEFAULT_STALE_TTL_SEC
|
|
7457
|
+
},
|
|
7458
|
+
listPublishedEntries: {
|
|
7459
|
+
kind: "memory-only",
|
|
7460
|
+
reason: "durable_rollout_pending"
|
|
7461
|
+
},
|
|
7462
|
+
getPublishedEntryPreview: {
|
|
7463
|
+
kind: "memory-only",
|
|
7464
|
+
reason: "durable_rollout_pending"
|
|
7465
|
+
},
|
|
7466
|
+
getPublicFormById: {
|
|
7467
|
+
kind: "memory-only",
|
|
7468
|
+
reason: "durable_rollout_pending"
|
|
7469
|
+
},
|
|
7470
|
+
listPublicForms: {
|
|
7471
|
+
kind: "memory-only",
|
|
7472
|
+
reason: "durable_rollout_pending"
|
|
7473
|
+
},
|
|
7474
|
+
getPublicBookingServices: {
|
|
7475
|
+
kind: "live-only",
|
|
7476
|
+
reason: "safety_sensitive_booking"
|
|
7477
|
+
},
|
|
7478
|
+
getPublicChallenge: {
|
|
7479
|
+
kind: "live-only",
|
|
7480
|
+
reason: "challenge_endpoint"
|
|
7481
|
+
},
|
|
7482
|
+
listPublicEvents: {
|
|
7483
|
+
kind: "memory-only",
|
|
7484
|
+
reason: "durable_rollout_pending"
|
|
7485
|
+
},
|
|
7486
|
+
batchBlockLoaders: {
|
|
7487
|
+
kind: "live-only",
|
|
7488
|
+
reason: "opaque_batch_loader"
|
|
7489
|
+
},
|
|
7490
|
+
listPublicCourses: {
|
|
7491
|
+
kind: "memory-only",
|
|
7492
|
+
reason: "durable_rollout_pending"
|
|
7493
|
+
},
|
|
7494
|
+
listPublicTeamMembers: {
|
|
7495
|
+
kind: "memory-only",
|
|
7496
|
+
reason: "durable_rollout_pending"
|
|
7497
|
+
},
|
|
7498
|
+
listPublicProducts: {
|
|
7499
|
+
kind: "memory-only",
|
|
7500
|
+
reason: "durable_rollout_pending"
|
|
7501
|
+
},
|
|
7502
|
+
listPublicPasses: {
|
|
7503
|
+
kind: "live-only",
|
|
7504
|
+
reason: "safety_sensitive_booking"
|
|
7505
|
+
},
|
|
7506
|
+
listPublicMemberships: {
|
|
7507
|
+
kind: "live-only",
|
|
7508
|
+
reason: "safety_sensitive_booking"
|
|
7509
|
+
},
|
|
7510
|
+
resolveEntrySubroute: {
|
|
7511
|
+
kind: "memory-only",
|
|
7512
|
+
reason: "durable_rollout_pending"
|
|
7513
|
+
},
|
|
7514
|
+
resolveEventOccurrence: {
|
|
7515
|
+
kind: "memory-only",
|
|
7516
|
+
reason: "durable_rollout_pending"
|
|
7517
|
+
},
|
|
7518
|
+
checkRedirect: {
|
|
7519
|
+
kind: "memory-only",
|
|
7520
|
+
reason: "durable_rollout_pending"
|
|
7521
|
+
},
|
|
7522
|
+
getRoutableContent: {
|
|
7523
|
+
kind: "live-only",
|
|
7524
|
+
reason: "auth_required"
|
|
7525
|
+
},
|
|
7526
|
+
getPublicRoutableContent: {
|
|
7527
|
+
kind: "memory-only",
|
|
7528
|
+
reason: "durable_rollout_pending"
|
|
7529
|
+
},
|
|
7530
|
+
getPublicSitemapRoutes: {
|
|
7531
|
+
kind: "memory-only",
|
|
7532
|
+
reason: "durable_rollout_pending"
|
|
7533
|
+
}
|
|
7534
|
+
};
|
|
7535
|
+
var PUBLIC_ENDPOINT_NAME_SET = new Set(PUBLIC_ENDPOINT_NAMES2);
|
|
7536
|
+
function isPublicEndpointName(endpoint) {
|
|
7537
|
+
return PUBLIC_ENDPOINT_NAME_SET.has(endpoint);
|
|
7538
|
+
}
|
|
7539
|
+
function isTruthyParam(value) {
|
|
7540
|
+
return value === true || value === "true" || value === 1 || value === "1";
|
|
7541
|
+
}
|
|
7542
|
+
function isPreviewRequest(endpoint, params) {
|
|
7543
|
+
if (endpoint === "getContentByPath") {
|
|
7544
|
+
return isTruthyParam(params.preview);
|
|
7545
|
+
}
|
|
7546
|
+
if (endpoint === "listPublishedEntries" || endpoint === "resolveEntrySubroute" || endpoint === "resolveEventOccurrence") {
|
|
7547
|
+
return params.stage === "preview";
|
|
7548
|
+
}
|
|
7549
|
+
return false;
|
|
7550
|
+
}
|
|
7551
|
+
function getEndpointFreshTtlSec(endpoint) {
|
|
7552
|
+
return API_ENDPOINTS2[endpoint].revalidate ?? DEFAULT_MEMORY_TTL_SEC;
|
|
7553
|
+
}
|
|
7554
|
+
function assertNever(value) {
|
|
7555
|
+
throw new Error(`Unhandled runtime cache policy override: ${String(value)}`);
|
|
7556
|
+
}
|
|
7557
|
+
function resolveKnownEndpointPolicy(endpoint, params) {
|
|
7558
|
+
if (isPreviewRequest(endpoint, params)) {
|
|
7559
|
+
return { kind: "live-only", endpoint, reason: "preview_request" };
|
|
7560
|
+
}
|
|
7561
|
+
if (endpoint === "getSite" && isTruthyParam(params.force)) {
|
|
7562
|
+
return { kind: "live-only", endpoint, reason: "force_refresh" };
|
|
7563
|
+
}
|
|
7564
|
+
const override = RUNTIME_CACHE_DURABILITY_OVERRIDES[endpoint];
|
|
7565
|
+
if (override.kind === "live-only") {
|
|
7566
|
+
return { kind: "live-only", endpoint, reason: override.reason };
|
|
7567
|
+
}
|
|
7568
|
+
const endpointDefinition = API_ENDPOINTS2[endpoint];
|
|
7569
|
+
if (endpointDefinition.method !== "GET") {
|
|
7570
|
+
return { kind: "live-only", endpoint, reason: "non_get_request" };
|
|
7571
|
+
}
|
|
7572
|
+
if (endpointDefinition.auth === "user") {
|
|
7573
|
+
return { kind: "live-only", endpoint, reason: "auth_required" };
|
|
7574
|
+
}
|
|
7575
|
+
switch (override.kind) {
|
|
7576
|
+
case "durable-public-stale":
|
|
7577
|
+
return {
|
|
7578
|
+
kind: "durable-public-stale",
|
|
7579
|
+
endpoint,
|
|
7580
|
+
freshTtlSec: getEndpointFreshTtlSec(endpoint),
|
|
7581
|
+
staleTtlSec: override.staleTtlSec
|
|
7582
|
+
};
|
|
7583
|
+
case "memory-only":
|
|
7584
|
+
return {
|
|
7585
|
+
kind: "memory-only",
|
|
7586
|
+
endpoint,
|
|
7587
|
+
freshTtlSec: getEndpointFreshTtlSec(endpoint),
|
|
7588
|
+
reason: override.reason
|
|
7589
|
+
};
|
|
7590
|
+
default:
|
|
7591
|
+
return assertNever(override);
|
|
7592
|
+
}
|
|
7593
|
+
}
|
|
7594
|
+
function resolveRuntimeCachePolicy(input) {
|
|
7595
|
+
if (input.method && input.method.toUpperCase() !== "GET") {
|
|
7596
|
+
return {
|
|
7597
|
+
kind: "live-only",
|
|
7598
|
+
endpoint: input.endpoint,
|
|
7599
|
+
reason: "non_get_request"
|
|
7600
|
+
};
|
|
7601
|
+
}
|
|
7602
|
+
if (!isPublicEndpointName(input.endpoint)) {
|
|
7603
|
+
return {
|
|
7604
|
+
kind: "live-only",
|
|
7605
|
+
endpoint: input.endpoint,
|
|
7606
|
+
reason: "unknown_endpoint"
|
|
7607
|
+
};
|
|
7608
|
+
}
|
|
7609
|
+
return resolveKnownEndpointPolicy(input.endpoint, input.params ?? {});
|
|
7610
|
+
}
|
|
7611
|
+
function toNonEmptyString(value) {
|
|
7612
|
+
if (value === null || value === void 0) return null;
|
|
7613
|
+
if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean") {
|
|
7614
|
+
return null;
|
|
7615
|
+
}
|
|
7616
|
+
const normalized = String(value).trim();
|
|
7617
|
+
return normalized.length > 0 ? normalized : null;
|
|
7618
|
+
}
|
|
7619
|
+
function normalizeRuntimePublicPath(value) {
|
|
7620
|
+
const raw = toNonEmptyString(value) ?? "/";
|
|
7621
|
+
const withoutQuery = raw.split(/[?#]/, 1)[0] ?? "/";
|
|
7622
|
+
const withLeadingSlash = withoutQuery.startsWith("/") ? withoutQuery : `/${withoutQuery}`;
|
|
7623
|
+
const collapsed = withLeadingSlash.replace(/\/{2,}/g, "/");
|
|
7624
|
+
const withoutTrailingSlash = collapsed.length > 1 ? collapsed.replace(/\/+$/g, "") : collapsed;
|
|
7625
|
+
return withoutTrailingSlash || "/";
|
|
7626
|
+
}
|
|
7627
|
+
function normalizeRuntimeHostname(value) {
|
|
7628
|
+
const trimmed = value.trim().toLowerCase();
|
|
7629
|
+
const url = /^[a-z][a-z0-9+.-]*:\/\//.test(trimmed) ? new URL(trimmed) : new URL(`http://${trimmed}`);
|
|
7630
|
+
return url.hostname.replace(/\.$/, "");
|
|
7631
|
+
}
|
|
7632
|
+
function normalizeScalar(value) {
|
|
7633
|
+
return value.trim().toLowerCase();
|
|
7634
|
+
}
|
|
7635
|
+
function encodeKeyPart(key, value) {
|
|
7636
|
+
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
7637
|
+
}
|
|
7638
|
+
function unsafeAsPublishedRuntimeCacheKey(value) {
|
|
7639
|
+
return value;
|
|
7640
|
+
}
|
|
7641
|
+
function buildPublishedRuntimeCacheKey(endpoint, normalizedParams) {
|
|
7642
|
+
const encodedParams = Object.entries(normalizedParams).sort(([left], [right]) => left.localeCompare(right)).map(([key, value]) => encodeKeyPart(key, value)).join(":");
|
|
7643
|
+
return unsafeAsPublishedRuntimeCacheKey(
|
|
7644
|
+
`published-runtime:v1:${endpoint}:${encodedParams}`
|
|
7645
|
+
);
|
|
7646
|
+
}
|
|
7647
|
+
function selectSiteRuntimeIdentity(params) {
|
|
7648
|
+
const slug = toNonEmptyString(params.slug);
|
|
7649
|
+
if (slug !== null) return { slug: normalizeScalar(slug) };
|
|
7650
|
+
const domain = toNonEmptyString(params.domain);
|
|
7651
|
+
if (domain !== null) return { domain: normalizeRuntimeHostname(domain) };
|
|
7652
|
+
const id = toNonEmptyString(params.id);
|
|
7653
|
+
if (id !== null) return { id: normalizeScalar(id) };
|
|
7654
|
+
return null;
|
|
7655
|
+
}
|
|
7656
|
+
function deriveGetSiteKey(params) {
|
|
7657
|
+
const identity = selectSiteRuntimeIdentity(params);
|
|
7658
|
+
if (identity === null) {
|
|
7659
|
+
return {
|
|
7660
|
+
ok: false,
|
|
7661
|
+
error: {
|
|
7662
|
+
kind: "missing_site_identity",
|
|
7663
|
+
acceptedParams: ["slug", "domain", "id"]
|
|
7664
|
+
}
|
|
7665
|
+
};
|
|
7666
|
+
}
|
|
7667
|
+
const normalizedParams = {
|
|
7668
|
+
...identity,
|
|
7669
|
+
currentPath: normalizeRuntimePublicPath(params.currentPath)
|
|
7670
|
+
};
|
|
7671
|
+
return {
|
|
7672
|
+
ok: true,
|
|
7673
|
+
endpoint: "getSite",
|
|
7674
|
+
key: buildPublishedRuntimeCacheKey("getSite", normalizedParams),
|
|
7675
|
+
normalizedParams
|
|
7676
|
+
};
|
|
7677
|
+
}
|
|
7678
|
+
function deriveGetContentByPathKey(params) {
|
|
7679
|
+
const siteId = toNonEmptyString(params.siteId);
|
|
7680
|
+
if (siteId === null) {
|
|
7681
|
+
return {
|
|
7682
|
+
ok: false,
|
|
7683
|
+
error: {
|
|
7684
|
+
kind: "missing_required_param",
|
|
7685
|
+
endpoint: "getContentByPath",
|
|
7686
|
+
param: "siteId"
|
|
7687
|
+
}
|
|
7688
|
+
};
|
|
7689
|
+
}
|
|
7690
|
+
const normalizedParams = {
|
|
7691
|
+
siteId: normalizeScalar(siteId),
|
|
7692
|
+
path: normalizeRuntimePublicPath(params.path)
|
|
7693
|
+
};
|
|
7694
|
+
return {
|
|
7695
|
+
ok: true,
|
|
7696
|
+
endpoint: "getContentByPath",
|
|
7697
|
+
key: buildPublishedRuntimeCacheKey("getContentByPath", normalizedParams),
|
|
7698
|
+
normalizedParams
|
|
7699
|
+
};
|
|
7700
|
+
}
|
|
7701
|
+
var DURABLE_RUNTIME_CACHE_KEY_DERIVERS = {
|
|
7702
|
+
getSite: deriveGetSiteKey,
|
|
7703
|
+
getContentByPath: deriveGetContentByPathKey
|
|
7704
|
+
};
|
|
7705
|
+
function derivePublishedRuntimeCacheKey(input) {
|
|
7706
|
+
const policy = resolveRuntimeCachePolicy({
|
|
7707
|
+
endpoint: input.endpoint,
|
|
7708
|
+
method: "GET",
|
|
7709
|
+
params: input.params
|
|
7710
|
+
});
|
|
7711
|
+
if (policy.kind !== "durable-public-stale") {
|
|
7712
|
+
return {
|
|
7713
|
+
ok: false,
|
|
7714
|
+
error: { kind: "not_durable_eligible", policy }
|
|
7715
|
+
};
|
|
7716
|
+
}
|
|
7717
|
+
switch (input.endpoint) {
|
|
7718
|
+
case "getSite":
|
|
7719
|
+
return DURABLE_RUNTIME_CACHE_KEY_DERIVERS.getSite(input.params);
|
|
7720
|
+
case "getContentByPath":
|
|
7721
|
+
return DURABLE_RUNTIME_CACHE_KEY_DERIVERS.getContentByPath(input.params);
|
|
7722
|
+
}
|
|
7723
|
+
}
|
|
7724
|
+
|
|
7202
7725
|
// src/client/resilience.ts
|
|
7203
7726
|
var DEFAULT_RETRY_CONFIG = {
|
|
7204
7727
|
maxAttempts: 3,
|
|
@@ -7508,12 +8031,57 @@ setSdkVersion(SDK_VERSION);
|
|
|
7508
8031
|
var DEFAULT_BROWSER_TIMEOUT_MS = 5e3;
|
|
7509
8032
|
var DEFAULT_SERVER_TIMEOUT_MS = 8e3;
|
|
7510
8033
|
var MAX_GET_ENTRIES_BY_IDENTIFIERS_REFS = 50;
|
|
8034
|
+
function isDurableRuntimeCacheTier(cacheTier) {
|
|
8035
|
+
return cacheTier === "durable-fresh" || cacheTier === "durable-stale";
|
|
8036
|
+
}
|
|
8037
|
+
function isDegradedResilienceStatus(source, details) {
|
|
8038
|
+
return source === "stale" || source === "error" || isDurableRuntimeCacheTier(details.cacheTier) && details.error !== void 0;
|
|
8039
|
+
}
|
|
7511
8040
|
function generateRequestId2() {
|
|
7512
8041
|
return `req-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
7513
8042
|
}
|
|
7514
8043
|
function toRecord(value) {
|
|
7515
8044
|
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
7516
8045
|
}
|
|
8046
|
+
function getRuntimePayloadSiteId(value) {
|
|
8047
|
+
const site = toRecord(value).site;
|
|
8048
|
+
if (!site || typeof site !== "object" || Array.isArray(site)) {
|
|
8049
|
+
return null;
|
|
8050
|
+
}
|
|
8051
|
+
const id = site.id;
|
|
8052
|
+
return typeof id === "string" && id.trim().length > 0 ? id : null;
|
|
8053
|
+
}
|
|
8054
|
+
function getRiverbankErrorInfo(error) {
|
|
8055
|
+
if (error instanceof RiverbankApiError) {
|
|
8056
|
+
return { code: error.code, message: error.message, status: error.status };
|
|
8057
|
+
}
|
|
8058
|
+
if (error instanceof Error) {
|
|
8059
|
+
return { message: error.message };
|
|
8060
|
+
}
|
|
8061
|
+
return { message: String(error) };
|
|
8062
|
+
}
|
|
8063
|
+
function planPublishedRuntimeCache(input) {
|
|
8064
|
+
const policy = resolveRuntimeCachePolicy({
|
|
8065
|
+
endpoint: input.endpoint,
|
|
8066
|
+
method: "GET",
|
|
8067
|
+
params: input.params
|
|
8068
|
+
});
|
|
8069
|
+
if (policy.kind !== "durable-public-stale") {
|
|
8070
|
+
return null;
|
|
8071
|
+
}
|
|
8072
|
+
const keyResult = derivePublishedRuntimeCacheKey(input);
|
|
8073
|
+
if (!keyResult.ok) {
|
|
8074
|
+
return null;
|
|
8075
|
+
}
|
|
8076
|
+
return {
|
|
8077
|
+
cacheKey: keyResult.key,
|
|
8078
|
+
endpoint: keyResult.endpoint,
|
|
8079
|
+
normalizedParams: keyResult.normalizedParams,
|
|
8080
|
+
freshTtlSec: policy.freshTtlSec,
|
|
8081
|
+
staleTtlSec: policy.staleTtlSec,
|
|
8082
|
+
siteId: input.siteId ?? null
|
|
8083
|
+
};
|
|
8084
|
+
}
|
|
7517
8085
|
function normalizeEntryIdentifierRefs(identifiers) {
|
|
7518
8086
|
const trimmed = identifiers.map((identifier) => identifier.trim()).filter((identifier) => identifier.length > 0);
|
|
7519
8087
|
if (trimmed.length === 0) {
|
|
@@ -7747,6 +8315,8 @@ function createRiverbankClient(config) {
|
|
|
7747
8315
|
source,
|
|
7748
8316
|
isPreview: details.isPreview,
|
|
7749
8317
|
cacheKey: details.cacheKey,
|
|
8318
|
+
cacheTier: details.cacheTier,
|
|
8319
|
+
durableCache: details.durableCache,
|
|
7750
8320
|
error: details.error,
|
|
7751
8321
|
staleAgeSec: details.staleAgeSec,
|
|
7752
8322
|
prebuildAgeSec: details.prebuildAgeSec,
|
|
@@ -7756,7 +8326,7 @@ function createRiverbankClient(config) {
|
|
|
7756
8326
|
};
|
|
7757
8327
|
lastStatus = status;
|
|
7758
8328
|
config.resilience?.onStatusChange?.(status);
|
|
7759
|
-
const nowDegraded = source
|
|
8329
|
+
const nowDegraded = isDegradedResilienceStatus(source, details);
|
|
7760
8330
|
if (nowDegraded !== isDegraded) {
|
|
7761
8331
|
isDegraded = nowDegraded;
|
|
7762
8332
|
config.resilience?.onDegradedMode?.(nowDegraded, status);
|
|
@@ -7766,6 +8336,80 @@ function createRiverbankClient(config) {
|
|
|
7766
8336
|
resilience: status
|
|
7767
8337
|
};
|
|
7768
8338
|
}
|
|
8339
|
+
async function tryPublishedRuntimeCacheFallback(plan, statusDetails, errorInfo) {
|
|
8340
|
+
const reader = config.publishedRuntimeCache?.read;
|
|
8341
|
+
if (!plan || !reader) {
|
|
8342
|
+
return null;
|
|
8343
|
+
}
|
|
8344
|
+
try {
|
|
8345
|
+
const result = await reader({
|
|
8346
|
+
cacheKey: plan.cacheKey,
|
|
8347
|
+
endpoint: plan.endpoint,
|
|
8348
|
+
payloadSchemaVersion: DEFAULT_PUBLISHED_RUNTIME_CACHE_PAYLOAD_SCHEMA_VERSION
|
|
8349
|
+
});
|
|
8350
|
+
if (result.kind === "miss") {
|
|
8351
|
+
return {
|
|
8352
|
+
kind: "miss",
|
|
8353
|
+
diagnostic: {
|
|
8354
|
+
outcome: "miss",
|
|
8355
|
+
reason: result.reason
|
|
8356
|
+
}
|
|
8357
|
+
};
|
|
8358
|
+
}
|
|
8359
|
+
if (result.kind === "error") {
|
|
8360
|
+
return {
|
|
8361
|
+
kind: "error",
|
|
8362
|
+
diagnostic: {
|
|
8363
|
+
outcome: "error",
|
|
8364
|
+
error: result.error
|
|
8365
|
+
}
|
|
8366
|
+
};
|
|
8367
|
+
}
|
|
8368
|
+
return {
|
|
8369
|
+
kind: "hit",
|
|
8370
|
+
result: emitStatus(
|
|
8371
|
+
result.freshness === "fresh" ? "cache" : "stale",
|
|
8372
|
+
result.payload,
|
|
8373
|
+
statusDetails({
|
|
8374
|
+
error: errorInfo,
|
|
8375
|
+
staleAgeSec: result.staleAgeSec,
|
|
8376
|
+
cacheTier: result.freshness === "fresh" ? "durable-fresh" : "durable-stale"
|
|
8377
|
+
})
|
|
8378
|
+
)
|
|
8379
|
+
};
|
|
8380
|
+
} catch (error) {
|
|
8381
|
+
return {
|
|
8382
|
+
kind: "error",
|
|
8383
|
+
diagnostic: {
|
|
8384
|
+
outcome: "error",
|
|
8385
|
+
error: {
|
|
8386
|
+
kind: "adapter_exception",
|
|
8387
|
+
message: error instanceof Error ? error.message : String(error)
|
|
8388
|
+
}
|
|
8389
|
+
}
|
|
8390
|
+
};
|
|
8391
|
+
}
|
|
8392
|
+
}
|
|
8393
|
+
async function writePublishedRuntimeCache(plan, payload) {
|
|
8394
|
+
const writer = config.publishedRuntimeCache?.write;
|
|
8395
|
+
if (!plan || !writer) {
|
|
8396
|
+
return;
|
|
8397
|
+
}
|
|
8398
|
+
try {
|
|
8399
|
+
await writer({
|
|
8400
|
+
cacheKey: plan.cacheKey,
|
|
8401
|
+
endpoint: plan.endpoint,
|
|
8402
|
+
normalizedParams: plan.normalizedParams,
|
|
8403
|
+
payload,
|
|
8404
|
+
siteId: plan.siteId ?? getRuntimePayloadSiteId(payload),
|
|
8405
|
+
freshTtlSec: plan.freshTtlSec,
|
|
8406
|
+
staleTtlSec: plan.staleTtlSec,
|
|
8407
|
+
payloadSchemaVersion: DEFAULT_PUBLISHED_RUNTIME_CACHE_PAYLOAD_SCHEMA_VERSION,
|
|
8408
|
+
writeReason: "live_success"
|
|
8409
|
+
});
|
|
8410
|
+
} catch {
|
|
8411
|
+
}
|
|
8412
|
+
}
|
|
7769
8413
|
async function resilientFetch(cacheKey, fetcher, options) {
|
|
7770
8414
|
const requestId = generateRequestId2();
|
|
7771
8415
|
const startTime = Date.now();
|
|
@@ -7781,7 +8425,11 @@ function createRiverbankClient(config) {
|
|
|
7781
8425
|
if (cacheEnabled && !options.force) {
|
|
7782
8426
|
const fresh = cache.getFresh(cacheKey);
|
|
7783
8427
|
if (fresh !== null) {
|
|
7784
|
-
return emitStatus(
|
|
8428
|
+
return emitStatus(
|
|
8429
|
+
"cache",
|
|
8430
|
+
fresh,
|
|
8431
|
+
statusDetails({ cacheTier: "memory-fresh" })
|
|
8432
|
+
);
|
|
7785
8433
|
}
|
|
7786
8434
|
}
|
|
7787
8435
|
if (resilienceEnabled && circuitBreaker.isOpen()) {
|
|
@@ -7793,6 +8441,7 @@ function createRiverbankClient(config) {
|
|
|
7793
8441
|
stale.value,
|
|
7794
8442
|
statusDetails({
|
|
7795
8443
|
staleAgeSec: stale.staleAgeSec,
|
|
8444
|
+
cacheTier: "memory-stale",
|
|
7796
8445
|
error: {
|
|
7797
8446
|
code: "circuit_open",
|
|
7798
8447
|
message: "Circuit breaker is open"
|
|
@@ -7801,6 +8450,15 @@ function createRiverbankClient(config) {
|
|
|
7801
8450
|
);
|
|
7802
8451
|
}
|
|
7803
8452
|
}
|
|
8453
|
+
const durableFallback = allowFallbacks && !isPreview ? await tryPublishedRuntimeCacheFallback(
|
|
8454
|
+
options.publishedRuntimeCache,
|
|
8455
|
+
statusDetails,
|
|
8456
|
+
{ code: "circuit_open", message: "Circuit breaker is open" }
|
|
8457
|
+
) : null;
|
|
8458
|
+
const durableCache = durableFallback?.kind === "miss" || durableFallback?.kind === "error" ? durableFallback.diagnostic : void 0;
|
|
8459
|
+
if (durableFallback?.kind === "hit") {
|
|
8460
|
+
return durableFallback.result;
|
|
8461
|
+
}
|
|
7804
8462
|
if (allowFallbacks && !isPreview && options.prebuildFallback) {
|
|
7805
8463
|
const prebuildResult = options.prebuildFallback();
|
|
7806
8464
|
if (prebuildResult) {
|
|
@@ -7809,6 +8467,8 @@ function createRiverbankClient(config) {
|
|
|
7809
8467
|
prebuildResult.data,
|
|
7810
8468
|
statusDetails({
|
|
7811
8469
|
prebuildAgeSec: prebuildResult.prebuildAgeSec,
|
|
8470
|
+
cacheTier: "prebuild",
|
|
8471
|
+
durableCache,
|
|
7812
8472
|
error: {
|
|
7813
8473
|
code: "circuit_open",
|
|
7814
8474
|
message: "Circuit breaker is open"
|
|
@@ -7822,6 +8482,7 @@ function createRiverbankClient(config) {
|
|
|
7822
8482
|
"error",
|
|
7823
8483
|
null,
|
|
7824
8484
|
statusDetails({
|
|
8485
|
+
durableCache,
|
|
7825
8486
|
error: { code: "circuit_open", message: "Circuit breaker is open" }
|
|
7826
8487
|
})
|
|
7827
8488
|
);
|
|
@@ -7862,6 +8523,9 @@ function createRiverbankClient(config) {
|
|
|
7862
8523
|
if (cacheEnabled) {
|
|
7863
8524
|
cache.set(cacheKey, data);
|
|
7864
8525
|
}
|
|
8526
|
+
if (allowFallbacks && !isPreview) {
|
|
8527
|
+
await writePublishedRuntimeCache(options.publishedRuntimeCache, data);
|
|
8528
|
+
}
|
|
7865
8529
|
return emitStatus("live", data, statusDetails());
|
|
7866
8530
|
} catch (error) {
|
|
7867
8531
|
if (resilienceEnabled && error instanceof Error) {
|
|
@@ -7870,44 +8534,47 @@ function createRiverbankClient(config) {
|
|
|
7870
8534
|
if (allowFallbacks && !isPreview && staleIfError && cacheEnabled) {
|
|
7871
8535
|
const stale = cache.getStale(cacheKey);
|
|
7872
8536
|
if (stale) {
|
|
7873
|
-
const errorInfo2 = error
|
|
7874
|
-
code: error.code,
|
|
7875
|
-
message: error.message,
|
|
7876
|
-
status: error.status
|
|
7877
|
-
} : { message: error.message };
|
|
8537
|
+
const errorInfo2 = getRiverbankErrorInfo(error);
|
|
7878
8538
|
return emitStatus(
|
|
7879
8539
|
"stale",
|
|
7880
8540
|
stale.value,
|
|
7881
8541
|
statusDetails({
|
|
7882
8542
|
staleAgeSec: stale.staleAgeSec,
|
|
8543
|
+
cacheTier: "memory-stale",
|
|
7883
8544
|
error: errorInfo2
|
|
7884
8545
|
})
|
|
7885
8546
|
);
|
|
7886
8547
|
}
|
|
7887
8548
|
}
|
|
8549
|
+
const errorInfo = getRiverbankErrorInfo(error);
|
|
8550
|
+
const durableFallback = allowFallbacks && !isPreview ? await tryPublishedRuntimeCacheFallback(
|
|
8551
|
+
options.publishedRuntimeCache,
|
|
8552
|
+
statusDetails,
|
|
8553
|
+
errorInfo
|
|
8554
|
+
) : null;
|
|
8555
|
+
const durableCache = durableFallback?.kind === "miss" || durableFallback?.kind === "error" ? durableFallback.diagnostic : void 0;
|
|
8556
|
+
if (durableFallback?.kind === "hit") {
|
|
8557
|
+
return durableFallback.result;
|
|
8558
|
+
}
|
|
7888
8559
|
if (allowFallbacks && !isPreview && options.prebuildFallback) {
|
|
7889
8560
|
const prebuildResult = options.prebuildFallback();
|
|
7890
8561
|
if (prebuildResult) {
|
|
7891
|
-
const errorInfo2 = error instanceof RiverbankApiError ? {
|
|
7892
|
-
code: error.code,
|
|
7893
|
-
message: error.message,
|
|
7894
|
-
status: error.status
|
|
7895
|
-
} : { message: error.message };
|
|
7896
8562
|
return emitStatus(
|
|
7897
8563
|
"prebuild",
|
|
7898
8564
|
prebuildResult.data,
|
|
7899
8565
|
statusDetails({
|
|
7900
8566
|
prebuildAgeSec: prebuildResult.prebuildAgeSec,
|
|
7901
|
-
|
|
8567
|
+
cacheTier: "prebuild",
|
|
8568
|
+
durableCache,
|
|
8569
|
+
error: errorInfo
|
|
7902
8570
|
})
|
|
7903
8571
|
);
|
|
7904
8572
|
}
|
|
7905
8573
|
}
|
|
7906
|
-
const errorInfo = error instanceof RiverbankApiError ? { code: error.code, message: error.message, status: error.status } : { message: error.message };
|
|
7907
8574
|
const failure = emitStatus(
|
|
7908
8575
|
"error",
|
|
7909
8576
|
null,
|
|
7910
|
-
statusDetails({ error: errorInfo })
|
|
8577
|
+
statusDetails({ error: errorInfo, durableCache })
|
|
7911
8578
|
);
|
|
7912
8579
|
throw attachResilienceStatusToError(error, failure.resilience);
|
|
7913
8580
|
}
|
|
@@ -7957,8 +8624,12 @@ function createRiverbankClient(config) {
|
|
|
7957
8624
|
);
|
|
7958
8625
|
}
|
|
7959
8626
|
const siteIdentifier = slug || domain || id;
|
|
7960
|
-
const cacheKey = `site:${siteIdentifier ?? "unknown"}:${currentPath ?? ""}`;
|
|
7961
8627
|
const siteId = id || slug || domain;
|
|
8628
|
+
const publishedRuntimeCache = planPublishedRuntimeCache({
|
|
8629
|
+
endpoint: "getSite",
|
|
8630
|
+
params: { slug, domain, id, currentPath, force }
|
|
8631
|
+
});
|
|
8632
|
+
const cacheKey = publishedRuntimeCache?.cacheKey ?? `site:${siteIdentifier ?? "unknown"}:${currentPath ?? ""}`;
|
|
7962
8633
|
return resilientFetch(
|
|
7963
8634
|
cacheKey,
|
|
7964
8635
|
async (sig) => {
|
|
@@ -7981,13 +8652,19 @@ function createRiverbankClient(config) {
|
|
|
7981
8652
|
{
|
|
7982
8653
|
signal,
|
|
7983
8654
|
force,
|
|
8655
|
+
publishedRuntimeCache,
|
|
7984
8656
|
prebuildFallback: prebuildLoader && siteId ? () => prebuildLoader.loadSite(siteId) : void 0
|
|
7985
8657
|
}
|
|
7986
8658
|
);
|
|
7987
8659
|
}
|
|
7988
8660
|
async function getPageWithResilienceInternal(params) {
|
|
7989
8661
|
const { siteId, path, preview = false, signal } = params;
|
|
7990
|
-
const
|
|
8662
|
+
const publishedRuntimeCache = planPublishedRuntimeCache({
|
|
8663
|
+
endpoint: "getContentByPath",
|
|
8664
|
+
params: { siteId, path, preview },
|
|
8665
|
+
siteId
|
|
8666
|
+
});
|
|
8667
|
+
const cacheKey = publishedRuntimeCache?.cacheKey ?? `page:${siteId}:${path}:${preview}`;
|
|
7991
8668
|
return resilientFetch(
|
|
7992
8669
|
cacheKey,
|
|
7993
8670
|
async (sig) => {
|
|
@@ -8000,6 +8677,7 @@ function createRiverbankClient(config) {
|
|
|
8000
8677
|
{
|
|
8001
8678
|
preview,
|
|
8002
8679
|
signal,
|
|
8680
|
+
publishedRuntimeCache,
|
|
8003
8681
|
// Prebuild fallback only for published pages (not preview)
|
|
8004
8682
|
prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadPage(siteId, path) : void 0
|
|
8005
8683
|
}
|
|
@@ -8545,7 +9223,7 @@ function err(error) {
|
|
|
8545
9223
|
}
|
|
8546
9224
|
|
|
8547
9225
|
// ../core/src/assert-never.ts
|
|
8548
|
-
function
|
|
9226
|
+
function assertNever2(value, message = "Unexpected variant") {
|
|
8549
9227
|
throw new Error(`${message}: ${String(value)}`);
|
|
8550
9228
|
}
|
|
8551
9229
|
|
|
@@ -8869,7 +9547,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
8869
9547
|
);
|
|
8870
9548
|
|
|
8871
9549
|
// ../api/src/sdkConfig/contracts.ts
|
|
8872
|
-
import { z as
|
|
9550
|
+
import { z as z63 } from "zod";
|
|
8873
9551
|
|
|
8874
9552
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
8875
9553
|
function augmentManifest(manifest) {
|
|
@@ -9195,12 +9873,17 @@ var visibleWhenPredicateSchema = z4.object({
|
|
|
9195
9873
|
minItems: z4.number().int().nonnegative().optional(),
|
|
9196
9874
|
maxItems: z4.number().int().nonnegative().optional()
|
|
9197
9875
|
});
|
|
9198
|
-
var visibleWhenSchema = z4.
|
|
9199
|
-
|
|
9200
|
-
|
|
9201
|
-
|
|
9202
|
-
|
|
9203
|
-
|
|
9876
|
+
var visibleWhenSchema = z4.lazy(
|
|
9877
|
+
() => z4.union([
|
|
9878
|
+
visibleWhenPredicateSchema,
|
|
9879
|
+
z4.object({
|
|
9880
|
+
allOf: z4.array(visibleWhenSchema).min(1)
|
|
9881
|
+
}),
|
|
9882
|
+
z4.object({
|
|
9883
|
+
anyOf: z4.array(visibleWhenSchema).min(1)
|
|
9884
|
+
})
|
|
9885
|
+
])
|
|
9886
|
+
);
|
|
9204
9887
|
var uiSchema = z4.object({
|
|
9205
9888
|
widget: z4.string().optional(),
|
|
9206
9889
|
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
@@ -9964,7 +10647,7 @@ function makeBoundaryId(previousBlockId, nextBlockId) {
|
|
|
9964
10647
|
const next = encodeURIComponent(nextBlockId);
|
|
9965
10648
|
return asDesignBoundaryId(`boundary:${previous}:${next}`);
|
|
9966
10649
|
}
|
|
9967
|
-
function
|
|
10650
|
+
function assertNever3(value, message = "Unhandled Theme V2 variant") {
|
|
9968
10651
|
throw new Error(`${message}: ${String(value)}`);
|
|
9969
10652
|
}
|
|
9970
10653
|
function brandNonEmptyString(value, label) {
|
|
@@ -16345,7 +17028,7 @@ function themedHeaderShadow(theme) {
|
|
|
16345
17028
|
case "high":
|
|
16346
17029
|
return { elevation: "lg" };
|
|
16347
17030
|
default:
|
|
16348
|
-
return
|
|
17031
|
+
return assertNever3(
|
|
16349
17032
|
theme.shadow.elevation,
|
|
16350
17033
|
"Unhandled theme shadow elevation"
|
|
16351
17034
|
);
|
|
@@ -22186,9 +22869,6 @@ var heroCopyFragment = defineFragment({
|
|
|
22186
22869
|
maxLength: 600
|
|
22187
22870
|
}
|
|
22188
22871
|
],
|
|
22189
|
-
// Layout order is [eyebrow, headline, subheadline]. The hero block's
|
|
22190
|
-
// `splitEditorial` variant reads these nodes by index; keep the order stable
|
|
22191
|
-
// (it fails fast at import if the count changes).
|
|
22192
22872
|
layout: [
|
|
22193
22873
|
text(
|
|
22194
22874
|
{
|
|
@@ -24426,32 +25106,6 @@ var splitReverseLayout = splitLayoutWith([
|
|
|
24426
25106
|
splitContentColumn,
|
|
24427
25107
|
splitImageColumn
|
|
24428
25108
|
]);
|
|
24429
|
-
var heroEyebrowNode = heroCopyFragment.layout[0];
|
|
24430
|
-
var heroHeadlineNode = heroCopyFragment.layout[1];
|
|
24431
|
-
var heroSubheadlineNode = heroCopyFragment.layout[2];
|
|
24432
|
-
var heroCtaRowNode = heroCtaRowFragment.layout[0];
|
|
24433
|
-
if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
|
|
24434
|
-
throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
|
|
24435
|
-
}
|
|
24436
|
-
var heroEditorialBottomRow = inline(
|
|
24437
|
-
{
|
|
24438
|
-
gap: "lg",
|
|
24439
|
-
align: "end",
|
|
24440
|
-
justify: "start",
|
|
24441
|
-
wrap: true,
|
|
24442
|
-
className: "rb-w-full"
|
|
24443
|
-
},
|
|
24444
|
-
[heroSubheadlineNode, heroCtaRowNode]
|
|
24445
|
-
);
|
|
24446
|
-
var splitEditorialContentColumn = heroContentWrapper(
|
|
24447
|
-
[heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
|
|
24448
|
-
"md",
|
|
24449
|
-
"rb-w-full rb-text-left"
|
|
24450
|
-
);
|
|
24451
|
-
var splitEditorialLayout = splitLayoutWith([
|
|
24452
|
-
splitEditorialContentColumn,
|
|
24453
|
-
splitImageColumn
|
|
24454
|
-
]);
|
|
24455
25109
|
var heroConfig = {
|
|
24456
25110
|
id: "block.hero",
|
|
24457
25111
|
title: "Hero",
|
|
@@ -24475,7 +25129,8 @@ var heroConfig = {
|
|
|
24475
25129
|
id: "imageShape",
|
|
24476
25130
|
label: "Image shape",
|
|
24477
25131
|
defaultValue: "default",
|
|
24478
|
-
uiIntent: "display"
|
|
25132
|
+
uiIntent: "display",
|
|
25133
|
+
visibleWhen: { field: "variant", oneOf: ["split", "splitReverse"] }
|
|
24479
25134
|
})
|
|
24480
25135
|
],
|
|
24481
25136
|
layout: classicLayout,
|
|
@@ -24483,8 +25138,7 @@ var heroConfig = {
|
|
|
24483
25138
|
classic: classicLayout,
|
|
24484
25139
|
micro: microLayout,
|
|
24485
25140
|
split: splitLayout,
|
|
24486
|
-
splitReverse: splitReverseLayout
|
|
24487
|
-
splitEditorial: splitEditorialLayout
|
|
25141
|
+
splitReverse: splitReverseLayout
|
|
24488
25142
|
},
|
|
24489
25143
|
defaultVariant: "classic",
|
|
24490
25144
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
@@ -26360,8 +27014,10 @@ function resolveGeneratedHeroLayoutStyles(content) {
|
|
|
26360
27014
|
return isPlainObject(raw) ? raw : null;
|
|
26361
27015
|
}
|
|
26362
27016
|
function readHeroLayoutString(content, generatedKey, fallbackKey = generatedKey) {
|
|
27017
|
+
const explicitValue = readString(content, fallbackKey);
|
|
27018
|
+
if (explicitValue !== void 0) return explicitValue;
|
|
26363
27019
|
const generated = resolveGeneratedHeroLayoutStyles(content);
|
|
26364
|
-
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] :
|
|
27020
|
+
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : void 0;
|
|
26365
27021
|
}
|
|
26366
27022
|
function resolveHeroVariant(content) {
|
|
26367
27023
|
const variant = readString(content, "variant");
|
|
@@ -26374,7 +27030,7 @@ function resolveHeroContentAlignment(content) {
|
|
|
26374
27030
|
const raw = readHeroLayoutString(content, "contentAlignment");
|
|
26375
27031
|
if (raw === "left" || raw === "center" || raw === "right") return raw;
|
|
26376
27032
|
const variant = resolveHeroVariant(content);
|
|
26377
|
-
if (variant === "split" || variant === "splitReverse"
|
|
27033
|
+
if (variant === "split" || variant === "splitReverse") return "left";
|
|
26378
27034
|
return "center";
|
|
26379
27035
|
}
|
|
26380
27036
|
function resolveHeroVerticalAlignment(content) {
|
|
@@ -26384,7 +27040,7 @@ function resolveHeroVerticalAlignment(content) {
|
|
|
26384
27040
|
const minHeight = sectionStyles?.minHeight;
|
|
26385
27041
|
if (minHeight === "banner" || minHeight === "hero" || minHeight === "immersive") return "center";
|
|
26386
27042
|
const variant = resolveHeroVariant(content);
|
|
26387
|
-
if (variant === "split" || variant === "splitReverse"
|
|
27043
|
+
if (variant === "split" || variant === "splitReverse") return "center";
|
|
26388
27044
|
return "top";
|
|
26389
27045
|
}
|
|
26390
27046
|
function resolveHeroContentMaxWidth(content) {
|
|
@@ -26800,7 +27456,7 @@ function planSiteChromePlacement(positioning) {
|
|
|
26800
27456
|
standaloneShellClassName: "fixed left-0 right-0 top-0 z-40 w-full"
|
|
26801
27457
|
};
|
|
26802
27458
|
default:
|
|
26803
|
-
return
|
|
27459
|
+
return assertNever3(positioning);
|
|
26804
27460
|
}
|
|
26805
27461
|
}
|
|
26806
27462
|
|
|
@@ -29953,9 +30609,6 @@ var appointmentBookingBlockDefinition = {
|
|
|
29953
30609
|
}
|
|
29954
30610
|
};
|
|
29955
30611
|
|
|
29956
|
-
// ../blocks/src/system/blocks/event-registration.ts
|
|
29957
|
-
import { z as z47 } from "zod";
|
|
29958
|
-
|
|
29959
30612
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
29960
30613
|
import { z as z43 } from "zod";
|
|
29961
30614
|
|
|
@@ -30577,24 +31230,57 @@ function normalizeEventStaffMemberId(value) {
|
|
|
30577
31230
|
return trimmed ? trimmed : null;
|
|
30578
31231
|
}
|
|
30579
31232
|
|
|
30580
|
-
// ../blocks/src/system/blocks/
|
|
31233
|
+
// ../blocks/src/system/blocks/shop.shared.ts
|
|
30581
31234
|
import { z as z44 } from "zod";
|
|
30582
|
-
var
|
|
31235
|
+
var publicPassProductSchema = z44.object({
|
|
31236
|
+
id: z44.string(),
|
|
31237
|
+
productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
31238
|
+
name: z44.string(),
|
|
31239
|
+
description: z44.string().nullable(),
|
|
31240
|
+
price: z44.number(),
|
|
31241
|
+
currency: z44.string(),
|
|
31242
|
+
creditsTotal: z44.number(),
|
|
31243
|
+
pricePerCredit: z44.number(),
|
|
31244
|
+
validDays: z44.number().nullable(),
|
|
31245
|
+
eligibleCategoryIds: z44.array(z44.string()),
|
|
31246
|
+
eligibleCategoryNames: z44.array(z44.string())
|
|
31247
|
+
});
|
|
31248
|
+
var publicPassProductCollectionSchema = z44.object({
|
|
31249
|
+
passes: z44.array(publicPassProductSchema)
|
|
31250
|
+
});
|
|
31251
|
+
var publicMembershipProductSchema = z44.object({
|
|
30583
31252
|
id: z44.string(),
|
|
30584
|
-
|
|
30585
|
-
|
|
30586
|
-
|
|
30587
|
-
|
|
30588
|
-
|
|
30589
|
-
|
|
31253
|
+
name: z44.string(),
|
|
31254
|
+
description: z44.string().nullable(),
|
|
31255
|
+
price: z44.number(),
|
|
31256
|
+
currency: z44.string(),
|
|
31257
|
+
billingInterval: z44.enum(["month", "year"]),
|
|
31258
|
+
eligibleCategoryIds: z44.array(z44.string()),
|
|
31259
|
+
eligibleCategoryNames: z44.array(z44.string())
|
|
31260
|
+
});
|
|
31261
|
+
var publicMembershipProductCollectionSchema = z44.object({
|
|
31262
|
+
memberships: z44.array(publicMembershipProductSchema)
|
|
31263
|
+
});
|
|
31264
|
+
|
|
31265
|
+
// ../blocks/src/system/blocks/event-registration.shared.ts
|
|
31266
|
+
import { z as z45 } from "zod";
|
|
31267
|
+
var occurrenceContextSchema = z45.object({
|
|
31268
|
+
id: z45.string(),
|
|
31269
|
+
seriesId: z45.string(),
|
|
31270
|
+
startsAt: z45.string(),
|
|
31271
|
+
endsAt: z45.string(),
|
|
31272
|
+
timeZone: z45.string(),
|
|
31273
|
+
capacityOverride: z45.number().nullable().optional(),
|
|
31274
|
+
overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
|
|
30590
31275
|
}).nullable();
|
|
30591
31276
|
|
|
30592
31277
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
30593
|
-
import { z as
|
|
31278
|
+
import { z as z47 } from "zod";
|
|
30594
31279
|
|
|
30595
31280
|
// ../blocks/src/system/constants/events.ts
|
|
30596
31281
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
30597
|
-
var eventCalendarDisplayModeValues = ["combined", "
|
|
31282
|
+
var eventCalendarDisplayModeValues = ["combined", "calendar", "list", "timetable"];
|
|
31283
|
+
var eventCalendarDefaultViewValues = ["month", "week"];
|
|
30598
31284
|
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
30599
31285
|
var eventCalendarListLayoutOptions = [
|
|
30600
31286
|
{ id: "stack", label: "Stack" },
|
|
@@ -30604,6 +31290,9 @@ var eventCalendarListLayoutOptions = [
|
|
|
30604
31290
|
function isEventCalendarDisplayMode(value) {
|
|
30605
31291
|
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
30606
31292
|
}
|
|
31293
|
+
function isEventCalendarDefaultView(value) {
|
|
31294
|
+
return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
|
|
31295
|
+
}
|
|
30607
31296
|
function isEventCalendarListLayout(value) {
|
|
30608
31297
|
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
30609
31298
|
}
|
|
@@ -30744,16 +31433,17 @@ function readAmount(value) {
|
|
|
30744
31433
|
}
|
|
30745
31434
|
|
|
30746
31435
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
30747
|
-
import { z as
|
|
30748
|
-
var previewStageSchema =
|
|
30749
|
-
var registrationButtonVariantSchema =
|
|
30750
|
-
var eventButtonVariantSchema =
|
|
30751
|
-
var eventLayoutSchema =
|
|
30752
|
-
var eventCalendarDisplayModeSchema =
|
|
30753
|
-
var
|
|
30754
|
-
var
|
|
30755
|
-
var
|
|
30756
|
-
var
|
|
31436
|
+
import { z as z46 } from "zod";
|
|
31437
|
+
var previewStageSchema = z46.enum(["preview", "published"]);
|
|
31438
|
+
var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
|
|
31439
|
+
var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
|
|
31440
|
+
var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
|
|
31441
|
+
var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
|
|
31442
|
+
var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
|
|
31443
|
+
var columnOptionSchema = z46.enum(["2", "3", "4"]);
|
|
31444
|
+
var weekStartSchema = z46.enum(["sunday", "monday"]);
|
|
31445
|
+
var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
|
|
31446
|
+
var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
|
|
30757
31447
|
|
|
30758
31448
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
30759
31449
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -30771,7 +31461,7 @@ function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
|
30771
31461
|
function findPreSelectedEvent(input) {
|
|
30772
31462
|
const occurrenceContext = input.occurrenceContext;
|
|
30773
31463
|
if (!occurrenceContext) {
|
|
30774
|
-
return null;
|
|
31464
|
+
return input.scopedEvents.length === 1 ? input.scopedEvents[0] ?? null : null;
|
|
30775
31465
|
}
|
|
30776
31466
|
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
30777
31467
|
startsAt: occurrenceContext.startsAt,
|
|
@@ -30813,68 +31503,72 @@ function toRegistrationEvents(events) {
|
|
|
30813
31503
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
30814
31504
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
30815
31505
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
30816
|
-
var contentEntrySchema =
|
|
30817
|
-
id:
|
|
30818
|
-
slug:
|
|
30819
|
-
contentTypeSlug:
|
|
31506
|
+
var contentEntrySchema = z47.object({
|
|
31507
|
+
id: z47.string(),
|
|
31508
|
+
slug: z47.string(),
|
|
31509
|
+
contentTypeSlug: z47.string()
|
|
30820
31510
|
});
|
|
30821
|
-
var eventRegistrationPublicEventSchema =
|
|
31511
|
+
var eventRegistrationPublicEventSchema = z47.preprocess(
|
|
30822
31512
|
normalizeEventRegistrationEventInput,
|
|
30823
31513
|
publicEventSchema
|
|
30824
31514
|
);
|
|
30825
|
-
var eventRegistrationSourceSchema =
|
|
30826
|
-
siteId:
|
|
30827
|
-
apiBaseUrl:
|
|
30828
|
-
portalToken:
|
|
30829
|
-
previewToken:
|
|
31515
|
+
var eventRegistrationSourceSchema = z47.object({
|
|
31516
|
+
siteId: z47.string().optional(),
|
|
31517
|
+
apiBaseUrl: z47.string().optional(),
|
|
31518
|
+
portalToken: z47.string().nullable().optional(),
|
|
31519
|
+
previewToken: z47.string().nullable().optional(),
|
|
30830
31520
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
30831
31521
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
30832
|
-
events:
|
|
30833
|
-
className:
|
|
30834
|
-
buttonText:
|
|
30835
|
-
maxTickets:
|
|
30836
|
-
showVenue:
|
|
30837
|
-
showCapacity:
|
|
30838
|
-
successMessage:
|
|
30839
|
-
waitlistMessage:
|
|
31522
|
+
events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
31523
|
+
className: z47.string().nullable().optional(),
|
|
31524
|
+
buttonText: z47.string().nullable().optional(),
|
|
31525
|
+
maxTickets: z47.string().nullable().optional(),
|
|
31526
|
+
showVenue: z47.boolean().optional(),
|
|
31527
|
+
showCapacity: z47.boolean().optional(),
|
|
31528
|
+
successMessage: z47.string().optional(),
|
|
31529
|
+
waitlistMessage: z47.string().optional(),
|
|
30840
31530
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
30841
|
-
overlayEnabled:
|
|
30842
|
-
spamProtectionEnabled:
|
|
31531
|
+
overlayEnabled: z47.boolean().optional(),
|
|
31532
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
30843
31533
|
stage: previewStageSchema.optional(),
|
|
30844
|
-
supportEmail:
|
|
30845
|
-
|
|
30846
|
-
|
|
30847
|
-
|
|
30848
|
-
|
|
30849
|
-
|
|
30850
|
-
|
|
30851
|
-
|
|
30852
|
-
|
|
30853
|
-
|
|
30854
|
-
|
|
30855
|
-
|
|
31534
|
+
supportEmail: z47.string().optional(),
|
|
31535
|
+
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
31536
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
31537
|
+
});
|
|
31538
|
+
var eventRegistrationDisplaySchema = z47.object({
|
|
31539
|
+
kind: z47.literal("event-registration"),
|
|
31540
|
+
state: z47.literal("generic-shell"),
|
|
31541
|
+
className: z47.string().nullable(),
|
|
31542
|
+
titleText: z47.string(),
|
|
31543
|
+
bodyText: z47.string(),
|
|
31544
|
+
stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
31545
|
+
summaryButtonText: z47.string()
|
|
31546
|
+
});
|
|
31547
|
+
var eventRegistrationHydrationSchema = z47.object({
|
|
30856
31548
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
30857
31549
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
30858
|
-
events:
|
|
30859
|
-
maxTickets:
|
|
30860
|
-
showVenue:
|
|
30861
|
-
showCapacity:
|
|
30862
|
-
successMessage:
|
|
30863
|
-
waitlistMessage:
|
|
31550
|
+
events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
31551
|
+
maxTickets: z47.string().optional(),
|
|
31552
|
+
showVenue: z47.boolean().optional(),
|
|
31553
|
+
showCapacity: z47.boolean().optional(),
|
|
31554
|
+
successMessage: z47.string().optional(),
|
|
31555
|
+
waitlistMessage: z47.string().optional(),
|
|
30864
31556
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
30865
|
-
overlayEnabled:
|
|
30866
|
-
spamProtectionEnabled:
|
|
30867
|
-
supportEmail:
|
|
31557
|
+
overlayEnabled: z47.boolean().optional(),
|
|
31558
|
+
spamProtectionEnabled: z47.boolean().optional(),
|
|
31559
|
+
supportEmail: z47.string().optional(),
|
|
31560
|
+
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
31561
|
+
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
30868
31562
|
});
|
|
30869
|
-
var eventRegistrationRenderSchema =
|
|
31563
|
+
var eventRegistrationRenderSchema = z47.object({
|
|
30870
31564
|
display: eventRegistrationDisplaySchema,
|
|
30871
31565
|
hydration: eventRegistrationHydrationSchema
|
|
30872
31566
|
});
|
|
30873
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
30874
|
-
siteId:
|
|
30875
|
-
apiBaseUrl:
|
|
30876
|
-
portalToken:
|
|
30877
|
-
previewToken:
|
|
31567
|
+
var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
|
|
31568
|
+
siteId: z47.string().optional(),
|
|
31569
|
+
apiBaseUrl: z47.string().optional(),
|
|
31570
|
+
portalToken: z47.string().nullable().optional(),
|
|
31571
|
+
previewToken: z47.string().nullable().optional(),
|
|
30878
31572
|
stage: previewStageSchema.optional()
|
|
30879
31573
|
}));
|
|
30880
31574
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -30980,7 +31674,9 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
30980
31674
|
buttonVariant: source.buttonVariant,
|
|
30981
31675
|
overlayEnabled: source.overlayEnabled,
|
|
30982
31676
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
30983
|
-
supportEmail: source.supportEmail
|
|
31677
|
+
supportEmail: source.supportEmail,
|
|
31678
|
+
sitePasses: source.sitePasses ?? null,
|
|
31679
|
+
siteMemberships: source.siteMemberships ?? null
|
|
30984
31680
|
}
|
|
30985
31681
|
})
|
|
30986
31682
|
});
|
|
@@ -31162,6 +31858,8 @@ var eventRegistrationManifest = createBlockManifest({
|
|
|
31162
31858
|
},
|
|
31163
31859
|
// Event data from loader
|
|
31164
31860
|
events: { $bind: { from: "data.events" } },
|
|
31861
|
+
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
31862
|
+
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
31165
31863
|
// Stage for preview mode (allows registering for draft events)
|
|
31166
31864
|
stage: {
|
|
31167
31865
|
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
@@ -31180,7 +31878,9 @@ var eventRegistrationBlockDefinition = {
|
|
|
31180
31878
|
manifest: eventRegistrationManifest,
|
|
31181
31879
|
runtime: eventRegistrationBlockRuntime,
|
|
31182
31880
|
dataSchemas: {
|
|
31183
|
-
events:
|
|
31881
|
+
events: publicEventsArraySchema.optional(),
|
|
31882
|
+
sitePasses: publicPassProductCollectionSchema.optional(),
|
|
31883
|
+
siteMemberships: publicMembershipProductCollectionSchema.optional(),
|
|
31184
31884
|
occurrenceContext: occurrenceContextSchema.optional()
|
|
31185
31885
|
},
|
|
31186
31886
|
dataLoaders: {
|
|
@@ -31199,6 +31899,20 @@ var eventRegistrationBlockDefinition = {
|
|
|
31199
31899
|
entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
|
|
31200
31900
|
},
|
|
31201
31901
|
mode: "server"
|
|
31902
|
+
},
|
|
31903
|
+
sitePasses: {
|
|
31904
|
+
endpoint: "listPublicPasses",
|
|
31905
|
+
params: {
|
|
31906
|
+
siteId: { $bind: { from: "$root.siteId" } }
|
|
31907
|
+
},
|
|
31908
|
+
mode: "server"
|
|
31909
|
+
},
|
|
31910
|
+
siteMemberships: {
|
|
31911
|
+
endpoint: "listPublicMemberships",
|
|
31912
|
+
params: {
|
|
31913
|
+
siteId: { $bind: { from: "$root.siteId" } }
|
|
31914
|
+
},
|
|
31915
|
+
mode: "server"
|
|
31202
31916
|
}
|
|
31203
31917
|
}
|
|
31204
31918
|
};
|
|
@@ -31530,35 +32244,7 @@ var courseRegistrationBlockDefinition = {
|
|
|
31530
32244
|
};
|
|
31531
32245
|
|
|
31532
32246
|
// ../blocks/src/system/blocks/event-details.ts
|
|
31533
|
-
import { z as z50 } from "zod";
|
|
31534
|
-
|
|
31535
|
-
// ../blocks/src/system/blocks/shop.shared.ts
|
|
31536
32247
|
import { z as z49 } from "zod";
|
|
31537
|
-
var publicPassProductSchema = z49.object({
|
|
31538
|
-
id: z49.string(),
|
|
31539
|
-
productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
31540
|
-
name: z49.string(),
|
|
31541
|
-
description: z49.string().nullable(),
|
|
31542
|
-
price: z49.number(),
|
|
31543
|
-
currency: z49.string(),
|
|
31544
|
-
creditsTotal: z49.number(),
|
|
31545
|
-
pricePerCredit: z49.number(),
|
|
31546
|
-
validDays: z49.number().nullable(),
|
|
31547
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
31548
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
31549
|
-
});
|
|
31550
|
-
var publicMembershipProductSchema = z49.object({
|
|
31551
|
-
id: z49.string(),
|
|
31552
|
-
name: z49.string(),
|
|
31553
|
-
description: z49.string().nullable(),
|
|
31554
|
-
price: z49.number(),
|
|
31555
|
-
currency: z49.string(),
|
|
31556
|
-
billingInterval: z49.enum(["month", "year"]),
|
|
31557
|
-
eligibleCategoryIds: z49.array(z49.string()),
|
|
31558
|
-
eligibleCategoryNames: z49.array(z49.string())
|
|
31559
|
-
});
|
|
31560
|
-
|
|
31561
|
-
// ../blocks/src/system/blocks/event-details.ts
|
|
31562
32248
|
var eventDetailsManifest = createBlockManifest({
|
|
31563
32249
|
id: "block.event-details",
|
|
31564
32250
|
version: "1.0.0",
|
|
@@ -31690,40 +32376,40 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
31690
32376
|
})
|
|
31691
32377
|
]
|
|
31692
32378
|
});
|
|
31693
|
-
var occurrenceContextSchema2 =
|
|
31694
|
-
id:
|
|
31695
|
-
seriesId:
|
|
31696
|
-
startsAt:
|
|
31697
|
-
endsAt:
|
|
31698
|
-
timeZone:
|
|
31699
|
-
capacityOverride:
|
|
31700
|
-
overrides:
|
|
32379
|
+
var occurrenceContextSchema2 = z49.object({
|
|
32380
|
+
id: z49.string(),
|
|
32381
|
+
seriesId: z49.string(),
|
|
32382
|
+
startsAt: z49.string(),
|
|
32383
|
+
endsAt: z49.string(),
|
|
32384
|
+
timeZone: z49.string(),
|
|
32385
|
+
capacityOverride: z49.number().nullable().optional(),
|
|
32386
|
+
overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
|
|
31701
32387
|
}).nullable();
|
|
31702
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
31703
|
-
id:
|
|
31704
|
-
publicLabel:
|
|
31705
|
-
description:
|
|
31706
|
-
minTicketsRequired:
|
|
32388
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
|
|
32389
|
+
id: z49.string(),
|
|
32390
|
+
publicLabel: z49.string(),
|
|
32391
|
+
description: z49.string().nullable(),
|
|
32392
|
+
minTicketsRequired: z49.number().nullable()
|
|
31707
32393
|
});
|
|
31708
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
32394
|
+
var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
|
|
31709
32395
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
31710
|
-
discountType:
|
|
31711
|
-
discountPercent:
|
|
31712
|
-
discountAmountCents:
|
|
32396
|
+
discountType: z49.literal("percent"),
|
|
32397
|
+
discountPercent: z49.number(),
|
|
32398
|
+
discountAmountCents: z49.null()
|
|
31713
32399
|
}),
|
|
31714
32400
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
31715
|
-
discountType:
|
|
31716
|
-
discountPercent:
|
|
31717
|
-
discountAmountCents:
|
|
32401
|
+
discountType: z49.literal("fixed"),
|
|
32402
|
+
discountPercent: z49.null(),
|
|
32403
|
+
discountAmountCents: z49.number()
|
|
31718
32404
|
})
|
|
31719
32405
|
]);
|
|
31720
32406
|
var eventDetailsBlockDefinition = {
|
|
31721
32407
|
manifest: eventDetailsManifest,
|
|
31722
32408
|
dataSchemas: {
|
|
31723
|
-
eventDetailsData:
|
|
32409
|
+
eventDetailsData: z49.object({
|
|
31724
32410
|
events: publicEventsArraySchema,
|
|
31725
|
-
sitePasses:
|
|
31726
|
-
siteMemberships:
|
|
32411
|
+
sitePasses: publicPassProductCollectionSchema,
|
|
32412
|
+
siteMemberships: publicMembershipProductCollectionSchema,
|
|
31727
32413
|
autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
|
|
31728
32414
|
}).optional(),
|
|
31729
32415
|
occurrenceContext: occurrenceContextSchema2.optional()
|
|
@@ -32047,7 +32733,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
32047
32733
|
};
|
|
32048
32734
|
|
|
32049
32735
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
32050
|
-
import { z as
|
|
32736
|
+
import { z as z51 } from "zod";
|
|
32051
32737
|
|
|
32052
32738
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
32053
32739
|
var COLUMN_CLASSES = {
|
|
@@ -32155,16 +32841,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
32155
32841
|
}
|
|
32156
32842
|
|
|
32157
32843
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
32158
|
-
import { z as
|
|
32844
|
+
import { z as z50 } from "zod";
|
|
32159
32845
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
32160
|
-
var eventPageSizeSchema =
|
|
32161
|
-
|
|
32162
|
-
|
|
32163
|
-
|
|
32164
|
-
|
|
32165
|
-
|
|
32166
|
-
|
|
32167
|
-
|
|
32846
|
+
var eventPageSizeSchema = z50.union([
|
|
32847
|
+
z50.literal(3),
|
|
32848
|
+
z50.literal(6),
|
|
32849
|
+
z50.literal(10),
|
|
32850
|
+
z50.literal(12),
|
|
32851
|
+
z50.literal(20),
|
|
32852
|
+
z50.literal(24),
|
|
32853
|
+
z50.literal(30)
|
|
32168
32854
|
]);
|
|
32169
32855
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
32170
32856
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -32174,15 +32860,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
32174
32860
|
function resolveEventCalendarListPageSize(input) {
|
|
32175
32861
|
return resolveEventPageSize(input.eventsPerPage);
|
|
32176
32862
|
}
|
|
32177
|
-
var eventListPaginationActionSchema =
|
|
32178
|
-
|
|
32179
|
-
kind:
|
|
32180
|
-
label:
|
|
32863
|
+
var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
|
|
32864
|
+
z50.object({
|
|
32865
|
+
kind: z50.literal("loadMore"),
|
|
32866
|
+
label: z50.string()
|
|
32181
32867
|
}),
|
|
32182
|
-
|
|
32183
|
-
kind:
|
|
32184
|
-
label:
|
|
32185
|
-
href:
|
|
32868
|
+
z50.object({
|
|
32869
|
+
kind: z50.literal("seeAllLink"),
|
|
32870
|
+
label: z50.string(),
|
|
32871
|
+
href: z50.string()
|
|
32186
32872
|
})
|
|
32187
32873
|
]);
|
|
32188
32874
|
function resolveEventListPaginationAction(input) {
|
|
@@ -32195,89 +32881,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
32195
32881
|
}
|
|
32196
32882
|
|
|
32197
32883
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
32198
|
-
var legacyEventCardVariantSchema =
|
|
32199
|
-
var eventCardVariantInputSchema =
|
|
32884
|
+
var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
|
|
32885
|
+
var eventCardVariantInputSchema = z51.union([
|
|
32200
32886
|
cardVariantRoleSchema,
|
|
32201
32887
|
legacyEventCardVariantSchema
|
|
32202
32888
|
]);
|
|
32203
|
-
var cardOrientationSchema =
|
|
32204
|
-
var eventBlockKindSchema =
|
|
32205
|
-
var eventSurfaceScopeSchema =
|
|
32206
|
-
var eventScheduleScopeSchema2 =
|
|
32207
|
-
var eventListingSourceSchema =
|
|
32208
|
-
events:
|
|
32209
|
-
siteId:
|
|
32210
|
-
apiBaseUrl:
|
|
32889
|
+
var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
|
|
32890
|
+
var eventBlockKindSchema = z51.enum(eventBlockKindValues);
|
|
32891
|
+
var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
|
|
32892
|
+
var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
|
|
32893
|
+
var eventListingSourceSchema = z51.object({
|
|
32894
|
+
events: z51.array(publicEventSchema).nullable().optional(),
|
|
32895
|
+
siteId: z51.string(),
|
|
32896
|
+
apiBaseUrl: z51.string().optional(),
|
|
32211
32897
|
stage: previewStageSchema.optional(),
|
|
32212
32898
|
layout: eventLayoutSchema.optional(),
|
|
32213
32899
|
columns: columnOptionSchema.optional(),
|
|
32214
|
-
eventsPerPage:
|
|
32215
|
-
paginationMode:
|
|
32216
|
-
seeAllUrl:
|
|
32217
|
-
loadMoreText:
|
|
32900
|
+
eventsPerPage: z51.string().optional(),
|
|
32901
|
+
paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
|
|
32902
|
+
seeAllUrl: z51.string().optional(),
|
|
32903
|
+
loadMoreText: z51.string().optional(),
|
|
32218
32904
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
32219
32905
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
32220
|
-
buttonText:
|
|
32221
|
-
showVenue:
|
|
32222
|
-
showMap:
|
|
32223
|
-
showCapacity:
|
|
32224
|
-
emptyMessage:
|
|
32225
|
-
className:
|
|
32226
|
-
showFilters:
|
|
32906
|
+
buttonText: z51.string().optional(),
|
|
32907
|
+
showVenue: z51.boolean().optional(),
|
|
32908
|
+
showMap: z51.boolean().optional(),
|
|
32909
|
+
showCapacity: z51.boolean().optional(),
|
|
32910
|
+
emptyMessage: z51.string().optional(),
|
|
32911
|
+
className: z51.string().optional(),
|
|
32912
|
+
showFilters: z51.boolean().nullable().optional(),
|
|
32227
32913
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
32228
|
-
showVenueFilter:
|
|
32229
|
-
showStaffFilter:
|
|
32914
|
+
showVenueFilter: z51.boolean().nullable().optional(),
|
|
32915
|
+
showStaffFilter: z51.boolean().nullable().optional(),
|
|
32230
32916
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
32231
32917
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
32232
|
-
filterEventPresets:
|
|
32918
|
+
filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
|
|
32233
32919
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
32234
|
-
filterCategoryIds:
|
|
32235
|
-
filterStaffMemberId:
|
|
32236
|
-
filterVenueId:
|
|
32920
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
32921
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
32922
|
+
filterVenueId: z51.string().nullable().optional()
|
|
32237
32923
|
});
|
|
32238
|
-
var eventListingDisplaySchema =
|
|
32239
|
-
kind:
|
|
32240
|
-
state:
|
|
32924
|
+
var eventListingDisplaySchema = z51.object({
|
|
32925
|
+
kind: z51.literal("event-listing"),
|
|
32926
|
+
state: z51.enum(["loading", "empty", "ready"]),
|
|
32241
32927
|
listLayout: eventLayoutSchema,
|
|
32242
|
-
className:
|
|
32243
|
-
emptyMessage:
|
|
32244
|
-
loadingMessage:
|
|
32245
|
-
containerClass:
|
|
32928
|
+
className: z51.string().nullable(),
|
|
32929
|
+
emptyMessage: z51.string(),
|
|
32930
|
+
loadingMessage: z51.string(),
|
|
32931
|
+
containerClass: z51.string(),
|
|
32246
32932
|
cardVariant: cardVariantRoleSchema,
|
|
32247
32933
|
buttonVariant: eventButtonVariantSchema,
|
|
32248
|
-
buttonText:
|
|
32249
|
-
showVenue:
|
|
32250
|
-
showMap:
|
|
32251
|
-
showCapacity:
|
|
32934
|
+
buttonText: z51.string(),
|
|
32935
|
+
showVenue: z51.boolean(),
|
|
32936
|
+
showMap: z51.boolean(),
|
|
32937
|
+
showCapacity: z51.boolean(),
|
|
32252
32938
|
orientation: cardOrientationSchema,
|
|
32253
|
-
events:
|
|
32939
|
+
events: z51.array(publicEventSchema)
|
|
32254
32940
|
});
|
|
32255
|
-
var eventListingHydrationSchema =
|
|
32256
|
-
siteId:
|
|
32941
|
+
var eventListingHydrationSchema = z51.object({
|
|
32942
|
+
siteId: z51.string(),
|
|
32257
32943
|
stage: previewStageSchema.optional(),
|
|
32258
32944
|
eventsPerPage: eventPageSizeSchema,
|
|
32259
32945
|
paginationAction: eventListPaginationActionSchema,
|
|
32260
|
-
showFilters:
|
|
32946
|
+
showFilters: z51.boolean(),
|
|
32261
32947
|
showCategoryFilter: filterAutoShowSchema,
|
|
32262
|
-
showVenueFilter:
|
|
32263
|
-
showStaffFilter:
|
|
32948
|
+
showVenueFilter: z51.boolean(),
|
|
32949
|
+
showStaffFilter: z51.boolean(),
|
|
32264
32950
|
eventKind: eventBlockKindSchema,
|
|
32265
32951
|
eventSurface: eventSurfaceScopeSchema,
|
|
32266
|
-
filterEventPresets:
|
|
32952
|
+
filterEventPresets: z51.string().nullable(),
|
|
32267
32953
|
scheduleScope: eventScheduleScopeSchema2,
|
|
32268
|
-
filterCategoryIds:
|
|
32269
|
-
filterStaffMemberId:
|
|
32270
|
-
filterVenueId:
|
|
32271
|
-
fetchInitialEventsOnMount:
|
|
32954
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
32955
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
32956
|
+
filterVenueId: z51.string().nullable().optional(),
|
|
32957
|
+
fetchInitialEventsOnMount: z51.boolean()
|
|
32272
32958
|
});
|
|
32273
|
-
var eventListingRenderSchema =
|
|
32959
|
+
var eventListingRenderSchema = z51.object({
|
|
32274
32960
|
display: eventListingDisplaySchema,
|
|
32275
32961
|
hydration: eventListingHydrationSchema
|
|
32276
32962
|
});
|
|
32277
32963
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
32278
|
-
|
|
32279
|
-
siteId:
|
|
32280
|
-
apiBaseUrl:
|
|
32964
|
+
z51.object({
|
|
32965
|
+
siteId: z51.string(),
|
|
32966
|
+
apiBaseUrl: z51.string().optional(),
|
|
32281
32967
|
stage: previewStageSchema.optional()
|
|
32282
32968
|
})
|
|
32283
32969
|
);
|
|
@@ -32644,15 +33330,15 @@ var eventListingBlockDefinition = {
|
|
|
32644
33330
|
};
|
|
32645
33331
|
|
|
32646
33332
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
32647
|
-
import { z as
|
|
32648
|
-
var eventBlockKindSchema2 =
|
|
32649
|
-
var eventSurfaceScopeSchema2 =
|
|
32650
|
-
var eventScheduleScopeSchema3 =
|
|
32651
|
-
var eventCalendarSourceSchema =
|
|
33333
|
+
import { z as z52 } from "zod";
|
|
33334
|
+
var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
|
|
33335
|
+
var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
|
|
33336
|
+
var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
|
|
33337
|
+
var eventCalendarSourceSchema = z52.object(
|
|
32652
33338
|
{
|
|
32653
|
-
events:
|
|
32654
|
-
siteId:
|
|
32655
|
-
apiBaseUrl:
|
|
33339
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
33340
|
+
siteId: z52.string(),
|
|
33341
|
+
apiBaseUrl: z52.string().optional(),
|
|
32656
33342
|
stage: previewStageSchema.optional(),
|
|
32657
33343
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
32658
33344
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -32660,78 +33346,80 @@ var eventCalendarSourceSchema = z53.object(
|
|
|
32660
33346
|
listColumns: columnOptionSchema.optional(),
|
|
32661
33347
|
layout: eventLayoutSchema.optional(),
|
|
32662
33348
|
columns: columnOptionSchema.optional(),
|
|
32663
|
-
eventsPerPage:
|
|
32664
|
-
paginationMode:
|
|
32665
|
-
seeAllUrl:
|
|
32666
|
-
loadMoreText:
|
|
33349
|
+
eventsPerPage: z52.string().optional(),
|
|
33350
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
33351
|
+
seeAllUrl: z52.string().optional(),
|
|
33352
|
+
loadMoreText: z52.string().optional(),
|
|
32667
33353
|
startOfWeek: weekStartSchema.optional(),
|
|
32668
33354
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
32669
|
-
|
|
33355
|
+
defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
|
|
33356
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
32670
33357
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
32671
|
-
showVenueFilter:
|
|
32672
|
-
showStaffFilter:
|
|
33358
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
33359
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
32673
33360
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
32674
33361
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
32675
|
-
filterEventPresets:
|
|
33362
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
32676
33363
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
32677
|
-
filterCategoryIds:
|
|
32678
|
-
filterStaffMemberId:
|
|
32679
|
-
filterVenueId:
|
|
33364
|
+
filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
33365
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
33366
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
32680
33367
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
32681
|
-
buttonText:
|
|
32682
|
-
showVenue:
|
|
32683
|
-
showMap:
|
|
32684
|
-
showCapacity:
|
|
32685
|
-
emptyMessage:
|
|
32686
|
-
className:
|
|
33368
|
+
buttonText: z52.string().optional(),
|
|
33369
|
+
showVenue: z52.boolean().nullable().optional(),
|
|
33370
|
+
showMap: z52.boolean().nullable().optional(),
|
|
33371
|
+
showCapacity: z52.boolean().nullable().optional(),
|
|
33372
|
+
emptyMessage: z52.string().optional(),
|
|
33373
|
+
className: z52.string().optional()
|
|
32687
33374
|
}
|
|
32688
33375
|
);
|
|
32689
|
-
var eventCalendarDisplaySchema =
|
|
32690
|
-
kind:
|
|
33376
|
+
var eventCalendarDisplaySchema = z52.object({
|
|
33377
|
+
kind: z52.literal("event-calendar"),
|
|
32691
33378
|
displayMode: eventCalendarDisplayModeSchema,
|
|
32692
|
-
className:
|
|
32693
|
-
events:
|
|
33379
|
+
className: z52.string().nullable(),
|
|
33380
|
+
events: z52.array(publicEventSchema),
|
|
32694
33381
|
listLayout: eventLayoutSchema,
|
|
32695
33382
|
listColumns: columnOptionSchema,
|
|
32696
33383
|
eventsPerPage: eventPageSizeSchema,
|
|
32697
33384
|
paginationAction: eventListPaginationActionSchema,
|
|
32698
33385
|
startOfWeek: weekStartSchema,
|
|
32699
33386
|
calendarTabViews: calendarTabViewsSchema,
|
|
32700
|
-
|
|
33387
|
+
defaultCalendarView: eventCalendarDefaultViewSchema,
|
|
33388
|
+
showFilters: z52.boolean(),
|
|
32701
33389
|
showCategoryFilter: filterAutoShowSchema,
|
|
32702
|
-
showVenueFilter:
|
|
32703
|
-
showStaffFilter:
|
|
33390
|
+
showVenueFilter: z52.boolean(),
|
|
33391
|
+
showStaffFilter: z52.boolean(),
|
|
32704
33392
|
eventKind: eventBlockKindSchema2,
|
|
32705
33393
|
eventSurface: eventSurfaceScopeSchema2,
|
|
32706
|
-
filterEventPresets:
|
|
33394
|
+
filterEventPresets: z52.string().nullable(),
|
|
32707
33395
|
scheduleScope: eventScheduleScopeSchema3,
|
|
32708
|
-
filterCategoryIds:
|
|
32709
|
-
filterStaffMemberId:
|
|
32710
|
-
filterVenueId:
|
|
33396
|
+
filterCategoryIds: z52.string().nullable(),
|
|
33397
|
+
filterStaffMemberId: z52.string().nullable(),
|
|
33398
|
+
filterVenueId: z52.string().nullable(),
|
|
32711
33399
|
buttonVariant: eventButtonVariantSchema,
|
|
32712
|
-
buttonText:
|
|
32713
|
-
showVenue:
|
|
32714
|
-
showMap:
|
|
32715
|
-
showCapacity:
|
|
32716
|
-
emptyMessage:
|
|
32717
|
-
});
|
|
32718
|
-
var eventCalendarHydrationSchema =
|
|
32719
|
-
siteId:
|
|
33400
|
+
buttonText: z52.string(),
|
|
33401
|
+
showVenue: z52.boolean(),
|
|
33402
|
+
showMap: z52.boolean(),
|
|
33403
|
+
showCapacity: z52.boolean(),
|
|
33404
|
+
emptyMessage: z52.string()
|
|
33405
|
+
});
|
|
33406
|
+
var eventCalendarHydrationSchema = z52.object({
|
|
33407
|
+
siteId: z52.string(),
|
|
32720
33408
|
stage: previewStageSchema.optional(),
|
|
32721
|
-
prefetchedEvents:
|
|
33409
|
+
prefetchedEvents: z52.boolean(),
|
|
32722
33410
|
eventKind: eventBlockKindSchema2,
|
|
32723
33411
|
eventSurface: eventSurfaceScopeSchema2,
|
|
32724
|
-
filterEventPresets:
|
|
33412
|
+
filterEventPresets: z52.string().nullable(),
|
|
32725
33413
|
scheduleScope: eventScheduleScopeSchema3
|
|
32726
33414
|
});
|
|
32727
|
-
var eventCalendarRenderSchema =
|
|
33415
|
+
var eventCalendarRenderSchema = z52.object({
|
|
32728
33416
|
display: eventCalendarDisplaySchema,
|
|
32729
33417
|
hydration: eventCalendarHydrationSchema
|
|
32730
33418
|
});
|
|
32731
33419
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
32732
|
-
|
|
32733
|
-
siteId:
|
|
32734
|
-
apiBaseUrl:
|
|
33420
|
+
z52.object({
|
|
33421
|
+
siteId: z52.string(),
|
|
33422
|
+
apiBaseUrl: z52.string().optional(),
|
|
32735
33423
|
stage: previewStageSchema.optional()
|
|
32736
33424
|
})
|
|
32737
33425
|
);
|
|
@@ -32761,6 +33449,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
32761
33449
|
}),
|
|
32762
33450
|
startOfWeek: source.startOfWeek ?? "monday",
|
|
32763
33451
|
calendarTabViews: source.calendarTabViews ?? "both",
|
|
33452
|
+
defaultCalendarView: source.defaultCalendarView ?? "month",
|
|
32764
33453
|
showFilters: source.showFilters ?? true,
|
|
32765
33454
|
showCategoryFilter: source.showCategoryFilter ?? "auto",
|
|
32766
33455
|
showVenueFilter: source.showVenueFilter ?? false,
|
|
@@ -32823,6 +33512,9 @@ function normalizeEventCalendarContent(content) {
|
|
|
32823
33512
|
...variant ? { variant } : {},
|
|
32824
33513
|
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
32825
33514
|
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
33515
|
+
defaultCalendarView: normalizeEventCalendarDefaultView(
|
|
33516
|
+
record.defaultCalendarView
|
|
33517
|
+
),
|
|
32826
33518
|
kind,
|
|
32827
33519
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
32828
33520
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -32840,6 +33532,9 @@ function normalizeEventCalendarDisplayMode(value) {
|
|
|
32840
33532
|
function normalizeEventCalendarListLayout(value) {
|
|
32841
33533
|
return isEventCalendarListLayout(value) ? value : void 0;
|
|
32842
33534
|
}
|
|
33535
|
+
function normalizeEventCalendarDefaultView(value) {
|
|
33536
|
+
return isEventCalendarDefaultView(value) ? value : void 0;
|
|
33537
|
+
}
|
|
32843
33538
|
var eventCalendarLayout = [
|
|
32844
33539
|
styledSection({
|
|
32845
33540
|
children: sectionContainer(
|
|
@@ -32899,6 +33594,9 @@ var eventCalendarLayout = [
|
|
|
32899
33594
|
calendarTabViews: {
|
|
32900
33595
|
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
32901
33596
|
},
|
|
33597
|
+
defaultCalendarView: {
|
|
33598
|
+
$bind: { from: "content.defaultCalendarView", fallback: "month" }
|
|
33599
|
+
},
|
|
32902
33600
|
// Filtering options
|
|
32903
33601
|
showFilters: {
|
|
32904
33602
|
$bind: { from: "content.showFilters", fallback: true }
|
|
@@ -32965,8 +33663,7 @@ var eventCalendarAdditionalFields = [
|
|
|
32965
33663
|
defaultValue: "combined",
|
|
32966
33664
|
options: [
|
|
32967
33665
|
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
32968
|
-
{ value: "
|
|
32969
|
-
{ value: "week", label: "Week agenda" },
|
|
33666
|
+
{ value: "calendar", label: "Calendar" },
|
|
32970
33667
|
{ value: "timetable", label: "Timetable" },
|
|
32971
33668
|
{ value: "list", label: "List" }
|
|
32972
33669
|
],
|
|
@@ -33005,7 +33702,12 @@ var eventCalendarAdditionalFields = [
|
|
|
33005
33702
|
],
|
|
33006
33703
|
ui: {
|
|
33007
33704
|
intent: "display",
|
|
33008
|
-
visibleWhen: {
|
|
33705
|
+
visibleWhen: {
|
|
33706
|
+
allOf: [
|
|
33707
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
33708
|
+
{ field: "listLayout", equals: "grid" }
|
|
33709
|
+
]
|
|
33710
|
+
}
|
|
33009
33711
|
}
|
|
33010
33712
|
},
|
|
33011
33713
|
{
|
|
@@ -33053,7 +33755,12 @@ var eventCalendarAdditionalFields = [
|
|
|
33053
33755
|
required: false,
|
|
33054
33756
|
ui: {
|
|
33055
33757
|
intent: "display",
|
|
33056
|
-
visibleWhen: {
|
|
33758
|
+
visibleWhen: {
|
|
33759
|
+
allOf: [
|
|
33760
|
+
{ field: "variant", oneOf: ["combined", "list"] },
|
|
33761
|
+
{ field: "paginationMode", equals: "seeAllLink" }
|
|
33762
|
+
]
|
|
33763
|
+
}
|
|
33057
33764
|
}
|
|
33058
33765
|
},
|
|
33059
33766
|
{
|
|
@@ -33086,7 +33793,7 @@ var eventCalendarAdditionalFields = [
|
|
|
33086
33793
|
intent: "display",
|
|
33087
33794
|
visibleWhen: {
|
|
33088
33795
|
field: "variant",
|
|
33089
|
-
oneOf: ["combined", "
|
|
33796
|
+
oneOf: ["combined", "calendar", "timetable"]
|
|
33090
33797
|
}
|
|
33091
33798
|
}
|
|
33092
33799
|
},
|
|
@@ -33109,6 +33816,33 @@ var eventCalendarAdditionalFields = [
|
|
|
33109
33816
|
visibleWhen: { field: "variant", equals: "combined" }
|
|
33110
33817
|
}
|
|
33111
33818
|
},
|
|
33819
|
+
{
|
|
33820
|
+
id: "defaultCalendarView",
|
|
33821
|
+
type: "select",
|
|
33822
|
+
label: "Calendar view",
|
|
33823
|
+
description: "Choose the standalone calendar view, or the first view in combined mode",
|
|
33824
|
+
required: false,
|
|
33825
|
+
multiple: false,
|
|
33826
|
+
defaultValue: "month",
|
|
33827
|
+
options: [
|
|
33828
|
+
{ value: "month", label: "Month" },
|
|
33829
|
+
{ value: "week", label: "Week" }
|
|
33830
|
+
],
|
|
33831
|
+
ui: {
|
|
33832
|
+
intent: "display",
|
|
33833
|
+
visibleWhen: {
|
|
33834
|
+
anyOf: [
|
|
33835
|
+
{ field: "variant", equals: "calendar" },
|
|
33836
|
+
{
|
|
33837
|
+
allOf: [
|
|
33838
|
+
{ field: "variant", equals: "combined" },
|
|
33839
|
+
{ field: "calendarTabViews", equals: "both" }
|
|
33840
|
+
]
|
|
33841
|
+
}
|
|
33842
|
+
]
|
|
33843
|
+
}
|
|
33844
|
+
}
|
|
33845
|
+
},
|
|
33112
33846
|
// Filtering options
|
|
33113
33847
|
{
|
|
33114
33848
|
id: "kind",
|
|
@@ -33136,7 +33870,7 @@ var eventCalendarAdditionalFields = [
|
|
|
33136
33870
|
intent: "display",
|
|
33137
33871
|
visibleWhen: {
|
|
33138
33872
|
field: "variant",
|
|
33139
|
-
oneOf: ["combined", "list", "timetable"]
|
|
33873
|
+
oneOf: ["combined", "calendar", "list", "timetable"]
|
|
33140
33874
|
}
|
|
33141
33875
|
}
|
|
33142
33876
|
},
|
|
@@ -33156,8 +33890,10 @@ var eventCalendarAdditionalFields = [
|
|
|
33156
33890
|
ui: {
|
|
33157
33891
|
intent: "display",
|
|
33158
33892
|
visibleWhen: {
|
|
33159
|
-
|
|
33160
|
-
|
|
33893
|
+
allOf: [
|
|
33894
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
33895
|
+
{ field: "showFilters", equals: true }
|
|
33896
|
+
]
|
|
33161
33897
|
}
|
|
33162
33898
|
}
|
|
33163
33899
|
},
|
|
@@ -33171,8 +33907,10 @@ var eventCalendarAdditionalFields = [
|
|
|
33171
33907
|
ui: {
|
|
33172
33908
|
intent: "display",
|
|
33173
33909
|
visibleWhen: {
|
|
33174
|
-
|
|
33175
|
-
|
|
33910
|
+
allOf: [
|
|
33911
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
33912
|
+
{ field: "showFilters", equals: true }
|
|
33913
|
+
]
|
|
33176
33914
|
}
|
|
33177
33915
|
}
|
|
33178
33916
|
},
|
|
@@ -33186,8 +33924,10 @@ var eventCalendarAdditionalFields = [
|
|
|
33186
33924
|
ui: {
|
|
33187
33925
|
intent: "display",
|
|
33188
33926
|
visibleWhen: {
|
|
33189
|
-
|
|
33190
|
-
|
|
33927
|
+
allOf: [
|
|
33928
|
+
{ field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
|
|
33929
|
+
{ field: "showFilters", equals: true }
|
|
33930
|
+
]
|
|
33191
33931
|
}
|
|
33192
33932
|
}
|
|
33193
33933
|
},
|
|
@@ -33201,8 +33941,15 @@ var eventCalendarAdditionalFields = [
|
|
|
33201
33941
|
ui: {
|
|
33202
33942
|
intent: "display",
|
|
33203
33943
|
visibleWhen: {
|
|
33204
|
-
|
|
33205
|
-
|
|
33944
|
+
anyOf: [
|
|
33945
|
+
{ field: "variant", oneOf: ["combined", "list", "timetable"] },
|
|
33946
|
+
{
|
|
33947
|
+
allOf: [
|
|
33948
|
+
{ field: "variant", equals: "calendar" },
|
|
33949
|
+
{ field: "defaultCalendarView", equals: "week" }
|
|
33950
|
+
]
|
|
33951
|
+
}
|
|
33952
|
+
]
|
|
33206
33953
|
}
|
|
33207
33954
|
}
|
|
33208
33955
|
},
|
|
@@ -33318,8 +34065,7 @@ var eventCalendarAdditionalFields = [
|
|
|
33318
34065
|
];
|
|
33319
34066
|
var eventCalendarVariants = {
|
|
33320
34067
|
combined: eventCalendarLayout[0],
|
|
33321
|
-
|
|
33322
|
-
week: eventCalendarLayout[0],
|
|
34068
|
+
calendar: eventCalendarLayout[0],
|
|
33323
34069
|
timetable: eventCalendarLayout[0],
|
|
33324
34070
|
list: eventCalendarLayout[0]
|
|
33325
34071
|
};
|
|
@@ -33331,8 +34077,7 @@ var eventCalendarDerivedFields = [
|
|
|
33331
34077
|
multiple: false,
|
|
33332
34078
|
options: [
|
|
33333
34079
|
{ value: "combined" },
|
|
33334
|
-
{ value: "
|
|
33335
|
-
{ value: "week" },
|
|
34080
|
+
{ value: "calendar" },
|
|
33336
34081
|
{ value: "timetable" },
|
|
33337
34082
|
{ value: "list" }
|
|
33338
34083
|
]
|
|
@@ -33345,6 +34090,13 @@ var eventCalendarDerivedFields = [
|
|
|
33345
34090
|
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
33346
34091
|
value: option.id
|
|
33347
34092
|
}))
|
|
34093
|
+
},
|
|
34094
|
+
{
|
|
34095
|
+
id: "defaultCalendarView",
|
|
34096
|
+
type: "select",
|
|
34097
|
+
required: false,
|
|
34098
|
+
multiple: false,
|
|
34099
|
+
options: [{ value: "month" }, { value: "week" }]
|
|
33348
34100
|
}
|
|
33349
34101
|
];
|
|
33350
34102
|
var eventCalendarContentShape = {
|
|
@@ -33393,8 +34145,7 @@ var eventCalendarConfig = {
|
|
|
33393
34145
|
defaultVariant: "combined",
|
|
33394
34146
|
variantOptions: {
|
|
33395
34147
|
combined: { label: "Combined" },
|
|
33396
|
-
|
|
33397
|
-
week: { label: "Week" },
|
|
34148
|
+
calendar: { label: "Calendar" },
|
|
33398
34149
|
timetable: { label: "Timetable" },
|
|
33399
34150
|
list: { label: "List" }
|
|
33400
34151
|
}
|
|
@@ -33440,7 +34191,7 @@ var eventCalendarBlockDefinition = {
|
|
|
33440
34191
|
};
|
|
33441
34192
|
|
|
33442
34193
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
33443
|
-
import { z as
|
|
34194
|
+
import { z as z53 } from "zod";
|
|
33444
34195
|
|
|
33445
34196
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
33446
34197
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -33532,13 +34283,13 @@ function isRecord5(value) {
|
|
|
33532
34283
|
}
|
|
33533
34284
|
|
|
33534
34285
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
33535
|
-
var publicRouteCandidatesSchema =
|
|
33536
|
-
routes:
|
|
33537
|
-
entityId:
|
|
33538
|
-
path:
|
|
33539
|
-
title:
|
|
33540
|
-
kind:
|
|
33541
|
-
contentTypeKey:
|
|
34286
|
+
var publicRouteCandidatesSchema = z53.object({
|
|
34287
|
+
routes: z53.array(z53.object({
|
|
34288
|
+
entityId: z53.string(),
|
|
34289
|
+
path: z53.string(),
|
|
34290
|
+
title: z53.string(),
|
|
34291
|
+
kind: z53.enum(["page", "content"]),
|
|
34292
|
+
contentTypeKey: z53.string().nullable().optional()
|
|
33542
34293
|
}))
|
|
33543
34294
|
});
|
|
33544
34295
|
var groupOverrideFields = [
|
|
@@ -33936,7 +34687,7 @@ function isRecord6(value) {
|
|
|
33936
34687
|
}
|
|
33937
34688
|
|
|
33938
34689
|
// ../blocks/src/system/blocks/embed.ts
|
|
33939
|
-
import { z as
|
|
34690
|
+
import { z as z54 } from "zod";
|
|
33940
34691
|
var embedFields = [
|
|
33941
34692
|
// Section heading
|
|
33942
34693
|
parseFieldDefinition({
|
|
@@ -34167,18 +34918,18 @@ var embedManifest = createBlockManifest({
|
|
|
34167
34918
|
spacing: "lg"
|
|
34168
34919
|
}
|
|
34169
34920
|
});
|
|
34170
|
-
var embedEntrySchema =
|
|
34171
|
-
id:
|
|
34172
|
-
identifier:
|
|
34173
|
-
title:
|
|
34174
|
-
slug:
|
|
34175
|
-
content:
|
|
34176
|
-
publishedAt:
|
|
34921
|
+
var embedEntrySchema = z54.object({
|
|
34922
|
+
id: z54.string(),
|
|
34923
|
+
identifier: z54.string(),
|
|
34924
|
+
title: z54.string(),
|
|
34925
|
+
slug: z54.string().nullable().optional(),
|
|
34926
|
+
content: z54.record(z54.string(), z54.unknown()).optional(),
|
|
34927
|
+
publishedAt: z54.string().nullable().optional()
|
|
34177
34928
|
});
|
|
34178
34929
|
var embedBlockDefinition = {
|
|
34179
34930
|
manifest: embedManifest,
|
|
34180
34931
|
dataSchemas: {
|
|
34181
|
-
entries:
|
|
34932
|
+
entries: z54.array(embedEntrySchema).optional()
|
|
34182
34933
|
},
|
|
34183
34934
|
dataLoaders: {
|
|
34184
34935
|
entries: {
|
|
@@ -35361,57 +36112,54 @@ var fileDownloadBlockDefinition = {
|
|
|
35361
36112
|
manifest: fileDownloadManifest
|
|
35362
36113
|
};
|
|
35363
36114
|
|
|
35364
|
-
// ../blocks/src/system/blocks/shop.ts
|
|
35365
|
-
import { z as z59 } from "zod";
|
|
35366
|
-
|
|
35367
36115
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
35368
|
-
import { z as
|
|
36116
|
+
import { z as z57 } from "zod";
|
|
35369
36117
|
|
|
35370
36118
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
35371
|
-
import { z as
|
|
35372
|
-
var publicProductVariantSchema =
|
|
35373
|
-
id:
|
|
35374
|
-
title:
|
|
35375
|
-
sku:
|
|
35376
|
-
priceCents:
|
|
35377
|
-
stockQuantity:
|
|
35378
|
-
soldOut:
|
|
35379
|
-
});
|
|
35380
|
-
var publicProductSchema =
|
|
35381
|
-
id:
|
|
35382
|
-
contentEntryId:
|
|
35383
|
-
title:
|
|
35384
|
-
slug:
|
|
35385
|
-
path:
|
|
35386
|
-
status:
|
|
35387
|
-
priceCents:
|
|
35388
|
-
currency:
|
|
35389
|
-
productType:
|
|
35390
|
-
requiresShipping:
|
|
35391
|
-
hasVariants:
|
|
35392
|
-
trackInventory:
|
|
35393
|
-
soldOut:
|
|
35394
|
-
category:
|
|
35395
|
-
id:
|
|
35396
|
-
name:
|
|
35397
|
-
slug:
|
|
36119
|
+
import { z as z55 } from "zod";
|
|
36120
|
+
var publicProductVariantSchema = z55.object({
|
|
36121
|
+
id: z55.string(),
|
|
36122
|
+
title: z55.string(),
|
|
36123
|
+
sku: z55.string().nullable(),
|
|
36124
|
+
priceCents: z55.number(),
|
|
36125
|
+
stockQuantity: z55.number().nullable(),
|
|
36126
|
+
soldOut: z55.boolean()
|
|
36127
|
+
});
|
|
36128
|
+
var publicProductSchema = z55.object({
|
|
36129
|
+
id: z55.string(),
|
|
36130
|
+
contentEntryId: z55.string().nullable(),
|
|
36131
|
+
title: z55.string(),
|
|
36132
|
+
slug: z55.string(),
|
|
36133
|
+
path: z55.string().nullable(),
|
|
36134
|
+
status: z55.enum(["draft", "active"]),
|
|
36135
|
+
priceCents: z55.number(),
|
|
36136
|
+
currency: z55.string(),
|
|
36137
|
+
productType: z55.enum(["physical", "digital"]),
|
|
36138
|
+
requiresShipping: z55.boolean(),
|
|
36139
|
+
hasVariants: z55.boolean(),
|
|
36140
|
+
trackInventory: z55.boolean(),
|
|
36141
|
+
soldOut: z55.boolean(),
|
|
36142
|
+
category: z55.object({
|
|
36143
|
+
id: z55.string(),
|
|
36144
|
+
name: z55.string(),
|
|
36145
|
+
slug: z55.string()
|
|
35398
36146
|
}).nullable(),
|
|
35399
|
-
summary:
|
|
35400
|
-
body:
|
|
35401
|
-
gallery:
|
|
35402
|
-
|
|
35403
|
-
url:
|
|
35404
|
-
alt:
|
|
36147
|
+
summary: z55.string().nullable(),
|
|
36148
|
+
body: z55.unknown().nullable(),
|
|
36149
|
+
gallery: z55.array(
|
|
36150
|
+
z55.object({
|
|
36151
|
+
url: z55.string(),
|
|
36152
|
+
alt: z55.string().nullable()
|
|
35405
36153
|
})
|
|
35406
36154
|
),
|
|
35407
|
-
variants:
|
|
36155
|
+
variants: z55.array(publicProductVariantSchema)
|
|
35408
36156
|
});
|
|
35409
|
-
var publicProductsResponseSchema =
|
|
35410
|
-
products:
|
|
36157
|
+
var publicProductsResponseSchema = z55.object({
|
|
36158
|
+
products: z55.array(publicProductSchema)
|
|
35411
36159
|
});
|
|
35412
36160
|
|
|
35413
36161
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
35414
|
-
function
|
|
36162
|
+
function assertNever4(value) {
|
|
35415
36163
|
throw new Error(`Unhandled credit product case: ${String(value)}`);
|
|
35416
36164
|
}
|
|
35417
36165
|
function useCasesFromModules(modules) {
|
|
@@ -35444,7 +36192,7 @@ function getCreditProductCreditUnit(useCase) {
|
|
|
35444
36192
|
perCreditSuffix: "credit"
|
|
35445
36193
|
};
|
|
35446
36194
|
default:
|
|
35447
|
-
return
|
|
36195
|
+
return assertNever4(useCase);
|
|
35448
36196
|
}
|
|
35449
36197
|
}
|
|
35450
36198
|
function deriveCreditProductLabels(products, options = {}) {
|
|
@@ -35471,27 +36219,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
35471
36219
|
}
|
|
35472
36220
|
|
|
35473
36221
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
35474
|
-
import { z as
|
|
35475
|
-
var storedProductCartItemSchema =
|
|
35476
|
-
kind:
|
|
35477
|
-
productId:
|
|
35478
|
-
productCategoryId:
|
|
35479
|
-
variantId:
|
|
35480
|
-
title:
|
|
35481
|
-
variantTitle:
|
|
35482
|
-
quantity:
|
|
35483
|
-
unitPriceCents:
|
|
35484
|
-
currency:
|
|
35485
|
-
imageUrl:
|
|
35486
|
-
soldOut:
|
|
35487
|
-
});
|
|
35488
|
-
var storedPassCartItemSchema =
|
|
35489
|
-
kind:
|
|
35490
|
-
passId:
|
|
35491
|
-
title:
|
|
35492
|
-
quantity:
|
|
35493
|
-
unitPriceCents:
|
|
35494
|
-
currency:
|
|
36222
|
+
import { z as z56 } from "zod";
|
|
36223
|
+
var storedProductCartItemSchema = z56.object({
|
|
36224
|
+
kind: z56.literal("product"),
|
|
36225
|
+
productId: z56.string().min(1),
|
|
36226
|
+
productCategoryId: z56.string().min(1).optional().nullable(),
|
|
36227
|
+
variantId: z56.string().min(1).optional().nullable(),
|
|
36228
|
+
title: z56.string().min(1),
|
|
36229
|
+
variantTitle: z56.string().optional().nullable(),
|
|
36230
|
+
quantity: z56.number().finite(),
|
|
36231
|
+
unitPriceCents: z56.number().finite(),
|
|
36232
|
+
currency: z56.string().min(1),
|
|
36233
|
+
imageUrl: z56.string().optional().nullable(),
|
|
36234
|
+
soldOut: z56.boolean().optional()
|
|
36235
|
+
});
|
|
36236
|
+
var storedPassCartItemSchema = z56.object({
|
|
36237
|
+
kind: z56.literal("pass"),
|
|
36238
|
+
passId: z56.string().min(1),
|
|
36239
|
+
title: z56.string().min(1),
|
|
36240
|
+
quantity: z56.number().finite().optional(),
|
|
36241
|
+
unitPriceCents: z56.number().finite(),
|
|
36242
|
+
currency: z56.string().min(1)
|
|
35495
36243
|
});
|
|
35496
36244
|
function deriveCommerceCheckoutState(state) {
|
|
35497
36245
|
if (state.items.length === 0) {
|
|
@@ -35725,214 +36473,214 @@ function formatValidity(days) {
|
|
|
35725
36473
|
}
|
|
35726
36474
|
|
|
35727
36475
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
35728
|
-
var shopModeSchema =
|
|
35729
|
-
var contentEntrySchema3 =
|
|
35730
|
-
id:
|
|
35731
|
-
slug:
|
|
36476
|
+
var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
36477
|
+
var contentEntrySchema3 = z57.object({
|
|
36478
|
+
id: z57.string().nullable().optional(),
|
|
36479
|
+
slug: z57.string().nullable().optional()
|
|
35732
36480
|
}).nullable();
|
|
35733
|
-
var shopSourceSchema =
|
|
35734
|
-
className:
|
|
36481
|
+
var shopSourceSchema = z57.object({
|
|
36482
|
+
className: z57.string().nullable().optional(),
|
|
35735
36483
|
mode: shopModeSchema.optional(),
|
|
35736
|
-
heading:
|
|
35737
|
-
productSlug:
|
|
35738
|
-
showPasses:
|
|
35739
|
-
showMemberships:
|
|
35740
|
-
layout:
|
|
35741
|
-
columns:
|
|
35742
|
-
showDescriptions:
|
|
35743
|
-
showSummary:
|
|
35744
|
-
showBody:
|
|
35745
|
-
showPrices:
|
|
35746
|
-
showValidityPeriod:
|
|
35747
|
-
showPricePerCredit:
|
|
35748
|
-
passesHeading:
|
|
35749
|
-
membershipsHeading:
|
|
35750
|
-
buyButtonText:
|
|
35751
|
-
addButtonText:
|
|
35752
|
-
passPurchaseMode:
|
|
35753
|
-
subscribeButtonText:
|
|
35754
|
-
emptyStateText:
|
|
35755
|
-
checkoutButtonText:
|
|
35756
|
-
clearButtonText:
|
|
35757
|
-
submitButtonText:
|
|
36484
|
+
heading: z57.string().nullable().optional(),
|
|
36485
|
+
productSlug: z57.string().nullable().optional(),
|
|
36486
|
+
showPasses: z57.boolean().optional(),
|
|
36487
|
+
showMemberships: z57.boolean().optional(),
|
|
36488
|
+
layout: z57.enum(["grid", "list"]).optional(),
|
|
36489
|
+
columns: z57.string().optional(),
|
|
36490
|
+
showDescriptions: z57.boolean().optional(),
|
|
36491
|
+
showSummary: z57.boolean().optional(),
|
|
36492
|
+
showBody: z57.boolean().optional(),
|
|
36493
|
+
showPrices: z57.boolean().optional(),
|
|
36494
|
+
showValidityPeriod: z57.boolean().optional(),
|
|
36495
|
+
showPricePerCredit: z57.boolean().nullable().optional(),
|
|
36496
|
+
passesHeading: z57.string().optional(),
|
|
36497
|
+
membershipsHeading: z57.string().optional(),
|
|
36498
|
+
buyButtonText: z57.string().optional(),
|
|
36499
|
+
addButtonText: z57.string().optional(),
|
|
36500
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
|
|
36501
|
+
subscribeButtonText: z57.string().optional(),
|
|
36502
|
+
emptyStateText: z57.string().optional(),
|
|
36503
|
+
checkoutButtonText: z57.string().optional(),
|
|
36504
|
+
clearButtonText: z57.string().optional(),
|
|
36505
|
+
submitButtonText: z57.string().optional(),
|
|
35758
36506
|
contentEntry: contentEntrySchema3.optional(),
|
|
35759
|
-
passes:
|
|
35760
|
-
memberships:
|
|
35761
|
-
products:
|
|
35762
|
-
siteId:
|
|
35763
|
-
apiBaseUrl:
|
|
36507
|
+
passes: z57.array(publicPassProductSchema).nullable().optional(),
|
|
36508
|
+
memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
|
|
36509
|
+
products: z57.array(publicProductSchema).nullable().optional(),
|
|
36510
|
+
siteId: z57.string().optional(),
|
|
36511
|
+
apiBaseUrl: z57.string().optional(),
|
|
35764
36512
|
stage: previewStageSchema.optional()
|
|
35765
36513
|
});
|
|
35766
|
-
var productVariantOptionDisplaySchema =
|
|
35767
|
-
id:
|
|
35768
|
-
label:
|
|
35769
|
-
soldOut:
|
|
35770
|
-
});
|
|
35771
|
-
var productCardDisplaySchema =
|
|
35772
|
-
productId:
|
|
35773
|
-
title:
|
|
35774
|
-
path:
|
|
35775
|
-
summary:
|
|
35776
|
-
priceLabel:
|
|
35777
|
-
image:
|
|
35778
|
-
url:
|
|
35779
|
-
alt:
|
|
36514
|
+
var productVariantOptionDisplaySchema = z57.object({
|
|
36515
|
+
id: z57.string(),
|
|
36516
|
+
label: z57.string(),
|
|
36517
|
+
soldOut: z57.boolean()
|
|
36518
|
+
});
|
|
36519
|
+
var productCardDisplaySchema = z57.object({
|
|
36520
|
+
productId: z57.string(),
|
|
36521
|
+
title: z57.string(),
|
|
36522
|
+
path: z57.string().nullable(),
|
|
36523
|
+
summary: z57.string().nullable(),
|
|
36524
|
+
priceLabel: z57.string().nullable(),
|
|
36525
|
+
image: z57.object({
|
|
36526
|
+
url: z57.string(),
|
|
36527
|
+
alt: z57.string().nullable()
|
|
35780
36528
|
}).nullable(),
|
|
35781
|
-
variantOptions:
|
|
35782
|
-
selectedVariantId:
|
|
35783
|
-
selectionLabel:
|
|
35784
|
-
actionLabel:
|
|
35785
|
-
soldOut:
|
|
35786
|
-
});
|
|
35787
|
-
var productListDisplaySchema =
|
|
35788
|
-
kind:
|
|
35789
|
-
state:
|
|
35790
|
-
heading:
|
|
35791
|
-
className:
|
|
35792
|
-
layout:
|
|
35793
|
-
columns:
|
|
35794
|
-
emptyMessage:
|
|
35795
|
-
cards:
|
|
35796
|
-
});
|
|
35797
|
-
var productDetailDisplaySchema =
|
|
35798
|
-
|
|
35799
|
-
kind:
|
|
35800
|
-
state:
|
|
35801
|
-
heading:
|
|
35802
|
-
className:
|
|
35803
|
-
emptyMessage:
|
|
36529
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
36530
|
+
selectedVariantId: z57.string().nullable(),
|
|
36531
|
+
selectionLabel: z57.string(),
|
|
36532
|
+
actionLabel: z57.string(),
|
|
36533
|
+
soldOut: z57.boolean()
|
|
36534
|
+
});
|
|
36535
|
+
var productListDisplaySchema = z57.object({
|
|
36536
|
+
kind: z57.literal("product-list"),
|
|
36537
|
+
state: z57.enum(["empty", "ready"]),
|
|
36538
|
+
heading: z57.string().nullable(),
|
|
36539
|
+
className: z57.string().nullable(),
|
|
36540
|
+
layout: z57.enum(["grid", "list"]),
|
|
36541
|
+
columns: z57.string(),
|
|
36542
|
+
emptyMessage: z57.string(),
|
|
36543
|
+
cards: z57.array(productCardDisplaySchema)
|
|
36544
|
+
});
|
|
36545
|
+
var productDetailDisplaySchema = z57.discriminatedUnion("state", [
|
|
36546
|
+
z57.object({
|
|
36547
|
+
kind: z57.literal("product-detail"),
|
|
36548
|
+
state: z57.literal("empty"),
|
|
36549
|
+
heading: z57.string().nullable(),
|
|
36550
|
+
className: z57.string().nullable(),
|
|
36551
|
+
emptyMessage: z57.string()
|
|
35804
36552
|
}),
|
|
35805
|
-
|
|
35806
|
-
kind:
|
|
35807
|
-
state:
|
|
35808
|
-
heading:
|
|
35809
|
-
className:
|
|
35810
|
-
title:
|
|
35811
|
-
priceLabel:
|
|
35812
|
-
summary:
|
|
35813
|
-
categoryLabel:
|
|
35814
|
-
gallery:
|
|
35815
|
-
url:
|
|
35816
|
-
alt:
|
|
36553
|
+
z57.object({
|
|
36554
|
+
kind: z57.literal("product-detail"),
|
|
36555
|
+
state: z57.literal("ready"),
|
|
36556
|
+
heading: z57.string().nullable(),
|
|
36557
|
+
className: z57.string().nullable(),
|
|
36558
|
+
title: z57.string(),
|
|
36559
|
+
priceLabel: z57.string(),
|
|
36560
|
+
summary: z57.string().nullable(),
|
|
36561
|
+
categoryLabel: z57.string().nullable(),
|
|
36562
|
+
gallery: z57.array(z57.object({
|
|
36563
|
+
url: z57.string(),
|
|
36564
|
+
alt: z57.string().nullable()
|
|
35817
36565
|
})),
|
|
35818
|
-
variantOptions:
|
|
35819
|
-
selectedVariantId:
|
|
35820
|
-
selectionLabel:
|
|
35821
|
-
actionLabel:
|
|
35822
|
-
soldOut:
|
|
35823
|
-
body:
|
|
36566
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
36567
|
+
selectedVariantId: z57.string().nullable(),
|
|
36568
|
+
selectionLabel: z57.string(),
|
|
36569
|
+
actionLabel: z57.string(),
|
|
36570
|
+
soldOut: z57.boolean(),
|
|
36571
|
+
body: z57.unknown().nullable()
|
|
35824
36572
|
})
|
|
35825
36573
|
]);
|
|
35826
|
-
var passCardDisplaySchema =
|
|
35827
|
-
id:
|
|
35828
|
-
title:
|
|
35829
|
-
description:
|
|
35830
|
-
priceLabel:
|
|
35831
|
-
creditsLabel:
|
|
35832
|
-
perCreditLabel:
|
|
35833
|
-
validityLabel:
|
|
35834
|
-
actionLabel:
|
|
35835
|
-
});
|
|
35836
|
-
var membershipCardDisplaySchema =
|
|
35837
|
-
id:
|
|
35838
|
-
title:
|
|
35839
|
-
description:
|
|
35840
|
-
priceLabel:
|
|
35841
|
-
intervalLabel:
|
|
35842
|
-
actionLabel:
|
|
35843
|
-
});
|
|
35844
|
-
var passesMembershipsDisplaySchema =
|
|
35845
|
-
kind:
|
|
35846
|
-
state:
|
|
35847
|
-
className:
|
|
35848
|
-
layout:
|
|
35849
|
-
columns:
|
|
35850
|
-
emptyMessage:
|
|
35851
|
-
passesHeading:
|
|
35852
|
-
membershipsHeading:
|
|
35853
|
-
passes:
|
|
35854
|
-
memberships:
|
|
35855
|
-
});
|
|
35856
|
-
var cartLineDisplaySchema =
|
|
35857
|
-
key:
|
|
35858
|
-
title:
|
|
35859
|
-
priceLabel:
|
|
35860
|
-
quantity:
|
|
35861
|
-
quantityEditable:
|
|
35862
|
-
});
|
|
35863
|
-
var cartDisplaySchema =
|
|
35864
|
-
kind:
|
|
35865
|
-
state:
|
|
35866
|
-
heading:
|
|
35867
|
-
className:
|
|
35868
|
-
emptyMessage:
|
|
35869
|
-
supportText:
|
|
35870
|
-
items:
|
|
35871
|
-
subtotalLabel:
|
|
35872
|
-
checkoutButtonText:
|
|
35873
|
-
clearButtonText:
|
|
35874
|
-
});
|
|
35875
|
-
var checkoutDisplaySchema =
|
|
35876
|
-
kind:
|
|
35877
|
-
state:
|
|
35878
|
-
heading:
|
|
35879
|
-
className:
|
|
35880
|
-
message:
|
|
35881
|
-
submitButtonText:
|
|
35882
|
-
});
|
|
35883
|
-
var passesMembershipsHydrationSchema =
|
|
35884
|
-
passes:
|
|
35885
|
-
memberships:
|
|
35886
|
-
passPurchaseMode:
|
|
35887
|
-
});
|
|
35888
|
-
var productListHydrationSchema =
|
|
35889
|
-
products:
|
|
35890
|
-
showSummary:
|
|
35891
|
-
showPrices:
|
|
35892
|
-
addButtonText:
|
|
35893
|
-
});
|
|
35894
|
-
var productDetailHydrationSchema =
|
|
35895
|
-
products:
|
|
35896
|
-
productId:
|
|
35897
|
-
showSummary:
|
|
35898
|
-
showBody:
|
|
35899
|
-
addButtonText:
|
|
35900
|
-
});
|
|
35901
|
-
var cartHydrationSchema =
|
|
35902
|
-
emptyStateText:
|
|
35903
|
-
checkoutButtonText:
|
|
35904
|
-
clearButtonText:
|
|
35905
|
-
});
|
|
35906
|
-
var checkoutHydrationSchema =
|
|
35907
|
-
emptyStateText:
|
|
35908
|
-
submitButtonText:
|
|
35909
|
-
});
|
|
35910
|
-
var passesMembershipsRenderSchema =
|
|
36574
|
+
var passCardDisplaySchema = z57.object({
|
|
36575
|
+
id: z57.string(),
|
|
36576
|
+
title: z57.string(),
|
|
36577
|
+
description: z57.string().nullable(),
|
|
36578
|
+
priceLabel: z57.string(),
|
|
36579
|
+
creditsLabel: z57.string(),
|
|
36580
|
+
perCreditLabel: z57.string().nullable(),
|
|
36581
|
+
validityLabel: z57.string().nullable(),
|
|
36582
|
+
actionLabel: z57.string()
|
|
36583
|
+
});
|
|
36584
|
+
var membershipCardDisplaySchema = z57.object({
|
|
36585
|
+
id: z57.string(),
|
|
36586
|
+
title: z57.string(),
|
|
36587
|
+
description: z57.string().nullable(),
|
|
36588
|
+
priceLabel: z57.string(),
|
|
36589
|
+
intervalLabel: z57.string(),
|
|
36590
|
+
actionLabel: z57.string()
|
|
36591
|
+
});
|
|
36592
|
+
var passesMembershipsDisplaySchema = z57.object({
|
|
36593
|
+
kind: z57.literal("passes-memberships"),
|
|
36594
|
+
state: z57.enum(["empty", "ready"]),
|
|
36595
|
+
className: z57.string().nullable(),
|
|
36596
|
+
layout: z57.enum(["grid", "list"]),
|
|
36597
|
+
columns: z57.string(),
|
|
36598
|
+
emptyMessage: z57.string(),
|
|
36599
|
+
passesHeading: z57.string(),
|
|
36600
|
+
membershipsHeading: z57.string(),
|
|
36601
|
+
passes: z57.array(passCardDisplaySchema),
|
|
36602
|
+
memberships: z57.array(membershipCardDisplaySchema)
|
|
36603
|
+
});
|
|
36604
|
+
var cartLineDisplaySchema = z57.object({
|
|
36605
|
+
key: z57.string(),
|
|
36606
|
+
title: z57.string(),
|
|
36607
|
+
priceLabel: z57.string(),
|
|
36608
|
+
quantity: z57.number(),
|
|
36609
|
+
quantityEditable: z57.boolean()
|
|
36610
|
+
});
|
|
36611
|
+
var cartDisplaySchema = z57.object({
|
|
36612
|
+
kind: z57.literal("cart"),
|
|
36613
|
+
state: z57.enum(["empty", "ready"]),
|
|
36614
|
+
heading: z57.string().nullable(),
|
|
36615
|
+
className: z57.string().nullable(),
|
|
36616
|
+
emptyMessage: z57.string(),
|
|
36617
|
+
supportText: z57.string().nullable(),
|
|
36618
|
+
items: z57.array(cartLineDisplaySchema),
|
|
36619
|
+
subtotalLabel: z57.string().nullable(),
|
|
36620
|
+
checkoutButtonText: z57.string(),
|
|
36621
|
+
clearButtonText: z57.string()
|
|
36622
|
+
});
|
|
36623
|
+
var checkoutDisplaySchema = z57.object({
|
|
36624
|
+
kind: z57.literal("checkout"),
|
|
36625
|
+
state: z57.enum(["empty", "blocked", "ready"]),
|
|
36626
|
+
heading: z57.string().nullable(),
|
|
36627
|
+
className: z57.string().nullable(),
|
|
36628
|
+
message: z57.string().nullable(),
|
|
36629
|
+
submitButtonText: z57.string()
|
|
36630
|
+
});
|
|
36631
|
+
var passesMembershipsHydrationSchema = z57.object({
|
|
36632
|
+
passes: z57.array(publicPassProductSchema),
|
|
36633
|
+
memberships: z57.array(publicMembershipProductSchema),
|
|
36634
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
|
|
36635
|
+
});
|
|
36636
|
+
var productListHydrationSchema = z57.object({
|
|
36637
|
+
products: z57.array(publicProductSchema),
|
|
36638
|
+
showSummary: z57.boolean(),
|
|
36639
|
+
showPrices: z57.boolean(),
|
|
36640
|
+
addButtonText: z57.string()
|
|
36641
|
+
});
|
|
36642
|
+
var productDetailHydrationSchema = z57.object({
|
|
36643
|
+
products: z57.array(publicProductSchema),
|
|
36644
|
+
productId: z57.string().nullable(),
|
|
36645
|
+
showSummary: z57.boolean(),
|
|
36646
|
+
showBody: z57.boolean(),
|
|
36647
|
+
addButtonText: z57.string()
|
|
36648
|
+
});
|
|
36649
|
+
var cartHydrationSchema = z57.object({
|
|
36650
|
+
emptyStateText: z57.string(),
|
|
36651
|
+
checkoutButtonText: z57.string(),
|
|
36652
|
+
clearButtonText: z57.string()
|
|
36653
|
+
});
|
|
36654
|
+
var checkoutHydrationSchema = z57.object({
|
|
36655
|
+
emptyStateText: z57.string(),
|
|
36656
|
+
submitButtonText: z57.string()
|
|
36657
|
+
});
|
|
36658
|
+
var passesMembershipsRenderSchema = z57.object({
|
|
35911
36659
|
display: passesMembershipsDisplaySchema,
|
|
35912
36660
|
hydration: passesMembershipsHydrationSchema
|
|
35913
36661
|
});
|
|
35914
|
-
var productListRenderSchema =
|
|
36662
|
+
var productListRenderSchema = z57.object({
|
|
35915
36663
|
display: productListDisplaySchema,
|
|
35916
36664
|
hydration: productListHydrationSchema
|
|
35917
36665
|
});
|
|
35918
|
-
var productDetailRenderSchema =
|
|
36666
|
+
var productDetailRenderSchema = z57.object({
|
|
35919
36667
|
display: productDetailDisplaySchema,
|
|
35920
36668
|
hydration: productDetailHydrationSchema
|
|
35921
36669
|
});
|
|
35922
|
-
var cartRenderSchema =
|
|
36670
|
+
var cartRenderSchema = z57.object({
|
|
35923
36671
|
display: cartDisplaySchema,
|
|
35924
36672
|
hydration: cartHydrationSchema
|
|
35925
36673
|
});
|
|
35926
|
-
var checkoutRenderSchema =
|
|
36674
|
+
var checkoutRenderSchema = z57.object({
|
|
35927
36675
|
display: checkoutDisplaySchema,
|
|
35928
36676
|
hydration: checkoutHydrationSchema
|
|
35929
36677
|
});
|
|
35930
36678
|
function resolveShowPricePerCredit(source) {
|
|
35931
36679
|
return source.showPricePerCredit ?? true;
|
|
35932
36680
|
}
|
|
35933
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
35934
|
-
siteId:
|
|
35935
|
-
apiBaseUrl:
|
|
36681
|
+
var shopIslandMetaCodec = createZodCodec(z57.object({
|
|
36682
|
+
siteId: z57.string().optional(),
|
|
36683
|
+
apiBaseUrl: z57.string().optional(),
|
|
35936
36684
|
stage: previewStageSchema.optional()
|
|
35937
36685
|
}));
|
|
35938
36686
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -36310,9 +37058,9 @@ var shopBlockDefinition = {
|
|
|
36310
37058
|
runtime: shopBlockRuntime,
|
|
36311
37059
|
dataSchemas: {
|
|
36312
37060
|
// listPublicPasses returns { passes: [...] }
|
|
36313
|
-
passes:
|
|
37061
|
+
passes: publicPassProductCollectionSchema.optional(),
|
|
36314
37062
|
// listPublicMemberships returns { memberships: [...] }
|
|
36315
|
-
memberships:
|
|
37063
|
+
memberships: publicMembershipProductCollectionSchema.optional()
|
|
36316
37064
|
},
|
|
36317
37065
|
dataLoaders: {
|
|
36318
37066
|
// Load passes for display
|
|
@@ -36335,7 +37083,7 @@ var shopBlockDefinition = {
|
|
|
36335
37083
|
};
|
|
36336
37084
|
|
|
36337
37085
|
// ../blocks/src/system/blocks/product-list.ts
|
|
36338
|
-
import { z as
|
|
37086
|
+
import { z as z58 } from "zod";
|
|
36339
37087
|
var productListManifest = createBlockManifest({
|
|
36340
37088
|
id: "block.product-list",
|
|
36341
37089
|
version: "1.0.0",
|
|
@@ -36468,7 +37216,7 @@ var productListBlockDefinition = {
|
|
|
36468
37216
|
}
|
|
36469
37217
|
}
|
|
36470
37218
|
};
|
|
36471
|
-
var productListDataSchema =
|
|
37219
|
+
var productListDataSchema = z58.object({
|
|
36472
37220
|
products: publicProductsResponseSchema.optional()
|
|
36473
37221
|
});
|
|
36474
37222
|
|
|
@@ -36729,72 +37477,72 @@ var checkoutBlockDefinition = {
|
|
|
36729
37477
|
};
|
|
36730
37478
|
|
|
36731
37479
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
36732
|
-
import { z as
|
|
36733
|
-
var publicGiftCardOfferSchema =
|
|
36734
|
-
id:
|
|
36735
|
-
kind:
|
|
36736
|
-
title:
|
|
36737
|
-
description:
|
|
36738
|
-
sortOrder:
|
|
36739
|
-
giftCard:
|
|
36740
|
-
fixedDenominations:
|
|
36741
|
-
customAmountEnabled:
|
|
36742
|
-
customAmountMinCents:
|
|
36743
|
-
customAmountMaxCents:
|
|
37480
|
+
import { z as z59 } from "zod";
|
|
37481
|
+
var publicGiftCardOfferSchema = z59.object({
|
|
37482
|
+
id: z59.string(),
|
|
37483
|
+
kind: z59.literal("gift_card"),
|
|
37484
|
+
title: z59.string(),
|
|
37485
|
+
description: z59.string().nullable(),
|
|
37486
|
+
sortOrder: z59.number().int(),
|
|
37487
|
+
giftCard: z59.object({
|
|
37488
|
+
fixedDenominations: z59.array(z59.number().int().positive()),
|
|
37489
|
+
customAmountEnabled: z59.boolean(),
|
|
37490
|
+
customAmountMinCents: z59.number().int().positive(),
|
|
37491
|
+
customAmountMaxCents: z59.number().int().positive()
|
|
36744
37492
|
}),
|
|
36745
|
-
voucher:
|
|
36746
|
-
});
|
|
36747
|
-
var publicVoucherOfferSchema =
|
|
36748
|
-
id:
|
|
36749
|
-
kind:
|
|
36750
|
-
title:
|
|
36751
|
-
description:
|
|
36752
|
-
sortOrder:
|
|
36753
|
-
giftCard:
|
|
36754
|
-
voucher:
|
|
36755
|
-
purchaseAmountCents:
|
|
37493
|
+
voucher: z59.null()
|
|
37494
|
+
});
|
|
37495
|
+
var publicVoucherOfferSchema = z59.object({
|
|
37496
|
+
id: z59.string(),
|
|
37497
|
+
kind: z59.literal("voucher"),
|
|
37498
|
+
title: z59.string(),
|
|
37499
|
+
description: z59.string().nullable(),
|
|
37500
|
+
sortOrder: z59.number().int(),
|
|
37501
|
+
giftCard: z59.null(),
|
|
37502
|
+
voucher: z59.object({
|
|
37503
|
+
purchaseAmountCents: z59.number().int().positive()
|
|
36756
37504
|
})
|
|
36757
37505
|
});
|
|
36758
|
-
var publicGiftingOffersResponseSchema =
|
|
36759
|
-
currency:
|
|
36760
|
-
giftCards:
|
|
36761
|
-
vouchers:
|
|
37506
|
+
var publicGiftingOffersResponseSchema = z59.object({
|
|
37507
|
+
currency: z59.string(),
|
|
37508
|
+
giftCards: z59.array(publicGiftCardOfferSchema),
|
|
37509
|
+
vouchers: z59.array(publicVoucherOfferSchema)
|
|
36762
37510
|
});
|
|
36763
|
-
var giftingSourceSchema =
|
|
36764
|
-
siteId:
|
|
36765
|
-
apiBaseUrl:
|
|
37511
|
+
var giftingSourceSchema = z59.object({
|
|
37512
|
+
siteId: z59.string().optional(),
|
|
37513
|
+
apiBaseUrl: z59.string().optional(),
|
|
36766
37514
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
36767
|
-
className:
|
|
36768
|
-
heading:
|
|
36769
|
-
intro:
|
|
36770
|
-
giftCardsHeading:
|
|
36771
|
-
vouchersHeading:
|
|
36772
|
-
emptyStateText:
|
|
36773
|
-
checkoutButtonText:
|
|
36774
|
-
successMessage:
|
|
36775
|
-
});
|
|
36776
|
-
var giftingDisplaySchema =
|
|
36777
|
-
kind:
|
|
36778
|
-
state:
|
|
36779
|
-
className:
|
|
36780
|
-
heading:
|
|
36781
|
-
intro:
|
|
36782
|
-
giftCardsHeading:
|
|
36783
|
-
vouchersHeading:
|
|
36784
|
-
emptyStateText:
|
|
36785
|
-
});
|
|
36786
|
-
var giftingHydrationSchema =
|
|
37515
|
+
className: z59.string().nullable().optional(),
|
|
37516
|
+
heading: z59.string().nullable().optional(),
|
|
37517
|
+
intro: z59.string().nullable().optional(),
|
|
37518
|
+
giftCardsHeading: z59.string().nullable().optional(),
|
|
37519
|
+
vouchersHeading: z59.string().nullable().optional(),
|
|
37520
|
+
emptyStateText: z59.string().nullable().optional(),
|
|
37521
|
+
checkoutButtonText: z59.string().nullable().optional(),
|
|
37522
|
+
successMessage: z59.string().nullable().optional()
|
|
37523
|
+
});
|
|
37524
|
+
var giftingDisplaySchema = z59.object({
|
|
37525
|
+
kind: z59.literal("gifting"),
|
|
37526
|
+
state: z59.literal("ready"),
|
|
37527
|
+
className: z59.string().nullable(),
|
|
37528
|
+
heading: z59.string(),
|
|
37529
|
+
intro: z59.string().nullable(),
|
|
37530
|
+
giftCardsHeading: z59.string(),
|
|
37531
|
+
vouchersHeading: z59.string(),
|
|
37532
|
+
emptyStateText: z59.string()
|
|
37533
|
+
});
|
|
37534
|
+
var giftingHydrationSchema = z59.object({
|
|
36787
37535
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
36788
|
-
checkoutButtonText:
|
|
36789
|
-
successMessage:
|
|
37536
|
+
checkoutButtonText: z59.string(),
|
|
37537
|
+
successMessage: z59.string()
|
|
36790
37538
|
});
|
|
36791
|
-
var giftingRenderSchema =
|
|
37539
|
+
var giftingRenderSchema = z59.object({
|
|
36792
37540
|
display: giftingDisplaySchema,
|
|
36793
37541
|
hydration: giftingHydrationSchema
|
|
36794
37542
|
});
|
|
36795
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
36796
|
-
siteId:
|
|
36797
|
-
apiBaseUrl:
|
|
37543
|
+
var giftingIslandMetaCodec = createZodCodec(z59.object({
|
|
37544
|
+
siteId: z59.string().optional(),
|
|
37545
|
+
apiBaseUrl: z59.string().optional()
|
|
36798
37546
|
}));
|
|
36799
37547
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
36800
37548
|
"siteId",
|
|
@@ -36965,7 +37713,7 @@ var giftingBlockDefinition = {
|
|
|
36965
37713
|
};
|
|
36966
37714
|
|
|
36967
37715
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
36968
|
-
import { z as
|
|
37716
|
+
import { z as z60 } from "zod";
|
|
36969
37717
|
|
|
36970
37718
|
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
36971
37719
|
function parseNewsletterSignupBlockId(value) {
|
|
@@ -37100,65 +37848,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
37100
37848
|
}
|
|
37101
37849
|
|
|
37102
37850
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
37103
|
-
var newsletterPresetSchema =
|
|
37104
|
-
var newsletterDestinationProviderSchema =
|
|
37105
|
-
var newsletterFieldSchema =
|
|
37106
|
-
id:
|
|
37107
|
-
type:
|
|
37108
|
-
label:
|
|
37109
|
-
required:
|
|
37110
|
-
placeholder:
|
|
37111
|
-
});
|
|
37112
|
-
var newsletterSignupBlockIdSchema =
|
|
37113
|
-
var signedNewsletterDestinationRefSchema =
|
|
37114
|
-
var newsletterPublicDestinationRefSchema =
|
|
37115
|
-
|
|
37116
|
-
tag:
|
|
37851
|
+
var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
37852
|
+
var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
|
|
37853
|
+
var newsletterFieldSchema = z60.object({
|
|
37854
|
+
id: z60.string(),
|
|
37855
|
+
type: z60.enum(["email", "text"]),
|
|
37856
|
+
label: z60.string(),
|
|
37857
|
+
required: z60.boolean(),
|
|
37858
|
+
placeholder: z60.string().optional()
|
|
37859
|
+
});
|
|
37860
|
+
var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
37861
|
+
var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
37862
|
+
var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
|
|
37863
|
+
z60.object({
|
|
37864
|
+
tag: z60.literal("block_ref"),
|
|
37117
37865
|
blockId: newsletterSignupBlockIdSchema
|
|
37118
37866
|
}),
|
|
37119
|
-
|
|
37120
|
-
tag:
|
|
37867
|
+
z60.object({
|
|
37868
|
+
tag: z60.literal("signed_destination_ref"),
|
|
37121
37869
|
token: signedNewsletterDestinationRefSchema
|
|
37122
37870
|
})
|
|
37123
37871
|
]);
|
|
37124
|
-
var newsletterSourceSchema =
|
|
37125
|
-
blockId:
|
|
37126
|
-
siteId:
|
|
37127
|
-
apiBaseUrl:
|
|
37128
|
-
listId:
|
|
37872
|
+
var newsletterSourceSchema = z60.object({
|
|
37873
|
+
blockId: z60.string().nullable().optional(),
|
|
37874
|
+
siteId: z60.string().optional(),
|
|
37875
|
+
apiBaseUrl: z60.string().optional(),
|
|
37876
|
+
listId: z60.string().nullable().optional(),
|
|
37129
37877
|
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
37130
37878
|
preset: newsletterPresetSchema.optional(),
|
|
37131
|
-
includePhone:
|
|
37132
|
-
buttonLabel:
|
|
37133
|
-
successMessage:
|
|
37134
|
-
privacyNote:
|
|
37135
|
-
tags:
|
|
37136
|
-
spamProtectionEnabled:
|
|
37137
|
-
className:
|
|
37138
|
-
});
|
|
37139
|
-
var newsletterDisplaySchema =
|
|
37140
|
-
kind:
|
|
37141
|
-
className:
|
|
37142
|
-
buttonLabel:
|
|
37143
|
-
successMessage:
|
|
37144
|
-
privacyNote:
|
|
37145
|
-
fields:
|
|
37146
|
-
});
|
|
37147
|
-
var newsletterHydrationSchema =
|
|
37879
|
+
includePhone: z60.boolean().optional(),
|
|
37880
|
+
buttonLabel: z60.string().nullable().optional(),
|
|
37881
|
+
successMessage: z60.string().nullable().optional(),
|
|
37882
|
+
privacyNote: z60.string().nullable().optional(),
|
|
37883
|
+
tags: z60.string().nullable().optional(),
|
|
37884
|
+
spamProtectionEnabled: z60.boolean().optional(),
|
|
37885
|
+
className: z60.string().nullable().optional()
|
|
37886
|
+
});
|
|
37887
|
+
var newsletterDisplaySchema = z60.object({
|
|
37888
|
+
kind: z60.literal("newsletter-form"),
|
|
37889
|
+
className: z60.string().nullable(),
|
|
37890
|
+
buttonLabel: z60.string(),
|
|
37891
|
+
successMessage: z60.string().nullable(),
|
|
37892
|
+
privacyNote: z60.string().nullable(),
|
|
37893
|
+
fields: z60.array(newsletterFieldSchema)
|
|
37894
|
+
});
|
|
37895
|
+
var newsletterHydrationSchema = z60.object({
|
|
37148
37896
|
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
37149
|
-
listId:
|
|
37897
|
+
listId: z60.string().nullable().optional(),
|
|
37150
37898
|
preset: newsletterPresetSchema,
|
|
37151
|
-
includePhone:
|
|
37152
|
-
tags:
|
|
37153
|
-
spamProtectionEnabled:
|
|
37899
|
+
includePhone: z60.boolean(),
|
|
37900
|
+
tags: z60.string().nullable().optional(),
|
|
37901
|
+
spamProtectionEnabled: z60.boolean().optional()
|
|
37154
37902
|
});
|
|
37155
|
-
var newsletterRenderSchema =
|
|
37903
|
+
var newsletterRenderSchema = z60.object({
|
|
37156
37904
|
display: newsletterDisplaySchema,
|
|
37157
37905
|
hydration: newsletterHydrationSchema
|
|
37158
37906
|
});
|
|
37159
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
37160
|
-
siteId:
|
|
37161
|
-
apiBaseUrl:
|
|
37907
|
+
var newsletterIslandMetaCodec = createZodCodec(z60.object({
|
|
37908
|
+
siteId: z60.string().optional(),
|
|
37909
|
+
apiBaseUrl: z60.string().optional()
|
|
37162
37910
|
}));
|
|
37163
37911
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
37164
37912
|
function buildNewsletterDisplay(source) {
|
|
@@ -37297,23 +38045,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
37297
38045
|
};
|
|
37298
38046
|
|
|
37299
38047
|
// ../blocks/src/system/blocks/team-members.ts
|
|
37300
|
-
import { z as
|
|
38048
|
+
import { z as z61 } from "zod";
|
|
37301
38049
|
var ITEM_NAME2 = "member";
|
|
37302
38050
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
37303
38051
|
message: "Team member photos must be image media"
|
|
37304
38052
|
}).nullable();
|
|
37305
|
-
var teamMemberDataSchema =
|
|
37306
|
-
_type:
|
|
37307
|
-
id:
|
|
37308
|
-
name:
|
|
37309
|
-
role:
|
|
37310
|
-
roleLabel:
|
|
37311
|
-
bio:
|
|
37312
|
-
summary:
|
|
38053
|
+
var teamMemberDataSchema = z61.object({
|
|
38054
|
+
_type: z61.literal("teamMember"),
|
|
38055
|
+
id: z61.string(),
|
|
38056
|
+
name: z61.string(),
|
|
38057
|
+
role: z61.string().nullable(),
|
|
38058
|
+
roleLabel: z61.string().nullable(),
|
|
38059
|
+
bio: z61.string().nullable(),
|
|
38060
|
+
summary: z61.string().nullable(),
|
|
37313
38061
|
photo: teamMemberPhotoSchema,
|
|
37314
|
-
profilePath:
|
|
38062
|
+
profilePath: z61.string().nullable()
|
|
37315
38063
|
});
|
|
37316
|
-
var teamMembersDataSchema =
|
|
38064
|
+
var teamMembersDataSchema = z61.array(teamMemberDataSchema);
|
|
37317
38065
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
37318
38066
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
37319
38067
|
var headingNode = text(
|
|
@@ -38205,13 +38953,6 @@ var systemBlockDefinitionsRaw = [
|
|
|
38205
38953
|
weight: "featured",
|
|
38206
38954
|
bias: "clear",
|
|
38207
38955
|
surfaces: heroSectionSurfaces
|
|
38208
|
-
}),
|
|
38209
|
-
layoutProfile({
|
|
38210
|
-
variantKey: "splitEditorial",
|
|
38211
|
-
family: "split",
|
|
38212
|
-
weight: "featured",
|
|
38213
|
-
bias: "clear",
|
|
38214
|
-
surfaces: heroSectionSurfaces
|
|
38215
38956
|
})
|
|
38216
38957
|
]
|
|
38217
38958
|
})),
|
|
@@ -38455,9 +39196,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
38455
39196
|
flow: offeringsFlow,
|
|
38456
39197
|
layoutProfiles: [
|
|
38457
39198
|
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
39199
|
+
layoutProfile({ variantKey: "calendar", family: "stack", weight: "standard" }),
|
|
38458
39200
|
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
38459
|
-
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
38460
|
-
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
38461
39201
|
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
38462
39202
|
]
|
|
38463
39203
|
})),
|
|
@@ -39020,10 +39760,7 @@ function normalizeRenderStage(stage) {
|
|
|
39020
39760
|
return stage === "preview" ? "preview" : "published";
|
|
39021
39761
|
}
|
|
39022
39762
|
function isRouteVisibleInStage(routeEntry, stageInput) {
|
|
39023
|
-
|
|
39024
|
-
if (stage === "preview" || !isRouteRecord(routeEntry)) {
|
|
39025
|
-
return true;
|
|
39026
|
-
}
|
|
39763
|
+
if (normalizeRenderStage(stageInput) === "preview" || !isRouteRecord(routeEntry)) return true;
|
|
39027
39764
|
const status = routeEntry.status;
|
|
39028
39765
|
return !(typeof status === "string" && status !== "published");
|
|
39029
39766
|
}
|
|
@@ -39032,52 +39769,45 @@ function extractRouteHref(candidate, stageInput = "published") {
|
|
|
39032
39769
|
const trimmed = candidate.trim();
|
|
39033
39770
|
return trimmed.length > 0 ? trimmed : null;
|
|
39034
39771
|
}
|
|
39035
|
-
if (!isRouteRecord(candidate))
|
|
39036
|
-
|
|
39037
|
-
|
|
39038
|
-
|
|
39039
|
-
|
|
39772
|
+
if (!isRouteRecord(candidate)) return null;
|
|
39773
|
+
const fields3 = normalizeRenderStage(stageInput) === "preview" ? [
|
|
39774
|
+
"draftPath",
|
|
39775
|
+
"path",
|
|
39776
|
+
"href",
|
|
39777
|
+
"url"
|
|
39778
|
+
] : [
|
|
39779
|
+
"path",
|
|
39780
|
+
"href",
|
|
39781
|
+
"url"
|
|
39782
|
+
];
|
|
39040
39783
|
for (const field of fields3) {
|
|
39041
39784
|
const value = candidate[field];
|
|
39042
|
-
if (typeof value === "string" && value.trim().length > 0)
|
|
39043
|
-
return value.trim();
|
|
39044
|
-
}
|
|
39785
|
+
if (typeof value === "string" && value.trim().length > 0) return value.trim();
|
|
39045
39786
|
}
|
|
39046
39787
|
return null;
|
|
39047
39788
|
}
|
|
39048
39789
|
function extractRouteUpdatedAt(candidate) {
|
|
39049
|
-
if (!isRouteRecord(candidate))
|
|
39050
|
-
|
|
39051
|
-
}
|
|
39052
|
-
const fields3 = [
|
|
39790
|
+
if (!isRouteRecord(candidate)) return null;
|
|
39791
|
+
for (const field of [
|
|
39053
39792
|
"updatedAt",
|
|
39054
39793
|
"updated_at",
|
|
39055
39794
|
"publishedAt",
|
|
39056
39795
|
"published_at",
|
|
39057
39796
|
"modifiedAt",
|
|
39058
39797
|
"modified_at"
|
|
39059
|
-
]
|
|
39060
|
-
for (const field of fields3) {
|
|
39798
|
+
]) {
|
|
39061
39799
|
const value = candidate[field];
|
|
39062
|
-
if (typeof value === "string" && value.length > 0)
|
|
39063
|
-
return value;
|
|
39064
|
-
}
|
|
39800
|
+
if (typeof value === "string" && value.length > 0) return value;
|
|
39065
39801
|
}
|
|
39066
39802
|
return null;
|
|
39067
39803
|
}
|
|
39068
39804
|
function resolveRouteTargetForStage(routeIdValue, routes, stageInput) {
|
|
39069
39805
|
const routeId = typeof routeIdValue === "string" ? routeIdValue : null;
|
|
39070
|
-
if (!routeId || !routes)
|
|
39071
|
-
return null;
|
|
39072
|
-
}
|
|
39806
|
+
if (!routeId || !routes) return null;
|
|
39073
39807
|
const routeEntry = routes[routeId];
|
|
39074
|
-
if (!isRouteVisibleInStage(routeEntry, stageInput))
|
|
39075
|
-
return null;
|
|
39076
|
-
}
|
|
39808
|
+
if (!isRouteVisibleInStage(routeEntry, stageInput)) return null;
|
|
39077
39809
|
const href = extractRouteHref(routeEntry, stageInput);
|
|
39078
|
-
if (!href)
|
|
39079
|
-
return null;
|
|
39080
|
-
}
|
|
39810
|
+
if (!href) return null;
|
|
39081
39811
|
return {
|
|
39082
39812
|
routeId,
|
|
39083
39813
|
href,
|
|
@@ -39315,7 +40045,7 @@ function resolveLinkedContentEditSupport(contentType) {
|
|
|
39315
40045
|
case "unsupported-domain-backed":
|
|
39316
40046
|
return { kind: "unsupported-domain-backed", reason: metadata.reason };
|
|
39317
40047
|
default:
|
|
39318
|
-
return
|
|
40048
|
+
return assertNever2(metadata);
|
|
39319
40049
|
}
|
|
39320
40050
|
}
|
|
39321
40051
|
function contentTypeKeyToLabel(key) {
|
|
@@ -40113,42 +40843,45 @@ import { jsx as jsx5 } from "react/jsx-runtime";
|
|
|
40113
40843
|
import * as React from "react";
|
|
40114
40844
|
import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
40115
40845
|
|
|
40846
|
+
// ../theme-core/src/ResponsiveScope.tsx
|
|
40847
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
40848
|
+
|
|
40116
40849
|
// ../theme-core/src/fonts/uploadFormat.ts
|
|
40117
40850
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
40118
40851
|
|
|
40119
40852
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
40120
|
-
import { z as
|
|
40121
|
-
var themeBridgeConfigSchema =
|
|
40122
|
-
tokens:
|
|
40123
|
-
typography:
|
|
40124
|
-
headingFamily:
|
|
40125
|
-
bodyFamily:
|
|
40126
|
-
headingWeight:
|
|
40127
|
-
bodyWeight:
|
|
40853
|
+
import { z as z62 } from "zod";
|
|
40854
|
+
var themeBridgeConfigSchema = z62.object({
|
|
40855
|
+
tokens: z62.record(z62.string(), z62.string()),
|
|
40856
|
+
typography: z62.object({
|
|
40857
|
+
headingFamily: z62.string().optional(),
|
|
40858
|
+
bodyFamily: z62.string().optional(),
|
|
40859
|
+
headingWeight: z62.number().optional(),
|
|
40860
|
+
bodyWeight: z62.number().optional()
|
|
40128
40861
|
}).optional(),
|
|
40129
|
-
spacing:
|
|
40130
|
-
corners:
|
|
40131
|
-
shadows:
|
|
40132
|
-
components:
|
|
40133
|
-
buttons:
|
|
40134
|
-
|
|
40135
|
-
|
|
40136
|
-
variants:
|
|
40862
|
+
spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
|
|
40863
|
+
corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
40864
|
+
shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
|
|
40865
|
+
components: z62.object({
|
|
40866
|
+
buttons: z62.union([
|
|
40867
|
+
z62.boolean(),
|
|
40868
|
+
z62.object({
|
|
40869
|
+
variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
40137
40870
|
})
|
|
40138
40871
|
]).optional(),
|
|
40139
|
-
cards:
|
|
40140
|
-
|
|
40141
|
-
|
|
40142
|
-
variants:
|
|
40872
|
+
cards: z62.union([
|
|
40873
|
+
z62.boolean(),
|
|
40874
|
+
z62.object({
|
|
40875
|
+
variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
|
|
40143
40876
|
})
|
|
40144
40877
|
]).optional(),
|
|
40145
|
-
inputs:
|
|
40878
|
+
inputs: z62.boolean().optional()
|
|
40146
40879
|
}).optional(),
|
|
40147
|
-
overrides:
|
|
40880
|
+
overrides: z62.record(z62.string(), z62.string()).optional()
|
|
40148
40881
|
}).passthrough();
|
|
40149
40882
|
|
|
40150
40883
|
// ../theme-core/src/siteChrome.tsx
|
|
40151
|
-
import { Fragment as Fragment2, jsx as
|
|
40884
|
+
import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
40152
40885
|
|
|
40153
40886
|
// ../blocks/src/system/runtime/bindings.ts
|
|
40154
40887
|
var shouldLogWarnings = isNonProductionEnv();
|
|
@@ -40513,17 +41246,17 @@ function normalizeLoaderParams(endpoint, params, context) {
|
|
|
40513
41246
|
function unsafeRetypeZodSchema(schema) {
|
|
40514
41247
|
return schema;
|
|
40515
41248
|
}
|
|
40516
|
-
var navIdListSchema =
|
|
41249
|
+
var navIdListSchema = z63.preprocess((value) => {
|
|
40517
41250
|
if (!Array.isArray(value)) return void 0;
|
|
40518
41251
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
40519
41252
|
return filtered.length > 0 ? filtered : void 0;
|
|
40520
|
-
},
|
|
40521
|
-
var dashboardNavVisibilityBaseSchema =
|
|
40522
|
-
mode:
|
|
41253
|
+
}, z63.array(z63.string()).max(200).optional());
|
|
41254
|
+
var dashboardNavVisibilityBaseSchema = z63.object({
|
|
41255
|
+
mode: z63.enum(["augment", "restrict"]).optional(),
|
|
40523
41256
|
allowIds: navIdListSchema,
|
|
40524
41257
|
denyIds: navIdListSchema
|
|
40525
41258
|
}).strip();
|
|
40526
|
-
var dashboardNavVisibilityRolesSchema =
|
|
41259
|
+
var dashboardNavVisibilityRolesSchema = z63.object({
|
|
40527
41260
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
40528
41261
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
40529
41262
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -40531,63 +41264,63 @@ var dashboardNavVisibilityRolesSchema = z65.object({
|
|
|
40531
41264
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
40532
41265
|
roles: dashboardNavVisibilityRolesSchema
|
|
40533
41266
|
}).strip();
|
|
40534
|
-
var dashboardNavigationConfigSchema =
|
|
41267
|
+
var dashboardNavigationConfigSchema = z63.object({
|
|
40535
41268
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
40536
41269
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
40537
41270
|
}).strip();
|
|
40538
|
-
var dashboardConfigSchema =
|
|
40539
|
-
previewEditingEnabled:
|
|
41271
|
+
var dashboardConfigSchema = z63.object({
|
|
41272
|
+
previewEditingEnabled: z63.boolean().optional(),
|
|
40540
41273
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
40541
41274
|
}).strip();
|
|
40542
41275
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
40543
41276
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
40544
|
-
var sdkLoaderEndpointSchema =
|
|
40545
|
-
var loaderFallbackScalarSchema =
|
|
40546
|
-
|
|
40547
|
-
|
|
40548
|
-
|
|
40549
|
-
|
|
41277
|
+
var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
41278
|
+
var loaderFallbackScalarSchema = z63.union([
|
|
41279
|
+
z63.string(),
|
|
41280
|
+
z63.number(),
|
|
41281
|
+
z63.boolean(),
|
|
41282
|
+
z63.null()
|
|
40550
41283
|
]);
|
|
40551
|
-
var loaderParamBindingSchema =
|
|
40552
|
-
$bind:
|
|
40553
|
-
from:
|
|
41284
|
+
var loaderParamBindingSchema = z63.object({
|
|
41285
|
+
$bind: z63.object({
|
|
41286
|
+
from: z63.string().min(1, "Binding path is required"),
|
|
40554
41287
|
fallback: loaderFallbackScalarSchema.optional()
|
|
40555
41288
|
})
|
|
40556
41289
|
});
|
|
40557
|
-
var loaderParamValueSchema =
|
|
40558
|
-
|
|
40559
|
-
|
|
40560
|
-
|
|
41290
|
+
var loaderParamValueSchema = z63.union([
|
|
41291
|
+
z63.string(),
|
|
41292
|
+
z63.number(),
|
|
41293
|
+
z63.boolean(),
|
|
40561
41294
|
loaderParamBindingSchema
|
|
40562
41295
|
]);
|
|
40563
|
-
var sdkConfigLoaderSchema =
|
|
41296
|
+
var sdkConfigLoaderSchema = z63.object({
|
|
40564
41297
|
endpoint: sdkLoaderEndpointSchema,
|
|
40565
|
-
params:
|
|
40566
|
-
mode:
|
|
41298
|
+
params: z63.record(z63.string(), loaderParamValueSchema),
|
|
41299
|
+
mode: z63.enum(["server", "client"]).default("server")
|
|
40567
41300
|
});
|
|
40568
|
-
var sdkDataLoadersSchema =
|
|
40569
|
-
var sdkCustomBlockIdSchema =
|
|
41301
|
+
var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
41302
|
+
var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
40570
41303
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
40571
41304
|
}).transform((value) => value);
|
|
40572
|
-
var sdkCustomBlockInputSchema =
|
|
41305
|
+
var sdkCustomBlockInputSchema = z63.object({
|
|
40573
41306
|
id: sdkCustomBlockIdSchema,
|
|
40574
|
-
title:
|
|
40575
|
-
titleSource:
|
|
40576
|
-
description:
|
|
41307
|
+
title: z63.string().min(1),
|
|
41308
|
+
titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
|
|
41309
|
+
description: z63.string().optional(),
|
|
40577
41310
|
category: blockCategoryEnum,
|
|
40578
|
-
icon:
|
|
40579
|
-
tags:
|
|
41311
|
+
icon: z63.string().optional(),
|
|
41312
|
+
tags: z63.array(z63.string()).optional(),
|
|
40580
41313
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
40581
41314
|
dataLoaders: sdkDataLoadersSchema,
|
|
40582
41315
|
layout: NodeSchema.optional(),
|
|
40583
|
-
variants:
|
|
40584
|
-
defaultVariant:
|
|
40585
|
-
variantOptions:
|
|
40586
|
-
|
|
40587
|
-
|
|
40588
|
-
label:
|
|
40589
|
-
description:
|
|
40590
|
-
icon:
|
|
41316
|
+
variants: z63.record(z63.string().min(1), NodeSchema).optional(),
|
|
41317
|
+
defaultVariant: z63.string().min(1).optional(),
|
|
41318
|
+
variantOptions: z63.record(
|
|
41319
|
+
z63.string().min(1),
|
|
41320
|
+
z63.object({
|
|
41321
|
+
label: z63.string().min(1).optional(),
|
|
41322
|
+
description: z63.string().min(1).optional(),
|
|
41323
|
+
icon: z63.string().min(1).optional()
|
|
40591
41324
|
})
|
|
40592
41325
|
).optional(),
|
|
40593
41326
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -40598,7 +41331,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
40598
41331
|
const exists = data.fields.some((field) => field.id === source);
|
|
40599
41332
|
if (!exists) {
|
|
40600
41333
|
ctx.addIssue({
|
|
40601
|
-
code:
|
|
41334
|
+
code: z63.ZodIssueCode.custom,
|
|
40602
41335
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
40603
41336
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
40604
41337
|
});
|
|
@@ -40607,7 +41340,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
40607
41340
|
}
|
|
40608
41341
|
if (data.layout && data.variants) {
|
|
40609
41342
|
ctx.addIssue({
|
|
40610
|
-
code:
|
|
41343
|
+
code: z63.ZodIssueCode.custom,
|
|
40611
41344
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
40612
41345
|
path: ["variants"]
|
|
40613
41346
|
});
|
|
@@ -40616,14 +41349,14 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
40616
41349
|
const keys = Object.keys(data.variants);
|
|
40617
41350
|
if (keys.length === 0) {
|
|
40618
41351
|
ctx.addIssue({
|
|
40619
|
-
code:
|
|
41352
|
+
code: z63.ZodIssueCode.custom,
|
|
40620
41353
|
message: "`variants` must contain at least one variant key",
|
|
40621
41354
|
path: ["variants"]
|
|
40622
41355
|
});
|
|
40623
41356
|
}
|
|
40624
41357
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
40625
41358
|
ctx.addIssue({
|
|
40626
|
-
code:
|
|
41359
|
+
code: z63.ZodIssueCode.custom,
|
|
40627
41360
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
40628
41361
|
path: ["defaultVariant"]
|
|
40629
41362
|
});
|
|
@@ -40632,7 +41365,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
40632
41365
|
for (const key of Object.keys(data.variantOptions)) {
|
|
40633
41366
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
40634
41367
|
ctx.addIssue({
|
|
40635
|
-
code:
|
|
41368
|
+
code: z63.ZodIssueCode.custom,
|
|
40636
41369
|
message: "`variantOptions` key must exist in `variants`",
|
|
40637
41370
|
path: ["variantOptions", key]
|
|
40638
41371
|
});
|
|
@@ -40641,78 +41374,78 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
40641
41374
|
}
|
|
40642
41375
|
}
|
|
40643
41376
|
});
|
|
40644
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
41377
|
+
var sdkBlockFieldExtensionInputSchema = z63.object({
|
|
40645
41378
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
40646
41379
|
});
|
|
40647
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
40648
|
-
|
|
41380
|
+
var sdkBlockFieldExtensionsInputSchema = z63.record(
|
|
41381
|
+
z63.string().min(1),
|
|
40649
41382
|
sdkBlockFieldExtensionInputSchema
|
|
40650
41383
|
);
|
|
40651
|
-
var sdkThemePaletteSchema =
|
|
40652
|
-
var sdkThemeConfigSchema =
|
|
41384
|
+
var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
|
|
41385
|
+
var sdkThemeConfigSchema = z63.object({
|
|
40653
41386
|
palette: sdkThemePaletteSchema
|
|
40654
41387
|
});
|
|
40655
|
-
var sdkSectionBackgroundSchema =
|
|
40656
|
-
id:
|
|
40657
|
-
label:
|
|
40658
|
-
token:
|
|
41388
|
+
var sdkSectionBackgroundSchema = z63.object({
|
|
41389
|
+
id: z63.string().min(1),
|
|
41390
|
+
label: z63.string().min(1),
|
|
41391
|
+
token: z63.string().min(1)
|
|
40659
41392
|
});
|
|
40660
|
-
var sdkSectionOptionsConfigSchema =
|
|
40661
|
-
backgroundColor:
|
|
40662
|
-
backgroundImage:
|
|
40663
|
-
backgroundGradient:
|
|
40664
|
-
spacing:
|
|
40665
|
-
textColor:
|
|
41393
|
+
var sdkSectionOptionsConfigSchema = z63.object({
|
|
41394
|
+
backgroundColor: z63.boolean().optional(),
|
|
41395
|
+
backgroundImage: z63.boolean().optional(),
|
|
41396
|
+
backgroundGradient: z63.boolean().optional(),
|
|
41397
|
+
spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
|
|
41398
|
+
textColor: z63.boolean().optional()
|
|
40666
41399
|
});
|
|
40667
|
-
var sdkContainerOptionsConfigSchema =
|
|
40668
|
-
maxWidth:
|
|
40669
|
-
alignment:
|
|
41400
|
+
var sdkContainerOptionsConfigSchema = z63.object({
|
|
41401
|
+
maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
|
|
41402
|
+
alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
|
|
40670
41403
|
});
|
|
40671
|
-
var sdkSiteStyleConfigSchema =
|
|
40672
|
-
sectionBackgrounds:
|
|
41404
|
+
var sdkSiteStyleConfigSchema = z63.object({
|
|
41405
|
+
sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
|
|
40673
41406
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
40674
41407
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
40675
41408
|
});
|
|
40676
|
-
var sdkSiteLayoutConfigSchema =
|
|
40677
|
-
footerBlocks:
|
|
40678
|
-
|
|
40679
|
-
id:
|
|
40680
|
-
kind:
|
|
40681
|
-
content:
|
|
41409
|
+
var sdkSiteLayoutConfigSchema = z63.object({
|
|
41410
|
+
footerBlocks: z63.array(
|
|
41411
|
+
z63.object({
|
|
41412
|
+
id: z63.string().min(1).optional(),
|
|
41413
|
+
kind: z63.string().min(1),
|
|
41414
|
+
content: z63.record(z63.string(), z63.unknown()).optional()
|
|
40682
41415
|
})
|
|
40683
41416
|
).optional()
|
|
40684
41417
|
});
|
|
40685
|
-
var sdkFieldSelectOptionSchema =
|
|
40686
|
-
value:
|
|
40687
|
-
label:
|
|
41418
|
+
var sdkFieldSelectOptionSchema = z63.object({
|
|
41419
|
+
value: z63.string(),
|
|
41420
|
+
label: z63.string()
|
|
40688
41421
|
});
|
|
40689
|
-
var sdkBlockFieldConfigSchema =
|
|
40690
|
-
options:
|
|
41422
|
+
var sdkBlockFieldConfigSchema = z63.object({
|
|
41423
|
+
options: z63.array(sdkFieldSelectOptionSchema).optional()
|
|
40691
41424
|
});
|
|
40692
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
40693
|
-
|
|
41425
|
+
var sdkBlockFieldOptionsMapSchema = z63.record(
|
|
41426
|
+
z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
40694
41427
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
40695
41428
|
}),
|
|
40696
|
-
|
|
41429
|
+
z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
|
|
40697
41430
|
).optional();
|
|
40698
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
40699
|
-
blocks:
|
|
41431
|
+
var sdkContentTypeTemplateConfigSchema = z63.object({
|
|
41432
|
+
blocks: z63.array(z63.unknown())
|
|
40700
41433
|
}).passthrough();
|
|
40701
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
40702
|
-
mode:
|
|
41434
|
+
var sdkContentTypeOrderingConfigSchema = z63.object({
|
|
41435
|
+
mode: z63.enum(["default", "manual"]).optional()
|
|
40703
41436
|
}).optional();
|
|
40704
|
-
var sdkContentTypeConfigSchema =
|
|
40705
|
-
key:
|
|
40706
|
-
fields:
|
|
41437
|
+
var sdkContentTypeConfigSchema = z63.object({
|
|
41438
|
+
key: z63.string().min(1),
|
|
41439
|
+
fields: z63.array(z63.unknown()),
|
|
40707
41440
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
40708
41441
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
40709
41442
|
}).passthrough();
|
|
40710
|
-
var sdkContentConfigSchema =
|
|
40711
|
-
contentTypes:
|
|
40712
|
-
pages:
|
|
40713
|
-
entries:
|
|
40714
|
-
navigationMenus:
|
|
40715
|
-
settings:
|
|
41443
|
+
var sdkContentConfigSchema = z63.object({
|
|
41444
|
+
contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
|
|
41445
|
+
pages: z63.array(z63.unknown()).optional(),
|
|
41446
|
+
entries: z63.array(z63.unknown()).optional(),
|
|
41447
|
+
navigationMenus: z63.array(z63.unknown()).optional(),
|
|
41448
|
+
settings: z63.unknown().optional()
|
|
40716
41449
|
}).passthrough();
|
|
40717
41450
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
40718
41451
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -40727,62 +41460,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
40727
41460
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
40728
41461
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
40729
41462
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
40730
|
-
var sdkWorkflowIdSchema =
|
|
41463
|
+
var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
40731
41464
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
40732
41465
|
});
|
|
40733
|
-
var sdkWorkflowEndpointSchema =
|
|
40734
|
-
var sdkWorkflowManualTriggerSchema =
|
|
40735
|
-
type:
|
|
41466
|
+
var sdkWorkflowEndpointSchema = z63.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
|
|
41467
|
+
var sdkWorkflowManualTriggerSchema = z63.object({
|
|
41468
|
+
type: z63.literal("manual")
|
|
40736
41469
|
}).strict();
|
|
40737
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
41470
|
+
var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
40738
41471
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
40739
41472
|
});
|
|
40740
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
41473
|
+
var sdkWorkflowFieldChangedConditionSchema = z63.object({
|
|
40741
41474
|
field: sdkWorkflowTriggerFieldSchema,
|
|
40742
|
-
changed:
|
|
41475
|
+
changed: z63.literal(true)
|
|
40743
41476
|
}).strict();
|
|
40744
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
41477
|
+
var sdkWorkflowFieldEmptyConditionSchema = z63.object({
|
|
40745
41478
|
field: sdkWorkflowTriggerFieldSchema,
|
|
40746
|
-
isEmpty:
|
|
41479
|
+
isEmpty: z63.boolean()
|
|
40747
41480
|
}).strict();
|
|
40748
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
40749
|
-
type:
|
|
40750
|
-
when:
|
|
40751
|
-
|
|
41481
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
|
|
41482
|
+
type: z63.literal("entry.draft.updated"),
|
|
41483
|
+
when: z63.array(
|
|
41484
|
+
z63.union([
|
|
40752
41485
|
sdkWorkflowFieldChangedConditionSchema,
|
|
40753
41486
|
sdkWorkflowFieldEmptyConditionSchema
|
|
40754
41487
|
])
|
|
40755
41488
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
40756
41489
|
}).strict();
|
|
40757
|
-
var sdkWorkflowTriggerSchema =
|
|
41490
|
+
var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
|
|
40758
41491
|
sdkWorkflowManualTriggerSchema,
|
|
40759
41492
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
40760
41493
|
]);
|
|
40761
|
-
var sdkWorkflowConfirmationSchema =
|
|
40762
|
-
title:
|
|
40763
|
-
body:
|
|
41494
|
+
var sdkWorkflowConfirmationSchema = z63.object({
|
|
41495
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
41496
|
+
body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
40764
41497
|
}).strict();
|
|
40765
|
-
var sdkWorkflowConfigSchema =
|
|
41498
|
+
var sdkWorkflowConfigSchema = z63.object({
|
|
40766
41499
|
id: sdkWorkflowIdSchema,
|
|
40767
|
-
title:
|
|
40768
|
-
description:
|
|
40769
|
-
contentType:
|
|
41500
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
41501
|
+
description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
41502
|
+
contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
40770
41503
|
endpoint: sdkWorkflowEndpointSchema,
|
|
40771
|
-
triggers:
|
|
41504
|
+
triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
40772
41505
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
40773
41506
|
}).strict();
|
|
40774
|
-
var sdkWorkflowsSchema =
|
|
41507
|
+
var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
40775
41508
|
const ids = workflows.map((workflow) => workflow.id);
|
|
40776
41509
|
return ids.length === new Set(ids).size;
|
|
40777
41510
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
40778
|
-
var riverbankSiteConfigInputSchema =
|
|
40779
|
-
siteId:
|
|
40780
|
-
previewUrl:
|
|
40781
|
-
liveUrl:
|
|
41511
|
+
var riverbankSiteConfigInputSchema = z63.object({
|
|
41512
|
+
siteId: z63.string().uuid(),
|
|
41513
|
+
previewUrl: z63.string().url().optional(),
|
|
41514
|
+
liveUrl: z63.string().url().optional(),
|
|
40782
41515
|
theme: sdkThemeConfigSchema.optional(),
|
|
40783
41516
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
40784
41517
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
40785
|
-
customBlocks:
|
|
41518
|
+
customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
40786
41519
|
const ids = blocks.map((b) => b.id);
|
|
40787
41520
|
return ids.length === new Set(ids).size;
|
|
40788
41521
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -40790,50 +41523,50 @@ var riverbankSiteConfigInputSchema = z65.object({
|
|
|
40790
41523
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
40791
41524
|
workflows: sdkWorkflowsSchema,
|
|
40792
41525
|
content: sdkContentConfigSchema.optional(),
|
|
40793
|
-
contentDir:
|
|
40794
|
-
sync:
|
|
40795
|
-
existingEntries:
|
|
41526
|
+
contentDir: z63.string().optional(),
|
|
41527
|
+
sync: z63.object({
|
|
41528
|
+
existingEntries: z63.enum(["skip", "update"]).optional()
|
|
40796
41529
|
}).optional(),
|
|
40797
|
-
deploy:
|
|
40798
|
-
verifyCommand:
|
|
40799
|
-
prebuildOutput:
|
|
41530
|
+
deploy: z63.object({
|
|
41531
|
+
verifyCommand: z63.string().optional(),
|
|
41532
|
+
prebuildOutput: z63.string().optional()
|
|
40800
41533
|
}).optional(),
|
|
40801
|
-
themeSource:
|
|
40802
|
-
activeTheme:
|
|
40803
|
-
enablePortal:
|
|
41534
|
+
themeSource: z63.enum(["local", "cms"]).optional(),
|
|
41535
|
+
activeTheme: z63.string().optional(),
|
|
41536
|
+
enablePortal: z63.boolean().optional(),
|
|
40804
41537
|
dashboard: dashboardConfigSchema.optional()
|
|
40805
41538
|
}).strict();
|
|
40806
|
-
var pushSdkConfigBodySchema =
|
|
41539
|
+
var pushSdkConfigBodySchema = z63.object({
|
|
40807
41540
|
config: riverbankSiteConfigInputSchema,
|
|
40808
|
-
forceContentTypes:
|
|
41541
|
+
forceContentTypes: z63.boolean().optional()
|
|
40809
41542
|
}).strict();
|
|
40810
41543
|
|
|
40811
41544
|
// ../api/src/siteOnboarding.ts
|
|
40812
|
-
import { z as
|
|
41545
|
+
import { z as z64 } from "zod";
|
|
40813
41546
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
40814
41547
|
configure_appointments: {
|
|
40815
41548
|
requirementId: "configure_appointments",
|
|
40816
41549
|
reason: "launch_anyway"
|
|
40817
41550
|
}
|
|
40818
41551
|
};
|
|
40819
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
41552
|
+
var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
|
|
40820
41553
|
"requirementId",
|
|
40821
41554
|
[
|
|
40822
|
-
|
|
40823
|
-
requirementId:
|
|
41555
|
+
z64.object({
|
|
41556
|
+
requirementId: z64.literal("review_generated_site")
|
|
40824
41557
|
}),
|
|
40825
|
-
|
|
40826
|
-
requirementId:
|
|
41558
|
+
z64.object({
|
|
41559
|
+
requirementId: z64.literal(
|
|
40827
41560
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
40828
41561
|
),
|
|
40829
|
-
overrideReason:
|
|
41562
|
+
overrideReason: z64.literal(
|
|
40830
41563
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
40831
41564
|
)
|
|
40832
41565
|
})
|
|
40833
41566
|
]
|
|
40834
41567
|
);
|
|
40835
|
-
var goLiveSiteRequestSchema =
|
|
40836
|
-
acceptExtraSiteCharge:
|
|
41568
|
+
var goLiveSiteRequestSchema = z64.object({
|
|
41569
|
+
acceptExtraSiteCharge: z64.boolean().optional()
|
|
40837
41570
|
});
|
|
40838
41571
|
|
|
40839
41572
|
// ../api/src/customerMembershipOutcomes.ts
|
|
@@ -40910,7 +41643,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
40910
41643
|
];
|
|
40911
41644
|
|
|
40912
41645
|
// ../api/src/bookingVerticals.ts
|
|
40913
|
-
import { z as
|
|
41646
|
+
import { z as z65 } from "zod";
|
|
40914
41647
|
var VERTICAL_IDS = [
|
|
40915
41648
|
"yoga_wellness",
|
|
40916
41649
|
"fitness_pt",
|
|
@@ -41075,39 +41808,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
41075
41808
|
}
|
|
41076
41809
|
return [...issues];
|
|
41077
41810
|
}
|
|
41078
|
-
var VerticalIdSchema =
|
|
41811
|
+
var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
41079
41812
|
const parsed = parseVerticalId(value);
|
|
41080
41813
|
if (!parsed) {
|
|
41081
41814
|
ctx.addIssue({
|
|
41082
|
-
code:
|
|
41815
|
+
code: z65.ZodIssueCode.custom,
|
|
41083
41816
|
message: "Unknown booking vertical"
|
|
41084
41817
|
});
|
|
41085
|
-
return
|
|
41818
|
+
return z65.NEVER;
|
|
41086
41819
|
}
|
|
41087
41820
|
return parsed;
|
|
41088
41821
|
});
|
|
41089
|
-
var VerticalPresetIdSchema =
|
|
41822
|
+
var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
|
|
41090
41823
|
const parsed = parseVerticalPresetId(value);
|
|
41091
41824
|
if (!parsed) {
|
|
41092
41825
|
ctx.addIssue({
|
|
41093
|
-
code:
|
|
41826
|
+
code: z65.ZodIssueCode.custom,
|
|
41094
41827
|
message: "Unknown booking preset"
|
|
41095
41828
|
});
|
|
41096
|
-
return
|
|
41829
|
+
return z65.NEVER;
|
|
41097
41830
|
}
|
|
41098
41831
|
return parsed;
|
|
41099
41832
|
});
|
|
41100
|
-
var BookingVerticalConfigSchema =
|
|
41833
|
+
var BookingVerticalConfigSchema = z65.object({
|
|
41101
41834
|
verticalId: VerticalIdSchema.nullable(),
|
|
41102
|
-
selectedPresetIds:
|
|
41835
|
+
selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
|
|
41103
41836
|
}).transform((value, ctx) => {
|
|
41104
41837
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
41105
41838
|
if (resolved.kind === "invalid") {
|
|
41106
41839
|
ctx.addIssue({
|
|
41107
|
-
code:
|
|
41840
|
+
code: z65.ZodIssueCode.custom,
|
|
41108
41841
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
41109
41842
|
});
|
|
41110
|
-
return
|
|
41843
|
+
return z65.NEVER;
|
|
41111
41844
|
}
|
|
41112
41845
|
return resolved.config;
|
|
41113
41846
|
});
|
|
@@ -41134,51 +41867,51 @@ function isRecord9(value) {
|
|
|
41134
41867
|
}
|
|
41135
41868
|
|
|
41136
41869
|
// ../api/src/appointmentSetup.ts
|
|
41137
|
-
import { z as
|
|
41870
|
+
import { z as z66 } from "zod";
|
|
41138
41871
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
41139
|
-
var appointmentSetupRefSchema =
|
|
41140
|
-
|
|
41141
|
-
|
|
41872
|
+
var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
|
|
41873
|
+
z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
|
|
41874
|
+
z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
|
|
41142
41875
|
]);
|
|
41143
|
-
var appointmentSetupVenueChoiceSchema =
|
|
41144
|
-
|
|
41145
|
-
|
|
41146
|
-
|
|
41147
|
-
kind:
|
|
41148
|
-
draftId:
|
|
41149
|
-
title:
|
|
41150
|
-
description:
|
|
41151
|
-
timezone:
|
|
41152
|
-
addressJson:
|
|
41153
|
-
locationJson:
|
|
41876
|
+
var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
|
|
41877
|
+
z66.object({ kind: z66.literal("none") }),
|
|
41878
|
+
z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
|
|
41879
|
+
z66.object({
|
|
41880
|
+
kind: z66.literal("create"),
|
|
41881
|
+
draftId: z66.string().min(1),
|
|
41882
|
+
title: z66.string().trim().min(1),
|
|
41883
|
+
description: z66.string().nullable(),
|
|
41884
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
41885
|
+
addressJson: z66.record(z66.string(), z66.unknown()),
|
|
41886
|
+
locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
|
|
41154
41887
|
})
|
|
41155
41888
|
]);
|
|
41156
|
-
var appointmentSetupPaymentDraftSchema =
|
|
41157
|
-
priceType:
|
|
41158
|
-
});
|
|
41159
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
41160
|
-
|
|
41161
|
-
|
|
41162
|
-
kind:
|
|
41163
|
-
resourceRefs:
|
|
41889
|
+
var appointmentSetupPaymentDraftSchema = z66.object({
|
|
41890
|
+
priceType: z66.union([z66.literal("free"), z66.literal("paid")])
|
|
41891
|
+
});
|
|
41892
|
+
var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
|
|
41893
|
+
z66.object({ kind: z66.literal("all_practitioners") }),
|
|
41894
|
+
z66.object({
|
|
41895
|
+
kind: z66.literal("selected_practitioners"),
|
|
41896
|
+
resourceRefs: z66.array(appointmentSetupRefSchema)
|
|
41164
41897
|
})
|
|
41165
41898
|
]);
|
|
41166
|
-
var appointmentSetupServiceDraftSchema =
|
|
41899
|
+
var appointmentSetupServiceDraftSchema = z66.object({
|
|
41167
41900
|
ref: appointmentSetupRefSchema,
|
|
41168
|
-
title:
|
|
41169
|
-
description:
|
|
41170
|
-
durationMinutes:
|
|
41171
|
-
prepMinutes:
|
|
41172
|
-
cleanupMinutes:
|
|
41173
|
-
priceAmount:
|
|
41174
|
-
isActive:
|
|
41175
|
-
locationType:
|
|
41176
|
-
|
|
41177
|
-
|
|
41178
|
-
|
|
41901
|
+
title: z66.string().trim().min(1),
|
|
41902
|
+
description: z66.string().nullable(),
|
|
41903
|
+
durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
41904
|
+
prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
41905
|
+
cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
41906
|
+
priceAmount: z66.number().int().nonnegative().nullable(),
|
|
41907
|
+
isActive: z66.boolean(),
|
|
41908
|
+
locationType: z66.union([
|
|
41909
|
+
z66.literal("virtual"),
|
|
41910
|
+
z66.literal("in_person"),
|
|
41911
|
+
z66.literal("hybrid")
|
|
41179
41912
|
]),
|
|
41180
41913
|
venue: appointmentSetupVenueChoiceSchema,
|
|
41181
|
-
timezone:
|
|
41914
|
+
timezone: z66.string().trim().min(1).nullable(),
|
|
41182
41915
|
payment: appointmentSetupPaymentDraftSchema,
|
|
41183
41916
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
41184
41917
|
}).superRefine((service, ctx) => {
|
|
@@ -41197,49 +41930,49 @@ var appointmentSetupServiceDraftSchema = z68.object({
|
|
|
41197
41930
|
});
|
|
41198
41931
|
}
|
|
41199
41932
|
});
|
|
41200
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
41933
|
+
var appointmentSetupPractitionerDraftSchema = z66.object({
|
|
41201
41934
|
ref: appointmentSetupRefSchema,
|
|
41202
|
-
displayName:
|
|
41203
|
-
bio:
|
|
41204
|
-
timezone:
|
|
41205
|
-
colorHex:
|
|
41206
|
-
});
|
|
41207
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
41208
|
-
weekday:
|
|
41209
|
-
startTime:
|
|
41210
|
-
endTime:
|
|
41211
|
-
});
|
|
41212
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
41213
|
-
|
|
41214
|
-
|
|
41215
|
-
kind:
|
|
41216
|
-
intervalMinutes:
|
|
41217
|
-
|
|
41218
|
-
|
|
41219
|
-
|
|
41220
|
-
|
|
41221
|
-
|
|
41222
|
-
|
|
41935
|
+
displayName: z66.string().trim().min(1),
|
|
41936
|
+
bio: z66.string().nullable(),
|
|
41937
|
+
timezone: z66.string().trim().min(1),
|
|
41938
|
+
colorHex: z66.string().nullable()
|
|
41939
|
+
});
|
|
41940
|
+
var appointmentSetupWeeklyWindowDraftSchema = z66.object({
|
|
41941
|
+
weekday: z66.number().int().min(0).max(6),
|
|
41942
|
+
startTime: z66.string(),
|
|
41943
|
+
endTime: z66.string()
|
|
41944
|
+
});
|
|
41945
|
+
var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
|
|
41946
|
+
z66.object({ kind: z66.literal("automatic_spacing") }),
|
|
41947
|
+
z66.object({
|
|
41948
|
+
kind: z66.literal("regular_interval"),
|
|
41949
|
+
intervalMinutes: z66.union([
|
|
41950
|
+
z66.literal(10),
|
|
41951
|
+
z66.literal(15),
|
|
41952
|
+
z66.literal(20),
|
|
41953
|
+
z66.literal(30),
|
|
41954
|
+
z66.literal(45),
|
|
41955
|
+
z66.literal(60)
|
|
41223
41956
|
])
|
|
41224
41957
|
})
|
|
41225
41958
|
]);
|
|
41226
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
41227
|
-
kind:
|
|
41959
|
+
var appointmentSetupAvailabilityDraftSchema = z66.object({
|
|
41960
|
+
kind: z66.literal("weekly_windows"),
|
|
41228
41961
|
resourceRef: appointmentSetupRefSchema,
|
|
41229
41962
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
41230
|
-
windows:
|
|
41963
|
+
windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
41231
41964
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
41232
41965
|
});
|
|
41233
41966
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
41234
41967
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
41235
|
-
var appointmentSetupBookingNoticeSchema =
|
|
41236
|
-
minLeadMinutes:
|
|
41237
|
-
maxBookingNoticeMinutes:
|
|
41238
|
-
});
|
|
41239
|
-
var applyAppointmentSetupRequestSchema =
|
|
41240
|
-
services:
|
|
41241
|
-
practitioners:
|
|
41242
|
-
availability:
|
|
41968
|
+
var appointmentSetupBookingNoticeSchema = z66.object({
|
|
41969
|
+
minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
41970
|
+
maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
41971
|
+
});
|
|
41972
|
+
var applyAppointmentSetupRequestSchema = z66.object({
|
|
41973
|
+
services: z66.array(appointmentSetupServiceDraftSchema),
|
|
41974
|
+
practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
|
|
41975
|
+
availability: z66.array(appointmentSetupAvailabilityDraftSchema),
|
|
41243
41976
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
41244
41977
|
});
|
|
41245
41978
|
|
|
@@ -41272,24 +42005,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
41272
42005
|
];
|
|
41273
42006
|
|
|
41274
42007
|
// ../api/src/siteBanner.ts
|
|
41275
|
-
import { z as
|
|
42008
|
+
import { z as z67 } from "zod";
|
|
41276
42009
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
41277
42010
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
41278
42011
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
41279
42012
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
41280
|
-
var siteBannerScopeSchema =
|
|
41281
|
-
var siteBannerToneSchema =
|
|
41282
|
-
var siteBannerBodySchema =
|
|
41283
|
-
var siteBannerCtaSchema =
|
|
41284
|
-
label:
|
|
42013
|
+
var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
|
|
42014
|
+
var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
|
|
42015
|
+
var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
|
|
42016
|
+
var siteBannerCtaSchema = z67.object({
|
|
42017
|
+
label: z67.string().trim().min(1),
|
|
41285
42018
|
link: linkPayloadSchema
|
|
41286
42019
|
});
|
|
41287
|
-
var siteBannerSettingsSchema =
|
|
41288
|
-
|
|
41289
|
-
enabled:
|
|
42020
|
+
var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
|
|
42021
|
+
z67.object({
|
|
42022
|
+
enabled: z67.literal(false)
|
|
41290
42023
|
}),
|
|
41291
|
-
|
|
41292
|
-
enabled:
|
|
42024
|
+
z67.object({
|
|
42025
|
+
enabled: z67.literal(true),
|
|
41293
42026
|
scope: siteBannerScopeSchema,
|
|
41294
42027
|
tone: siteBannerToneSchema,
|
|
41295
42028
|
body: siteBannerBodySchema,
|
|
@@ -41303,7 +42036,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
41303
42036
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
41304
42037
|
for (const issue of analysis.issues) {
|
|
41305
42038
|
ctx.addIssue({
|
|
41306
|
-
code:
|
|
42039
|
+
code: z67.ZodIssueCode.custom,
|
|
41307
42040
|
path: ["body"],
|
|
41308
42041
|
message: siteBannerBodyIssueMessage(issue)
|
|
41309
42042
|
});
|
|
@@ -41530,71 +42263,71 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
41530
42263
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
41531
42264
|
|
|
41532
42265
|
// ../api/src/aiPlayground.ts
|
|
41533
|
-
import { z as
|
|
41534
|
-
var Rfc6902PatchOp =
|
|
42266
|
+
import { z as z68 } from "zod";
|
|
42267
|
+
var Rfc6902PatchOp = z68.discriminatedUnion("op", [
|
|
41535
42268
|
// Standard RFC-6902 operations
|
|
41536
|
-
|
|
41537
|
-
op:
|
|
41538
|
-
path:
|
|
41539
|
-
value:
|
|
42269
|
+
z68.object({
|
|
42270
|
+
op: z68.literal("add"),
|
|
42271
|
+
path: z68.string(),
|
|
42272
|
+
value: z68.unknown()
|
|
41540
42273
|
}),
|
|
41541
|
-
|
|
41542
|
-
op:
|
|
41543
|
-
path:
|
|
42274
|
+
z68.object({
|
|
42275
|
+
op: z68.literal("remove"),
|
|
42276
|
+
path: z68.string()
|
|
41544
42277
|
}),
|
|
41545
|
-
|
|
41546
|
-
op:
|
|
41547
|
-
path:
|
|
41548
|
-
value:
|
|
42278
|
+
z68.object({
|
|
42279
|
+
op: z68.literal("replace"),
|
|
42280
|
+
path: z68.string(),
|
|
42281
|
+
value: z68.unknown()
|
|
41549
42282
|
}),
|
|
41550
|
-
|
|
41551
|
-
op:
|
|
41552
|
-
from:
|
|
41553
|
-
path:
|
|
42283
|
+
z68.object({
|
|
42284
|
+
op: z68.literal("move"),
|
|
42285
|
+
from: z68.string(),
|
|
42286
|
+
path: z68.string()
|
|
41554
42287
|
}),
|
|
41555
|
-
|
|
41556
|
-
op:
|
|
41557
|
-
from:
|
|
41558
|
-
path:
|
|
42288
|
+
z68.object({
|
|
42289
|
+
op: z68.literal("copy"),
|
|
42290
|
+
from: z68.string(),
|
|
42291
|
+
path: z68.string()
|
|
41559
42292
|
}),
|
|
41560
42293
|
// Block-level operations (Phase 2)
|
|
41561
|
-
|
|
41562
|
-
op:
|
|
41563
|
-
blockKind:
|
|
41564
|
-
afterBlockId:
|
|
41565
|
-
content:
|
|
41566
|
-
rationale:
|
|
42294
|
+
z68.object({
|
|
42295
|
+
op: z68.literal("add_block"),
|
|
42296
|
+
blockKind: z68.string(),
|
|
42297
|
+
afterBlockId: z68.string().nullable(),
|
|
42298
|
+
content: z68.record(z68.string(), z68.unknown()),
|
|
42299
|
+
rationale: z68.string()
|
|
41567
42300
|
}),
|
|
41568
|
-
|
|
41569
|
-
op:
|
|
41570
|
-
blockId:
|
|
41571
|
-
rationale:
|
|
42301
|
+
z68.object({
|
|
42302
|
+
op: z68.literal("delete_block"),
|
|
42303
|
+
blockId: z68.string(),
|
|
42304
|
+
rationale: z68.string()
|
|
41572
42305
|
}),
|
|
41573
|
-
|
|
41574
|
-
op:
|
|
41575
|
-
blockId:
|
|
41576
|
-
afterBlockId:
|
|
41577
|
-
rationale:
|
|
42306
|
+
z68.object({
|
|
42307
|
+
op: z68.literal("reorder_block"),
|
|
42308
|
+
blockId: z68.string(),
|
|
42309
|
+
afterBlockId: z68.string().nullable(),
|
|
42310
|
+
rationale: z68.string()
|
|
41578
42311
|
})
|
|
41579
42312
|
]);
|
|
41580
|
-
var PlaygroundProposeRequest =
|
|
41581
|
-
request:
|
|
42313
|
+
var PlaygroundProposeRequest = z68.object({
|
|
42314
|
+
request: z68.string().min(1).max(2e3)
|
|
41582
42315
|
});
|
|
41583
|
-
var MultiPagePatchEnvelope =
|
|
41584
|
-
pageId:
|
|
41585
|
-
blockId:
|
|
42316
|
+
var MultiPagePatchEnvelope = z68.object({
|
|
42317
|
+
pageId: z68.string(),
|
|
42318
|
+
blockId: z68.string().optional(),
|
|
41586
42319
|
// Not present for page-level ops
|
|
41587
|
-
blockKind:
|
|
41588
|
-
blockPurpose:
|
|
41589
|
-
ops:
|
|
41590
|
-
rationale:
|
|
41591
|
-
currentContent:
|
|
41592
|
-
});
|
|
41593
|
-
var MultiPageUpdateResponse =
|
|
41594
|
-
patches:
|
|
41595
|
-
assistantMessage:
|
|
41596
|
-
pagesModified:
|
|
41597
|
-
toolCallsUsed:
|
|
42320
|
+
blockKind: z68.string().optional(),
|
|
42321
|
+
blockPurpose: z68.string().optional().nullable(),
|
|
42322
|
+
ops: z68.array(Rfc6902PatchOp),
|
|
42323
|
+
rationale: z68.string(),
|
|
42324
|
+
currentContent: z68.record(z68.string(), z68.unknown()).optional()
|
|
42325
|
+
});
|
|
42326
|
+
var MultiPageUpdateResponse = z68.object({
|
|
42327
|
+
patches: z68.array(MultiPagePatchEnvelope),
|
|
42328
|
+
assistantMessage: z68.string(),
|
|
42329
|
+
pagesModified: z68.number(),
|
|
42330
|
+
toolCallsUsed: z68.number()
|
|
41598
42331
|
});
|
|
41599
42332
|
|
|
41600
42333
|
// src/data/prefetchBlockData.ts
|