@riverbankcms/sdk 0.96.0 → 0.98.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 +20 -1
- package/dist/{PreviewEditorSidebar-46VT4QVU.mjs → PreviewEditorSidebar-CG3SSJND.mjs} +3 -3
- package/dist/{PreviewEditorUI-JD75GE5F.mjs → PreviewEditorUI-RHNGKAAU.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-OV5PNJBB.mjs +8 -0
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +35 -1
- package/dist/_dts/api/src/bookingOperations.d.ts +246 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +109 -40
- package/dist/_dts/api/src/endpoints.d.ts +80 -0
- package/dist/_dts/api/src/index.d.ts +3 -2
- package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +7 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -1
- package/dist/_dts/blocks/src/bindings/types.d.ts +0 -4
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +7 -0
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +12 -12
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/weekly-slot-availability.d.ts +34 -0
- package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +4 -1
- package/dist/_dts/blocks/src/system/node/builder.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/schema.d.ts +13 -0
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAppointmentCheckoutVerification.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +133 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.controller.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.state.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.server.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.view.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +31 -1
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +5 -0
- package/dist/_dts/blocks/src/utils/date-formatting.d.ts +1 -1
- package/dist/_dts/content-editor/src/primitives/PreviewInlineTextEditor.d.ts +1 -1
- package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +1 -1
- package/dist/_dts/content-model/src/templates/defaults.d.ts +5 -5
- package/dist/_dts/content-model/src/templates/types.d.ts +2 -6
- package/dist/_dts/core/src/branded.d.ts +8 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +505 -2
- package/dist/_dts/field-primitives/src/bindings/index.d.ts +8 -0
- package/dist/_dts/sdk/src/cli/commands/push/publishGuidance.d.ts +15 -0
- package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/commands/push/stale-resolution.d.ts +9 -3
- package/dist/_dts/sdk/src/cli/commands/push/workflowPlan.d.ts +34 -0
- package/dist/_dts/sdk/src/cli/commands/setup.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/config-loader.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/content/metadataStore.d.ts +29 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +16 -14
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +6 -4
- package/dist/_dts/sdk/src/cli/env-scope.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/helpers.d.ts +6 -7
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/push-config.d.ts +13 -2
- package/dist/_dts/sdk/src/cli/setup/setupPlan.d.ts +51 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +21 -0
- package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +1 -1
- package/dist/_dts/sdk/src/client/types.d.ts +18 -2
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/bindings.d.ts +3 -7
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +13 -0
- package/dist/_dts/sdk/src/next/route-outcome-proxy.d.ts +3 -3
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +174 -78
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +52 -1
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +18 -66
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/{chunk-EL55VV6Q.mjs → chunk-6WDBXCPX.mjs} +31 -10
- package/dist/{chunk-XMATDBXO.mjs → chunk-DBRI3PQF.mjs} +731 -180
- package/dist/{chunk-VHIMXQ7Z.mjs → chunk-H24OU7WG.mjs} +2 -2
- package/dist/{chunk-4TLTV7OB.mjs → chunk-PKDPQHB5.mjs} +2 -2
- package/dist/{chunk-VTPPVAOL.mjs → chunk-QPXE2OUZ.mjs} +1 -1
- package/dist/{chunk-7ED5UNHL.mjs → chunk-V2BYFSPW.mjs} +109 -0
- package/dist/cli/index.mjs +2131 -1033
- package/dist/cli/init-docs/content/cli-reference.md +29 -1
- package/dist/cli/init-docs/content/getting-started.md +8 -0
- package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +3 -1
- package/dist/cli/init-docs/content/workflow-preview-mode.md +6 -0
- package/dist/cli/init-docs/content/workflow-remote-setup.md +51 -0
- package/dist/client/{accordion-GUNXIIZR.mjs → accordion-Q2BDNL53.mjs} +1 -1
- package/dist/client/{bookingForm-AOU4VHP5.mjs → bookingForm-ZMP4P7EK.mjs} +16 -6
- package/dist/client/bookings.mjs +98 -18
- package/dist/client/{carousel-4QSX2JPC.mjs → carousel-LW3UXPWO.mjs} +1 -1
- package/dist/client/{cart-JKN6C4ZB.mjs → cart-Z6D3KS6K.mjs} +5 -5
- package/dist/client/{checkout-YY6YMITW.mjs → checkout-YMT2QJQM.mjs} +5 -5
- package/dist/client/{chunk-6H27K6AA.mjs → chunk-26ZBRXFR.mjs} +9 -3
- package/dist/client/{chunk-VJROUYOQ.mjs → chunk-DRRQ7QSL.mjs} +2 -2
- package/dist/client/{chunk-BFCJZODD.mjs → chunk-ET2MDQQT.mjs} +4 -4
- package/dist/client/{chunk-H7A6PUGM.mjs → chunk-HBQEAOG4.mjs} +1 -1
- package/dist/client/{chunk-CPKMJVBD.mjs → chunk-IEOECM7U.mjs} +62 -43
- package/dist/client/{chunk-TNGL2WJF.mjs → chunk-KDP7ZRZV.mjs} +16 -0
- package/dist/client/{chunk-GWCRCJLB.mjs → chunk-R4XK3CKR.mjs} +12 -1
- package/dist/client/{chunk-A3YN7M3G.mjs → chunk-SK2BMD22.mjs} +2 -2
- package/dist/client/{chunk-SY543WZ3.mjs → chunk-XNTHVZ25.mjs} +1 -1
- package/dist/client/client.mjs +3729 -3054
- package/dist/client/{courseRegistration-UU2KMPSQ.mjs → courseRegistration-DGKCMC77.mjs} +4 -4
- package/dist/client/{eventCalendar-WIVNS2TM.mjs → eventCalendar-74Z2NNFM.mjs} +7 -7
- package/dist/client/{eventCombined-P3G5MW4J.mjs → eventCombined-GK2ODOX2.mjs} +7 -7
- package/dist/client/{eventDetails-2VHJ2RDG.mjs → eventDetails-MONAGT3N.mjs} +7 -7
- package/dist/client/{eventListing-TGO6JI3R.mjs → eventListing-SKGAO6PS.mjs} +7 -7
- package/dist/client/{eventRegistration-B46HEJES.mjs → eventRegistration-6KISGXRD.mjs} +7 -7
- package/dist/client/{form-VKRTFUNQ.mjs → form-FXPRTXHI.mjs} +2 -2
- package/dist/client/{headerSection-XUX4ZJLO.mjs → headerSection-7NAN5WNB.mjs} +2 -2
- package/dist/client/hooks.mjs +1661 -1334
- package/dist/client/{locationMap-NQFI5MJO.mjs → locationMap-UERN74U4.mjs} +2 -2
- package/dist/client/{newsletterForm-P2GETCQK.mjs → newsletterForm-SGWXMJ7U.mjs} +2 -2
- package/dist/client/{productDetail-7NQ7O5IF.mjs → productDetail-HN3HWZQZ.mjs} +5 -5
- package/dist/client/{productList-RX6ZJ7BL.mjs → productList-YT22Z5UR.mjs} +5 -5
- package/dist/client/rendering/client.mjs +2208 -1922
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +1497 -811
- package/dist/client/{shop-BHN5AKY6.mjs → shop-TKEDNWUS.mjs} +5 -5
- package/dist/preview-next/before-render.mjs +109 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +109 -0
- package/dist/{sdk-runtime-X2LXQ5IC.mjs → sdk-runtime-LWNYCQF2.mjs} +6 -6
- package/dist/server/components.mjs +2351 -1872
- package/dist/server/config-template-validation.mjs +6 -2
- package/dist/server/config-validation.mjs +1861 -1561
- package/dist/server/config.mjs +1861 -1561
- package/dist/server/data.mjs +1647 -1331
- package/dist/server/index.mjs +208 -9
- package/dist/server/next/middleware.mjs +2 -2
- package/dist/server/next.mjs +2572 -1878
- package/dist/server/page-converter.mjs +1461 -1276
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2372 -1875
- package/dist/server/rendering.mjs +2557 -1941
- package/dist/server/routing.mjs +1716 -1353
- package/dist/server/server.mjs +1911 -1380
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-MJUSYUFB.mjs +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/config/validation.ts
|
|
2
|
-
import { z as
|
|
2
|
+
import { z as z73 } from "zod";
|
|
3
3
|
|
|
4
4
|
// ../api/src/apiEndpointTypes.ts
|
|
5
5
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
@@ -1040,6 +1040,94 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1040
1040
|
responseKind: "json",
|
|
1041
1041
|
errors: ["resource:not_found", "server:internal_error"]
|
|
1042
1042
|
},
|
|
1043
|
+
listAppointmentReservations: {
|
|
1044
|
+
path: "/sites/{siteId}/bookings/appointment-reservations",
|
|
1045
|
+
method: "GET",
|
|
1046
|
+
auth: "user",
|
|
1047
|
+
responseKind: "json",
|
|
1048
|
+
errors: []
|
|
1049
|
+
},
|
|
1050
|
+
createAppointmentReservation: {
|
|
1051
|
+
path: "/sites/{siteId}/bookings/appointment-reservations",
|
|
1052
|
+
method: "POST",
|
|
1053
|
+
auth: "user",
|
|
1054
|
+
responseKind: "json",
|
|
1055
|
+
errors: [
|
|
1056
|
+
"validation:invalid_input",
|
|
1057
|
+
"resource:not_found",
|
|
1058
|
+
"resource:conflict",
|
|
1059
|
+
"server:internal_error"
|
|
1060
|
+
]
|
|
1061
|
+
},
|
|
1062
|
+
getAppointmentReservation: {
|
|
1063
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
|
|
1064
|
+
method: "GET",
|
|
1065
|
+
auth: "user",
|
|
1066
|
+
responseKind: "json",
|
|
1067
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
1068
|
+
},
|
|
1069
|
+
updateAppointmentReservation: {
|
|
1070
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
|
|
1071
|
+
method: "PUT",
|
|
1072
|
+
auth: "user",
|
|
1073
|
+
responseKind: "json",
|
|
1074
|
+
errors: [
|
|
1075
|
+
"validation:invalid_input",
|
|
1076
|
+
"resource:not_found",
|
|
1077
|
+
"resource:conflict",
|
|
1078
|
+
"server:internal_error"
|
|
1079
|
+
]
|
|
1080
|
+
},
|
|
1081
|
+
pauseAppointmentReservation: {
|
|
1082
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/pause",
|
|
1083
|
+
method: "POST",
|
|
1084
|
+
auth: "user",
|
|
1085
|
+
responseKind: "json",
|
|
1086
|
+
errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
|
|
1087
|
+
},
|
|
1088
|
+
resumeAppointmentReservation: {
|
|
1089
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/resume",
|
|
1090
|
+
method: "POST",
|
|
1091
|
+
auth: "user",
|
|
1092
|
+
responseKind: "json",
|
|
1093
|
+
errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
|
|
1094
|
+
},
|
|
1095
|
+
endAppointmentReservation: {
|
|
1096
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/end",
|
|
1097
|
+
method: "POST",
|
|
1098
|
+
auth: "user",
|
|
1099
|
+
responseKind: "json",
|
|
1100
|
+
errors: [
|
|
1101
|
+
"validation:invalid_input",
|
|
1102
|
+
"resource:not_found",
|
|
1103
|
+
"resource:conflict",
|
|
1104
|
+
"server:internal_error"
|
|
1105
|
+
]
|
|
1106
|
+
},
|
|
1107
|
+
previewAppointmentReservationRun: {
|
|
1108
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/run-preview",
|
|
1109
|
+
method: "POST",
|
|
1110
|
+
auth: "user",
|
|
1111
|
+
responseKind: "json",
|
|
1112
|
+
errors: [
|
|
1113
|
+
"validation:invalid_input",
|
|
1114
|
+
"resource:not_found",
|
|
1115
|
+
"resource:conflict",
|
|
1116
|
+
"server:internal_error"
|
|
1117
|
+
]
|
|
1118
|
+
},
|
|
1119
|
+
createAppointmentReservationRun: {
|
|
1120
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/runs",
|
|
1121
|
+
method: "POST",
|
|
1122
|
+
auth: "user",
|
|
1123
|
+
responseKind: "json",
|
|
1124
|
+
errors: [
|
|
1125
|
+
"validation:invalid_input",
|
|
1126
|
+
"resource:not_found",
|
|
1127
|
+
"resource:conflict",
|
|
1128
|
+
"server:internal_error"
|
|
1129
|
+
]
|
|
1130
|
+
},
|
|
1043
1131
|
createTeamMemberProfile: {
|
|
1044
1132
|
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
|
|
1045
1133
|
method: "POST",
|
|
@@ -3496,6 +3584,18 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3496
3584
|
responseKind: "json",
|
|
3497
3585
|
errors: ["validation:invalid_input", "server:internal_error"]
|
|
3498
3586
|
},
|
|
3587
|
+
resolveRouteDecision: {
|
|
3588
|
+
path: "/sites/{siteId}/route-decision",
|
|
3589
|
+
method: "GET",
|
|
3590
|
+
tags: [
|
|
3591
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
3592
|
+
TAG_TEMPLATES.siteRedirects,
|
|
3593
|
+
TAG_TEMPLATES.siteRouteOutcomes
|
|
3594
|
+
],
|
|
3595
|
+
auth: "public",
|
|
3596
|
+
responseKind: "json",
|
|
3597
|
+
errors: ["validation:invalid_input", "server:internal_error"]
|
|
3598
|
+
},
|
|
3499
3599
|
getPageByPath: {
|
|
3500
3600
|
path: "/sites/{siteId}/pages",
|
|
3501
3601
|
method: "GET",
|
|
@@ -3634,6 +3734,15 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3634
3734
|
auth: "public",
|
|
3635
3735
|
responseKind: "json"
|
|
3636
3736
|
},
|
|
3737
|
+
getPublicWeeklySlotAvailability: {
|
|
3738
|
+
path: "/public/bookings/weekly-slot-availability",
|
|
3739
|
+
method: "GET",
|
|
3740
|
+
revalidate: 60,
|
|
3741
|
+
tags: ["site-{siteId}"],
|
|
3742
|
+
auth: "public",
|
|
3743
|
+
responseKind: "json",
|
|
3744
|
+
errors: []
|
|
3745
|
+
},
|
|
3637
3746
|
createPublicBookingAppointment: {
|
|
3638
3747
|
path: "/public/bookings/appointments",
|
|
3639
3748
|
method: "POST",
|
|
@@ -6786,7 +6895,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
6786
6895
|
);
|
|
6787
6896
|
|
|
6788
6897
|
// ../api/src/sdkConfig/contracts.ts
|
|
6789
|
-
import { z as
|
|
6898
|
+
import { z as z64 } from "zod";
|
|
6790
6899
|
|
|
6791
6900
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
6792
6901
|
function augmentManifest(manifest) {
|
|
@@ -6955,10 +7064,20 @@ var repeatSchema = z3.object({
|
|
|
6955
7064
|
direction: z3.enum(["asc", "desc"]).default("asc")
|
|
6956
7065
|
}).optional()
|
|
6957
7066
|
});
|
|
7067
|
+
var conditionalAuthoringPresenceSchema = z3.discriminatedUnion("kind", [
|
|
7068
|
+
z3.object({ kind: z3.literal("visitor-only") }),
|
|
7069
|
+
z3.object({
|
|
7070
|
+
kind: z3.literal("recover-empty-when-active"),
|
|
7071
|
+
placeholder: z3.string().min(1).optional()
|
|
7072
|
+
})
|
|
7073
|
+
]);
|
|
6958
7074
|
var conditionSchema = z3.object({
|
|
6959
7075
|
when: bindingSchema,
|
|
6960
7076
|
equals: z3.unknown().optional(),
|
|
6961
|
-
not: z3.boolean().default(false)
|
|
7077
|
+
not: z3.boolean().default(false),
|
|
7078
|
+
authoringPresence: conditionalAuthoringPresenceSchema.default({
|
|
7079
|
+
kind: "visitor-only"
|
|
7080
|
+
})
|
|
6962
7081
|
});
|
|
6963
7082
|
var dataScopeSchema = z3.object({
|
|
6964
7083
|
name: z3.string().min(1),
|
|
@@ -7019,6 +7138,7 @@ var ALLOWED_NODE_TYPES = [
|
|
|
7019
7138
|
// Forms
|
|
7020
7139
|
"form",
|
|
7021
7140
|
"booking-form",
|
|
7141
|
+
"weekly-slot-availability",
|
|
7022
7142
|
// Events
|
|
7023
7143
|
"event-registration",
|
|
7024
7144
|
"event-spotlight",
|
|
@@ -18056,7 +18176,8 @@ function when(path, options) {
|
|
|
18056
18176
|
$when: {
|
|
18057
18177
|
when: { from: path },
|
|
18058
18178
|
...options?.equals !== void 0 ? { equals: options.equals } : {},
|
|
18059
|
-
...options?.not ? { not: true } : {}
|
|
18179
|
+
...options?.not ? { not: true } : {},
|
|
18180
|
+
...options?.authoringPresence ? { authoringPresence: options.authoringPresence } : {}
|
|
18060
18181
|
}
|
|
18061
18182
|
});
|
|
18062
18183
|
}
|
|
@@ -27883,77 +28004,247 @@ var appointmentBookingBlockDefinition = {
|
|
|
27883
28004
|
}
|
|
27884
28005
|
};
|
|
27885
28006
|
|
|
28007
|
+
// ../blocks/src/system/blocks/weekly-slot-availability.ts
|
|
28008
|
+
import { z as z39 } from "zod";
|
|
28009
|
+
var weeklySlotAvailabilityManifest = createBlockManifest({
|
|
28010
|
+
id: "block.weekly-slot-availability",
|
|
28011
|
+
version: "1.0.0",
|
|
28012
|
+
title: "Weekly Slot Availability",
|
|
28013
|
+
titleSource: "heading",
|
|
28014
|
+
description: "Shows available recurring appointment slot patterns",
|
|
28015
|
+
skipSectionStyles: true,
|
|
28016
|
+
additionalFields: [
|
|
28017
|
+
{
|
|
28018
|
+
id: "serviceId",
|
|
28019
|
+
type: "reference",
|
|
28020
|
+
label: "Appointment service",
|
|
28021
|
+
description: "Choose which appointment service to show availability for",
|
|
28022
|
+
required: true,
|
|
28023
|
+
referenceKind: "appointmentService",
|
|
28024
|
+
allowManualEntry: false,
|
|
28025
|
+
ui: { intent: "behavior" }
|
|
28026
|
+
},
|
|
28027
|
+
{
|
|
28028
|
+
id: "resourceId",
|
|
28029
|
+
type: "reference",
|
|
28030
|
+
label: "Appointment resource",
|
|
28031
|
+
description: "Optionally narrow the availability to one practitioner or room",
|
|
28032
|
+
required: false,
|
|
28033
|
+
referenceKind: "appointmentResource",
|
|
28034
|
+
allowManualEntry: false,
|
|
28035
|
+
ui: { intent: "behavior" }
|
|
28036
|
+
},
|
|
28037
|
+
{
|
|
28038
|
+
id: "horizonWeeks",
|
|
28039
|
+
type: "select",
|
|
28040
|
+
label: "Look ahead",
|
|
28041
|
+
required: false,
|
|
28042
|
+
multiple: false,
|
|
28043
|
+
defaultValue: "4",
|
|
28044
|
+
options: [
|
|
28045
|
+
{ value: "1", label: "1 week" },
|
|
28046
|
+
{ value: "2", label: "2 weeks" },
|
|
28047
|
+
{ value: "4", label: "4 weeks" }
|
|
28048
|
+
],
|
|
28049
|
+
ui: { intent: "behavior" }
|
|
28050
|
+
},
|
|
28051
|
+
{
|
|
28052
|
+
id: "timezone",
|
|
28053
|
+
type: "text",
|
|
28054
|
+
label: "Timezone",
|
|
28055
|
+
description: "Leave blank to use the visitor timezone when the block loads",
|
|
28056
|
+
required: false,
|
|
28057
|
+
multiline: false,
|
|
28058
|
+
defaultValue: "",
|
|
28059
|
+
maxLength: 64,
|
|
28060
|
+
ui: { intent: "behavior" }
|
|
28061
|
+
},
|
|
28062
|
+
{
|
|
28063
|
+
id: "heading",
|
|
28064
|
+
type: "text",
|
|
28065
|
+
label: "Heading",
|
|
28066
|
+
required: false,
|
|
28067
|
+
multiline: false,
|
|
28068
|
+
defaultValue: "Weekly availability"
|
|
28069
|
+
},
|
|
28070
|
+
{
|
|
28071
|
+
id: "description",
|
|
28072
|
+
type: "richText",
|
|
28073
|
+
label: "Description",
|
|
28074
|
+
required: false
|
|
28075
|
+
},
|
|
28076
|
+
{
|
|
28077
|
+
id: "emptyMessage",
|
|
28078
|
+
type: "text",
|
|
28079
|
+
label: "Empty message",
|
|
28080
|
+
required: false,
|
|
28081
|
+
multiline: true,
|
|
28082
|
+
defaultValue: "No regular weekly openings are currently available.",
|
|
28083
|
+
maxLength: 180
|
|
28084
|
+
},
|
|
28085
|
+
{
|
|
28086
|
+
id: "ctaText",
|
|
28087
|
+
type: "text",
|
|
28088
|
+
label: "Enquiry button text",
|
|
28089
|
+
required: false,
|
|
28090
|
+
multiline: false,
|
|
28091
|
+
defaultValue: "Enquire about this slot",
|
|
28092
|
+
maxLength: 60
|
|
28093
|
+
},
|
|
28094
|
+
{
|
|
28095
|
+
id: "ctaUrl",
|
|
28096
|
+
type: "url",
|
|
28097
|
+
label: "Enquiry URL",
|
|
28098
|
+
required: false,
|
|
28099
|
+
ui: { intent: "behavior" }
|
|
28100
|
+
},
|
|
28101
|
+
sectionStylesField({
|
|
28102
|
+
id: "_sectionStyles",
|
|
28103
|
+
label: "Section styles"
|
|
28104
|
+
})
|
|
28105
|
+
],
|
|
28106
|
+
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
28107
|
+
behaviours: {
|
|
28108
|
+
supportsThemeSwitching: true,
|
|
28109
|
+
inlineEditing: false,
|
|
28110
|
+
animation: false,
|
|
28111
|
+
paletteHidden: false
|
|
28112
|
+
},
|
|
28113
|
+
category: "interactive",
|
|
28114
|
+
tags: ["booking", "appointment", "calendar", "weekly", "availability"],
|
|
28115
|
+
icon: "CalendarDays",
|
|
28116
|
+
layout: [
|
|
28117
|
+
styledSection({
|
|
28118
|
+
children: sectionContainer([
|
|
28119
|
+
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
28120
|
+
richText({}, bind("content.description"), when("content.description")),
|
|
28121
|
+
el(
|
|
28122
|
+
"weekly-slot-availability",
|
|
28123
|
+
withApiBindings({
|
|
28124
|
+
serviceId: { $bind: { from: "content.serviceId" } },
|
|
28125
|
+
resourceId: { $bind: { from: "content.resourceId", fallback: null } },
|
|
28126
|
+
horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
|
|
28127
|
+
timezone: { $bind: { from: "content.timezone", fallback: null } },
|
|
28128
|
+
availability: { $bind: { from: "data.availability", fallback: null } },
|
|
28129
|
+
emptyMessage: { $bind: { from: "content.emptyMessage", fallback: null } },
|
|
28130
|
+
ctaText: { $bind: { from: "content.ctaText", fallback: null } },
|
|
28131
|
+
ctaUrl: { $bind: { from: "content.ctaUrl", fallback: null } }
|
|
28132
|
+
})
|
|
28133
|
+
)
|
|
28134
|
+
], {
|
|
28135
|
+
gap: "lg"
|
|
28136
|
+
}),
|
|
28137
|
+
baseClass: "",
|
|
28138
|
+
spacing: "spacious"
|
|
28139
|
+
})
|
|
28140
|
+
]
|
|
28141
|
+
});
|
|
28142
|
+
var weeklySlotAvailabilityOptionSchema = z39.object({
|
|
28143
|
+
id: z39.string(),
|
|
28144
|
+
resourceId: z39.string(),
|
|
28145
|
+
weekday: z39.number(),
|
|
28146
|
+
weekdayLabel: z39.string(),
|
|
28147
|
+
startTime: z39.string(),
|
|
28148
|
+
endTime: z39.string(),
|
|
28149
|
+
nextDate: z39.string(),
|
|
28150
|
+
availableWeeks: z39.number()
|
|
28151
|
+
});
|
|
28152
|
+
var weeklySlotAvailabilityDataSchema = z39.object({
|
|
28153
|
+
slots: z39.array(weeklySlotAvailabilityOptionSchema),
|
|
28154
|
+
horizonWeeks: z39.number(),
|
|
28155
|
+
timezone: z39.string(),
|
|
28156
|
+
startDate: z39.string(),
|
|
28157
|
+
endDate: z39.string()
|
|
28158
|
+
});
|
|
28159
|
+
var weeklySlotAvailabilityBlockDefinition = {
|
|
28160
|
+
manifest: weeklySlotAvailabilityManifest,
|
|
28161
|
+
dataSchemas: { availability: weeklySlotAvailabilityDataSchema.optional() },
|
|
28162
|
+
dataLoaders: {
|
|
28163
|
+
availability: {
|
|
28164
|
+
endpoint: "getPublicWeeklySlotAvailability",
|
|
28165
|
+
params: {
|
|
28166
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
28167
|
+
serviceId: { $bind: { from: "content.serviceId" } },
|
|
28168
|
+
resourceId: { $bind: { from: "content.resourceId", fallback: void 0 } },
|
|
28169
|
+
horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
|
|
28170
|
+
timezone: { $bind: { from: "content.timezone", fallback: void 0 } }
|
|
28171
|
+
},
|
|
28172
|
+
mode: "server"
|
|
28173
|
+
}
|
|
28174
|
+
}
|
|
28175
|
+
};
|
|
28176
|
+
|
|
27886
28177
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27887
|
-
import { z as
|
|
28178
|
+
import { z as z44 } from "zod";
|
|
27888
28179
|
|
|
27889
28180
|
// ../blocks/src/lib/media.ts
|
|
27890
|
-
import
|
|
28181
|
+
import z40 from "zod";
|
|
27891
28182
|
var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
|
|
27892
28183
|
"document",
|
|
27893
28184
|
"spreadsheet",
|
|
27894
28185
|
"archive",
|
|
27895
28186
|
"audio"
|
|
27896
28187
|
];
|
|
27897
|
-
var hotspotSchema2 =
|
|
27898
|
-
x:
|
|
27899
|
-
y:
|
|
27900
|
-
radius:
|
|
27901
|
-
});
|
|
27902
|
-
var rotationSchema2 =
|
|
27903
|
-
var rectSchema2 =
|
|
27904
|
-
var aspectCropSchema2 =
|
|
27905
|
-
aspect:
|
|
27906
|
-
rect:
|
|
27907
|
-
hotspot:
|
|
27908
|
-
rotation:
|
|
27909
|
-
});
|
|
27910
|
-
var transformSchema2 =
|
|
27911
|
-
aspectCrops:
|
|
28188
|
+
var hotspotSchema2 = z40.object({
|
|
28189
|
+
x: z40.number().min(0).max(1),
|
|
28190
|
+
y: z40.number().min(0).max(1),
|
|
28191
|
+
radius: z40.number().optional()
|
|
28192
|
+
});
|
|
28193
|
+
var rotationSchema2 = z40.union([z40.literal(0), z40.literal(90), z40.literal(180), z40.literal(270)]);
|
|
28194
|
+
var rectSchema2 = z40.tuple([z40.number(), z40.number(), z40.number(), z40.number()]);
|
|
28195
|
+
var aspectCropSchema2 = z40.object({
|
|
28196
|
+
aspect: z40.preprocess((value) => value == null ? void 0 : value, z40.string().optional()),
|
|
28197
|
+
rect: z40.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
|
|
28198
|
+
hotspot: z40.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
|
|
28199
|
+
rotation: z40.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
|
|
28200
|
+
});
|
|
28201
|
+
var transformSchema2 = z40.object({
|
|
28202
|
+
aspectCrops: z40.preprocess((value) => {
|
|
27912
28203
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
27913
28204
|
return void 0;
|
|
27914
28205
|
}
|
|
27915
28206
|
return value;
|
|
27916
|
-
},
|
|
28207
|
+
}, z40.record(z40.string(), aspectCropSchema2.catch({}))).optional(),
|
|
27917
28208
|
rect: rectSchema2.optional(),
|
|
27918
28209
|
hotspot: hotspotSchema2.optional(),
|
|
27919
28210
|
rotation: rotationSchema2.optional()
|
|
27920
28211
|
});
|
|
27921
|
-
var mediaPosterSchema =
|
|
27922
|
-
|
|
27923
|
-
tag:
|
|
27924
|
-
assetId:
|
|
27925
|
-
storageBucket:
|
|
27926
|
-
storagePath:
|
|
28212
|
+
var mediaPosterSchema = z40.discriminatedUnion("tag", [
|
|
28213
|
+
z40.object({
|
|
28214
|
+
tag: z40.literal("storage"),
|
|
28215
|
+
assetId: z40.string().optional(),
|
|
28216
|
+
storageBucket: z40.string().min(1),
|
|
28217
|
+
storagePath: z40.string().min(1)
|
|
27927
28218
|
}),
|
|
27928
|
-
|
|
27929
|
-
tag:
|
|
27930
|
-
assetId:
|
|
27931
|
-
src:
|
|
28219
|
+
z40.object({
|
|
28220
|
+
tag: z40.literal("external-src"),
|
|
28221
|
+
assetId: z40.string().optional(),
|
|
28222
|
+
src: z40.string().url()
|
|
27932
28223
|
})
|
|
27933
28224
|
]);
|
|
27934
|
-
var mediaBaseSchema =
|
|
27935
|
-
purpose:
|
|
27936
|
-
placeholder:
|
|
27937
|
-
assetId:
|
|
27938
|
-
identifier:
|
|
27939
|
-
src:
|
|
27940
|
-
alt:
|
|
27941
|
-
filename:
|
|
27942
|
-
mimeType:
|
|
27943
|
-
width:
|
|
27944
|
-
height:
|
|
27945
|
-
storageBucket:
|
|
27946
|
-
storagePath:
|
|
28225
|
+
var mediaBaseSchema = z40.object({
|
|
28226
|
+
purpose: z40.string().optional(),
|
|
28227
|
+
placeholder: z40.boolean().default(true).optional(),
|
|
28228
|
+
assetId: z40.string().optional(),
|
|
28229
|
+
identifier: z40.string().optional(),
|
|
28230
|
+
src: z40.string().optional(),
|
|
28231
|
+
alt: z40.string().optional(),
|
|
28232
|
+
filename: z40.string().optional(),
|
|
28233
|
+
mimeType: z40.string().optional(),
|
|
28234
|
+
width: z40.number().optional(),
|
|
28235
|
+
height: z40.number().optional(),
|
|
28236
|
+
storageBucket: z40.string().optional(),
|
|
28237
|
+
storagePath: z40.string().optional(),
|
|
27947
28238
|
poster: mediaPosterSchema.optional(),
|
|
27948
28239
|
transform: transformSchema2.optional()
|
|
27949
28240
|
});
|
|
27950
|
-
var imageMediaSchema = mediaBaseSchema.extend({ type:
|
|
27951
|
-
var videoMediaSchema = mediaBaseSchema.extend({ type:
|
|
27952
|
-
var audioMediaSchema = mediaBaseSchema.extend({ type:
|
|
27953
|
-
var documentMediaSchema = mediaBaseSchema.extend({ type:
|
|
27954
|
-
var spreadsheetMediaSchema = mediaBaseSchema.extend({ type:
|
|
27955
|
-
var archiveMediaSchema = mediaBaseSchema.extend({ type:
|
|
27956
|
-
var mediaSchema2 =
|
|
28241
|
+
var imageMediaSchema = mediaBaseSchema.extend({ type: z40.literal("image") });
|
|
28242
|
+
var videoMediaSchema = mediaBaseSchema.extend({ type: z40.literal("video") });
|
|
28243
|
+
var audioMediaSchema = mediaBaseSchema.extend({ type: z40.literal("audio") });
|
|
28244
|
+
var documentMediaSchema = mediaBaseSchema.extend({ type: z40.literal("document") });
|
|
28245
|
+
var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z40.literal("spreadsheet") });
|
|
28246
|
+
var archiveMediaSchema = mediaBaseSchema.extend({ type: z40.literal("archive") });
|
|
28247
|
+
var mediaSchema2 = z40.discriminatedUnion("type", [
|
|
27957
28248
|
imageMediaSchema,
|
|
27958
28249
|
videoMediaSchema,
|
|
27959
28250
|
audioMediaSchema,
|
|
@@ -27963,372 +28254,372 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
|
|
|
27963
28254
|
]);
|
|
27964
28255
|
|
|
27965
28256
|
// ../blocks/src/system/manifest/richTextSchema.ts
|
|
27966
|
-
import { z as
|
|
27967
|
-
var TipTapMarkSchema =
|
|
27968
|
-
type:
|
|
27969
|
-
attrs:
|
|
27970
|
-
});
|
|
27971
|
-
var TipTapNodeSchema =
|
|
27972
|
-
() =>
|
|
27973
|
-
type:
|
|
27974
|
-
content:
|
|
27975
|
-
text:
|
|
27976
|
-
attrs:
|
|
27977
|
-
marks:
|
|
28257
|
+
import { z as z41 } from "zod";
|
|
28258
|
+
var TipTapMarkSchema = z41.object({
|
|
28259
|
+
type: z41.string(),
|
|
28260
|
+
attrs: z41.record(z41.string(), z41.unknown()).optional()
|
|
28261
|
+
});
|
|
28262
|
+
var TipTapNodeSchema = z41.lazy(
|
|
28263
|
+
() => z41.object({
|
|
28264
|
+
type: z41.string(),
|
|
28265
|
+
content: z41.array(TipTapNodeSchema).optional(),
|
|
28266
|
+
text: z41.string().optional(),
|
|
28267
|
+
attrs: z41.record(z41.string(), z41.unknown()).optional(),
|
|
28268
|
+
marks: z41.array(TipTapMarkSchema).optional()
|
|
27978
28269
|
})
|
|
27979
28270
|
);
|
|
27980
|
-
var RichTextValueSchema =
|
|
28271
|
+
var RichTextValueSchema = z41.union([
|
|
27981
28272
|
// Canonical: TipTap document directly
|
|
27982
28273
|
TipTapNodeSchema,
|
|
27983
28274
|
// Legacy (read-tolerance only): wrapped in { doc: {...} }
|
|
27984
|
-
|
|
28275
|
+
z41.object({
|
|
27985
28276
|
doc: TipTapNodeSchema
|
|
27986
28277
|
})
|
|
27987
28278
|
]);
|
|
27988
|
-
var RichTextDocSchema =
|
|
27989
|
-
type:
|
|
27990
|
-
content:
|
|
28279
|
+
var RichTextDocSchema = z41.object({
|
|
28280
|
+
type: z41.literal("doc"),
|
|
28281
|
+
content: z41.array(TipTapNodeSchema)
|
|
27991
28282
|
});
|
|
27992
28283
|
|
|
27993
28284
|
// ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
27994
|
-
import { z as
|
|
27995
|
-
var bookingDepositRefundPolicySchema =
|
|
28285
|
+
import { z as z42 } from "zod";
|
|
28286
|
+
var bookingDepositRefundPolicySchema = z42.enum([
|
|
27996
28287
|
"refundable",
|
|
27997
28288
|
"non_refundable"
|
|
27998
28289
|
]);
|
|
27999
|
-
var bookingInstalmentPlanSchema =
|
|
28000
|
-
|
|
28001
|
-
kind:
|
|
28002
|
-
depositAmountCents:
|
|
28290
|
+
var bookingInstalmentPlanSchema = z42.union([
|
|
28291
|
+
z42.object({
|
|
28292
|
+
kind: z42.literal("deposit_plus_one_remainder"),
|
|
28293
|
+
depositAmountCents: z42.number().int().min(0),
|
|
28003
28294
|
depositRefundability: bookingDepositRefundPolicySchema,
|
|
28004
|
-
remainderDueCount:
|
|
28005
|
-
intervalUnit:
|
|
28295
|
+
remainderDueCount: z42.number().int().positive(),
|
|
28296
|
+
intervalUnit: z42.enum(["day", "week", "month"])
|
|
28006
28297
|
}),
|
|
28007
|
-
|
|
28008
|
-
kind:
|
|
28009
|
-
depositAmountCents:
|
|
28298
|
+
z42.object({
|
|
28299
|
+
kind: z42.literal("deposit_plus_scheduled_instalments"),
|
|
28300
|
+
depositAmountCents: z42.number().int().min(0),
|
|
28010
28301
|
depositRefundability: bookingDepositRefundPolicySchema,
|
|
28011
|
-
instalmentCount:
|
|
28012
|
-
intervalCount:
|
|
28013
|
-
intervalUnit:
|
|
28302
|
+
instalmentCount: z42.number().int().positive(),
|
|
28303
|
+
intervalCount: z42.number().int().positive(),
|
|
28304
|
+
intervalUnit: z42.enum(["day", "week", "month"])
|
|
28014
28305
|
}),
|
|
28015
|
-
|
|
28016
|
-
kind:
|
|
28017
|
-
instalmentCount:
|
|
28018
|
-
intervalCount:
|
|
28019
|
-
intervalUnit:
|
|
28306
|
+
z42.object({
|
|
28307
|
+
kind: z42.literal("equal_scheduled_instalments"),
|
|
28308
|
+
instalmentCount: z42.number().int().positive(),
|
|
28309
|
+
intervalCount: z42.number().int().positive(),
|
|
28310
|
+
intervalUnit: z42.enum(["day", "week", "month"])
|
|
28020
28311
|
})
|
|
28021
28312
|
]);
|
|
28022
|
-
var bookingFlexibleBalanceDueDateRuleSchema =
|
|
28023
|
-
|
|
28024
|
-
kind:
|
|
28025
|
-
daysBeforeStart:
|
|
28313
|
+
var bookingFlexibleBalanceDueDateRuleSchema = z42.union([
|
|
28314
|
+
z42.object({
|
|
28315
|
+
kind: z42.literal("relative_to_start_date"),
|
|
28316
|
+
daysBeforeStart: z42.number().int().positive()
|
|
28026
28317
|
}),
|
|
28027
|
-
|
|
28028
|
-
kind:
|
|
28029
|
-
dueAt:
|
|
28318
|
+
z42.object({
|
|
28319
|
+
kind: z42.literal("fixed_calendar_date"),
|
|
28320
|
+
dueAt: z42.string().datetime()
|
|
28030
28321
|
})
|
|
28031
28322
|
]);
|
|
28032
|
-
var bookingFlexibleBalanceConfigSchema =
|
|
28033
|
-
upfrontAmountCents:
|
|
28323
|
+
var bookingFlexibleBalanceConfigSchema = z42.object({
|
|
28324
|
+
upfrontAmountCents: z42.number().int().min(0),
|
|
28034
28325
|
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
28035
28326
|
depositRefundability: bookingDepositRefundPolicySchema
|
|
28036
28327
|
});
|
|
28037
|
-
var blockBookingPaymentCollectionOptionSchema =
|
|
28038
|
-
|
|
28039
|
-
kind:
|
|
28328
|
+
var blockBookingPaymentCollectionOptionSchema = z42.union([
|
|
28329
|
+
z42.object({
|
|
28330
|
+
kind: z42.literal("upfront")
|
|
28040
28331
|
}),
|
|
28041
|
-
|
|
28042
|
-
kind:
|
|
28332
|
+
z42.object({
|
|
28333
|
+
kind: z42.literal("deferred_manual")
|
|
28043
28334
|
}),
|
|
28044
|
-
|
|
28045
|
-
kind:
|
|
28335
|
+
z42.object({
|
|
28336
|
+
kind: z42.literal("instalment_plan"),
|
|
28046
28337
|
plan: bookingInstalmentPlanSchema
|
|
28047
28338
|
}),
|
|
28048
|
-
|
|
28049
|
-
kind:
|
|
28339
|
+
z42.object({
|
|
28340
|
+
kind: z42.literal("flexible_balance"),
|
|
28050
28341
|
config: bookingFlexibleBalanceConfigSchema
|
|
28051
28342
|
})
|
|
28052
28343
|
]);
|
|
28053
|
-
var blockBookingPaymentTermsSchema =
|
|
28054
|
-
allowedOptions:
|
|
28344
|
+
var blockBookingPaymentTermsSchema = z42.object({
|
|
28345
|
+
allowedOptions: z42.array(blockBookingPaymentCollectionOptionSchema).min(1)
|
|
28055
28346
|
});
|
|
28056
28347
|
|
|
28057
28348
|
// ../blocks/src/system/blocks/courses/shared/schemas.ts
|
|
28058
|
-
import { z as
|
|
28059
|
-
var courseVenueSchema =
|
|
28060
|
-
id:
|
|
28061
|
-
name:
|
|
28062
|
-
address:
|
|
28063
|
-
});
|
|
28064
|
-
var courseSessionSchema =
|
|
28065
|
-
id:
|
|
28066
|
-
startsAt:
|
|
28067
|
-
endsAt:
|
|
28068
|
-
timeZone:
|
|
28069
|
-
capacityOverride:
|
|
28070
|
-
overrides:
|
|
28071
|
-
});
|
|
28072
|
-
var courseTeamMemberSummarySchema =
|
|
28073
|
-
id:
|
|
28074
|
-
name:
|
|
28075
|
-
roleLabel:
|
|
28076
|
-
summary:
|
|
28077
|
-
profilePath:
|
|
28078
|
-
});
|
|
28079
|
-
var coursePricingOptionSchema =
|
|
28080
|
-
id:
|
|
28081
|
-
name:
|
|
28082
|
-
description:
|
|
28083
|
-
priceAmount:
|
|
28084
|
-
isActive:
|
|
28085
|
-
sortOrder:
|
|
28086
|
-
capacityLimit:
|
|
28087
|
-
saleStartsAt:
|
|
28088
|
-
saleEndsAt:
|
|
28089
|
-
attendanceScope:
|
|
28090
|
-
});
|
|
28091
|
-
var coursePricingSchema =
|
|
28092
|
-
bookingRequirement:
|
|
28093
|
-
pricingStrategy:
|
|
28094
|
-
currency:
|
|
28095
|
-
singlePriceAmount:
|
|
28096
|
-
slidingMinAmount:
|
|
28097
|
-
slidingMaxAmount:
|
|
28098
|
-
slidingSuggestedAmount:
|
|
28349
|
+
import { z as z43 } from "zod";
|
|
28350
|
+
var courseVenueSchema = z43.object({
|
|
28351
|
+
id: z43.string(),
|
|
28352
|
+
name: z43.string(),
|
|
28353
|
+
address: z43.string().nullable()
|
|
28354
|
+
});
|
|
28355
|
+
var courseSessionSchema = z43.object({
|
|
28356
|
+
id: z43.string(),
|
|
28357
|
+
startsAt: z43.string(),
|
|
28358
|
+
endsAt: z43.string(),
|
|
28359
|
+
timeZone: z43.string(),
|
|
28360
|
+
capacityOverride: z43.number().nullable().optional(),
|
|
28361
|
+
overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
|
|
28362
|
+
});
|
|
28363
|
+
var courseTeamMemberSummarySchema = z43.object({
|
|
28364
|
+
id: z43.string(),
|
|
28365
|
+
name: z43.string(),
|
|
28366
|
+
roleLabel: z43.string().nullable(),
|
|
28367
|
+
summary: z43.string().nullable(),
|
|
28368
|
+
profilePath: z43.string().nullable()
|
|
28369
|
+
});
|
|
28370
|
+
var coursePricingOptionSchema = z43.object({
|
|
28371
|
+
id: z43.string(),
|
|
28372
|
+
name: z43.string(),
|
|
28373
|
+
description: z43.string().nullable(),
|
|
28374
|
+
priceAmount: z43.number(),
|
|
28375
|
+
isActive: z43.boolean(),
|
|
28376
|
+
sortOrder: z43.number(),
|
|
28377
|
+
capacityLimit: z43.number().nullable(),
|
|
28378
|
+
saleStartsAt: z43.string().nullable(),
|
|
28379
|
+
saleEndsAt: z43.string().nullable(),
|
|
28380
|
+
attendanceScope: z43.enum(["in_person", "online", "both"]).nullable().optional()
|
|
28381
|
+
});
|
|
28382
|
+
var coursePricingSchema = z43.object({
|
|
28383
|
+
bookingRequirement: z43.enum(["none", "required"]),
|
|
28384
|
+
pricingStrategy: z43.enum(["free", "single", "tiered", "sliding_scale"]),
|
|
28385
|
+
currency: z43.string(),
|
|
28386
|
+
singlePriceAmount: z43.number().nullable(),
|
|
28387
|
+
slidingMinAmount: z43.number().nullable().optional(),
|
|
28388
|
+
slidingMaxAmount: z43.number().nullable().optional(),
|
|
28389
|
+
slidingSuggestedAmount: z43.number().nullable().optional(),
|
|
28099
28390
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28100
|
-
options:
|
|
28101
|
-
});
|
|
28102
|
-
var publicCourseSchema =
|
|
28103
|
-
id:
|
|
28104
|
-
title:
|
|
28105
|
-
slug:
|
|
28106
|
-
description:
|
|
28107
|
-
teamMembers:
|
|
28108
|
-
enrollmentOpen:
|
|
28391
|
+
options: z43.array(coursePricingOptionSchema)
|
|
28392
|
+
});
|
|
28393
|
+
var publicCourseSchema = z43.object({
|
|
28394
|
+
id: z43.string(),
|
|
28395
|
+
title: z43.string(),
|
|
28396
|
+
slug: z43.string(),
|
|
28397
|
+
description: z43.unknown().nullable(),
|
|
28398
|
+
teamMembers: z43.array(courseTeamMemberSummarySchema).optional(),
|
|
28399
|
+
enrollmentOpen: z43.boolean(),
|
|
28109
28400
|
pricing: coursePricingSchema.optional(),
|
|
28110
|
-
priceCents:
|
|
28111
|
-
currency:
|
|
28401
|
+
priceCents: z43.number().nullable(),
|
|
28402
|
+
currency: z43.string(),
|
|
28112
28403
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28113
|
-
enrollmentCapacity:
|
|
28114
|
-
acceptsMemberships:
|
|
28115
|
-
status:
|
|
28116
|
-
sessionsCount:
|
|
28117
|
-
enrolledCount:
|
|
28118
|
-
availableSpots:
|
|
28119
|
-
sessions:
|
|
28404
|
+
enrollmentCapacity: z43.number().nullable(),
|
|
28405
|
+
acceptsMemberships: z43.boolean(),
|
|
28406
|
+
status: z43.enum(["active", "draft", "cancelled"]),
|
|
28407
|
+
sessionsCount: z43.number(),
|
|
28408
|
+
enrolledCount: z43.number(),
|
|
28409
|
+
availableSpots: z43.number().nullable(),
|
|
28410
|
+
sessions: z43.array(courseSessionSchema),
|
|
28120
28411
|
venue: courseVenueSchema.nullable(),
|
|
28121
|
-
contentEntryId:
|
|
28412
|
+
contentEntryId: z43.string().nullable()
|
|
28122
28413
|
});
|
|
28123
|
-
var publicCoursesArraySchema =
|
|
28414
|
+
var publicCoursesArraySchema = z43.array(publicCourseSchema);
|
|
28124
28415
|
|
|
28125
28416
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
28126
|
-
var eventPresetSchema =
|
|
28127
|
-
var eventScheduleScopeSchema =
|
|
28128
|
-
var eventDestinationModeSchema =
|
|
28129
|
-
var publicEventDestinationSchema =
|
|
28130
|
-
|
|
28131
|
-
kind:
|
|
28417
|
+
var eventPresetSchema = z44.enum(["event", "class", "workshop", "retreat", "performance"]);
|
|
28418
|
+
var eventScheduleScopeSchema = z44.enum(["recurring", "oneOff"]);
|
|
28419
|
+
var eventDestinationModeSchema = z44.enum(["cms-managed", "system-managed"]);
|
|
28420
|
+
var publicEventDestinationSchema = z44.discriminatedUnion("kind", [
|
|
28421
|
+
z44.object({
|
|
28422
|
+
kind: z44.literal("native"),
|
|
28132
28423
|
mode: eventDestinationModeSchema,
|
|
28133
|
-
path:
|
|
28424
|
+
path: z44.string()
|
|
28134
28425
|
}),
|
|
28135
|
-
|
|
28136
|
-
kind:
|
|
28137
|
-
url:
|
|
28138
|
-
label:
|
|
28426
|
+
z44.object({
|
|
28427
|
+
kind: z44.literal("external"),
|
|
28428
|
+
url: z44.string(),
|
|
28429
|
+
label: z44.string()
|
|
28139
28430
|
})
|
|
28140
28431
|
]);
|
|
28141
|
-
var eventVenueSchema =
|
|
28142
|
-
id:
|
|
28143
|
-
name:
|
|
28144
|
-
address:
|
|
28145
|
-
location:
|
|
28146
|
-
lat:
|
|
28147
|
-
lng:
|
|
28432
|
+
var eventVenueSchema = z44.object({
|
|
28433
|
+
id: z44.string(),
|
|
28434
|
+
name: z44.string(),
|
|
28435
|
+
address: z44.string().nullable(),
|
|
28436
|
+
location: z44.object({
|
|
28437
|
+
lat: z44.number(),
|
|
28438
|
+
lng: z44.number()
|
|
28148
28439
|
}).nullable()
|
|
28149
28440
|
});
|
|
28150
|
-
var eventCategorySchema =
|
|
28151
|
-
id:
|
|
28152
|
-
name:
|
|
28153
|
-
color:
|
|
28154
|
-
});
|
|
28155
|
-
var pricingTypeSchema =
|
|
28156
|
-
var accessRestrictionSchema =
|
|
28157
|
-
var eventPricingModeSchema =
|
|
28158
|
-
var publicCoursePriceDisplaySchema =
|
|
28159
|
-
|
|
28160
|
-
|
|
28161
|
-
|
|
28162
|
-
|
|
28441
|
+
var eventCategorySchema = z44.object({
|
|
28442
|
+
id: z44.string(),
|
|
28443
|
+
name: z44.string(),
|
|
28444
|
+
color: z44.string().nullable()
|
|
28445
|
+
});
|
|
28446
|
+
var pricingTypeSchema = z44.enum(["free", "paid", "external"]);
|
|
28447
|
+
var accessRestrictionSchema = z44.enum(["none", "category"]);
|
|
28448
|
+
var eventPricingModeSchema = z44.enum(["single", "ticket_types"]);
|
|
28449
|
+
var publicCoursePriceDisplaySchema = z44.discriminatedUnion("kind", [
|
|
28450
|
+
z44.object({ kind: z44.literal("free"), currency: z44.string() }),
|
|
28451
|
+
z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
|
|
28452
|
+
z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
|
|
28453
|
+
z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
|
|
28163
28454
|
]);
|
|
28164
|
-
var publicEventPriceDisplaySchema =
|
|
28165
|
-
|
|
28166
|
-
|
|
28167
|
-
|
|
28168
|
-
|
|
28169
|
-
|
|
28170
|
-
kind:
|
|
28171
|
-
paidFromAmount:
|
|
28172
|
-
paidToAmount:
|
|
28173
|
-
currency:
|
|
28455
|
+
var publicEventPriceDisplaySchema = z44.discriminatedUnion("kind", [
|
|
28456
|
+
z44.object({ kind: z44.literal("free"), currency: z44.string() }),
|
|
28457
|
+
z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
|
|
28458
|
+
z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
|
|
28459
|
+
z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
|
|
28460
|
+
z44.object({
|
|
28461
|
+
kind: z44.literal("mixed"),
|
|
28462
|
+
paidFromAmount: z44.number(),
|
|
28463
|
+
paidToAmount: z44.number(),
|
|
28464
|
+
currency: z44.string()
|
|
28174
28465
|
}),
|
|
28175
|
-
|
|
28176
|
-
|
|
28177
|
-
|
|
28466
|
+
z44.object({ kind: z44.literal("unavailable"), currency: z44.string() }),
|
|
28467
|
+
z44.object({ kind: z44.literal("external"), label: z44.string() }),
|
|
28468
|
+
z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28178
28469
|
]);
|
|
28179
|
-
var publicEventTicketTypePriceDisplaySchema =
|
|
28180
|
-
|
|
28181
|
-
|
|
28182
|
-
|
|
28183
|
-
|
|
28184
|
-
|
|
28185
|
-
kind:
|
|
28186
|
-
paidFromAmount:
|
|
28187
|
-
paidToAmount:
|
|
28188
|
-
currency:
|
|
28470
|
+
var publicEventTicketTypePriceDisplaySchema = z44.union([
|
|
28471
|
+
z44.object({ kind: z44.literal("free"), currency: z44.string() }),
|
|
28472
|
+
z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
|
|
28473
|
+
z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
|
|
28474
|
+
z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
|
|
28475
|
+
z44.object({
|
|
28476
|
+
kind: z44.literal("mixed"),
|
|
28477
|
+
paidFromAmount: z44.number(),
|
|
28478
|
+
paidToAmount: z44.number(),
|
|
28479
|
+
currency: z44.string()
|
|
28189
28480
|
}),
|
|
28190
|
-
|
|
28481
|
+
z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
|
|
28191
28482
|
]);
|
|
28192
|
-
var publicEventAttendanceModeSchema =
|
|
28193
|
-
var publicEventAttendanceModeAvailabilitySchema =
|
|
28483
|
+
var publicEventAttendanceModeSchema = z44.enum(["in_person", "online"]);
|
|
28484
|
+
var publicEventAttendanceModeAvailabilitySchema = z44.object({
|
|
28194
28485
|
mode: publicEventAttendanceModeSchema,
|
|
28195
|
-
capacity:
|
|
28196
|
-
registeredCount:
|
|
28197
|
-
availableSpots:
|
|
28198
|
-
waitlistEnabled:
|
|
28199
|
-
});
|
|
28200
|
-
var publicEventTicketTypeAvailabilitySchema =
|
|
28201
|
-
|
|
28202
|
-
kind:
|
|
28203
|
-
remainingCapacity:
|
|
28486
|
+
capacity: z44.number().nullable(),
|
|
28487
|
+
registeredCount: z44.number(),
|
|
28488
|
+
availableSpots: z44.number().nullable(),
|
|
28489
|
+
waitlistEnabled: z44.boolean()
|
|
28490
|
+
});
|
|
28491
|
+
var publicEventTicketTypeAvailabilitySchema = z44.union([
|
|
28492
|
+
z44.object({
|
|
28493
|
+
kind: z44.literal("available"),
|
|
28494
|
+
remainingCapacity: z44.number().nullable()
|
|
28204
28495
|
}),
|
|
28205
|
-
|
|
28206
|
-
kind:
|
|
28207
|
-
reason:
|
|
28208
|
-
remainingCapacity:
|
|
28496
|
+
z44.object({
|
|
28497
|
+
kind: z44.literal("unavailable"),
|
|
28498
|
+
reason: z44.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
|
|
28499
|
+
remainingCapacity: z44.number().nullable()
|
|
28209
28500
|
})
|
|
28210
28501
|
]);
|
|
28211
|
-
var publicEventTicketTypeSchema =
|
|
28212
|
-
id:
|
|
28213
|
-
siteId:
|
|
28214
|
-
eventSeriesId:
|
|
28215
|
-
name:
|
|
28216
|
-
description:
|
|
28217
|
-
priceAmount:
|
|
28218
|
-
isActive:
|
|
28219
|
-
sortOrder:
|
|
28220
|
-
capacityMode:
|
|
28221
|
-
capacityLimit:
|
|
28222
|
-
attendanceScope:
|
|
28223
|
-
saleStartsAt:
|
|
28224
|
-
saleEndsAt:
|
|
28502
|
+
var publicEventTicketTypeSchema = z44.object({
|
|
28503
|
+
id: z44.string(),
|
|
28504
|
+
siteId: z44.string(),
|
|
28505
|
+
eventSeriesId: z44.string(),
|
|
28506
|
+
name: z44.string(),
|
|
28507
|
+
description: z44.string().nullable(),
|
|
28508
|
+
priceAmount: z44.number(),
|
|
28509
|
+
isActive: z44.boolean(),
|
|
28510
|
+
sortOrder: z44.number(),
|
|
28511
|
+
capacityMode: z44.enum(["limited", "unlimited"]),
|
|
28512
|
+
capacityLimit: z44.number().nullable(),
|
|
28513
|
+
attendanceScope: z44.enum(["in_person", "online", "both"]).optional(),
|
|
28514
|
+
saleStartsAt: z44.string().nullable(),
|
|
28515
|
+
saleEndsAt: z44.string().nullable(),
|
|
28225
28516
|
availability: publicEventTicketTypeAvailabilitySchema,
|
|
28226
|
-
createdAt:
|
|
28227
|
-
updatedAt:
|
|
28228
|
-
});
|
|
28229
|
-
var publicEventPricingSchema =
|
|
28230
|
-
|
|
28231
|
-
kind:
|
|
28232
|
-
currency:
|
|
28233
|
-
display:
|
|
28517
|
+
createdAt: z44.string(),
|
|
28518
|
+
updatedAt: z44.string()
|
|
28519
|
+
});
|
|
28520
|
+
var publicEventPricingSchema = z44.discriminatedUnion("kind", [
|
|
28521
|
+
z44.object({
|
|
28522
|
+
kind: z44.literal("drop_in"),
|
|
28523
|
+
currency: z44.string(),
|
|
28524
|
+
display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
|
|
28234
28525
|
}),
|
|
28235
|
-
|
|
28236
|
-
kind:
|
|
28237
|
-
currency:
|
|
28238
|
-
display:
|
|
28526
|
+
z44.object({
|
|
28527
|
+
kind: z44.literal("free_registration"),
|
|
28528
|
+
currency: z44.string(),
|
|
28529
|
+
display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
|
|
28239
28530
|
}),
|
|
28240
|
-
|
|
28241
|
-
kind:
|
|
28242
|
-
amount:
|
|
28243
|
-
currency:
|
|
28244
|
-
display:
|
|
28531
|
+
z44.object({
|
|
28532
|
+
kind: z44.literal("single_paid"),
|
|
28533
|
+
amount: z44.number(),
|
|
28534
|
+
currency: z44.string(),
|
|
28535
|
+
display: z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() })
|
|
28245
28536
|
}),
|
|
28246
|
-
|
|
28247
|
-
kind:
|
|
28248
|
-
currency:
|
|
28249
|
-
ticketTypes:
|
|
28537
|
+
z44.object({
|
|
28538
|
+
kind: z44.literal("ticket_types"),
|
|
28539
|
+
currency: z44.string(),
|
|
28540
|
+
ticketTypes: z44.array(publicEventTicketTypeSchema),
|
|
28250
28541
|
display: publicEventTicketTypePriceDisplaySchema
|
|
28251
28542
|
}),
|
|
28252
|
-
|
|
28253
|
-
kind:
|
|
28254
|
-
minAmount:
|
|
28255
|
-
maxAmount:
|
|
28256
|
-
suggestedAmount:
|
|
28257
|
-
currency:
|
|
28258
|
-
display:
|
|
28259
|
-
kind:
|
|
28260
|
-
minAmount:
|
|
28261
|
-
maxAmount:
|
|
28262
|
-
currency:
|
|
28543
|
+
z44.object({
|
|
28544
|
+
kind: z44.literal("sliding_scale"),
|
|
28545
|
+
minAmount: z44.number(),
|
|
28546
|
+
maxAmount: z44.number(),
|
|
28547
|
+
suggestedAmount: z44.number().nullable(),
|
|
28548
|
+
currency: z44.string(),
|
|
28549
|
+
display: z44.object({
|
|
28550
|
+
kind: z44.literal("range"),
|
|
28551
|
+
minAmount: z44.number(),
|
|
28552
|
+
maxAmount: z44.number(),
|
|
28553
|
+
currency: z44.string()
|
|
28263
28554
|
})
|
|
28264
28555
|
}),
|
|
28265
|
-
|
|
28266
|
-
kind:
|
|
28267
|
-
display:
|
|
28556
|
+
z44.object({
|
|
28557
|
+
kind: z44.literal("course"),
|
|
28558
|
+
display: z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28268
28559
|
}),
|
|
28269
|
-
|
|
28270
|
-
kind:
|
|
28271
|
-
display:
|
|
28560
|
+
z44.object({
|
|
28561
|
+
kind: z44.literal("external"),
|
|
28562
|
+
display: z44.object({ kind: z44.literal("external"), label: z44.string() })
|
|
28272
28563
|
})
|
|
28273
28564
|
]);
|
|
28274
|
-
var publicTeamMemberSummarySchema =
|
|
28275
|
-
id:
|
|
28276
|
-
name:
|
|
28277
|
-
roleLabel:
|
|
28278
|
-
summary:
|
|
28279
|
-
profilePath:
|
|
28565
|
+
var publicTeamMemberSummarySchema = z44.object({
|
|
28566
|
+
id: z44.string(),
|
|
28567
|
+
name: z44.string(),
|
|
28568
|
+
roleLabel: z44.string().nullable(),
|
|
28569
|
+
summary: z44.string().nullable(),
|
|
28570
|
+
profilePath: z44.string().nullable()
|
|
28280
28571
|
});
|
|
28281
|
-
var publicEventSchema =
|
|
28282
|
-
kind:
|
|
28572
|
+
var publicEventSchema = z44.object({
|
|
28573
|
+
kind: z44.enum(["event", "course_session"]).optional(),
|
|
28283
28574
|
eventPreset: eventPresetSchema.optional(),
|
|
28284
28575
|
eventDestinationMode: eventDestinationModeSchema.optional(),
|
|
28285
28576
|
scheduleScope: eventScheduleScopeSchema.optional(),
|
|
28286
|
-
id:
|
|
28287
|
-
occurrenceId:
|
|
28288
|
-
seriesId:
|
|
28289
|
-
title:
|
|
28290
|
-
description:
|
|
28291
|
-
content:
|
|
28577
|
+
id: z44.string(),
|
|
28578
|
+
occurrenceId: z44.string(),
|
|
28579
|
+
seriesId: z44.string(),
|
|
28580
|
+
title: z44.string(),
|
|
28581
|
+
description: z44.string().nullable(),
|
|
28582
|
+
content: z44.object({
|
|
28292
28583
|
body: RichTextDocSchema.nullable().optional()
|
|
28293
28584
|
}).optional(),
|
|
28294
|
-
presentation:
|
|
28295
|
-
cardTitleOverride:
|
|
28296
|
-
summary:
|
|
28585
|
+
presentation: z44.object({
|
|
28586
|
+
cardTitleOverride: z44.string().nullable().optional(),
|
|
28587
|
+
summary: z44.string().nullable().optional(),
|
|
28297
28588
|
image: mediaSchema2.nullable().optional()
|
|
28298
28589
|
}).optional(),
|
|
28299
|
-
slug:
|
|
28300
|
-
path:
|
|
28590
|
+
slug: z44.string(),
|
|
28591
|
+
path: z44.string().nullable(),
|
|
28301
28592
|
destination: publicEventDestinationSchema,
|
|
28302
|
-
requiresRegistration:
|
|
28303
|
-
deliveryMode:
|
|
28304
|
-
attendanceModes:
|
|
28305
|
-
startsAt:
|
|
28306
|
-
endsAt:
|
|
28307
|
-
capacity:
|
|
28308
|
-
registeredCount:
|
|
28309
|
-
availableSpots:
|
|
28310
|
-
waitlistEnabled:
|
|
28593
|
+
requiresRegistration: z44.boolean(),
|
|
28594
|
+
deliveryMode: z44.enum(["in_person", "online", "hybrid"]),
|
|
28595
|
+
attendanceModes: z44.array(publicEventAttendanceModeAvailabilitySchema),
|
|
28596
|
+
startsAt: z44.string(),
|
|
28597
|
+
endsAt: z44.string(),
|
|
28598
|
+
capacity: z44.number().nullable(),
|
|
28599
|
+
registeredCount: z44.number(),
|
|
28600
|
+
availableSpots: z44.number().nullable(),
|
|
28601
|
+
waitlistEnabled: z44.boolean(),
|
|
28311
28602
|
venue: eventVenueSchema.nullable(),
|
|
28312
28603
|
eventCategory: eventCategorySchema.nullable(),
|
|
28313
|
-
teamMembers:
|
|
28314
|
-
status:
|
|
28315
|
-
timeZone:
|
|
28604
|
+
teamMembers: z44.array(publicTeamMemberSummarySchema).optional(),
|
|
28605
|
+
status: z44.enum(["active", "draft", "archived"]).optional(),
|
|
28606
|
+
timeZone: z44.string(),
|
|
28316
28607
|
pricing: publicEventPricingSchema,
|
|
28317
28608
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28318
28609
|
accessRestriction: accessRestrictionSchema,
|
|
28319
|
-
allowedCategoryIds:
|
|
28320
|
-
requireGuestDetails:
|
|
28321
|
-
acceptsPasses:
|
|
28322
|
-
acceptsMemberships:
|
|
28323
|
-
course:
|
|
28324
|
-
id:
|
|
28610
|
+
allowedCategoryIds: z44.array(z44.string()),
|
|
28611
|
+
requireGuestDetails: z44.boolean().optional(),
|
|
28612
|
+
acceptsPasses: z44.boolean().optional(),
|
|
28613
|
+
acceptsMemberships: z44.boolean().optional(),
|
|
28614
|
+
course: z44.object({
|
|
28615
|
+
id: z44.string(),
|
|
28325
28616
|
pricing: coursePricingSchema.optional(),
|
|
28326
|
-
priceCents:
|
|
28327
|
-
currency:
|
|
28328
|
-
enrollmentOpen:
|
|
28617
|
+
priceCents: z44.number().nullable(),
|
|
28618
|
+
currency: z44.string(),
|
|
28619
|
+
enrollmentOpen: z44.boolean()
|
|
28329
28620
|
}).nullable().optional()
|
|
28330
28621
|
});
|
|
28331
|
-
var publicEventsArraySchema =
|
|
28622
|
+
var publicEventsArraySchema = z44.array(publicEventSchema);
|
|
28332
28623
|
|
|
28333
28624
|
// ../blocks/src/system/blocks/events/shared/fields.ts
|
|
28334
28625
|
var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
|
|
@@ -28531,52 +28822,80 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28531
28822
|
return trimmed ? trimmed : null;
|
|
28532
28823
|
}
|
|
28533
28824
|
|
|
28825
|
+
// ../blocks/src/system/blocks/events/shared/layout.ts
|
|
28826
|
+
var recoverEmptyHeadingWhenActive = {
|
|
28827
|
+
kind: "recover-empty-when-active",
|
|
28828
|
+
placeholder: "Add heading"
|
|
28829
|
+
};
|
|
28830
|
+
var recoverEmptyDescriptionWhenActive = {
|
|
28831
|
+
kind: "recover-empty-when-active",
|
|
28832
|
+
placeholder: "Add description"
|
|
28833
|
+
};
|
|
28834
|
+
function eventSectionHeaderLayoutNodes() {
|
|
28835
|
+
return [
|
|
28836
|
+
text(
|
|
28837
|
+
{ as: "h2" },
|
|
28838
|
+
bind("content.heading"),
|
|
28839
|
+
when("content.heading", {
|
|
28840
|
+
authoringPresence: recoverEmptyHeadingWhenActive
|
|
28841
|
+
})
|
|
28842
|
+
),
|
|
28843
|
+
richText(
|
|
28844
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
28845
|
+
bind("content.description"),
|
|
28846
|
+
when("content.description", {
|
|
28847
|
+
authoringPresence: recoverEmptyDescriptionWhenActive
|
|
28848
|
+
})
|
|
28849
|
+
)
|
|
28850
|
+
];
|
|
28851
|
+
}
|
|
28852
|
+
|
|
28534
28853
|
// ../blocks/src/system/blocks/shop.shared.ts
|
|
28535
|
-
import { z as
|
|
28536
|
-
var publicPassProductSchema =
|
|
28537
|
-
id:
|
|
28538
|
-
productUseCase:
|
|
28539
|
-
name:
|
|
28540
|
-
description:
|
|
28541
|
-
price:
|
|
28542
|
-
currency:
|
|
28543
|
-
creditsTotal:
|
|
28544
|
-
pricePerCredit:
|
|
28545
|
-
validDays:
|
|
28546
|
-
eligibleCategoryIds:
|
|
28547
|
-
eligibleCategoryNames:
|
|
28548
|
-
});
|
|
28549
|
-
var publicPassProductCollectionSchema =
|
|
28550
|
-
passes:
|
|
28551
|
-
});
|
|
28552
|
-
var publicMembershipProductSchema =
|
|
28553
|
-
id:
|
|
28554
|
-
name:
|
|
28555
|
-
description:
|
|
28556
|
-
price:
|
|
28557
|
-
currency:
|
|
28558
|
-
billingInterval:
|
|
28559
|
-
eligibleCategoryIds:
|
|
28560
|
-
eligibleCategoryNames:
|
|
28854
|
+
import { z as z45 } from "zod";
|
|
28855
|
+
var publicPassProductSchema = z45.object({
|
|
28856
|
+
id: z45.string(),
|
|
28857
|
+
productUseCase: z45.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
28858
|
+
name: z45.string(),
|
|
28859
|
+
description: z45.string().nullable(),
|
|
28860
|
+
price: z45.number(),
|
|
28861
|
+
currency: z45.string(),
|
|
28862
|
+
creditsTotal: z45.number(),
|
|
28863
|
+
pricePerCredit: z45.number(),
|
|
28864
|
+
validDays: z45.number().nullable(),
|
|
28865
|
+
eligibleCategoryIds: z45.array(z45.string()),
|
|
28866
|
+
eligibleCategoryNames: z45.array(z45.string())
|
|
28867
|
+
});
|
|
28868
|
+
var publicPassProductCollectionSchema = z45.object({
|
|
28869
|
+
passes: z45.array(publicPassProductSchema)
|
|
28870
|
+
});
|
|
28871
|
+
var publicMembershipProductSchema = z45.object({
|
|
28872
|
+
id: z45.string(),
|
|
28873
|
+
name: z45.string(),
|
|
28874
|
+
description: z45.string().nullable(),
|
|
28875
|
+
price: z45.number(),
|
|
28876
|
+
currency: z45.string(),
|
|
28877
|
+
billingInterval: z45.enum(["month", "year"]),
|
|
28878
|
+
eligibleCategoryIds: z45.array(z45.string()),
|
|
28879
|
+
eligibleCategoryNames: z45.array(z45.string())
|
|
28561
28880
|
});
|
|
28562
|
-
var publicMembershipProductCollectionSchema =
|
|
28563
|
-
memberships:
|
|
28881
|
+
var publicMembershipProductCollectionSchema = z45.object({
|
|
28882
|
+
memberships: z45.array(publicMembershipProductSchema)
|
|
28564
28883
|
});
|
|
28565
28884
|
|
|
28566
28885
|
// ../blocks/src/system/blocks/event-registration.shared.ts
|
|
28567
|
-
import { z as
|
|
28568
|
-
var occurrenceContextSchema =
|
|
28569
|
-
id:
|
|
28570
|
-
seriesId:
|
|
28571
|
-
startsAt:
|
|
28572
|
-
endsAt:
|
|
28573
|
-
timeZone:
|
|
28574
|
-
capacityOverride:
|
|
28575
|
-
overrides:
|
|
28886
|
+
import { z as z46 } from "zod";
|
|
28887
|
+
var occurrenceContextSchema = z46.object({
|
|
28888
|
+
id: z46.string(),
|
|
28889
|
+
seriesId: z46.string(),
|
|
28890
|
+
startsAt: z46.string(),
|
|
28891
|
+
endsAt: z46.string(),
|
|
28892
|
+
timeZone: z46.string(),
|
|
28893
|
+
capacityOverride: z46.number().nullable().optional(),
|
|
28894
|
+
overrides: z46.record(z46.string(), z46.unknown()).nullable().optional()
|
|
28576
28895
|
}).nullable();
|
|
28577
28896
|
|
|
28578
28897
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28579
|
-
import { z as
|
|
28898
|
+
import { z as z48 } from "zod";
|
|
28580
28899
|
|
|
28581
28900
|
// ../blocks/src/system/constants/events.ts
|
|
28582
28901
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
@@ -28763,17 +29082,17 @@ function readAmount(value) {
|
|
|
28763
29082
|
}
|
|
28764
29083
|
|
|
28765
29084
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28766
|
-
import { z as
|
|
28767
|
-
var previewStageSchema =
|
|
28768
|
-
var registrationButtonVariantSchema =
|
|
28769
|
-
var eventButtonVariantSchema =
|
|
28770
|
-
var eventLayoutSchema =
|
|
28771
|
-
var eventCalendarDisplayModeSchema =
|
|
28772
|
-
var eventCalendarDefaultViewSchema =
|
|
28773
|
-
var columnOptionSchema =
|
|
28774
|
-
var weekStartSchema =
|
|
28775
|
-
var filterAutoShowSchema =
|
|
28776
|
-
var calendarTabViewsSchema =
|
|
29085
|
+
import { z as z47 } from "zod";
|
|
29086
|
+
var previewStageSchema = z47.enum(["preview", "published"]);
|
|
29087
|
+
var registrationButtonVariantSchema = z47.enum(["primary", "secondary", "outline"]);
|
|
29088
|
+
var eventButtonVariantSchema = z47.enum(["primary", "secondary", "outline", "link"]);
|
|
29089
|
+
var eventLayoutSchema = z47.enum(eventCalendarListLayoutValues);
|
|
29090
|
+
var eventCalendarDisplayModeSchema = z47.enum(eventCalendarDisplayModeValues);
|
|
29091
|
+
var eventCalendarDefaultViewSchema = z47.enum(eventCalendarDefaultViewValues);
|
|
29092
|
+
var columnOptionSchema = z47.enum(["2", "3", "4"]);
|
|
29093
|
+
var weekStartSchema = z47.enum(["sunday", "monday"]);
|
|
29094
|
+
var filterAutoShowSchema = z47.enum(["auto", "always", "never"]);
|
|
29095
|
+
var calendarTabViewsSchema = z47.enum(["both", "month", "week"]);
|
|
28777
29096
|
|
|
28778
29097
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28779
29098
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -28833,72 +29152,72 @@ function toRegistrationEvents(events) {
|
|
|
28833
29152
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28834
29153
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28835
29154
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28836
|
-
var contentEntrySchema =
|
|
28837
|
-
id:
|
|
28838
|
-
slug:
|
|
28839
|
-
contentTypeSlug:
|
|
29155
|
+
var contentEntrySchema = z48.object({
|
|
29156
|
+
id: z48.string(),
|
|
29157
|
+
slug: z48.string(),
|
|
29158
|
+
contentTypeSlug: z48.string()
|
|
28840
29159
|
});
|
|
28841
|
-
var eventRegistrationPublicEventSchema =
|
|
29160
|
+
var eventRegistrationPublicEventSchema = z48.preprocess(
|
|
28842
29161
|
normalizeEventRegistrationEventInput,
|
|
28843
29162
|
publicEventSchema
|
|
28844
29163
|
);
|
|
28845
|
-
var eventRegistrationSourceSchema =
|
|
28846
|
-
siteId:
|
|
28847
|
-
apiBaseUrl:
|
|
28848
|
-
portalToken:
|
|
28849
|
-
previewToken:
|
|
29164
|
+
var eventRegistrationSourceSchema = z48.object({
|
|
29165
|
+
siteId: z48.string().optional(),
|
|
29166
|
+
apiBaseUrl: z48.string().optional(),
|
|
29167
|
+
portalToken: z48.string().nullable().optional(),
|
|
29168
|
+
previewToken: z48.string().nullable().optional(),
|
|
28850
29169
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28851
29170
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28852
|
-
events:
|
|
28853
|
-
className:
|
|
28854
|
-
buttonText:
|
|
28855
|
-
maxTickets:
|
|
28856
|
-
showVenue:
|
|
28857
|
-
showCapacity:
|
|
28858
|
-
successMessage:
|
|
28859
|
-
waitlistMessage:
|
|
29171
|
+
events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
29172
|
+
className: z48.string().nullable().optional(),
|
|
29173
|
+
buttonText: z48.string().nullable().optional(),
|
|
29174
|
+
maxTickets: z48.string().nullable().optional(),
|
|
29175
|
+
showVenue: z48.boolean().optional(),
|
|
29176
|
+
showCapacity: z48.boolean().optional(),
|
|
29177
|
+
successMessage: z48.string().optional(),
|
|
29178
|
+
waitlistMessage: z48.string().optional(),
|
|
28860
29179
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28861
|
-
overlayEnabled:
|
|
28862
|
-
spamProtectionEnabled:
|
|
29180
|
+
overlayEnabled: z48.boolean().optional(),
|
|
29181
|
+
spamProtectionEnabled: z48.boolean().optional(),
|
|
28863
29182
|
stage: previewStageSchema.optional(),
|
|
28864
|
-
supportEmail:
|
|
29183
|
+
supportEmail: z48.string().optional(),
|
|
28865
29184
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28866
29185
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28867
29186
|
});
|
|
28868
|
-
var eventRegistrationDisplaySchema =
|
|
28869
|
-
kind:
|
|
28870
|
-
state:
|
|
28871
|
-
className:
|
|
28872
|
-
titleText:
|
|
28873
|
-
bodyText:
|
|
28874
|
-
stepLabels:
|
|
28875
|
-
summaryButtonText:
|
|
29187
|
+
var eventRegistrationDisplaySchema = z48.object({
|
|
29188
|
+
kind: z48.literal("event-registration"),
|
|
29189
|
+
state: z48.literal("generic-shell"),
|
|
29190
|
+
className: z48.string().nullable(),
|
|
29191
|
+
titleText: z48.string(),
|
|
29192
|
+
bodyText: z48.string(),
|
|
29193
|
+
stepLabels: z48.array(z48.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
29194
|
+
summaryButtonText: z48.string()
|
|
28876
29195
|
});
|
|
28877
|
-
var eventRegistrationHydrationSchema =
|
|
29196
|
+
var eventRegistrationHydrationSchema = z48.object({
|
|
28878
29197
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28879
29198
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28880
|
-
events:
|
|
28881
|
-
maxTickets:
|
|
28882
|
-
showVenue:
|
|
28883
|
-
showCapacity:
|
|
28884
|
-
successMessage:
|
|
28885
|
-
waitlistMessage:
|
|
29199
|
+
events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
29200
|
+
maxTickets: z48.string().optional(),
|
|
29201
|
+
showVenue: z48.boolean().optional(),
|
|
29202
|
+
showCapacity: z48.boolean().optional(),
|
|
29203
|
+
successMessage: z48.string().optional(),
|
|
29204
|
+
waitlistMessage: z48.string().optional(),
|
|
28886
29205
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28887
|
-
overlayEnabled:
|
|
28888
|
-
spamProtectionEnabled:
|
|
28889
|
-
supportEmail:
|
|
29206
|
+
overlayEnabled: z48.boolean().optional(),
|
|
29207
|
+
spamProtectionEnabled: z48.boolean().optional(),
|
|
29208
|
+
supportEmail: z48.string().optional(),
|
|
28890
29209
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28891
29210
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28892
29211
|
});
|
|
28893
|
-
var eventRegistrationRenderSchema =
|
|
29212
|
+
var eventRegistrationRenderSchema = z48.object({
|
|
28894
29213
|
display: eventRegistrationDisplaySchema,
|
|
28895
29214
|
hydration: eventRegistrationHydrationSchema
|
|
28896
29215
|
});
|
|
28897
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
28898
|
-
siteId:
|
|
28899
|
-
apiBaseUrl:
|
|
28900
|
-
portalToken:
|
|
28901
|
-
previewToken:
|
|
29216
|
+
var eventRegistrationIslandMetaCodec = createZodCodec(z48.object({
|
|
29217
|
+
siteId: z48.string().optional(),
|
|
29218
|
+
apiBaseUrl: z48.string().optional(),
|
|
29219
|
+
portalToken: z48.string().nullable().optional(),
|
|
29220
|
+
previewToken: z48.string().nullable().optional(),
|
|
28902
29221
|
stage: previewStageSchema.optional()
|
|
28903
29222
|
}));
|
|
28904
29223
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -29249,73 +29568,73 @@ var eventRegistrationBlockDefinition = {
|
|
|
29249
29568
|
};
|
|
29250
29569
|
|
|
29251
29570
|
// ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
|
|
29252
|
-
import { z as
|
|
29253
|
-
var contentEntrySchema2 =
|
|
29254
|
-
id:
|
|
29255
|
-
slug:
|
|
29256
|
-
contentTypeSlug:
|
|
29257
|
-
});
|
|
29258
|
-
var courseEntrySubrouteContextSchema =
|
|
29259
|
-
|
|
29260
|
-
kind:
|
|
29261
|
-
run:
|
|
29262
|
-
courseId:
|
|
29263
|
-
seriesId:
|
|
29264
|
-
runSlug:
|
|
29265
|
-
runName:
|
|
29571
|
+
import { z as z49 } from "zod";
|
|
29572
|
+
var contentEntrySchema2 = z49.object({
|
|
29573
|
+
id: z49.string(),
|
|
29574
|
+
slug: z49.string(),
|
|
29575
|
+
contentTypeSlug: z49.string()
|
|
29576
|
+
});
|
|
29577
|
+
var courseEntrySubrouteContextSchema = z49.union([
|
|
29578
|
+
z49.object({
|
|
29579
|
+
kind: z49.literal("course-run"),
|
|
29580
|
+
run: z49.object({
|
|
29581
|
+
courseId: z49.string(),
|
|
29582
|
+
seriesId: z49.string(),
|
|
29583
|
+
runSlug: z49.string(),
|
|
29584
|
+
runName: z49.string().nullable()
|
|
29266
29585
|
})
|
|
29267
29586
|
}),
|
|
29268
|
-
|
|
29269
|
-
kind:
|
|
29587
|
+
z49.object({
|
|
29588
|
+
kind: z49.literal("event-occurrence"),
|
|
29270
29589
|
occurrence: occurrenceContextSchema
|
|
29271
29590
|
})
|
|
29272
29591
|
]);
|
|
29273
|
-
var courseRegistrationSourceSchema =
|
|
29274
|
-
siteId:
|
|
29275
|
-
apiBaseUrl:
|
|
29276
|
-
portalToken:
|
|
29592
|
+
var courseRegistrationSourceSchema = z49.object({
|
|
29593
|
+
siteId: z49.string().optional(),
|
|
29594
|
+
apiBaseUrl: z49.string().optional(),
|
|
29595
|
+
portalToken: z49.string().nullable().optional(),
|
|
29277
29596
|
contentEntry: contentEntrySchema2.nullable().optional(),
|
|
29278
29597
|
entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
|
|
29279
|
-
courses:
|
|
29280
|
-
className:
|
|
29281
|
-
showSessions:
|
|
29282
|
-
showPrice:
|
|
29283
|
-
showCapacity:
|
|
29284
|
-
showVenue:
|
|
29285
|
-
successMessage:
|
|
29286
|
-
waitlistMessage:
|
|
29287
|
-
membershipMessage:
|
|
29288
|
-
buttonText:
|
|
29598
|
+
courses: z49.array(publicCourseSchema).nullable().optional(),
|
|
29599
|
+
className: z49.string().nullable().optional(),
|
|
29600
|
+
showSessions: z49.boolean().optional(),
|
|
29601
|
+
showPrice: z49.boolean().optional(),
|
|
29602
|
+
showCapacity: z49.boolean().optional(),
|
|
29603
|
+
showVenue: z49.boolean().optional(),
|
|
29604
|
+
successMessage: z49.string().optional(),
|
|
29605
|
+
waitlistMessage: z49.string().optional(),
|
|
29606
|
+
membershipMessage: z49.string().optional(),
|
|
29607
|
+
buttonText: z49.string().nullable().optional(),
|
|
29289
29608
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
29290
29609
|
stage: previewStageSchema.optional()
|
|
29291
29610
|
});
|
|
29292
|
-
var courseRegistrationDisplaySchema =
|
|
29293
|
-
kind:
|
|
29294
|
-
state:
|
|
29295
|
-
className:
|
|
29296
|
-
summaryButtonText:
|
|
29611
|
+
var courseRegistrationDisplaySchema = z49.object({
|
|
29612
|
+
kind: z49.literal("course-registration"),
|
|
29613
|
+
state: z49.literal("shell"),
|
|
29614
|
+
className: z49.string().nullable(),
|
|
29615
|
+
summaryButtonText: z49.string()
|
|
29297
29616
|
});
|
|
29298
|
-
var courseRegistrationHydrationSchema =
|
|
29617
|
+
var courseRegistrationHydrationSchema = z49.object({
|
|
29299
29618
|
contentEntry: contentEntrySchema2.nullable().optional(),
|
|
29300
29619
|
entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
|
|
29301
|
-
courses:
|
|
29302
|
-
showSessions:
|
|
29303
|
-
showPrice:
|
|
29304
|
-
showCapacity:
|
|
29305
|
-
showVenue:
|
|
29306
|
-
successMessage:
|
|
29307
|
-
waitlistMessage:
|
|
29308
|
-
membershipMessage:
|
|
29620
|
+
courses: z49.array(publicCourseSchema).nullable().optional(),
|
|
29621
|
+
showSessions: z49.boolean().optional(),
|
|
29622
|
+
showPrice: z49.boolean().optional(),
|
|
29623
|
+
showCapacity: z49.boolean().optional(),
|
|
29624
|
+
showVenue: z49.boolean().optional(),
|
|
29625
|
+
successMessage: z49.string().optional(),
|
|
29626
|
+
waitlistMessage: z49.string().optional(),
|
|
29627
|
+
membershipMessage: z49.string().optional(),
|
|
29309
29628
|
buttonVariant: registrationButtonVariantSchema.optional()
|
|
29310
29629
|
});
|
|
29311
|
-
var courseRegistrationRenderSchema =
|
|
29630
|
+
var courseRegistrationRenderSchema = z49.object({
|
|
29312
29631
|
display: courseRegistrationDisplaySchema,
|
|
29313
29632
|
hydration: courseRegistrationHydrationSchema
|
|
29314
29633
|
});
|
|
29315
|
-
var courseRegistrationIslandMetaCodec = createZodCodec(
|
|
29316
|
-
siteId:
|
|
29317
|
-
apiBaseUrl:
|
|
29318
|
-
portalToken:
|
|
29634
|
+
var courseRegistrationIslandMetaCodec = createZodCodec(z49.object({
|
|
29635
|
+
siteId: z49.string().optional(),
|
|
29636
|
+
apiBaseUrl: z49.string().optional(),
|
|
29637
|
+
portalToken: z49.string().nullable().optional(),
|
|
29319
29638
|
stage: previewStageSchema.optional()
|
|
29320
29639
|
}));
|
|
29321
29640
|
var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -29575,7 +29894,7 @@ var courseRegistrationBlockDefinition = {
|
|
|
29575
29894
|
};
|
|
29576
29895
|
|
|
29577
29896
|
// ../blocks/src/system/blocks/event-details.ts
|
|
29578
|
-
import { z as
|
|
29897
|
+
import { z as z50 } from "zod";
|
|
29579
29898
|
var eventDetailsManifest = createBlockManifest({
|
|
29580
29899
|
id: "block.event-details",
|
|
29581
29900
|
version: "1.0.0",
|
|
@@ -29707,37 +30026,37 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
29707
30026
|
})
|
|
29708
30027
|
]
|
|
29709
30028
|
});
|
|
29710
|
-
var occurrenceContextSchema2 =
|
|
29711
|
-
id:
|
|
29712
|
-
seriesId:
|
|
29713
|
-
startsAt:
|
|
29714
|
-
endsAt:
|
|
29715
|
-
timeZone:
|
|
29716
|
-
capacityOverride:
|
|
29717
|
-
overrides:
|
|
30029
|
+
var occurrenceContextSchema2 = z50.object({
|
|
30030
|
+
id: z50.string(),
|
|
30031
|
+
seriesId: z50.string(),
|
|
30032
|
+
startsAt: z50.string(),
|
|
30033
|
+
endsAt: z50.string(),
|
|
30034
|
+
timeZone: z50.string(),
|
|
30035
|
+
capacityOverride: z50.number().nullable().optional(),
|
|
30036
|
+
overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
|
|
29718
30037
|
}).nullable();
|
|
29719
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
29720
|
-
id:
|
|
29721
|
-
publicLabel:
|
|
29722
|
-
description:
|
|
29723
|
-
minTicketsRequired:
|
|
30038
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
|
|
30039
|
+
id: z50.string(),
|
|
30040
|
+
publicLabel: z50.string(),
|
|
30041
|
+
description: z50.string().nullable(),
|
|
30042
|
+
minTicketsRequired: z50.number().nullable()
|
|
29724
30043
|
});
|
|
29725
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
30044
|
+
var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
|
|
29726
30045
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29727
|
-
discountType:
|
|
29728
|
-
discountPercent:
|
|
29729
|
-
discountAmountCents:
|
|
30046
|
+
discountType: z50.literal("percent"),
|
|
30047
|
+
discountPercent: z50.number(),
|
|
30048
|
+
discountAmountCents: z50.null()
|
|
29730
30049
|
}),
|
|
29731
30050
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29732
|
-
discountType:
|
|
29733
|
-
discountPercent:
|
|
29734
|
-
discountAmountCents:
|
|
30051
|
+
discountType: z50.literal("fixed"),
|
|
30052
|
+
discountPercent: z50.null(),
|
|
30053
|
+
discountAmountCents: z50.number()
|
|
29735
30054
|
})
|
|
29736
30055
|
]);
|
|
29737
30056
|
var eventDetailsBlockDefinition = {
|
|
29738
30057
|
manifest: eventDetailsManifest,
|
|
29739
30058
|
dataSchemas: {
|
|
29740
|
-
eventDetailsData:
|
|
30059
|
+
eventDetailsData: z50.object({
|
|
29741
30060
|
events: publicEventsArraySchema,
|
|
29742
30061
|
sitePasses: publicPassProductCollectionSchema,
|
|
29743
30062
|
siteMemberships: publicMembershipProductCollectionSchema,
|
|
@@ -29992,18 +30311,7 @@ var eventSpotlightFields = [
|
|
|
29992
30311
|
var eventSpotlightLayout = [
|
|
29993
30312
|
styledSection({
|
|
29994
30313
|
children: sectionContainer([
|
|
29995
|
-
|
|
29996
|
-
text(
|
|
29997
|
-
{ as: "h2" },
|
|
29998
|
-
bind("content.heading"),
|
|
29999
|
-
when("content.heading")
|
|
30000
|
-
),
|
|
30001
|
-
// Optional description
|
|
30002
|
-
richText(
|
|
30003
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
30004
|
-
bind("content.description"),
|
|
30005
|
-
when("content.description")
|
|
30006
|
-
),
|
|
30314
|
+
...eventSectionHeaderLayoutNodes(),
|
|
30007
30315
|
// Event spotlight component
|
|
30008
30316
|
el("event-spotlight", {
|
|
30009
30317
|
events: { $bind: { from: "data.events" } },
|
|
@@ -30064,7 +30372,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
30064
30372
|
};
|
|
30065
30373
|
|
|
30066
30374
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30067
|
-
import { z as
|
|
30375
|
+
import { z as z52 } from "zod";
|
|
30068
30376
|
|
|
30069
30377
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
30070
30378
|
var COLUMN_CLASSES = {
|
|
@@ -30172,16 +30480,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
30172
30480
|
}
|
|
30173
30481
|
|
|
30174
30482
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
30175
|
-
import { z as
|
|
30483
|
+
import { z as z51 } from "zod";
|
|
30176
30484
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
30177
|
-
var eventPageSizeSchema =
|
|
30178
|
-
|
|
30179
|
-
|
|
30180
|
-
|
|
30181
|
-
|
|
30182
|
-
|
|
30183
|
-
|
|
30184
|
-
|
|
30485
|
+
var eventPageSizeSchema = z51.union([
|
|
30486
|
+
z51.literal(3),
|
|
30487
|
+
z51.literal(6),
|
|
30488
|
+
z51.literal(10),
|
|
30489
|
+
z51.literal(12),
|
|
30490
|
+
z51.literal(20),
|
|
30491
|
+
z51.literal(24),
|
|
30492
|
+
z51.literal(30)
|
|
30185
30493
|
]);
|
|
30186
30494
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
30187
30495
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -30191,15 +30499,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
30191
30499
|
function resolveEventCalendarListPageSize(input) {
|
|
30192
30500
|
return resolveEventPageSize(input.eventsPerPage);
|
|
30193
30501
|
}
|
|
30194
|
-
var eventListPaginationActionSchema =
|
|
30195
|
-
|
|
30196
|
-
kind:
|
|
30197
|
-
label:
|
|
30502
|
+
var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
|
|
30503
|
+
z51.object({
|
|
30504
|
+
kind: z51.literal("loadMore"),
|
|
30505
|
+
label: z51.string()
|
|
30198
30506
|
}),
|
|
30199
|
-
|
|
30200
|
-
kind:
|
|
30201
|
-
label:
|
|
30202
|
-
href:
|
|
30507
|
+
z51.object({
|
|
30508
|
+
kind: z51.literal("seeAllLink"),
|
|
30509
|
+
label: z51.string(),
|
|
30510
|
+
href: z51.string()
|
|
30203
30511
|
})
|
|
30204
30512
|
]);
|
|
30205
30513
|
function resolveEventListPaginationAction(input) {
|
|
@@ -30212,89 +30520,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
30212
30520
|
}
|
|
30213
30521
|
|
|
30214
30522
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30215
|
-
var legacyEventCardVariantSchema =
|
|
30216
|
-
var eventCardVariantInputSchema =
|
|
30523
|
+
var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
|
|
30524
|
+
var eventCardVariantInputSchema = z52.union([
|
|
30217
30525
|
cardVariantRoleSchema,
|
|
30218
30526
|
legacyEventCardVariantSchema
|
|
30219
30527
|
]);
|
|
30220
|
-
var cardOrientationSchema =
|
|
30221
|
-
var eventBlockKindSchema =
|
|
30222
|
-
var eventSurfaceScopeSchema =
|
|
30223
|
-
var eventScheduleScopeSchema2 =
|
|
30224
|
-
var eventListingSourceSchema =
|
|
30225
|
-
events:
|
|
30226
|
-
siteId:
|
|
30227
|
-
apiBaseUrl:
|
|
30528
|
+
var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
|
|
30529
|
+
var eventBlockKindSchema = z52.enum(eventBlockKindValues);
|
|
30530
|
+
var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
|
|
30531
|
+
var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
|
|
30532
|
+
var eventListingSourceSchema = z52.object({
|
|
30533
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
30534
|
+
siteId: z52.string(),
|
|
30535
|
+
apiBaseUrl: z52.string().optional(),
|
|
30228
30536
|
stage: previewStageSchema.optional(),
|
|
30229
30537
|
layout: eventLayoutSchema.optional(),
|
|
30230
30538
|
columns: columnOptionSchema.optional(),
|
|
30231
|
-
eventsPerPage:
|
|
30232
|
-
paginationMode:
|
|
30233
|
-
seeAllUrl:
|
|
30234
|
-
loadMoreText:
|
|
30539
|
+
eventsPerPage: z52.string().optional(),
|
|
30540
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30541
|
+
seeAllUrl: z52.string().optional(),
|
|
30542
|
+
loadMoreText: z52.string().optional(),
|
|
30235
30543
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
30236
30544
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30237
|
-
buttonText:
|
|
30238
|
-
showVenue:
|
|
30239
|
-
showMap:
|
|
30240
|
-
showCapacity:
|
|
30241
|
-
emptyMessage:
|
|
30242
|
-
className:
|
|
30243
|
-
showFilters:
|
|
30545
|
+
buttonText: z52.string().optional(),
|
|
30546
|
+
showVenue: z52.boolean().optional(),
|
|
30547
|
+
showMap: z52.boolean().optional(),
|
|
30548
|
+
showCapacity: z52.boolean().optional(),
|
|
30549
|
+
emptyMessage: z52.string().optional(),
|
|
30550
|
+
className: z52.string().optional(),
|
|
30551
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
30244
30552
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30245
|
-
showVenueFilter:
|
|
30246
|
-
showStaffFilter:
|
|
30553
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
30554
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
30247
30555
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
30248
30556
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
30249
|
-
filterEventPresets:
|
|
30557
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30250
30558
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
30251
|
-
filterCategoryIds:
|
|
30252
|
-
filterStaffMemberId:
|
|
30253
|
-
filterVenueId:
|
|
30559
|
+
filterCategoryIds: z52.string().nullable().optional(),
|
|
30560
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30561
|
+
filterVenueId: z52.string().nullable().optional()
|
|
30254
30562
|
});
|
|
30255
|
-
var eventListingDisplaySchema =
|
|
30256
|
-
kind:
|
|
30257
|
-
state:
|
|
30563
|
+
var eventListingDisplaySchema = z52.object({
|
|
30564
|
+
kind: z52.literal("event-listing"),
|
|
30565
|
+
state: z52.enum(["loading", "empty", "ready"]),
|
|
30258
30566
|
listLayout: eventLayoutSchema,
|
|
30259
|
-
className:
|
|
30260
|
-
emptyMessage:
|
|
30261
|
-
loadingMessage:
|
|
30262
|
-
containerClass:
|
|
30567
|
+
className: z52.string().nullable(),
|
|
30568
|
+
emptyMessage: z52.string(),
|
|
30569
|
+
loadingMessage: z52.string(),
|
|
30570
|
+
containerClass: z52.string(),
|
|
30263
30571
|
cardVariant: cardVariantRoleSchema,
|
|
30264
30572
|
buttonVariant: eventButtonVariantSchema,
|
|
30265
|
-
buttonText:
|
|
30266
|
-
showVenue:
|
|
30267
|
-
showMap:
|
|
30268
|
-
showCapacity:
|
|
30573
|
+
buttonText: z52.string(),
|
|
30574
|
+
showVenue: z52.boolean(),
|
|
30575
|
+
showMap: z52.boolean(),
|
|
30576
|
+
showCapacity: z52.boolean(),
|
|
30269
30577
|
orientation: cardOrientationSchema,
|
|
30270
|
-
events:
|
|
30578
|
+
events: z52.array(publicEventSchema)
|
|
30271
30579
|
});
|
|
30272
|
-
var eventListingHydrationSchema =
|
|
30273
|
-
siteId:
|
|
30580
|
+
var eventListingHydrationSchema = z52.object({
|
|
30581
|
+
siteId: z52.string(),
|
|
30274
30582
|
stage: previewStageSchema.optional(),
|
|
30275
30583
|
eventsPerPage: eventPageSizeSchema,
|
|
30276
30584
|
paginationAction: eventListPaginationActionSchema,
|
|
30277
|
-
showFilters:
|
|
30585
|
+
showFilters: z52.boolean(),
|
|
30278
30586
|
showCategoryFilter: filterAutoShowSchema,
|
|
30279
|
-
showVenueFilter:
|
|
30280
|
-
showStaffFilter:
|
|
30587
|
+
showVenueFilter: z52.boolean(),
|
|
30588
|
+
showStaffFilter: z52.boolean(),
|
|
30281
30589
|
eventKind: eventBlockKindSchema,
|
|
30282
30590
|
eventSurface: eventSurfaceScopeSchema,
|
|
30283
|
-
filterEventPresets:
|
|
30591
|
+
filterEventPresets: z52.string().nullable(),
|
|
30284
30592
|
scheduleScope: eventScheduleScopeSchema2,
|
|
30285
|
-
filterCategoryIds:
|
|
30286
|
-
filterStaffMemberId:
|
|
30287
|
-
filterVenueId:
|
|
30288
|
-
fetchInitialEventsOnMount:
|
|
30593
|
+
filterCategoryIds: z52.string().nullable().optional(),
|
|
30594
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30595
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
30596
|
+
fetchInitialEventsOnMount: z52.boolean()
|
|
30289
30597
|
});
|
|
30290
|
-
var eventListingRenderSchema =
|
|
30598
|
+
var eventListingRenderSchema = z52.object({
|
|
30291
30599
|
display: eventListingDisplaySchema,
|
|
30292
30600
|
hydration: eventListingHydrationSchema
|
|
30293
30601
|
});
|
|
30294
30602
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
30295
|
-
|
|
30296
|
-
siteId:
|
|
30297
|
-
apiBaseUrl:
|
|
30603
|
+
z52.object({
|
|
30604
|
+
siteId: z52.string(),
|
|
30605
|
+
apiBaseUrl: z52.string().optional(),
|
|
30298
30606
|
stage: previewStageSchema.optional()
|
|
30299
30607
|
})
|
|
30300
30608
|
);
|
|
@@ -30534,18 +30842,7 @@ var eventListingAdditionalFields = [
|
|
|
30534
30842
|
var eventListingLayout = [
|
|
30535
30843
|
styledSection({
|
|
30536
30844
|
children: sectionContainer([
|
|
30537
|
-
|
|
30538
|
-
text(
|
|
30539
|
-
{ as: "h2" },
|
|
30540
|
-
bind("content.heading"),
|
|
30541
|
-
when("content.heading")
|
|
30542
|
-
),
|
|
30543
|
-
// Optional description
|
|
30544
|
-
richText(
|
|
30545
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
30546
|
-
bind("content.description"),
|
|
30547
|
-
when("content.description")
|
|
30548
|
-
),
|
|
30845
|
+
...eventSectionHeaderLayoutNodes(),
|
|
30549
30846
|
// Event listing component with pagination
|
|
30550
30847
|
el("event-listing", withApiBindings({
|
|
30551
30848
|
events: { $bind: { from: "data.events" } },
|
|
@@ -30661,15 +30958,15 @@ var eventListingBlockDefinition = {
|
|
|
30661
30958
|
};
|
|
30662
30959
|
|
|
30663
30960
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30664
|
-
import { z as
|
|
30665
|
-
var eventBlockKindSchema2 =
|
|
30666
|
-
var eventSurfaceScopeSchema2 =
|
|
30667
|
-
var eventScheduleScopeSchema3 =
|
|
30668
|
-
var eventCalendarSourceSchema =
|
|
30961
|
+
import { z as z53 } from "zod";
|
|
30962
|
+
var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
|
|
30963
|
+
var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
|
|
30964
|
+
var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
|
|
30965
|
+
var eventCalendarSourceSchema = z53.object(
|
|
30669
30966
|
{
|
|
30670
|
-
events:
|
|
30671
|
-
siteId:
|
|
30672
|
-
apiBaseUrl:
|
|
30967
|
+
events: z53.array(publicEventSchema).nullable().optional(),
|
|
30968
|
+
siteId: z53.string(),
|
|
30969
|
+
apiBaseUrl: z53.string().optional(),
|
|
30673
30970
|
stage: previewStageSchema.optional(),
|
|
30674
30971
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
30675
30972
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -30677,38 +30974,38 @@ var eventCalendarSourceSchema = z52.object(
|
|
|
30677
30974
|
listColumns: columnOptionSchema.optional(),
|
|
30678
30975
|
layout: eventLayoutSchema.optional(),
|
|
30679
30976
|
columns: columnOptionSchema.optional(),
|
|
30680
|
-
eventsPerPage:
|
|
30681
|
-
paginationMode:
|
|
30682
|
-
seeAllUrl:
|
|
30683
|
-
loadMoreText:
|
|
30977
|
+
eventsPerPage: z53.string().optional(),
|
|
30978
|
+
paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30979
|
+
seeAllUrl: z53.string().optional(),
|
|
30980
|
+
loadMoreText: z53.string().optional(),
|
|
30684
30981
|
startOfWeek: weekStartSchema.optional(),
|
|
30685
30982
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
30686
30983
|
defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
|
|
30687
|
-
showFilters:
|
|
30984
|
+
showFilters: z53.boolean().nullable().optional(),
|
|
30688
30985
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30689
|
-
showVenueFilter:
|
|
30690
|
-
showStaffFilter:
|
|
30986
|
+
showVenueFilter: z53.boolean().nullable().optional(),
|
|
30987
|
+
showStaffFilter: z53.boolean().nullable().optional(),
|
|
30691
30988
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
30692
30989
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
30693
|
-
filterEventPresets:
|
|
30990
|
+
filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
|
|
30694
30991
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
30695
|
-
filterCategoryIds:
|
|
30696
|
-
filterStaffMemberId:
|
|
30697
|
-
filterVenueId:
|
|
30992
|
+
filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
|
|
30993
|
+
filterStaffMemberId: z53.string().nullable().optional(),
|
|
30994
|
+
filterVenueId: z53.string().nullable().optional(),
|
|
30698
30995
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30699
|
-
buttonText:
|
|
30700
|
-
showVenue:
|
|
30701
|
-
showMap:
|
|
30702
|
-
showCapacity:
|
|
30703
|
-
emptyMessage:
|
|
30704
|
-
className:
|
|
30996
|
+
buttonText: z53.string().optional(),
|
|
30997
|
+
showVenue: z53.boolean().nullable().optional(),
|
|
30998
|
+
showMap: z53.boolean().nullable().optional(),
|
|
30999
|
+
showCapacity: z53.boolean().nullable().optional(),
|
|
31000
|
+
emptyMessage: z53.string().optional(),
|
|
31001
|
+
className: z53.string().optional()
|
|
30705
31002
|
}
|
|
30706
31003
|
);
|
|
30707
|
-
var eventCalendarDisplaySchema =
|
|
30708
|
-
kind:
|
|
31004
|
+
var eventCalendarDisplaySchema = z53.object({
|
|
31005
|
+
kind: z53.literal("event-calendar"),
|
|
30709
31006
|
displayMode: eventCalendarDisplayModeSchema,
|
|
30710
|
-
className:
|
|
30711
|
-
events:
|
|
31007
|
+
className: z53.string().nullable(),
|
|
31008
|
+
events: z53.array(publicEventSchema),
|
|
30712
31009
|
listLayout: eventLayoutSchema,
|
|
30713
31010
|
listColumns: columnOptionSchema,
|
|
30714
31011
|
eventsPerPage: eventPageSizeSchema,
|
|
@@ -30716,41 +31013,41 @@ var eventCalendarDisplaySchema = z52.object({
|
|
|
30716
31013
|
startOfWeek: weekStartSchema,
|
|
30717
31014
|
calendarTabViews: calendarTabViewsSchema,
|
|
30718
31015
|
defaultCalendarView: eventCalendarDefaultViewSchema,
|
|
30719
|
-
showFilters:
|
|
31016
|
+
showFilters: z53.boolean(),
|
|
30720
31017
|
showCategoryFilter: filterAutoShowSchema,
|
|
30721
|
-
showVenueFilter:
|
|
30722
|
-
showStaffFilter:
|
|
31018
|
+
showVenueFilter: z53.boolean(),
|
|
31019
|
+
showStaffFilter: z53.boolean(),
|
|
30723
31020
|
eventKind: eventBlockKindSchema2,
|
|
30724
31021
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30725
|
-
filterEventPresets:
|
|
31022
|
+
filterEventPresets: z53.string().nullable(),
|
|
30726
31023
|
scheduleScope: eventScheduleScopeSchema3,
|
|
30727
|
-
filterCategoryIds:
|
|
30728
|
-
filterStaffMemberId:
|
|
30729
|
-
filterVenueId:
|
|
31024
|
+
filterCategoryIds: z53.string().nullable(),
|
|
31025
|
+
filterStaffMemberId: z53.string().nullable(),
|
|
31026
|
+
filterVenueId: z53.string().nullable(),
|
|
30730
31027
|
buttonVariant: eventButtonVariantSchema,
|
|
30731
|
-
buttonText:
|
|
30732
|
-
showVenue:
|
|
30733
|
-
showMap:
|
|
30734
|
-
showCapacity:
|
|
30735
|
-
emptyMessage:
|
|
30736
|
-
});
|
|
30737
|
-
var eventCalendarHydrationSchema =
|
|
30738
|
-
siteId:
|
|
31028
|
+
buttonText: z53.string(),
|
|
31029
|
+
showVenue: z53.boolean(),
|
|
31030
|
+
showMap: z53.boolean(),
|
|
31031
|
+
showCapacity: z53.boolean(),
|
|
31032
|
+
emptyMessage: z53.string()
|
|
31033
|
+
});
|
|
31034
|
+
var eventCalendarHydrationSchema = z53.object({
|
|
31035
|
+
siteId: z53.string(),
|
|
30739
31036
|
stage: previewStageSchema.optional(),
|
|
30740
|
-
prefetchedEvents:
|
|
31037
|
+
prefetchedEvents: z53.boolean(),
|
|
30741
31038
|
eventKind: eventBlockKindSchema2,
|
|
30742
31039
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30743
|
-
filterEventPresets:
|
|
31040
|
+
filterEventPresets: z53.string().nullable(),
|
|
30744
31041
|
scheduleScope: eventScheduleScopeSchema3
|
|
30745
31042
|
});
|
|
30746
|
-
var eventCalendarRenderSchema =
|
|
31043
|
+
var eventCalendarRenderSchema = z53.object({
|
|
30747
31044
|
display: eventCalendarDisplaySchema,
|
|
30748
31045
|
hydration: eventCalendarHydrationSchema
|
|
30749
31046
|
});
|
|
30750
31047
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
30751
|
-
|
|
30752
|
-
siteId:
|
|
30753
|
-
apiBaseUrl:
|
|
31048
|
+
z53.object({
|
|
31049
|
+
siteId: z53.string(),
|
|
31050
|
+
apiBaseUrl: z53.string().optional(),
|
|
30754
31051
|
stage: previewStageSchema.optional()
|
|
30755
31052
|
})
|
|
30756
31053
|
);
|
|
@@ -30870,14 +31167,7 @@ var eventCalendarLayout = [
|
|
|
30870
31167
|
styledSection({
|
|
30871
31168
|
children: sectionContainer(
|
|
30872
31169
|
[
|
|
30873
|
-
|
|
30874
|
-
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
30875
|
-
// Optional description
|
|
30876
|
-
richText(
|
|
30877
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
30878
|
-
bind("content.description"),
|
|
30879
|
-
when("content.description")
|
|
30880
|
-
),
|
|
31170
|
+
...eventSectionHeaderLayoutNodes(),
|
|
30881
31171
|
// Event calendar component (handles all display modes)
|
|
30882
31172
|
el(
|
|
30883
31173
|
"event-calendar",
|
|
@@ -31522,7 +31812,7 @@ var eventCalendarBlockDefinition = {
|
|
|
31522
31812
|
};
|
|
31523
31813
|
|
|
31524
31814
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31525
|
-
import { z as
|
|
31815
|
+
import { z as z54 } from "zod";
|
|
31526
31816
|
|
|
31527
31817
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
31528
31818
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -31614,13 +31904,13 @@ function isRecord6(value) {
|
|
|
31614
31904
|
}
|
|
31615
31905
|
|
|
31616
31906
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31617
|
-
var publicRouteCandidatesSchema =
|
|
31618
|
-
routes:
|
|
31619
|
-
entityId:
|
|
31620
|
-
path:
|
|
31621
|
-
title:
|
|
31622
|
-
kind:
|
|
31623
|
-
contentTypeKey:
|
|
31907
|
+
var publicRouteCandidatesSchema = z54.object({
|
|
31908
|
+
routes: z54.array(z54.object({
|
|
31909
|
+
entityId: z54.string(),
|
|
31910
|
+
path: z54.string(),
|
|
31911
|
+
title: z54.string(),
|
|
31912
|
+
kind: z54.enum(["page", "content"]),
|
|
31913
|
+
contentTypeKey: z54.string().nullable().optional()
|
|
31624
31914
|
}))
|
|
31625
31915
|
});
|
|
31626
31916
|
var groupOverrideFields = [
|
|
@@ -32018,7 +32308,7 @@ function isRecord7(value) {
|
|
|
32018
32308
|
}
|
|
32019
32309
|
|
|
32020
32310
|
// ../blocks/src/system/blocks/embed.ts
|
|
32021
|
-
import { z as
|
|
32311
|
+
import { z as z55 } from "zod";
|
|
32022
32312
|
var embedFields = [
|
|
32023
32313
|
// Section heading
|
|
32024
32314
|
parseFieldDefinition({
|
|
@@ -32249,18 +32539,18 @@ var embedManifest = createBlockManifest({
|
|
|
32249
32539
|
spacing: "lg"
|
|
32250
32540
|
}
|
|
32251
32541
|
});
|
|
32252
|
-
var embedEntrySchema =
|
|
32253
|
-
id:
|
|
32254
|
-
identifier:
|
|
32255
|
-
title:
|
|
32256
|
-
slug:
|
|
32257
|
-
content:
|
|
32258
|
-
publishedAt:
|
|
32542
|
+
var embedEntrySchema = z55.object({
|
|
32543
|
+
id: z55.string(),
|
|
32544
|
+
identifier: z55.string(),
|
|
32545
|
+
title: z55.string(),
|
|
32546
|
+
slug: z55.string().nullable().optional(),
|
|
32547
|
+
content: z55.record(z55.string(), z55.unknown()).optional(),
|
|
32548
|
+
publishedAt: z55.string().nullable().optional()
|
|
32259
32549
|
});
|
|
32260
32550
|
var embedBlockDefinition = {
|
|
32261
32551
|
manifest: embedManifest,
|
|
32262
32552
|
dataSchemas: {
|
|
32263
|
-
entries:
|
|
32553
|
+
entries: z55.array(embedEntrySchema).optional()
|
|
32264
32554
|
},
|
|
32265
32555
|
dataLoaders: {
|
|
32266
32556
|
entries: {
|
|
@@ -33444,49 +33734,49 @@ var fileDownloadBlockDefinition = {
|
|
|
33444
33734
|
};
|
|
33445
33735
|
|
|
33446
33736
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33447
|
-
import { z as
|
|
33737
|
+
import { z as z58 } from "zod";
|
|
33448
33738
|
|
|
33449
33739
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
33450
|
-
import { z as
|
|
33451
|
-
var publicProductVariantSchema =
|
|
33452
|
-
id:
|
|
33453
|
-
title:
|
|
33454
|
-
sku:
|
|
33455
|
-
priceCents:
|
|
33456
|
-
stockQuantity:
|
|
33457
|
-
soldOut:
|
|
33458
|
-
});
|
|
33459
|
-
var publicProductSchema =
|
|
33460
|
-
id:
|
|
33461
|
-
contentEntryId:
|
|
33462
|
-
title:
|
|
33463
|
-
slug:
|
|
33464
|
-
path:
|
|
33465
|
-
status:
|
|
33466
|
-
priceCents:
|
|
33467
|
-
currency:
|
|
33468
|
-
productType:
|
|
33469
|
-
requiresShipping:
|
|
33470
|
-
hasVariants:
|
|
33471
|
-
trackInventory:
|
|
33472
|
-
soldOut:
|
|
33473
|
-
category:
|
|
33474
|
-
id:
|
|
33475
|
-
name:
|
|
33476
|
-
slug:
|
|
33740
|
+
import { z as z56 } from "zod";
|
|
33741
|
+
var publicProductVariantSchema = z56.object({
|
|
33742
|
+
id: z56.string(),
|
|
33743
|
+
title: z56.string(),
|
|
33744
|
+
sku: z56.string().nullable(),
|
|
33745
|
+
priceCents: z56.number(),
|
|
33746
|
+
stockQuantity: z56.number().nullable(),
|
|
33747
|
+
soldOut: z56.boolean()
|
|
33748
|
+
});
|
|
33749
|
+
var publicProductSchema = z56.object({
|
|
33750
|
+
id: z56.string(),
|
|
33751
|
+
contentEntryId: z56.string().nullable(),
|
|
33752
|
+
title: z56.string(),
|
|
33753
|
+
slug: z56.string(),
|
|
33754
|
+
path: z56.string().nullable(),
|
|
33755
|
+
status: z56.enum(["draft", "active"]),
|
|
33756
|
+
priceCents: z56.number(),
|
|
33757
|
+
currency: z56.string(),
|
|
33758
|
+
productType: z56.enum(["physical", "digital"]),
|
|
33759
|
+
requiresShipping: z56.boolean(),
|
|
33760
|
+
hasVariants: z56.boolean(),
|
|
33761
|
+
trackInventory: z56.boolean(),
|
|
33762
|
+
soldOut: z56.boolean(),
|
|
33763
|
+
category: z56.object({
|
|
33764
|
+
id: z56.string(),
|
|
33765
|
+
name: z56.string(),
|
|
33766
|
+
slug: z56.string()
|
|
33477
33767
|
}).nullable(),
|
|
33478
|
-
summary:
|
|
33479
|
-
body:
|
|
33480
|
-
gallery:
|
|
33481
|
-
|
|
33482
|
-
url:
|
|
33483
|
-
alt:
|
|
33768
|
+
summary: z56.string().nullable(),
|
|
33769
|
+
body: z56.unknown().nullable(),
|
|
33770
|
+
gallery: z56.array(
|
|
33771
|
+
z56.object({
|
|
33772
|
+
url: z56.string(),
|
|
33773
|
+
alt: z56.string().nullable()
|
|
33484
33774
|
})
|
|
33485
33775
|
),
|
|
33486
|
-
variants:
|
|
33776
|
+
variants: z56.array(publicProductVariantSchema)
|
|
33487
33777
|
});
|
|
33488
|
-
var publicProductsResponseSchema =
|
|
33489
|
-
products:
|
|
33778
|
+
var publicProductsResponseSchema = z56.object({
|
|
33779
|
+
products: z56.array(publicProductSchema)
|
|
33490
33780
|
});
|
|
33491
33781
|
|
|
33492
33782
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -33550,27 +33840,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
33550
33840
|
}
|
|
33551
33841
|
|
|
33552
33842
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
33553
|
-
import { z as
|
|
33554
|
-
var storedProductCartItemSchema =
|
|
33555
|
-
kind:
|
|
33556
|
-
productId:
|
|
33557
|
-
productCategoryId:
|
|
33558
|
-
variantId:
|
|
33559
|
-
title:
|
|
33560
|
-
variantTitle:
|
|
33561
|
-
quantity:
|
|
33562
|
-
unitPriceCents:
|
|
33563
|
-
currency:
|
|
33564
|
-
imageUrl:
|
|
33565
|
-
soldOut:
|
|
33566
|
-
});
|
|
33567
|
-
var storedPassCartItemSchema =
|
|
33568
|
-
kind:
|
|
33569
|
-
passId:
|
|
33570
|
-
title:
|
|
33571
|
-
quantity:
|
|
33572
|
-
unitPriceCents:
|
|
33573
|
-
currency:
|
|
33843
|
+
import { z as z57 } from "zod";
|
|
33844
|
+
var storedProductCartItemSchema = z57.object({
|
|
33845
|
+
kind: z57.literal("product"),
|
|
33846
|
+
productId: z57.string().min(1),
|
|
33847
|
+
productCategoryId: z57.string().min(1).optional().nullable(),
|
|
33848
|
+
variantId: z57.string().min(1).optional().nullable(),
|
|
33849
|
+
title: z57.string().min(1),
|
|
33850
|
+
variantTitle: z57.string().optional().nullable(),
|
|
33851
|
+
quantity: z57.number().finite(),
|
|
33852
|
+
unitPriceCents: z57.number().finite(),
|
|
33853
|
+
currency: z57.string().min(1),
|
|
33854
|
+
imageUrl: z57.string().optional().nullable(),
|
|
33855
|
+
soldOut: z57.boolean().optional()
|
|
33856
|
+
});
|
|
33857
|
+
var storedPassCartItemSchema = z57.object({
|
|
33858
|
+
kind: z57.literal("pass"),
|
|
33859
|
+
passId: z57.string().min(1),
|
|
33860
|
+
title: z57.string().min(1),
|
|
33861
|
+
quantity: z57.number().finite().optional(),
|
|
33862
|
+
unitPriceCents: z57.number().finite(),
|
|
33863
|
+
currency: z57.string().min(1)
|
|
33574
33864
|
});
|
|
33575
33865
|
function deriveCommerceCheckoutState(state) {
|
|
33576
33866
|
if (state.items.length === 0) {
|
|
@@ -33804,214 +34094,214 @@ function formatValidity(days) {
|
|
|
33804
34094
|
}
|
|
33805
34095
|
|
|
33806
34096
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33807
|
-
var shopModeSchema =
|
|
33808
|
-
var contentEntrySchema3 =
|
|
33809
|
-
id:
|
|
33810
|
-
slug:
|
|
34097
|
+
var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
34098
|
+
var contentEntrySchema3 = z58.object({
|
|
34099
|
+
id: z58.string().nullable().optional(),
|
|
34100
|
+
slug: z58.string().nullable().optional()
|
|
33811
34101
|
}).nullable();
|
|
33812
|
-
var shopSourceSchema =
|
|
33813
|
-
className:
|
|
34102
|
+
var shopSourceSchema = z58.object({
|
|
34103
|
+
className: z58.string().nullable().optional(),
|
|
33814
34104
|
mode: shopModeSchema.optional(),
|
|
33815
|
-
heading:
|
|
33816
|
-
productSlug:
|
|
33817
|
-
showPasses:
|
|
33818
|
-
showMemberships:
|
|
33819
|
-
layout:
|
|
33820
|
-
columns:
|
|
33821
|
-
showDescriptions:
|
|
33822
|
-
showSummary:
|
|
33823
|
-
showBody:
|
|
33824
|
-
showPrices:
|
|
33825
|
-
showValidityPeriod:
|
|
33826
|
-
showPricePerCredit:
|
|
33827
|
-
passesHeading:
|
|
33828
|
-
membershipsHeading:
|
|
33829
|
-
buyButtonText:
|
|
33830
|
-
addButtonText:
|
|
33831
|
-
passPurchaseMode:
|
|
33832
|
-
subscribeButtonText:
|
|
33833
|
-
emptyStateText:
|
|
33834
|
-
checkoutButtonText:
|
|
33835
|
-
clearButtonText:
|
|
33836
|
-
submitButtonText:
|
|
34105
|
+
heading: z58.string().nullable().optional(),
|
|
34106
|
+
productSlug: z58.string().nullable().optional(),
|
|
34107
|
+
showPasses: z58.boolean().optional(),
|
|
34108
|
+
showMemberships: z58.boolean().optional(),
|
|
34109
|
+
layout: z58.enum(["grid", "list"]).optional(),
|
|
34110
|
+
columns: z58.string().optional(),
|
|
34111
|
+
showDescriptions: z58.boolean().optional(),
|
|
34112
|
+
showSummary: z58.boolean().optional(),
|
|
34113
|
+
showBody: z58.boolean().optional(),
|
|
34114
|
+
showPrices: z58.boolean().optional(),
|
|
34115
|
+
showValidityPeriod: z58.boolean().optional(),
|
|
34116
|
+
showPricePerCredit: z58.boolean().nullable().optional(),
|
|
34117
|
+
passesHeading: z58.string().optional(),
|
|
34118
|
+
membershipsHeading: z58.string().optional(),
|
|
34119
|
+
buyButtonText: z58.string().optional(),
|
|
34120
|
+
addButtonText: z58.string().optional(),
|
|
34121
|
+
passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
|
|
34122
|
+
subscribeButtonText: z58.string().optional(),
|
|
34123
|
+
emptyStateText: z58.string().optional(),
|
|
34124
|
+
checkoutButtonText: z58.string().optional(),
|
|
34125
|
+
clearButtonText: z58.string().optional(),
|
|
34126
|
+
submitButtonText: z58.string().optional(),
|
|
33837
34127
|
contentEntry: contentEntrySchema3.optional(),
|
|
33838
|
-
passes:
|
|
33839
|
-
memberships:
|
|
33840
|
-
products:
|
|
33841
|
-
siteId:
|
|
33842
|
-
apiBaseUrl:
|
|
34128
|
+
passes: z58.array(publicPassProductSchema).nullable().optional(),
|
|
34129
|
+
memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
|
|
34130
|
+
products: z58.array(publicProductSchema).nullable().optional(),
|
|
34131
|
+
siteId: z58.string().optional(),
|
|
34132
|
+
apiBaseUrl: z58.string().optional(),
|
|
33843
34133
|
stage: previewStageSchema.optional()
|
|
33844
34134
|
});
|
|
33845
|
-
var productVariantOptionDisplaySchema =
|
|
33846
|
-
id:
|
|
33847
|
-
label:
|
|
33848
|
-
soldOut:
|
|
33849
|
-
});
|
|
33850
|
-
var productCardDisplaySchema =
|
|
33851
|
-
productId:
|
|
33852
|
-
title:
|
|
33853
|
-
path:
|
|
33854
|
-
summary:
|
|
33855
|
-
priceLabel:
|
|
33856
|
-
image:
|
|
33857
|
-
url:
|
|
33858
|
-
alt:
|
|
34135
|
+
var productVariantOptionDisplaySchema = z58.object({
|
|
34136
|
+
id: z58.string(),
|
|
34137
|
+
label: z58.string(),
|
|
34138
|
+
soldOut: z58.boolean()
|
|
34139
|
+
});
|
|
34140
|
+
var productCardDisplaySchema = z58.object({
|
|
34141
|
+
productId: z58.string(),
|
|
34142
|
+
title: z58.string(),
|
|
34143
|
+
path: z58.string().nullable(),
|
|
34144
|
+
summary: z58.string().nullable(),
|
|
34145
|
+
priceLabel: z58.string().nullable(),
|
|
34146
|
+
image: z58.object({
|
|
34147
|
+
url: z58.string(),
|
|
34148
|
+
alt: z58.string().nullable()
|
|
33859
34149
|
}).nullable(),
|
|
33860
|
-
variantOptions:
|
|
33861
|
-
selectedVariantId:
|
|
33862
|
-
selectionLabel:
|
|
33863
|
-
actionLabel:
|
|
33864
|
-
soldOut:
|
|
33865
|
-
});
|
|
33866
|
-
var productListDisplaySchema =
|
|
33867
|
-
kind:
|
|
33868
|
-
state:
|
|
33869
|
-
heading:
|
|
33870
|
-
className:
|
|
33871
|
-
layout:
|
|
33872
|
-
columns:
|
|
33873
|
-
emptyMessage:
|
|
33874
|
-
cards:
|
|
33875
|
-
});
|
|
33876
|
-
var productDetailDisplaySchema =
|
|
33877
|
-
|
|
33878
|
-
kind:
|
|
33879
|
-
state:
|
|
33880
|
-
heading:
|
|
33881
|
-
className:
|
|
33882
|
-
emptyMessage:
|
|
34150
|
+
variantOptions: z58.array(productVariantOptionDisplaySchema),
|
|
34151
|
+
selectedVariantId: z58.string().nullable(),
|
|
34152
|
+
selectionLabel: z58.string(),
|
|
34153
|
+
actionLabel: z58.string(),
|
|
34154
|
+
soldOut: z58.boolean()
|
|
34155
|
+
});
|
|
34156
|
+
var productListDisplaySchema = z58.object({
|
|
34157
|
+
kind: z58.literal("product-list"),
|
|
34158
|
+
state: z58.enum(["empty", "ready"]),
|
|
34159
|
+
heading: z58.string().nullable(),
|
|
34160
|
+
className: z58.string().nullable(),
|
|
34161
|
+
layout: z58.enum(["grid", "list"]),
|
|
34162
|
+
columns: z58.string(),
|
|
34163
|
+
emptyMessage: z58.string(),
|
|
34164
|
+
cards: z58.array(productCardDisplaySchema)
|
|
34165
|
+
});
|
|
34166
|
+
var productDetailDisplaySchema = z58.discriminatedUnion("state", [
|
|
34167
|
+
z58.object({
|
|
34168
|
+
kind: z58.literal("product-detail"),
|
|
34169
|
+
state: z58.literal("empty"),
|
|
34170
|
+
heading: z58.string().nullable(),
|
|
34171
|
+
className: z58.string().nullable(),
|
|
34172
|
+
emptyMessage: z58.string()
|
|
33883
34173
|
}),
|
|
33884
|
-
|
|
33885
|
-
kind:
|
|
33886
|
-
state:
|
|
33887
|
-
heading:
|
|
33888
|
-
className:
|
|
33889
|
-
title:
|
|
33890
|
-
priceLabel:
|
|
33891
|
-
summary:
|
|
33892
|
-
categoryLabel:
|
|
33893
|
-
gallery:
|
|
33894
|
-
url:
|
|
33895
|
-
alt:
|
|
34174
|
+
z58.object({
|
|
34175
|
+
kind: z58.literal("product-detail"),
|
|
34176
|
+
state: z58.literal("ready"),
|
|
34177
|
+
heading: z58.string().nullable(),
|
|
34178
|
+
className: z58.string().nullable(),
|
|
34179
|
+
title: z58.string(),
|
|
34180
|
+
priceLabel: z58.string(),
|
|
34181
|
+
summary: z58.string().nullable(),
|
|
34182
|
+
categoryLabel: z58.string().nullable(),
|
|
34183
|
+
gallery: z58.array(z58.object({
|
|
34184
|
+
url: z58.string(),
|
|
34185
|
+
alt: z58.string().nullable()
|
|
33896
34186
|
})),
|
|
33897
|
-
variantOptions:
|
|
33898
|
-
selectedVariantId:
|
|
33899
|
-
selectionLabel:
|
|
33900
|
-
actionLabel:
|
|
33901
|
-
soldOut:
|
|
33902
|
-
body:
|
|
34187
|
+
variantOptions: z58.array(productVariantOptionDisplaySchema),
|
|
34188
|
+
selectedVariantId: z58.string().nullable(),
|
|
34189
|
+
selectionLabel: z58.string(),
|
|
34190
|
+
actionLabel: z58.string(),
|
|
34191
|
+
soldOut: z58.boolean(),
|
|
34192
|
+
body: z58.unknown().nullable()
|
|
33903
34193
|
})
|
|
33904
34194
|
]);
|
|
33905
|
-
var passCardDisplaySchema =
|
|
33906
|
-
id:
|
|
33907
|
-
title:
|
|
33908
|
-
description:
|
|
33909
|
-
priceLabel:
|
|
33910
|
-
creditsLabel:
|
|
33911
|
-
perCreditLabel:
|
|
33912
|
-
validityLabel:
|
|
33913
|
-
actionLabel:
|
|
33914
|
-
});
|
|
33915
|
-
var membershipCardDisplaySchema =
|
|
33916
|
-
id:
|
|
33917
|
-
title:
|
|
33918
|
-
description:
|
|
33919
|
-
priceLabel:
|
|
33920
|
-
intervalLabel:
|
|
33921
|
-
actionLabel:
|
|
33922
|
-
});
|
|
33923
|
-
var passesMembershipsDisplaySchema =
|
|
33924
|
-
kind:
|
|
33925
|
-
state:
|
|
33926
|
-
className:
|
|
33927
|
-
layout:
|
|
33928
|
-
columns:
|
|
33929
|
-
emptyMessage:
|
|
33930
|
-
passesHeading:
|
|
33931
|
-
membershipsHeading:
|
|
33932
|
-
passes:
|
|
33933
|
-
memberships:
|
|
33934
|
-
});
|
|
33935
|
-
var cartLineDisplaySchema =
|
|
33936
|
-
key:
|
|
33937
|
-
title:
|
|
33938
|
-
priceLabel:
|
|
33939
|
-
quantity:
|
|
33940
|
-
quantityEditable:
|
|
33941
|
-
});
|
|
33942
|
-
var cartDisplaySchema =
|
|
33943
|
-
kind:
|
|
33944
|
-
state:
|
|
33945
|
-
heading:
|
|
33946
|
-
className:
|
|
33947
|
-
emptyMessage:
|
|
33948
|
-
supportText:
|
|
33949
|
-
items:
|
|
33950
|
-
subtotalLabel:
|
|
33951
|
-
checkoutButtonText:
|
|
33952
|
-
clearButtonText:
|
|
33953
|
-
});
|
|
33954
|
-
var checkoutDisplaySchema =
|
|
33955
|
-
kind:
|
|
33956
|
-
state:
|
|
33957
|
-
heading:
|
|
33958
|
-
className:
|
|
33959
|
-
message:
|
|
33960
|
-
submitButtonText:
|
|
33961
|
-
});
|
|
33962
|
-
var passesMembershipsHydrationSchema =
|
|
33963
|
-
passes:
|
|
33964
|
-
memberships:
|
|
33965
|
-
passPurchaseMode:
|
|
33966
|
-
});
|
|
33967
|
-
var productListHydrationSchema =
|
|
33968
|
-
products:
|
|
33969
|
-
showSummary:
|
|
33970
|
-
showPrices:
|
|
33971
|
-
addButtonText:
|
|
33972
|
-
});
|
|
33973
|
-
var productDetailHydrationSchema =
|
|
33974
|
-
products:
|
|
33975
|
-
productId:
|
|
33976
|
-
showSummary:
|
|
33977
|
-
showBody:
|
|
33978
|
-
addButtonText:
|
|
33979
|
-
});
|
|
33980
|
-
var cartHydrationSchema =
|
|
33981
|
-
emptyStateText:
|
|
33982
|
-
checkoutButtonText:
|
|
33983
|
-
clearButtonText:
|
|
33984
|
-
});
|
|
33985
|
-
var checkoutHydrationSchema =
|
|
33986
|
-
emptyStateText:
|
|
33987
|
-
submitButtonText:
|
|
33988
|
-
});
|
|
33989
|
-
var passesMembershipsRenderSchema =
|
|
34195
|
+
var passCardDisplaySchema = z58.object({
|
|
34196
|
+
id: z58.string(),
|
|
34197
|
+
title: z58.string(),
|
|
34198
|
+
description: z58.string().nullable(),
|
|
34199
|
+
priceLabel: z58.string(),
|
|
34200
|
+
creditsLabel: z58.string(),
|
|
34201
|
+
perCreditLabel: z58.string().nullable(),
|
|
34202
|
+
validityLabel: z58.string().nullable(),
|
|
34203
|
+
actionLabel: z58.string()
|
|
34204
|
+
});
|
|
34205
|
+
var membershipCardDisplaySchema = z58.object({
|
|
34206
|
+
id: z58.string(),
|
|
34207
|
+
title: z58.string(),
|
|
34208
|
+
description: z58.string().nullable(),
|
|
34209
|
+
priceLabel: z58.string(),
|
|
34210
|
+
intervalLabel: z58.string(),
|
|
34211
|
+
actionLabel: z58.string()
|
|
34212
|
+
});
|
|
34213
|
+
var passesMembershipsDisplaySchema = z58.object({
|
|
34214
|
+
kind: z58.literal("passes-memberships"),
|
|
34215
|
+
state: z58.enum(["empty", "ready"]),
|
|
34216
|
+
className: z58.string().nullable(),
|
|
34217
|
+
layout: z58.enum(["grid", "list"]),
|
|
34218
|
+
columns: z58.string(),
|
|
34219
|
+
emptyMessage: z58.string(),
|
|
34220
|
+
passesHeading: z58.string(),
|
|
34221
|
+
membershipsHeading: z58.string(),
|
|
34222
|
+
passes: z58.array(passCardDisplaySchema),
|
|
34223
|
+
memberships: z58.array(membershipCardDisplaySchema)
|
|
34224
|
+
});
|
|
34225
|
+
var cartLineDisplaySchema = z58.object({
|
|
34226
|
+
key: z58.string(),
|
|
34227
|
+
title: z58.string(),
|
|
34228
|
+
priceLabel: z58.string(),
|
|
34229
|
+
quantity: z58.number(),
|
|
34230
|
+
quantityEditable: z58.boolean()
|
|
34231
|
+
});
|
|
34232
|
+
var cartDisplaySchema = z58.object({
|
|
34233
|
+
kind: z58.literal("cart"),
|
|
34234
|
+
state: z58.enum(["empty", "ready"]),
|
|
34235
|
+
heading: z58.string().nullable(),
|
|
34236
|
+
className: z58.string().nullable(),
|
|
34237
|
+
emptyMessage: z58.string(),
|
|
34238
|
+
supportText: z58.string().nullable(),
|
|
34239
|
+
items: z58.array(cartLineDisplaySchema),
|
|
34240
|
+
subtotalLabel: z58.string().nullable(),
|
|
34241
|
+
checkoutButtonText: z58.string(),
|
|
34242
|
+
clearButtonText: z58.string()
|
|
34243
|
+
});
|
|
34244
|
+
var checkoutDisplaySchema = z58.object({
|
|
34245
|
+
kind: z58.literal("checkout"),
|
|
34246
|
+
state: z58.enum(["empty", "blocked", "ready"]),
|
|
34247
|
+
heading: z58.string().nullable(),
|
|
34248
|
+
className: z58.string().nullable(),
|
|
34249
|
+
message: z58.string().nullable(),
|
|
34250
|
+
submitButtonText: z58.string()
|
|
34251
|
+
});
|
|
34252
|
+
var passesMembershipsHydrationSchema = z58.object({
|
|
34253
|
+
passes: z58.array(publicPassProductSchema),
|
|
34254
|
+
memberships: z58.array(publicMembershipProductSchema),
|
|
34255
|
+
passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
|
|
34256
|
+
});
|
|
34257
|
+
var productListHydrationSchema = z58.object({
|
|
34258
|
+
products: z58.array(publicProductSchema),
|
|
34259
|
+
showSummary: z58.boolean(),
|
|
34260
|
+
showPrices: z58.boolean(),
|
|
34261
|
+
addButtonText: z58.string()
|
|
34262
|
+
});
|
|
34263
|
+
var productDetailHydrationSchema = z58.object({
|
|
34264
|
+
products: z58.array(publicProductSchema),
|
|
34265
|
+
productId: z58.string().nullable(),
|
|
34266
|
+
showSummary: z58.boolean(),
|
|
34267
|
+
showBody: z58.boolean(),
|
|
34268
|
+
addButtonText: z58.string()
|
|
34269
|
+
});
|
|
34270
|
+
var cartHydrationSchema = z58.object({
|
|
34271
|
+
emptyStateText: z58.string(),
|
|
34272
|
+
checkoutButtonText: z58.string(),
|
|
34273
|
+
clearButtonText: z58.string()
|
|
34274
|
+
});
|
|
34275
|
+
var checkoutHydrationSchema = z58.object({
|
|
34276
|
+
emptyStateText: z58.string(),
|
|
34277
|
+
submitButtonText: z58.string()
|
|
34278
|
+
});
|
|
34279
|
+
var passesMembershipsRenderSchema = z58.object({
|
|
33990
34280
|
display: passesMembershipsDisplaySchema,
|
|
33991
34281
|
hydration: passesMembershipsHydrationSchema
|
|
33992
34282
|
});
|
|
33993
|
-
var productListRenderSchema =
|
|
34283
|
+
var productListRenderSchema = z58.object({
|
|
33994
34284
|
display: productListDisplaySchema,
|
|
33995
34285
|
hydration: productListHydrationSchema
|
|
33996
34286
|
});
|
|
33997
|
-
var productDetailRenderSchema =
|
|
34287
|
+
var productDetailRenderSchema = z58.object({
|
|
33998
34288
|
display: productDetailDisplaySchema,
|
|
33999
34289
|
hydration: productDetailHydrationSchema
|
|
34000
34290
|
});
|
|
34001
|
-
var cartRenderSchema =
|
|
34291
|
+
var cartRenderSchema = z58.object({
|
|
34002
34292
|
display: cartDisplaySchema,
|
|
34003
34293
|
hydration: cartHydrationSchema
|
|
34004
34294
|
});
|
|
34005
|
-
var checkoutRenderSchema =
|
|
34295
|
+
var checkoutRenderSchema = z58.object({
|
|
34006
34296
|
display: checkoutDisplaySchema,
|
|
34007
34297
|
hydration: checkoutHydrationSchema
|
|
34008
34298
|
});
|
|
34009
34299
|
function resolveShowPricePerCredit(source) {
|
|
34010
34300
|
return source.showPricePerCredit ?? true;
|
|
34011
34301
|
}
|
|
34012
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
34013
|
-
siteId:
|
|
34014
|
-
apiBaseUrl:
|
|
34302
|
+
var shopIslandMetaCodec = createZodCodec(z58.object({
|
|
34303
|
+
siteId: z58.string().optional(),
|
|
34304
|
+
apiBaseUrl: z58.string().optional(),
|
|
34015
34305
|
stage: previewStageSchema.optional()
|
|
34016
34306
|
}));
|
|
34017
34307
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -34414,7 +34704,7 @@ var shopBlockDefinition = {
|
|
|
34414
34704
|
};
|
|
34415
34705
|
|
|
34416
34706
|
// ../blocks/src/system/blocks/product-list.ts
|
|
34417
|
-
import { z as
|
|
34707
|
+
import { z as z59 } from "zod";
|
|
34418
34708
|
var productListManifest = createBlockManifest({
|
|
34419
34709
|
id: "block.product-list",
|
|
34420
34710
|
version: "1.0.0",
|
|
@@ -34547,7 +34837,7 @@ var productListBlockDefinition = {
|
|
|
34547
34837
|
}
|
|
34548
34838
|
}
|
|
34549
34839
|
};
|
|
34550
|
-
var productListDataSchema =
|
|
34840
|
+
var productListDataSchema = z59.object({
|
|
34551
34841
|
products: publicProductsResponseSchema.optional()
|
|
34552
34842
|
});
|
|
34553
34843
|
|
|
@@ -34808,72 +35098,72 @@ var checkoutBlockDefinition = {
|
|
|
34808
35098
|
};
|
|
34809
35099
|
|
|
34810
35100
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
34811
|
-
import { z as
|
|
34812
|
-
var publicGiftCardOfferSchema =
|
|
34813
|
-
id:
|
|
34814
|
-
kind:
|
|
34815
|
-
title:
|
|
34816
|
-
description:
|
|
34817
|
-
sortOrder:
|
|
34818
|
-
giftCard:
|
|
34819
|
-
fixedDenominations:
|
|
34820
|
-
customAmountEnabled:
|
|
34821
|
-
customAmountMinCents:
|
|
34822
|
-
customAmountMaxCents:
|
|
35101
|
+
import { z as z60 } from "zod";
|
|
35102
|
+
var publicGiftCardOfferSchema = z60.object({
|
|
35103
|
+
id: z60.string(),
|
|
35104
|
+
kind: z60.literal("gift_card"),
|
|
35105
|
+
title: z60.string(),
|
|
35106
|
+
description: z60.string().nullable(),
|
|
35107
|
+
sortOrder: z60.number().int(),
|
|
35108
|
+
giftCard: z60.object({
|
|
35109
|
+
fixedDenominations: z60.array(z60.number().int().positive()),
|
|
35110
|
+
customAmountEnabled: z60.boolean(),
|
|
35111
|
+
customAmountMinCents: z60.number().int().positive(),
|
|
35112
|
+
customAmountMaxCents: z60.number().int().positive()
|
|
34823
35113
|
}),
|
|
34824
|
-
voucher:
|
|
34825
|
-
});
|
|
34826
|
-
var publicVoucherOfferSchema =
|
|
34827
|
-
id:
|
|
34828
|
-
kind:
|
|
34829
|
-
title:
|
|
34830
|
-
description:
|
|
34831
|
-
sortOrder:
|
|
34832
|
-
giftCard:
|
|
34833
|
-
voucher:
|
|
34834
|
-
purchaseAmountCents:
|
|
35114
|
+
voucher: z60.null()
|
|
35115
|
+
});
|
|
35116
|
+
var publicVoucherOfferSchema = z60.object({
|
|
35117
|
+
id: z60.string(),
|
|
35118
|
+
kind: z60.literal("voucher"),
|
|
35119
|
+
title: z60.string(),
|
|
35120
|
+
description: z60.string().nullable(),
|
|
35121
|
+
sortOrder: z60.number().int(),
|
|
35122
|
+
giftCard: z60.null(),
|
|
35123
|
+
voucher: z60.object({
|
|
35124
|
+
purchaseAmountCents: z60.number().int().positive()
|
|
34835
35125
|
})
|
|
34836
35126
|
});
|
|
34837
|
-
var publicGiftingOffersResponseSchema =
|
|
34838
|
-
currency:
|
|
34839
|
-
giftCards:
|
|
34840
|
-
vouchers:
|
|
35127
|
+
var publicGiftingOffersResponseSchema = z60.object({
|
|
35128
|
+
currency: z60.string(),
|
|
35129
|
+
giftCards: z60.array(publicGiftCardOfferSchema),
|
|
35130
|
+
vouchers: z60.array(publicVoucherOfferSchema)
|
|
34841
35131
|
});
|
|
34842
|
-
var giftingSourceSchema =
|
|
34843
|
-
siteId:
|
|
34844
|
-
apiBaseUrl:
|
|
35132
|
+
var giftingSourceSchema = z60.object({
|
|
35133
|
+
siteId: z60.string().optional(),
|
|
35134
|
+
apiBaseUrl: z60.string().optional(),
|
|
34845
35135
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
34846
|
-
className:
|
|
34847
|
-
heading:
|
|
34848
|
-
intro:
|
|
34849
|
-
giftCardsHeading:
|
|
34850
|
-
vouchersHeading:
|
|
34851
|
-
emptyStateText:
|
|
34852
|
-
checkoutButtonText:
|
|
34853
|
-
successMessage:
|
|
34854
|
-
});
|
|
34855
|
-
var giftingDisplaySchema =
|
|
34856
|
-
kind:
|
|
34857
|
-
state:
|
|
34858
|
-
className:
|
|
34859
|
-
heading:
|
|
34860
|
-
intro:
|
|
34861
|
-
giftCardsHeading:
|
|
34862
|
-
vouchersHeading:
|
|
34863
|
-
emptyStateText:
|
|
34864
|
-
});
|
|
34865
|
-
var giftingHydrationSchema =
|
|
35136
|
+
className: z60.string().nullable().optional(),
|
|
35137
|
+
heading: z60.string().nullable().optional(),
|
|
35138
|
+
intro: z60.string().nullable().optional(),
|
|
35139
|
+
giftCardsHeading: z60.string().nullable().optional(),
|
|
35140
|
+
vouchersHeading: z60.string().nullable().optional(),
|
|
35141
|
+
emptyStateText: z60.string().nullable().optional(),
|
|
35142
|
+
checkoutButtonText: z60.string().nullable().optional(),
|
|
35143
|
+
successMessage: z60.string().nullable().optional()
|
|
35144
|
+
});
|
|
35145
|
+
var giftingDisplaySchema = z60.object({
|
|
35146
|
+
kind: z60.literal("gifting"),
|
|
35147
|
+
state: z60.literal("ready"),
|
|
35148
|
+
className: z60.string().nullable(),
|
|
35149
|
+
heading: z60.string(),
|
|
35150
|
+
intro: z60.string().nullable(),
|
|
35151
|
+
giftCardsHeading: z60.string(),
|
|
35152
|
+
vouchersHeading: z60.string(),
|
|
35153
|
+
emptyStateText: z60.string()
|
|
35154
|
+
});
|
|
35155
|
+
var giftingHydrationSchema = z60.object({
|
|
34866
35156
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
34867
|
-
checkoutButtonText:
|
|
34868
|
-
successMessage:
|
|
35157
|
+
checkoutButtonText: z60.string(),
|
|
35158
|
+
successMessage: z60.string()
|
|
34869
35159
|
});
|
|
34870
|
-
var giftingRenderSchema =
|
|
35160
|
+
var giftingRenderSchema = z60.object({
|
|
34871
35161
|
display: giftingDisplaySchema,
|
|
34872
35162
|
hydration: giftingHydrationSchema
|
|
34873
35163
|
});
|
|
34874
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
34875
|
-
siteId:
|
|
34876
|
-
apiBaseUrl:
|
|
35164
|
+
var giftingIslandMetaCodec = createZodCodec(z60.object({
|
|
35165
|
+
siteId: z60.string().optional(),
|
|
35166
|
+
apiBaseUrl: z60.string().optional()
|
|
34877
35167
|
}));
|
|
34878
35168
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
34879
35169
|
"siteId",
|
|
@@ -35044,7 +35334,7 @@ var giftingBlockDefinition = {
|
|
|
35044
35334
|
};
|
|
35045
35335
|
|
|
35046
35336
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
35047
|
-
import { z as
|
|
35337
|
+
import { z as z61 } from "zod";
|
|
35048
35338
|
|
|
35049
35339
|
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
35050
35340
|
function parseNewsletterSignupBlockId(value) {
|
|
@@ -35151,65 +35441,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
35151
35441
|
}
|
|
35152
35442
|
|
|
35153
35443
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
35154
|
-
var newsletterPresetSchema =
|
|
35155
|
-
var newsletterDestinationProviderSchema =
|
|
35156
|
-
var newsletterFieldSchema =
|
|
35157
|
-
id:
|
|
35158
|
-
type:
|
|
35159
|
-
label:
|
|
35160
|
-
required:
|
|
35161
|
-
placeholder:
|
|
35162
|
-
});
|
|
35163
|
-
var newsletterSignupBlockIdSchema =
|
|
35164
|
-
var signedNewsletterDestinationRefSchema =
|
|
35165
|
-
var newsletterPublicDestinationRefSchema =
|
|
35166
|
-
|
|
35167
|
-
tag:
|
|
35444
|
+
var newsletterPresetSchema = z61.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
35445
|
+
var newsletterDestinationProviderSchema = z61.enum(["riverbank", "mailchimp"]);
|
|
35446
|
+
var newsletterFieldSchema = z61.object({
|
|
35447
|
+
id: z61.string(),
|
|
35448
|
+
type: z61.enum(["email", "text"]),
|
|
35449
|
+
label: z61.string(),
|
|
35450
|
+
required: z61.boolean(),
|
|
35451
|
+
placeholder: z61.string().optional()
|
|
35452
|
+
});
|
|
35453
|
+
var newsletterSignupBlockIdSchema = z61.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
35454
|
+
var signedNewsletterDestinationRefSchema = z61.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
35455
|
+
var newsletterPublicDestinationRefSchema = z61.discriminatedUnion("tag", [
|
|
35456
|
+
z61.object({
|
|
35457
|
+
tag: z61.literal("block_ref"),
|
|
35168
35458
|
blockId: newsletterSignupBlockIdSchema
|
|
35169
35459
|
}),
|
|
35170
|
-
|
|
35171
|
-
tag:
|
|
35460
|
+
z61.object({
|
|
35461
|
+
tag: z61.literal("signed_destination_ref"),
|
|
35172
35462
|
token: signedNewsletterDestinationRefSchema
|
|
35173
35463
|
})
|
|
35174
35464
|
]);
|
|
35175
|
-
var newsletterSourceSchema =
|
|
35176
|
-
blockId:
|
|
35177
|
-
siteId:
|
|
35178
|
-
apiBaseUrl:
|
|
35179
|
-
listId:
|
|
35465
|
+
var newsletterSourceSchema = z61.object({
|
|
35466
|
+
blockId: z61.string().nullable().optional(),
|
|
35467
|
+
siteId: z61.string().optional(),
|
|
35468
|
+
apiBaseUrl: z61.string().optional(),
|
|
35469
|
+
listId: z61.string().nullable().optional(),
|
|
35180
35470
|
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
35181
35471
|
preset: newsletterPresetSchema.optional(),
|
|
35182
|
-
includePhone:
|
|
35183
|
-
buttonLabel:
|
|
35184
|
-
successMessage:
|
|
35185
|
-
privacyNote:
|
|
35186
|
-
tags:
|
|
35187
|
-
spamProtectionEnabled:
|
|
35188
|
-
className:
|
|
35189
|
-
});
|
|
35190
|
-
var newsletterDisplaySchema =
|
|
35191
|
-
kind:
|
|
35192
|
-
className:
|
|
35193
|
-
buttonLabel:
|
|
35194
|
-
successMessage:
|
|
35195
|
-
privacyNote:
|
|
35196
|
-
fields:
|
|
35197
|
-
});
|
|
35198
|
-
var newsletterHydrationSchema =
|
|
35472
|
+
includePhone: z61.boolean().optional(),
|
|
35473
|
+
buttonLabel: z61.string().nullable().optional(),
|
|
35474
|
+
successMessage: z61.string().nullable().optional(),
|
|
35475
|
+
privacyNote: z61.string().nullable().optional(),
|
|
35476
|
+
tags: z61.string().nullable().optional(),
|
|
35477
|
+
spamProtectionEnabled: z61.boolean().optional(),
|
|
35478
|
+
className: z61.string().nullable().optional()
|
|
35479
|
+
});
|
|
35480
|
+
var newsletterDisplaySchema = z61.object({
|
|
35481
|
+
kind: z61.literal("newsletter-form"),
|
|
35482
|
+
className: z61.string().nullable(),
|
|
35483
|
+
buttonLabel: z61.string(),
|
|
35484
|
+
successMessage: z61.string().nullable(),
|
|
35485
|
+
privacyNote: z61.string().nullable(),
|
|
35486
|
+
fields: z61.array(newsletterFieldSchema)
|
|
35487
|
+
});
|
|
35488
|
+
var newsletterHydrationSchema = z61.object({
|
|
35199
35489
|
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
35200
|
-
listId:
|
|
35490
|
+
listId: z61.string().nullable().optional(),
|
|
35201
35491
|
preset: newsletterPresetSchema,
|
|
35202
|
-
includePhone:
|
|
35203
|
-
tags:
|
|
35204
|
-
spamProtectionEnabled:
|
|
35492
|
+
includePhone: z61.boolean(),
|
|
35493
|
+
tags: z61.string().nullable().optional(),
|
|
35494
|
+
spamProtectionEnabled: z61.boolean().optional()
|
|
35205
35495
|
});
|
|
35206
|
-
var newsletterRenderSchema =
|
|
35496
|
+
var newsletterRenderSchema = z61.object({
|
|
35207
35497
|
display: newsletterDisplaySchema,
|
|
35208
35498
|
hydration: newsletterHydrationSchema
|
|
35209
35499
|
});
|
|
35210
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
35211
|
-
siteId:
|
|
35212
|
-
apiBaseUrl:
|
|
35500
|
+
var newsletterIslandMetaCodec = createZodCodec(z61.object({
|
|
35501
|
+
siteId: z61.string().optional(),
|
|
35502
|
+
apiBaseUrl: z61.string().optional()
|
|
35213
35503
|
}));
|
|
35214
35504
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
35215
35505
|
function buildNewsletterDisplay(source) {
|
|
@@ -35348,23 +35638,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
35348
35638
|
};
|
|
35349
35639
|
|
|
35350
35640
|
// ../blocks/src/system/blocks/team-members.ts
|
|
35351
|
-
import { z as
|
|
35641
|
+
import { z as z62 } from "zod";
|
|
35352
35642
|
var ITEM_NAME2 = "member";
|
|
35353
35643
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
35354
35644
|
message: "Team member photos must be image media"
|
|
35355
35645
|
}).nullable();
|
|
35356
|
-
var teamMemberDataSchema =
|
|
35357
|
-
_type:
|
|
35358
|
-
id:
|
|
35359
|
-
name:
|
|
35360
|
-
role:
|
|
35361
|
-
roleLabel:
|
|
35362
|
-
bio:
|
|
35363
|
-
summary:
|
|
35646
|
+
var teamMemberDataSchema = z62.object({
|
|
35647
|
+
_type: z62.literal("teamMember"),
|
|
35648
|
+
id: z62.string(),
|
|
35649
|
+
name: z62.string(),
|
|
35650
|
+
role: z62.string().nullable(),
|
|
35651
|
+
roleLabel: z62.string().nullable(),
|
|
35652
|
+
bio: z62.string().nullable(),
|
|
35653
|
+
summary: z62.string().nullable(),
|
|
35364
35654
|
photo: teamMemberPhotoSchema,
|
|
35365
|
-
profilePath:
|
|
35655
|
+
profilePath: z62.string().nullable()
|
|
35366
35656
|
});
|
|
35367
|
-
var teamMembersDataSchema =
|
|
35657
|
+
var teamMembersDataSchema = z62.array(teamMemberDataSchema);
|
|
35368
35658
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
35369
35659
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
35370
35660
|
var headingNode = text(
|
|
@@ -36470,6 +36760,10 @@ var systemBlockDefinitionsRaw = [
|
|
|
36470
36760
|
flow: conversionFlow,
|
|
36471
36761
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
36472
36762
|
})),
|
|
36763
|
+
withDesignCapability("block.weekly-slot-availability", weeklySlotAvailabilityBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
36764
|
+
flow: offeringsFlow,
|
|
36765
|
+
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
36766
|
+
})),
|
|
36473
36767
|
withDesignCapability("block.event-registration", eventRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
36474
36768
|
flow: conversionFlow,
|
|
36475
36769
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
@@ -38048,34 +38342,34 @@ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
|
38048
38342
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
38049
38343
|
|
|
38050
38344
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
38051
|
-
import { z as
|
|
38052
|
-
var themeBridgeConfigSchema =
|
|
38053
|
-
tokens:
|
|
38054
|
-
typography:
|
|
38055
|
-
headingFamily:
|
|
38056
|
-
bodyFamily:
|
|
38057
|
-
headingWeight:
|
|
38058
|
-
bodyWeight:
|
|
38345
|
+
import { z as z63 } from "zod";
|
|
38346
|
+
var themeBridgeConfigSchema = z63.object({
|
|
38347
|
+
tokens: z63.record(z63.string(), z63.string()),
|
|
38348
|
+
typography: z63.object({
|
|
38349
|
+
headingFamily: z63.string().optional(),
|
|
38350
|
+
bodyFamily: z63.string().optional(),
|
|
38351
|
+
headingWeight: z63.number().optional(),
|
|
38352
|
+
bodyWeight: z63.number().optional()
|
|
38059
38353
|
}).optional(),
|
|
38060
|
-
spacing:
|
|
38061
|
-
corners:
|
|
38062
|
-
shadows:
|
|
38063
|
-
components:
|
|
38064
|
-
buttons:
|
|
38065
|
-
|
|
38066
|
-
|
|
38067
|
-
variants:
|
|
38354
|
+
spacing: z63.enum(["comfortable", "standard", "dense"]).optional(),
|
|
38355
|
+
corners: z63.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
38356
|
+
shadows: z63.enum(["none", "low", "medium", "high"]).optional(),
|
|
38357
|
+
components: z63.object({
|
|
38358
|
+
buttons: z63.union([
|
|
38359
|
+
z63.boolean(),
|
|
38360
|
+
z63.object({
|
|
38361
|
+
variants: z63.array(z63.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
38068
38362
|
})
|
|
38069
38363
|
]).optional(),
|
|
38070
|
-
cards:
|
|
38071
|
-
|
|
38072
|
-
|
|
38073
|
-
variants:
|
|
38364
|
+
cards: z63.union([
|
|
38365
|
+
z63.boolean(),
|
|
38366
|
+
z63.object({
|
|
38367
|
+
variants: z63.array(z63.enum(["default", "elevated", "outlined"])).optional()
|
|
38074
38368
|
})
|
|
38075
38369
|
]).optional(),
|
|
38076
|
-
inputs:
|
|
38370
|
+
inputs: z63.boolean().optional()
|
|
38077
38371
|
}).optional(),
|
|
38078
|
-
overrides:
|
|
38372
|
+
overrides: z63.record(z63.string(), z63.string()).optional()
|
|
38079
38373
|
}).passthrough();
|
|
38080
38374
|
|
|
38081
38375
|
// ../theme-core/src/siteChrome.tsx
|
|
@@ -38094,24 +38388,25 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
38094
38388
|
"listPublicPasses",
|
|
38095
38389
|
"listPublicMemberships",
|
|
38096
38390
|
"getPublicFormById",
|
|
38097
|
-
"getPublicBookingServices"
|
|
38391
|
+
"getPublicBookingServices",
|
|
38392
|
+
"getPublicWeeklySlotAvailability"
|
|
38098
38393
|
];
|
|
38099
38394
|
|
|
38100
38395
|
// ../api/src/sdkConfig/contracts.ts
|
|
38101
38396
|
function unsafeRetypeZodSchema(schema) {
|
|
38102
38397
|
return schema;
|
|
38103
38398
|
}
|
|
38104
|
-
var navIdListSchema =
|
|
38399
|
+
var navIdListSchema = z64.preprocess((value) => {
|
|
38105
38400
|
if (!Array.isArray(value)) return void 0;
|
|
38106
38401
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
38107
38402
|
return filtered.length > 0 ? filtered : void 0;
|
|
38108
|
-
},
|
|
38109
|
-
var dashboardNavVisibilityBaseSchema =
|
|
38110
|
-
mode:
|
|
38403
|
+
}, z64.array(z64.string()).max(200).optional());
|
|
38404
|
+
var dashboardNavVisibilityBaseSchema = z64.object({
|
|
38405
|
+
mode: z64.enum(["augment", "restrict"]).optional(),
|
|
38111
38406
|
allowIds: navIdListSchema,
|
|
38112
38407
|
denyIds: navIdListSchema
|
|
38113
38408
|
}).strip();
|
|
38114
|
-
var dashboardNavVisibilityRolesSchema =
|
|
38409
|
+
var dashboardNavVisibilityRolesSchema = z64.object({
|
|
38115
38410
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
38116
38411
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
38117
38412
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -38119,63 +38414,63 @@ var dashboardNavVisibilityRolesSchema = z63.object({
|
|
|
38119
38414
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
38120
38415
|
roles: dashboardNavVisibilityRolesSchema
|
|
38121
38416
|
}).strip();
|
|
38122
|
-
var dashboardNavigationConfigSchema =
|
|
38417
|
+
var dashboardNavigationConfigSchema = z64.object({
|
|
38123
38418
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
38124
38419
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
38125
38420
|
}).strip();
|
|
38126
|
-
var dashboardConfigSchema =
|
|
38127
|
-
previewEditingEnabled:
|
|
38421
|
+
var dashboardConfigSchema = z64.object({
|
|
38422
|
+
previewEditingEnabled: z64.boolean().optional(),
|
|
38128
38423
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
38129
38424
|
}).strip();
|
|
38130
38425
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
38131
38426
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
38132
|
-
var sdkLoaderEndpointSchema =
|
|
38133
|
-
var loaderFallbackScalarSchema =
|
|
38134
|
-
|
|
38135
|
-
|
|
38136
|
-
|
|
38137
|
-
|
|
38427
|
+
var sdkLoaderEndpointSchema = z64.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
38428
|
+
var loaderFallbackScalarSchema = z64.union([
|
|
38429
|
+
z64.string(),
|
|
38430
|
+
z64.number(),
|
|
38431
|
+
z64.boolean(),
|
|
38432
|
+
z64.null()
|
|
38138
38433
|
]);
|
|
38139
|
-
var loaderParamBindingSchema =
|
|
38140
|
-
$bind:
|
|
38141
|
-
from:
|
|
38434
|
+
var loaderParamBindingSchema = z64.object({
|
|
38435
|
+
$bind: z64.object({
|
|
38436
|
+
from: z64.string().min(1, "Binding path is required"),
|
|
38142
38437
|
fallback: loaderFallbackScalarSchema.optional()
|
|
38143
38438
|
})
|
|
38144
38439
|
});
|
|
38145
|
-
var loaderParamValueSchema =
|
|
38146
|
-
|
|
38147
|
-
|
|
38148
|
-
|
|
38440
|
+
var loaderParamValueSchema = z64.union([
|
|
38441
|
+
z64.string(),
|
|
38442
|
+
z64.number(),
|
|
38443
|
+
z64.boolean(),
|
|
38149
38444
|
loaderParamBindingSchema
|
|
38150
38445
|
]);
|
|
38151
|
-
var sdkConfigLoaderSchema =
|
|
38446
|
+
var sdkConfigLoaderSchema = z64.object({
|
|
38152
38447
|
endpoint: sdkLoaderEndpointSchema,
|
|
38153
|
-
params:
|
|
38154
|
-
mode:
|
|
38448
|
+
params: z64.record(z64.string(), loaderParamValueSchema),
|
|
38449
|
+
mode: z64.enum(["server", "client"]).default("server")
|
|
38155
38450
|
});
|
|
38156
|
-
var sdkDataLoadersSchema =
|
|
38157
|
-
var sdkCustomBlockIdSchema =
|
|
38451
|
+
var sdkDataLoadersSchema = z64.record(z64.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
38452
|
+
var sdkCustomBlockIdSchema = z64.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
38158
38453
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
38159
38454
|
}).transform((value) => value);
|
|
38160
|
-
var sdkCustomBlockInputSchema =
|
|
38455
|
+
var sdkCustomBlockInputSchema = z64.object({
|
|
38161
38456
|
id: sdkCustomBlockIdSchema,
|
|
38162
|
-
title:
|
|
38163
|
-
titleSource:
|
|
38164
|
-
description:
|
|
38457
|
+
title: z64.string().min(1),
|
|
38458
|
+
titleSource: z64.union([z64.string().min(1), z64.array(z64.string().min(1)).min(1)]).optional(),
|
|
38459
|
+
description: z64.string().optional(),
|
|
38165
38460
|
category: blockCategoryEnum,
|
|
38166
|
-
icon:
|
|
38167
|
-
tags:
|
|
38461
|
+
icon: z64.string().optional(),
|
|
38462
|
+
tags: z64.array(z64.string()).optional(),
|
|
38168
38463
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
38169
38464
|
dataLoaders: sdkDataLoadersSchema,
|
|
38170
38465
|
layout: NodeSchema.optional(),
|
|
38171
|
-
variants:
|
|
38172
|
-
defaultVariant:
|
|
38173
|
-
variantOptions:
|
|
38174
|
-
|
|
38175
|
-
|
|
38176
|
-
label:
|
|
38177
|
-
description:
|
|
38178
|
-
icon:
|
|
38466
|
+
variants: z64.record(z64.string().min(1), NodeSchema).optional(),
|
|
38467
|
+
defaultVariant: z64.string().min(1).optional(),
|
|
38468
|
+
variantOptions: z64.record(
|
|
38469
|
+
z64.string().min(1),
|
|
38470
|
+
z64.object({
|
|
38471
|
+
label: z64.string().min(1).optional(),
|
|
38472
|
+
description: z64.string().min(1).optional(),
|
|
38473
|
+
icon: z64.string().min(1).optional()
|
|
38179
38474
|
})
|
|
38180
38475
|
).optional(),
|
|
38181
38476
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -38186,7 +38481,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38186
38481
|
const exists = data.fields.some((field) => field.id === source);
|
|
38187
38482
|
if (!exists) {
|
|
38188
38483
|
ctx.addIssue({
|
|
38189
|
-
code:
|
|
38484
|
+
code: z64.ZodIssueCode.custom,
|
|
38190
38485
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
38191
38486
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
38192
38487
|
});
|
|
@@ -38195,7 +38490,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38195
38490
|
}
|
|
38196
38491
|
if (data.layout && data.variants) {
|
|
38197
38492
|
ctx.addIssue({
|
|
38198
|
-
code:
|
|
38493
|
+
code: z64.ZodIssueCode.custom,
|
|
38199
38494
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
38200
38495
|
path: ["variants"]
|
|
38201
38496
|
});
|
|
@@ -38204,14 +38499,14 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38204
38499
|
const keys = Object.keys(data.variants);
|
|
38205
38500
|
if (keys.length === 0) {
|
|
38206
38501
|
ctx.addIssue({
|
|
38207
|
-
code:
|
|
38502
|
+
code: z64.ZodIssueCode.custom,
|
|
38208
38503
|
message: "`variants` must contain at least one variant key",
|
|
38209
38504
|
path: ["variants"]
|
|
38210
38505
|
});
|
|
38211
38506
|
}
|
|
38212
38507
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
38213
38508
|
ctx.addIssue({
|
|
38214
|
-
code:
|
|
38509
|
+
code: z64.ZodIssueCode.custom,
|
|
38215
38510
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
38216
38511
|
path: ["defaultVariant"]
|
|
38217
38512
|
});
|
|
@@ -38220,7 +38515,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38220
38515
|
for (const key of Object.keys(data.variantOptions)) {
|
|
38221
38516
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
38222
38517
|
ctx.addIssue({
|
|
38223
|
-
code:
|
|
38518
|
+
code: z64.ZodIssueCode.custom,
|
|
38224
38519
|
message: "`variantOptions` key must exist in `variants`",
|
|
38225
38520
|
path: ["variantOptions", key]
|
|
38226
38521
|
});
|
|
@@ -38229,78 +38524,78 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38229
38524
|
}
|
|
38230
38525
|
}
|
|
38231
38526
|
});
|
|
38232
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38527
|
+
var sdkBlockFieldExtensionInputSchema = z64.object({
|
|
38233
38528
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
38234
38529
|
});
|
|
38235
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
38236
|
-
|
|
38530
|
+
var sdkBlockFieldExtensionsInputSchema = z64.record(
|
|
38531
|
+
z64.string().min(1),
|
|
38237
38532
|
sdkBlockFieldExtensionInputSchema
|
|
38238
38533
|
);
|
|
38239
|
-
var sdkThemePaletteSchema =
|
|
38240
|
-
var sdkThemeConfigSchema =
|
|
38534
|
+
var sdkThemePaletteSchema = z64.record(z64.string(), z64.string());
|
|
38535
|
+
var sdkThemeConfigSchema = z64.object({
|
|
38241
38536
|
palette: sdkThemePaletteSchema
|
|
38242
38537
|
});
|
|
38243
|
-
var sdkSectionBackgroundSchema =
|
|
38244
|
-
id:
|
|
38245
|
-
label:
|
|
38246
|
-
token:
|
|
38538
|
+
var sdkSectionBackgroundSchema = z64.object({
|
|
38539
|
+
id: z64.string().min(1),
|
|
38540
|
+
label: z64.string().min(1),
|
|
38541
|
+
token: z64.string().min(1)
|
|
38247
38542
|
});
|
|
38248
|
-
var sdkSectionOptionsConfigSchema =
|
|
38249
|
-
backgroundColor:
|
|
38250
|
-
backgroundImage:
|
|
38251
|
-
backgroundGradient:
|
|
38252
|
-
spacing:
|
|
38253
|
-
textColor:
|
|
38543
|
+
var sdkSectionOptionsConfigSchema = z64.object({
|
|
38544
|
+
backgroundColor: z64.boolean().optional(),
|
|
38545
|
+
backgroundImage: z64.boolean().optional(),
|
|
38546
|
+
backgroundGradient: z64.boolean().optional(),
|
|
38547
|
+
spacing: z64.union([z64.array(z64.enum(["compact", "default", "spacious"])), z64.boolean()]).optional(),
|
|
38548
|
+
textColor: z64.boolean().optional()
|
|
38254
38549
|
});
|
|
38255
|
-
var sdkContainerOptionsConfigSchema =
|
|
38256
|
-
maxWidth:
|
|
38257
|
-
alignment:
|
|
38550
|
+
var sdkContainerOptionsConfigSchema = z64.object({
|
|
38551
|
+
maxWidth: z64.union([z64.array(z64.enum(["narrow", "default", "wide", "full"])), z64.boolean()]).optional(),
|
|
38552
|
+
alignment: z64.union([z64.array(z64.enum(["left", "center", "right"])), z64.boolean()]).optional()
|
|
38258
38553
|
});
|
|
38259
|
-
var sdkSiteStyleConfigSchema =
|
|
38260
|
-
sectionBackgrounds:
|
|
38554
|
+
var sdkSiteStyleConfigSchema = z64.object({
|
|
38555
|
+
sectionBackgrounds: z64.array(sdkSectionBackgroundSchema).optional(),
|
|
38261
38556
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
38262
38557
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
38263
38558
|
});
|
|
38264
|
-
var sdkSiteLayoutConfigSchema =
|
|
38265
|
-
footerBlocks:
|
|
38266
|
-
|
|
38267
|
-
id:
|
|
38268
|
-
kind:
|
|
38269
|
-
content:
|
|
38559
|
+
var sdkSiteLayoutConfigSchema = z64.object({
|
|
38560
|
+
footerBlocks: z64.array(
|
|
38561
|
+
z64.object({
|
|
38562
|
+
id: z64.string().min(1).optional(),
|
|
38563
|
+
kind: z64.string().min(1),
|
|
38564
|
+
content: z64.record(z64.string(), z64.unknown()).optional()
|
|
38270
38565
|
})
|
|
38271
38566
|
).optional()
|
|
38272
38567
|
});
|
|
38273
|
-
var sdkFieldSelectOptionSchema =
|
|
38274
|
-
value:
|
|
38275
|
-
label:
|
|
38568
|
+
var sdkFieldSelectOptionSchema = z64.object({
|
|
38569
|
+
value: z64.string(),
|
|
38570
|
+
label: z64.string()
|
|
38276
38571
|
});
|
|
38277
|
-
var sdkBlockFieldConfigSchema =
|
|
38278
|
-
options:
|
|
38572
|
+
var sdkBlockFieldConfigSchema = z64.object({
|
|
38573
|
+
options: z64.array(sdkFieldSelectOptionSchema).optional()
|
|
38279
38574
|
});
|
|
38280
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
38281
|
-
|
|
38575
|
+
var sdkBlockFieldOptionsMapSchema = z64.record(
|
|
38576
|
+
z64.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
38282
38577
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
38283
38578
|
}),
|
|
38284
|
-
|
|
38579
|
+
z64.record(z64.string().min(1), sdkBlockFieldConfigSchema)
|
|
38285
38580
|
).optional();
|
|
38286
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
38287
|
-
blocks:
|
|
38581
|
+
var sdkContentTypeTemplateConfigSchema = z64.object({
|
|
38582
|
+
blocks: z64.array(z64.unknown())
|
|
38288
38583
|
}).passthrough();
|
|
38289
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
38290
|
-
mode:
|
|
38584
|
+
var sdkContentTypeOrderingConfigSchema = z64.object({
|
|
38585
|
+
mode: z64.enum(["default", "manual"]).optional()
|
|
38291
38586
|
}).optional();
|
|
38292
|
-
var sdkContentTypeConfigSchema =
|
|
38293
|
-
key:
|
|
38294
|
-
fields:
|
|
38587
|
+
var sdkContentTypeConfigSchema = z64.object({
|
|
38588
|
+
key: z64.string().min(1),
|
|
38589
|
+
fields: z64.array(z64.unknown()),
|
|
38295
38590
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
38296
38591
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
38297
38592
|
}).passthrough();
|
|
38298
|
-
var sdkContentConfigSchema =
|
|
38299
|
-
contentTypes:
|
|
38300
|
-
pages:
|
|
38301
|
-
entries:
|
|
38302
|
-
navigationMenus:
|
|
38303
|
-
settings:
|
|
38593
|
+
var sdkContentConfigSchema = z64.object({
|
|
38594
|
+
contentTypes: z64.array(sdkContentTypeConfigSchema).optional(),
|
|
38595
|
+
pages: z64.array(z64.unknown()).optional(),
|
|
38596
|
+
entries: z64.array(z64.unknown()).optional(),
|
|
38597
|
+
navigationMenus: z64.array(z64.unknown()).optional(),
|
|
38598
|
+
settings: z64.unknown().optional()
|
|
38304
38599
|
}).passthrough();
|
|
38305
38600
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
38306
38601
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -38315,62 +38610,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
38315
38610
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
38316
38611
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
38317
38612
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
38318
|
-
var sdkWorkflowIdSchema =
|
|
38613
|
+
var sdkWorkflowIdSchema = z64.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
38319
38614
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
38320
38615
|
});
|
|
38321
|
-
var sdkWorkflowEndpointSchema =
|
|
38322
|
-
var sdkWorkflowManualTriggerSchema =
|
|
38323
|
-
type:
|
|
38616
|
+
var sdkWorkflowEndpointSchema = z64.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 "/"' });
|
|
38617
|
+
var sdkWorkflowManualTriggerSchema = z64.object({
|
|
38618
|
+
type: z64.literal("manual")
|
|
38324
38619
|
}).strict();
|
|
38325
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38620
|
+
var sdkWorkflowTriggerFieldSchema = z64.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
38326
38621
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
38327
38622
|
});
|
|
38328
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38623
|
+
var sdkWorkflowFieldChangedConditionSchema = z64.object({
|
|
38329
38624
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38330
|
-
changed:
|
|
38625
|
+
changed: z64.literal(true)
|
|
38331
38626
|
}).strict();
|
|
38332
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38627
|
+
var sdkWorkflowFieldEmptyConditionSchema = z64.object({
|
|
38333
38628
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38334
|
-
isEmpty:
|
|
38629
|
+
isEmpty: z64.boolean()
|
|
38335
38630
|
}).strict();
|
|
38336
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
38337
|
-
type:
|
|
38338
|
-
when:
|
|
38339
|
-
|
|
38631
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z64.object({
|
|
38632
|
+
type: z64.literal("entry.draft.updated"),
|
|
38633
|
+
when: z64.array(
|
|
38634
|
+
z64.union([
|
|
38340
38635
|
sdkWorkflowFieldChangedConditionSchema,
|
|
38341
38636
|
sdkWorkflowFieldEmptyConditionSchema
|
|
38342
38637
|
])
|
|
38343
38638
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
38344
38639
|
}).strict();
|
|
38345
|
-
var sdkWorkflowTriggerSchema =
|
|
38640
|
+
var sdkWorkflowTriggerSchema = z64.discriminatedUnion("type", [
|
|
38346
38641
|
sdkWorkflowManualTriggerSchema,
|
|
38347
38642
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
38348
38643
|
]);
|
|
38349
|
-
var sdkWorkflowConfirmationSchema =
|
|
38350
|
-
title:
|
|
38351
|
-
body:
|
|
38644
|
+
var sdkWorkflowConfirmationSchema = z64.object({
|
|
38645
|
+
title: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
38646
|
+
body: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
38352
38647
|
}).strict();
|
|
38353
|
-
var sdkWorkflowConfigSchema =
|
|
38648
|
+
var sdkWorkflowConfigSchema = z64.object({
|
|
38354
38649
|
id: sdkWorkflowIdSchema,
|
|
38355
|
-
title:
|
|
38356
|
-
description:
|
|
38357
|
-
contentType:
|
|
38650
|
+
title: z64.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
38651
|
+
description: z64.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
38652
|
+
contentType: z64.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
38358
38653
|
endpoint: sdkWorkflowEndpointSchema,
|
|
38359
|
-
triggers:
|
|
38654
|
+
triggers: z64.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
38360
38655
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
38361
38656
|
}).strict();
|
|
38362
|
-
var sdkWorkflowsSchema =
|
|
38657
|
+
var sdkWorkflowsSchema = z64.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
38363
38658
|
const ids = workflows.map((workflow) => workflow.id);
|
|
38364
38659
|
return ids.length === new Set(ids).size;
|
|
38365
38660
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
38366
|
-
var riverbankSiteConfigInputSchema =
|
|
38367
|
-
siteId:
|
|
38368
|
-
previewUrl:
|
|
38369
|
-
liveUrl:
|
|
38661
|
+
var riverbankSiteConfigInputSchema = z64.object({
|
|
38662
|
+
siteId: z64.string().uuid(),
|
|
38663
|
+
previewUrl: z64.string().url().optional(),
|
|
38664
|
+
liveUrl: z64.string().url().optional(),
|
|
38370
38665
|
theme: sdkThemeConfigSchema.optional(),
|
|
38371
38666
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
38372
38667
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
38373
|
-
customBlocks:
|
|
38668
|
+
customBlocks: z64.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
38374
38669
|
const ids = blocks.map((b) => b.id);
|
|
38375
38670
|
return ids.length === new Set(ids).size;
|
|
38376
38671
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -38378,50 +38673,51 @@ var riverbankSiteConfigInputSchema = z63.object({
|
|
|
38378
38673
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
38379
38674
|
workflows: sdkWorkflowsSchema,
|
|
38380
38675
|
content: sdkContentConfigSchema.optional(),
|
|
38381
|
-
contentDir:
|
|
38382
|
-
sync:
|
|
38383
|
-
existingEntries:
|
|
38676
|
+
contentDir: z64.string().optional(),
|
|
38677
|
+
sync: z64.object({
|
|
38678
|
+
existingEntries: z64.enum(["skip", "update"]).optional()
|
|
38384
38679
|
}).optional(),
|
|
38385
|
-
deploy:
|
|
38386
|
-
verifyCommand:
|
|
38387
|
-
prebuildOutput:
|
|
38680
|
+
deploy: z64.object({
|
|
38681
|
+
verifyCommand: z64.string().optional(),
|
|
38682
|
+
prebuildOutput: z64.string().optional()
|
|
38388
38683
|
}).optional(),
|
|
38389
|
-
themeSource:
|
|
38390
|
-
activeTheme:
|
|
38391
|
-
enablePortal:
|
|
38684
|
+
themeSource: z64.enum(["local", "cms"]).optional(),
|
|
38685
|
+
activeTheme: z64.string().optional(),
|
|
38686
|
+
enablePortal: z64.boolean().optional(),
|
|
38392
38687
|
dashboard: dashboardConfigSchema.optional()
|
|
38393
38688
|
}).strict();
|
|
38394
|
-
var pushSdkConfigBodySchema =
|
|
38689
|
+
var pushSdkConfigBodySchema = z64.object({
|
|
38395
38690
|
config: riverbankSiteConfigInputSchema,
|
|
38396
|
-
forceContentTypes:
|
|
38691
|
+
forceContentTypes: z64.boolean().optional(),
|
|
38692
|
+
mode: z64.enum(["apply", "preview"]).optional()
|
|
38397
38693
|
}).strict();
|
|
38398
38694
|
|
|
38399
38695
|
// ../api/src/siteOnboarding.ts
|
|
38400
|
-
import { z as
|
|
38696
|
+
import { z as z65 } from "zod";
|
|
38401
38697
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
38402
38698
|
configure_appointments: {
|
|
38403
38699
|
requirementId: "configure_appointments",
|
|
38404
38700
|
reason: "launch_anyway"
|
|
38405
38701
|
}
|
|
38406
38702
|
};
|
|
38407
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38703
|
+
var acknowledgeLaunchRequirementRequestSchema = z65.discriminatedUnion(
|
|
38408
38704
|
"requirementId",
|
|
38409
38705
|
[
|
|
38410
|
-
|
|
38411
|
-
requirementId:
|
|
38706
|
+
z65.object({
|
|
38707
|
+
requirementId: z65.literal("review_generated_site")
|
|
38412
38708
|
}),
|
|
38413
|
-
|
|
38414
|
-
requirementId:
|
|
38709
|
+
z65.object({
|
|
38710
|
+
requirementId: z65.literal(
|
|
38415
38711
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
38416
38712
|
),
|
|
38417
|
-
overrideReason:
|
|
38713
|
+
overrideReason: z65.literal(
|
|
38418
38714
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
38419
38715
|
)
|
|
38420
38716
|
})
|
|
38421
38717
|
]
|
|
38422
38718
|
);
|
|
38423
|
-
var goLiveSiteRequestSchema =
|
|
38424
|
-
acceptExtraSiteCharge:
|
|
38719
|
+
var goLiveSiteRequestSchema = z65.object({
|
|
38720
|
+
acceptExtraSiteCharge: z65.boolean().optional()
|
|
38425
38721
|
});
|
|
38426
38722
|
|
|
38427
38723
|
// ../surfaces/src/index.ts
|
|
@@ -38540,7 +38836,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
38540
38836
|
];
|
|
38541
38837
|
|
|
38542
38838
|
// ../api/src/bookingVerticals.ts
|
|
38543
|
-
import { z as
|
|
38839
|
+
import { z as z66 } from "zod";
|
|
38544
38840
|
var VERTICAL_IDS = [
|
|
38545
38841
|
"yoga_wellness",
|
|
38546
38842
|
"fitness_pt",
|
|
@@ -38705,39 +39001,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
38705
39001
|
}
|
|
38706
39002
|
return [...issues];
|
|
38707
39003
|
}
|
|
38708
|
-
var VerticalIdSchema =
|
|
39004
|
+
var VerticalIdSchema = z66.string().trim().transform((value, ctx) => {
|
|
38709
39005
|
const parsed = parseVerticalId(value);
|
|
38710
39006
|
if (!parsed) {
|
|
38711
39007
|
ctx.addIssue({
|
|
38712
|
-
code:
|
|
39008
|
+
code: z66.ZodIssueCode.custom,
|
|
38713
39009
|
message: "Unknown booking vertical"
|
|
38714
39010
|
});
|
|
38715
|
-
return
|
|
39011
|
+
return z66.NEVER;
|
|
38716
39012
|
}
|
|
38717
39013
|
return parsed;
|
|
38718
39014
|
});
|
|
38719
|
-
var VerticalPresetIdSchema =
|
|
39015
|
+
var VerticalPresetIdSchema = z66.string().trim().transform((value, ctx) => {
|
|
38720
39016
|
const parsed = parseVerticalPresetId(value);
|
|
38721
39017
|
if (!parsed) {
|
|
38722
39018
|
ctx.addIssue({
|
|
38723
|
-
code:
|
|
39019
|
+
code: z66.ZodIssueCode.custom,
|
|
38724
39020
|
message: "Unknown booking preset"
|
|
38725
39021
|
});
|
|
38726
|
-
return
|
|
39022
|
+
return z66.NEVER;
|
|
38727
39023
|
}
|
|
38728
39024
|
return parsed;
|
|
38729
39025
|
});
|
|
38730
|
-
var BookingVerticalConfigSchema =
|
|
39026
|
+
var BookingVerticalConfigSchema = z66.object({
|
|
38731
39027
|
verticalId: VerticalIdSchema.nullable(),
|
|
38732
|
-
selectedPresetIds:
|
|
39028
|
+
selectedPresetIds: z66.array(VerticalPresetIdSchema).max(20)
|
|
38733
39029
|
}).transform((value, ctx) => {
|
|
38734
39030
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
38735
39031
|
if (resolved.kind === "invalid") {
|
|
38736
39032
|
ctx.addIssue({
|
|
38737
|
-
code:
|
|
39033
|
+
code: z66.ZodIssueCode.custom,
|
|
38738
39034
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
38739
39035
|
});
|
|
38740
|
-
return
|
|
39036
|
+
return z66.NEVER;
|
|
38741
39037
|
}
|
|
38742
39038
|
return resolved.config;
|
|
38743
39039
|
});
|
|
@@ -38764,51 +39060,51 @@ function isRecord8(value) {
|
|
|
38764
39060
|
}
|
|
38765
39061
|
|
|
38766
39062
|
// ../api/src/appointmentSetup.ts
|
|
38767
|
-
import { z as
|
|
39063
|
+
import { z as z67 } from "zod";
|
|
38768
39064
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
38769
|
-
var appointmentSetupRefSchema =
|
|
38770
|
-
|
|
38771
|
-
|
|
39065
|
+
var appointmentSetupRefSchema = z67.discriminatedUnion("kind", [
|
|
39066
|
+
z67.object({ kind: z67.literal("existing"), id: z67.string().min(1) }),
|
|
39067
|
+
z67.object({ kind: z67.literal("new"), draftId: z67.string().min(1) })
|
|
38772
39068
|
]);
|
|
38773
|
-
var appointmentSetupVenueChoiceSchema =
|
|
38774
|
-
|
|
38775
|
-
|
|
38776
|
-
|
|
38777
|
-
kind:
|
|
38778
|
-
draftId:
|
|
38779
|
-
title:
|
|
38780
|
-
description:
|
|
38781
|
-
timezone:
|
|
38782
|
-
addressJson:
|
|
38783
|
-
locationJson:
|
|
39069
|
+
var appointmentSetupVenueChoiceSchema = z67.discriminatedUnion("kind", [
|
|
39070
|
+
z67.object({ kind: z67.literal("none") }),
|
|
39071
|
+
z67.object({ kind: z67.literal("existing"), venueId: z67.string().min(1) }),
|
|
39072
|
+
z67.object({
|
|
39073
|
+
kind: z67.literal("create"),
|
|
39074
|
+
draftId: z67.string().min(1),
|
|
39075
|
+
title: z67.string().trim().min(1),
|
|
39076
|
+
description: z67.string().nullable(),
|
|
39077
|
+
timezone: z67.string().trim().min(1).nullable(),
|
|
39078
|
+
addressJson: z67.record(z67.string(), z67.unknown()),
|
|
39079
|
+
locationJson: z67.object({ lat: z67.number(), lng: z67.number() }).nullable()
|
|
38784
39080
|
})
|
|
38785
39081
|
]);
|
|
38786
|
-
var appointmentSetupPaymentDraftSchema =
|
|
38787
|
-
priceType:
|
|
38788
|
-
});
|
|
38789
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
38790
|
-
|
|
38791
|
-
|
|
38792
|
-
kind:
|
|
38793
|
-
resourceRefs:
|
|
39082
|
+
var appointmentSetupPaymentDraftSchema = z67.object({
|
|
39083
|
+
priceType: z67.union([z67.literal("free"), z67.literal("paid")])
|
|
39084
|
+
});
|
|
39085
|
+
var appointmentSetupServiceAssignmentDraftSchema = z67.discriminatedUnion("kind", [
|
|
39086
|
+
z67.object({ kind: z67.literal("all_practitioners") }),
|
|
39087
|
+
z67.object({
|
|
39088
|
+
kind: z67.literal("selected_practitioners"),
|
|
39089
|
+
resourceRefs: z67.array(appointmentSetupRefSchema)
|
|
38794
39090
|
})
|
|
38795
39091
|
]);
|
|
38796
|
-
var appointmentSetupServiceDraftSchema =
|
|
39092
|
+
var appointmentSetupServiceDraftSchema = z67.object({
|
|
38797
39093
|
ref: appointmentSetupRefSchema,
|
|
38798
|
-
title:
|
|
38799
|
-
description:
|
|
38800
|
-
durationMinutes:
|
|
38801
|
-
prepMinutes:
|
|
38802
|
-
cleanupMinutes:
|
|
38803
|
-
priceAmount:
|
|
38804
|
-
isActive:
|
|
38805
|
-
locationType:
|
|
38806
|
-
|
|
38807
|
-
|
|
38808
|
-
|
|
39094
|
+
title: z67.string().trim().min(1),
|
|
39095
|
+
description: z67.string().nullable(),
|
|
39096
|
+
durationMinutes: z67.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
39097
|
+
prepMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
39098
|
+
cleanupMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
39099
|
+
priceAmount: z67.number().int().nonnegative().nullable(),
|
|
39100
|
+
isActive: z67.boolean(),
|
|
39101
|
+
locationType: z67.union([
|
|
39102
|
+
z67.literal("virtual"),
|
|
39103
|
+
z67.literal("in_person"),
|
|
39104
|
+
z67.literal("hybrid")
|
|
38809
39105
|
]),
|
|
38810
39106
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38811
|
-
timezone:
|
|
39107
|
+
timezone: z67.string().trim().min(1).nullable(),
|
|
38812
39108
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38813
39109
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
38814
39110
|
}).superRefine((service, ctx) => {
|
|
@@ -38827,49 +39123,49 @@ var appointmentSetupServiceDraftSchema = z66.object({
|
|
|
38827
39123
|
});
|
|
38828
39124
|
}
|
|
38829
39125
|
});
|
|
38830
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
39126
|
+
var appointmentSetupPractitionerDraftSchema = z67.object({
|
|
38831
39127
|
ref: appointmentSetupRefSchema,
|
|
38832
|
-
displayName:
|
|
38833
|
-
bio:
|
|
38834
|
-
timezone:
|
|
38835
|
-
colorHex:
|
|
38836
|
-
});
|
|
38837
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
38838
|
-
weekday:
|
|
38839
|
-
startTime:
|
|
38840
|
-
endTime:
|
|
38841
|
-
});
|
|
38842
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
38843
|
-
|
|
38844
|
-
|
|
38845
|
-
kind:
|
|
38846
|
-
intervalMinutes:
|
|
38847
|
-
|
|
38848
|
-
|
|
38849
|
-
|
|
38850
|
-
|
|
38851
|
-
|
|
38852
|
-
|
|
39128
|
+
displayName: z67.string().trim().min(1),
|
|
39129
|
+
bio: z67.string().nullable(),
|
|
39130
|
+
timezone: z67.string().trim().min(1),
|
|
39131
|
+
colorHex: z67.string().nullable()
|
|
39132
|
+
});
|
|
39133
|
+
var appointmentSetupWeeklyWindowDraftSchema = z67.object({
|
|
39134
|
+
weekday: z67.number().int().min(0).max(6),
|
|
39135
|
+
startTime: z67.string(),
|
|
39136
|
+
endTime: z67.string()
|
|
39137
|
+
});
|
|
39138
|
+
var appointmentSetupStartTimePolicyDraftSchema = z67.discriminatedUnion("kind", [
|
|
39139
|
+
z67.object({ kind: z67.literal("automatic_spacing") }),
|
|
39140
|
+
z67.object({
|
|
39141
|
+
kind: z67.literal("regular_interval"),
|
|
39142
|
+
intervalMinutes: z67.union([
|
|
39143
|
+
z67.literal(10),
|
|
39144
|
+
z67.literal(15),
|
|
39145
|
+
z67.literal(20),
|
|
39146
|
+
z67.literal(30),
|
|
39147
|
+
z67.literal(45),
|
|
39148
|
+
z67.literal(60)
|
|
38853
39149
|
])
|
|
38854
39150
|
})
|
|
38855
39151
|
]);
|
|
38856
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
38857
|
-
kind:
|
|
39152
|
+
var appointmentSetupAvailabilityDraftSchema = z67.object({
|
|
39153
|
+
kind: z67.literal("weekly_windows"),
|
|
38858
39154
|
resourceRef: appointmentSetupRefSchema,
|
|
38859
39155
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
38860
|
-
windows:
|
|
39156
|
+
windows: z67.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
38861
39157
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
38862
39158
|
});
|
|
38863
39159
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
38864
39160
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
38865
|
-
var appointmentSetupBookingNoticeSchema =
|
|
38866
|
-
minLeadMinutes:
|
|
38867
|
-
maxBookingNoticeMinutes:
|
|
38868
|
-
});
|
|
38869
|
-
var applyAppointmentSetupRequestSchema =
|
|
38870
|
-
services:
|
|
38871
|
-
practitioners:
|
|
38872
|
-
availability:
|
|
39161
|
+
var appointmentSetupBookingNoticeSchema = z67.object({
|
|
39162
|
+
minLeadMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
39163
|
+
maxBookingNoticeMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
39164
|
+
});
|
|
39165
|
+
var applyAppointmentSetupRequestSchema = z67.object({
|
|
39166
|
+
services: z67.array(appointmentSetupServiceDraftSchema),
|
|
39167
|
+
practitioners: z67.array(appointmentSetupPractitionerDraftSchema),
|
|
39168
|
+
availability: z67.array(appointmentSetupAvailabilityDraftSchema),
|
|
38873
39169
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
38874
39170
|
});
|
|
38875
39171
|
|
|
@@ -38902,24 +39198,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
38902
39198
|
];
|
|
38903
39199
|
|
|
38904
39200
|
// ../api/src/siteBanner.ts
|
|
38905
|
-
import { z as
|
|
39201
|
+
import { z as z68 } from "zod";
|
|
38906
39202
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
38907
39203
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
38908
39204
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
38909
39205
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
38910
|
-
var siteBannerScopeSchema =
|
|
38911
|
-
var siteBannerToneSchema =
|
|
38912
|
-
var siteBannerBodySchema =
|
|
38913
|
-
var siteBannerCtaSchema =
|
|
38914
|
-
label:
|
|
39206
|
+
var siteBannerScopeSchema = z68.enum(SITE_BANNER_SCOPE_VALUES);
|
|
39207
|
+
var siteBannerToneSchema = z68.enum(SITE_BANNER_TONE_VALUES);
|
|
39208
|
+
var siteBannerBodySchema = z68.unknown().transform(unwrapRichTextValue);
|
|
39209
|
+
var siteBannerCtaSchema = z68.object({
|
|
39210
|
+
label: z68.string().trim().min(1),
|
|
38915
39211
|
link: linkPayloadSchema
|
|
38916
39212
|
});
|
|
38917
|
-
var siteBannerSettingsSchema =
|
|
38918
|
-
|
|
38919
|
-
enabled:
|
|
39213
|
+
var siteBannerSettingsSchema = z68.discriminatedUnion("enabled", [
|
|
39214
|
+
z68.object({
|
|
39215
|
+
enabled: z68.literal(false)
|
|
38920
39216
|
}),
|
|
38921
|
-
|
|
38922
|
-
enabled:
|
|
39217
|
+
z68.object({
|
|
39218
|
+
enabled: z68.literal(true),
|
|
38923
39219
|
scope: siteBannerScopeSchema,
|
|
38924
39220
|
tone: siteBannerToneSchema,
|
|
38925
39221
|
body: siteBannerBodySchema,
|
|
@@ -38933,7 +39229,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38933
39229
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38934
39230
|
for (const issue of analysis.issues) {
|
|
38935
39231
|
ctx.addIssue({
|
|
38936
|
-
code:
|
|
39232
|
+
code: z68.ZodIssueCode.custom,
|
|
38937
39233
|
path: ["body"],
|
|
38938
39234
|
message: siteBannerBodyIssueMessage(issue)
|
|
38939
39235
|
});
|
|
@@ -39240,75 +39536,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
39240
39536
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
39241
39537
|
|
|
39242
39538
|
// ../api/src/aiPlayground.ts
|
|
39243
|
-
import { z as
|
|
39244
|
-
var Rfc6902PatchOp =
|
|
39539
|
+
import { z as z69 } from "zod";
|
|
39540
|
+
var Rfc6902PatchOp = z69.discriminatedUnion("op", [
|
|
39245
39541
|
// Standard RFC-6902 operations
|
|
39246
|
-
|
|
39247
|
-
op:
|
|
39248
|
-
path:
|
|
39249
|
-
value:
|
|
39542
|
+
z69.object({
|
|
39543
|
+
op: z69.literal("add"),
|
|
39544
|
+
path: z69.string(),
|
|
39545
|
+
value: z69.unknown()
|
|
39250
39546
|
}),
|
|
39251
|
-
|
|
39252
|
-
op:
|
|
39253
|
-
path:
|
|
39547
|
+
z69.object({
|
|
39548
|
+
op: z69.literal("remove"),
|
|
39549
|
+
path: z69.string()
|
|
39254
39550
|
}),
|
|
39255
|
-
|
|
39256
|
-
op:
|
|
39257
|
-
path:
|
|
39258
|
-
value:
|
|
39551
|
+
z69.object({
|
|
39552
|
+
op: z69.literal("replace"),
|
|
39553
|
+
path: z69.string(),
|
|
39554
|
+
value: z69.unknown()
|
|
39259
39555
|
}),
|
|
39260
|
-
|
|
39261
|
-
op:
|
|
39262
|
-
from:
|
|
39263
|
-
path:
|
|
39556
|
+
z69.object({
|
|
39557
|
+
op: z69.literal("move"),
|
|
39558
|
+
from: z69.string(),
|
|
39559
|
+
path: z69.string()
|
|
39264
39560
|
}),
|
|
39265
|
-
|
|
39266
|
-
op:
|
|
39267
|
-
from:
|
|
39268
|
-
path:
|
|
39561
|
+
z69.object({
|
|
39562
|
+
op: z69.literal("copy"),
|
|
39563
|
+
from: z69.string(),
|
|
39564
|
+
path: z69.string()
|
|
39269
39565
|
}),
|
|
39270
39566
|
// Block-level operations (Phase 2)
|
|
39271
|
-
|
|
39272
|
-
op:
|
|
39273
|
-
blockKind:
|
|
39274
|
-
afterBlockId:
|
|
39275
|
-
content:
|
|
39276
|
-
rationale:
|
|
39567
|
+
z69.object({
|
|
39568
|
+
op: z69.literal("add_block"),
|
|
39569
|
+
blockKind: z69.string(),
|
|
39570
|
+
afterBlockId: z69.string().nullable(),
|
|
39571
|
+
content: z69.record(z69.string(), z69.unknown()),
|
|
39572
|
+
rationale: z69.string()
|
|
39277
39573
|
}),
|
|
39278
|
-
|
|
39279
|
-
op:
|
|
39280
|
-
blockId:
|
|
39281
|
-
rationale:
|
|
39574
|
+
z69.object({
|
|
39575
|
+
op: z69.literal("delete_block"),
|
|
39576
|
+
blockId: z69.string(),
|
|
39577
|
+
rationale: z69.string()
|
|
39282
39578
|
}),
|
|
39283
|
-
|
|
39284
|
-
op:
|
|
39285
|
-
blockId:
|
|
39286
|
-
afterBlockId:
|
|
39287
|
-
rationale:
|
|
39579
|
+
z69.object({
|
|
39580
|
+
op: z69.literal("reorder_block"),
|
|
39581
|
+
blockId: z69.string(),
|
|
39582
|
+
afterBlockId: z69.string().nullable(),
|
|
39583
|
+
rationale: z69.string()
|
|
39288
39584
|
})
|
|
39289
39585
|
]);
|
|
39290
|
-
var PlaygroundProposeRequest =
|
|
39291
|
-
request:
|
|
39586
|
+
var PlaygroundProposeRequest = z69.object({
|
|
39587
|
+
request: z69.string().min(1).max(2e3)
|
|
39292
39588
|
});
|
|
39293
|
-
var MultiPagePatchEnvelope =
|
|
39294
|
-
pageId:
|
|
39295
|
-
blockId:
|
|
39589
|
+
var MultiPagePatchEnvelope = z69.object({
|
|
39590
|
+
pageId: z69.string(),
|
|
39591
|
+
blockId: z69.string().optional(),
|
|
39296
39592
|
// Not present for page-level ops
|
|
39297
|
-
blockKind:
|
|
39298
|
-
blockPurpose:
|
|
39299
|
-
ops:
|
|
39300
|
-
rationale:
|
|
39301
|
-
currentContent:
|
|
39593
|
+
blockKind: z69.string().optional(),
|
|
39594
|
+
blockPurpose: z69.string().optional().nullable(),
|
|
39595
|
+
ops: z69.array(Rfc6902PatchOp),
|
|
39596
|
+
rationale: z69.string(),
|
|
39597
|
+
currentContent: z69.record(z69.string(), z69.unknown()).optional()
|
|
39302
39598
|
});
|
|
39303
|
-
var MultiPageUpdateResponse =
|
|
39304
|
-
patches:
|
|
39305
|
-
assistantMessage:
|
|
39306
|
-
pagesModified:
|
|
39307
|
-
toolCallsUsed:
|
|
39599
|
+
var MultiPageUpdateResponse = z69.object({
|
|
39600
|
+
patches: z69.array(MultiPagePatchEnvelope),
|
|
39601
|
+
assistantMessage: z69.string(),
|
|
39602
|
+
pagesModified: z69.number(),
|
|
39603
|
+
toolCallsUsed: z69.number()
|
|
39308
39604
|
});
|
|
39309
39605
|
|
|
39310
39606
|
// src/config/content-validation.ts
|
|
39311
|
-
import { z as
|
|
39607
|
+
import { z as z70 } from "zod";
|
|
39312
39608
|
|
|
39313
39609
|
// src/types/block-kinds.ts
|
|
39314
39610
|
var SYSTEM_BLOCK_KINDS = [
|
|
@@ -39338,6 +39634,7 @@ var SYSTEM_BLOCK_KINDS = [
|
|
|
39338
39634
|
"block.form",
|
|
39339
39635
|
"block.contact-newsletter",
|
|
39340
39636
|
"block.appointment-booking",
|
|
39637
|
+
"block.weekly-slot-availability",
|
|
39341
39638
|
"block.event-registration",
|
|
39342
39639
|
"block.event-details",
|
|
39343
39640
|
"block.course-registration",
|
|
@@ -39451,7 +39748,7 @@ function isUnsupportedDynamicSegment(segment) {
|
|
|
39451
39748
|
return segment.startsWith(":") || segment.includes("{") || segment.includes("}");
|
|
39452
39749
|
}
|
|
39453
39750
|
|
|
39454
|
-
// src/
|
|
39751
|
+
// ../field-primitives/src/bindings/index.ts
|
|
39455
39752
|
var BINDING_TRANSFORMS = {
|
|
39456
39753
|
RICHTEXT_FIRST_PARAGRAPH: "richtext.firstParagraph",
|
|
39457
39754
|
DATE_FORMAT_SHORT: "date.formatShort",
|
|
@@ -39459,42 +39756,45 @@ var BINDING_TRANSFORMS = {
|
|
|
39459
39756
|
TEXT_INLINE_TEXT: "text.inlineText"
|
|
39460
39757
|
};
|
|
39461
39758
|
var BINDING_TRANSFORM_VALUES = Object.values(BINDING_TRANSFORMS);
|
|
39462
|
-
|
|
39759
|
+
|
|
39760
|
+
// src/contracts/bindings.ts
|
|
39761
|
+
var BINDING_TRANSFORM_VALUES2 = BINDING_TRANSFORM_VALUES;
|
|
39762
|
+
var BINDING_TRANSFORM_LIST = BINDING_TRANSFORM_VALUES2.join(", ");
|
|
39463
39763
|
function describeInvalidBindingTransform(transform) {
|
|
39464
39764
|
return `Transform "${transform}" is not valid. Allowed: ${BINDING_TRANSFORM_LIST}`;
|
|
39465
39765
|
}
|
|
39466
39766
|
|
|
39467
39767
|
// src/config/content-validation.ts
|
|
39468
|
-
var jsonDataSchema =
|
|
39469
|
-
var contentTypeKeySchema =
|
|
39768
|
+
var jsonDataSchema = z70.record(z70.string(), z70.any());
|
|
39769
|
+
var contentTypeKeySchema = z70.string().min(1).regex(
|
|
39470
39770
|
/^[a-z][a-z0-9-]*$/,
|
|
39471
39771
|
"Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
|
|
39472
39772
|
);
|
|
39473
|
-
var templateConfigSchemaForward =
|
|
39474
|
-
blocks:
|
|
39475
|
-
|
|
39476
|
-
identifier:
|
|
39477
|
-
kind:
|
|
39478
|
-
scope:
|
|
39479
|
-
bindings:
|
|
39480
|
-
content:
|
|
39773
|
+
var templateConfigSchemaForward = z70.object({
|
|
39774
|
+
blocks: z70.array(
|
|
39775
|
+
z70.object({
|
|
39776
|
+
identifier: z70.string().min(1),
|
|
39777
|
+
kind: z70.string(),
|
|
39778
|
+
scope: z70.enum(["entry", "template"]),
|
|
39779
|
+
bindings: z70.record(z70.string(), z70.any()).optional(),
|
|
39780
|
+
content: z70.record(z70.string(), z70.any()).optional()
|
|
39481
39781
|
})
|
|
39482
39782
|
)
|
|
39483
39783
|
}).optional();
|
|
39484
|
-
var contentTypeOrderingSchema =
|
|
39485
|
-
mode:
|
|
39784
|
+
var contentTypeOrderingSchema = z70.object({
|
|
39785
|
+
mode: z70.enum(["default", "manual"]).optional()
|
|
39486
39786
|
}).optional();
|
|
39487
|
-
var contentTypeConfigSchema =
|
|
39787
|
+
var contentTypeConfigSchema = z70.object({
|
|
39488
39788
|
key: contentTypeKeySchema,
|
|
39489
|
-
name:
|
|
39490
|
-
description:
|
|
39491
|
-
hasPages:
|
|
39492
|
-
routePattern:
|
|
39789
|
+
name: z70.string().min(1),
|
|
39790
|
+
description: z70.string().optional(),
|
|
39791
|
+
hasPages: z70.boolean(),
|
|
39792
|
+
routePattern: z70.string().optional(),
|
|
39493
39793
|
// Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
|
|
39494
|
-
fields:
|
|
39495
|
-
titleField:
|
|
39794
|
+
fields: z70.array(z70.any()).min(1, "At least one field is required"),
|
|
39795
|
+
titleField: z70.string().optional(),
|
|
39496
39796
|
ordering: contentTypeOrderingSchema,
|
|
39497
|
-
isSingleton:
|
|
39797
|
+
isSingleton: z70.boolean().optional().default(false),
|
|
39498
39798
|
template: templateConfigSchemaForward
|
|
39499
39799
|
}).refine(
|
|
39500
39800
|
(data) => {
|
|
@@ -39516,7 +39816,7 @@ var contentTypeConfigSchema = z69.object({
|
|
|
39516
39816
|
}
|
|
39517
39817
|
if (!data.routePattern) {
|
|
39518
39818
|
ctx.addIssue({
|
|
39519
|
-
code:
|
|
39819
|
+
code: z70.ZodIssueCode.custom,
|
|
39520
39820
|
path: ["routePattern"],
|
|
39521
39821
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39522
39822
|
});
|
|
@@ -39525,7 +39825,7 @@ var contentTypeConfigSchema = z69.object({
|
|
|
39525
39825
|
const parseResult = safeParseRouteTemplate(data.routePattern);
|
|
39526
39826
|
if (!parseResult.success) {
|
|
39527
39827
|
ctx.addIssue({
|
|
39528
|
-
code:
|
|
39828
|
+
code: z70.ZodIssueCode.custom,
|
|
39529
39829
|
path: ["routePattern"],
|
|
39530
39830
|
message: describeRouteTemplateParseError(parseResult.error)
|
|
39531
39831
|
});
|
|
@@ -39533,44 +39833,44 @@ var contentTypeConfigSchema = z69.object({
|
|
|
39533
39833
|
}
|
|
39534
39834
|
if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
|
|
39535
39835
|
ctx.addIssue({
|
|
39536
|
-
code:
|
|
39836
|
+
code: z70.ZodIssueCode.custom,
|
|
39537
39837
|
path: ["routePattern"],
|
|
39538
39838
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39539
39839
|
});
|
|
39540
39840
|
}
|
|
39541
39841
|
});
|
|
39542
|
-
var fieldBindingSchema =
|
|
39543
|
-
source:
|
|
39544
|
-
path:
|
|
39842
|
+
var fieldBindingSchema = z70.object({
|
|
39843
|
+
source: z70.literal("field"),
|
|
39844
|
+
path: z70.string().min(1, "Field path is required")
|
|
39545
39845
|
});
|
|
39546
|
-
var metaBindingSchema =
|
|
39547
|
-
source:
|
|
39548
|
-
path:
|
|
39846
|
+
var metaBindingSchema = z70.object({
|
|
39847
|
+
source: z70.literal("meta"),
|
|
39848
|
+
path: z70.enum(TEMPLATE_BINDING_META_PATHS, {
|
|
39549
39849
|
error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
|
|
39550
39850
|
})
|
|
39551
39851
|
});
|
|
39552
|
-
var literalBindingSchema =
|
|
39553
|
-
source:
|
|
39554
|
-
value:
|
|
39852
|
+
var literalBindingSchema = z70.object({
|
|
39853
|
+
source: z70.literal("literal"),
|
|
39854
|
+
value: z70.unknown()
|
|
39555
39855
|
});
|
|
39556
|
-
var transformBindingSchema =
|
|
39557
|
-
source:
|
|
39558
|
-
path:
|
|
39559
|
-
transform:
|
|
39856
|
+
var transformBindingSchema = z70.object({
|
|
39857
|
+
source: z70.literal("transform"),
|
|
39858
|
+
path: z70.string().min(1, "Transform path is required"),
|
|
39859
|
+
transform: z70.enum(BINDING_TRANSFORM_VALUES2, {
|
|
39560
39860
|
error: (issue) => describeInvalidBindingTransform(String(issue.input))
|
|
39561
39861
|
})
|
|
39562
39862
|
});
|
|
39563
|
-
var baseBindingSchema =
|
|
39863
|
+
var baseBindingSchema = z70.discriminatedUnion("source", [
|
|
39564
39864
|
fieldBindingSchema,
|
|
39565
39865
|
metaBindingSchema,
|
|
39566
39866
|
literalBindingSchema,
|
|
39567
39867
|
transformBindingSchema
|
|
39568
39868
|
]);
|
|
39569
|
-
var fallbackBindingSchema =
|
|
39570
|
-
source:
|
|
39571
|
-
sources:
|
|
39869
|
+
var fallbackBindingSchema = z70.object({
|
|
39870
|
+
source: z70.literal("fallback"),
|
|
39871
|
+
sources: z70.array(z70.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
|
|
39572
39872
|
});
|
|
39573
|
-
var bindingSourceSchema =
|
|
39873
|
+
var bindingSourceSchema = z70.union([
|
|
39574
39874
|
baseBindingSchema,
|
|
39575
39875
|
fallbackBindingSchema
|
|
39576
39876
|
]);
|
|
@@ -39584,12 +39884,12 @@ function isValidBlockKind(kind) {
|
|
|
39584
39884
|
return false;
|
|
39585
39885
|
}
|
|
39586
39886
|
var BLOCK_KIND_ERROR_MESSAGE = 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.myBlock")';
|
|
39587
|
-
var blockKindSchema =
|
|
39588
|
-
var templateBlockConfigSchema =
|
|
39589
|
-
identifier:
|
|
39887
|
+
var blockKindSchema = z70.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
|
|
39888
|
+
var templateBlockConfigSchema = z70.object({
|
|
39889
|
+
identifier: z70.string().min(1, "Block identifier is required"),
|
|
39590
39890
|
kind: blockKindSchema,
|
|
39591
|
-
scope:
|
|
39592
|
-
bindings:
|
|
39891
|
+
scope: z70.enum(["entry", "template"]),
|
|
39892
|
+
bindings: z70.record(z70.string(), bindingSourceSchema).optional(),
|
|
39593
39893
|
content: jsonDataSchema.optional()
|
|
39594
39894
|
}).refine(
|
|
39595
39895
|
(data) => {
|
|
@@ -39608,8 +39908,8 @@ var templateBlockConfigSchema = z69.object({
|
|
|
39608
39908
|
},
|
|
39609
39909
|
{ message: "Template-scoped blocks should define static content, not bindings" }
|
|
39610
39910
|
);
|
|
39611
|
-
var templateConfigSchema =
|
|
39612
|
-
blocks:
|
|
39911
|
+
var templateConfigSchema = z70.object({
|
|
39912
|
+
blocks: z70.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
|
|
39613
39913
|
}).refine(
|
|
39614
39914
|
(data) => {
|
|
39615
39915
|
const identifiers = data.blocks.map((b) => b.identifier);
|
|
@@ -39618,77 +39918,77 @@ var templateConfigSchema = z69.object({
|
|
|
39618
39918
|
},
|
|
39619
39919
|
{ message: "Template block identifiers must be unique" }
|
|
39620
39920
|
);
|
|
39621
|
-
var blockConfigSchema =
|
|
39921
|
+
var blockConfigSchema = z70.object({
|
|
39622
39922
|
kind: blockKindSchema,
|
|
39623
39923
|
content: jsonDataSchema,
|
|
39624
|
-
orderIndex:
|
|
39625
|
-
});
|
|
39626
|
-
var pageConfigSchema =
|
|
39627
|
-
identifier:
|
|
39628
|
-
title:
|
|
39629
|
-
path:
|
|
39630
|
-
purpose:
|
|
39631
|
-
blocks:
|
|
39632
|
-
status:
|
|
39633
|
-
metaTitle:
|
|
39634
|
-
metaDescription:
|
|
39635
|
-
});
|
|
39636
|
-
var entryConfigSchema =
|
|
39637
|
-
identifier:
|
|
39638
|
-
contentType:
|
|
39924
|
+
orderIndex: z70.number().optional()
|
|
39925
|
+
});
|
|
39926
|
+
var pageConfigSchema = z70.object({
|
|
39927
|
+
identifier: z70.string().min(1, "Identifier is required"),
|
|
39928
|
+
title: z70.string().min(1, "Title is required"),
|
|
39929
|
+
path: z70.string().regex(/^\//, "Path must start with /"),
|
|
39930
|
+
purpose: z70.string().default("content"),
|
|
39931
|
+
blocks: z70.array(blockConfigSchema).optional(),
|
|
39932
|
+
status: z70.enum(["draft", "published"]).default("draft"),
|
|
39933
|
+
metaTitle: z70.string().optional(),
|
|
39934
|
+
metaDescription: z70.string().optional()
|
|
39935
|
+
});
|
|
39936
|
+
var entryConfigSchema = z70.object({
|
|
39937
|
+
identifier: z70.string().min(1, "Identifier is required"),
|
|
39938
|
+
contentType: z70.string().min(1, "Content type is required"),
|
|
39639
39939
|
data: jsonDataSchema,
|
|
39640
|
-
status:
|
|
39641
|
-
slug:
|
|
39642
|
-
summary:
|
|
39940
|
+
status: z70.enum(["draft", "published"]).default("draft"),
|
|
39941
|
+
slug: z70.string().optional(),
|
|
39942
|
+
summary: z70.string().optional(),
|
|
39643
39943
|
// Hard remove legacy config-only titles: titles must live in entry `data`.
|
|
39644
|
-
title:
|
|
39944
|
+
title: z70.any().optional().refine((value) => value === void 0, {
|
|
39645
39945
|
message: "Entry titles are now derived from entry data. Remove `title` and move it into `data` (e.g. `data.title`, or your configured `titleField`). Run `riverbankcms migrate entries` for guided migration."
|
|
39646
39946
|
}),
|
|
39647
|
-
metaTitle:
|
|
39648
|
-
metaDescription:
|
|
39947
|
+
metaTitle: z70.string().optional(),
|
|
39948
|
+
metaDescription: z70.string().optional()
|
|
39649
39949
|
});
|
|
39650
|
-
var dropdownLinkSchema =
|
|
39651
|
-
kind:
|
|
39950
|
+
var dropdownLinkSchema = z70.object({
|
|
39951
|
+
kind: z70.literal("dropdown")
|
|
39652
39952
|
});
|
|
39653
|
-
var navigationLinkSchema =
|
|
39953
|
+
var navigationLinkSchema = z70.discriminatedUnion("kind", [
|
|
39654
39954
|
...navigationLinkInputSchemaOptions,
|
|
39655
39955
|
dropdownLinkSchema
|
|
39656
39956
|
]);
|
|
39657
|
-
var baseNavigationItemSchema =
|
|
39658
|
-
label:
|
|
39957
|
+
var baseNavigationItemSchema = z70.object({
|
|
39958
|
+
label: z70.string().min(1, "Label is required"),
|
|
39659
39959
|
link: navigationLinkSchema,
|
|
39660
|
-
isCta:
|
|
39960
|
+
isCta: z70.boolean().optional()
|
|
39661
39961
|
});
|
|
39662
39962
|
var navigationItemConfigSchema = baseNavigationItemSchema.extend({
|
|
39663
|
-
children:
|
|
39664
|
-
});
|
|
39665
|
-
var navigationMenuConfigSchema =
|
|
39666
|
-
identifier:
|
|
39667
|
-
name:
|
|
39668
|
-
isPrimary:
|
|
39669
|
-
isFooter:
|
|
39670
|
-
items:
|
|
39963
|
+
children: z70.lazy(() => z70.array(navigationItemConfigSchema)).optional()
|
|
39964
|
+
});
|
|
39965
|
+
var navigationMenuConfigSchema = z70.object({
|
|
39966
|
+
identifier: z70.string().min(1, "Identifier is required"),
|
|
39967
|
+
name: z70.string().min(1, "Name is required"),
|
|
39968
|
+
isPrimary: z70.boolean().optional(),
|
|
39969
|
+
isFooter: z70.boolean().optional(),
|
|
39970
|
+
items: z70.array(navigationItemConfigSchema)
|
|
39671
39971
|
}).superRefine((menu, ctx) => {
|
|
39672
39972
|
const portalStats = collectPortalLinkStats(
|
|
39673
39973
|
menu.items
|
|
39674
39974
|
);
|
|
39675
39975
|
if (portalStats.count > 1) {
|
|
39676
39976
|
ctx.addIssue({
|
|
39677
|
-
code:
|
|
39977
|
+
code: z70.ZodIssueCode.custom,
|
|
39678
39978
|
message: "Only one portal link is allowed per navigation menu",
|
|
39679
39979
|
path: ["items"]
|
|
39680
39980
|
});
|
|
39681
39981
|
}
|
|
39682
39982
|
if (portalStats.nestedLabels.length > 0) {
|
|
39683
39983
|
ctx.addIssue({
|
|
39684
|
-
code:
|
|
39984
|
+
code: z70.ZodIssueCode.custom,
|
|
39685
39985
|
message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
|
|
39686
39986
|
path: ["items"]
|
|
39687
39987
|
});
|
|
39688
39988
|
}
|
|
39689
39989
|
if (portalStats.withChildrenLabels.length > 0) {
|
|
39690
39990
|
ctx.addIssue({
|
|
39691
|
-
code:
|
|
39991
|
+
code: z70.ZodIssueCode.custom,
|
|
39692
39992
|
message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
|
|
39693
39993
|
path: ["items"]
|
|
39694
39994
|
});
|
|
@@ -39698,44 +39998,44 @@ var navigationMenuConfigSchema = z69.object({
|
|
|
39698
39998
|
);
|
|
39699
39999
|
if (cartStats.nestedLabels.length > 0) {
|
|
39700
40000
|
ctx.addIssue({
|
|
39701
|
-
code:
|
|
40001
|
+
code: z70.ZodIssueCode.custom,
|
|
39702
40002
|
message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
|
|
39703
40003
|
path: ["items"]
|
|
39704
40004
|
});
|
|
39705
40005
|
}
|
|
39706
40006
|
if (cartStats.withChildrenLabels.length > 0) {
|
|
39707
40007
|
ctx.addIssue({
|
|
39708
|
-
code:
|
|
40008
|
+
code: z70.ZodIssueCode.custom,
|
|
39709
40009
|
message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
|
|
39710
40010
|
path: ["items"]
|
|
39711
40011
|
});
|
|
39712
40012
|
}
|
|
39713
40013
|
if (cartStats.ctaLabels.length > 0) {
|
|
39714
40014
|
ctx.addIssue({
|
|
39715
|
-
code:
|
|
40015
|
+
code: z70.ZodIssueCode.custom,
|
|
39716
40016
|
message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
|
|
39717
40017
|
path: ["items"]
|
|
39718
40018
|
});
|
|
39719
40019
|
}
|
|
39720
40020
|
if (cartStats.missingVisibleTextLabels.length > 0) {
|
|
39721
40021
|
ctx.addIssue({
|
|
39722
|
-
code:
|
|
40022
|
+
code: z70.ZodIssueCode.custom,
|
|
39723
40023
|
message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
|
|
39724
40024
|
path: ["items"]
|
|
39725
40025
|
});
|
|
39726
40026
|
}
|
|
39727
40027
|
});
|
|
39728
|
-
var siteSettingsConfigSchema =
|
|
39729
|
-
homepagePath:
|
|
39730
|
-
siteTitle:
|
|
39731
|
-
siteDescription:
|
|
39732
|
-
defaultTemplates:
|
|
40028
|
+
var siteSettingsConfigSchema = z70.object({
|
|
40029
|
+
homepagePath: z70.string().optional(),
|
|
40030
|
+
siteTitle: z70.string().optional(),
|
|
40031
|
+
siteDescription: z70.string().optional(),
|
|
40032
|
+
defaultTemplates: z70.record(z70.string(), z70.string()).optional()
|
|
39733
40033
|
});
|
|
39734
|
-
var contentConfigBaseSchema =
|
|
39735
|
-
contentTypes:
|
|
39736
|
-
entries:
|
|
39737
|
-
pages:
|
|
39738
|
-
navigationMenus:
|
|
40034
|
+
var contentConfigBaseSchema = z70.object({
|
|
40035
|
+
contentTypes: z70.array(contentTypeConfigSchema).optional(),
|
|
40036
|
+
entries: z70.array(entryConfigSchema).optional(),
|
|
40037
|
+
pages: z70.array(pageConfigSchema).optional(),
|
|
40038
|
+
navigationMenus: z70.array(navigationMenuConfigSchema).optional(),
|
|
39739
40039
|
settings: siteSettingsConfigSchema.optional()
|
|
39740
40040
|
});
|
|
39741
40041
|
var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
@@ -39744,7 +40044,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39744
40044
|
const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
|
|
39745
40045
|
if (duplicateKeys.length > 0) {
|
|
39746
40046
|
ctx.addIssue({
|
|
39747
|
-
code:
|
|
40047
|
+
code: z70.ZodIssueCode.custom,
|
|
39748
40048
|
message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
|
|
39749
40049
|
path: ["contentTypes"]
|
|
39750
40050
|
});
|
|
@@ -39755,7 +40055,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39755
40055
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39756
40056
|
if (duplicateIds.length > 0) {
|
|
39757
40057
|
ctx.addIssue({
|
|
39758
|
-
code:
|
|
40058
|
+
code: z70.ZodIssueCode.custom,
|
|
39759
40059
|
message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39760
40060
|
path: ["pages"]
|
|
39761
40061
|
});
|
|
@@ -39764,7 +40064,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39764
40064
|
const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
|
|
39765
40065
|
if (duplicatePaths.length > 0) {
|
|
39766
40066
|
ctx.addIssue({
|
|
39767
|
-
code:
|
|
40067
|
+
code: z70.ZodIssueCode.custom,
|
|
39768
40068
|
message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
|
|
39769
40069
|
path: ["pages"]
|
|
39770
40070
|
});
|
|
@@ -39775,7 +40075,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39775
40075
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39776
40076
|
if (duplicateIds.length > 0) {
|
|
39777
40077
|
ctx.addIssue({
|
|
39778
|
-
code:
|
|
40078
|
+
code: z70.ZodIssueCode.custom,
|
|
39779
40079
|
message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39780
40080
|
path: ["entries"]
|
|
39781
40081
|
});
|
|
@@ -39786,7 +40086,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39786
40086
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39787
40087
|
if (duplicateIds.length > 0) {
|
|
39788
40088
|
ctx.addIssue({
|
|
39789
|
-
code:
|
|
40089
|
+
code: z70.ZodIssueCode.custom,
|
|
39790
40090
|
message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39791
40091
|
path: ["navigationMenus"]
|
|
39792
40092
|
});
|
|
@@ -39800,7 +40100,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39800
40100
|
const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
|
|
39801
40101
|
if (entriesForType.length > 1) {
|
|
39802
40102
|
ctx.addIssue({
|
|
39803
|
-
code:
|
|
40103
|
+
code: z70.ZodIssueCode.custom,
|
|
39804
40104
|
message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
|
|
39805
40105
|
path: ["entries"]
|
|
39806
40106
|
});
|
|
@@ -39913,18 +40213,18 @@ function validateLayout(layout) {
|
|
|
39913
40213
|
}
|
|
39914
40214
|
|
|
39915
40215
|
// src/config/dashboard-validation.ts
|
|
39916
|
-
import { z as
|
|
39917
|
-
var navIdListSchema2 =
|
|
40216
|
+
import { z as z71 } from "zod";
|
|
40217
|
+
var navIdListSchema2 = z71.preprocess((value) => {
|
|
39918
40218
|
if (!Array.isArray(value)) return void 0;
|
|
39919
40219
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
39920
40220
|
return filtered.length > 0 ? filtered : void 0;
|
|
39921
|
-
},
|
|
39922
|
-
var dashboardNavVisibilityBaseSchema2 =
|
|
39923
|
-
mode:
|
|
40221
|
+
}, z71.array(z71.string()).max(200, "Maximum 200 nav IDs").optional());
|
|
40222
|
+
var dashboardNavVisibilityBaseSchema2 = z71.object({
|
|
40223
|
+
mode: z71.enum(["augment", "restrict"]).optional(),
|
|
39924
40224
|
allowIds: navIdListSchema2,
|
|
39925
40225
|
denyIds: navIdListSchema2
|
|
39926
40226
|
}).strip();
|
|
39927
|
-
var dashboardNavVisibilityRolesSchema2 =
|
|
40227
|
+
var dashboardNavVisibilityRolesSchema2 = z71.object({
|
|
39928
40228
|
administrator: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39929
40229
|
editor: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39930
40230
|
team_member: dashboardNavVisibilityBaseSchema2.optional()
|
|
@@ -39932,28 +40232,28 @@ var dashboardNavVisibilityRolesSchema2 = z70.object({
|
|
|
39932
40232
|
var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
|
|
39933
40233
|
roles: dashboardNavVisibilityRolesSchema2
|
|
39934
40234
|
}).strip();
|
|
39935
|
-
var dashboardNavigationConfigSchema2 =
|
|
40235
|
+
var dashboardNavigationConfigSchema2 = z71.object({
|
|
39936
40236
|
siteNav: dashboardNavVisibilitySchema2.optional(),
|
|
39937
40237
|
settingsNav: dashboardNavVisibilitySchema2.optional()
|
|
39938
40238
|
}).strip();
|
|
39939
|
-
var dashboardConfigSchema2 =
|
|
39940
|
-
previewEditingEnabled:
|
|
40239
|
+
var dashboardConfigSchema2 = z71.object({
|
|
40240
|
+
previewEditingEnabled: z71.boolean().optional(),
|
|
39941
40241
|
navigation: dashboardNavigationConfigSchema2.optional()
|
|
39942
40242
|
}).strip();
|
|
39943
40243
|
|
|
39944
40244
|
// src/zod/titleSourceSchema.ts
|
|
39945
|
-
import { z as
|
|
39946
|
-
var titleSourceValueSchema =
|
|
39947
|
-
|
|
39948
|
-
|
|
40245
|
+
import { z as z72 } from "zod";
|
|
40246
|
+
var titleSourceValueSchema = z72.union([
|
|
40247
|
+
z72.string().min(1),
|
|
40248
|
+
z72.array(z72.string().min(1)).min(1)
|
|
39949
40249
|
]);
|
|
39950
40250
|
|
|
39951
40251
|
// src/config/validation.ts
|
|
39952
|
-
var sdkThemePaletteSchema2 =
|
|
39953
|
-
var sdkThemeConfigSchema2 =
|
|
40252
|
+
var sdkThemePaletteSchema2 = z73.record(z73.string(), z73.string());
|
|
40253
|
+
var sdkThemeConfigSchema2 = z73.object({
|
|
39954
40254
|
palette: sdkThemePaletteSchema2
|
|
39955
40255
|
});
|
|
39956
|
-
var sdkSiteUrlSchema =
|
|
40256
|
+
var sdkSiteUrlSchema = z73.string().url("Must be a valid URL").refine((url) => {
|
|
39957
40257
|
try {
|
|
39958
40258
|
const parsed = new URL(url);
|
|
39959
40259
|
const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
|
|
@@ -39962,97 +40262,97 @@ var sdkSiteUrlSchema = z72.string().url("Must be a valid URL").refine((url) => {
|
|
|
39962
40262
|
return false;
|
|
39963
40263
|
}
|
|
39964
40264
|
}, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
|
|
39965
|
-
var sectionBackgroundSchema =
|
|
39966
|
-
id:
|
|
39967
|
-
label:
|
|
39968
|
-
token:
|
|
40265
|
+
var sectionBackgroundSchema = z73.object({
|
|
40266
|
+
id: z73.string(),
|
|
40267
|
+
label: z73.string(),
|
|
40268
|
+
token: z73.string()
|
|
39969
40269
|
// Reference to theme palette token
|
|
39970
40270
|
});
|
|
39971
|
-
var sectionSpacingSchema =
|
|
39972
|
-
var containerMaxWidthSchema =
|
|
39973
|
-
var containerAlignmentSchema =
|
|
39974
|
-
var sectionOptionsSchema =
|
|
39975
|
-
backgroundColor:
|
|
39976
|
-
backgroundImage:
|
|
39977
|
-
backgroundGradient:
|
|
39978
|
-
spacing:
|
|
39979
|
-
|
|
39980
|
-
|
|
40271
|
+
var sectionSpacingSchema = z73.enum(["compact", "default", "spacious"]);
|
|
40272
|
+
var containerMaxWidthSchema = z73.enum(["narrow", "default", "wide", "full"]);
|
|
40273
|
+
var containerAlignmentSchema = z73.enum(["left", "center", "right"]);
|
|
40274
|
+
var sectionOptionsSchema = z73.object({
|
|
40275
|
+
backgroundColor: z73.boolean().optional(),
|
|
40276
|
+
backgroundImage: z73.boolean().optional(),
|
|
40277
|
+
backgroundGradient: z73.boolean().optional(),
|
|
40278
|
+
spacing: z73.union([
|
|
40279
|
+
z73.array(sectionSpacingSchema),
|
|
40280
|
+
z73.boolean()
|
|
39981
40281
|
]).optional(),
|
|
39982
|
-
textColor:
|
|
40282
|
+
textColor: z73.boolean().optional()
|
|
39983
40283
|
}).optional();
|
|
39984
|
-
var containerOptionsSchema =
|
|
39985
|
-
maxWidth:
|
|
39986
|
-
|
|
39987
|
-
|
|
40284
|
+
var containerOptionsSchema = z73.object({
|
|
40285
|
+
maxWidth: z73.union([
|
|
40286
|
+
z73.array(containerMaxWidthSchema),
|
|
40287
|
+
z73.boolean()
|
|
39988
40288
|
]).optional(),
|
|
39989
|
-
alignment:
|
|
39990
|
-
|
|
39991
|
-
|
|
40289
|
+
alignment: z73.union([
|
|
40290
|
+
z73.array(containerAlignmentSchema),
|
|
40291
|
+
z73.boolean()
|
|
39992
40292
|
]).optional()
|
|
39993
40293
|
}).optional();
|
|
39994
|
-
var siteStyleConfigSchema =
|
|
39995
|
-
sectionBackgrounds:
|
|
40294
|
+
var siteStyleConfigSchema = z73.object({
|
|
40295
|
+
sectionBackgrounds: z73.array(sectionBackgroundSchema).optional(),
|
|
39996
40296
|
sectionOptions: sectionOptionsSchema,
|
|
39997
40297
|
containerOptions: containerOptionsSchema
|
|
39998
40298
|
}).optional();
|
|
39999
|
-
var sdkLoaderEndpointSchema2 =
|
|
40299
|
+
var sdkLoaderEndpointSchema2 = z73.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
40000
40300
|
var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
|
|
40001
|
-
var loaderTransformStepSchema =
|
|
40002
|
-
id:
|
|
40301
|
+
var loaderTransformStepSchema = z73.object({
|
|
40302
|
+
id: z73.string().refine((id) => allowedTransformIds.has(id), {
|
|
40003
40303
|
message: "Unknown transform id"
|
|
40004
40304
|
}),
|
|
40005
|
-
options:
|
|
40305
|
+
options: z73.record(z73.string(), z73.unknown()).optional()
|
|
40006
40306
|
});
|
|
40007
|
-
var loaderParamBindingSchema2 =
|
|
40008
|
-
$bind:
|
|
40009
|
-
from:
|
|
40307
|
+
var loaderParamBindingSchema2 = z73.object({
|
|
40308
|
+
$bind: z73.object({
|
|
40309
|
+
from: z73.string().min(1, "Binding path is required"),
|
|
40010
40310
|
// Loader params are ultimately string-normalized for query strings, so fallbacks should
|
|
40011
40311
|
// stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
|
|
40012
40312
|
// more complex values into a string.
|
|
40013
40313
|
fallback: loaderFallbackScalarSchema.optional(),
|
|
40014
|
-
transforms:
|
|
40015
|
-
pick:
|
|
40016
|
-
coerce:
|
|
40314
|
+
transforms: z73.array(loaderTransformStepSchema).default([]),
|
|
40315
|
+
pick: z73.enum(["value", "collection", "context"]).default("value"),
|
|
40316
|
+
coerce: z73.enum(["number", "boolean", "string"]).optional()
|
|
40017
40317
|
})
|
|
40018
40318
|
});
|
|
40019
|
-
var loaderParamValueSchema2 =
|
|
40020
|
-
|
|
40021
|
-
|
|
40022
|
-
|
|
40319
|
+
var loaderParamValueSchema2 = z73.union([
|
|
40320
|
+
z73.string(),
|
|
40321
|
+
z73.number(),
|
|
40322
|
+
z73.boolean(),
|
|
40023
40323
|
loaderParamBindingSchema2
|
|
40024
40324
|
]);
|
|
40025
|
-
var loaderWhenValueSchema =
|
|
40026
|
-
|
|
40325
|
+
var loaderWhenValueSchema = z73.union([
|
|
40326
|
+
z73.boolean(),
|
|
40027
40327
|
loaderParamBindingSchema2
|
|
40028
40328
|
]);
|
|
40029
|
-
var sdkConfigLoaderSchema2 =
|
|
40329
|
+
var sdkConfigLoaderSchema2 = z73.object({
|
|
40030
40330
|
endpoint: sdkLoaderEndpointSchema2,
|
|
40031
|
-
params:
|
|
40032
|
-
mode:
|
|
40331
|
+
params: z73.record(z73.string(), loaderParamValueSchema2),
|
|
40332
|
+
mode: z73.enum(["server", "client"]).default("server"),
|
|
40033
40333
|
when: loaderWhenValueSchema.optional()
|
|
40034
40334
|
});
|
|
40035
|
-
var sdkDataLoadersSchema2 =
|
|
40335
|
+
var sdkDataLoadersSchema2 = z73.record(z73.string(), sdkConfigLoaderSchema2).refine(
|
|
40036
40336
|
(loaders) => Object.keys(loaders).length <= 5,
|
|
40037
40337
|
{ message: "Maximum 5 data loaders per block" }
|
|
40038
40338
|
).optional();
|
|
40039
|
-
var fieldSelectOptionSchema =
|
|
40040
|
-
value:
|
|
40041
|
-
label:
|
|
40339
|
+
var fieldSelectOptionSchema = z73.object({
|
|
40340
|
+
value: z73.string().min(1, "Option value is required"),
|
|
40341
|
+
label: z73.string().min(1, "Option label is required")
|
|
40042
40342
|
});
|
|
40043
|
-
var blockFieldConfigSchema =
|
|
40044
|
-
options:
|
|
40343
|
+
var blockFieldConfigSchema = z73.object({
|
|
40344
|
+
options: z73.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
|
|
40045
40345
|
});
|
|
40046
|
-
var blockFieldOptionsSchema =
|
|
40047
|
-
|
|
40346
|
+
var blockFieldOptionsSchema = z73.record(
|
|
40347
|
+
z73.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
40048
40348
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
40049
40349
|
}),
|
|
40050
|
-
|
|
40051
|
-
|
|
40350
|
+
z73.record(
|
|
40351
|
+
z73.string().min(1, "Field ID is required"),
|
|
40052
40352
|
blockFieldConfigSchema
|
|
40053
40353
|
)
|
|
40054
40354
|
).optional();
|
|
40055
|
-
var blockFieldExtensionSchema =
|
|
40355
|
+
var blockFieldExtensionSchema = z73.object({
|
|
40056
40356
|
fields: fieldSchema.array().min(1, "At least one field is required")
|
|
40057
40357
|
}).refine(
|
|
40058
40358
|
(data) => {
|
|
@@ -40066,10 +40366,10 @@ var blockFieldExtensionSchema = z72.object({
|
|
|
40066
40366
|
message: "Required fields must have a defaultValue to support existing blocks"
|
|
40067
40367
|
}
|
|
40068
40368
|
);
|
|
40069
|
-
var blockFieldExtensionsMapSchema =
|
|
40369
|
+
var blockFieldExtensionsMapSchema = z73.record(
|
|
40070
40370
|
// System blocks are kebab-case: block.body-text, block.event-calendar, ...
|
|
40071
40371
|
// Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
|
|
40072
|
-
|
|
40372
|
+
z73.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
|
|
40073
40373
|
message: "Block ID must be 'block.*' format (system blocks only)"
|
|
40074
40374
|
}),
|
|
40075
40375
|
blockFieldExtensionSchema
|
|
@@ -40085,7 +40385,7 @@ var blockFieldExtensionsMapSchema = z72.record(
|
|
|
40085
40385
|
(field) => field.id === collision.fieldId
|
|
40086
40386
|
);
|
|
40087
40387
|
ctx.addIssue({
|
|
40088
|
-
code:
|
|
40388
|
+
code: z73.ZodIssueCode.custom,
|
|
40089
40389
|
message: collision.message,
|
|
40090
40390
|
path: [
|
|
40091
40391
|
APPOINTMENT_BOOKING_BLOCK_ID,
|
|
@@ -40151,24 +40451,24 @@ function validateFieldIdConflicts(blockFieldExtensions) {
|
|
|
40151
40451
|
}
|
|
40152
40452
|
return conflicts;
|
|
40153
40453
|
}
|
|
40154
|
-
var syncConfigSchema =
|
|
40155
|
-
existingEntries:
|
|
40454
|
+
var syncConfigSchema = z73.object({
|
|
40455
|
+
existingEntries: z73.enum(["skip", "update"]).optional()
|
|
40156
40456
|
}).optional();
|
|
40157
|
-
var deployConfigSchema =
|
|
40158
|
-
verifyCommand:
|
|
40159
|
-
prebuildOutput:
|
|
40457
|
+
var deployConfigSchema = z73.object({
|
|
40458
|
+
verifyCommand: z73.string().optional(),
|
|
40459
|
+
prebuildOutput: z73.string().optional()
|
|
40160
40460
|
}).optional();
|
|
40161
|
-
var sdkCustomBlockSchema =
|
|
40461
|
+
var sdkCustomBlockSchema = z73.object({
|
|
40162
40462
|
// Block ID must start with 'custom.'
|
|
40163
|
-
id:
|
|
40463
|
+
id: z73.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
40164
40464
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
40165
40465
|
}),
|
|
40166
|
-
title:
|
|
40466
|
+
title: z73.string().min(1, "Title is required"),
|
|
40167
40467
|
titleSource: titleSourceValueSchema.optional(),
|
|
40168
|
-
description:
|
|
40468
|
+
description: z73.string().optional(),
|
|
40169
40469
|
category: blockCategoryEnum,
|
|
40170
|
-
icon:
|
|
40171
|
-
tags:
|
|
40470
|
+
icon: z73.string().optional(),
|
|
40471
|
+
tags: z73.array(z73.string()).optional(),
|
|
40172
40472
|
// Reuse the exact field schema from @riverbankcms/blocks - all field types supported
|
|
40173
40473
|
fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
40174
40474
|
// Data loaders for CMS endpoints
|
|
@@ -40176,14 +40476,14 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40176
40476
|
// Optional declarative layout - when present, block can render without React override
|
|
40177
40477
|
layout: NodeSchema.optional(),
|
|
40178
40478
|
// Optional variants system (preferred when a block has multiple structural layouts)
|
|
40179
|
-
variants:
|
|
40180
|
-
defaultVariant:
|
|
40181
|
-
variantOptions:
|
|
40182
|
-
|
|
40183
|
-
|
|
40184
|
-
label:
|
|
40185
|
-
description:
|
|
40186
|
-
icon:
|
|
40479
|
+
variants: z73.record(z73.string().min(1), NodeSchema).optional(),
|
|
40480
|
+
defaultVariant: z73.string().min(1).optional(),
|
|
40481
|
+
variantOptions: z73.record(
|
|
40482
|
+
z73.string().min(1),
|
|
40483
|
+
z73.object({
|
|
40484
|
+
label: z73.string().min(1).optional(),
|
|
40485
|
+
description: z73.string().min(1).optional(),
|
|
40486
|
+
icon: z73.string().min(1).optional()
|
|
40187
40487
|
})
|
|
40188
40488
|
).optional(),
|
|
40189
40489
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -40195,7 +40495,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40195
40495
|
const exists = fields3.some((field) => field.id === source);
|
|
40196
40496
|
if (!exists) {
|
|
40197
40497
|
ctx.addIssue({
|
|
40198
|
-
code:
|
|
40498
|
+
code: z73.ZodIssueCode.custom,
|
|
40199
40499
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
40200
40500
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
40201
40501
|
});
|
|
@@ -40204,7 +40504,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40204
40504
|
}
|
|
40205
40505
|
if (data.layout && data.variants) {
|
|
40206
40506
|
ctx.addIssue({
|
|
40207
|
-
code:
|
|
40507
|
+
code: z73.ZodIssueCode.custom,
|
|
40208
40508
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
40209
40509
|
path: ["variants"]
|
|
40210
40510
|
});
|
|
@@ -40214,7 +40514,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40214
40514
|
if (!result.valid) {
|
|
40215
40515
|
for (const error of result.errors) {
|
|
40216
40516
|
ctx.addIssue({
|
|
40217
|
-
code:
|
|
40517
|
+
code: z73.ZodIssueCode.custom,
|
|
40218
40518
|
message: error.message,
|
|
40219
40519
|
path: ["layout"]
|
|
40220
40520
|
});
|
|
@@ -40225,14 +40525,14 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40225
40525
|
const keys = Object.keys(data.variants);
|
|
40226
40526
|
if (keys.length === 0) {
|
|
40227
40527
|
ctx.addIssue({
|
|
40228
|
-
code:
|
|
40528
|
+
code: z73.ZodIssueCode.custom,
|
|
40229
40529
|
message: "`variants` must contain at least one variant key",
|
|
40230
40530
|
path: ["variants"]
|
|
40231
40531
|
});
|
|
40232
40532
|
}
|
|
40233
40533
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
40234
40534
|
ctx.addIssue({
|
|
40235
|
-
code:
|
|
40535
|
+
code: z73.ZodIssueCode.custom,
|
|
40236
40536
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
40237
40537
|
path: ["defaultVariant"]
|
|
40238
40538
|
});
|
|
@@ -40242,7 +40542,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40242
40542
|
if (!result.valid) {
|
|
40243
40543
|
for (const error of result.errors) {
|
|
40244
40544
|
ctx.addIssue({
|
|
40245
|
-
code:
|
|
40545
|
+
code: z73.ZodIssueCode.custom,
|
|
40246
40546
|
message: `${key}: ${error.message}`,
|
|
40247
40547
|
path: ["variants", key]
|
|
40248
40548
|
});
|
|
@@ -40253,7 +40553,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40253
40553
|
for (const key of Object.keys(data.variantOptions)) {
|
|
40254
40554
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
40255
40555
|
ctx.addIssue({
|
|
40256
|
-
code:
|
|
40556
|
+
code: z73.ZodIssueCode.custom,
|
|
40257
40557
|
message: "`variantOptions` key must exist in `variants`",
|
|
40258
40558
|
path: ["variantOptions", key]
|
|
40259
40559
|
});
|
|
@@ -40262,58 +40562,58 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40262
40562
|
}
|
|
40263
40563
|
}
|
|
40264
40564
|
});
|
|
40265
|
-
var themeSourceSchema =
|
|
40266
|
-
var activeThemeSchema =
|
|
40565
|
+
var themeSourceSchema = z73.enum(["local", "cms"]).optional();
|
|
40566
|
+
var activeThemeSchema = z73.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
|
|
40267
40567
|
message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
|
|
40268
40568
|
}).max(64, "Theme name too long").optional();
|
|
40269
40569
|
function isValidConfigBlockKind(kind) {
|
|
40270
40570
|
if (getBlockDefinition(kind)) return true;
|
|
40271
40571
|
return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
|
|
40272
40572
|
}
|
|
40273
|
-
var layoutBlockKindSchema =
|
|
40573
|
+
var layoutBlockKindSchema = z73.string().refine(isValidConfigBlockKind, {
|
|
40274
40574
|
message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
|
|
40275
40575
|
});
|
|
40276
|
-
var layoutFooterBlockSchema =
|
|
40277
|
-
id:
|
|
40576
|
+
var layoutFooterBlockSchema = z73.object({
|
|
40577
|
+
id: z73.string().min(1).optional(),
|
|
40278
40578
|
kind: layoutBlockKindSchema,
|
|
40279
40579
|
// Allow omitted content for blocks that rely on defaults.
|
|
40280
|
-
content:
|
|
40580
|
+
content: z73.record(z73.string(), z73.unknown()).optional()
|
|
40281
40581
|
}).strict();
|
|
40282
|
-
var layoutConfigSchema =
|
|
40283
|
-
footerBlocks:
|
|
40582
|
+
var layoutConfigSchema = z73.object({
|
|
40583
|
+
footerBlocks: z73.array(layoutFooterBlockSchema).optional()
|
|
40284
40584
|
}).strict();
|
|
40285
|
-
var sdkWorkflowIdSchema2 =
|
|
40585
|
+
var sdkWorkflowIdSchema2 = z73.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
40286
40586
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
40287
40587
|
});
|
|
40288
|
-
var sdkWorkflowEndpointSchema2 =
|
|
40289
|
-
var sdkWorkflowTriggerSchema2 =
|
|
40290
|
-
|
|
40588
|
+
var sdkWorkflowEndpointSchema2 = z73.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 "/"' });
|
|
40589
|
+
var sdkWorkflowTriggerSchema2 = z73.discriminatedUnion("type", [
|
|
40590
|
+
z73.object({ type: z73.literal("manual") }).strict()
|
|
40291
40591
|
]);
|
|
40292
|
-
var sdkWorkflowConfirmationSchema2 =
|
|
40293
|
-
title:
|
|
40294
|
-
body:
|
|
40592
|
+
var sdkWorkflowConfirmationSchema2 = z73.object({
|
|
40593
|
+
title: z73.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
40594
|
+
body: z73.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
40295
40595
|
}).strict();
|
|
40296
|
-
var sdkWorkflowConfigSchema2 =
|
|
40596
|
+
var sdkWorkflowConfigSchema2 = z73.object({
|
|
40297
40597
|
id: sdkWorkflowIdSchema2,
|
|
40298
|
-
title:
|
|
40299
|
-
description:
|
|
40300
|
-
contentType:
|
|
40598
|
+
title: z73.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
40599
|
+
description: z73.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
40600
|
+
contentType: z73.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
40301
40601
|
endpoint: sdkWorkflowEndpointSchema2,
|
|
40302
|
-
triggers:
|
|
40602
|
+
triggers: z73.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
40303
40603
|
confirmation: sdkWorkflowConfirmationSchema2.optional()
|
|
40304
40604
|
}).strict();
|
|
40305
|
-
var sdkWorkflowsSchema2 =
|
|
40605
|
+
var sdkWorkflowsSchema2 = z73.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
40306
40606
|
const ids = workflows.map((workflow) => workflow.id);
|
|
40307
40607
|
return ids.length === new Set(ids).size;
|
|
40308
40608
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
40309
|
-
var riverbankSiteConfigSchema =
|
|
40310
|
-
siteId:
|
|
40609
|
+
var riverbankSiteConfigSchema = z73.object({
|
|
40610
|
+
siteId: z73.string().uuid(),
|
|
40311
40611
|
previewUrl: sdkSiteUrlSchema.optional(),
|
|
40312
40612
|
liveUrl: sdkSiteUrlSchema.optional(),
|
|
40313
40613
|
theme: sdkThemeConfigSchema2.optional(),
|
|
40314
40614
|
styles: siteStyleConfigSchema,
|
|
40315
40615
|
layout: layoutConfigSchema.optional(),
|
|
40316
|
-
customBlocks:
|
|
40616
|
+
customBlocks: z73.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
|
|
40317
40617
|
// Ensure unique block IDs
|
|
40318
40618
|
(blocks) => {
|
|
40319
40619
|
const ids = blocks.map((b) => b.id);
|
|
@@ -40326,7 +40626,7 @@ var riverbankSiteConfigSchema = z72.object({
|
|
|
40326
40626
|
workflows: sdkWorkflowsSchema2,
|
|
40327
40627
|
content: contentConfigSchema.optional(),
|
|
40328
40628
|
// CLI-related configuration (Phase 4)
|
|
40329
|
-
contentDir:
|
|
40629
|
+
contentDir: z73.string().optional(),
|
|
40330
40630
|
sync: syncConfigSchema,
|
|
40331
40631
|
deploy: deployConfigSchema,
|
|
40332
40632
|
// Theme sync configuration (Phase 5)
|