@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
package/dist/server/config.mjs
CHANGED
|
@@ -44,7 +44,7 @@ function fallbackBinding(...sources) {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
// src/config/validation.ts
|
|
47
|
-
import { z as
|
|
47
|
+
import { z as z73 } from "zod";
|
|
48
48
|
|
|
49
49
|
// ../api/src/apiEndpointTypes.ts
|
|
50
50
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
@@ -1085,6 +1085,94 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1085
1085
|
responseKind: "json",
|
|
1086
1086
|
errors: ["resource:not_found", "server:internal_error"]
|
|
1087
1087
|
},
|
|
1088
|
+
listAppointmentReservations: {
|
|
1089
|
+
path: "/sites/{siteId}/bookings/appointment-reservations",
|
|
1090
|
+
method: "GET",
|
|
1091
|
+
auth: "user",
|
|
1092
|
+
responseKind: "json",
|
|
1093
|
+
errors: []
|
|
1094
|
+
},
|
|
1095
|
+
createAppointmentReservation: {
|
|
1096
|
+
path: "/sites/{siteId}/bookings/appointment-reservations",
|
|
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
|
+
getAppointmentReservation: {
|
|
1108
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
|
|
1109
|
+
method: "GET",
|
|
1110
|
+
auth: "user",
|
|
1111
|
+
responseKind: "json",
|
|
1112
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
1113
|
+
},
|
|
1114
|
+
updateAppointmentReservation: {
|
|
1115
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
|
|
1116
|
+
method: "PUT",
|
|
1117
|
+
auth: "user",
|
|
1118
|
+
responseKind: "json",
|
|
1119
|
+
errors: [
|
|
1120
|
+
"validation:invalid_input",
|
|
1121
|
+
"resource:not_found",
|
|
1122
|
+
"resource:conflict",
|
|
1123
|
+
"server:internal_error"
|
|
1124
|
+
]
|
|
1125
|
+
},
|
|
1126
|
+
pauseAppointmentReservation: {
|
|
1127
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/pause",
|
|
1128
|
+
method: "POST",
|
|
1129
|
+
auth: "user",
|
|
1130
|
+
responseKind: "json",
|
|
1131
|
+
errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
|
|
1132
|
+
},
|
|
1133
|
+
resumeAppointmentReservation: {
|
|
1134
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/resume",
|
|
1135
|
+
method: "POST",
|
|
1136
|
+
auth: "user",
|
|
1137
|
+
responseKind: "json",
|
|
1138
|
+
errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
|
|
1139
|
+
},
|
|
1140
|
+
endAppointmentReservation: {
|
|
1141
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/end",
|
|
1142
|
+
method: "POST",
|
|
1143
|
+
auth: "user",
|
|
1144
|
+
responseKind: "json",
|
|
1145
|
+
errors: [
|
|
1146
|
+
"validation:invalid_input",
|
|
1147
|
+
"resource:not_found",
|
|
1148
|
+
"resource:conflict",
|
|
1149
|
+
"server:internal_error"
|
|
1150
|
+
]
|
|
1151
|
+
},
|
|
1152
|
+
previewAppointmentReservationRun: {
|
|
1153
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/run-preview",
|
|
1154
|
+
method: "POST",
|
|
1155
|
+
auth: "user",
|
|
1156
|
+
responseKind: "json",
|
|
1157
|
+
errors: [
|
|
1158
|
+
"validation:invalid_input",
|
|
1159
|
+
"resource:not_found",
|
|
1160
|
+
"resource:conflict",
|
|
1161
|
+
"server:internal_error"
|
|
1162
|
+
]
|
|
1163
|
+
},
|
|
1164
|
+
createAppointmentReservationRun: {
|
|
1165
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/runs",
|
|
1166
|
+
method: "POST",
|
|
1167
|
+
auth: "user",
|
|
1168
|
+
responseKind: "json",
|
|
1169
|
+
errors: [
|
|
1170
|
+
"validation:invalid_input",
|
|
1171
|
+
"resource:not_found",
|
|
1172
|
+
"resource:conflict",
|
|
1173
|
+
"server:internal_error"
|
|
1174
|
+
]
|
|
1175
|
+
},
|
|
1088
1176
|
createTeamMemberProfile: {
|
|
1089
1177
|
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
|
|
1090
1178
|
method: "POST",
|
|
@@ -3541,6 +3629,18 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3541
3629
|
responseKind: "json",
|
|
3542
3630
|
errors: ["validation:invalid_input", "server:internal_error"]
|
|
3543
3631
|
},
|
|
3632
|
+
resolveRouteDecision: {
|
|
3633
|
+
path: "/sites/{siteId}/route-decision",
|
|
3634
|
+
method: "GET",
|
|
3635
|
+
tags: [
|
|
3636
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
3637
|
+
TAG_TEMPLATES.siteRedirects,
|
|
3638
|
+
TAG_TEMPLATES.siteRouteOutcomes
|
|
3639
|
+
],
|
|
3640
|
+
auth: "public",
|
|
3641
|
+
responseKind: "json",
|
|
3642
|
+
errors: ["validation:invalid_input", "server:internal_error"]
|
|
3643
|
+
},
|
|
3544
3644
|
getPageByPath: {
|
|
3545
3645
|
path: "/sites/{siteId}/pages",
|
|
3546
3646
|
method: "GET",
|
|
@@ -3679,6 +3779,15 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3679
3779
|
auth: "public",
|
|
3680
3780
|
responseKind: "json"
|
|
3681
3781
|
},
|
|
3782
|
+
getPublicWeeklySlotAvailability: {
|
|
3783
|
+
path: "/public/bookings/weekly-slot-availability",
|
|
3784
|
+
method: "GET",
|
|
3785
|
+
revalidate: 60,
|
|
3786
|
+
tags: ["site-{siteId}"],
|
|
3787
|
+
auth: "public",
|
|
3788
|
+
responseKind: "json",
|
|
3789
|
+
errors: []
|
|
3790
|
+
},
|
|
3682
3791
|
createPublicBookingAppointment: {
|
|
3683
3792
|
path: "/public/bookings/appointments",
|
|
3684
3793
|
method: "POST",
|
|
@@ -6831,7 +6940,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
6831
6940
|
);
|
|
6832
6941
|
|
|
6833
6942
|
// ../api/src/sdkConfig/contracts.ts
|
|
6834
|
-
import { z as
|
|
6943
|
+
import { z as z64 } from "zod";
|
|
6835
6944
|
|
|
6836
6945
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
6837
6946
|
function augmentManifest(manifest) {
|
|
@@ -7000,10 +7109,20 @@ var repeatSchema = z3.object({
|
|
|
7000
7109
|
direction: z3.enum(["asc", "desc"]).default("asc")
|
|
7001
7110
|
}).optional()
|
|
7002
7111
|
});
|
|
7112
|
+
var conditionalAuthoringPresenceSchema = z3.discriminatedUnion("kind", [
|
|
7113
|
+
z3.object({ kind: z3.literal("visitor-only") }),
|
|
7114
|
+
z3.object({
|
|
7115
|
+
kind: z3.literal("recover-empty-when-active"),
|
|
7116
|
+
placeholder: z3.string().min(1).optional()
|
|
7117
|
+
})
|
|
7118
|
+
]);
|
|
7003
7119
|
var conditionSchema = z3.object({
|
|
7004
7120
|
when: bindingSchema,
|
|
7005
7121
|
equals: z3.unknown().optional(),
|
|
7006
|
-
not: z3.boolean().default(false)
|
|
7122
|
+
not: z3.boolean().default(false),
|
|
7123
|
+
authoringPresence: conditionalAuthoringPresenceSchema.default({
|
|
7124
|
+
kind: "visitor-only"
|
|
7125
|
+
})
|
|
7007
7126
|
});
|
|
7008
7127
|
var dataScopeSchema = z3.object({
|
|
7009
7128
|
name: z3.string().min(1),
|
|
@@ -7064,6 +7183,7 @@ var ALLOWED_NODE_TYPES = [
|
|
|
7064
7183
|
// Forms
|
|
7065
7184
|
"form",
|
|
7066
7185
|
"booking-form",
|
|
7186
|
+
"weekly-slot-availability",
|
|
7067
7187
|
// Events
|
|
7068
7188
|
"event-registration",
|
|
7069
7189
|
"event-spotlight",
|
|
@@ -18101,7 +18221,8 @@ function when(path, options) {
|
|
|
18101
18221
|
$when: {
|
|
18102
18222
|
when: { from: path },
|
|
18103
18223
|
...options?.equals !== void 0 ? { equals: options.equals } : {},
|
|
18104
|
-
...options?.not ? { not: true } : {}
|
|
18224
|
+
...options?.not ? { not: true } : {},
|
|
18225
|
+
...options?.authoringPresence ? { authoringPresence: options.authoringPresence } : {}
|
|
18105
18226
|
}
|
|
18106
18227
|
});
|
|
18107
18228
|
}
|
|
@@ -27928,77 +28049,247 @@ var appointmentBookingBlockDefinition = {
|
|
|
27928
28049
|
}
|
|
27929
28050
|
};
|
|
27930
28051
|
|
|
28052
|
+
// ../blocks/src/system/blocks/weekly-slot-availability.ts
|
|
28053
|
+
import { z as z39 } from "zod";
|
|
28054
|
+
var weeklySlotAvailabilityManifest = createBlockManifest({
|
|
28055
|
+
id: "block.weekly-slot-availability",
|
|
28056
|
+
version: "1.0.0",
|
|
28057
|
+
title: "Weekly Slot Availability",
|
|
28058
|
+
titleSource: "heading",
|
|
28059
|
+
description: "Shows available recurring appointment slot patterns",
|
|
28060
|
+
skipSectionStyles: true,
|
|
28061
|
+
additionalFields: [
|
|
28062
|
+
{
|
|
28063
|
+
id: "serviceId",
|
|
28064
|
+
type: "reference",
|
|
28065
|
+
label: "Appointment service",
|
|
28066
|
+
description: "Choose which appointment service to show availability for",
|
|
28067
|
+
required: true,
|
|
28068
|
+
referenceKind: "appointmentService",
|
|
28069
|
+
allowManualEntry: false,
|
|
28070
|
+
ui: { intent: "behavior" }
|
|
28071
|
+
},
|
|
28072
|
+
{
|
|
28073
|
+
id: "resourceId",
|
|
28074
|
+
type: "reference",
|
|
28075
|
+
label: "Appointment resource",
|
|
28076
|
+
description: "Optionally narrow the availability to one practitioner or room",
|
|
28077
|
+
required: false,
|
|
28078
|
+
referenceKind: "appointmentResource",
|
|
28079
|
+
allowManualEntry: false,
|
|
28080
|
+
ui: { intent: "behavior" }
|
|
28081
|
+
},
|
|
28082
|
+
{
|
|
28083
|
+
id: "horizonWeeks",
|
|
28084
|
+
type: "select",
|
|
28085
|
+
label: "Look ahead",
|
|
28086
|
+
required: false,
|
|
28087
|
+
multiple: false,
|
|
28088
|
+
defaultValue: "4",
|
|
28089
|
+
options: [
|
|
28090
|
+
{ value: "1", label: "1 week" },
|
|
28091
|
+
{ value: "2", label: "2 weeks" },
|
|
28092
|
+
{ value: "4", label: "4 weeks" }
|
|
28093
|
+
],
|
|
28094
|
+
ui: { intent: "behavior" }
|
|
28095
|
+
},
|
|
28096
|
+
{
|
|
28097
|
+
id: "timezone",
|
|
28098
|
+
type: "text",
|
|
28099
|
+
label: "Timezone",
|
|
28100
|
+
description: "Leave blank to use the visitor timezone when the block loads",
|
|
28101
|
+
required: false,
|
|
28102
|
+
multiline: false,
|
|
28103
|
+
defaultValue: "",
|
|
28104
|
+
maxLength: 64,
|
|
28105
|
+
ui: { intent: "behavior" }
|
|
28106
|
+
},
|
|
28107
|
+
{
|
|
28108
|
+
id: "heading",
|
|
28109
|
+
type: "text",
|
|
28110
|
+
label: "Heading",
|
|
28111
|
+
required: false,
|
|
28112
|
+
multiline: false,
|
|
28113
|
+
defaultValue: "Weekly availability"
|
|
28114
|
+
},
|
|
28115
|
+
{
|
|
28116
|
+
id: "description",
|
|
28117
|
+
type: "richText",
|
|
28118
|
+
label: "Description",
|
|
28119
|
+
required: false
|
|
28120
|
+
},
|
|
28121
|
+
{
|
|
28122
|
+
id: "emptyMessage",
|
|
28123
|
+
type: "text",
|
|
28124
|
+
label: "Empty message",
|
|
28125
|
+
required: false,
|
|
28126
|
+
multiline: true,
|
|
28127
|
+
defaultValue: "No regular weekly openings are currently available.",
|
|
28128
|
+
maxLength: 180
|
|
28129
|
+
},
|
|
28130
|
+
{
|
|
28131
|
+
id: "ctaText",
|
|
28132
|
+
type: "text",
|
|
28133
|
+
label: "Enquiry button text",
|
|
28134
|
+
required: false,
|
|
28135
|
+
multiline: false,
|
|
28136
|
+
defaultValue: "Enquire about this slot",
|
|
28137
|
+
maxLength: 60
|
|
28138
|
+
},
|
|
28139
|
+
{
|
|
28140
|
+
id: "ctaUrl",
|
|
28141
|
+
type: "url",
|
|
28142
|
+
label: "Enquiry URL",
|
|
28143
|
+
required: false,
|
|
28144
|
+
ui: { intent: "behavior" }
|
|
28145
|
+
},
|
|
28146
|
+
sectionStylesField({
|
|
28147
|
+
id: "_sectionStyles",
|
|
28148
|
+
label: "Section styles"
|
|
28149
|
+
})
|
|
28150
|
+
],
|
|
28151
|
+
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
28152
|
+
behaviours: {
|
|
28153
|
+
supportsThemeSwitching: true,
|
|
28154
|
+
inlineEditing: false,
|
|
28155
|
+
animation: false,
|
|
28156
|
+
paletteHidden: false
|
|
28157
|
+
},
|
|
28158
|
+
category: "interactive",
|
|
28159
|
+
tags: ["booking", "appointment", "calendar", "weekly", "availability"],
|
|
28160
|
+
icon: "CalendarDays",
|
|
28161
|
+
layout: [
|
|
28162
|
+
styledSection({
|
|
28163
|
+
children: sectionContainer([
|
|
28164
|
+
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
28165
|
+
richText({}, bind("content.description"), when("content.description")),
|
|
28166
|
+
el(
|
|
28167
|
+
"weekly-slot-availability",
|
|
28168
|
+
withApiBindings({
|
|
28169
|
+
serviceId: { $bind: { from: "content.serviceId" } },
|
|
28170
|
+
resourceId: { $bind: { from: "content.resourceId", fallback: null } },
|
|
28171
|
+
horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
|
|
28172
|
+
timezone: { $bind: { from: "content.timezone", fallback: null } },
|
|
28173
|
+
availability: { $bind: { from: "data.availability", fallback: null } },
|
|
28174
|
+
emptyMessage: { $bind: { from: "content.emptyMessage", fallback: null } },
|
|
28175
|
+
ctaText: { $bind: { from: "content.ctaText", fallback: null } },
|
|
28176
|
+
ctaUrl: { $bind: { from: "content.ctaUrl", fallback: null } }
|
|
28177
|
+
})
|
|
28178
|
+
)
|
|
28179
|
+
], {
|
|
28180
|
+
gap: "lg"
|
|
28181
|
+
}),
|
|
28182
|
+
baseClass: "",
|
|
28183
|
+
spacing: "spacious"
|
|
28184
|
+
})
|
|
28185
|
+
]
|
|
28186
|
+
});
|
|
28187
|
+
var weeklySlotAvailabilityOptionSchema = z39.object({
|
|
28188
|
+
id: z39.string(),
|
|
28189
|
+
resourceId: z39.string(),
|
|
28190
|
+
weekday: z39.number(),
|
|
28191
|
+
weekdayLabel: z39.string(),
|
|
28192
|
+
startTime: z39.string(),
|
|
28193
|
+
endTime: z39.string(),
|
|
28194
|
+
nextDate: z39.string(),
|
|
28195
|
+
availableWeeks: z39.number()
|
|
28196
|
+
});
|
|
28197
|
+
var weeklySlotAvailabilityDataSchema = z39.object({
|
|
28198
|
+
slots: z39.array(weeklySlotAvailabilityOptionSchema),
|
|
28199
|
+
horizonWeeks: z39.number(),
|
|
28200
|
+
timezone: z39.string(),
|
|
28201
|
+
startDate: z39.string(),
|
|
28202
|
+
endDate: z39.string()
|
|
28203
|
+
});
|
|
28204
|
+
var weeklySlotAvailabilityBlockDefinition = {
|
|
28205
|
+
manifest: weeklySlotAvailabilityManifest,
|
|
28206
|
+
dataSchemas: { availability: weeklySlotAvailabilityDataSchema.optional() },
|
|
28207
|
+
dataLoaders: {
|
|
28208
|
+
availability: {
|
|
28209
|
+
endpoint: "getPublicWeeklySlotAvailability",
|
|
28210
|
+
params: {
|
|
28211
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
28212
|
+
serviceId: { $bind: { from: "content.serviceId" } },
|
|
28213
|
+
resourceId: { $bind: { from: "content.resourceId", fallback: void 0 } },
|
|
28214
|
+
horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
|
|
28215
|
+
timezone: { $bind: { from: "content.timezone", fallback: void 0 } }
|
|
28216
|
+
},
|
|
28217
|
+
mode: "server"
|
|
28218
|
+
}
|
|
28219
|
+
}
|
|
28220
|
+
};
|
|
28221
|
+
|
|
27931
28222
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27932
|
-
import { z as
|
|
28223
|
+
import { z as z44 } from "zod";
|
|
27933
28224
|
|
|
27934
28225
|
// ../blocks/src/lib/media.ts
|
|
27935
|
-
import
|
|
28226
|
+
import z40 from "zod";
|
|
27936
28227
|
var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
|
|
27937
28228
|
"document",
|
|
27938
28229
|
"spreadsheet",
|
|
27939
28230
|
"archive",
|
|
27940
28231
|
"audio"
|
|
27941
28232
|
];
|
|
27942
|
-
var hotspotSchema2 =
|
|
27943
|
-
x:
|
|
27944
|
-
y:
|
|
27945
|
-
radius:
|
|
27946
|
-
});
|
|
27947
|
-
var rotationSchema2 =
|
|
27948
|
-
var rectSchema2 =
|
|
27949
|
-
var aspectCropSchema2 =
|
|
27950
|
-
aspect:
|
|
27951
|
-
rect:
|
|
27952
|
-
hotspot:
|
|
27953
|
-
rotation:
|
|
27954
|
-
});
|
|
27955
|
-
var transformSchema2 =
|
|
27956
|
-
aspectCrops:
|
|
28233
|
+
var hotspotSchema2 = z40.object({
|
|
28234
|
+
x: z40.number().min(0).max(1),
|
|
28235
|
+
y: z40.number().min(0).max(1),
|
|
28236
|
+
radius: z40.number().optional()
|
|
28237
|
+
});
|
|
28238
|
+
var rotationSchema2 = z40.union([z40.literal(0), z40.literal(90), z40.literal(180), z40.literal(270)]);
|
|
28239
|
+
var rectSchema2 = z40.tuple([z40.number(), z40.number(), z40.number(), z40.number()]);
|
|
28240
|
+
var aspectCropSchema2 = z40.object({
|
|
28241
|
+
aspect: z40.preprocess((value) => value == null ? void 0 : value, z40.string().optional()),
|
|
28242
|
+
rect: z40.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
|
|
28243
|
+
hotspot: z40.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
|
|
28244
|
+
rotation: z40.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
|
|
28245
|
+
});
|
|
28246
|
+
var transformSchema2 = z40.object({
|
|
28247
|
+
aspectCrops: z40.preprocess((value) => {
|
|
27957
28248
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
27958
28249
|
return void 0;
|
|
27959
28250
|
}
|
|
27960
28251
|
return value;
|
|
27961
|
-
},
|
|
28252
|
+
}, z40.record(z40.string(), aspectCropSchema2.catch({}))).optional(),
|
|
27962
28253
|
rect: rectSchema2.optional(),
|
|
27963
28254
|
hotspot: hotspotSchema2.optional(),
|
|
27964
28255
|
rotation: rotationSchema2.optional()
|
|
27965
28256
|
});
|
|
27966
|
-
var mediaPosterSchema =
|
|
27967
|
-
|
|
27968
|
-
tag:
|
|
27969
|
-
assetId:
|
|
27970
|
-
storageBucket:
|
|
27971
|
-
storagePath:
|
|
28257
|
+
var mediaPosterSchema = z40.discriminatedUnion("tag", [
|
|
28258
|
+
z40.object({
|
|
28259
|
+
tag: z40.literal("storage"),
|
|
28260
|
+
assetId: z40.string().optional(),
|
|
28261
|
+
storageBucket: z40.string().min(1),
|
|
28262
|
+
storagePath: z40.string().min(1)
|
|
27972
28263
|
}),
|
|
27973
|
-
|
|
27974
|
-
tag:
|
|
27975
|
-
assetId:
|
|
27976
|
-
src:
|
|
28264
|
+
z40.object({
|
|
28265
|
+
tag: z40.literal("external-src"),
|
|
28266
|
+
assetId: z40.string().optional(),
|
|
28267
|
+
src: z40.string().url()
|
|
27977
28268
|
})
|
|
27978
28269
|
]);
|
|
27979
|
-
var mediaBaseSchema =
|
|
27980
|
-
purpose:
|
|
27981
|
-
placeholder:
|
|
27982
|
-
assetId:
|
|
27983
|
-
identifier:
|
|
27984
|
-
src:
|
|
27985
|
-
alt:
|
|
27986
|
-
filename:
|
|
27987
|
-
mimeType:
|
|
27988
|
-
width:
|
|
27989
|
-
height:
|
|
27990
|
-
storageBucket:
|
|
27991
|
-
storagePath:
|
|
28270
|
+
var mediaBaseSchema = z40.object({
|
|
28271
|
+
purpose: z40.string().optional(),
|
|
28272
|
+
placeholder: z40.boolean().default(true).optional(),
|
|
28273
|
+
assetId: z40.string().optional(),
|
|
28274
|
+
identifier: z40.string().optional(),
|
|
28275
|
+
src: z40.string().optional(),
|
|
28276
|
+
alt: z40.string().optional(),
|
|
28277
|
+
filename: z40.string().optional(),
|
|
28278
|
+
mimeType: z40.string().optional(),
|
|
28279
|
+
width: z40.number().optional(),
|
|
28280
|
+
height: z40.number().optional(),
|
|
28281
|
+
storageBucket: z40.string().optional(),
|
|
28282
|
+
storagePath: z40.string().optional(),
|
|
27992
28283
|
poster: mediaPosterSchema.optional(),
|
|
27993
28284
|
transform: transformSchema2.optional()
|
|
27994
28285
|
});
|
|
27995
|
-
var imageMediaSchema = mediaBaseSchema.extend({ type:
|
|
27996
|
-
var videoMediaSchema = mediaBaseSchema.extend({ type:
|
|
27997
|
-
var audioMediaSchema = mediaBaseSchema.extend({ type:
|
|
27998
|
-
var documentMediaSchema = mediaBaseSchema.extend({ type:
|
|
27999
|
-
var spreadsheetMediaSchema = mediaBaseSchema.extend({ type:
|
|
28000
|
-
var archiveMediaSchema = mediaBaseSchema.extend({ type:
|
|
28001
|
-
var mediaSchema2 =
|
|
28286
|
+
var imageMediaSchema = mediaBaseSchema.extend({ type: z40.literal("image") });
|
|
28287
|
+
var videoMediaSchema = mediaBaseSchema.extend({ type: z40.literal("video") });
|
|
28288
|
+
var audioMediaSchema = mediaBaseSchema.extend({ type: z40.literal("audio") });
|
|
28289
|
+
var documentMediaSchema = mediaBaseSchema.extend({ type: z40.literal("document") });
|
|
28290
|
+
var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z40.literal("spreadsheet") });
|
|
28291
|
+
var archiveMediaSchema = mediaBaseSchema.extend({ type: z40.literal("archive") });
|
|
28292
|
+
var mediaSchema2 = z40.discriminatedUnion("type", [
|
|
28002
28293
|
imageMediaSchema,
|
|
28003
28294
|
videoMediaSchema,
|
|
28004
28295
|
audioMediaSchema,
|
|
@@ -28008,372 +28299,372 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
|
|
|
28008
28299
|
]);
|
|
28009
28300
|
|
|
28010
28301
|
// ../blocks/src/system/manifest/richTextSchema.ts
|
|
28011
|
-
import { z as
|
|
28012
|
-
var TipTapMarkSchema =
|
|
28013
|
-
type:
|
|
28014
|
-
attrs:
|
|
28015
|
-
});
|
|
28016
|
-
var TipTapNodeSchema =
|
|
28017
|
-
() =>
|
|
28018
|
-
type:
|
|
28019
|
-
content:
|
|
28020
|
-
text:
|
|
28021
|
-
attrs:
|
|
28022
|
-
marks:
|
|
28302
|
+
import { z as z41 } from "zod";
|
|
28303
|
+
var TipTapMarkSchema = z41.object({
|
|
28304
|
+
type: z41.string(),
|
|
28305
|
+
attrs: z41.record(z41.string(), z41.unknown()).optional()
|
|
28306
|
+
});
|
|
28307
|
+
var TipTapNodeSchema = z41.lazy(
|
|
28308
|
+
() => z41.object({
|
|
28309
|
+
type: z41.string(),
|
|
28310
|
+
content: z41.array(TipTapNodeSchema).optional(),
|
|
28311
|
+
text: z41.string().optional(),
|
|
28312
|
+
attrs: z41.record(z41.string(), z41.unknown()).optional(),
|
|
28313
|
+
marks: z41.array(TipTapMarkSchema).optional()
|
|
28023
28314
|
})
|
|
28024
28315
|
);
|
|
28025
|
-
var RichTextValueSchema =
|
|
28316
|
+
var RichTextValueSchema = z41.union([
|
|
28026
28317
|
// Canonical: TipTap document directly
|
|
28027
28318
|
TipTapNodeSchema,
|
|
28028
28319
|
// Legacy (read-tolerance only): wrapped in { doc: {...} }
|
|
28029
|
-
|
|
28320
|
+
z41.object({
|
|
28030
28321
|
doc: TipTapNodeSchema
|
|
28031
28322
|
})
|
|
28032
28323
|
]);
|
|
28033
|
-
var RichTextDocSchema =
|
|
28034
|
-
type:
|
|
28035
|
-
content:
|
|
28324
|
+
var RichTextDocSchema = z41.object({
|
|
28325
|
+
type: z41.literal("doc"),
|
|
28326
|
+
content: z41.array(TipTapNodeSchema)
|
|
28036
28327
|
});
|
|
28037
28328
|
|
|
28038
28329
|
// ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
28039
|
-
import { z as
|
|
28040
|
-
var bookingDepositRefundPolicySchema =
|
|
28330
|
+
import { z as z42 } from "zod";
|
|
28331
|
+
var bookingDepositRefundPolicySchema = z42.enum([
|
|
28041
28332
|
"refundable",
|
|
28042
28333
|
"non_refundable"
|
|
28043
28334
|
]);
|
|
28044
|
-
var bookingInstalmentPlanSchema =
|
|
28045
|
-
|
|
28046
|
-
kind:
|
|
28047
|
-
depositAmountCents:
|
|
28335
|
+
var bookingInstalmentPlanSchema = z42.union([
|
|
28336
|
+
z42.object({
|
|
28337
|
+
kind: z42.literal("deposit_plus_one_remainder"),
|
|
28338
|
+
depositAmountCents: z42.number().int().min(0),
|
|
28048
28339
|
depositRefundability: bookingDepositRefundPolicySchema,
|
|
28049
|
-
remainderDueCount:
|
|
28050
|
-
intervalUnit:
|
|
28340
|
+
remainderDueCount: z42.number().int().positive(),
|
|
28341
|
+
intervalUnit: z42.enum(["day", "week", "month"])
|
|
28051
28342
|
}),
|
|
28052
|
-
|
|
28053
|
-
kind:
|
|
28054
|
-
depositAmountCents:
|
|
28343
|
+
z42.object({
|
|
28344
|
+
kind: z42.literal("deposit_plus_scheduled_instalments"),
|
|
28345
|
+
depositAmountCents: z42.number().int().min(0),
|
|
28055
28346
|
depositRefundability: bookingDepositRefundPolicySchema,
|
|
28056
|
-
instalmentCount:
|
|
28057
|
-
intervalCount:
|
|
28058
|
-
intervalUnit:
|
|
28347
|
+
instalmentCount: z42.number().int().positive(),
|
|
28348
|
+
intervalCount: z42.number().int().positive(),
|
|
28349
|
+
intervalUnit: z42.enum(["day", "week", "month"])
|
|
28059
28350
|
}),
|
|
28060
|
-
|
|
28061
|
-
kind:
|
|
28062
|
-
instalmentCount:
|
|
28063
|
-
intervalCount:
|
|
28064
|
-
intervalUnit:
|
|
28351
|
+
z42.object({
|
|
28352
|
+
kind: z42.literal("equal_scheduled_instalments"),
|
|
28353
|
+
instalmentCount: z42.number().int().positive(),
|
|
28354
|
+
intervalCount: z42.number().int().positive(),
|
|
28355
|
+
intervalUnit: z42.enum(["day", "week", "month"])
|
|
28065
28356
|
})
|
|
28066
28357
|
]);
|
|
28067
|
-
var bookingFlexibleBalanceDueDateRuleSchema =
|
|
28068
|
-
|
|
28069
|
-
kind:
|
|
28070
|
-
daysBeforeStart:
|
|
28358
|
+
var bookingFlexibleBalanceDueDateRuleSchema = z42.union([
|
|
28359
|
+
z42.object({
|
|
28360
|
+
kind: z42.literal("relative_to_start_date"),
|
|
28361
|
+
daysBeforeStart: z42.number().int().positive()
|
|
28071
28362
|
}),
|
|
28072
|
-
|
|
28073
|
-
kind:
|
|
28074
|
-
dueAt:
|
|
28363
|
+
z42.object({
|
|
28364
|
+
kind: z42.literal("fixed_calendar_date"),
|
|
28365
|
+
dueAt: z42.string().datetime()
|
|
28075
28366
|
})
|
|
28076
28367
|
]);
|
|
28077
|
-
var bookingFlexibleBalanceConfigSchema =
|
|
28078
|
-
upfrontAmountCents:
|
|
28368
|
+
var bookingFlexibleBalanceConfigSchema = z42.object({
|
|
28369
|
+
upfrontAmountCents: z42.number().int().min(0),
|
|
28079
28370
|
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
28080
28371
|
depositRefundability: bookingDepositRefundPolicySchema
|
|
28081
28372
|
});
|
|
28082
|
-
var blockBookingPaymentCollectionOptionSchema =
|
|
28083
|
-
|
|
28084
|
-
kind:
|
|
28373
|
+
var blockBookingPaymentCollectionOptionSchema = z42.union([
|
|
28374
|
+
z42.object({
|
|
28375
|
+
kind: z42.literal("upfront")
|
|
28085
28376
|
}),
|
|
28086
|
-
|
|
28087
|
-
kind:
|
|
28377
|
+
z42.object({
|
|
28378
|
+
kind: z42.literal("deferred_manual")
|
|
28088
28379
|
}),
|
|
28089
|
-
|
|
28090
|
-
kind:
|
|
28380
|
+
z42.object({
|
|
28381
|
+
kind: z42.literal("instalment_plan"),
|
|
28091
28382
|
plan: bookingInstalmentPlanSchema
|
|
28092
28383
|
}),
|
|
28093
|
-
|
|
28094
|
-
kind:
|
|
28384
|
+
z42.object({
|
|
28385
|
+
kind: z42.literal("flexible_balance"),
|
|
28095
28386
|
config: bookingFlexibleBalanceConfigSchema
|
|
28096
28387
|
})
|
|
28097
28388
|
]);
|
|
28098
|
-
var blockBookingPaymentTermsSchema =
|
|
28099
|
-
allowedOptions:
|
|
28389
|
+
var blockBookingPaymentTermsSchema = z42.object({
|
|
28390
|
+
allowedOptions: z42.array(blockBookingPaymentCollectionOptionSchema).min(1)
|
|
28100
28391
|
});
|
|
28101
28392
|
|
|
28102
28393
|
// ../blocks/src/system/blocks/courses/shared/schemas.ts
|
|
28103
|
-
import { z as
|
|
28104
|
-
var courseVenueSchema =
|
|
28105
|
-
id:
|
|
28106
|
-
name:
|
|
28107
|
-
address:
|
|
28108
|
-
});
|
|
28109
|
-
var courseSessionSchema =
|
|
28110
|
-
id:
|
|
28111
|
-
startsAt:
|
|
28112
|
-
endsAt:
|
|
28113
|
-
timeZone:
|
|
28114
|
-
capacityOverride:
|
|
28115
|
-
overrides:
|
|
28116
|
-
});
|
|
28117
|
-
var courseTeamMemberSummarySchema =
|
|
28118
|
-
id:
|
|
28119
|
-
name:
|
|
28120
|
-
roleLabel:
|
|
28121
|
-
summary:
|
|
28122
|
-
profilePath:
|
|
28123
|
-
});
|
|
28124
|
-
var coursePricingOptionSchema =
|
|
28125
|
-
id:
|
|
28126
|
-
name:
|
|
28127
|
-
description:
|
|
28128
|
-
priceAmount:
|
|
28129
|
-
isActive:
|
|
28130
|
-
sortOrder:
|
|
28131
|
-
capacityLimit:
|
|
28132
|
-
saleStartsAt:
|
|
28133
|
-
saleEndsAt:
|
|
28134
|
-
attendanceScope:
|
|
28135
|
-
});
|
|
28136
|
-
var coursePricingSchema =
|
|
28137
|
-
bookingRequirement:
|
|
28138
|
-
pricingStrategy:
|
|
28139
|
-
currency:
|
|
28140
|
-
singlePriceAmount:
|
|
28141
|
-
slidingMinAmount:
|
|
28142
|
-
slidingMaxAmount:
|
|
28143
|
-
slidingSuggestedAmount:
|
|
28394
|
+
import { z as z43 } from "zod";
|
|
28395
|
+
var courseVenueSchema = z43.object({
|
|
28396
|
+
id: z43.string(),
|
|
28397
|
+
name: z43.string(),
|
|
28398
|
+
address: z43.string().nullable()
|
|
28399
|
+
});
|
|
28400
|
+
var courseSessionSchema = z43.object({
|
|
28401
|
+
id: z43.string(),
|
|
28402
|
+
startsAt: z43.string(),
|
|
28403
|
+
endsAt: z43.string(),
|
|
28404
|
+
timeZone: z43.string(),
|
|
28405
|
+
capacityOverride: z43.number().nullable().optional(),
|
|
28406
|
+
overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
|
|
28407
|
+
});
|
|
28408
|
+
var courseTeamMemberSummarySchema = z43.object({
|
|
28409
|
+
id: z43.string(),
|
|
28410
|
+
name: z43.string(),
|
|
28411
|
+
roleLabel: z43.string().nullable(),
|
|
28412
|
+
summary: z43.string().nullable(),
|
|
28413
|
+
profilePath: z43.string().nullable()
|
|
28414
|
+
});
|
|
28415
|
+
var coursePricingOptionSchema = z43.object({
|
|
28416
|
+
id: z43.string(),
|
|
28417
|
+
name: z43.string(),
|
|
28418
|
+
description: z43.string().nullable(),
|
|
28419
|
+
priceAmount: z43.number(),
|
|
28420
|
+
isActive: z43.boolean(),
|
|
28421
|
+
sortOrder: z43.number(),
|
|
28422
|
+
capacityLimit: z43.number().nullable(),
|
|
28423
|
+
saleStartsAt: z43.string().nullable(),
|
|
28424
|
+
saleEndsAt: z43.string().nullable(),
|
|
28425
|
+
attendanceScope: z43.enum(["in_person", "online", "both"]).nullable().optional()
|
|
28426
|
+
});
|
|
28427
|
+
var coursePricingSchema = z43.object({
|
|
28428
|
+
bookingRequirement: z43.enum(["none", "required"]),
|
|
28429
|
+
pricingStrategy: z43.enum(["free", "single", "tiered", "sliding_scale"]),
|
|
28430
|
+
currency: z43.string(),
|
|
28431
|
+
singlePriceAmount: z43.number().nullable(),
|
|
28432
|
+
slidingMinAmount: z43.number().nullable().optional(),
|
|
28433
|
+
slidingMaxAmount: z43.number().nullable().optional(),
|
|
28434
|
+
slidingSuggestedAmount: z43.number().nullable().optional(),
|
|
28144
28435
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28145
|
-
options:
|
|
28146
|
-
});
|
|
28147
|
-
var publicCourseSchema =
|
|
28148
|
-
id:
|
|
28149
|
-
title:
|
|
28150
|
-
slug:
|
|
28151
|
-
description:
|
|
28152
|
-
teamMembers:
|
|
28153
|
-
enrollmentOpen:
|
|
28436
|
+
options: z43.array(coursePricingOptionSchema)
|
|
28437
|
+
});
|
|
28438
|
+
var publicCourseSchema = z43.object({
|
|
28439
|
+
id: z43.string(),
|
|
28440
|
+
title: z43.string(),
|
|
28441
|
+
slug: z43.string(),
|
|
28442
|
+
description: z43.unknown().nullable(),
|
|
28443
|
+
teamMembers: z43.array(courseTeamMemberSummarySchema).optional(),
|
|
28444
|
+
enrollmentOpen: z43.boolean(),
|
|
28154
28445
|
pricing: coursePricingSchema.optional(),
|
|
28155
|
-
priceCents:
|
|
28156
|
-
currency:
|
|
28446
|
+
priceCents: z43.number().nullable(),
|
|
28447
|
+
currency: z43.string(),
|
|
28157
28448
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28158
|
-
enrollmentCapacity:
|
|
28159
|
-
acceptsMemberships:
|
|
28160
|
-
status:
|
|
28161
|
-
sessionsCount:
|
|
28162
|
-
enrolledCount:
|
|
28163
|
-
availableSpots:
|
|
28164
|
-
sessions:
|
|
28449
|
+
enrollmentCapacity: z43.number().nullable(),
|
|
28450
|
+
acceptsMemberships: z43.boolean(),
|
|
28451
|
+
status: z43.enum(["active", "draft", "cancelled"]),
|
|
28452
|
+
sessionsCount: z43.number(),
|
|
28453
|
+
enrolledCount: z43.number(),
|
|
28454
|
+
availableSpots: z43.number().nullable(),
|
|
28455
|
+
sessions: z43.array(courseSessionSchema),
|
|
28165
28456
|
venue: courseVenueSchema.nullable(),
|
|
28166
|
-
contentEntryId:
|
|
28457
|
+
contentEntryId: z43.string().nullable()
|
|
28167
28458
|
});
|
|
28168
|
-
var publicCoursesArraySchema =
|
|
28459
|
+
var publicCoursesArraySchema = z43.array(publicCourseSchema);
|
|
28169
28460
|
|
|
28170
28461
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
28171
|
-
var eventPresetSchema =
|
|
28172
|
-
var eventScheduleScopeSchema =
|
|
28173
|
-
var eventDestinationModeSchema =
|
|
28174
|
-
var publicEventDestinationSchema =
|
|
28175
|
-
|
|
28176
|
-
kind:
|
|
28462
|
+
var eventPresetSchema = z44.enum(["event", "class", "workshop", "retreat", "performance"]);
|
|
28463
|
+
var eventScheduleScopeSchema = z44.enum(["recurring", "oneOff"]);
|
|
28464
|
+
var eventDestinationModeSchema = z44.enum(["cms-managed", "system-managed"]);
|
|
28465
|
+
var publicEventDestinationSchema = z44.discriminatedUnion("kind", [
|
|
28466
|
+
z44.object({
|
|
28467
|
+
kind: z44.literal("native"),
|
|
28177
28468
|
mode: eventDestinationModeSchema,
|
|
28178
|
-
path:
|
|
28469
|
+
path: z44.string()
|
|
28179
28470
|
}),
|
|
28180
|
-
|
|
28181
|
-
kind:
|
|
28182
|
-
url:
|
|
28183
|
-
label:
|
|
28471
|
+
z44.object({
|
|
28472
|
+
kind: z44.literal("external"),
|
|
28473
|
+
url: z44.string(),
|
|
28474
|
+
label: z44.string()
|
|
28184
28475
|
})
|
|
28185
28476
|
]);
|
|
28186
|
-
var eventVenueSchema =
|
|
28187
|
-
id:
|
|
28188
|
-
name:
|
|
28189
|
-
address:
|
|
28190
|
-
location:
|
|
28191
|
-
lat:
|
|
28192
|
-
lng:
|
|
28477
|
+
var eventVenueSchema = z44.object({
|
|
28478
|
+
id: z44.string(),
|
|
28479
|
+
name: z44.string(),
|
|
28480
|
+
address: z44.string().nullable(),
|
|
28481
|
+
location: z44.object({
|
|
28482
|
+
lat: z44.number(),
|
|
28483
|
+
lng: z44.number()
|
|
28193
28484
|
}).nullable()
|
|
28194
28485
|
});
|
|
28195
|
-
var eventCategorySchema =
|
|
28196
|
-
id:
|
|
28197
|
-
name:
|
|
28198
|
-
color:
|
|
28199
|
-
});
|
|
28200
|
-
var pricingTypeSchema =
|
|
28201
|
-
var accessRestrictionSchema =
|
|
28202
|
-
var eventPricingModeSchema =
|
|
28203
|
-
var publicCoursePriceDisplaySchema =
|
|
28204
|
-
|
|
28205
|
-
|
|
28206
|
-
|
|
28207
|
-
|
|
28486
|
+
var eventCategorySchema = z44.object({
|
|
28487
|
+
id: z44.string(),
|
|
28488
|
+
name: z44.string(),
|
|
28489
|
+
color: z44.string().nullable()
|
|
28490
|
+
});
|
|
28491
|
+
var pricingTypeSchema = z44.enum(["free", "paid", "external"]);
|
|
28492
|
+
var accessRestrictionSchema = z44.enum(["none", "category"]);
|
|
28493
|
+
var eventPricingModeSchema = z44.enum(["single", "ticket_types"]);
|
|
28494
|
+
var publicCoursePriceDisplaySchema = z44.discriminatedUnion("kind", [
|
|
28495
|
+
z44.object({ kind: z44.literal("free"), currency: z44.string() }),
|
|
28496
|
+
z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
|
|
28497
|
+
z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
|
|
28498
|
+
z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
|
|
28208
28499
|
]);
|
|
28209
|
-
var publicEventPriceDisplaySchema =
|
|
28210
|
-
|
|
28211
|
-
|
|
28212
|
-
|
|
28213
|
-
|
|
28214
|
-
|
|
28215
|
-
kind:
|
|
28216
|
-
paidFromAmount:
|
|
28217
|
-
paidToAmount:
|
|
28218
|
-
currency:
|
|
28500
|
+
var publicEventPriceDisplaySchema = z44.discriminatedUnion("kind", [
|
|
28501
|
+
z44.object({ kind: z44.literal("free"), currency: z44.string() }),
|
|
28502
|
+
z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
|
|
28503
|
+
z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
|
|
28504
|
+
z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
|
|
28505
|
+
z44.object({
|
|
28506
|
+
kind: z44.literal("mixed"),
|
|
28507
|
+
paidFromAmount: z44.number(),
|
|
28508
|
+
paidToAmount: z44.number(),
|
|
28509
|
+
currency: z44.string()
|
|
28219
28510
|
}),
|
|
28220
|
-
|
|
28221
|
-
|
|
28222
|
-
|
|
28511
|
+
z44.object({ kind: z44.literal("unavailable"), currency: z44.string() }),
|
|
28512
|
+
z44.object({ kind: z44.literal("external"), label: z44.string() }),
|
|
28513
|
+
z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28223
28514
|
]);
|
|
28224
|
-
var publicEventTicketTypePriceDisplaySchema =
|
|
28225
|
-
|
|
28226
|
-
|
|
28227
|
-
|
|
28228
|
-
|
|
28229
|
-
|
|
28230
|
-
kind:
|
|
28231
|
-
paidFromAmount:
|
|
28232
|
-
paidToAmount:
|
|
28233
|
-
currency:
|
|
28515
|
+
var publicEventTicketTypePriceDisplaySchema = z44.union([
|
|
28516
|
+
z44.object({ kind: z44.literal("free"), currency: z44.string() }),
|
|
28517
|
+
z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
|
|
28518
|
+
z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
|
|
28519
|
+
z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
|
|
28520
|
+
z44.object({
|
|
28521
|
+
kind: z44.literal("mixed"),
|
|
28522
|
+
paidFromAmount: z44.number(),
|
|
28523
|
+
paidToAmount: z44.number(),
|
|
28524
|
+
currency: z44.string()
|
|
28234
28525
|
}),
|
|
28235
|
-
|
|
28526
|
+
z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
|
|
28236
28527
|
]);
|
|
28237
|
-
var publicEventAttendanceModeSchema =
|
|
28238
|
-
var publicEventAttendanceModeAvailabilitySchema =
|
|
28528
|
+
var publicEventAttendanceModeSchema = z44.enum(["in_person", "online"]);
|
|
28529
|
+
var publicEventAttendanceModeAvailabilitySchema = z44.object({
|
|
28239
28530
|
mode: publicEventAttendanceModeSchema,
|
|
28240
|
-
capacity:
|
|
28241
|
-
registeredCount:
|
|
28242
|
-
availableSpots:
|
|
28243
|
-
waitlistEnabled:
|
|
28244
|
-
});
|
|
28245
|
-
var publicEventTicketTypeAvailabilitySchema =
|
|
28246
|
-
|
|
28247
|
-
kind:
|
|
28248
|
-
remainingCapacity:
|
|
28531
|
+
capacity: z44.number().nullable(),
|
|
28532
|
+
registeredCount: z44.number(),
|
|
28533
|
+
availableSpots: z44.number().nullable(),
|
|
28534
|
+
waitlistEnabled: z44.boolean()
|
|
28535
|
+
});
|
|
28536
|
+
var publicEventTicketTypeAvailabilitySchema = z44.union([
|
|
28537
|
+
z44.object({
|
|
28538
|
+
kind: z44.literal("available"),
|
|
28539
|
+
remainingCapacity: z44.number().nullable()
|
|
28249
28540
|
}),
|
|
28250
|
-
|
|
28251
|
-
kind:
|
|
28252
|
-
reason:
|
|
28253
|
-
remainingCapacity:
|
|
28541
|
+
z44.object({
|
|
28542
|
+
kind: z44.literal("unavailable"),
|
|
28543
|
+
reason: z44.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
|
|
28544
|
+
remainingCapacity: z44.number().nullable()
|
|
28254
28545
|
})
|
|
28255
28546
|
]);
|
|
28256
|
-
var publicEventTicketTypeSchema =
|
|
28257
|
-
id:
|
|
28258
|
-
siteId:
|
|
28259
|
-
eventSeriesId:
|
|
28260
|
-
name:
|
|
28261
|
-
description:
|
|
28262
|
-
priceAmount:
|
|
28263
|
-
isActive:
|
|
28264
|
-
sortOrder:
|
|
28265
|
-
capacityMode:
|
|
28266
|
-
capacityLimit:
|
|
28267
|
-
attendanceScope:
|
|
28268
|
-
saleStartsAt:
|
|
28269
|
-
saleEndsAt:
|
|
28547
|
+
var publicEventTicketTypeSchema = z44.object({
|
|
28548
|
+
id: z44.string(),
|
|
28549
|
+
siteId: z44.string(),
|
|
28550
|
+
eventSeriesId: z44.string(),
|
|
28551
|
+
name: z44.string(),
|
|
28552
|
+
description: z44.string().nullable(),
|
|
28553
|
+
priceAmount: z44.number(),
|
|
28554
|
+
isActive: z44.boolean(),
|
|
28555
|
+
sortOrder: z44.number(),
|
|
28556
|
+
capacityMode: z44.enum(["limited", "unlimited"]),
|
|
28557
|
+
capacityLimit: z44.number().nullable(),
|
|
28558
|
+
attendanceScope: z44.enum(["in_person", "online", "both"]).optional(),
|
|
28559
|
+
saleStartsAt: z44.string().nullable(),
|
|
28560
|
+
saleEndsAt: z44.string().nullable(),
|
|
28270
28561
|
availability: publicEventTicketTypeAvailabilitySchema,
|
|
28271
|
-
createdAt:
|
|
28272
|
-
updatedAt:
|
|
28273
|
-
});
|
|
28274
|
-
var publicEventPricingSchema =
|
|
28275
|
-
|
|
28276
|
-
kind:
|
|
28277
|
-
currency:
|
|
28278
|
-
display:
|
|
28562
|
+
createdAt: z44.string(),
|
|
28563
|
+
updatedAt: z44.string()
|
|
28564
|
+
});
|
|
28565
|
+
var publicEventPricingSchema = z44.discriminatedUnion("kind", [
|
|
28566
|
+
z44.object({
|
|
28567
|
+
kind: z44.literal("drop_in"),
|
|
28568
|
+
currency: z44.string(),
|
|
28569
|
+
display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
|
|
28279
28570
|
}),
|
|
28280
|
-
|
|
28281
|
-
kind:
|
|
28282
|
-
currency:
|
|
28283
|
-
display:
|
|
28571
|
+
z44.object({
|
|
28572
|
+
kind: z44.literal("free_registration"),
|
|
28573
|
+
currency: z44.string(),
|
|
28574
|
+
display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
|
|
28284
28575
|
}),
|
|
28285
|
-
|
|
28286
|
-
kind:
|
|
28287
|
-
amount:
|
|
28288
|
-
currency:
|
|
28289
|
-
display:
|
|
28576
|
+
z44.object({
|
|
28577
|
+
kind: z44.literal("single_paid"),
|
|
28578
|
+
amount: z44.number(),
|
|
28579
|
+
currency: z44.string(),
|
|
28580
|
+
display: z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() })
|
|
28290
28581
|
}),
|
|
28291
|
-
|
|
28292
|
-
kind:
|
|
28293
|
-
currency:
|
|
28294
|
-
ticketTypes:
|
|
28582
|
+
z44.object({
|
|
28583
|
+
kind: z44.literal("ticket_types"),
|
|
28584
|
+
currency: z44.string(),
|
|
28585
|
+
ticketTypes: z44.array(publicEventTicketTypeSchema),
|
|
28295
28586
|
display: publicEventTicketTypePriceDisplaySchema
|
|
28296
28587
|
}),
|
|
28297
|
-
|
|
28298
|
-
kind:
|
|
28299
|
-
minAmount:
|
|
28300
|
-
maxAmount:
|
|
28301
|
-
suggestedAmount:
|
|
28302
|
-
currency:
|
|
28303
|
-
display:
|
|
28304
|
-
kind:
|
|
28305
|
-
minAmount:
|
|
28306
|
-
maxAmount:
|
|
28307
|
-
currency:
|
|
28588
|
+
z44.object({
|
|
28589
|
+
kind: z44.literal("sliding_scale"),
|
|
28590
|
+
minAmount: z44.number(),
|
|
28591
|
+
maxAmount: z44.number(),
|
|
28592
|
+
suggestedAmount: z44.number().nullable(),
|
|
28593
|
+
currency: z44.string(),
|
|
28594
|
+
display: z44.object({
|
|
28595
|
+
kind: z44.literal("range"),
|
|
28596
|
+
minAmount: z44.number(),
|
|
28597
|
+
maxAmount: z44.number(),
|
|
28598
|
+
currency: z44.string()
|
|
28308
28599
|
})
|
|
28309
28600
|
}),
|
|
28310
|
-
|
|
28311
|
-
kind:
|
|
28312
|
-
display:
|
|
28601
|
+
z44.object({
|
|
28602
|
+
kind: z44.literal("course"),
|
|
28603
|
+
display: z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28313
28604
|
}),
|
|
28314
|
-
|
|
28315
|
-
kind:
|
|
28316
|
-
display:
|
|
28605
|
+
z44.object({
|
|
28606
|
+
kind: z44.literal("external"),
|
|
28607
|
+
display: z44.object({ kind: z44.literal("external"), label: z44.string() })
|
|
28317
28608
|
})
|
|
28318
28609
|
]);
|
|
28319
|
-
var publicTeamMemberSummarySchema =
|
|
28320
|
-
id:
|
|
28321
|
-
name:
|
|
28322
|
-
roleLabel:
|
|
28323
|
-
summary:
|
|
28324
|
-
profilePath:
|
|
28610
|
+
var publicTeamMemberSummarySchema = z44.object({
|
|
28611
|
+
id: z44.string(),
|
|
28612
|
+
name: z44.string(),
|
|
28613
|
+
roleLabel: z44.string().nullable(),
|
|
28614
|
+
summary: z44.string().nullable(),
|
|
28615
|
+
profilePath: z44.string().nullable()
|
|
28325
28616
|
});
|
|
28326
|
-
var publicEventSchema =
|
|
28327
|
-
kind:
|
|
28617
|
+
var publicEventSchema = z44.object({
|
|
28618
|
+
kind: z44.enum(["event", "course_session"]).optional(),
|
|
28328
28619
|
eventPreset: eventPresetSchema.optional(),
|
|
28329
28620
|
eventDestinationMode: eventDestinationModeSchema.optional(),
|
|
28330
28621
|
scheduleScope: eventScheduleScopeSchema.optional(),
|
|
28331
|
-
id:
|
|
28332
|
-
occurrenceId:
|
|
28333
|
-
seriesId:
|
|
28334
|
-
title:
|
|
28335
|
-
description:
|
|
28336
|
-
content:
|
|
28622
|
+
id: z44.string(),
|
|
28623
|
+
occurrenceId: z44.string(),
|
|
28624
|
+
seriesId: z44.string(),
|
|
28625
|
+
title: z44.string(),
|
|
28626
|
+
description: z44.string().nullable(),
|
|
28627
|
+
content: z44.object({
|
|
28337
28628
|
body: RichTextDocSchema.nullable().optional()
|
|
28338
28629
|
}).optional(),
|
|
28339
|
-
presentation:
|
|
28340
|
-
cardTitleOverride:
|
|
28341
|
-
summary:
|
|
28630
|
+
presentation: z44.object({
|
|
28631
|
+
cardTitleOverride: z44.string().nullable().optional(),
|
|
28632
|
+
summary: z44.string().nullable().optional(),
|
|
28342
28633
|
image: mediaSchema2.nullable().optional()
|
|
28343
28634
|
}).optional(),
|
|
28344
|
-
slug:
|
|
28345
|
-
path:
|
|
28635
|
+
slug: z44.string(),
|
|
28636
|
+
path: z44.string().nullable(),
|
|
28346
28637
|
destination: publicEventDestinationSchema,
|
|
28347
|
-
requiresRegistration:
|
|
28348
|
-
deliveryMode:
|
|
28349
|
-
attendanceModes:
|
|
28350
|
-
startsAt:
|
|
28351
|
-
endsAt:
|
|
28352
|
-
capacity:
|
|
28353
|
-
registeredCount:
|
|
28354
|
-
availableSpots:
|
|
28355
|
-
waitlistEnabled:
|
|
28638
|
+
requiresRegistration: z44.boolean(),
|
|
28639
|
+
deliveryMode: z44.enum(["in_person", "online", "hybrid"]),
|
|
28640
|
+
attendanceModes: z44.array(publicEventAttendanceModeAvailabilitySchema),
|
|
28641
|
+
startsAt: z44.string(),
|
|
28642
|
+
endsAt: z44.string(),
|
|
28643
|
+
capacity: z44.number().nullable(),
|
|
28644
|
+
registeredCount: z44.number(),
|
|
28645
|
+
availableSpots: z44.number().nullable(),
|
|
28646
|
+
waitlistEnabled: z44.boolean(),
|
|
28356
28647
|
venue: eventVenueSchema.nullable(),
|
|
28357
28648
|
eventCategory: eventCategorySchema.nullable(),
|
|
28358
|
-
teamMembers:
|
|
28359
|
-
status:
|
|
28360
|
-
timeZone:
|
|
28649
|
+
teamMembers: z44.array(publicTeamMemberSummarySchema).optional(),
|
|
28650
|
+
status: z44.enum(["active", "draft", "archived"]).optional(),
|
|
28651
|
+
timeZone: z44.string(),
|
|
28361
28652
|
pricing: publicEventPricingSchema,
|
|
28362
28653
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28363
28654
|
accessRestriction: accessRestrictionSchema,
|
|
28364
|
-
allowedCategoryIds:
|
|
28365
|
-
requireGuestDetails:
|
|
28366
|
-
acceptsPasses:
|
|
28367
|
-
acceptsMemberships:
|
|
28368
|
-
course:
|
|
28369
|
-
id:
|
|
28655
|
+
allowedCategoryIds: z44.array(z44.string()),
|
|
28656
|
+
requireGuestDetails: z44.boolean().optional(),
|
|
28657
|
+
acceptsPasses: z44.boolean().optional(),
|
|
28658
|
+
acceptsMemberships: z44.boolean().optional(),
|
|
28659
|
+
course: z44.object({
|
|
28660
|
+
id: z44.string(),
|
|
28370
28661
|
pricing: coursePricingSchema.optional(),
|
|
28371
|
-
priceCents:
|
|
28372
|
-
currency:
|
|
28373
|
-
enrollmentOpen:
|
|
28662
|
+
priceCents: z44.number().nullable(),
|
|
28663
|
+
currency: z44.string(),
|
|
28664
|
+
enrollmentOpen: z44.boolean()
|
|
28374
28665
|
}).nullable().optional()
|
|
28375
28666
|
});
|
|
28376
|
-
var publicEventsArraySchema =
|
|
28667
|
+
var publicEventsArraySchema = z44.array(publicEventSchema);
|
|
28377
28668
|
|
|
28378
28669
|
// ../blocks/src/system/blocks/events/shared/fields.ts
|
|
28379
28670
|
var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
|
|
@@ -28576,52 +28867,80 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28576
28867
|
return trimmed ? trimmed : null;
|
|
28577
28868
|
}
|
|
28578
28869
|
|
|
28870
|
+
// ../blocks/src/system/blocks/events/shared/layout.ts
|
|
28871
|
+
var recoverEmptyHeadingWhenActive = {
|
|
28872
|
+
kind: "recover-empty-when-active",
|
|
28873
|
+
placeholder: "Add heading"
|
|
28874
|
+
};
|
|
28875
|
+
var recoverEmptyDescriptionWhenActive = {
|
|
28876
|
+
kind: "recover-empty-when-active",
|
|
28877
|
+
placeholder: "Add description"
|
|
28878
|
+
};
|
|
28879
|
+
function eventSectionHeaderLayoutNodes() {
|
|
28880
|
+
return [
|
|
28881
|
+
text(
|
|
28882
|
+
{ as: "h2" },
|
|
28883
|
+
bind("content.heading"),
|
|
28884
|
+
when("content.heading", {
|
|
28885
|
+
authoringPresence: recoverEmptyHeadingWhenActive
|
|
28886
|
+
})
|
|
28887
|
+
),
|
|
28888
|
+
richText(
|
|
28889
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
28890
|
+
bind("content.description"),
|
|
28891
|
+
when("content.description", {
|
|
28892
|
+
authoringPresence: recoverEmptyDescriptionWhenActive
|
|
28893
|
+
})
|
|
28894
|
+
)
|
|
28895
|
+
];
|
|
28896
|
+
}
|
|
28897
|
+
|
|
28579
28898
|
// ../blocks/src/system/blocks/shop.shared.ts
|
|
28580
|
-
import { z as
|
|
28581
|
-
var publicPassProductSchema =
|
|
28582
|
-
id:
|
|
28583
|
-
productUseCase:
|
|
28584
|
-
name:
|
|
28585
|
-
description:
|
|
28586
|
-
price:
|
|
28587
|
-
currency:
|
|
28588
|
-
creditsTotal:
|
|
28589
|
-
pricePerCredit:
|
|
28590
|
-
validDays:
|
|
28591
|
-
eligibleCategoryIds:
|
|
28592
|
-
eligibleCategoryNames:
|
|
28593
|
-
});
|
|
28594
|
-
var publicPassProductCollectionSchema =
|
|
28595
|
-
passes:
|
|
28596
|
-
});
|
|
28597
|
-
var publicMembershipProductSchema =
|
|
28598
|
-
id:
|
|
28599
|
-
name:
|
|
28600
|
-
description:
|
|
28601
|
-
price:
|
|
28602
|
-
currency:
|
|
28603
|
-
billingInterval:
|
|
28604
|
-
eligibleCategoryIds:
|
|
28605
|
-
eligibleCategoryNames:
|
|
28899
|
+
import { z as z45 } from "zod";
|
|
28900
|
+
var publicPassProductSchema = z45.object({
|
|
28901
|
+
id: z45.string(),
|
|
28902
|
+
productUseCase: z45.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
28903
|
+
name: z45.string(),
|
|
28904
|
+
description: z45.string().nullable(),
|
|
28905
|
+
price: z45.number(),
|
|
28906
|
+
currency: z45.string(),
|
|
28907
|
+
creditsTotal: z45.number(),
|
|
28908
|
+
pricePerCredit: z45.number(),
|
|
28909
|
+
validDays: z45.number().nullable(),
|
|
28910
|
+
eligibleCategoryIds: z45.array(z45.string()),
|
|
28911
|
+
eligibleCategoryNames: z45.array(z45.string())
|
|
28912
|
+
});
|
|
28913
|
+
var publicPassProductCollectionSchema = z45.object({
|
|
28914
|
+
passes: z45.array(publicPassProductSchema)
|
|
28915
|
+
});
|
|
28916
|
+
var publicMembershipProductSchema = z45.object({
|
|
28917
|
+
id: z45.string(),
|
|
28918
|
+
name: z45.string(),
|
|
28919
|
+
description: z45.string().nullable(),
|
|
28920
|
+
price: z45.number(),
|
|
28921
|
+
currency: z45.string(),
|
|
28922
|
+
billingInterval: z45.enum(["month", "year"]),
|
|
28923
|
+
eligibleCategoryIds: z45.array(z45.string()),
|
|
28924
|
+
eligibleCategoryNames: z45.array(z45.string())
|
|
28606
28925
|
});
|
|
28607
|
-
var publicMembershipProductCollectionSchema =
|
|
28608
|
-
memberships:
|
|
28926
|
+
var publicMembershipProductCollectionSchema = z45.object({
|
|
28927
|
+
memberships: z45.array(publicMembershipProductSchema)
|
|
28609
28928
|
});
|
|
28610
28929
|
|
|
28611
28930
|
// ../blocks/src/system/blocks/event-registration.shared.ts
|
|
28612
|
-
import { z as
|
|
28613
|
-
var occurrenceContextSchema =
|
|
28614
|
-
id:
|
|
28615
|
-
seriesId:
|
|
28616
|
-
startsAt:
|
|
28617
|
-
endsAt:
|
|
28618
|
-
timeZone:
|
|
28619
|
-
capacityOverride:
|
|
28620
|
-
overrides:
|
|
28931
|
+
import { z as z46 } from "zod";
|
|
28932
|
+
var occurrenceContextSchema = z46.object({
|
|
28933
|
+
id: z46.string(),
|
|
28934
|
+
seriesId: z46.string(),
|
|
28935
|
+
startsAt: z46.string(),
|
|
28936
|
+
endsAt: z46.string(),
|
|
28937
|
+
timeZone: z46.string(),
|
|
28938
|
+
capacityOverride: z46.number().nullable().optional(),
|
|
28939
|
+
overrides: z46.record(z46.string(), z46.unknown()).nullable().optional()
|
|
28621
28940
|
}).nullable();
|
|
28622
28941
|
|
|
28623
28942
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28624
|
-
import { z as
|
|
28943
|
+
import { z as z48 } from "zod";
|
|
28625
28944
|
|
|
28626
28945
|
// ../blocks/src/system/constants/events.ts
|
|
28627
28946
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
@@ -28808,17 +29127,17 @@ function readAmount(value) {
|
|
|
28808
29127
|
}
|
|
28809
29128
|
|
|
28810
29129
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28811
|
-
import { z as
|
|
28812
|
-
var previewStageSchema =
|
|
28813
|
-
var registrationButtonVariantSchema =
|
|
28814
|
-
var eventButtonVariantSchema =
|
|
28815
|
-
var eventLayoutSchema =
|
|
28816
|
-
var eventCalendarDisplayModeSchema =
|
|
28817
|
-
var eventCalendarDefaultViewSchema =
|
|
28818
|
-
var columnOptionSchema =
|
|
28819
|
-
var weekStartSchema =
|
|
28820
|
-
var filterAutoShowSchema =
|
|
28821
|
-
var calendarTabViewsSchema =
|
|
29130
|
+
import { z as z47 } from "zod";
|
|
29131
|
+
var previewStageSchema = z47.enum(["preview", "published"]);
|
|
29132
|
+
var registrationButtonVariantSchema = z47.enum(["primary", "secondary", "outline"]);
|
|
29133
|
+
var eventButtonVariantSchema = z47.enum(["primary", "secondary", "outline", "link"]);
|
|
29134
|
+
var eventLayoutSchema = z47.enum(eventCalendarListLayoutValues);
|
|
29135
|
+
var eventCalendarDisplayModeSchema = z47.enum(eventCalendarDisplayModeValues);
|
|
29136
|
+
var eventCalendarDefaultViewSchema = z47.enum(eventCalendarDefaultViewValues);
|
|
29137
|
+
var columnOptionSchema = z47.enum(["2", "3", "4"]);
|
|
29138
|
+
var weekStartSchema = z47.enum(["sunday", "monday"]);
|
|
29139
|
+
var filterAutoShowSchema = z47.enum(["auto", "always", "never"]);
|
|
29140
|
+
var calendarTabViewsSchema = z47.enum(["both", "month", "week"]);
|
|
28822
29141
|
|
|
28823
29142
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28824
29143
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -28878,72 +29197,72 @@ function toRegistrationEvents(events) {
|
|
|
28878
29197
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28879
29198
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28880
29199
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28881
|
-
var contentEntrySchema =
|
|
28882
|
-
id:
|
|
28883
|
-
slug:
|
|
28884
|
-
contentTypeSlug:
|
|
29200
|
+
var contentEntrySchema = z48.object({
|
|
29201
|
+
id: z48.string(),
|
|
29202
|
+
slug: z48.string(),
|
|
29203
|
+
contentTypeSlug: z48.string()
|
|
28885
29204
|
});
|
|
28886
|
-
var eventRegistrationPublicEventSchema =
|
|
29205
|
+
var eventRegistrationPublicEventSchema = z48.preprocess(
|
|
28887
29206
|
normalizeEventRegistrationEventInput,
|
|
28888
29207
|
publicEventSchema
|
|
28889
29208
|
);
|
|
28890
|
-
var eventRegistrationSourceSchema =
|
|
28891
|
-
siteId:
|
|
28892
|
-
apiBaseUrl:
|
|
28893
|
-
portalToken:
|
|
28894
|
-
previewToken:
|
|
29209
|
+
var eventRegistrationSourceSchema = z48.object({
|
|
29210
|
+
siteId: z48.string().optional(),
|
|
29211
|
+
apiBaseUrl: z48.string().optional(),
|
|
29212
|
+
portalToken: z48.string().nullable().optional(),
|
|
29213
|
+
previewToken: z48.string().nullable().optional(),
|
|
28895
29214
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28896
29215
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28897
|
-
events:
|
|
28898
|
-
className:
|
|
28899
|
-
buttonText:
|
|
28900
|
-
maxTickets:
|
|
28901
|
-
showVenue:
|
|
28902
|
-
showCapacity:
|
|
28903
|
-
successMessage:
|
|
28904
|
-
waitlistMessage:
|
|
29216
|
+
events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
29217
|
+
className: z48.string().nullable().optional(),
|
|
29218
|
+
buttonText: z48.string().nullable().optional(),
|
|
29219
|
+
maxTickets: z48.string().nullable().optional(),
|
|
29220
|
+
showVenue: z48.boolean().optional(),
|
|
29221
|
+
showCapacity: z48.boolean().optional(),
|
|
29222
|
+
successMessage: z48.string().optional(),
|
|
29223
|
+
waitlistMessage: z48.string().optional(),
|
|
28905
29224
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28906
|
-
overlayEnabled:
|
|
28907
|
-
spamProtectionEnabled:
|
|
29225
|
+
overlayEnabled: z48.boolean().optional(),
|
|
29226
|
+
spamProtectionEnabled: z48.boolean().optional(),
|
|
28908
29227
|
stage: previewStageSchema.optional(),
|
|
28909
|
-
supportEmail:
|
|
29228
|
+
supportEmail: z48.string().optional(),
|
|
28910
29229
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28911
29230
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28912
29231
|
});
|
|
28913
|
-
var eventRegistrationDisplaySchema =
|
|
28914
|
-
kind:
|
|
28915
|
-
state:
|
|
28916
|
-
className:
|
|
28917
|
-
titleText:
|
|
28918
|
-
bodyText:
|
|
28919
|
-
stepLabels:
|
|
28920
|
-
summaryButtonText:
|
|
29232
|
+
var eventRegistrationDisplaySchema = z48.object({
|
|
29233
|
+
kind: z48.literal("event-registration"),
|
|
29234
|
+
state: z48.literal("generic-shell"),
|
|
29235
|
+
className: z48.string().nullable(),
|
|
29236
|
+
titleText: z48.string(),
|
|
29237
|
+
bodyText: z48.string(),
|
|
29238
|
+
stepLabels: z48.array(z48.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
29239
|
+
summaryButtonText: z48.string()
|
|
28921
29240
|
});
|
|
28922
|
-
var eventRegistrationHydrationSchema =
|
|
29241
|
+
var eventRegistrationHydrationSchema = z48.object({
|
|
28923
29242
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28924
29243
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28925
|
-
events:
|
|
28926
|
-
maxTickets:
|
|
28927
|
-
showVenue:
|
|
28928
|
-
showCapacity:
|
|
28929
|
-
successMessage:
|
|
28930
|
-
waitlistMessage:
|
|
29244
|
+
events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
29245
|
+
maxTickets: z48.string().optional(),
|
|
29246
|
+
showVenue: z48.boolean().optional(),
|
|
29247
|
+
showCapacity: z48.boolean().optional(),
|
|
29248
|
+
successMessage: z48.string().optional(),
|
|
29249
|
+
waitlistMessage: z48.string().optional(),
|
|
28931
29250
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28932
|
-
overlayEnabled:
|
|
28933
|
-
spamProtectionEnabled:
|
|
28934
|
-
supportEmail:
|
|
29251
|
+
overlayEnabled: z48.boolean().optional(),
|
|
29252
|
+
spamProtectionEnabled: z48.boolean().optional(),
|
|
29253
|
+
supportEmail: z48.string().optional(),
|
|
28935
29254
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28936
29255
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28937
29256
|
});
|
|
28938
|
-
var eventRegistrationRenderSchema =
|
|
29257
|
+
var eventRegistrationRenderSchema = z48.object({
|
|
28939
29258
|
display: eventRegistrationDisplaySchema,
|
|
28940
29259
|
hydration: eventRegistrationHydrationSchema
|
|
28941
29260
|
});
|
|
28942
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
28943
|
-
siteId:
|
|
28944
|
-
apiBaseUrl:
|
|
28945
|
-
portalToken:
|
|
28946
|
-
previewToken:
|
|
29261
|
+
var eventRegistrationIslandMetaCodec = createZodCodec(z48.object({
|
|
29262
|
+
siteId: z48.string().optional(),
|
|
29263
|
+
apiBaseUrl: z48.string().optional(),
|
|
29264
|
+
portalToken: z48.string().nullable().optional(),
|
|
29265
|
+
previewToken: z48.string().nullable().optional(),
|
|
28947
29266
|
stage: previewStageSchema.optional()
|
|
28948
29267
|
}));
|
|
28949
29268
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -29294,73 +29613,73 @@ var eventRegistrationBlockDefinition = {
|
|
|
29294
29613
|
};
|
|
29295
29614
|
|
|
29296
29615
|
// ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
|
|
29297
|
-
import { z as
|
|
29298
|
-
var contentEntrySchema2 =
|
|
29299
|
-
id:
|
|
29300
|
-
slug:
|
|
29301
|
-
contentTypeSlug:
|
|
29302
|
-
});
|
|
29303
|
-
var courseEntrySubrouteContextSchema =
|
|
29304
|
-
|
|
29305
|
-
kind:
|
|
29306
|
-
run:
|
|
29307
|
-
courseId:
|
|
29308
|
-
seriesId:
|
|
29309
|
-
runSlug:
|
|
29310
|
-
runName:
|
|
29616
|
+
import { z as z49 } from "zod";
|
|
29617
|
+
var contentEntrySchema2 = z49.object({
|
|
29618
|
+
id: z49.string(),
|
|
29619
|
+
slug: z49.string(),
|
|
29620
|
+
contentTypeSlug: z49.string()
|
|
29621
|
+
});
|
|
29622
|
+
var courseEntrySubrouteContextSchema = z49.union([
|
|
29623
|
+
z49.object({
|
|
29624
|
+
kind: z49.literal("course-run"),
|
|
29625
|
+
run: z49.object({
|
|
29626
|
+
courseId: z49.string(),
|
|
29627
|
+
seriesId: z49.string(),
|
|
29628
|
+
runSlug: z49.string(),
|
|
29629
|
+
runName: z49.string().nullable()
|
|
29311
29630
|
})
|
|
29312
29631
|
}),
|
|
29313
|
-
|
|
29314
|
-
kind:
|
|
29632
|
+
z49.object({
|
|
29633
|
+
kind: z49.literal("event-occurrence"),
|
|
29315
29634
|
occurrence: occurrenceContextSchema
|
|
29316
29635
|
})
|
|
29317
29636
|
]);
|
|
29318
|
-
var courseRegistrationSourceSchema =
|
|
29319
|
-
siteId:
|
|
29320
|
-
apiBaseUrl:
|
|
29321
|
-
portalToken:
|
|
29637
|
+
var courseRegistrationSourceSchema = z49.object({
|
|
29638
|
+
siteId: z49.string().optional(),
|
|
29639
|
+
apiBaseUrl: z49.string().optional(),
|
|
29640
|
+
portalToken: z49.string().nullable().optional(),
|
|
29322
29641
|
contentEntry: contentEntrySchema2.nullable().optional(),
|
|
29323
29642
|
entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
|
|
29324
|
-
courses:
|
|
29325
|
-
className:
|
|
29326
|
-
showSessions:
|
|
29327
|
-
showPrice:
|
|
29328
|
-
showCapacity:
|
|
29329
|
-
showVenue:
|
|
29330
|
-
successMessage:
|
|
29331
|
-
waitlistMessage:
|
|
29332
|
-
membershipMessage:
|
|
29333
|
-
buttonText:
|
|
29643
|
+
courses: z49.array(publicCourseSchema).nullable().optional(),
|
|
29644
|
+
className: z49.string().nullable().optional(),
|
|
29645
|
+
showSessions: z49.boolean().optional(),
|
|
29646
|
+
showPrice: z49.boolean().optional(),
|
|
29647
|
+
showCapacity: z49.boolean().optional(),
|
|
29648
|
+
showVenue: z49.boolean().optional(),
|
|
29649
|
+
successMessage: z49.string().optional(),
|
|
29650
|
+
waitlistMessage: z49.string().optional(),
|
|
29651
|
+
membershipMessage: z49.string().optional(),
|
|
29652
|
+
buttonText: z49.string().nullable().optional(),
|
|
29334
29653
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
29335
29654
|
stage: previewStageSchema.optional()
|
|
29336
29655
|
});
|
|
29337
|
-
var courseRegistrationDisplaySchema =
|
|
29338
|
-
kind:
|
|
29339
|
-
state:
|
|
29340
|
-
className:
|
|
29341
|
-
summaryButtonText:
|
|
29656
|
+
var courseRegistrationDisplaySchema = z49.object({
|
|
29657
|
+
kind: z49.literal("course-registration"),
|
|
29658
|
+
state: z49.literal("shell"),
|
|
29659
|
+
className: z49.string().nullable(),
|
|
29660
|
+
summaryButtonText: z49.string()
|
|
29342
29661
|
});
|
|
29343
|
-
var courseRegistrationHydrationSchema =
|
|
29662
|
+
var courseRegistrationHydrationSchema = z49.object({
|
|
29344
29663
|
contentEntry: contentEntrySchema2.nullable().optional(),
|
|
29345
29664
|
entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
|
|
29346
|
-
courses:
|
|
29347
|
-
showSessions:
|
|
29348
|
-
showPrice:
|
|
29349
|
-
showCapacity:
|
|
29350
|
-
showVenue:
|
|
29351
|
-
successMessage:
|
|
29352
|
-
waitlistMessage:
|
|
29353
|
-
membershipMessage:
|
|
29665
|
+
courses: z49.array(publicCourseSchema).nullable().optional(),
|
|
29666
|
+
showSessions: z49.boolean().optional(),
|
|
29667
|
+
showPrice: z49.boolean().optional(),
|
|
29668
|
+
showCapacity: z49.boolean().optional(),
|
|
29669
|
+
showVenue: z49.boolean().optional(),
|
|
29670
|
+
successMessage: z49.string().optional(),
|
|
29671
|
+
waitlistMessage: z49.string().optional(),
|
|
29672
|
+
membershipMessage: z49.string().optional(),
|
|
29354
29673
|
buttonVariant: registrationButtonVariantSchema.optional()
|
|
29355
29674
|
});
|
|
29356
|
-
var courseRegistrationRenderSchema =
|
|
29675
|
+
var courseRegistrationRenderSchema = z49.object({
|
|
29357
29676
|
display: courseRegistrationDisplaySchema,
|
|
29358
29677
|
hydration: courseRegistrationHydrationSchema
|
|
29359
29678
|
});
|
|
29360
|
-
var courseRegistrationIslandMetaCodec = createZodCodec(
|
|
29361
|
-
siteId:
|
|
29362
|
-
apiBaseUrl:
|
|
29363
|
-
portalToken:
|
|
29679
|
+
var courseRegistrationIslandMetaCodec = createZodCodec(z49.object({
|
|
29680
|
+
siteId: z49.string().optional(),
|
|
29681
|
+
apiBaseUrl: z49.string().optional(),
|
|
29682
|
+
portalToken: z49.string().nullable().optional(),
|
|
29364
29683
|
stage: previewStageSchema.optional()
|
|
29365
29684
|
}));
|
|
29366
29685
|
var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -29620,7 +29939,7 @@ var courseRegistrationBlockDefinition = {
|
|
|
29620
29939
|
};
|
|
29621
29940
|
|
|
29622
29941
|
// ../blocks/src/system/blocks/event-details.ts
|
|
29623
|
-
import { z as
|
|
29942
|
+
import { z as z50 } from "zod";
|
|
29624
29943
|
var eventDetailsManifest = createBlockManifest({
|
|
29625
29944
|
id: "block.event-details",
|
|
29626
29945
|
version: "1.0.0",
|
|
@@ -29752,37 +30071,37 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
29752
30071
|
})
|
|
29753
30072
|
]
|
|
29754
30073
|
});
|
|
29755
|
-
var occurrenceContextSchema2 =
|
|
29756
|
-
id:
|
|
29757
|
-
seriesId:
|
|
29758
|
-
startsAt:
|
|
29759
|
-
endsAt:
|
|
29760
|
-
timeZone:
|
|
29761
|
-
capacityOverride:
|
|
29762
|
-
overrides:
|
|
30074
|
+
var occurrenceContextSchema2 = z50.object({
|
|
30075
|
+
id: z50.string(),
|
|
30076
|
+
seriesId: z50.string(),
|
|
30077
|
+
startsAt: z50.string(),
|
|
30078
|
+
endsAt: z50.string(),
|
|
30079
|
+
timeZone: z50.string(),
|
|
30080
|
+
capacityOverride: z50.number().nullable().optional(),
|
|
30081
|
+
overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
|
|
29763
30082
|
}).nullable();
|
|
29764
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
29765
|
-
id:
|
|
29766
|
-
publicLabel:
|
|
29767
|
-
description:
|
|
29768
|
-
minTicketsRequired:
|
|
30083
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
|
|
30084
|
+
id: z50.string(),
|
|
30085
|
+
publicLabel: z50.string(),
|
|
30086
|
+
description: z50.string().nullable(),
|
|
30087
|
+
minTicketsRequired: z50.number().nullable()
|
|
29769
30088
|
});
|
|
29770
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
30089
|
+
var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
|
|
29771
30090
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29772
|
-
discountType:
|
|
29773
|
-
discountPercent:
|
|
29774
|
-
discountAmountCents:
|
|
30091
|
+
discountType: z50.literal("percent"),
|
|
30092
|
+
discountPercent: z50.number(),
|
|
30093
|
+
discountAmountCents: z50.null()
|
|
29775
30094
|
}),
|
|
29776
30095
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29777
|
-
discountType:
|
|
29778
|
-
discountPercent:
|
|
29779
|
-
discountAmountCents:
|
|
30096
|
+
discountType: z50.literal("fixed"),
|
|
30097
|
+
discountPercent: z50.null(),
|
|
30098
|
+
discountAmountCents: z50.number()
|
|
29780
30099
|
})
|
|
29781
30100
|
]);
|
|
29782
30101
|
var eventDetailsBlockDefinition = {
|
|
29783
30102
|
manifest: eventDetailsManifest,
|
|
29784
30103
|
dataSchemas: {
|
|
29785
|
-
eventDetailsData:
|
|
30104
|
+
eventDetailsData: z50.object({
|
|
29786
30105
|
events: publicEventsArraySchema,
|
|
29787
30106
|
sitePasses: publicPassProductCollectionSchema,
|
|
29788
30107
|
siteMemberships: publicMembershipProductCollectionSchema,
|
|
@@ -30037,18 +30356,7 @@ var eventSpotlightFields = [
|
|
|
30037
30356
|
var eventSpotlightLayout = [
|
|
30038
30357
|
styledSection({
|
|
30039
30358
|
children: sectionContainer([
|
|
30040
|
-
|
|
30041
|
-
text(
|
|
30042
|
-
{ as: "h2" },
|
|
30043
|
-
bind("content.heading"),
|
|
30044
|
-
when("content.heading")
|
|
30045
|
-
),
|
|
30046
|
-
// Optional description
|
|
30047
|
-
richText(
|
|
30048
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
30049
|
-
bind("content.description"),
|
|
30050
|
-
when("content.description")
|
|
30051
|
-
),
|
|
30359
|
+
...eventSectionHeaderLayoutNodes(),
|
|
30052
30360
|
// Event spotlight component
|
|
30053
30361
|
el("event-spotlight", {
|
|
30054
30362
|
events: { $bind: { from: "data.events" } },
|
|
@@ -30109,7 +30417,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
30109
30417
|
};
|
|
30110
30418
|
|
|
30111
30419
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30112
|
-
import { z as
|
|
30420
|
+
import { z as z52 } from "zod";
|
|
30113
30421
|
|
|
30114
30422
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
30115
30423
|
var COLUMN_CLASSES = {
|
|
@@ -30217,16 +30525,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
30217
30525
|
}
|
|
30218
30526
|
|
|
30219
30527
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
30220
|
-
import { z as
|
|
30528
|
+
import { z as z51 } from "zod";
|
|
30221
30529
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
30222
|
-
var eventPageSizeSchema =
|
|
30223
|
-
|
|
30224
|
-
|
|
30225
|
-
|
|
30226
|
-
|
|
30227
|
-
|
|
30228
|
-
|
|
30229
|
-
|
|
30530
|
+
var eventPageSizeSchema = z51.union([
|
|
30531
|
+
z51.literal(3),
|
|
30532
|
+
z51.literal(6),
|
|
30533
|
+
z51.literal(10),
|
|
30534
|
+
z51.literal(12),
|
|
30535
|
+
z51.literal(20),
|
|
30536
|
+
z51.literal(24),
|
|
30537
|
+
z51.literal(30)
|
|
30230
30538
|
]);
|
|
30231
30539
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
30232
30540
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -30236,15 +30544,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
30236
30544
|
function resolveEventCalendarListPageSize(input) {
|
|
30237
30545
|
return resolveEventPageSize(input.eventsPerPage);
|
|
30238
30546
|
}
|
|
30239
|
-
var eventListPaginationActionSchema =
|
|
30240
|
-
|
|
30241
|
-
kind:
|
|
30242
|
-
label:
|
|
30547
|
+
var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
|
|
30548
|
+
z51.object({
|
|
30549
|
+
kind: z51.literal("loadMore"),
|
|
30550
|
+
label: z51.string()
|
|
30243
30551
|
}),
|
|
30244
|
-
|
|
30245
|
-
kind:
|
|
30246
|
-
label:
|
|
30247
|
-
href:
|
|
30552
|
+
z51.object({
|
|
30553
|
+
kind: z51.literal("seeAllLink"),
|
|
30554
|
+
label: z51.string(),
|
|
30555
|
+
href: z51.string()
|
|
30248
30556
|
})
|
|
30249
30557
|
]);
|
|
30250
30558
|
function resolveEventListPaginationAction(input) {
|
|
@@ -30257,89 +30565,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
30257
30565
|
}
|
|
30258
30566
|
|
|
30259
30567
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30260
|
-
var legacyEventCardVariantSchema =
|
|
30261
|
-
var eventCardVariantInputSchema =
|
|
30568
|
+
var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
|
|
30569
|
+
var eventCardVariantInputSchema = z52.union([
|
|
30262
30570
|
cardVariantRoleSchema,
|
|
30263
30571
|
legacyEventCardVariantSchema
|
|
30264
30572
|
]);
|
|
30265
|
-
var cardOrientationSchema =
|
|
30266
|
-
var eventBlockKindSchema =
|
|
30267
|
-
var eventSurfaceScopeSchema =
|
|
30268
|
-
var eventScheduleScopeSchema2 =
|
|
30269
|
-
var eventListingSourceSchema =
|
|
30270
|
-
events:
|
|
30271
|
-
siteId:
|
|
30272
|
-
apiBaseUrl:
|
|
30573
|
+
var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
|
|
30574
|
+
var eventBlockKindSchema = z52.enum(eventBlockKindValues);
|
|
30575
|
+
var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
|
|
30576
|
+
var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
|
|
30577
|
+
var eventListingSourceSchema = z52.object({
|
|
30578
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
30579
|
+
siteId: z52.string(),
|
|
30580
|
+
apiBaseUrl: z52.string().optional(),
|
|
30273
30581
|
stage: previewStageSchema.optional(),
|
|
30274
30582
|
layout: eventLayoutSchema.optional(),
|
|
30275
30583
|
columns: columnOptionSchema.optional(),
|
|
30276
|
-
eventsPerPage:
|
|
30277
|
-
paginationMode:
|
|
30278
|
-
seeAllUrl:
|
|
30279
|
-
loadMoreText:
|
|
30584
|
+
eventsPerPage: z52.string().optional(),
|
|
30585
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30586
|
+
seeAllUrl: z52.string().optional(),
|
|
30587
|
+
loadMoreText: z52.string().optional(),
|
|
30280
30588
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
30281
30589
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30282
|
-
buttonText:
|
|
30283
|
-
showVenue:
|
|
30284
|
-
showMap:
|
|
30285
|
-
showCapacity:
|
|
30286
|
-
emptyMessage:
|
|
30287
|
-
className:
|
|
30288
|
-
showFilters:
|
|
30590
|
+
buttonText: z52.string().optional(),
|
|
30591
|
+
showVenue: z52.boolean().optional(),
|
|
30592
|
+
showMap: z52.boolean().optional(),
|
|
30593
|
+
showCapacity: z52.boolean().optional(),
|
|
30594
|
+
emptyMessage: z52.string().optional(),
|
|
30595
|
+
className: z52.string().optional(),
|
|
30596
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
30289
30597
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30290
|
-
showVenueFilter:
|
|
30291
|
-
showStaffFilter:
|
|
30598
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
30599
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
30292
30600
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
30293
30601
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
30294
|
-
filterEventPresets:
|
|
30602
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30295
30603
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
30296
|
-
filterCategoryIds:
|
|
30297
|
-
filterStaffMemberId:
|
|
30298
|
-
filterVenueId:
|
|
30604
|
+
filterCategoryIds: z52.string().nullable().optional(),
|
|
30605
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30606
|
+
filterVenueId: z52.string().nullable().optional()
|
|
30299
30607
|
});
|
|
30300
|
-
var eventListingDisplaySchema =
|
|
30301
|
-
kind:
|
|
30302
|
-
state:
|
|
30608
|
+
var eventListingDisplaySchema = z52.object({
|
|
30609
|
+
kind: z52.literal("event-listing"),
|
|
30610
|
+
state: z52.enum(["loading", "empty", "ready"]),
|
|
30303
30611
|
listLayout: eventLayoutSchema,
|
|
30304
|
-
className:
|
|
30305
|
-
emptyMessage:
|
|
30306
|
-
loadingMessage:
|
|
30307
|
-
containerClass:
|
|
30612
|
+
className: z52.string().nullable(),
|
|
30613
|
+
emptyMessage: z52.string(),
|
|
30614
|
+
loadingMessage: z52.string(),
|
|
30615
|
+
containerClass: z52.string(),
|
|
30308
30616
|
cardVariant: cardVariantRoleSchema,
|
|
30309
30617
|
buttonVariant: eventButtonVariantSchema,
|
|
30310
|
-
buttonText:
|
|
30311
|
-
showVenue:
|
|
30312
|
-
showMap:
|
|
30313
|
-
showCapacity:
|
|
30618
|
+
buttonText: z52.string(),
|
|
30619
|
+
showVenue: z52.boolean(),
|
|
30620
|
+
showMap: z52.boolean(),
|
|
30621
|
+
showCapacity: z52.boolean(),
|
|
30314
30622
|
orientation: cardOrientationSchema,
|
|
30315
|
-
events:
|
|
30623
|
+
events: z52.array(publicEventSchema)
|
|
30316
30624
|
});
|
|
30317
|
-
var eventListingHydrationSchema =
|
|
30318
|
-
siteId:
|
|
30625
|
+
var eventListingHydrationSchema = z52.object({
|
|
30626
|
+
siteId: z52.string(),
|
|
30319
30627
|
stage: previewStageSchema.optional(),
|
|
30320
30628
|
eventsPerPage: eventPageSizeSchema,
|
|
30321
30629
|
paginationAction: eventListPaginationActionSchema,
|
|
30322
|
-
showFilters:
|
|
30630
|
+
showFilters: z52.boolean(),
|
|
30323
30631
|
showCategoryFilter: filterAutoShowSchema,
|
|
30324
|
-
showVenueFilter:
|
|
30325
|
-
showStaffFilter:
|
|
30632
|
+
showVenueFilter: z52.boolean(),
|
|
30633
|
+
showStaffFilter: z52.boolean(),
|
|
30326
30634
|
eventKind: eventBlockKindSchema,
|
|
30327
30635
|
eventSurface: eventSurfaceScopeSchema,
|
|
30328
|
-
filterEventPresets:
|
|
30636
|
+
filterEventPresets: z52.string().nullable(),
|
|
30329
30637
|
scheduleScope: eventScheduleScopeSchema2,
|
|
30330
|
-
filterCategoryIds:
|
|
30331
|
-
filterStaffMemberId:
|
|
30332
|
-
filterVenueId:
|
|
30333
|
-
fetchInitialEventsOnMount:
|
|
30638
|
+
filterCategoryIds: z52.string().nullable().optional(),
|
|
30639
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30640
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
30641
|
+
fetchInitialEventsOnMount: z52.boolean()
|
|
30334
30642
|
});
|
|
30335
|
-
var eventListingRenderSchema =
|
|
30643
|
+
var eventListingRenderSchema = z52.object({
|
|
30336
30644
|
display: eventListingDisplaySchema,
|
|
30337
30645
|
hydration: eventListingHydrationSchema
|
|
30338
30646
|
});
|
|
30339
30647
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
30340
|
-
|
|
30341
|
-
siteId:
|
|
30342
|
-
apiBaseUrl:
|
|
30648
|
+
z52.object({
|
|
30649
|
+
siteId: z52.string(),
|
|
30650
|
+
apiBaseUrl: z52.string().optional(),
|
|
30343
30651
|
stage: previewStageSchema.optional()
|
|
30344
30652
|
})
|
|
30345
30653
|
);
|
|
@@ -30579,18 +30887,7 @@ var eventListingAdditionalFields = [
|
|
|
30579
30887
|
var eventListingLayout = [
|
|
30580
30888
|
styledSection({
|
|
30581
30889
|
children: sectionContainer([
|
|
30582
|
-
|
|
30583
|
-
text(
|
|
30584
|
-
{ as: "h2" },
|
|
30585
|
-
bind("content.heading"),
|
|
30586
|
-
when("content.heading")
|
|
30587
|
-
),
|
|
30588
|
-
// Optional description
|
|
30589
|
-
richText(
|
|
30590
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
30591
|
-
bind("content.description"),
|
|
30592
|
-
when("content.description")
|
|
30593
|
-
),
|
|
30890
|
+
...eventSectionHeaderLayoutNodes(),
|
|
30594
30891
|
// Event listing component with pagination
|
|
30595
30892
|
el("event-listing", withApiBindings({
|
|
30596
30893
|
events: { $bind: { from: "data.events" } },
|
|
@@ -30706,15 +31003,15 @@ var eventListingBlockDefinition = {
|
|
|
30706
31003
|
};
|
|
30707
31004
|
|
|
30708
31005
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30709
|
-
import { z as
|
|
30710
|
-
var eventBlockKindSchema2 =
|
|
30711
|
-
var eventSurfaceScopeSchema2 =
|
|
30712
|
-
var eventScheduleScopeSchema3 =
|
|
30713
|
-
var eventCalendarSourceSchema =
|
|
31006
|
+
import { z as z53 } from "zod";
|
|
31007
|
+
var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
|
|
31008
|
+
var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
|
|
31009
|
+
var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
|
|
31010
|
+
var eventCalendarSourceSchema = z53.object(
|
|
30714
31011
|
{
|
|
30715
|
-
events:
|
|
30716
|
-
siteId:
|
|
30717
|
-
apiBaseUrl:
|
|
31012
|
+
events: z53.array(publicEventSchema).nullable().optional(),
|
|
31013
|
+
siteId: z53.string(),
|
|
31014
|
+
apiBaseUrl: z53.string().optional(),
|
|
30718
31015
|
stage: previewStageSchema.optional(),
|
|
30719
31016
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
30720
31017
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -30722,38 +31019,38 @@ var eventCalendarSourceSchema = z52.object(
|
|
|
30722
31019
|
listColumns: columnOptionSchema.optional(),
|
|
30723
31020
|
layout: eventLayoutSchema.optional(),
|
|
30724
31021
|
columns: columnOptionSchema.optional(),
|
|
30725
|
-
eventsPerPage:
|
|
30726
|
-
paginationMode:
|
|
30727
|
-
seeAllUrl:
|
|
30728
|
-
loadMoreText:
|
|
31022
|
+
eventsPerPage: z53.string().optional(),
|
|
31023
|
+
paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
|
|
31024
|
+
seeAllUrl: z53.string().optional(),
|
|
31025
|
+
loadMoreText: z53.string().optional(),
|
|
30729
31026
|
startOfWeek: weekStartSchema.optional(),
|
|
30730
31027
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
30731
31028
|
defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
|
|
30732
|
-
showFilters:
|
|
31029
|
+
showFilters: z53.boolean().nullable().optional(),
|
|
30733
31030
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30734
|
-
showVenueFilter:
|
|
30735
|
-
showStaffFilter:
|
|
31031
|
+
showVenueFilter: z53.boolean().nullable().optional(),
|
|
31032
|
+
showStaffFilter: z53.boolean().nullable().optional(),
|
|
30736
31033
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
30737
31034
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
30738
|
-
filterEventPresets:
|
|
31035
|
+
filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
|
|
30739
31036
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
30740
|
-
filterCategoryIds:
|
|
30741
|
-
filterStaffMemberId:
|
|
30742
|
-
filterVenueId:
|
|
31037
|
+
filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
|
|
31038
|
+
filterStaffMemberId: z53.string().nullable().optional(),
|
|
31039
|
+
filterVenueId: z53.string().nullable().optional(),
|
|
30743
31040
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30744
|
-
buttonText:
|
|
30745
|
-
showVenue:
|
|
30746
|
-
showMap:
|
|
30747
|
-
showCapacity:
|
|
30748
|
-
emptyMessage:
|
|
30749
|
-
className:
|
|
31041
|
+
buttonText: z53.string().optional(),
|
|
31042
|
+
showVenue: z53.boolean().nullable().optional(),
|
|
31043
|
+
showMap: z53.boolean().nullable().optional(),
|
|
31044
|
+
showCapacity: z53.boolean().nullable().optional(),
|
|
31045
|
+
emptyMessage: z53.string().optional(),
|
|
31046
|
+
className: z53.string().optional()
|
|
30750
31047
|
}
|
|
30751
31048
|
);
|
|
30752
|
-
var eventCalendarDisplaySchema =
|
|
30753
|
-
kind:
|
|
31049
|
+
var eventCalendarDisplaySchema = z53.object({
|
|
31050
|
+
kind: z53.literal("event-calendar"),
|
|
30754
31051
|
displayMode: eventCalendarDisplayModeSchema,
|
|
30755
|
-
className:
|
|
30756
|
-
events:
|
|
31052
|
+
className: z53.string().nullable(),
|
|
31053
|
+
events: z53.array(publicEventSchema),
|
|
30757
31054
|
listLayout: eventLayoutSchema,
|
|
30758
31055
|
listColumns: columnOptionSchema,
|
|
30759
31056
|
eventsPerPage: eventPageSizeSchema,
|
|
@@ -30761,41 +31058,41 @@ var eventCalendarDisplaySchema = z52.object({
|
|
|
30761
31058
|
startOfWeek: weekStartSchema,
|
|
30762
31059
|
calendarTabViews: calendarTabViewsSchema,
|
|
30763
31060
|
defaultCalendarView: eventCalendarDefaultViewSchema,
|
|
30764
|
-
showFilters:
|
|
31061
|
+
showFilters: z53.boolean(),
|
|
30765
31062
|
showCategoryFilter: filterAutoShowSchema,
|
|
30766
|
-
showVenueFilter:
|
|
30767
|
-
showStaffFilter:
|
|
31063
|
+
showVenueFilter: z53.boolean(),
|
|
31064
|
+
showStaffFilter: z53.boolean(),
|
|
30768
31065
|
eventKind: eventBlockKindSchema2,
|
|
30769
31066
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30770
|
-
filterEventPresets:
|
|
31067
|
+
filterEventPresets: z53.string().nullable(),
|
|
30771
31068
|
scheduleScope: eventScheduleScopeSchema3,
|
|
30772
|
-
filterCategoryIds:
|
|
30773
|
-
filterStaffMemberId:
|
|
30774
|
-
filterVenueId:
|
|
31069
|
+
filterCategoryIds: z53.string().nullable(),
|
|
31070
|
+
filterStaffMemberId: z53.string().nullable(),
|
|
31071
|
+
filterVenueId: z53.string().nullable(),
|
|
30775
31072
|
buttonVariant: eventButtonVariantSchema,
|
|
30776
|
-
buttonText:
|
|
30777
|
-
showVenue:
|
|
30778
|
-
showMap:
|
|
30779
|
-
showCapacity:
|
|
30780
|
-
emptyMessage:
|
|
30781
|
-
});
|
|
30782
|
-
var eventCalendarHydrationSchema =
|
|
30783
|
-
siteId:
|
|
31073
|
+
buttonText: z53.string(),
|
|
31074
|
+
showVenue: z53.boolean(),
|
|
31075
|
+
showMap: z53.boolean(),
|
|
31076
|
+
showCapacity: z53.boolean(),
|
|
31077
|
+
emptyMessage: z53.string()
|
|
31078
|
+
});
|
|
31079
|
+
var eventCalendarHydrationSchema = z53.object({
|
|
31080
|
+
siteId: z53.string(),
|
|
30784
31081
|
stage: previewStageSchema.optional(),
|
|
30785
|
-
prefetchedEvents:
|
|
31082
|
+
prefetchedEvents: z53.boolean(),
|
|
30786
31083
|
eventKind: eventBlockKindSchema2,
|
|
30787
31084
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30788
|
-
filterEventPresets:
|
|
31085
|
+
filterEventPresets: z53.string().nullable(),
|
|
30789
31086
|
scheduleScope: eventScheduleScopeSchema3
|
|
30790
31087
|
});
|
|
30791
|
-
var eventCalendarRenderSchema =
|
|
31088
|
+
var eventCalendarRenderSchema = z53.object({
|
|
30792
31089
|
display: eventCalendarDisplaySchema,
|
|
30793
31090
|
hydration: eventCalendarHydrationSchema
|
|
30794
31091
|
});
|
|
30795
31092
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
30796
|
-
|
|
30797
|
-
siteId:
|
|
30798
|
-
apiBaseUrl:
|
|
31093
|
+
z53.object({
|
|
31094
|
+
siteId: z53.string(),
|
|
31095
|
+
apiBaseUrl: z53.string().optional(),
|
|
30799
31096
|
stage: previewStageSchema.optional()
|
|
30800
31097
|
})
|
|
30801
31098
|
);
|
|
@@ -30915,14 +31212,7 @@ var eventCalendarLayout = [
|
|
|
30915
31212
|
styledSection({
|
|
30916
31213
|
children: sectionContainer(
|
|
30917
31214
|
[
|
|
30918
|
-
|
|
30919
|
-
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
30920
|
-
// Optional description
|
|
30921
|
-
richText(
|
|
30922
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
30923
|
-
bind("content.description"),
|
|
30924
|
-
when("content.description")
|
|
30925
|
-
),
|
|
31215
|
+
...eventSectionHeaderLayoutNodes(),
|
|
30926
31216
|
// Event calendar component (handles all display modes)
|
|
30927
31217
|
el(
|
|
30928
31218
|
"event-calendar",
|
|
@@ -31567,7 +31857,7 @@ var eventCalendarBlockDefinition = {
|
|
|
31567
31857
|
};
|
|
31568
31858
|
|
|
31569
31859
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31570
|
-
import { z as
|
|
31860
|
+
import { z as z54 } from "zod";
|
|
31571
31861
|
|
|
31572
31862
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
31573
31863
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -31659,13 +31949,13 @@ function isRecord6(value) {
|
|
|
31659
31949
|
}
|
|
31660
31950
|
|
|
31661
31951
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31662
|
-
var publicRouteCandidatesSchema =
|
|
31663
|
-
routes:
|
|
31664
|
-
entityId:
|
|
31665
|
-
path:
|
|
31666
|
-
title:
|
|
31667
|
-
kind:
|
|
31668
|
-
contentTypeKey:
|
|
31952
|
+
var publicRouteCandidatesSchema = z54.object({
|
|
31953
|
+
routes: z54.array(z54.object({
|
|
31954
|
+
entityId: z54.string(),
|
|
31955
|
+
path: z54.string(),
|
|
31956
|
+
title: z54.string(),
|
|
31957
|
+
kind: z54.enum(["page", "content"]),
|
|
31958
|
+
contentTypeKey: z54.string().nullable().optional()
|
|
31669
31959
|
}))
|
|
31670
31960
|
});
|
|
31671
31961
|
var groupOverrideFields = [
|
|
@@ -32063,7 +32353,7 @@ function isRecord7(value) {
|
|
|
32063
32353
|
}
|
|
32064
32354
|
|
|
32065
32355
|
// ../blocks/src/system/blocks/embed.ts
|
|
32066
|
-
import { z as
|
|
32356
|
+
import { z as z55 } from "zod";
|
|
32067
32357
|
var embedFields = [
|
|
32068
32358
|
// Section heading
|
|
32069
32359
|
parseFieldDefinition({
|
|
@@ -32294,18 +32584,18 @@ var embedManifest = createBlockManifest({
|
|
|
32294
32584
|
spacing: "lg"
|
|
32295
32585
|
}
|
|
32296
32586
|
});
|
|
32297
|
-
var embedEntrySchema =
|
|
32298
|
-
id:
|
|
32299
|
-
identifier:
|
|
32300
|
-
title:
|
|
32301
|
-
slug:
|
|
32302
|
-
content:
|
|
32303
|
-
publishedAt:
|
|
32587
|
+
var embedEntrySchema = z55.object({
|
|
32588
|
+
id: z55.string(),
|
|
32589
|
+
identifier: z55.string(),
|
|
32590
|
+
title: z55.string(),
|
|
32591
|
+
slug: z55.string().nullable().optional(),
|
|
32592
|
+
content: z55.record(z55.string(), z55.unknown()).optional(),
|
|
32593
|
+
publishedAt: z55.string().nullable().optional()
|
|
32304
32594
|
});
|
|
32305
32595
|
var embedBlockDefinition = {
|
|
32306
32596
|
manifest: embedManifest,
|
|
32307
32597
|
dataSchemas: {
|
|
32308
|
-
entries:
|
|
32598
|
+
entries: z55.array(embedEntrySchema).optional()
|
|
32309
32599
|
},
|
|
32310
32600
|
dataLoaders: {
|
|
32311
32601
|
entries: {
|
|
@@ -33489,49 +33779,49 @@ var fileDownloadBlockDefinition = {
|
|
|
33489
33779
|
};
|
|
33490
33780
|
|
|
33491
33781
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33492
|
-
import { z as
|
|
33782
|
+
import { z as z58 } from "zod";
|
|
33493
33783
|
|
|
33494
33784
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
33495
|
-
import { z as
|
|
33496
|
-
var publicProductVariantSchema =
|
|
33497
|
-
id:
|
|
33498
|
-
title:
|
|
33499
|
-
sku:
|
|
33500
|
-
priceCents:
|
|
33501
|
-
stockQuantity:
|
|
33502
|
-
soldOut:
|
|
33503
|
-
});
|
|
33504
|
-
var publicProductSchema =
|
|
33505
|
-
id:
|
|
33506
|
-
contentEntryId:
|
|
33507
|
-
title:
|
|
33508
|
-
slug:
|
|
33509
|
-
path:
|
|
33510
|
-
status:
|
|
33511
|
-
priceCents:
|
|
33512
|
-
currency:
|
|
33513
|
-
productType:
|
|
33514
|
-
requiresShipping:
|
|
33515
|
-
hasVariants:
|
|
33516
|
-
trackInventory:
|
|
33517
|
-
soldOut:
|
|
33518
|
-
category:
|
|
33519
|
-
id:
|
|
33520
|
-
name:
|
|
33521
|
-
slug:
|
|
33785
|
+
import { z as z56 } from "zod";
|
|
33786
|
+
var publicProductVariantSchema = z56.object({
|
|
33787
|
+
id: z56.string(),
|
|
33788
|
+
title: z56.string(),
|
|
33789
|
+
sku: z56.string().nullable(),
|
|
33790
|
+
priceCents: z56.number(),
|
|
33791
|
+
stockQuantity: z56.number().nullable(),
|
|
33792
|
+
soldOut: z56.boolean()
|
|
33793
|
+
});
|
|
33794
|
+
var publicProductSchema = z56.object({
|
|
33795
|
+
id: z56.string(),
|
|
33796
|
+
contentEntryId: z56.string().nullable(),
|
|
33797
|
+
title: z56.string(),
|
|
33798
|
+
slug: z56.string(),
|
|
33799
|
+
path: z56.string().nullable(),
|
|
33800
|
+
status: z56.enum(["draft", "active"]),
|
|
33801
|
+
priceCents: z56.number(),
|
|
33802
|
+
currency: z56.string(),
|
|
33803
|
+
productType: z56.enum(["physical", "digital"]),
|
|
33804
|
+
requiresShipping: z56.boolean(),
|
|
33805
|
+
hasVariants: z56.boolean(),
|
|
33806
|
+
trackInventory: z56.boolean(),
|
|
33807
|
+
soldOut: z56.boolean(),
|
|
33808
|
+
category: z56.object({
|
|
33809
|
+
id: z56.string(),
|
|
33810
|
+
name: z56.string(),
|
|
33811
|
+
slug: z56.string()
|
|
33522
33812
|
}).nullable(),
|
|
33523
|
-
summary:
|
|
33524
|
-
body:
|
|
33525
|
-
gallery:
|
|
33526
|
-
|
|
33527
|
-
url:
|
|
33528
|
-
alt:
|
|
33813
|
+
summary: z56.string().nullable(),
|
|
33814
|
+
body: z56.unknown().nullable(),
|
|
33815
|
+
gallery: z56.array(
|
|
33816
|
+
z56.object({
|
|
33817
|
+
url: z56.string(),
|
|
33818
|
+
alt: z56.string().nullable()
|
|
33529
33819
|
})
|
|
33530
33820
|
),
|
|
33531
|
-
variants:
|
|
33821
|
+
variants: z56.array(publicProductVariantSchema)
|
|
33532
33822
|
});
|
|
33533
|
-
var publicProductsResponseSchema =
|
|
33534
|
-
products:
|
|
33823
|
+
var publicProductsResponseSchema = z56.object({
|
|
33824
|
+
products: z56.array(publicProductSchema)
|
|
33535
33825
|
});
|
|
33536
33826
|
|
|
33537
33827
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -33595,27 +33885,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
33595
33885
|
}
|
|
33596
33886
|
|
|
33597
33887
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
33598
|
-
import { z as
|
|
33599
|
-
var storedProductCartItemSchema =
|
|
33600
|
-
kind:
|
|
33601
|
-
productId:
|
|
33602
|
-
productCategoryId:
|
|
33603
|
-
variantId:
|
|
33604
|
-
title:
|
|
33605
|
-
variantTitle:
|
|
33606
|
-
quantity:
|
|
33607
|
-
unitPriceCents:
|
|
33608
|
-
currency:
|
|
33609
|
-
imageUrl:
|
|
33610
|
-
soldOut:
|
|
33611
|
-
});
|
|
33612
|
-
var storedPassCartItemSchema =
|
|
33613
|
-
kind:
|
|
33614
|
-
passId:
|
|
33615
|
-
title:
|
|
33616
|
-
quantity:
|
|
33617
|
-
unitPriceCents:
|
|
33618
|
-
currency:
|
|
33888
|
+
import { z as z57 } from "zod";
|
|
33889
|
+
var storedProductCartItemSchema = z57.object({
|
|
33890
|
+
kind: z57.literal("product"),
|
|
33891
|
+
productId: z57.string().min(1),
|
|
33892
|
+
productCategoryId: z57.string().min(1).optional().nullable(),
|
|
33893
|
+
variantId: z57.string().min(1).optional().nullable(),
|
|
33894
|
+
title: z57.string().min(1),
|
|
33895
|
+
variantTitle: z57.string().optional().nullable(),
|
|
33896
|
+
quantity: z57.number().finite(),
|
|
33897
|
+
unitPriceCents: z57.number().finite(),
|
|
33898
|
+
currency: z57.string().min(1),
|
|
33899
|
+
imageUrl: z57.string().optional().nullable(),
|
|
33900
|
+
soldOut: z57.boolean().optional()
|
|
33901
|
+
});
|
|
33902
|
+
var storedPassCartItemSchema = z57.object({
|
|
33903
|
+
kind: z57.literal("pass"),
|
|
33904
|
+
passId: z57.string().min(1),
|
|
33905
|
+
title: z57.string().min(1),
|
|
33906
|
+
quantity: z57.number().finite().optional(),
|
|
33907
|
+
unitPriceCents: z57.number().finite(),
|
|
33908
|
+
currency: z57.string().min(1)
|
|
33619
33909
|
});
|
|
33620
33910
|
function deriveCommerceCheckoutState(state) {
|
|
33621
33911
|
if (state.items.length === 0) {
|
|
@@ -33849,214 +34139,214 @@ function formatValidity(days) {
|
|
|
33849
34139
|
}
|
|
33850
34140
|
|
|
33851
34141
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33852
|
-
var shopModeSchema =
|
|
33853
|
-
var contentEntrySchema3 =
|
|
33854
|
-
id:
|
|
33855
|
-
slug:
|
|
34142
|
+
var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
34143
|
+
var contentEntrySchema3 = z58.object({
|
|
34144
|
+
id: z58.string().nullable().optional(),
|
|
34145
|
+
slug: z58.string().nullable().optional()
|
|
33856
34146
|
}).nullable();
|
|
33857
|
-
var shopSourceSchema =
|
|
33858
|
-
className:
|
|
34147
|
+
var shopSourceSchema = z58.object({
|
|
34148
|
+
className: z58.string().nullable().optional(),
|
|
33859
34149
|
mode: shopModeSchema.optional(),
|
|
33860
|
-
heading:
|
|
33861
|
-
productSlug:
|
|
33862
|
-
showPasses:
|
|
33863
|
-
showMemberships:
|
|
33864
|
-
layout:
|
|
33865
|
-
columns:
|
|
33866
|
-
showDescriptions:
|
|
33867
|
-
showSummary:
|
|
33868
|
-
showBody:
|
|
33869
|
-
showPrices:
|
|
33870
|
-
showValidityPeriod:
|
|
33871
|
-
showPricePerCredit:
|
|
33872
|
-
passesHeading:
|
|
33873
|
-
membershipsHeading:
|
|
33874
|
-
buyButtonText:
|
|
33875
|
-
addButtonText:
|
|
33876
|
-
passPurchaseMode:
|
|
33877
|
-
subscribeButtonText:
|
|
33878
|
-
emptyStateText:
|
|
33879
|
-
checkoutButtonText:
|
|
33880
|
-
clearButtonText:
|
|
33881
|
-
submitButtonText:
|
|
34150
|
+
heading: z58.string().nullable().optional(),
|
|
34151
|
+
productSlug: z58.string().nullable().optional(),
|
|
34152
|
+
showPasses: z58.boolean().optional(),
|
|
34153
|
+
showMemberships: z58.boolean().optional(),
|
|
34154
|
+
layout: z58.enum(["grid", "list"]).optional(),
|
|
34155
|
+
columns: z58.string().optional(),
|
|
34156
|
+
showDescriptions: z58.boolean().optional(),
|
|
34157
|
+
showSummary: z58.boolean().optional(),
|
|
34158
|
+
showBody: z58.boolean().optional(),
|
|
34159
|
+
showPrices: z58.boolean().optional(),
|
|
34160
|
+
showValidityPeriod: z58.boolean().optional(),
|
|
34161
|
+
showPricePerCredit: z58.boolean().nullable().optional(),
|
|
34162
|
+
passesHeading: z58.string().optional(),
|
|
34163
|
+
membershipsHeading: z58.string().optional(),
|
|
34164
|
+
buyButtonText: z58.string().optional(),
|
|
34165
|
+
addButtonText: z58.string().optional(),
|
|
34166
|
+
passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
|
|
34167
|
+
subscribeButtonText: z58.string().optional(),
|
|
34168
|
+
emptyStateText: z58.string().optional(),
|
|
34169
|
+
checkoutButtonText: z58.string().optional(),
|
|
34170
|
+
clearButtonText: z58.string().optional(),
|
|
34171
|
+
submitButtonText: z58.string().optional(),
|
|
33882
34172
|
contentEntry: contentEntrySchema3.optional(),
|
|
33883
|
-
passes:
|
|
33884
|
-
memberships:
|
|
33885
|
-
products:
|
|
33886
|
-
siteId:
|
|
33887
|
-
apiBaseUrl:
|
|
34173
|
+
passes: z58.array(publicPassProductSchema).nullable().optional(),
|
|
34174
|
+
memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
|
|
34175
|
+
products: z58.array(publicProductSchema).nullable().optional(),
|
|
34176
|
+
siteId: z58.string().optional(),
|
|
34177
|
+
apiBaseUrl: z58.string().optional(),
|
|
33888
34178
|
stage: previewStageSchema.optional()
|
|
33889
34179
|
});
|
|
33890
|
-
var productVariantOptionDisplaySchema =
|
|
33891
|
-
id:
|
|
33892
|
-
label:
|
|
33893
|
-
soldOut:
|
|
33894
|
-
});
|
|
33895
|
-
var productCardDisplaySchema =
|
|
33896
|
-
productId:
|
|
33897
|
-
title:
|
|
33898
|
-
path:
|
|
33899
|
-
summary:
|
|
33900
|
-
priceLabel:
|
|
33901
|
-
image:
|
|
33902
|
-
url:
|
|
33903
|
-
alt:
|
|
34180
|
+
var productVariantOptionDisplaySchema = z58.object({
|
|
34181
|
+
id: z58.string(),
|
|
34182
|
+
label: z58.string(),
|
|
34183
|
+
soldOut: z58.boolean()
|
|
34184
|
+
});
|
|
34185
|
+
var productCardDisplaySchema = z58.object({
|
|
34186
|
+
productId: z58.string(),
|
|
34187
|
+
title: z58.string(),
|
|
34188
|
+
path: z58.string().nullable(),
|
|
34189
|
+
summary: z58.string().nullable(),
|
|
34190
|
+
priceLabel: z58.string().nullable(),
|
|
34191
|
+
image: z58.object({
|
|
34192
|
+
url: z58.string(),
|
|
34193
|
+
alt: z58.string().nullable()
|
|
33904
34194
|
}).nullable(),
|
|
33905
|
-
variantOptions:
|
|
33906
|
-
selectedVariantId:
|
|
33907
|
-
selectionLabel:
|
|
33908
|
-
actionLabel:
|
|
33909
|
-
soldOut:
|
|
33910
|
-
});
|
|
33911
|
-
var productListDisplaySchema =
|
|
33912
|
-
kind:
|
|
33913
|
-
state:
|
|
33914
|
-
heading:
|
|
33915
|
-
className:
|
|
33916
|
-
layout:
|
|
33917
|
-
columns:
|
|
33918
|
-
emptyMessage:
|
|
33919
|
-
cards:
|
|
33920
|
-
});
|
|
33921
|
-
var productDetailDisplaySchema =
|
|
33922
|
-
|
|
33923
|
-
kind:
|
|
33924
|
-
state:
|
|
33925
|
-
heading:
|
|
33926
|
-
className:
|
|
33927
|
-
emptyMessage:
|
|
34195
|
+
variantOptions: z58.array(productVariantOptionDisplaySchema),
|
|
34196
|
+
selectedVariantId: z58.string().nullable(),
|
|
34197
|
+
selectionLabel: z58.string(),
|
|
34198
|
+
actionLabel: z58.string(),
|
|
34199
|
+
soldOut: z58.boolean()
|
|
34200
|
+
});
|
|
34201
|
+
var productListDisplaySchema = z58.object({
|
|
34202
|
+
kind: z58.literal("product-list"),
|
|
34203
|
+
state: z58.enum(["empty", "ready"]),
|
|
34204
|
+
heading: z58.string().nullable(),
|
|
34205
|
+
className: z58.string().nullable(),
|
|
34206
|
+
layout: z58.enum(["grid", "list"]),
|
|
34207
|
+
columns: z58.string(),
|
|
34208
|
+
emptyMessage: z58.string(),
|
|
34209
|
+
cards: z58.array(productCardDisplaySchema)
|
|
34210
|
+
});
|
|
34211
|
+
var productDetailDisplaySchema = z58.discriminatedUnion("state", [
|
|
34212
|
+
z58.object({
|
|
34213
|
+
kind: z58.literal("product-detail"),
|
|
34214
|
+
state: z58.literal("empty"),
|
|
34215
|
+
heading: z58.string().nullable(),
|
|
34216
|
+
className: z58.string().nullable(),
|
|
34217
|
+
emptyMessage: z58.string()
|
|
33928
34218
|
}),
|
|
33929
|
-
|
|
33930
|
-
kind:
|
|
33931
|
-
state:
|
|
33932
|
-
heading:
|
|
33933
|
-
className:
|
|
33934
|
-
title:
|
|
33935
|
-
priceLabel:
|
|
33936
|
-
summary:
|
|
33937
|
-
categoryLabel:
|
|
33938
|
-
gallery:
|
|
33939
|
-
url:
|
|
33940
|
-
alt:
|
|
34219
|
+
z58.object({
|
|
34220
|
+
kind: z58.literal("product-detail"),
|
|
34221
|
+
state: z58.literal("ready"),
|
|
34222
|
+
heading: z58.string().nullable(),
|
|
34223
|
+
className: z58.string().nullable(),
|
|
34224
|
+
title: z58.string(),
|
|
34225
|
+
priceLabel: z58.string(),
|
|
34226
|
+
summary: z58.string().nullable(),
|
|
34227
|
+
categoryLabel: z58.string().nullable(),
|
|
34228
|
+
gallery: z58.array(z58.object({
|
|
34229
|
+
url: z58.string(),
|
|
34230
|
+
alt: z58.string().nullable()
|
|
33941
34231
|
})),
|
|
33942
|
-
variantOptions:
|
|
33943
|
-
selectedVariantId:
|
|
33944
|
-
selectionLabel:
|
|
33945
|
-
actionLabel:
|
|
33946
|
-
soldOut:
|
|
33947
|
-
body:
|
|
34232
|
+
variantOptions: z58.array(productVariantOptionDisplaySchema),
|
|
34233
|
+
selectedVariantId: z58.string().nullable(),
|
|
34234
|
+
selectionLabel: z58.string(),
|
|
34235
|
+
actionLabel: z58.string(),
|
|
34236
|
+
soldOut: z58.boolean(),
|
|
34237
|
+
body: z58.unknown().nullable()
|
|
33948
34238
|
})
|
|
33949
34239
|
]);
|
|
33950
|
-
var passCardDisplaySchema =
|
|
33951
|
-
id:
|
|
33952
|
-
title:
|
|
33953
|
-
description:
|
|
33954
|
-
priceLabel:
|
|
33955
|
-
creditsLabel:
|
|
33956
|
-
perCreditLabel:
|
|
33957
|
-
validityLabel:
|
|
33958
|
-
actionLabel:
|
|
33959
|
-
});
|
|
33960
|
-
var membershipCardDisplaySchema =
|
|
33961
|
-
id:
|
|
33962
|
-
title:
|
|
33963
|
-
description:
|
|
33964
|
-
priceLabel:
|
|
33965
|
-
intervalLabel:
|
|
33966
|
-
actionLabel:
|
|
33967
|
-
});
|
|
33968
|
-
var passesMembershipsDisplaySchema =
|
|
33969
|
-
kind:
|
|
33970
|
-
state:
|
|
33971
|
-
className:
|
|
33972
|
-
layout:
|
|
33973
|
-
columns:
|
|
33974
|
-
emptyMessage:
|
|
33975
|
-
passesHeading:
|
|
33976
|
-
membershipsHeading:
|
|
33977
|
-
passes:
|
|
33978
|
-
memberships:
|
|
33979
|
-
});
|
|
33980
|
-
var cartLineDisplaySchema =
|
|
33981
|
-
key:
|
|
33982
|
-
title:
|
|
33983
|
-
priceLabel:
|
|
33984
|
-
quantity:
|
|
33985
|
-
quantityEditable:
|
|
33986
|
-
});
|
|
33987
|
-
var cartDisplaySchema =
|
|
33988
|
-
kind:
|
|
33989
|
-
state:
|
|
33990
|
-
heading:
|
|
33991
|
-
className:
|
|
33992
|
-
emptyMessage:
|
|
33993
|
-
supportText:
|
|
33994
|
-
items:
|
|
33995
|
-
subtotalLabel:
|
|
33996
|
-
checkoutButtonText:
|
|
33997
|
-
clearButtonText:
|
|
33998
|
-
});
|
|
33999
|
-
var checkoutDisplaySchema =
|
|
34000
|
-
kind:
|
|
34001
|
-
state:
|
|
34002
|
-
heading:
|
|
34003
|
-
className:
|
|
34004
|
-
message:
|
|
34005
|
-
submitButtonText:
|
|
34006
|
-
});
|
|
34007
|
-
var passesMembershipsHydrationSchema =
|
|
34008
|
-
passes:
|
|
34009
|
-
memberships:
|
|
34010
|
-
passPurchaseMode:
|
|
34011
|
-
});
|
|
34012
|
-
var productListHydrationSchema =
|
|
34013
|
-
products:
|
|
34014
|
-
showSummary:
|
|
34015
|
-
showPrices:
|
|
34016
|
-
addButtonText:
|
|
34017
|
-
});
|
|
34018
|
-
var productDetailHydrationSchema =
|
|
34019
|
-
products:
|
|
34020
|
-
productId:
|
|
34021
|
-
showSummary:
|
|
34022
|
-
showBody:
|
|
34023
|
-
addButtonText:
|
|
34024
|
-
});
|
|
34025
|
-
var cartHydrationSchema =
|
|
34026
|
-
emptyStateText:
|
|
34027
|
-
checkoutButtonText:
|
|
34028
|
-
clearButtonText:
|
|
34029
|
-
});
|
|
34030
|
-
var checkoutHydrationSchema =
|
|
34031
|
-
emptyStateText:
|
|
34032
|
-
submitButtonText:
|
|
34033
|
-
});
|
|
34034
|
-
var passesMembershipsRenderSchema =
|
|
34240
|
+
var passCardDisplaySchema = z58.object({
|
|
34241
|
+
id: z58.string(),
|
|
34242
|
+
title: z58.string(),
|
|
34243
|
+
description: z58.string().nullable(),
|
|
34244
|
+
priceLabel: z58.string(),
|
|
34245
|
+
creditsLabel: z58.string(),
|
|
34246
|
+
perCreditLabel: z58.string().nullable(),
|
|
34247
|
+
validityLabel: z58.string().nullable(),
|
|
34248
|
+
actionLabel: z58.string()
|
|
34249
|
+
});
|
|
34250
|
+
var membershipCardDisplaySchema = z58.object({
|
|
34251
|
+
id: z58.string(),
|
|
34252
|
+
title: z58.string(),
|
|
34253
|
+
description: z58.string().nullable(),
|
|
34254
|
+
priceLabel: z58.string(),
|
|
34255
|
+
intervalLabel: z58.string(),
|
|
34256
|
+
actionLabel: z58.string()
|
|
34257
|
+
});
|
|
34258
|
+
var passesMembershipsDisplaySchema = z58.object({
|
|
34259
|
+
kind: z58.literal("passes-memberships"),
|
|
34260
|
+
state: z58.enum(["empty", "ready"]),
|
|
34261
|
+
className: z58.string().nullable(),
|
|
34262
|
+
layout: z58.enum(["grid", "list"]),
|
|
34263
|
+
columns: z58.string(),
|
|
34264
|
+
emptyMessage: z58.string(),
|
|
34265
|
+
passesHeading: z58.string(),
|
|
34266
|
+
membershipsHeading: z58.string(),
|
|
34267
|
+
passes: z58.array(passCardDisplaySchema),
|
|
34268
|
+
memberships: z58.array(membershipCardDisplaySchema)
|
|
34269
|
+
});
|
|
34270
|
+
var cartLineDisplaySchema = z58.object({
|
|
34271
|
+
key: z58.string(),
|
|
34272
|
+
title: z58.string(),
|
|
34273
|
+
priceLabel: z58.string(),
|
|
34274
|
+
quantity: z58.number(),
|
|
34275
|
+
quantityEditable: z58.boolean()
|
|
34276
|
+
});
|
|
34277
|
+
var cartDisplaySchema = z58.object({
|
|
34278
|
+
kind: z58.literal("cart"),
|
|
34279
|
+
state: z58.enum(["empty", "ready"]),
|
|
34280
|
+
heading: z58.string().nullable(),
|
|
34281
|
+
className: z58.string().nullable(),
|
|
34282
|
+
emptyMessage: z58.string(),
|
|
34283
|
+
supportText: z58.string().nullable(),
|
|
34284
|
+
items: z58.array(cartLineDisplaySchema),
|
|
34285
|
+
subtotalLabel: z58.string().nullable(),
|
|
34286
|
+
checkoutButtonText: z58.string(),
|
|
34287
|
+
clearButtonText: z58.string()
|
|
34288
|
+
});
|
|
34289
|
+
var checkoutDisplaySchema = z58.object({
|
|
34290
|
+
kind: z58.literal("checkout"),
|
|
34291
|
+
state: z58.enum(["empty", "blocked", "ready"]),
|
|
34292
|
+
heading: z58.string().nullable(),
|
|
34293
|
+
className: z58.string().nullable(),
|
|
34294
|
+
message: z58.string().nullable(),
|
|
34295
|
+
submitButtonText: z58.string()
|
|
34296
|
+
});
|
|
34297
|
+
var passesMembershipsHydrationSchema = z58.object({
|
|
34298
|
+
passes: z58.array(publicPassProductSchema),
|
|
34299
|
+
memberships: z58.array(publicMembershipProductSchema),
|
|
34300
|
+
passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
|
|
34301
|
+
});
|
|
34302
|
+
var productListHydrationSchema = z58.object({
|
|
34303
|
+
products: z58.array(publicProductSchema),
|
|
34304
|
+
showSummary: z58.boolean(),
|
|
34305
|
+
showPrices: z58.boolean(),
|
|
34306
|
+
addButtonText: z58.string()
|
|
34307
|
+
});
|
|
34308
|
+
var productDetailHydrationSchema = z58.object({
|
|
34309
|
+
products: z58.array(publicProductSchema),
|
|
34310
|
+
productId: z58.string().nullable(),
|
|
34311
|
+
showSummary: z58.boolean(),
|
|
34312
|
+
showBody: z58.boolean(),
|
|
34313
|
+
addButtonText: z58.string()
|
|
34314
|
+
});
|
|
34315
|
+
var cartHydrationSchema = z58.object({
|
|
34316
|
+
emptyStateText: z58.string(),
|
|
34317
|
+
checkoutButtonText: z58.string(),
|
|
34318
|
+
clearButtonText: z58.string()
|
|
34319
|
+
});
|
|
34320
|
+
var checkoutHydrationSchema = z58.object({
|
|
34321
|
+
emptyStateText: z58.string(),
|
|
34322
|
+
submitButtonText: z58.string()
|
|
34323
|
+
});
|
|
34324
|
+
var passesMembershipsRenderSchema = z58.object({
|
|
34035
34325
|
display: passesMembershipsDisplaySchema,
|
|
34036
34326
|
hydration: passesMembershipsHydrationSchema
|
|
34037
34327
|
});
|
|
34038
|
-
var productListRenderSchema =
|
|
34328
|
+
var productListRenderSchema = z58.object({
|
|
34039
34329
|
display: productListDisplaySchema,
|
|
34040
34330
|
hydration: productListHydrationSchema
|
|
34041
34331
|
});
|
|
34042
|
-
var productDetailRenderSchema =
|
|
34332
|
+
var productDetailRenderSchema = z58.object({
|
|
34043
34333
|
display: productDetailDisplaySchema,
|
|
34044
34334
|
hydration: productDetailHydrationSchema
|
|
34045
34335
|
});
|
|
34046
|
-
var cartRenderSchema =
|
|
34336
|
+
var cartRenderSchema = z58.object({
|
|
34047
34337
|
display: cartDisplaySchema,
|
|
34048
34338
|
hydration: cartHydrationSchema
|
|
34049
34339
|
});
|
|
34050
|
-
var checkoutRenderSchema =
|
|
34340
|
+
var checkoutRenderSchema = z58.object({
|
|
34051
34341
|
display: checkoutDisplaySchema,
|
|
34052
34342
|
hydration: checkoutHydrationSchema
|
|
34053
34343
|
});
|
|
34054
34344
|
function resolveShowPricePerCredit(source) {
|
|
34055
34345
|
return source.showPricePerCredit ?? true;
|
|
34056
34346
|
}
|
|
34057
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
34058
|
-
siteId:
|
|
34059
|
-
apiBaseUrl:
|
|
34347
|
+
var shopIslandMetaCodec = createZodCodec(z58.object({
|
|
34348
|
+
siteId: z58.string().optional(),
|
|
34349
|
+
apiBaseUrl: z58.string().optional(),
|
|
34060
34350
|
stage: previewStageSchema.optional()
|
|
34061
34351
|
}));
|
|
34062
34352
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -34459,7 +34749,7 @@ var shopBlockDefinition = {
|
|
|
34459
34749
|
};
|
|
34460
34750
|
|
|
34461
34751
|
// ../blocks/src/system/blocks/product-list.ts
|
|
34462
|
-
import { z as
|
|
34752
|
+
import { z as z59 } from "zod";
|
|
34463
34753
|
var productListManifest = createBlockManifest({
|
|
34464
34754
|
id: "block.product-list",
|
|
34465
34755
|
version: "1.0.0",
|
|
@@ -34592,7 +34882,7 @@ var productListBlockDefinition = {
|
|
|
34592
34882
|
}
|
|
34593
34883
|
}
|
|
34594
34884
|
};
|
|
34595
|
-
var productListDataSchema =
|
|
34885
|
+
var productListDataSchema = z59.object({
|
|
34596
34886
|
products: publicProductsResponseSchema.optional()
|
|
34597
34887
|
});
|
|
34598
34888
|
|
|
@@ -34853,72 +35143,72 @@ var checkoutBlockDefinition = {
|
|
|
34853
35143
|
};
|
|
34854
35144
|
|
|
34855
35145
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
34856
|
-
import { z as
|
|
34857
|
-
var publicGiftCardOfferSchema =
|
|
34858
|
-
id:
|
|
34859
|
-
kind:
|
|
34860
|
-
title:
|
|
34861
|
-
description:
|
|
34862
|
-
sortOrder:
|
|
34863
|
-
giftCard:
|
|
34864
|
-
fixedDenominations:
|
|
34865
|
-
customAmountEnabled:
|
|
34866
|
-
customAmountMinCents:
|
|
34867
|
-
customAmountMaxCents:
|
|
35146
|
+
import { z as z60 } from "zod";
|
|
35147
|
+
var publicGiftCardOfferSchema = z60.object({
|
|
35148
|
+
id: z60.string(),
|
|
35149
|
+
kind: z60.literal("gift_card"),
|
|
35150
|
+
title: z60.string(),
|
|
35151
|
+
description: z60.string().nullable(),
|
|
35152
|
+
sortOrder: z60.number().int(),
|
|
35153
|
+
giftCard: z60.object({
|
|
35154
|
+
fixedDenominations: z60.array(z60.number().int().positive()),
|
|
35155
|
+
customAmountEnabled: z60.boolean(),
|
|
35156
|
+
customAmountMinCents: z60.number().int().positive(),
|
|
35157
|
+
customAmountMaxCents: z60.number().int().positive()
|
|
34868
35158
|
}),
|
|
34869
|
-
voucher:
|
|
34870
|
-
});
|
|
34871
|
-
var publicVoucherOfferSchema =
|
|
34872
|
-
id:
|
|
34873
|
-
kind:
|
|
34874
|
-
title:
|
|
34875
|
-
description:
|
|
34876
|
-
sortOrder:
|
|
34877
|
-
giftCard:
|
|
34878
|
-
voucher:
|
|
34879
|
-
purchaseAmountCents:
|
|
35159
|
+
voucher: z60.null()
|
|
35160
|
+
});
|
|
35161
|
+
var publicVoucherOfferSchema = z60.object({
|
|
35162
|
+
id: z60.string(),
|
|
35163
|
+
kind: z60.literal("voucher"),
|
|
35164
|
+
title: z60.string(),
|
|
35165
|
+
description: z60.string().nullable(),
|
|
35166
|
+
sortOrder: z60.number().int(),
|
|
35167
|
+
giftCard: z60.null(),
|
|
35168
|
+
voucher: z60.object({
|
|
35169
|
+
purchaseAmountCents: z60.number().int().positive()
|
|
34880
35170
|
})
|
|
34881
35171
|
});
|
|
34882
|
-
var publicGiftingOffersResponseSchema =
|
|
34883
|
-
currency:
|
|
34884
|
-
giftCards:
|
|
34885
|
-
vouchers:
|
|
35172
|
+
var publicGiftingOffersResponseSchema = z60.object({
|
|
35173
|
+
currency: z60.string(),
|
|
35174
|
+
giftCards: z60.array(publicGiftCardOfferSchema),
|
|
35175
|
+
vouchers: z60.array(publicVoucherOfferSchema)
|
|
34886
35176
|
});
|
|
34887
|
-
var giftingSourceSchema =
|
|
34888
|
-
siteId:
|
|
34889
|
-
apiBaseUrl:
|
|
35177
|
+
var giftingSourceSchema = z60.object({
|
|
35178
|
+
siteId: z60.string().optional(),
|
|
35179
|
+
apiBaseUrl: z60.string().optional(),
|
|
34890
35180
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
34891
|
-
className:
|
|
34892
|
-
heading:
|
|
34893
|
-
intro:
|
|
34894
|
-
giftCardsHeading:
|
|
34895
|
-
vouchersHeading:
|
|
34896
|
-
emptyStateText:
|
|
34897
|
-
checkoutButtonText:
|
|
34898
|
-
successMessage:
|
|
34899
|
-
});
|
|
34900
|
-
var giftingDisplaySchema =
|
|
34901
|
-
kind:
|
|
34902
|
-
state:
|
|
34903
|
-
className:
|
|
34904
|
-
heading:
|
|
34905
|
-
intro:
|
|
34906
|
-
giftCardsHeading:
|
|
34907
|
-
vouchersHeading:
|
|
34908
|
-
emptyStateText:
|
|
34909
|
-
});
|
|
34910
|
-
var giftingHydrationSchema =
|
|
35181
|
+
className: z60.string().nullable().optional(),
|
|
35182
|
+
heading: z60.string().nullable().optional(),
|
|
35183
|
+
intro: z60.string().nullable().optional(),
|
|
35184
|
+
giftCardsHeading: z60.string().nullable().optional(),
|
|
35185
|
+
vouchersHeading: z60.string().nullable().optional(),
|
|
35186
|
+
emptyStateText: z60.string().nullable().optional(),
|
|
35187
|
+
checkoutButtonText: z60.string().nullable().optional(),
|
|
35188
|
+
successMessage: z60.string().nullable().optional()
|
|
35189
|
+
});
|
|
35190
|
+
var giftingDisplaySchema = z60.object({
|
|
35191
|
+
kind: z60.literal("gifting"),
|
|
35192
|
+
state: z60.literal("ready"),
|
|
35193
|
+
className: z60.string().nullable(),
|
|
35194
|
+
heading: z60.string(),
|
|
35195
|
+
intro: z60.string().nullable(),
|
|
35196
|
+
giftCardsHeading: z60.string(),
|
|
35197
|
+
vouchersHeading: z60.string(),
|
|
35198
|
+
emptyStateText: z60.string()
|
|
35199
|
+
});
|
|
35200
|
+
var giftingHydrationSchema = z60.object({
|
|
34911
35201
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
34912
|
-
checkoutButtonText:
|
|
34913
|
-
successMessage:
|
|
35202
|
+
checkoutButtonText: z60.string(),
|
|
35203
|
+
successMessage: z60.string()
|
|
34914
35204
|
});
|
|
34915
|
-
var giftingRenderSchema =
|
|
35205
|
+
var giftingRenderSchema = z60.object({
|
|
34916
35206
|
display: giftingDisplaySchema,
|
|
34917
35207
|
hydration: giftingHydrationSchema
|
|
34918
35208
|
});
|
|
34919
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
34920
|
-
siteId:
|
|
34921
|
-
apiBaseUrl:
|
|
35209
|
+
var giftingIslandMetaCodec = createZodCodec(z60.object({
|
|
35210
|
+
siteId: z60.string().optional(),
|
|
35211
|
+
apiBaseUrl: z60.string().optional()
|
|
34922
35212
|
}));
|
|
34923
35213
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
34924
35214
|
"siteId",
|
|
@@ -35089,7 +35379,7 @@ var giftingBlockDefinition = {
|
|
|
35089
35379
|
};
|
|
35090
35380
|
|
|
35091
35381
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
35092
|
-
import { z as
|
|
35382
|
+
import { z as z61 } from "zod";
|
|
35093
35383
|
|
|
35094
35384
|
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
35095
35385
|
function parseNewsletterSignupBlockId(value) {
|
|
@@ -35196,65 +35486,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
35196
35486
|
}
|
|
35197
35487
|
|
|
35198
35488
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
35199
|
-
var newsletterPresetSchema =
|
|
35200
|
-
var newsletterDestinationProviderSchema =
|
|
35201
|
-
var newsletterFieldSchema =
|
|
35202
|
-
id:
|
|
35203
|
-
type:
|
|
35204
|
-
label:
|
|
35205
|
-
required:
|
|
35206
|
-
placeholder:
|
|
35207
|
-
});
|
|
35208
|
-
var newsletterSignupBlockIdSchema =
|
|
35209
|
-
var signedNewsletterDestinationRefSchema =
|
|
35210
|
-
var newsletterPublicDestinationRefSchema =
|
|
35211
|
-
|
|
35212
|
-
tag:
|
|
35489
|
+
var newsletterPresetSchema = z61.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
35490
|
+
var newsletterDestinationProviderSchema = z61.enum(["riverbank", "mailchimp"]);
|
|
35491
|
+
var newsletterFieldSchema = z61.object({
|
|
35492
|
+
id: z61.string(),
|
|
35493
|
+
type: z61.enum(["email", "text"]),
|
|
35494
|
+
label: z61.string(),
|
|
35495
|
+
required: z61.boolean(),
|
|
35496
|
+
placeholder: z61.string().optional()
|
|
35497
|
+
});
|
|
35498
|
+
var newsletterSignupBlockIdSchema = z61.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
35499
|
+
var signedNewsletterDestinationRefSchema = z61.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
35500
|
+
var newsletterPublicDestinationRefSchema = z61.discriminatedUnion("tag", [
|
|
35501
|
+
z61.object({
|
|
35502
|
+
tag: z61.literal("block_ref"),
|
|
35213
35503
|
blockId: newsletterSignupBlockIdSchema
|
|
35214
35504
|
}),
|
|
35215
|
-
|
|
35216
|
-
tag:
|
|
35505
|
+
z61.object({
|
|
35506
|
+
tag: z61.literal("signed_destination_ref"),
|
|
35217
35507
|
token: signedNewsletterDestinationRefSchema
|
|
35218
35508
|
})
|
|
35219
35509
|
]);
|
|
35220
|
-
var newsletterSourceSchema =
|
|
35221
|
-
blockId:
|
|
35222
|
-
siteId:
|
|
35223
|
-
apiBaseUrl:
|
|
35224
|
-
listId:
|
|
35510
|
+
var newsletterSourceSchema = z61.object({
|
|
35511
|
+
blockId: z61.string().nullable().optional(),
|
|
35512
|
+
siteId: z61.string().optional(),
|
|
35513
|
+
apiBaseUrl: z61.string().optional(),
|
|
35514
|
+
listId: z61.string().nullable().optional(),
|
|
35225
35515
|
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
35226
35516
|
preset: newsletterPresetSchema.optional(),
|
|
35227
|
-
includePhone:
|
|
35228
|
-
buttonLabel:
|
|
35229
|
-
successMessage:
|
|
35230
|
-
privacyNote:
|
|
35231
|
-
tags:
|
|
35232
|
-
spamProtectionEnabled:
|
|
35233
|
-
className:
|
|
35234
|
-
});
|
|
35235
|
-
var newsletterDisplaySchema =
|
|
35236
|
-
kind:
|
|
35237
|
-
className:
|
|
35238
|
-
buttonLabel:
|
|
35239
|
-
successMessage:
|
|
35240
|
-
privacyNote:
|
|
35241
|
-
fields:
|
|
35242
|
-
});
|
|
35243
|
-
var newsletterHydrationSchema =
|
|
35517
|
+
includePhone: z61.boolean().optional(),
|
|
35518
|
+
buttonLabel: z61.string().nullable().optional(),
|
|
35519
|
+
successMessage: z61.string().nullable().optional(),
|
|
35520
|
+
privacyNote: z61.string().nullable().optional(),
|
|
35521
|
+
tags: z61.string().nullable().optional(),
|
|
35522
|
+
spamProtectionEnabled: z61.boolean().optional(),
|
|
35523
|
+
className: z61.string().nullable().optional()
|
|
35524
|
+
});
|
|
35525
|
+
var newsletterDisplaySchema = z61.object({
|
|
35526
|
+
kind: z61.literal("newsletter-form"),
|
|
35527
|
+
className: z61.string().nullable(),
|
|
35528
|
+
buttonLabel: z61.string(),
|
|
35529
|
+
successMessage: z61.string().nullable(),
|
|
35530
|
+
privacyNote: z61.string().nullable(),
|
|
35531
|
+
fields: z61.array(newsletterFieldSchema)
|
|
35532
|
+
});
|
|
35533
|
+
var newsletterHydrationSchema = z61.object({
|
|
35244
35534
|
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
35245
|
-
listId:
|
|
35535
|
+
listId: z61.string().nullable().optional(),
|
|
35246
35536
|
preset: newsletterPresetSchema,
|
|
35247
|
-
includePhone:
|
|
35248
|
-
tags:
|
|
35249
|
-
spamProtectionEnabled:
|
|
35537
|
+
includePhone: z61.boolean(),
|
|
35538
|
+
tags: z61.string().nullable().optional(),
|
|
35539
|
+
spamProtectionEnabled: z61.boolean().optional()
|
|
35250
35540
|
});
|
|
35251
|
-
var newsletterRenderSchema =
|
|
35541
|
+
var newsletterRenderSchema = z61.object({
|
|
35252
35542
|
display: newsletterDisplaySchema,
|
|
35253
35543
|
hydration: newsletterHydrationSchema
|
|
35254
35544
|
});
|
|
35255
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
35256
|
-
siteId:
|
|
35257
|
-
apiBaseUrl:
|
|
35545
|
+
var newsletterIslandMetaCodec = createZodCodec(z61.object({
|
|
35546
|
+
siteId: z61.string().optional(),
|
|
35547
|
+
apiBaseUrl: z61.string().optional()
|
|
35258
35548
|
}));
|
|
35259
35549
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
35260
35550
|
function buildNewsletterDisplay(source) {
|
|
@@ -35393,23 +35683,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
35393
35683
|
};
|
|
35394
35684
|
|
|
35395
35685
|
// ../blocks/src/system/blocks/team-members.ts
|
|
35396
|
-
import { z as
|
|
35686
|
+
import { z as z62 } from "zod";
|
|
35397
35687
|
var ITEM_NAME2 = "member";
|
|
35398
35688
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
35399
35689
|
message: "Team member photos must be image media"
|
|
35400
35690
|
}).nullable();
|
|
35401
|
-
var teamMemberDataSchema =
|
|
35402
|
-
_type:
|
|
35403
|
-
id:
|
|
35404
|
-
name:
|
|
35405
|
-
role:
|
|
35406
|
-
roleLabel:
|
|
35407
|
-
bio:
|
|
35408
|
-
summary:
|
|
35691
|
+
var teamMemberDataSchema = z62.object({
|
|
35692
|
+
_type: z62.literal("teamMember"),
|
|
35693
|
+
id: z62.string(),
|
|
35694
|
+
name: z62.string(),
|
|
35695
|
+
role: z62.string().nullable(),
|
|
35696
|
+
roleLabel: z62.string().nullable(),
|
|
35697
|
+
bio: z62.string().nullable(),
|
|
35698
|
+
summary: z62.string().nullable(),
|
|
35409
35699
|
photo: teamMemberPhotoSchema,
|
|
35410
|
-
profilePath:
|
|
35700
|
+
profilePath: z62.string().nullable()
|
|
35411
35701
|
});
|
|
35412
|
-
var teamMembersDataSchema =
|
|
35702
|
+
var teamMembersDataSchema = z62.array(teamMemberDataSchema);
|
|
35413
35703
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
35414
35704
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
35415
35705
|
var headingNode = text(
|
|
@@ -36515,6 +36805,10 @@ var systemBlockDefinitionsRaw = [
|
|
|
36515
36805
|
flow: conversionFlow,
|
|
36516
36806
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
36517
36807
|
})),
|
|
36808
|
+
withDesignCapability("block.weekly-slot-availability", weeklySlotAvailabilityBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
36809
|
+
flow: offeringsFlow,
|
|
36810
|
+
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
36811
|
+
})),
|
|
36518
36812
|
withDesignCapability("block.event-registration", eventRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
36519
36813
|
flow: conversionFlow,
|
|
36520
36814
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
@@ -38093,34 +38387,34 @@ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
|
38093
38387
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
38094
38388
|
|
|
38095
38389
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
38096
|
-
import { z as
|
|
38097
|
-
var themeBridgeConfigSchema =
|
|
38098
|
-
tokens:
|
|
38099
|
-
typography:
|
|
38100
|
-
headingFamily:
|
|
38101
|
-
bodyFamily:
|
|
38102
|
-
headingWeight:
|
|
38103
|
-
bodyWeight:
|
|
38390
|
+
import { z as z63 } from "zod";
|
|
38391
|
+
var themeBridgeConfigSchema = z63.object({
|
|
38392
|
+
tokens: z63.record(z63.string(), z63.string()),
|
|
38393
|
+
typography: z63.object({
|
|
38394
|
+
headingFamily: z63.string().optional(),
|
|
38395
|
+
bodyFamily: z63.string().optional(),
|
|
38396
|
+
headingWeight: z63.number().optional(),
|
|
38397
|
+
bodyWeight: z63.number().optional()
|
|
38104
38398
|
}).optional(),
|
|
38105
|
-
spacing:
|
|
38106
|
-
corners:
|
|
38107
|
-
shadows:
|
|
38108
|
-
components:
|
|
38109
|
-
buttons:
|
|
38110
|
-
|
|
38111
|
-
|
|
38112
|
-
variants:
|
|
38399
|
+
spacing: z63.enum(["comfortable", "standard", "dense"]).optional(),
|
|
38400
|
+
corners: z63.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
38401
|
+
shadows: z63.enum(["none", "low", "medium", "high"]).optional(),
|
|
38402
|
+
components: z63.object({
|
|
38403
|
+
buttons: z63.union([
|
|
38404
|
+
z63.boolean(),
|
|
38405
|
+
z63.object({
|
|
38406
|
+
variants: z63.array(z63.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
38113
38407
|
})
|
|
38114
38408
|
]).optional(),
|
|
38115
|
-
cards:
|
|
38116
|
-
|
|
38117
|
-
|
|
38118
|
-
variants:
|
|
38409
|
+
cards: z63.union([
|
|
38410
|
+
z63.boolean(),
|
|
38411
|
+
z63.object({
|
|
38412
|
+
variants: z63.array(z63.enum(["default", "elevated", "outlined"])).optional()
|
|
38119
38413
|
})
|
|
38120
38414
|
]).optional(),
|
|
38121
|
-
inputs:
|
|
38415
|
+
inputs: z63.boolean().optional()
|
|
38122
38416
|
}).optional(),
|
|
38123
|
-
overrides:
|
|
38417
|
+
overrides: z63.record(z63.string(), z63.string()).optional()
|
|
38124
38418
|
}).passthrough();
|
|
38125
38419
|
|
|
38126
38420
|
// ../theme-core/src/siteChrome.tsx
|
|
@@ -38139,24 +38433,25 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
38139
38433
|
"listPublicPasses",
|
|
38140
38434
|
"listPublicMemberships",
|
|
38141
38435
|
"getPublicFormById",
|
|
38142
|
-
"getPublicBookingServices"
|
|
38436
|
+
"getPublicBookingServices",
|
|
38437
|
+
"getPublicWeeklySlotAvailability"
|
|
38143
38438
|
];
|
|
38144
38439
|
|
|
38145
38440
|
// ../api/src/sdkConfig/contracts.ts
|
|
38146
38441
|
function unsafeRetypeZodSchema(schema) {
|
|
38147
38442
|
return schema;
|
|
38148
38443
|
}
|
|
38149
|
-
var navIdListSchema =
|
|
38444
|
+
var navIdListSchema = z64.preprocess((value) => {
|
|
38150
38445
|
if (!Array.isArray(value)) return void 0;
|
|
38151
38446
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
38152
38447
|
return filtered.length > 0 ? filtered : void 0;
|
|
38153
|
-
},
|
|
38154
|
-
var dashboardNavVisibilityBaseSchema =
|
|
38155
|
-
mode:
|
|
38448
|
+
}, z64.array(z64.string()).max(200).optional());
|
|
38449
|
+
var dashboardNavVisibilityBaseSchema = z64.object({
|
|
38450
|
+
mode: z64.enum(["augment", "restrict"]).optional(),
|
|
38156
38451
|
allowIds: navIdListSchema,
|
|
38157
38452
|
denyIds: navIdListSchema
|
|
38158
38453
|
}).strip();
|
|
38159
|
-
var dashboardNavVisibilityRolesSchema =
|
|
38454
|
+
var dashboardNavVisibilityRolesSchema = z64.object({
|
|
38160
38455
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
38161
38456
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
38162
38457
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -38164,63 +38459,63 @@ var dashboardNavVisibilityRolesSchema = z63.object({
|
|
|
38164
38459
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
38165
38460
|
roles: dashboardNavVisibilityRolesSchema
|
|
38166
38461
|
}).strip();
|
|
38167
|
-
var dashboardNavigationConfigSchema =
|
|
38462
|
+
var dashboardNavigationConfigSchema = z64.object({
|
|
38168
38463
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
38169
38464
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
38170
38465
|
}).strip();
|
|
38171
|
-
var dashboardConfigSchema =
|
|
38172
|
-
previewEditingEnabled:
|
|
38466
|
+
var dashboardConfigSchema = z64.object({
|
|
38467
|
+
previewEditingEnabled: z64.boolean().optional(),
|
|
38173
38468
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
38174
38469
|
}).strip();
|
|
38175
38470
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
38176
38471
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
38177
|
-
var sdkLoaderEndpointSchema =
|
|
38178
|
-
var loaderFallbackScalarSchema =
|
|
38179
|
-
|
|
38180
|
-
|
|
38181
|
-
|
|
38182
|
-
|
|
38472
|
+
var sdkLoaderEndpointSchema = z64.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
38473
|
+
var loaderFallbackScalarSchema = z64.union([
|
|
38474
|
+
z64.string(),
|
|
38475
|
+
z64.number(),
|
|
38476
|
+
z64.boolean(),
|
|
38477
|
+
z64.null()
|
|
38183
38478
|
]);
|
|
38184
|
-
var loaderParamBindingSchema =
|
|
38185
|
-
$bind:
|
|
38186
|
-
from:
|
|
38479
|
+
var loaderParamBindingSchema = z64.object({
|
|
38480
|
+
$bind: z64.object({
|
|
38481
|
+
from: z64.string().min(1, "Binding path is required"),
|
|
38187
38482
|
fallback: loaderFallbackScalarSchema.optional()
|
|
38188
38483
|
})
|
|
38189
38484
|
});
|
|
38190
|
-
var loaderParamValueSchema =
|
|
38191
|
-
|
|
38192
|
-
|
|
38193
|
-
|
|
38485
|
+
var loaderParamValueSchema = z64.union([
|
|
38486
|
+
z64.string(),
|
|
38487
|
+
z64.number(),
|
|
38488
|
+
z64.boolean(),
|
|
38194
38489
|
loaderParamBindingSchema
|
|
38195
38490
|
]);
|
|
38196
|
-
var sdkConfigLoaderSchema =
|
|
38491
|
+
var sdkConfigLoaderSchema = z64.object({
|
|
38197
38492
|
endpoint: sdkLoaderEndpointSchema,
|
|
38198
|
-
params:
|
|
38199
|
-
mode:
|
|
38493
|
+
params: z64.record(z64.string(), loaderParamValueSchema),
|
|
38494
|
+
mode: z64.enum(["server", "client"]).default("server")
|
|
38200
38495
|
});
|
|
38201
|
-
var sdkDataLoadersSchema =
|
|
38202
|
-
var sdkCustomBlockIdSchema =
|
|
38496
|
+
var sdkDataLoadersSchema = z64.record(z64.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
38497
|
+
var sdkCustomBlockIdSchema = z64.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
38203
38498
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
38204
38499
|
}).transform((value) => value);
|
|
38205
|
-
var sdkCustomBlockInputSchema =
|
|
38500
|
+
var sdkCustomBlockInputSchema = z64.object({
|
|
38206
38501
|
id: sdkCustomBlockIdSchema,
|
|
38207
|
-
title:
|
|
38208
|
-
titleSource:
|
|
38209
|
-
description:
|
|
38502
|
+
title: z64.string().min(1),
|
|
38503
|
+
titleSource: z64.union([z64.string().min(1), z64.array(z64.string().min(1)).min(1)]).optional(),
|
|
38504
|
+
description: z64.string().optional(),
|
|
38210
38505
|
category: blockCategoryEnum,
|
|
38211
|
-
icon:
|
|
38212
|
-
tags:
|
|
38506
|
+
icon: z64.string().optional(),
|
|
38507
|
+
tags: z64.array(z64.string()).optional(),
|
|
38213
38508
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
38214
38509
|
dataLoaders: sdkDataLoadersSchema,
|
|
38215
38510
|
layout: NodeSchema.optional(),
|
|
38216
|
-
variants:
|
|
38217
|
-
defaultVariant:
|
|
38218
|
-
variantOptions:
|
|
38219
|
-
|
|
38220
|
-
|
|
38221
|
-
label:
|
|
38222
|
-
description:
|
|
38223
|
-
icon:
|
|
38511
|
+
variants: z64.record(z64.string().min(1), NodeSchema).optional(),
|
|
38512
|
+
defaultVariant: z64.string().min(1).optional(),
|
|
38513
|
+
variantOptions: z64.record(
|
|
38514
|
+
z64.string().min(1),
|
|
38515
|
+
z64.object({
|
|
38516
|
+
label: z64.string().min(1).optional(),
|
|
38517
|
+
description: z64.string().min(1).optional(),
|
|
38518
|
+
icon: z64.string().min(1).optional()
|
|
38224
38519
|
})
|
|
38225
38520
|
).optional(),
|
|
38226
38521
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -38231,7 +38526,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38231
38526
|
const exists = data.fields.some((field) => field.id === source);
|
|
38232
38527
|
if (!exists) {
|
|
38233
38528
|
ctx.addIssue({
|
|
38234
|
-
code:
|
|
38529
|
+
code: z64.ZodIssueCode.custom,
|
|
38235
38530
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
38236
38531
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
38237
38532
|
});
|
|
@@ -38240,7 +38535,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38240
38535
|
}
|
|
38241
38536
|
if (data.layout && data.variants) {
|
|
38242
38537
|
ctx.addIssue({
|
|
38243
|
-
code:
|
|
38538
|
+
code: z64.ZodIssueCode.custom,
|
|
38244
38539
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
38245
38540
|
path: ["variants"]
|
|
38246
38541
|
});
|
|
@@ -38249,14 +38544,14 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38249
38544
|
const keys = Object.keys(data.variants);
|
|
38250
38545
|
if (keys.length === 0) {
|
|
38251
38546
|
ctx.addIssue({
|
|
38252
|
-
code:
|
|
38547
|
+
code: z64.ZodIssueCode.custom,
|
|
38253
38548
|
message: "`variants` must contain at least one variant key",
|
|
38254
38549
|
path: ["variants"]
|
|
38255
38550
|
});
|
|
38256
38551
|
}
|
|
38257
38552
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
38258
38553
|
ctx.addIssue({
|
|
38259
|
-
code:
|
|
38554
|
+
code: z64.ZodIssueCode.custom,
|
|
38260
38555
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
38261
38556
|
path: ["defaultVariant"]
|
|
38262
38557
|
});
|
|
@@ -38265,7 +38560,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38265
38560
|
for (const key of Object.keys(data.variantOptions)) {
|
|
38266
38561
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
38267
38562
|
ctx.addIssue({
|
|
38268
|
-
code:
|
|
38563
|
+
code: z64.ZodIssueCode.custom,
|
|
38269
38564
|
message: "`variantOptions` key must exist in `variants`",
|
|
38270
38565
|
path: ["variantOptions", key]
|
|
38271
38566
|
});
|
|
@@ -38274,78 +38569,78 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38274
38569
|
}
|
|
38275
38570
|
}
|
|
38276
38571
|
});
|
|
38277
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38572
|
+
var sdkBlockFieldExtensionInputSchema = z64.object({
|
|
38278
38573
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
38279
38574
|
});
|
|
38280
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
38281
|
-
|
|
38575
|
+
var sdkBlockFieldExtensionsInputSchema = z64.record(
|
|
38576
|
+
z64.string().min(1),
|
|
38282
38577
|
sdkBlockFieldExtensionInputSchema
|
|
38283
38578
|
);
|
|
38284
|
-
var sdkThemePaletteSchema =
|
|
38285
|
-
var sdkThemeConfigSchema =
|
|
38579
|
+
var sdkThemePaletteSchema = z64.record(z64.string(), z64.string());
|
|
38580
|
+
var sdkThemeConfigSchema = z64.object({
|
|
38286
38581
|
palette: sdkThemePaletteSchema
|
|
38287
38582
|
});
|
|
38288
|
-
var sdkSectionBackgroundSchema =
|
|
38289
|
-
id:
|
|
38290
|
-
label:
|
|
38291
|
-
token:
|
|
38583
|
+
var sdkSectionBackgroundSchema = z64.object({
|
|
38584
|
+
id: z64.string().min(1),
|
|
38585
|
+
label: z64.string().min(1),
|
|
38586
|
+
token: z64.string().min(1)
|
|
38292
38587
|
});
|
|
38293
|
-
var sdkSectionOptionsConfigSchema =
|
|
38294
|
-
backgroundColor:
|
|
38295
|
-
backgroundImage:
|
|
38296
|
-
backgroundGradient:
|
|
38297
|
-
spacing:
|
|
38298
|
-
textColor:
|
|
38588
|
+
var sdkSectionOptionsConfigSchema = z64.object({
|
|
38589
|
+
backgroundColor: z64.boolean().optional(),
|
|
38590
|
+
backgroundImage: z64.boolean().optional(),
|
|
38591
|
+
backgroundGradient: z64.boolean().optional(),
|
|
38592
|
+
spacing: z64.union([z64.array(z64.enum(["compact", "default", "spacious"])), z64.boolean()]).optional(),
|
|
38593
|
+
textColor: z64.boolean().optional()
|
|
38299
38594
|
});
|
|
38300
|
-
var sdkContainerOptionsConfigSchema =
|
|
38301
|
-
maxWidth:
|
|
38302
|
-
alignment:
|
|
38595
|
+
var sdkContainerOptionsConfigSchema = z64.object({
|
|
38596
|
+
maxWidth: z64.union([z64.array(z64.enum(["narrow", "default", "wide", "full"])), z64.boolean()]).optional(),
|
|
38597
|
+
alignment: z64.union([z64.array(z64.enum(["left", "center", "right"])), z64.boolean()]).optional()
|
|
38303
38598
|
});
|
|
38304
|
-
var sdkSiteStyleConfigSchema =
|
|
38305
|
-
sectionBackgrounds:
|
|
38599
|
+
var sdkSiteStyleConfigSchema = z64.object({
|
|
38600
|
+
sectionBackgrounds: z64.array(sdkSectionBackgroundSchema).optional(),
|
|
38306
38601
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
38307
38602
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
38308
38603
|
});
|
|
38309
|
-
var sdkSiteLayoutConfigSchema =
|
|
38310
|
-
footerBlocks:
|
|
38311
|
-
|
|
38312
|
-
id:
|
|
38313
|
-
kind:
|
|
38314
|
-
content:
|
|
38604
|
+
var sdkSiteLayoutConfigSchema = z64.object({
|
|
38605
|
+
footerBlocks: z64.array(
|
|
38606
|
+
z64.object({
|
|
38607
|
+
id: z64.string().min(1).optional(),
|
|
38608
|
+
kind: z64.string().min(1),
|
|
38609
|
+
content: z64.record(z64.string(), z64.unknown()).optional()
|
|
38315
38610
|
})
|
|
38316
38611
|
).optional()
|
|
38317
38612
|
});
|
|
38318
|
-
var sdkFieldSelectOptionSchema =
|
|
38319
|
-
value:
|
|
38320
|
-
label:
|
|
38613
|
+
var sdkFieldSelectOptionSchema = z64.object({
|
|
38614
|
+
value: z64.string(),
|
|
38615
|
+
label: z64.string()
|
|
38321
38616
|
});
|
|
38322
|
-
var sdkBlockFieldConfigSchema =
|
|
38323
|
-
options:
|
|
38617
|
+
var sdkBlockFieldConfigSchema = z64.object({
|
|
38618
|
+
options: z64.array(sdkFieldSelectOptionSchema).optional()
|
|
38324
38619
|
});
|
|
38325
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
38326
|
-
|
|
38620
|
+
var sdkBlockFieldOptionsMapSchema = z64.record(
|
|
38621
|
+
z64.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
38327
38622
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
38328
38623
|
}),
|
|
38329
|
-
|
|
38624
|
+
z64.record(z64.string().min(1), sdkBlockFieldConfigSchema)
|
|
38330
38625
|
).optional();
|
|
38331
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
38332
|
-
blocks:
|
|
38626
|
+
var sdkContentTypeTemplateConfigSchema = z64.object({
|
|
38627
|
+
blocks: z64.array(z64.unknown())
|
|
38333
38628
|
}).passthrough();
|
|
38334
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
38335
|
-
mode:
|
|
38629
|
+
var sdkContentTypeOrderingConfigSchema = z64.object({
|
|
38630
|
+
mode: z64.enum(["default", "manual"]).optional()
|
|
38336
38631
|
}).optional();
|
|
38337
|
-
var sdkContentTypeConfigSchema =
|
|
38338
|
-
key:
|
|
38339
|
-
fields:
|
|
38632
|
+
var sdkContentTypeConfigSchema = z64.object({
|
|
38633
|
+
key: z64.string().min(1),
|
|
38634
|
+
fields: z64.array(z64.unknown()),
|
|
38340
38635
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
38341
38636
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
38342
38637
|
}).passthrough();
|
|
38343
|
-
var sdkContentConfigSchema =
|
|
38344
|
-
contentTypes:
|
|
38345
|
-
pages:
|
|
38346
|
-
entries:
|
|
38347
|
-
navigationMenus:
|
|
38348
|
-
settings:
|
|
38638
|
+
var sdkContentConfigSchema = z64.object({
|
|
38639
|
+
contentTypes: z64.array(sdkContentTypeConfigSchema).optional(),
|
|
38640
|
+
pages: z64.array(z64.unknown()).optional(),
|
|
38641
|
+
entries: z64.array(z64.unknown()).optional(),
|
|
38642
|
+
navigationMenus: z64.array(z64.unknown()).optional(),
|
|
38643
|
+
settings: z64.unknown().optional()
|
|
38349
38644
|
}).passthrough();
|
|
38350
38645
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
38351
38646
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -38360,62 +38655,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
38360
38655
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
38361
38656
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
38362
38657
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
38363
|
-
var sdkWorkflowIdSchema =
|
|
38658
|
+
var sdkWorkflowIdSchema = z64.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
38364
38659
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
38365
38660
|
});
|
|
38366
|
-
var sdkWorkflowEndpointSchema =
|
|
38367
|
-
var sdkWorkflowManualTriggerSchema =
|
|
38368
|
-
type:
|
|
38661
|
+
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 "/"' });
|
|
38662
|
+
var sdkWorkflowManualTriggerSchema = z64.object({
|
|
38663
|
+
type: z64.literal("manual")
|
|
38369
38664
|
}).strict();
|
|
38370
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38665
|
+
var sdkWorkflowTriggerFieldSchema = z64.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
38371
38666
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
38372
38667
|
});
|
|
38373
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38668
|
+
var sdkWorkflowFieldChangedConditionSchema = z64.object({
|
|
38374
38669
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38375
|
-
changed:
|
|
38670
|
+
changed: z64.literal(true)
|
|
38376
38671
|
}).strict();
|
|
38377
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38672
|
+
var sdkWorkflowFieldEmptyConditionSchema = z64.object({
|
|
38378
38673
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38379
|
-
isEmpty:
|
|
38674
|
+
isEmpty: z64.boolean()
|
|
38380
38675
|
}).strict();
|
|
38381
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
38382
|
-
type:
|
|
38383
|
-
when:
|
|
38384
|
-
|
|
38676
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z64.object({
|
|
38677
|
+
type: z64.literal("entry.draft.updated"),
|
|
38678
|
+
when: z64.array(
|
|
38679
|
+
z64.union([
|
|
38385
38680
|
sdkWorkflowFieldChangedConditionSchema,
|
|
38386
38681
|
sdkWorkflowFieldEmptyConditionSchema
|
|
38387
38682
|
])
|
|
38388
38683
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
38389
38684
|
}).strict();
|
|
38390
|
-
var sdkWorkflowTriggerSchema =
|
|
38685
|
+
var sdkWorkflowTriggerSchema = z64.discriminatedUnion("type", [
|
|
38391
38686
|
sdkWorkflowManualTriggerSchema,
|
|
38392
38687
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
38393
38688
|
]);
|
|
38394
|
-
var sdkWorkflowConfirmationSchema =
|
|
38395
|
-
title:
|
|
38396
|
-
body:
|
|
38689
|
+
var sdkWorkflowConfirmationSchema = z64.object({
|
|
38690
|
+
title: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
38691
|
+
body: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
38397
38692
|
}).strict();
|
|
38398
|
-
var sdkWorkflowConfigSchema =
|
|
38693
|
+
var sdkWorkflowConfigSchema = z64.object({
|
|
38399
38694
|
id: sdkWorkflowIdSchema,
|
|
38400
|
-
title:
|
|
38401
|
-
description:
|
|
38402
|
-
contentType:
|
|
38695
|
+
title: z64.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
38696
|
+
description: z64.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
38697
|
+
contentType: z64.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
38403
38698
|
endpoint: sdkWorkflowEndpointSchema,
|
|
38404
|
-
triggers:
|
|
38699
|
+
triggers: z64.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
38405
38700
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
38406
38701
|
}).strict();
|
|
38407
|
-
var sdkWorkflowsSchema =
|
|
38702
|
+
var sdkWorkflowsSchema = z64.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
38408
38703
|
const ids = workflows.map((workflow) => workflow.id);
|
|
38409
38704
|
return ids.length === new Set(ids).size;
|
|
38410
38705
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
38411
|
-
var riverbankSiteConfigInputSchema =
|
|
38412
|
-
siteId:
|
|
38413
|
-
previewUrl:
|
|
38414
|
-
liveUrl:
|
|
38706
|
+
var riverbankSiteConfigInputSchema = z64.object({
|
|
38707
|
+
siteId: z64.string().uuid(),
|
|
38708
|
+
previewUrl: z64.string().url().optional(),
|
|
38709
|
+
liveUrl: z64.string().url().optional(),
|
|
38415
38710
|
theme: sdkThemeConfigSchema.optional(),
|
|
38416
38711
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
38417
38712
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
38418
|
-
customBlocks:
|
|
38713
|
+
customBlocks: z64.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
38419
38714
|
const ids = blocks.map((b) => b.id);
|
|
38420
38715
|
return ids.length === new Set(ids).size;
|
|
38421
38716
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -38423,50 +38718,51 @@ var riverbankSiteConfigInputSchema = z63.object({
|
|
|
38423
38718
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
38424
38719
|
workflows: sdkWorkflowsSchema,
|
|
38425
38720
|
content: sdkContentConfigSchema.optional(),
|
|
38426
|
-
contentDir:
|
|
38427
|
-
sync:
|
|
38428
|
-
existingEntries:
|
|
38721
|
+
contentDir: z64.string().optional(),
|
|
38722
|
+
sync: z64.object({
|
|
38723
|
+
existingEntries: z64.enum(["skip", "update"]).optional()
|
|
38429
38724
|
}).optional(),
|
|
38430
|
-
deploy:
|
|
38431
|
-
verifyCommand:
|
|
38432
|
-
prebuildOutput:
|
|
38725
|
+
deploy: z64.object({
|
|
38726
|
+
verifyCommand: z64.string().optional(),
|
|
38727
|
+
prebuildOutput: z64.string().optional()
|
|
38433
38728
|
}).optional(),
|
|
38434
|
-
themeSource:
|
|
38435
|
-
activeTheme:
|
|
38436
|
-
enablePortal:
|
|
38729
|
+
themeSource: z64.enum(["local", "cms"]).optional(),
|
|
38730
|
+
activeTheme: z64.string().optional(),
|
|
38731
|
+
enablePortal: z64.boolean().optional(),
|
|
38437
38732
|
dashboard: dashboardConfigSchema.optional()
|
|
38438
38733
|
}).strict();
|
|
38439
|
-
var pushSdkConfigBodySchema =
|
|
38734
|
+
var pushSdkConfigBodySchema = z64.object({
|
|
38440
38735
|
config: riverbankSiteConfigInputSchema,
|
|
38441
|
-
forceContentTypes:
|
|
38736
|
+
forceContentTypes: z64.boolean().optional(),
|
|
38737
|
+
mode: z64.enum(["apply", "preview"]).optional()
|
|
38442
38738
|
}).strict();
|
|
38443
38739
|
|
|
38444
38740
|
// ../api/src/siteOnboarding.ts
|
|
38445
|
-
import { z as
|
|
38741
|
+
import { z as z65 } from "zod";
|
|
38446
38742
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
38447
38743
|
configure_appointments: {
|
|
38448
38744
|
requirementId: "configure_appointments",
|
|
38449
38745
|
reason: "launch_anyway"
|
|
38450
38746
|
}
|
|
38451
38747
|
};
|
|
38452
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38748
|
+
var acknowledgeLaunchRequirementRequestSchema = z65.discriminatedUnion(
|
|
38453
38749
|
"requirementId",
|
|
38454
38750
|
[
|
|
38455
|
-
|
|
38456
|
-
requirementId:
|
|
38751
|
+
z65.object({
|
|
38752
|
+
requirementId: z65.literal("review_generated_site")
|
|
38457
38753
|
}),
|
|
38458
|
-
|
|
38459
|
-
requirementId:
|
|
38754
|
+
z65.object({
|
|
38755
|
+
requirementId: z65.literal(
|
|
38460
38756
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
38461
38757
|
),
|
|
38462
|
-
overrideReason:
|
|
38758
|
+
overrideReason: z65.literal(
|
|
38463
38759
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
38464
38760
|
)
|
|
38465
38761
|
})
|
|
38466
38762
|
]
|
|
38467
38763
|
);
|
|
38468
|
-
var goLiveSiteRequestSchema =
|
|
38469
|
-
acceptExtraSiteCharge:
|
|
38764
|
+
var goLiveSiteRequestSchema = z65.object({
|
|
38765
|
+
acceptExtraSiteCharge: z65.boolean().optional()
|
|
38470
38766
|
});
|
|
38471
38767
|
|
|
38472
38768
|
// ../surfaces/src/index.ts
|
|
@@ -38585,7 +38881,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
38585
38881
|
];
|
|
38586
38882
|
|
|
38587
38883
|
// ../api/src/bookingVerticals.ts
|
|
38588
|
-
import { z as
|
|
38884
|
+
import { z as z66 } from "zod";
|
|
38589
38885
|
var VERTICAL_IDS = [
|
|
38590
38886
|
"yoga_wellness",
|
|
38591
38887
|
"fitness_pt",
|
|
@@ -38750,39 +39046,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
38750
39046
|
}
|
|
38751
39047
|
return [...issues];
|
|
38752
39048
|
}
|
|
38753
|
-
var VerticalIdSchema =
|
|
39049
|
+
var VerticalIdSchema = z66.string().trim().transform((value, ctx) => {
|
|
38754
39050
|
const parsed = parseVerticalId(value);
|
|
38755
39051
|
if (!parsed) {
|
|
38756
39052
|
ctx.addIssue({
|
|
38757
|
-
code:
|
|
39053
|
+
code: z66.ZodIssueCode.custom,
|
|
38758
39054
|
message: "Unknown booking vertical"
|
|
38759
39055
|
});
|
|
38760
|
-
return
|
|
39056
|
+
return z66.NEVER;
|
|
38761
39057
|
}
|
|
38762
39058
|
return parsed;
|
|
38763
39059
|
});
|
|
38764
|
-
var VerticalPresetIdSchema =
|
|
39060
|
+
var VerticalPresetIdSchema = z66.string().trim().transform((value, ctx) => {
|
|
38765
39061
|
const parsed = parseVerticalPresetId(value);
|
|
38766
39062
|
if (!parsed) {
|
|
38767
39063
|
ctx.addIssue({
|
|
38768
|
-
code:
|
|
39064
|
+
code: z66.ZodIssueCode.custom,
|
|
38769
39065
|
message: "Unknown booking preset"
|
|
38770
39066
|
});
|
|
38771
|
-
return
|
|
39067
|
+
return z66.NEVER;
|
|
38772
39068
|
}
|
|
38773
39069
|
return parsed;
|
|
38774
39070
|
});
|
|
38775
|
-
var BookingVerticalConfigSchema =
|
|
39071
|
+
var BookingVerticalConfigSchema = z66.object({
|
|
38776
39072
|
verticalId: VerticalIdSchema.nullable(),
|
|
38777
|
-
selectedPresetIds:
|
|
39073
|
+
selectedPresetIds: z66.array(VerticalPresetIdSchema).max(20)
|
|
38778
39074
|
}).transform((value, ctx) => {
|
|
38779
39075
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
38780
39076
|
if (resolved.kind === "invalid") {
|
|
38781
39077
|
ctx.addIssue({
|
|
38782
|
-
code:
|
|
39078
|
+
code: z66.ZodIssueCode.custom,
|
|
38783
39079
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
38784
39080
|
});
|
|
38785
|
-
return
|
|
39081
|
+
return z66.NEVER;
|
|
38786
39082
|
}
|
|
38787
39083
|
return resolved.config;
|
|
38788
39084
|
});
|
|
@@ -38809,51 +39105,51 @@ function isRecord8(value) {
|
|
|
38809
39105
|
}
|
|
38810
39106
|
|
|
38811
39107
|
// ../api/src/appointmentSetup.ts
|
|
38812
|
-
import { z as
|
|
39108
|
+
import { z as z67 } from "zod";
|
|
38813
39109
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
38814
|
-
var appointmentSetupRefSchema =
|
|
38815
|
-
|
|
38816
|
-
|
|
39110
|
+
var appointmentSetupRefSchema = z67.discriminatedUnion("kind", [
|
|
39111
|
+
z67.object({ kind: z67.literal("existing"), id: z67.string().min(1) }),
|
|
39112
|
+
z67.object({ kind: z67.literal("new"), draftId: z67.string().min(1) })
|
|
38817
39113
|
]);
|
|
38818
|
-
var appointmentSetupVenueChoiceSchema =
|
|
38819
|
-
|
|
38820
|
-
|
|
38821
|
-
|
|
38822
|
-
kind:
|
|
38823
|
-
draftId:
|
|
38824
|
-
title:
|
|
38825
|
-
description:
|
|
38826
|
-
timezone:
|
|
38827
|
-
addressJson:
|
|
38828
|
-
locationJson:
|
|
39114
|
+
var appointmentSetupVenueChoiceSchema = z67.discriminatedUnion("kind", [
|
|
39115
|
+
z67.object({ kind: z67.literal("none") }),
|
|
39116
|
+
z67.object({ kind: z67.literal("existing"), venueId: z67.string().min(1) }),
|
|
39117
|
+
z67.object({
|
|
39118
|
+
kind: z67.literal("create"),
|
|
39119
|
+
draftId: z67.string().min(1),
|
|
39120
|
+
title: z67.string().trim().min(1),
|
|
39121
|
+
description: z67.string().nullable(),
|
|
39122
|
+
timezone: z67.string().trim().min(1).nullable(),
|
|
39123
|
+
addressJson: z67.record(z67.string(), z67.unknown()),
|
|
39124
|
+
locationJson: z67.object({ lat: z67.number(), lng: z67.number() }).nullable()
|
|
38829
39125
|
})
|
|
38830
39126
|
]);
|
|
38831
|
-
var appointmentSetupPaymentDraftSchema =
|
|
38832
|
-
priceType:
|
|
38833
|
-
});
|
|
38834
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
38835
|
-
|
|
38836
|
-
|
|
38837
|
-
kind:
|
|
38838
|
-
resourceRefs:
|
|
39127
|
+
var appointmentSetupPaymentDraftSchema = z67.object({
|
|
39128
|
+
priceType: z67.union([z67.literal("free"), z67.literal("paid")])
|
|
39129
|
+
});
|
|
39130
|
+
var appointmentSetupServiceAssignmentDraftSchema = z67.discriminatedUnion("kind", [
|
|
39131
|
+
z67.object({ kind: z67.literal("all_practitioners") }),
|
|
39132
|
+
z67.object({
|
|
39133
|
+
kind: z67.literal("selected_practitioners"),
|
|
39134
|
+
resourceRefs: z67.array(appointmentSetupRefSchema)
|
|
38839
39135
|
})
|
|
38840
39136
|
]);
|
|
38841
|
-
var appointmentSetupServiceDraftSchema =
|
|
39137
|
+
var appointmentSetupServiceDraftSchema = z67.object({
|
|
38842
39138
|
ref: appointmentSetupRefSchema,
|
|
38843
|
-
title:
|
|
38844
|
-
description:
|
|
38845
|
-
durationMinutes:
|
|
38846
|
-
prepMinutes:
|
|
38847
|
-
cleanupMinutes:
|
|
38848
|
-
priceAmount:
|
|
38849
|
-
isActive:
|
|
38850
|
-
locationType:
|
|
38851
|
-
|
|
38852
|
-
|
|
38853
|
-
|
|
39139
|
+
title: z67.string().trim().min(1),
|
|
39140
|
+
description: z67.string().nullable(),
|
|
39141
|
+
durationMinutes: z67.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
39142
|
+
prepMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
39143
|
+
cleanupMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
39144
|
+
priceAmount: z67.number().int().nonnegative().nullable(),
|
|
39145
|
+
isActive: z67.boolean(),
|
|
39146
|
+
locationType: z67.union([
|
|
39147
|
+
z67.literal("virtual"),
|
|
39148
|
+
z67.literal("in_person"),
|
|
39149
|
+
z67.literal("hybrid")
|
|
38854
39150
|
]),
|
|
38855
39151
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38856
|
-
timezone:
|
|
39152
|
+
timezone: z67.string().trim().min(1).nullable(),
|
|
38857
39153
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38858
39154
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
38859
39155
|
}).superRefine((service, ctx) => {
|
|
@@ -38872,49 +39168,49 @@ var appointmentSetupServiceDraftSchema = z66.object({
|
|
|
38872
39168
|
});
|
|
38873
39169
|
}
|
|
38874
39170
|
});
|
|
38875
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
39171
|
+
var appointmentSetupPractitionerDraftSchema = z67.object({
|
|
38876
39172
|
ref: appointmentSetupRefSchema,
|
|
38877
|
-
displayName:
|
|
38878
|
-
bio:
|
|
38879
|
-
timezone:
|
|
38880
|
-
colorHex:
|
|
38881
|
-
});
|
|
38882
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
38883
|
-
weekday:
|
|
38884
|
-
startTime:
|
|
38885
|
-
endTime:
|
|
38886
|
-
});
|
|
38887
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
38888
|
-
|
|
38889
|
-
|
|
38890
|
-
kind:
|
|
38891
|
-
intervalMinutes:
|
|
38892
|
-
|
|
38893
|
-
|
|
38894
|
-
|
|
38895
|
-
|
|
38896
|
-
|
|
38897
|
-
|
|
39173
|
+
displayName: z67.string().trim().min(1),
|
|
39174
|
+
bio: z67.string().nullable(),
|
|
39175
|
+
timezone: z67.string().trim().min(1),
|
|
39176
|
+
colorHex: z67.string().nullable()
|
|
39177
|
+
});
|
|
39178
|
+
var appointmentSetupWeeklyWindowDraftSchema = z67.object({
|
|
39179
|
+
weekday: z67.number().int().min(0).max(6),
|
|
39180
|
+
startTime: z67.string(),
|
|
39181
|
+
endTime: z67.string()
|
|
39182
|
+
});
|
|
39183
|
+
var appointmentSetupStartTimePolicyDraftSchema = z67.discriminatedUnion("kind", [
|
|
39184
|
+
z67.object({ kind: z67.literal("automatic_spacing") }),
|
|
39185
|
+
z67.object({
|
|
39186
|
+
kind: z67.literal("regular_interval"),
|
|
39187
|
+
intervalMinutes: z67.union([
|
|
39188
|
+
z67.literal(10),
|
|
39189
|
+
z67.literal(15),
|
|
39190
|
+
z67.literal(20),
|
|
39191
|
+
z67.literal(30),
|
|
39192
|
+
z67.literal(45),
|
|
39193
|
+
z67.literal(60)
|
|
38898
39194
|
])
|
|
38899
39195
|
})
|
|
38900
39196
|
]);
|
|
38901
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
38902
|
-
kind:
|
|
39197
|
+
var appointmentSetupAvailabilityDraftSchema = z67.object({
|
|
39198
|
+
kind: z67.literal("weekly_windows"),
|
|
38903
39199
|
resourceRef: appointmentSetupRefSchema,
|
|
38904
39200
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
38905
|
-
windows:
|
|
39201
|
+
windows: z67.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
38906
39202
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
38907
39203
|
});
|
|
38908
39204
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
38909
39205
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
38910
|
-
var appointmentSetupBookingNoticeSchema =
|
|
38911
|
-
minLeadMinutes:
|
|
38912
|
-
maxBookingNoticeMinutes:
|
|
38913
|
-
});
|
|
38914
|
-
var applyAppointmentSetupRequestSchema =
|
|
38915
|
-
services:
|
|
38916
|
-
practitioners:
|
|
38917
|
-
availability:
|
|
39206
|
+
var appointmentSetupBookingNoticeSchema = z67.object({
|
|
39207
|
+
minLeadMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
39208
|
+
maxBookingNoticeMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
39209
|
+
});
|
|
39210
|
+
var applyAppointmentSetupRequestSchema = z67.object({
|
|
39211
|
+
services: z67.array(appointmentSetupServiceDraftSchema),
|
|
39212
|
+
practitioners: z67.array(appointmentSetupPractitionerDraftSchema),
|
|
39213
|
+
availability: z67.array(appointmentSetupAvailabilityDraftSchema),
|
|
38918
39214
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
38919
39215
|
});
|
|
38920
39216
|
|
|
@@ -38947,24 +39243,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
38947
39243
|
];
|
|
38948
39244
|
|
|
38949
39245
|
// ../api/src/siteBanner.ts
|
|
38950
|
-
import { z as
|
|
39246
|
+
import { z as z68 } from "zod";
|
|
38951
39247
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
38952
39248
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
38953
39249
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
38954
39250
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
38955
|
-
var siteBannerScopeSchema =
|
|
38956
|
-
var siteBannerToneSchema =
|
|
38957
|
-
var siteBannerBodySchema =
|
|
38958
|
-
var siteBannerCtaSchema =
|
|
38959
|
-
label:
|
|
39251
|
+
var siteBannerScopeSchema = z68.enum(SITE_BANNER_SCOPE_VALUES);
|
|
39252
|
+
var siteBannerToneSchema = z68.enum(SITE_BANNER_TONE_VALUES);
|
|
39253
|
+
var siteBannerBodySchema = z68.unknown().transform(unwrapRichTextValue);
|
|
39254
|
+
var siteBannerCtaSchema = z68.object({
|
|
39255
|
+
label: z68.string().trim().min(1),
|
|
38960
39256
|
link: linkPayloadSchema
|
|
38961
39257
|
});
|
|
38962
|
-
var siteBannerSettingsSchema =
|
|
38963
|
-
|
|
38964
|
-
enabled:
|
|
39258
|
+
var siteBannerSettingsSchema = z68.discriminatedUnion("enabled", [
|
|
39259
|
+
z68.object({
|
|
39260
|
+
enabled: z68.literal(false)
|
|
38965
39261
|
}),
|
|
38966
|
-
|
|
38967
|
-
enabled:
|
|
39262
|
+
z68.object({
|
|
39263
|
+
enabled: z68.literal(true),
|
|
38968
39264
|
scope: siteBannerScopeSchema,
|
|
38969
39265
|
tone: siteBannerToneSchema,
|
|
38970
39266
|
body: siteBannerBodySchema,
|
|
@@ -38978,7 +39274,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38978
39274
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38979
39275
|
for (const issue of analysis.issues) {
|
|
38980
39276
|
ctx.addIssue({
|
|
38981
|
-
code:
|
|
39277
|
+
code: z68.ZodIssueCode.custom,
|
|
38982
39278
|
path: ["body"],
|
|
38983
39279
|
message: siteBannerBodyIssueMessage(issue)
|
|
38984
39280
|
});
|
|
@@ -39285,75 +39581,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
39285
39581
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
39286
39582
|
|
|
39287
39583
|
// ../api/src/aiPlayground.ts
|
|
39288
|
-
import { z as
|
|
39289
|
-
var Rfc6902PatchOp =
|
|
39584
|
+
import { z as z69 } from "zod";
|
|
39585
|
+
var Rfc6902PatchOp = z69.discriminatedUnion("op", [
|
|
39290
39586
|
// Standard RFC-6902 operations
|
|
39291
|
-
|
|
39292
|
-
op:
|
|
39293
|
-
path:
|
|
39294
|
-
value:
|
|
39587
|
+
z69.object({
|
|
39588
|
+
op: z69.literal("add"),
|
|
39589
|
+
path: z69.string(),
|
|
39590
|
+
value: z69.unknown()
|
|
39295
39591
|
}),
|
|
39296
|
-
|
|
39297
|
-
op:
|
|
39298
|
-
path:
|
|
39592
|
+
z69.object({
|
|
39593
|
+
op: z69.literal("remove"),
|
|
39594
|
+
path: z69.string()
|
|
39299
39595
|
}),
|
|
39300
|
-
|
|
39301
|
-
op:
|
|
39302
|
-
path:
|
|
39303
|
-
value:
|
|
39596
|
+
z69.object({
|
|
39597
|
+
op: z69.literal("replace"),
|
|
39598
|
+
path: z69.string(),
|
|
39599
|
+
value: z69.unknown()
|
|
39304
39600
|
}),
|
|
39305
|
-
|
|
39306
|
-
op:
|
|
39307
|
-
from:
|
|
39308
|
-
path:
|
|
39601
|
+
z69.object({
|
|
39602
|
+
op: z69.literal("move"),
|
|
39603
|
+
from: z69.string(),
|
|
39604
|
+
path: z69.string()
|
|
39309
39605
|
}),
|
|
39310
|
-
|
|
39311
|
-
op:
|
|
39312
|
-
from:
|
|
39313
|
-
path:
|
|
39606
|
+
z69.object({
|
|
39607
|
+
op: z69.literal("copy"),
|
|
39608
|
+
from: z69.string(),
|
|
39609
|
+
path: z69.string()
|
|
39314
39610
|
}),
|
|
39315
39611
|
// Block-level operations (Phase 2)
|
|
39316
|
-
|
|
39317
|
-
op:
|
|
39318
|
-
blockKind:
|
|
39319
|
-
afterBlockId:
|
|
39320
|
-
content:
|
|
39321
|
-
rationale:
|
|
39612
|
+
z69.object({
|
|
39613
|
+
op: z69.literal("add_block"),
|
|
39614
|
+
blockKind: z69.string(),
|
|
39615
|
+
afterBlockId: z69.string().nullable(),
|
|
39616
|
+
content: z69.record(z69.string(), z69.unknown()),
|
|
39617
|
+
rationale: z69.string()
|
|
39322
39618
|
}),
|
|
39323
|
-
|
|
39324
|
-
op:
|
|
39325
|
-
blockId:
|
|
39326
|
-
rationale:
|
|
39619
|
+
z69.object({
|
|
39620
|
+
op: z69.literal("delete_block"),
|
|
39621
|
+
blockId: z69.string(),
|
|
39622
|
+
rationale: z69.string()
|
|
39327
39623
|
}),
|
|
39328
|
-
|
|
39329
|
-
op:
|
|
39330
|
-
blockId:
|
|
39331
|
-
afterBlockId:
|
|
39332
|
-
rationale:
|
|
39624
|
+
z69.object({
|
|
39625
|
+
op: z69.literal("reorder_block"),
|
|
39626
|
+
blockId: z69.string(),
|
|
39627
|
+
afterBlockId: z69.string().nullable(),
|
|
39628
|
+
rationale: z69.string()
|
|
39333
39629
|
})
|
|
39334
39630
|
]);
|
|
39335
|
-
var PlaygroundProposeRequest =
|
|
39336
|
-
request:
|
|
39631
|
+
var PlaygroundProposeRequest = z69.object({
|
|
39632
|
+
request: z69.string().min(1).max(2e3)
|
|
39337
39633
|
});
|
|
39338
|
-
var MultiPagePatchEnvelope =
|
|
39339
|
-
pageId:
|
|
39340
|
-
blockId:
|
|
39634
|
+
var MultiPagePatchEnvelope = z69.object({
|
|
39635
|
+
pageId: z69.string(),
|
|
39636
|
+
blockId: z69.string().optional(),
|
|
39341
39637
|
// Not present for page-level ops
|
|
39342
|
-
blockKind:
|
|
39343
|
-
blockPurpose:
|
|
39344
|
-
ops:
|
|
39345
|
-
rationale:
|
|
39346
|
-
currentContent:
|
|
39638
|
+
blockKind: z69.string().optional(),
|
|
39639
|
+
blockPurpose: z69.string().optional().nullable(),
|
|
39640
|
+
ops: z69.array(Rfc6902PatchOp),
|
|
39641
|
+
rationale: z69.string(),
|
|
39642
|
+
currentContent: z69.record(z69.string(), z69.unknown()).optional()
|
|
39347
39643
|
});
|
|
39348
|
-
var MultiPageUpdateResponse =
|
|
39349
|
-
patches:
|
|
39350
|
-
assistantMessage:
|
|
39351
|
-
pagesModified:
|
|
39352
|
-
toolCallsUsed:
|
|
39644
|
+
var MultiPageUpdateResponse = z69.object({
|
|
39645
|
+
patches: z69.array(MultiPagePatchEnvelope),
|
|
39646
|
+
assistantMessage: z69.string(),
|
|
39647
|
+
pagesModified: z69.number(),
|
|
39648
|
+
toolCallsUsed: z69.number()
|
|
39353
39649
|
});
|
|
39354
39650
|
|
|
39355
39651
|
// src/config/content-validation.ts
|
|
39356
|
-
import { z as
|
|
39652
|
+
import { z as z70 } from "zod";
|
|
39357
39653
|
|
|
39358
39654
|
// src/types/block-kinds.ts
|
|
39359
39655
|
var SYSTEM_BLOCK_KINDS = [
|
|
@@ -39383,6 +39679,7 @@ var SYSTEM_BLOCK_KINDS = [
|
|
|
39383
39679
|
"block.form",
|
|
39384
39680
|
"block.contact-newsletter",
|
|
39385
39681
|
"block.appointment-booking",
|
|
39682
|
+
"block.weekly-slot-availability",
|
|
39386
39683
|
"block.event-registration",
|
|
39387
39684
|
"block.event-details",
|
|
39388
39685
|
"block.course-registration",
|
|
@@ -39484,7 +39781,7 @@ function isUnsupportedDynamicSegment(segment) {
|
|
|
39484
39781
|
return segment.startsWith(":") || segment.includes("{") || segment.includes("}");
|
|
39485
39782
|
}
|
|
39486
39783
|
|
|
39487
|
-
// src/
|
|
39784
|
+
// ../field-primitives/src/bindings/index.ts
|
|
39488
39785
|
var BINDING_TRANSFORMS = {
|
|
39489
39786
|
RICHTEXT_FIRST_PARAGRAPH: "richtext.firstParagraph",
|
|
39490
39787
|
DATE_FORMAT_SHORT: "date.formatShort",
|
|
@@ -39492,42 +39789,45 @@ var BINDING_TRANSFORMS = {
|
|
|
39492
39789
|
TEXT_INLINE_TEXT: "text.inlineText"
|
|
39493
39790
|
};
|
|
39494
39791
|
var BINDING_TRANSFORM_VALUES = Object.values(BINDING_TRANSFORMS);
|
|
39495
|
-
|
|
39792
|
+
|
|
39793
|
+
// src/contracts/bindings.ts
|
|
39794
|
+
var BINDING_TRANSFORM_VALUES2 = BINDING_TRANSFORM_VALUES;
|
|
39795
|
+
var BINDING_TRANSFORM_LIST = BINDING_TRANSFORM_VALUES2.join(", ");
|
|
39496
39796
|
function describeInvalidBindingTransform(transform) {
|
|
39497
39797
|
return `Transform "${transform}" is not valid. Allowed: ${BINDING_TRANSFORM_LIST}`;
|
|
39498
39798
|
}
|
|
39499
39799
|
|
|
39500
39800
|
// src/config/content-validation.ts
|
|
39501
|
-
var jsonDataSchema =
|
|
39502
|
-
var contentTypeKeySchema =
|
|
39801
|
+
var jsonDataSchema = z70.record(z70.string(), z70.any());
|
|
39802
|
+
var contentTypeKeySchema = z70.string().min(1).regex(
|
|
39503
39803
|
/^[a-z][a-z0-9-]*$/,
|
|
39504
39804
|
"Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
|
|
39505
39805
|
);
|
|
39506
|
-
var templateConfigSchemaForward =
|
|
39507
|
-
blocks:
|
|
39508
|
-
|
|
39509
|
-
identifier:
|
|
39510
|
-
kind:
|
|
39511
|
-
scope:
|
|
39512
|
-
bindings:
|
|
39513
|
-
content:
|
|
39806
|
+
var templateConfigSchemaForward = z70.object({
|
|
39807
|
+
blocks: z70.array(
|
|
39808
|
+
z70.object({
|
|
39809
|
+
identifier: z70.string().min(1),
|
|
39810
|
+
kind: z70.string(),
|
|
39811
|
+
scope: z70.enum(["entry", "template"]),
|
|
39812
|
+
bindings: z70.record(z70.string(), z70.any()).optional(),
|
|
39813
|
+
content: z70.record(z70.string(), z70.any()).optional()
|
|
39514
39814
|
})
|
|
39515
39815
|
)
|
|
39516
39816
|
}).optional();
|
|
39517
|
-
var contentTypeOrderingSchema =
|
|
39518
|
-
mode:
|
|
39817
|
+
var contentTypeOrderingSchema = z70.object({
|
|
39818
|
+
mode: z70.enum(["default", "manual"]).optional()
|
|
39519
39819
|
}).optional();
|
|
39520
|
-
var contentTypeConfigSchema =
|
|
39820
|
+
var contentTypeConfigSchema = z70.object({
|
|
39521
39821
|
key: contentTypeKeySchema,
|
|
39522
|
-
name:
|
|
39523
|
-
description:
|
|
39524
|
-
hasPages:
|
|
39525
|
-
routePattern:
|
|
39822
|
+
name: z70.string().min(1),
|
|
39823
|
+
description: z70.string().optional(),
|
|
39824
|
+
hasPages: z70.boolean(),
|
|
39825
|
+
routePattern: z70.string().optional(),
|
|
39526
39826
|
// Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
|
|
39527
|
-
fields:
|
|
39528
|
-
titleField:
|
|
39827
|
+
fields: z70.array(z70.any()).min(1, "At least one field is required"),
|
|
39828
|
+
titleField: z70.string().optional(),
|
|
39529
39829
|
ordering: contentTypeOrderingSchema,
|
|
39530
|
-
isSingleton:
|
|
39830
|
+
isSingleton: z70.boolean().optional().default(false),
|
|
39531
39831
|
template: templateConfigSchemaForward
|
|
39532
39832
|
}).refine(
|
|
39533
39833
|
(data) => {
|
|
@@ -39549,7 +39849,7 @@ var contentTypeConfigSchema = z69.object({
|
|
|
39549
39849
|
}
|
|
39550
39850
|
if (!data.routePattern) {
|
|
39551
39851
|
ctx.addIssue({
|
|
39552
|
-
code:
|
|
39852
|
+
code: z70.ZodIssueCode.custom,
|
|
39553
39853
|
path: ["routePattern"],
|
|
39554
39854
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39555
39855
|
});
|
|
@@ -39558,7 +39858,7 @@ var contentTypeConfigSchema = z69.object({
|
|
|
39558
39858
|
const parseResult = safeParseRouteTemplate(data.routePattern);
|
|
39559
39859
|
if (!parseResult.success) {
|
|
39560
39860
|
ctx.addIssue({
|
|
39561
|
-
code:
|
|
39861
|
+
code: z70.ZodIssueCode.custom,
|
|
39562
39862
|
path: ["routePattern"],
|
|
39563
39863
|
message: describeRouteTemplateParseError(parseResult.error)
|
|
39564
39864
|
});
|
|
@@ -39566,44 +39866,44 @@ var contentTypeConfigSchema = z69.object({
|
|
|
39566
39866
|
}
|
|
39567
39867
|
if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
|
|
39568
39868
|
ctx.addIssue({
|
|
39569
|
-
code:
|
|
39869
|
+
code: z70.ZodIssueCode.custom,
|
|
39570
39870
|
path: ["routePattern"],
|
|
39571
39871
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39572
39872
|
});
|
|
39573
39873
|
}
|
|
39574
39874
|
});
|
|
39575
|
-
var fieldBindingSchema =
|
|
39576
|
-
source:
|
|
39577
|
-
path:
|
|
39875
|
+
var fieldBindingSchema = z70.object({
|
|
39876
|
+
source: z70.literal("field"),
|
|
39877
|
+
path: z70.string().min(1, "Field path is required")
|
|
39578
39878
|
});
|
|
39579
|
-
var metaBindingSchema =
|
|
39580
|
-
source:
|
|
39581
|
-
path:
|
|
39879
|
+
var metaBindingSchema = z70.object({
|
|
39880
|
+
source: z70.literal("meta"),
|
|
39881
|
+
path: z70.enum(TEMPLATE_BINDING_META_PATHS, {
|
|
39582
39882
|
error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
|
|
39583
39883
|
})
|
|
39584
39884
|
});
|
|
39585
|
-
var literalBindingSchema =
|
|
39586
|
-
source:
|
|
39587
|
-
value:
|
|
39885
|
+
var literalBindingSchema = z70.object({
|
|
39886
|
+
source: z70.literal("literal"),
|
|
39887
|
+
value: z70.unknown()
|
|
39588
39888
|
});
|
|
39589
|
-
var transformBindingSchema =
|
|
39590
|
-
source:
|
|
39591
|
-
path:
|
|
39592
|
-
transform:
|
|
39889
|
+
var transformBindingSchema = z70.object({
|
|
39890
|
+
source: z70.literal("transform"),
|
|
39891
|
+
path: z70.string().min(1, "Transform path is required"),
|
|
39892
|
+
transform: z70.enum(BINDING_TRANSFORM_VALUES2, {
|
|
39593
39893
|
error: (issue) => describeInvalidBindingTransform(String(issue.input))
|
|
39594
39894
|
})
|
|
39595
39895
|
});
|
|
39596
|
-
var baseBindingSchema =
|
|
39896
|
+
var baseBindingSchema = z70.discriminatedUnion("source", [
|
|
39597
39897
|
fieldBindingSchema,
|
|
39598
39898
|
metaBindingSchema,
|
|
39599
39899
|
literalBindingSchema,
|
|
39600
39900
|
transformBindingSchema
|
|
39601
39901
|
]);
|
|
39602
|
-
var fallbackBindingSchema =
|
|
39603
|
-
source:
|
|
39604
|
-
sources:
|
|
39902
|
+
var fallbackBindingSchema = z70.object({
|
|
39903
|
+
source: z70.literal("fallback"),
|
|
39904
|
+
sources: z70.array(z70.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
|
|
39605
39905
|
});
|
|
39606
|
-
var bindingSourceSchema =
|
|
39906
|
+
var bindingSourceSchema = z70.union([
|
|
39607
39907
|
baseBindingSchema,
|
|
39608
39908
|
fallbackBindingSchema
|
|
39609
39909
|
]);
|
|
@@ -39617,12 +39917,12 @@ function isValidBlockKind(kind) {
|
|
|
39617
39917
|
return false;
|
|
39618
39918
|
}
|
|
39619
39919
|
var BLOCK_KIND_ERROR_MESSAGE = 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.myBlock")';
|
|
39620
|
-
var blockKindSchema =
|
|
39621
|
-
var templateBlockConfigSchema =
|
|
39622
|
-
identifier:
|
|
39920
|
+
var blockKindSchema = z70.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
|
|
39921
|
+
var templateBlockConfigSchema = z70.object({
|
|
39922
|
+
identifier: z70.string().min(1, "Block identifier is required"),
|
|
39623
39923
|
kind: blockKindSchema,
|
|
39624
|
-
scope:
|
|
39625
|
-
bindings:
|
|
39924
|
+
scope: z70.enum(["entry", "template"]),
|
|
39925
|
+
bindings: z70.record(z70.string(), bindingSourceSchema).optional(),
|
|
39626
39926
|
content: jsonDataSchema.optional()
|
|
39627
39927
|
}).refine(
|
|
39628
39928
|
(data) => {
|
|
@@ -39641,8 +39941,8 @@ var templateBlockConfigSchema = z69.object({
|
|
|
39641
39941
|
},
|
|
39642
39942
|
{ message: "Template-scoped blocks should define static content, not bindings" }
|
|
39643
39943
|
);
|
|
39644
|
-
var templateConfigSchema =
|
|
39645
|
-
blocks:
|
|
39944
|
+
var templateConfigSchema = z70.object({
|
|
39945
|
+
blocks: z70.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
|
|
39646
39946
|
}).refine(
|
|
39647
39947
|
(data) => {
|
|
39648
39948
|
const identifiers = data.blocks.map((b) => b.identifier);
|
|
@@ -39651,77 +39951,77 @@ var templateConfigSchema = z69.object({
|
|
|
39651
39951
|
},
|
|
39652
39952
|
{ message: "Template block identifiers must be unique" }
|
|
39653
39953
|
);
|
|
39654
|
-
var blockConfigSchema =
|
|
39954
|
+
var blockConfigSchema = z70.object({
|
|
39655
39955
|
kind: blockKindSchema,
|
|
39656
39956
|
content: jsonDataSchema,
|
|
39657
|
-
orderIndex:
|
|
39658
|
-
});
|
|
39659
|
-
var pageConfigSchema =
|
|
39660
|
-
identifier:
|
|
39661
|
-
title:
|
|
39662
|
-
path:
|
|
39663
|
-
purpose:
|
|
39664
|
-
blocks:
|
|
39665
|
-
status:
|
|
39666
|
-
metaTitle:
|
|
39667
|
-
metaDescription:
|
|
39668
|
-
});
|
|
39669
|
-
var entryConfigSchema =
|
|
39670
|
-
identifier:
|
|
39671
|
-
contentType:
|
|
39957
|
+
orderIndex: z70.number().optional()
|
|
39958
|
+
});
|
|
39959
|
+
var pageConfigSchema = z70.object({
|
|
39960
|
+
identifier: z70.string().min(1, "Identifier is required"),
|
|
39961
|
+
title: z70.string().min(1, "Title is required"),
|
|
39962
|
+
path: z70.string().regex(/^\//, "Path must start with /"),
|
|
39963
|
+
purpose: z70.string().default("content"),
|
|
39964
|
+
blocks: z70.array(blockConfigSchema).optional(),
|
|
39965
|
+
status: z70.enum(["draft", "published"]).default("draft"),
|
|
39966
|
+
metaTitle: z70.string().optional(),
|
|
39967
|
+
metaDescription: z70.string().optional()
|
|
39968
|
+
});
|
|
39969
|
+
var entryConfigSchema = z70.object({
|
|
39970
|
+
identifier: z70.string().min(1, "Identifier is required"),
|
|
39971
|
+
contentType: z70.string().min(1, "Content type is required"),
|
|
39672
39972
|
data: jsonDataSchema,
|
|
39673
|
-
status:
|
|
39674
|
-
slug:
|
|
39675
|
-
summary:
|
|
39973
|
+
status: z70.enum(["draft", "published"]).default("draft"),
|
|
39974
|
+
slug: z70.string().optional(),
|
|
39975
|
+
summary: z70.string().optional(),
|
|
39676
39976
|
// Hard remove legacy config-only titles: titles must live in entry `data`.
|
|
39677
|
-
title:
|
|
39977
|
+
title: z70.any().optional().refine((value) => value === void 0, {
|
|
39678
39978
|
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."
|
|
39679
39979
|
}),
|
|
39680
|
-
metaTitle:
|
|
39681
|
-
metaDescription:
|
|
39980
|
+
metaTitle: z70.string().optional(),
|
|
39981
|
+
metaDescription: z70.string().optional()
|
|
39682
39982
|
});
|
|
39683
|
-
var dropdownLinkSchema =
|
|
39684
|
-
kind:
|
|
39983
|
+
var dropdownLinkSchema = z70.object({
|
|
39984
|
+
kind: z70.literal("dropdown")
|
|
39685
39985
|
});
|
|
39686
|
-
var navigationLinkSchema =
|
|
39986
|
+
var navigationLinkSchema = z70.discriminatedUnion("kind", [
|
|
39687
39987
|
...navigationLinkInputSchemaOptions,
|
|
39688
39988
|
dropdownLinkSchema
|
|
39689
39989
|
]);
|
|
39690
|
-
var baseNavigationItemSchema =
|
|
39691
|
-
label:
|
|
39990
|
+
var baseNavigationItemSchema = z70.object({
|
|
39991
|
+
label: z70.string().min(1, "Label is required"),
|
|
39692
39992
|
link: navigationLinkSchema,
|
|
39693
|
-
isCta:
|
|
39993
|
+
isCta: z70.boolean().optional()
|
|
39694
39994
|
});
|
|
39695
39995
|
var navigationItemConfigSchema = baseNavigationItemSchema.extend({
|
|
39696
|
-
children:
|
|
39697
|
-
});
|
|
39698
|
-
var navigationMenuConfigSchema =
|
|
39699
|
-
identifier:
|
|
39700
|
-
name:
|
|
39701
|
-
isPrimary:
|
|
39702
|
-
isFooter:
|
|
39703
|
-
items:
|
|
39996
|
+
children: z70.lazy(() => z70.array(navigationItemConfigSchema)).optional()
|
|
39997
|
+
});
|
|
39998
|
+
var navigationMenuConfigSchema = z70.object({
|
|
39999
|
+
identifier: z70.string().min(1, "Identifier is required"),
|
|
40000
|
+
name: z70.string().min(1, "Name is required"),
|
|
40001
|
+
isPrimary: z70.boolean().optional(),
|
|
40002
|
+
isFooter: z70.boolean().optional(),
|
|
40003
|
+
items: z70.array(navigationItemConfigSchema)
|
|
39704
40004
|
}).superRefine((menu, ctx) => {
|
|
39705
40005
|
const portalStats = collectPortalLinkStats(
|
|
39706
40006
|
menu.items
|
|
39707
40007
|
);
|
|
39708
40008
|
if (portalStats.count > 1) {
|
|
39709
40009
|
ctx.addIssue({
|
|
39710
|
-
code:
|
|
40010
|
+
code: z70.ZodIssueCode.custom,
|
|
39711
40011
|
message: "Only one portal link is allowed per navigation menu",
|
|
39712
40012
|
path: ["items"]
|
|
39713
40013
|
});
|
|
39714
40014
|
}
|
|
39715
40015
|
if (portalStats.nestedLabels.length > 0) {
|
|
39716
40016
|
ctx.addIssue({
|
|
39717
|
-
code:
|
|
40017
|
+
code: z70.ZodIssueCode.custom,
|
|
39718
40018
|
message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
|
|
39719
40019
|
path: ["items"]
|
|
39720
40020
|
});
|
|
39721
40021
|
}
|
|
39722
40022
|
if (portalStats.withChildrenLabels.length > 0) {
|
|
39723
40023
|
ctx.addIssue({
|
|
39724
|
-
code:
|
|
40024
|
+
code: z70.ZodIssueCode.custom,
|
|
39725
40025
|
message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
|
|
39726
40026
|
path: ["items"]
|
|
39727
40027
|
});
|
|
@@ -39731,44 +40031,44 @@ var navigationMenuConfigSchema = z69.object({
|
|
|
39731
40031
|
);
|
|
39732
40032
|
if (cartStats.nestedLabels.length > 0) {
|
|
39733
40033
|
ctx.addIssue({
|
|
39734
|
-
code:
|
|
40034
|
+
code: z70.ZodIssueCode.custom,
|
|
39735
40035
|
message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
|
|
39736
40036
|
path: ["items"]
|
|
39737
40037
|
});
|
|
39738
40038
|
}
|
|
39739
40039
|
if (cartStats.withChildrenLabels.length > 0) {
|
|
39740
40040
|
ctx.addIssue({
|
|
39741
|
-
code:
|
|
40041
|
+
code: z70.ZodIssueCode.custom,
|
|
39742
40042
|
message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
|
|
39743
40043
|
path: ["items"]
|
|
39744
40044
|
});
|
|
39745
40045
|
}
|
|
39746
40046
|
if (cartStats.ctaLabels.length > 0) {
|
|
39747
40047
|
ctx.addIssue({
|
|
39748
|
-
code:
|
|
40048
|
+
code: z70.ZodIssueCode.custom,
|
|
39749
40049
|
message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
|
|
39750
40050
|
path: ["items"]
|
|
39751
40051
|
});
|
|
39752
40052
|
}
|
|
39753
40053
|
if (cartStats.missingVisibleTextLabels.length > 0) {
|
|
39754
40054
|
ctx.addIssue({
|
|
39755
|
-
code:
|
|
40055
|
+
code: z70.ZodIssueCode.custom,
|
|
39756
40056
|
message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
|
|
39757
40057
|
path: ["items"]
|
|
39758
40058
|
});
|
|
39759
40059
|
}
|
|
39760
40060
|
});
|
|
39761
|
-
var siteSettingsConfigSchema =
|
|
39762
|
-
homepagePath:
|
|
39763
|
-
siteTitle:
|
|
39764
|
-
siteDescription:
|
|
39765
|
-
defaultTemplates:
|
|
40061
|
+
var siteSettingsConfigSchema = z70.object({
|
|
40062
|
+
homepagePath: z70.string().optional(),
|
|
40063
|
+
siteTitle: z70.string().optional(),
|
|
40064
|
+
siteDescription: z70.string().optional(),
|
|
40065
|
+
defaultTemplates: z70.record(z70.string(), z70.string()).optional()
|
|
39766
40066
|
});
|
|
39767
|
-
var contentConfigBaseSchema =
|
|
39768
|
-
contentTypes:
|
|
39769
|
-
entries:
|
|
39770
|
-
pages:
|
|
39771
|
-
navigationMenus:
|
|
40067
|
+
var contentConfigBaseSchema = z70.object({
|
|
40068
|
+
contentTypes: z70.array(contentTypeConfigSchema).optional(),
|
|
40069
|
+
entries: z70.array(entryConfigSchema).optional(),
|
|
40070
|
+
pages: z70.array(pageConfigSchema).optional(),
|
|
40071
|
+
navigationMenus: z70.array(navigationMenuConfigSchema).optional(),
|
|
39772
40072
|
settings: siteSettingsConfigSchema.optional()
|
|
39773
40073
|
});
|
|
39774
40074
|
var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
@@ -39777,7 +40077,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39777
40077
|
const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
|
|
39778
40078
|
if (duplicateKeys.length > 0) {
|
|
39779
40079
|
ctx.addIssue({
|
|
39780
|
-
code:
|
|
40080
|
+
code: z70.ZodIssueCode.custom,
|
|
39781
40081
|
message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
|
|
39782
40082
|
path: ["contentTypes"]
|
|
39783
40083
|
});
|
|
@@ -39788,7 +40088,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39788
40088
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39789
40089
|
if (duplicateIds.length > 0) {
|
|
39790
40090
|
ctx.addIssue({
|
|
39791
|
-
code:
|
|
40091
|
+
code: z70.ZodIssueCode.custom,
|
|
39792
40092
|
message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39793
40093
|
path: ["pages"]
|
|
39794
40094
|
});
|
|
@@ -39797,7 +40097,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39797
40097
|
const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
|
|
39798
40098
|
if (duplicatePaths.length > 0) {
|
|
39799
40099
|
ctx.addIssue({
|
|
39800
|
-
code:
|
|
40100
|
+
code: z70.ZodIssueCode.custom,
|
|
39801
40101
|
message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
|
|
39802
40102
|
path: ["pages"]
|
|
39803
40103
|
});
|
|
@@ -39808,7 +40108,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39808
40108
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39809
40109
|
if (duplicateIds.length > 0) {
|
|
39810
40110
|
ctx.addIssue({
|
|
39811
|
-
code:
|
|
40111
|
+
code: z70.ZodIssueCode.custom,
|
|
39812
40112
|
message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39813
40113
|
path: ["entries"]
|
|
39814
40114
|
});
|
|
@@ -39819,7 +40119,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39819
40119
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39820
40120
|
if (duplicateIds.length > 0) {
|
|
39821
40121
|
ctx.addIssue({
|
|
39822
|
-
code:
|
|
40122
|
+
code: z70.ZodIssueCode.custom,
|
|
39823
40123
|
message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39824
40124
|
path: ["navigationMenus"]
|
|
39825
40125
|
});
|
|
@@ -39833,7 +40133,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39833
40133
|
const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
|
|
39834
40134
|
if (entriesForType.length > 1) {
|
|
39835
40135
|
ctx.addIssue({
|
|
39836
|
-
code:
|
|
40136
|
+
code: z70.ZodIssueCode.custom,
|
|
39837
40137
|
message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
|
|
39838
40138
|
path: ["entries"]
|
|
39839
40139
|
});
|
|
@@ -39946,18 +40246,18 @@ function validateLayout(layout) {
|
|
|
39946
40246
|
}
|
|
39947
40247
|
|
|
39948
40248
|
// src/config/dashboard-validation.ts
|
|
39949
|
-
import { z as
|
|
39950
|
-
var navIdListSchema2 =
|
|
40249
|
+
import { z as z71 } from "zod";
|
|
40250
|
+
var navIdListSchema2 = z71.preprocess((value) => {
|
|
39951
40251
|
if (!Array.isArray(value)) return void 0;
|
|
39952
40252
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
39953
40253
|
return filtered.length > 0 ? filtered : void 0;
|
|
39954
|
-
},
|
|
39955
|
-
var dashboardNavVisibilityBaseSchema2 =
|
|
39956
|
-
mode:
|
|
40254
|
+
}, z71.array(z71.string()).max(200, "Maximum 200 nav IDs").optional());
|
|
40255
|
+
var dashboardNavVisibilityBaseSchema2 = z71.object({
|
|
40256
|
+
mode: z71.enum(["augment", "restrict"]).optional(),
|
|
39957
40257
|
allowIds: navIdListSchema2,
|
|
39958
40258
|
denyIds: navIdListSchema2
|
|
39959
40259
|
}).strip();
|
|
39960
|
-
var dashboardNavVisibilityRolesSchema2 =
|
|
40260
|
+
var dashboardNavVisibilityRolesSchema2 = z71.object({
|
|
39961
40261
|
administrator: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39962
40262
|
editor: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39963
40263
|
team_member: dashboardNavVisibilityBaseSchema2.optional()
|
|
@@ -39965,28 +40265,28 @@ var dashboardNavVisibilityRolesSchema2 = z70.object({
|
|
|
39965
40265
|
var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
|
|
39966
40266
|
roles: dashboardNavVisibilityRolesSchema2
|
|
39967
40267
|
}).strip();
|
|
39968
|
-
var dashboardNavigationConfigSchema2 =
|
|
40268
|
+
var dashboardNavigationConfigSchema2 = z71.object({
|
|
39969
40269
|
siteNav: dashboardNavVisibilitySchema2.optional(),
|
|
39970
40270
|
settingsNav: dashboardNavVisibilitySchema2.optional()
|
|
39971
40271
|
}).strip();
|
|
39972
|
-
var dashboardConfigSchema2 =
|
|
39973
|
-
previewEditingEnabled:
|
|
40272
|
+
var dashboardConfigSchema2 = z71.object({
|
|
40273
|
+
previewEditingEnabled: z71.boolean().optional(),
|
|
39974
40274
|
navigation: dashboardNavigationConfigSchema2.optional()
|
|
39975
40275
|
}).strip();
|
|
39976
40276
|
|
|
39977
40277
|
// src/zod/titleSourceSchema.ts
|
|
39978
|
-
import { z as
|
|
39979
|
-
var titleSourceValueSchema =
|
|
39980
|
-
|
|
39981
|
-
|
|
40278
|
+
import { z as z72 } from "zod";
|
|
40279
|
+
var titleSourceValueSchema = z72.union([
|
|
40280
|
+
z72.string().min(1),
|
|
40281
|
+
z72.array(z72.string().min(1)).min(1)
|
|
39982
40282
|
]);
|
|
39983
40283
|
|
|
39984
40284
|
// src/config/validation.ts
|
|
39985
|
-
var sdkThemePaletteSchema2 =
|
|
39986
|
-
var sdkThemeConfigSchema2 =
|
|
40285
|
+
var sdkThemePaletteSchema2 = z73.record(z73.string(), z73.string());
|
|
40286
|
+
var sdkThemeConfigSchema2 = z73.object({
|
|
39987
40287
|
palette: sdkThemePaletteSchema2
|
|
39988
40288
|
});
|
|
39989
|
-
var sdkSiteUrlSchema =
|
|
40289
|
+
var sdkSiteUrlSchema = z73.string().url("Must be a valid URL").refine((url) => {
|
|
39990
40290
|
try {
|
|
39991
40291
|
const parsed = new URL(url);
|
|
39992
40292
|
const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
|
|
@@ -39995,97 +40295,97 @@ var sdkSiteUrlSchema = z72.string().url("Must be a valid URL").refine((url) => {
|
|
|
39995
40295
|
return false;
|
|
39996
40296
|
}
|
|
39997
40297
|
}, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
|
|
39998
|
-
var sectionBackgroundSchema =
|
|
39999
|
-
id:
|
|
40000
|
-
label:
|
|
40001
|
-
token:
|
|
40298
|
+
var sectionBackgroundSchema = z73.object({
|
|
40299
|
+
id: z73.string(),
|
|
40300
|
+
label: z73.string(),
|
|
40301
|
+
token: z73.string()
|
|
40002
40302
|
// Reference to theme palette token
|
|
40003
40303
|
});
|
|
40004
|
-
var sectionSpacingSchema =
|
|
40005
|
-
var containerMaxWidthSchema =
|
|
40006
|
-
var containerAlignmentSchema =
|
|
40007
|
-
var sectionOptionsSchema =
|
|
40008
|
-
backgroundColor:
|
|
40009
|
-
backgroundImage:
|
|
40010
|
-
backgroundGradient:
|
|
40011
|
-
spacing:
|
|
40012
|
-
|
|
40013
|
-
|
|
40304
|
+
var sectionSpacingSchema = z73.enum(["compact", "default", "spacious"]);
|
|
40305
|
+
var containerMaxWidthSchema = z73.enum(["narrow", "default", "wide", "full"]);
|
|
40306
|
+
var containerAlignmentSchema = z73.enum(["left", "center", "right"]);
|
|
40307
|
+
var sectionOptionsSchema = z73.object({
|
|
40308
|
+
backgroundColor: z73.boolean().optional(),
|
|
40309
|
+
backgroundImage: z73.boolean().optional(),
|
|
40310
|
+
backgroundGradient: z73.boolean().optional(),
|
|
40311
|
+
spacing: z73.union([
|
|
40312
|
+
z73.array(sectionSpacingSchema),
|
|
40313
|
+
z73.boolean()
|
|
40014
40314
|
]).optional(),
|
|
40015
|
-
textColor:
|
|
40315
|
+
textColor: z73.boolean().optional()
|
|
40016
40316
|
}).optional();
|
|
40017
|
-
var containerOptionsSchema =
|
|
40018
|
-
maxWidth:
|
|
40019
|
-
|
|
40020
|
-
|
|
40317
|
+
var containerOptionsSchema = z73.object({
|
|
40318
|
+
maxWidth: z73.union([
|
|
40319
|
+
z73.array(containerMaxWidthSchema),
|
|
40320
|
+
z73.boolean()
|
|
40021
40321
|
]).optional(),
|
|
40022
|
-
alignment:
|
|
40023
|
-
|
|
40024
|
-
|
|
40322
|
+
alignment: z73.union([
|
|
40323
|
+
z73.array(containerAlignmentSchema),
|
|
40324
|
+
z73.boolean()
|
|
40025
40325
|
]).optional()
|
|
40026
40326
|
}).optional();
|
|
40027
|
-
var siteStyleConfigSchema =
|
|
40028
|
-
sectionBackgrounds:
|
|
40327
|
+
var siteStyleConfigSchema = z73.object({
|
|
40328
|
+
sectionBackgrounds: z73.array(sectionBackgroundSchema).optional(),
|
|
40029
40329
|
sectionOptions: sectionOptionsSchema,
|
|
40030
40330
|
containerOptions: containerOptionsSchema
|
|
40031
40331
|
}).optional();
|
|
40032
|
-
var sdkLoaderEndpointSchema2 =
|
|
40332
|
+
var sdkLoaderEndpointSchema2 = z73.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
40033
40333
|
var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
|
|
40034
|
-
var loaderTransformStepSchema =
|
|
40035
|
-
id:
|
|
40334
|
+
var loaderTransformStepSchema = z73.object({
|
|
40335
|
+
id: z73.string().refine((id) => allowedTransformIds.has(id), {
|
|
40036
40336
|
message: "Unknown transform id"
|
|
40037
40337
|
}),
|
|
40038
|
-
options:
|
|
40338
|
+
options: z73.record(z73.string(), z73.unknown()).optional()
|
|
40039
40339
|
});
|
|
40040
|
-
var loaderParamBindingSchema2 =
|
|
40041
|
-
$bind:
|
|
40042
|
-
from:
|
|
40340
|
+
var loaderParamBindingSchema2 = z73.object({
|
|
40341
|
+
$bind: z73.object({
|
|
40342
|
+
from: z73.string().min(1, "Binding path is required"),
|
|
40043
40343
|
// Loader params are ultimately string-normalized for query strings, so fallbacks should
|
|
40044
40344
|
// stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
|
|
40045
40345
|
// more complex values into a string.
|
|
40046
40346
|
fallback: loaderFallbackScalarSchema.optional(),
|
|
40047
|
-
transforms:
|
|
40048
|
-
pick:
|
|
40049
|
-
coerce:
|
|
40347
|
+
transforms: z73.array(loaderTransformStepSchema).default([]),
|
|
40348
|
+
pick: z73.enum(["value", "collection", "context"]).default("value"),
|
|
40349
|
+
coerce: z73.enum(["number", "boolean", "string"]).optional()
|
|
40050
40350
|
})
|
|
40051
40351
|
});
|
|
40052
|
-
var loaderParamValueSchema2 =
|
|
40053
|
-
|
|
40054
|
-
|
|
40055
|
-
|
|
40352
|
+
var loaderParamValueSchema2 = z73.union([
|
|
40353
|
+
z73.string(),
|
|
40354
|
+
z73.number(),
|
|
40355
|
+
z73.boolean(),
|
|
40056
40356
|
loaderParamBindingSchema2
|
|
40057
40357
|
]);
|
|
40058
|
-
var loaderWhenValueSchema =
|
|
40059
|
-
|
|
40358
|
+
var loaderWhenValueSchema = z73.union([
|
|
40359
|
+
z73.boolean(),
|
|
40060
40360
|
loaderParamBindingSchema2
|
|
40061
40361
|
]);
|
|
40062
|
-
var sdkConfigLoaderSchema2 =
|
|
40362
|
+
var sdkConfigLoaderSchema2 = z73.object({
|
|
40063
40363
|
endpoint: sdkLoaderEndpointSchema2,
|
|
40064
|
-
params:
|
|
40065
|
-
mode:
|
|
40364
|
+
params: z73.record(z73.string(), loaderParamValueSchema2),
|
|
40365
|
+
mode: z73.enum(["server", "client"]).default("server"),
|
|
40066
40366
|
when: loaderWhenValueSchema.optional()
|
|
40067
40367
|
});
|
|
40068
|
-
var sdkDataLoadersSchema2 =
|
|
40368
|
+
var sdkDataLoadersSchema2 = z73.record(z73.string(), sdkConfigLoaderSchema2).refine(
|
|
40069
40369
|
(loaders) => Object.keys(loaders).length <= 5,
|
|
40070
40370
|
{ message: "Maximum 5 data loaders per block" }
|
|
40071
40371
|
).optional();
|
|
40072
|
-
var fieldSelectOptionSchema =
|
|
40073
|
-
value:
|
|
40074
|
-
label:
|
|
40372
|
+
var fieldSelectOptionSchema = z73.object({
|
|
40373
|
+
value: z73.string().min(1, "Option value is required"),
|
|
40374
|
+
label: z73.string().min(1, "Option label is required")
|
|
40075
40375
|
});
|
|
40076
|
-
var blockFieldConfigSchema =
|
|
40077
|
-
options:
|
|
40376
|
+
var blockFieldConfigSchema = z73.object({
|
|
40377
|
+
options: z73.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
|
|
40078
40378
|
});
|
|
40079
|
-
var blockFieldOptionsSchema =
|
|
40080
|
-
|
|
40379
|
+
var blockFieldOptionsSchema = z73.record(
|
|
40380
|
+
z73.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
40081
40381
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
40082
40382
|
}),
|
|
40083
|
-
|
|
40084
|
-
|
|
40383
|
+
z73.record(
|
|
40384
|
+
z73.string().min(1, "Field ID is required"),
|
|
40085
40385
|
blockFieldConfigSchema
|
|
40086
40386
|
)
|
|
40087
40387
|
).optional();
|
|
40088
|
-
var blockFieldExtensionSchema =
|
|
40388
|
+
var blockFieldExtensionSchema = z73.object({
|
|
40089
40389
|
fields: fieldSchema.array().min(1, "At least one field is required")
|
|
40090
40390
|
}).refine(
|
|
40091
40391
|
(data) => {
|
|
@@ -40099,10 +40399,10 @@ var blockFieldExtensionSchema = z72.object({
|
|
|
40099
40399
|
message: "Required fields must have a defaultValue to support existing blocks"
|
|
40100
40400
|
}
|
|
40101
40401
|
);
|
|
40102
|
-
var blockFieldExtensionsMapSchema =
|
|
40402
|
+
var blockFieldExtensionsMapSchema = z73.record(
|
|
40103
40403
|
// System blocks are kebab-case: block.body-text, block.event-calendar, ...
|
|
40104
40404
|
// Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
|
|
40105
|
-
|
|
40405
|
+
z73.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
|
|
40106
40406
|
message: "Block ID must be 'block.*' format (system blocks only)"
|
|
40107
40407
|
}),
|
|
40108
40408
|
blockFieldExtensionSchema
|
|
@@ -40118,7 +40418,7 @@ var blockFieldExtensionsMapSchema = z72.record(
|
|
|
40118
40418
|
(field) => field.id === collision.fieldId
|
|
40119
40419
|
);
|
|
40120
40420
|
ctx.addIssue({
|
|
40121
|
-
code:
|
|
40421
|
+
code: z73.ZodIssueCode.custom,
|
|
40122
40422
|
message: collision.message,
|
|
40123
40423
|
path: [
|
|
40124
40424
|
APPOINTMENT_BOOKING_BLOCK_ID,
|
|
@@ -40133,24 +40433,24 @@ var blockFieldExtensionsSchema = blockFieldExtensionsMapSchema.optional();
|
|
|
40133
40433
|
function collectAppointmentBookingExtensionReservedFieldCollisions(extension) {
|
|
40134
40434
|
return collectBookingReservedFieldCollisions(extension, { type: "booking" });
|
|
40135
40435
|
}
|
|
40136
|
-
var syncConfigSchema =
|
|
40137
|
-
existingEntries:
|
|
40436
|
+
var syncConfigSchema = z73.object({
|
|
40437
|
+
existingEntries: z73.enum(["skip", "update"]).optional()
|
|
40138
40438
|
}).optional();
|
|
40139
|
-
var deployConfigSchema =
|
|
40140
|
-
verifyCommand:
|
|
40141
|
-
prebuildOutput:
|
|
40439
|
+
var deployConfigSchema = z73.object({
|
|
40440
|
+
verifyCommand: z73.string().optional(),
|
|
40441
|
+
prebuildOutput: z73.string().optional()
|
|
40142
40442
|
}).optional();
|
|
40143
|
-
var sdkCustomBlockSchema =
|
|
40443
|
+
var sdkCustomBlockSchema = z73.object({
|
|
40144
40444
|
// Block ID must start with 'custom.'
|
|
40145
|
-
id:
|
|
40445
|
+
id: z73.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
40146
40446
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
40147
40447
|
}),
|
|
40148
|
-
title:
|
|
40448
|
+
title: z73.string().min(1, "Title is required"),
|
|
40149
40449
|
titleSource: titleSourceValueSchema.optional(),
|
|
40150
|
-
description:
|
|
40450
|
+
description: z73.string().optional(),
|
|
40151
40451
|
category: blockCategoryEnum,
|
|
40152
|
-
icon:
|
|
40153
|
-
tags:
|
|
40452
|
+
icon: z73.string().optional(),
|
|
40453
|
+
tags: z73.array(z73.string()).optional(),
|
|
40154
40454
|
// Reuse the exact field schema from @riverbankcms/blocks - all field types supported
|
|
40155
40455
|
fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
40156
40456
|
// Data loaders for CMS endpoints
|
|
@@ -40158,14 +40458,14 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40158
40458
|
// Optional declarative layout - when present, block can render without React override
|
|
40159
40459
|
layout: NodeSchema.optional(),
|
|
40160
40460
|
// Optional variants system (preferred when a block has multiple structural layouts)
|
|
40161
|
-
variants:
|
|
40162
|
-
defaultVariant:
|
|
40163
|
-
variantOptions:
|
|
40164
|
-
|
|
40165
|
-
|
|
40166
|
-
label:
|
|
40167
|
-
description:
|
|
40168
|
-
icon:
|
|
40461
|
+
variants: z73.record(z73.string().min(1), NodeSchema).optional(),
|
|
40462
|
+
defaultVariant: z73.string().min(1).optional(),
|
|
40463
|
+
variantOptions: z73.record(
|
|
40464
|
+
z73.string().min(1),
|
|
40465
|
+
z73.object({
|
|
40466
|
+
label: z73.string().min(1).optional(),
|
|
40467
|
+
description: z73.string().min(1).optional(),
|
|
40468
|
+
icon: z73.string().min(1).optional()
|
|
40169
40469
|
})
|
|
40170
40470
|
).optional(),
|
|
40171
40471
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -40177,7 +40477,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40177
40477
|
const exists = fields3.some((field) => field.id === source);
|
|
40178
40478
|
if (!exists) {
|
|
40179
40479
|
ctx.addIssue({
|
|
40180
|
-
code:
|
|
40480
|
+
code: z73.ZodIssueCode.custom,
|
|
40181
40481
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
40182
40482
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
40183
40483
|
});
|
|
@@ -40186,7 +40486,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40186
40486
|
}
|
|
40187
40487
|
if (data.layout && data.variants) {
|
|
40188
40488
|
ctx.addIssue({
|
|
40189
|
-
code:
|
|
40489
|
+
code: z73.ZodIssueCode.custom,
|
|
40190
40490
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
40191
40491
|
path: ["variants"]
|
|
40192
40492
|
});
|
|
@@ -40196,7 +40496,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40196
40496
|
if (!result.valid) {
|
|
40197
40497
|
for (const error of result.errors) {
|
|
40198
40498
|
ctx.addIssue({
|
|
40199
|
-
code:
|
|
40499
|
+
code: z73.ZodIssueCode.custom,
|
|
40200
40500
|
message: error.message,
|
|
40201
40501
|
path: ["layout"]
|
|
40202
40502
|
});
|
|
@@ -40207,14 +40507,14 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40207
40507
|
const keys = Object.keys(data.variants);
|
|
40208
40508
|
if (keys.length === 0) {
|
|
40209
40509
|
ctx.addIssue({
|
|
40210
|
-
code:
|
|
40510
|
+
code: z73.ZodIssueCode.custom,
|
|
40211
40511
|
message: "`variants` must contain at least one variant key",
|
|
40212
40512
|
path: ["variants"]
|
|
40213
40513
|
});
|
|
40214
40514
|
}
|
|
40215
40515
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
40216
40516
|
ctx.addIssue({
|
|
40217
|
-
code:
|
|
40517
|
+
code: z73.ZodIssueCode.custom,
|
|
40218
40518
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
40219
40519
|
path: ["defaultVariant"]
|
|
40220
40520
|
});
|
|
@@ -40224,7 +40524,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40224
40524
|
if (!result.valid) {
|
|
40225
40525
|
for (const error of result.errors) {
|
|
40226
40526
|
ctx.addIssue({
|
|
40227
|
-
code:
|
|
40527
|
+
code: z73.ZodIssueCode.custom,
|
|
40228
40528
|
message: `${key}: ${error.message}`,
|
|
40229
40529
|
path: ["variants", key]
|
|
40230
40530
|
});
|
|
@@ -40235,7 +40535,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40235
40535
|
for (const key of Object.keys(data.variantOptions)) {
|
|
40236
40536
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
40237
40537
|
ctx.addIssue({
|
|
40238
|
-
code:
|
|
40538
|
+
code: z73.ZodIssueCode.custom,
|
|
40239
40539
|
message: "`variantOptions` key must exist in `variants`",
|
|
40240
40540
|
path: ["variantOptions", key]
|
|
40241
40541
|
});
|
|
@@ -40244,58 +40544,58 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40244
40544
|
}
|
|
40245
40545
|
}
|
|
40246
40546
|
});
|
|
40247
|
-
var themeSourceSchema =
|
|
40248
|
-
var activeThemeSchema =
|
|
40547
|
+
var themeSourceSchema = z73.enum(["local", "cms"]).optional();
|
|
40548
|
+
var activeThemeSchema = z73.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
|
|
40249
40549
|
message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
|
|
40250
40550
|
}).max(64, "Theme name too long").optional();
|
|
40251
40551
|
function isValidConfigBlockKind(kind) {
|
|
40252
40552
|
if (getBlockDefinition(kind)) return true;
|
|
40253
40553
|
return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
|
|
40254
40554
|
}
|
|
40255
|
-
var layoutBlockKindSchema =
|
|
40555
|
+
var layoutBlockKindSchema = z73.string().refine(isValidConfigBlockKind, {
|
|
40256
40556
|
message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
|
|
40257
40557
|
});
|
|
40258
|
-
var layoutFooterBlockSchema =
|
|
40259
|
-
id:
|
|
40558
|
+
var layoutFooterBlockSchema = z73.object({
|
|
40559
|
+
id: z73.string().min(1).optional(),
|
|
40260
40560
|
kind: layoutBlockKindSchema,
|
|
40261
40561
|
// Allow omitted content for blocks that rely on defaults.
|
|
40262
|
-
content:
|
|
40562
|
+
content: z73.record(z73.string(), z73.unknown()).optional()
|
|
40263
40563
|
}).strict();
|
|
40264
|
-
var layoutConfigSchema =
|
|
40265
|
-
footerBlocks:
|
|
40564
|
+
var layoutConfigSchema = z73.object({
|
|
40565
|
+
footerBlocks: z73.array(layoutFooterBlockSchema).optional()
|
|
40266
40566
|
}).strict();
|
|
40267
|
-
var sdkWorkflowIdSchema2 =
|
|
40567
|
+
var sdkWorkflowIdSchema2 = z73.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
40268
40568
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
40269
40569
|
});
|
|
40270
|
-
var sdkWorkflowEndpointSchema2 =
|
|
40271
|
-
var sdkWorkflowTriggerSchema2 =
|
|
40272
|
-
|
|
40570
|
+
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 "/"' });
|
|
40571
|
+
var sdkWorkflowTriggerSchema2 = z73.discriminatedUnion("type", [
|
|
40572
|
+
z73.object({ type: z73.literal("manual") }).strict()
|
|
40273
40573
|
]);
|
|
40274
|
-
var sdkWorkflowConfirmationSchema2 =
|
|
40275
|
-
title:
|
|
40276
|
-
body:
|
|
40574
|
+
var sdkWorkflowConfirmationSchema2 = z73.object({
|
|
40575
|
+
title: z73.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
40576
|
+
body: z73.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
40277
40577
|
}).strict();
|
|
40278
|
-
var sdkWorkflowConfigSchema2 =
|
|
40578
|
+
var sdkWorkflowConfigSchema2 = z73.object({
|
|
40279
40579
|
id: sdkWorkflowIdSchema2,
|
|
40280
|
-
title:
|
|
40281
|
-
description:
|
|
40282
|
-
contentType:
|
|
40580
|
+
title: z73.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
40581
|
+
description: z73.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
40582
|
+
contentType: z73.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
40283
40583
|
endpoint: sdkWorkflowEndpointSchema2,
|
|
40284
|
-
triggers:
|
|
40584
|
+
triggers: z73.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
40285
40585
|
confirmation: sdkWorkflowConfirmationSchema2.optional()
|
|
40286
40586
|
}).strict();
|
|
40287
|
-
var sdkWorkflowsSchema2 =
|
|
40587
|
+
var sdkWorkflowsSchema2 = z73.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
40288
40588
|
const ids = workflows.map((workflow) => workflow.id);
|
|
40289
40589
|
return ids.length === new Set(ids).size;
|
|
40290
40590
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
40291
|
-
var riverbankSiteConfigSchema =
|
|
40292
|
-
siteId:
|
|
40591
|
+
var riverbankSiteConfigSchema = z73.object({
|
|
40592
|
+
siteId: z73.string().uuid(),
|
|
40293
40593
|
previewUrl: sdkSiteUrlSchema.optional(),
|
|
40294
40594
|
liveUrl: sdkSiteUrlSchema.optional(),
|
|
40295
40595
|
theme: sdkThemeConfigSchema2.optional(),
|
|
40296
40596
|
styles: siteStyleConfigSchema,
|
|
40297
40597
|
layout: layoutConfigSchema.optional(),
|
|
40298
|
-
customBlocks:
|
|
40598
|
+
customBlocks: z73.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
|
|
40299
40599
|
// Ensure unique block IDs
|
|
40300
40600
|
(blocks) => {
|
|
40301
40601
|
const ids = blocks.map((b) => b.id);
|
|
@@ -40308,7 +40608,7 @@ var riverbankSiteConfigSchema = z72.object({
|
|
|
40308
40608
|
workflows: sdkWorkflowsSchema2,
|
|
40309
40609
|
content: contentConfigSchema.optional(),
|
|
40310
40610
|
// CLI-related configuration (Phase 4)
|
|
40311
|
-
contentDir:
|
|
40611
|
+
contentDir: z73.string().optional(),
|
|
40312
40612
|
sync: syncConfigSchema,
|
|
40313
40613
|
deploy: deployConfigSchema,
|
|
40314
40614
|
// Theme sync configuration (Phase 5)
|