@riverbankcms/sdk 0.96.0 → 0.99.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-TPOKCCKY.mjs} +3 -3
- package/dist/{PreviewEditorUI-JD75GE5F.mjs → PreviewEditorUI-Y347GLC2.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-OGTXRQ4M.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +36 -36
- package/dist/_dts/api/src/billing.d.ts +2 -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/commercePortalEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +109 -40
- package/dist/_dts/api/src/endpoints.d.ts +88 -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/siteOperations.d.ts +65 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +7 -1
- package/dist/_dts/billing/src/site-arrangements.d.ts +151 -0
- package/dist/_dts/billing/src/subscriptions/store.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +2 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +8 -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/booking/DatePicker.d.ts +6 -2
- package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/components/booking/TimeSlotSelector.d.ts +10 -4
- 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/useHeadlessBookingFlow.state.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/booking-form.headless.state.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/StepIndicator.d.ts +3 -1
- 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/components/FeedbackMessage.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/{nodes/event-registration → shared/components}/SelectableOptionCard.d.ts +11 -2
- package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +16 -5
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +5 -0
- package/dist/_dts/blocks/src/utils/date-formatting.d.ts +18 -2
- 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 +767 -20
- package/dist/_dts/field-primitives/src/bindings/index.d.ts +8 -0
- package/dist/_dts/sdk/src/__mocks__/next-cache.d.ts +1 -1
- 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/push.d.ts +13 -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/entryMergeReport.d.ts +6 -18
- package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -4
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +6 -18
- package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +2 -4
- package/dist/_dts/sdk/src/cli/merge-remote/sharedBaseSnapshots.d.ts +32 -0
- package/dist/_dts/sdk/src/cli/merge-remote/sharedMergePlan.d.ts +27 -0
- package/dist/_dts/sdk/src/cli/merge-remote/sharedMergeReport.d.ts +63 -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/index.d.ts +6 -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/data/prefetchBlockData.d.ts +6 -1
- package/dist/_dts/sdk/src/next/route-outcome-proxy.d.ts +3 -3
- package/dist/_dts/sdk/src/next/types.d.ts +19 -0
- package/dist/_dts/sdk/src/prebuild/loader.d.ts +8 -1
- 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/blocks-page-renderer.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -0
- package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +58 -1
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +8 -0
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/index.d.ts +7 -7
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +18 -66
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -0
- package/dist/_dts/sdk/src/routing/resolveRoute.d.ts +18 -0
- package/dist/_dts/sdk/src/test/apiClient.d.ts +17 -0
- package/dist/_dts/sdk/src/test/bunDom.setup.d.ts +1 -0
- package/dist/_dts/sdk/src/test/env.d.ts +4 -0
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +3 -3
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/interactive/generateBaseCSS.d.ts +6 -0
- package/dist/_dts/theme-core/src/status/contextualColors.d.ts +6 -0
- package/dist/_dts/theme-core/src/status/index.d.ts +1 -0
- package/dist/{chunk-VHIMXQ7Z.mjs → chunk-4HXF2QLH.mjs} +2 -2
- package/dist/{chunk-VTPPVAOL.mjs → chunk-EMJIT3ZJ.mjs} +1 -1
- package/dist/{chunk-4TLTV7OB.mjs → chunk-PM7HGDHM.mjs} +2 -2
- package/dist/{chunk-XMATDBXO.mjs → chunk-XO34WBBP.mjs} +2139 -1348
- package/dist/{chunk-EL55VV6Q.mjs → chunk-YGTTEVUM.mjs} +31 -10
- package/dist/{chunk-7ED5UNHL.mjs → chunk-YWTCCOSF.mjs} +117 -0
- package/dist/cli/index.mjs +2690 -1503
- 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-QSUEYL4L.mjs} +2 -2
- package/dist/client/{bookingForm-AOU4VHP5.mjs → bookingForm-QYGAHPDP.mjs} +376 -302
- package/dist/client/bookings.mjs +795 -429
- package/dist/client/{carousel-4QSX2JPC.mjs → carousel-SM2LEWAU.mjs} +3 -3
- package/dist/client/{cart-JKN6C4ZB.mjs → cart-3N3SFKNQ.mjs} +7 -7
- package/dist/client/{checkout-YY6YMITW.mjs → checkout-YFAYPKPZ.mjs} +7 -7
- package/dist/client/{chunk-SY543WZ3.mjs → chunk-5DLGREUB.mjs} +1 -1
- package/dist/client/{chunk-A3YN7M3G.mjs → chunk-CLZ7NBSP.mjs} +147 -75
- package/dist/client/{chunk-GWCRCJLB.mjs → chunk-CYJ3MUFP.mjs} +18 -6
- package/dist/client/{chunk-JNE6UI6U.mjs → chunk-H3H3ODO7.mjs} +1 -1
- package/dist/client/{chunk-CPKMJVBD.mjs → chunk-HPEQ4YWW.mjs} +83 -109
- package/dist/client/{chunk-PCHACQEB.mjs → chunk-IIUIKJ4K.mjs} +15 -7
- package/dist/client/{chunk-TNGL2WJF.mjs → chunk-IOAHWAQG.mjs} +18 -0
- package/dist/client/{chunk-6H27K6AA.mjs → chunk-JTKBF3W2.mjs} +10 -4
- package/dist/client/{chunk-OLAOAZEO.mjs → chunk-K7KTSACR.mjs} +1 -1
- package/dist/client/{chunk-BFCJZODD.mjs → chunk-R32M5HFS.mjs} +6 -6
- package/dist/client/{chunk-VJROUYOQ.mjs → chunk-WEVT46PX.mjs} +3 -3
- package/dist/client/{chunk-H7A6PUGM.mjs → chunk-ZU65LTI3.mjs} +1 -1
- package/dist/client/client.mjs +5052 -4083
- package/dist/client/{courseRegistration-UU2KMPSQ.mjs → courseRegistration-LYBE7VVK.mjs} +7 -7
- package/dist/client/{eventCalendar-WIVNS2TM.mjs → eventCalendar-FMTB75X6.mjs} +9 -9
- package/dist/client/{eventCombined-P3G5MW4J.mjs → eventCombined-E4LUCJXT.mjs} +9 -9
- package/dist/client/{eventDetails-2VHJ2RDG.mjs → eventDetails-GELSRR4Z.mjs} +9 -9
- package/dist/client/{eventListing-TGO6JI3R.mjs → eventListing-TB623B6R.mjs} +9 -9
- package/dist/client/{eventRegistration-B46HEJES.mjs → eventRegistration-NRIKHXTI.mjs} +9 -9
- package/dist/client/{form-VKRTFUNQ.mjs → form-Y4U4IAXE.mjs} +3 -3
- package/dist/client/{headerSection-XUX4ZJLO.mjs → headerSection-QSOVV5P7.mjs} +3 -3
- package/dist/client/hooks.mjs +1776 -1355
- package/dist/client/{locationMap-NQFI5MJO.mjs → locationMap-QYCAHH7H.mjs} +3 -3
- package/dist/client/{newsletterForm-P2GETCQK.mjs → newsletterForm-NWHY5TBY.mjs} +3 -3
- package/dist/client/{productDetail-7NQ7O5IF.mjs → productDetail-FYDMU2CE.mjs} +7 -7
- package/dist/client/{productList-RX6ZJ7BL.mjs → productList-D76CGACQ.mjs} +7 -7
- package/dist/client/rendering/client.mjs +2990 -2470
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3236 -2236
- package/dist/client/{shop-BHN5AKY6.mjs → shop-SOUACT5N.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +117 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +117 -0
- package/dist/{sdk-runtime-X2LXQ5IC.mjs → sdk-runtime-XPVE3LBA.mjs} +6 -6
- package/dist/server/components.mjs +3115 -2484
- package/dist/server/config-template-validation.mjs +6 -2
- package/dist/server/config-validation.mjs +1961 -1580
- package/dist/server/config.mjs +1961 -1580
- package/dist/server/data.mjs +1762 -1352
- package/dist/server/index.mjs +266 -33
- package/dist/server/next/middleware.mjs +2 -2
- package/dist/server/next.mjs +3399 -2504
- package/dist/server/page-converter.mjs +1553 -1295
- package/dist/server/prebuild-loader.mjs +42 -23
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3151 -2489
- package/dist/server/rendering.mjs +3363 -2555
- package/dist/server/routing.mjs +1877 -1388
- package/dist/server/server.mjs +2057 -1402
- package/dist/server/theme-bridge.mjs +597 -505
- package/dist/server/theme.mjs +5 -4
- package/dist/styles/index.css +499 -490
- package/package.json +6 -4
- 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",
|
|
@@ -5589,6 +5698,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
5589
5698
|
responseKind: "json",
|
|
5590
5699
|
errors: []
|
|
5591
5700
|
},
|
|
5701
|
+
adminResolveSiteBillingManualReview: {
|
|
5702
|
+
path: "/admin/sites/{siteId}/billing/manual-reviews/{reviewId}/resolve",
|
|
5703
|
+
method: "POST",
|
|
5704
|
+
tags: ["admin", "site-{siteId}", "billing"],
|
|
5705
|
+
auth: "admin",
|
|
5706
|
+
responseKind: "json",
|
|
5707
|
+
errors: []
|
|
5708
|
+
},
|
|
5592
5709
|
// Admin GSC/SEO endpoints
|
|
5593
5710
|
adminGscVerifyStart: {
|
|
5594
5711
|
path: "/admin/seo/gsc/properties/verify/start",
|
|
@@ -6831,7 +6948,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
6831
6948
|
);
|
|
6832
6949
|
|
|
6833
6950
|
// ../api/src/sdkConfig/contracts.ts
|
|
6834
|
-
import { z as
|
|
6951
|
+
import { z as z64 } from "zod";
|
|
6835
6952
|
|
|
6836
6953
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
6837
6954
|
function augmentManifest(manifest) {
|
|
@@ -7000,10 +7117,20 @@ var repeatSchema = z3.object({
|
|
|
7000
7117
|
direction: z3.enum(["asc", "desc"]).default("asc")
|
|
7001
7118
|
}).optional()
|
|
7002
7119
|
});
|
|
7120
|
+
var conditionalAuthoringPresenceSchema = z3.discriminatedUnion("kind", [
|
|
7121
|
+
z3.object({ kind: z3.literal("visitor-only") }),
|
|
7122
|
+
z3.object({
|
|
7123
|
+
kind: z3.literal("recover-empty-when-active"),
|
|
7124
|
+
placeholder: z3.string().min(1).optional()
|
|
7125
|
+
})
|
|
7126
|
+
]);
|
|
7003
7127
|
var conditionSchema = z3.object({
|
|
7004
7128
|
when: bindingSchema,
|
|
7005
7129
|
equals: z3.unknown().optional(),
|
|
7006
|
-
not: z3.boolean().default(false)
|
|
7130
|
+
not: z3.boolean().default(false),
|
|
7131
|
+
authoringPresence: conditionalAuthoringPresenceSchema.default({
|
|
7132
|
+
kind: "visitor-only"
|
|
7133
|
+
})
|
|
7007
7134
|
});
|
|
7008
7135
|
var dataScopeSchema = z3.object({
|
|
7009
7136
|
name: z3.string().min(1),
|
|
@@ -7064,6 +7191,7 @@ var ALLOWED_NODE_TYPES = [
|
|
|
7064
7191
|
// Forms
|
|
7065
7192
|
"form",
|
|
7066
7193
|
"booking-form",
|
|
7194
|
+
"weekly-slot-availability",
|
|
7067
7195
|
// Events
|
|
7068
7196
|
"event-registration",
|
|
7069
7197
|
"event-spotlight",
|
|
@@ -11046,15 +11174,16 @@ var joyStamp = defineButtonPersonality({
|
|
|
11046
11174
|
// 700, matching the mockup's chunky button labels.
|
|
11047
11175
|
typography: "heading",
|
|
11048
11176
|
fontWeight: 700,
|
|
11177
|
+
fontSize: "text-lg",
|
|
11049
11178
|
borderWidth: 2,
|
|
11050
11179
|
hoverTransform: "none",
|
|
11051
11180
|
hoverColor: "none"
|
|
11052
11181
|
},
|
|
11053
11182
|
sizes: {
|
|
11054
|
-
sm: { padding: "0.625rem 1.25rem", fontSize: "text-
|
|
11055
|
-
md: { padding: "0.875rem 1.75rem", fontSize: "text-
|
|
11056
|
-
lg: { padding: "1.125rem 2.25rem", fontSize: "text-
|
|
11057
|
-
xl: { padding: "1.25rem 2.75rem", fontSize: "text-
|
|
11183
|
+
sm: { padding: "0.625rem 1.25rem", fontSize: "text-base" },
|
|
11184
|
+
md: { padding: "0.875rem 1.75rem", fontSize: "text-lg" },
|
|
11185
|
+
lg: { padding: "1.125rem 2.25rem", fontSize: "text-xl" },
|
|
11186
|
+
xl: { padding: "1.25rem 2.75rem", fontSize: "text-2xl" }
|
|
11058
11187
|
},
|
|
11059
11188
|
variants: [
|
|
11060
11189
|
{
|
|
@@ -18101,7 +18230,8 @@ function when(path, options) {
|
|
|
18101
18230
|
$when: {
|
|
18102
18231
|
when: { from: path },
|
|
18103
18232
|
...options?.equals !== void 0 ? { equals: options.equals } : {},
|
|
18104
|
-
...options?.not ? { not: true } : {}
|
|
18233
|
+
...options?.not ? { not: true } : {},
|
|
18234
|
+
...options?.authoringPresence ? { authoringPresence: options.authoringPresence } : {}
|
|
18105
18235
|
}
|
|
18106
18236
|
});
|
|
18107
18237
|
}
|
|
@@ -27928,77 +28058,247 @@ var appointmentBookingBlockDefinition = {
|
|
|
27928
28058
|
}
|
|
27929
28059
|
};
|
|
27930
28060
|
|
|
28061
|
+
// ../blocks/src/system/blocks/weekly-slot-availability.ts
|
|
28062
|
+
import { z as z39 } from "zod";
|
|
28063
|
+
var weeklySlotAvailabilityManifest = createBlockManifest({
|
|
28064
|
+
id: "block.weekly-slot-availability",
|
|
28065
|
+
version: "1.0.0",
|
|
28066
|
+
title: "Weekly Slot Availability",
|
|
28067
|
+
titleSource: "heading",
|
|
28068
|
+
description: "Shows available recurring appointment slot patterns",
|
|
28069
|
+
skipSectionStyles: true,
|
|
28070
|
+
additionalFields: [
|
|
28071
|
+
{
|
|
28072
|
+
id: "serviceId",
|
|
28073
|
+
type: "reference",
|
|
28074
|
+
label: "Appointment service",
|
|
28075
|
+
description: "Choose which appointment service to show availability for",
|
|
28076
|
+
required: true,
|
|
28077
|
+
referenceKind: "appointmentService",
|
|
28078
|
+
allowManualEntry: false,
|
|
28079
|
+
ui: { intent: "behavior" }
|
|
28080
|
+
},
|
|
28081
|
+
{
|
|
28082
|
+
id: "resourceId",
|
|
28083
|
+
type: "reference",
|
|
28084
|
+
label: "Appointment resource",
|
|
28085
|
+
description: "Optionally narrow the availability to one practitioner or room",
|
|
28086
|
+
required: false,
|
|
28087
|
+
referenceKind: "appointmentResource",
|
|
28088
|
+
allowManualEntry: false,
|
|
28089
|
+
ui: { intent: "behavior" }
|
|
28090
|
+
},
|
|
28091
|
+
{
|
|
28092
|
+
id: "horizonWeeks",
|
|
28093
|
+
type: "select",
|
|
28094
|
+
label: "Look ahead",
|
|
28095
|
+
required: false,
|
|
28096
|
+
multiple: false,
|
|
28097
|
+
defaultValue: "4",
|
|
28098
|
+
options: [
|
|
28099
|
+
{ value: "1", label: "1 week" },
|
|
28100
|
+
{ value: "2", label: "2 weeks" },
|
|
28101
|
+
{ value: "4", label: "4 weeks" }
|
|
28102
|
+
],
|
|
28103
|
+
ui: { intent: "behavior" }
|
|
28104
|
+
},
|
|
28105
|
+
{
|
|
28106
|
+
id: "timezone",
|
|
28107
|
+
type: "text",
|
|
28108
|
+
label: "Timezone",
|
|
28109
|
+
description: "Leave blank to use the visitor timezone when the block loads",
|
|
28110
|
+
required: false,
|
|
28111
|
+
multiline: false,
|
|
28112
|
+
defaultValue: "",
|
|
28113
|
+
maxLength: 64,
|
|
28114
|
+
ui: { intent: "behavior" }
|
|
28115
|
+
},
|
|
28116
|
+
{
|
|
28117
|
+
id: "heading",
|
|
28118
|
+
type: "text",
|
|
28119
|
+
label: "Heading",
|
|
28120
|
+
required: false,
|
|
28121
|
+
multiline: false,
|
|
28122
|
+
defaultValue: "Weekly availability"
|
|
28123
|
+
},
|
|
28124
|
+
{
|
|
28125
|
+
id: "description",
|
|
28126
|
+
type: "richText",
|
|
28127
|
+
label: "Description",
|
|
28128
|
+
required: false
|
|
28129
|
+
},
|
|
28130
|
+
{
|
|
28131
|
+
id: "emptyMessage",
|
|
28132
|
+
type: "text",
|
|
28133
|
+
label: "Empty message",
|
|
28134
|
+
required: false,
|
|
28135
|
+
multiline: true,
|
|
28136
|
+
defaultValue: "No regular weekly openings are currently available.",
|
|
28137
|
+
maxLength: 180
|
|
28138
|
+
},
|
|
28139
|
+
{
|
|
28140
|
+
id: "ctaText",
|
|
28141
|
+
type: "text",
|
|
28142
|
+
label: "Enquiry button text",
|
|
28143
|
+
required: false,
|
|
28144
|
+
multiline: false,
|
|
28145
|
+
defaultValue: "Enquire about this slot",
|
|
28146
|
+
maxLength: 60
|
|
28147
|
+
},
|
|
28148
|
+
{
|
|
28149
|
+
id: "ctaUrl",
|
|
28150
|
+
type: "url",
|
|
28151
|
+
label: "Enquiry URL",
|
|
28152
|
+
required: false,
|
|
28153
|
+
ui: { intent: "behavior" }
|
|
28154
|
+
},
|
|
28155
|
+
sectionStylesField({
|
|
28156
|
+
id: "_sectionStyles",
|
|
28157
|
+
label: "Section styles"
|
|
28158
|
+
})
|
|
28159
|
+
],
|
|
28160
|
+
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
28161
|
+
behaviours: {
|
|
28162
|
+
supportsThemeSwitching: true,
|
|
28163
|
+
inlineEditing: false,
|
|
28164
|
+
animation: false,
|
|
28165
|
+
paletteHidden: false
|
|
28166
|
+
},
|
|
28167
|
+
category: "interactive",
|
|
28168
|
+
tags: ["booking", "appointment", "calendar", "weekly", "availability"],
|
|
28169
|
+
icon: "CalendarDays",
|
|
28170
|
+
layout: [
|
|
28171
|
+
styledSection({
|
|
28172
|
+
children: sectionContainer([
|
|
28173
|
+
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
28174
|
+
richText({}, bind("content.description"), when("content.description")),
|
|
28175
|
+
el(
|
|
28176
|
+
"weekly-slot-availability",
|
|
28177
|
+
withApiBindings({
|
|
28178
|
+
serviceId: { $bind: { from: "content.serviceId" } },
|
|
28179
|
+
resourceId: { $bind: { from: "content.resourceId", fallback: null } },
|
|
28180
|
+
horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
|
|
28181
|
+
timezone: { $bind: { from: "content.timezone", fallback: null } },
|
|
28182
|
+
availability: { $bind: { from: "data.availability", fallback: null } },
|
|
28183
|
+
emptyMessage: { $bind: { from: "content.emptyMessage", fallback: null } },
|
|
28184
|
+
ctaText: { $bind: { from: "content.ctaText", fallback: null } },
|
|
28185
|
+
ctaUrl: { $bind: { from: "content.ctaUrl", fallback: null } }
|
|
28186
|
+
})
|
|
28187
|
+
)
|
|
28188
|
+
], {
|
|
28189
|
+
gap: "lg"
|
|
28190
|
+
}),
|
|
28191
|
+
baseClass: "",
|
|
28192
|
+
spacing: "spacious"
|
|
28193
|
+
})
|
|
28194
|
+
]
|
|
28195
|
+
});
|
|
28196
|
+
var weeklySlotAvailabilityOptionSchema = z39.object({
|
|
28197
|
+
id: z39.string(),
|
|
28198
|
+
resourceId: z39.string(),
|
|
28199
|
+
weekday: z39.number(),
|
|
28200
|
+
weekdayLabel: z39.string(),
|
|
28201
|
+
startTime: z39.string(),
|
|
28202
|
+
endTime: z39.string(),
|
|
28203
|
+
nextDate: z39.string(),
|
|
28204
|
+
availableWeeks: z39.number()
|
|
28205
|
+
});
|
|
28206
|
+
var weeklySlotAvailabilityDataSchema = z39.object({
|
|
28207
|
+
slots: z39.array(weeklySlotAvailabilityOptionSchema),
|
|
28208
|
+
horizonWeeks: z39.number(),
|
|
28209
|
+
timezone: z39.string(),
|
|
28210
|
+
startDate: z39.string(),
|
|
28211
|
+
endDate: z39.string()
|
|
28212
|
+
});
|
|
28213
|
+
var weeklySlotAvailabilityBlockDefinition = {
|
|
28214
|
+
manifest: weeklySlotAvailabilityManifest,
|
|
28215
|
+
dataSchemas: { availability: weeklySlotAvailabilityDataSchema.optional() },
|
|
28216
|
+
dataLoaders: {
|
|
28217
|
+
availability: {
|
|
28218
|
+
endpoint: "getPublicWeeklySlotAvailability",
|
|
28219
|
+
params: {
|
|
28220
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
28221
|
+
serviceId: { $bind: { from: "content.serviceId" } },
|
|
28222
|
+
resourceId: { $bind: { from: "content.resourceId", fallback: void 0 } },
|
|
28223
|
+
horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
|
|
28224
|
+
timezone: { $bind: { from: "content.timezone", fallback: void 0 } }
|
|
28225
|
+
},
|
|
28226
|
+
mode: "server"
|
|
28227
|
+
}
|
|
28228
|
+
}
|
|
28229
|
+
};
|
|
28230
|
+
|
|
27931
28231
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27932
|
-
import { z as
|
|
28232
|
+
import { z as z44 } from "zod";
|
|
27933
28233
|
|
|
27934
28234
|
// ../blocks/src/lib/media.ts
|
|
27935
|
-
import
|
|
28235
|
+
import z40 from "zod";
|
|
27936
28236
|
var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
|
|
27937
28237
|
"document",
|
|
27938
28238
|
"spreadsheet",
|
|
27939
28239
|
"archive",
|
|
27940
28240
|
"audio"
|
|
27941
28241
|
];
|
|
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:
|
|
28242
|
+
var hotspotSchema2 = z40.object({
|
|
28243
|
+
x: z40.number().min(0).max(1),
|
|
28244
|
+
y: z40.number().min(0).max(1),
|
|
28245
|
+
radius: z40.number().optional()
|
|
28246
|
+
});
|
|
28247
|
+
var rotationSchema2 = z40.union([z40.literal(0), z40.literal(90), z40.literal(180), z40.literal(270)]);
|
|
28248
|
+
var rectSchema2 = z40.tuple([z40.number(), z40.number(), z40.number(), z40.number()]);
|
|
28249
|
+
var aspectCropSchema2 = z40.object({
|
|
28250
|
+
aspect: z40.preprocess((value) => value == null ? void 0 : value, z40.string().optional()),
|
|
28251
|
+
rect: z40.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
|
|
28252
|
+
hotspot: z40.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
|
|
28253
|
+
rotation: z40.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
|
|
28254
|
+
});
|
|
28255
|
+
var transformSchema2 = z40.object({
|
|
28256
|
+
aspectCrops: z40.preprocess((value) => {
|
|
27957
28257
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
27958
28258
|
return void 0;
|
|
27959
28259
|
}
|
|
27960
28260
|
return value;
|
|
27961
|
-
},
|
|
28261
|
+
}, z40.record(z40.string(), aspectCropSchema2.catch({}))).optional(),
|
|
27962
28262
|
rect: rectSchema2.optional(),
|
|
27963
28263
|
hotspot: hotspotSchema2.optional(),
|
|
27964
28264
|
rotation: rotationSchema2.optional()
|
|
27965
28265
|
});
|
|
27966
|
-
var mediaPosterSchema =
|
|
27967
|
-
|
|
27968
|
-
tag:
|
|
27969
|
-
assetId:
|
|
27970
|
-
storageBucket:
|
|
27971
|
-
storagePath:
|
|
28266
|
+
var mediaPosterSchema = z40.discriminatedUnion("tag", [
|
|
28267
|
+
z40.object({
|
|
28268
|
+
tag: z40.literal("storage"),
|
|
28269
|
+
assetId: z40.string().optional(),
|
|
28270
|
+
storageBucket: z40.string().min(1),
|
|
28271
|
+
storagePath: z40.string().min(1)
|
|
27972
28272
|
}),
|
|
27973
|
-
|
|
27974
|
-
tag:
|
|
27975
|
-
assetId:
|
|
27976
|
-
src:
|
|
28273
|
+
z40.object({
|
|
28274
|
+
tag: z40.literal("external-src"),
|
|
28275
|
+
assetId: z40.string().optional(),
|
|
28276
|
+
src: z40.string().url()
|
|
27977
28277
|
})
|
|
27978
28278
|
]);
|
|
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:
|
|
28279
|
+
var mediaBaseSchema = z40.object({
|
|
28280
|
+
purpose: z40.string().optional(),
|
|
28281
|
+
placeholder: z40.boolean().default(true).optional(),
|
|
28282
|
+
assetId: z40.string().optional(),
|
|
28283
|
+
identifier: z40.string().optional(),
|
|
28284
|
+
src: z40.string().optional(),
|
|
28285
|
+
alt: z40.string().optional(),
|
|
28286
|
+
filename: z40.string().optional(),
|
|
28287
|
+
mimeType: z40.string().optional(),
|
|
28288
|
+
width: z40.number().optional(),
|
|
28289
|
+
height: z40.number().optional(),
|
|
28290
|
+
storageBucket: z40.string().optional(),
|
|
28291
|
+
storagePath: z40.string().optional(),
|
|
27992
28292
|
poster: mediaPosterSchema.optional(),
|
|
27993
28293
|
transform: transformSchema2.optional()
|
|
27994
28294
|
});
|
|
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 =
|
|
28295
|
+
var imageMediaSchema = mediaBaseSchema.extend({ type: z40.literal("image") });
|
|
28296
|
+
var videoMediaSchema = mediaBaseSchema.extend({ type: z40.literal("video") });
|
|
28297
|
+
var audioMediaSchema = mediaBaseSchema.extend({ type: z40.literal("audio") });
|
|
28298
|
+
var documentMediaSchema = mediaBaseSchema.extend({ type: z40.literal("document") });
|
|
28299
|
+
var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z40.literal("spreadsheet") });
|
|
28300
|
+
var archiveMediaSchema = mediaBaseSchema.extend({ type: z40.literal("archive") });
|
|
28301
|
+
var mediaSchema2 = z40.discriminatedUnion("type", [
|
|
28002
28302
|
imageMediaSchema,
|
|
28003
28303
|
videoMediaSchema,
|
|
28004
28304
|
audioMediaSchema,
|
|
@@ -28008,372 +28308,372 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
|
|
|
28008
28308
|
]);
|
|
28009
28309
|
|
|
28010
28310
|
// ../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:
|
|
28311
|
+
import { z as z41 } from "zod";
|
|
28312
|
+
var TipTapMarkSchema = z41.object({
|
|
28313
|
+
type: z41.string(),
|
|
28314
|
+
attrs: z41.record(z41.string(), z41.unknown()).optional()
|
|
28315
|
+
});
|
|
28316
|
+
var TipTapNodeSchema = z41.lazy(
|
|
28317
|
+
() => z41.object({
|
|
28318
|
+
type: z41.string(),
|
|
28319
|
+
content: z41.array(TipTapNodeSchema).optional(),
|
|
28320
|
+
text: z41.string().optional(),
|
|
28321
|
+
attrs: z41.record(z41.string(), z41.unknown()).optional(),
|
|
28322
|
+
marks: z41.array(TipTapMarkSchema).optional()
|
|
28023
28323
|
})
|
|
28024
28324
|
);
|
|
28025
|
-
var RichTextValueSchema =
|
|
28325
|
+
var RichTextValueSchema = z41.union([
|
|
28026
28326
|
// Canonical: TipTap document directly
|
|
28027
28327
|
TipTapNodeSchema,
|
|
28028
28328
|
// Legacy (read-tolerance only): wrapped in { doc: {...} }
|
|
28029
|
-
|
|
28329
|
+
z41.object({
|
|
28030
28330
|
doc: TipTapNodeSchema
|
|
28031
28331
|
})
|
|
28032
28332
|
]);
|
|
28033
|
-
var RichTextDocSchema =
|
|
28034
|
-
type:
|
|
28035
|
-
content:
|
|
28333
|
+
var RichTextDocSchema = z41.object({
|
|
28334
|
+
type: z41.literal("doc"),
|
|
28335
|
+
content: z41.array(TipTapNodeSchema)
|
|
28036
28336
|
});
|
|
28037
28337
|
|
|
28038
28338
|
// ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
28039
|
-
import { z as
|
|
28040
|
-
var bookingDepositRefundPolicySchema =
|
|
28339
|
+
import { z as z42 } from "zod";
|
|
28340
|
+
var bookingDepositRefundPolicySchema = z42.enum([
|
|
28041
28341
|
"refundable",
|
|
28042
28342
|
"non_refundable"
|
|
28043
28343
|
]);
|
|
28044
|
-
var bookingInstalmentPlanSchema =
|
|
28045
|
-
|
|
28046
|
-
kind:
|
|
28047
|
-
depositAmountCents:
|
|
28344
|
+
var bookingInstalmentPlanSchema = z42.union([
|
|
28345
|
+
z42.object({
|
|
28346
|
+
kind: z42.literal("deposit_plus_one_remainder"),
|
|
28347
|
+
depositAmountCents: z42.number().int().min(0),
|
|
28048
28348
|
depositRefundability: bookingDepositRefundPolicySchema,
|
|
28049
|
-
remainderDueCount:
|
|
28050
|
-
intervalUnit:
|
|
28349
|
+
remainderDueCount: z42.number().int().positive(),
|
|
28350
|
+
intervalUnit: z42.enum(["day", "week", "month"])
|
|
28051
28351
|
}),
|
|
28052
|
-
|
|
28053
|
-
kind:
|
|
28054
|
-
depositAmountCents:
|
|
28352
|
+
z42.object({
|
|
28353
|
+
kind: z42.literal("deposit_plus_scheduled_instalments"),
|
|
28354
|
+
depositAmountCents: z42.number().int().min(0),
|
|
28055
28355
|
depositRefundability: bookingDepositRefundPolicySchema,
|
|
28056
|
-
instalmentCount:
|
|
28057
|
-
intervalCount:
|
|
28058
|
-
intervalUnit:
|
|
28356
|
+
instalmentCount: z42.number().int().positive(),
|
|
28357
|
+
intervalCount: z42.number().int().positive(),
|
|
28358
|
+
intervalUnit: z42.enum(["day", "week", "month"])
|
|
28059
28359
|
}),
|
|
28060
|
-
|
|
28061
|
-
kind:
|
|
28062
|
-
instalmentCount:
|
|
28063
|
-
intervalCount:
|
|
28064
|
-
intervalUnit:
|
|
28360
|
+
z42.object({
|
|
28361
|
+
kind: z42.literal("equal_scheduled_instalments"),
|
|
28362
|
+
instalmentCount: z42.number().int().positive(),
|
|
28363
|
+
intervalCount: z42.number().int().positive(),
|
|
28364
|
+
intervalUnit: z42.enum(["day", "week", "month"])
|
|
28065
28365
|
})
|
|
28066
28366
|
]);
|
|
28067
|
-
var bookingFlexibleBalanceDueDateRuleSchema =
|
|
28068
|
-
|
|
28069
|
-
kind:
|
|
28070
|
-
daysBeforeStart:
|
|
28367
|
+
var bookingFlexibleBalanceDueDateRuleSchema = z42.union([
|
|
28368
|
+
z42.object({
|
|
28369
|
+
kind: z42.literal("relative_to_start_date"),
|
|
28370
|
+
daysBeforeStart: z42.number().int().positive()
|
|
28071
28371
|
}),
|
|
28072
|
-
|
|
28073
|
-
kind:
|
|
28074
|
-
dueAt:
|
|
28372
|
+
z42.object({
|
|
28373
|
+
kind: z42.literal("fixed_calendar_date"),
|
|
28374
|
+
dueAt: z42.string().datetime()
|
|
28075
28375
|
})
|
|
28076
28376
|
]);
|
|
28077
|
-
var bookingFlexibleBalanceConfigSchema =
|
|
28078
|
-
upfrontAmountCents:
|
|
28377
|
+
var bookingFlexibleBalanceConfigSchema = z42.object({
|
|
28378
|
+
upfrontAmountCents: z42.number().int().min(0),
|
|
28079
28379
|
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
28080
28380
|
depositRefundability: bookingDepositRefundPolicySchema
|
|
28081
28381
|
});
|
|
28082
|
-
var blockBookingPaymentCollectionOptionSchema =
|
|
28083
|
-
|
|
28084
|
-
kind:
|
|
28382
|
+
var blockBookingPaymentCollectionOptionSchema = z42.union([
|
|
28383
|
+
z42.object({
|
|
28384
|
+
kind: z42.literal("upfront")
|
|
28085
28385
|
}),
|
|
28086
|
-
|
|
28087
|
-
kind:
|
|
28386
|
+
z42.object({
|
|
28387
|
+
kind: z42.literal("deferred_manual")
|
|
28088
28388
|
}),
|
|
28089
|
-
|
|
28090
|
-
kind:
|
|
28389
|
+
z42.object({
|
|
28390
|
+
kind: z42.literal("instalment_plan"),
|
|
28091
28391
|
plan: bookingInstalmentPlanSchema
|
|
28092
28392
|
}),
|
|
28093
|
-
|
|
28094
|
-
kind:
|
|
28393
|
+
z42.object({
|
|
28394
|
+
kind: z42.literal("flexible_balance"),
|
|
28095
28395
|
config: bookingFlexibleBalanceConfigSchema
|
|
28096
28396
|
})
|
|
28097
28397
|
]);
|
|
28098
|
-
var blockBookingPaymentTermsSchema =
|
|
28099
|
-
allowedOptions:
|
|
28398
|
+
var blockBookingPaymentTermsSchema = z42.object({
|
|
28399
|
+
allowedOptions: z42.array(blockBookingPaymentCollectionOptionSchema).min(1)
|
|
28100
28400
|
});
|
|
28101
28401
|
|
|
28102
28402
|
// ../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:
|
|
28403
|
+
import { z as z43 } from "zod";
|
|
28404
|
+
var courseVenueSchema = z43.object({
|
|
28405
|
+
id: z43.string(),
|
|
28406
|
+
name: z43.string(),
|
|
28407
|
+
address: z43.string().nullable()
|
|
28408
|
+
});
|
|
28409
|
+
var courseSessionSchema = z43.object({
|
|
28410
|
+
id: z43.string(),
|
|
28411
|
+
startsAt: z43.string(),
|
|
28412
|
+
endsAt: z43.string(),
|
|
28413
|
+
timeZone: z43.string(),
|
|
28414
|
+
capacityOverride: z43.number().nullable().optional(),
|
|
28415
|
+
overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
|
|
28416
|
+
});
|
|
28417
|
+
var courseTeamMemberSummarySchema = z43.object({
|
|
28418
|
+
id: z43.string(),
|
|
28419
|
+
name: z43.string(),
|
|
28420
|
+
roleLabel: z43.string().nullable(),
|
|
28421
|
+
summary: z43.string().nullable(),
|
|
28422
|
+
profilePath: z43.string().nullable()
|
|
28423
|
+
});
|
|
28424
|
+
var coursePricingOptionSchema = z43.object({
|
|
28425
|
+
id: z43.string(),
|
|
28426
|
+
name: z43.string(),
|
|
28427
|
+
description: z43.string().nullable(),
|
|
28428
|
+
priceAmount: z43.number(),
|
|
28429
|
+
isActive: z43.boolean(),
|
|
28430
|
+
sortOrder: z43.number(),
|
|
28431
|
+
capacityLimit: z43.number().nullable(),
|
|
28432
|
+
saleStartsAt: z43.string().nullable(),
|
|
28433
|
+
saleEndsAt: z43.string().nullable(),
|
|
28434
|
+
attendanceScope: z43.enum(["in_person", "online", "both"]).nullable().optional()
|
|
28435
|
+
});
|
|
28436
|
+
var coursePricingSchema = z43.object({
|
|
28437
|
+
bookingRequirement: z43.enum(["none", "required"]),
|
|
28438
|
+
pricingStrategy: z43.enum(["free", "single", "tiered", "sliding_scale"]),
|
|
28439
|
+
currency: z43.string(),
|
|
28440
|
+
singlePriceAmount: z43.number().nullable(),
|
|
28441
|
+
slidingMinAmount: z43.number().nullable().optional(),
|
|
28442
|
+
slidingMaxAmount: z43.number().nullable().optional(),
|
|
28443
|
+
slidingSuggestedAmount: z43.number().nullable().optional(),
|
|
28144
28444
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28145
|
-
options:
|
|
28146
|
-
});
|
|
28147
|
-
var publicCourseSchema =
|
|
28148
|
-
id:
|
|
28149
|
-
title:
|
|
28150
|
-
slug:
|
|
28151
|
-
description:
|
|
28152
|
-
teamMembers:
|
|
28153
|
-
enrollmentOpen:
|
|
28445
|
+
options: z43.array(coursePricingOptionSchema)
|
|
28446
|
+
});
|
|
28447
|
+
var publicCourseSchema = z43.object({
|
|
28448
|
+
id: z43.string(),
|
|
28449
|
+
title: z43.string(),
|
|
28450
|
+
slug: z43.string(),
|
|
28451
|
+
description: z43.unknown().nullable(),
|
|
28452
|
+
teamMembers: z43.array(courseTeamMemberSummarySchema).optional(),
|
|
28453
|
+
enrollmentOpen: z43.boolean(),
|
|
28154
28454
|
pricing: coursePricingSchema.optional(),
|
|
28155
|
-
priceCents:
|
|
28156
|
-
currency:
|
|
28455
|
+
priceCents: z43.number().nullable(),
|
|
28456
|
+
currency: z43.string(),
|
|
28157
28457
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28158
|
-
enrollmentCapacity:
|
|
28159
|
-
acceptsMemberships:
|
|
28160
|
-
status:
|
|
28161
|
-
sessionsCount:
|
|
28162
|
-
enrolledCount:
|
|
28163
|
-
availableSpots:
|
|
28164
|
-
sessions:
|
|
28458
|
+
enrollmentCapacity: z43.number().nullable(),
|
|
28459
|
+
acceptsMemberships: z43.boolean(),
|
|
28460
|
+
status: z43.enum(["active", "draft", "cancelled"]),
|
|
28461
|
+
sessionsCount: z43.number(),
|
|
28462
|
+
enrolledCount: z43.number(),
|
|
28463
|
+
availableSpots: z43.number().nullable(),
|
|
28464
|
+
sessions: z43.array(courseSessionSchema),
|
|
28165
28465
|
venue: courseVenueSchema.nullable(),
|
|
28166
|
-
contentEntryId:
|
|
28466
|
+
contentEntryId: z43.string().nullable()
|
|
28167
28467
|
});
|
|
28168
|
-
var publicCoursesArraySchema =
|
|
28468
|
+
var publicCoursesArraySchema = z43.array(publicCourseSchema);
|
|
28169
28469
|
|
|
28170
28470
|
// ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
28171
|
-
var eventPresetSchema =
|
|
28172
|
-
var eventScheduleScopeSchema =
|
|
28173
|
-
var eventDestinationModeSchema =
|
|
28174
|
-
var publicEventDestinationSchema =
|
|
28175
|
-
|
|
28176
|
-
kind:
|
|
28471
|
+
var eventPresetSchema = z44.enum(["event", "class", "workshop", "retreat", "performance"]);
|
|
28472
|
+
var eventScheduleScopeSchema = z44.enum(["recurring", "oneOff"]);
|
|
28473
|
+
var eventDestinationModeSchema = z44.enum(["cms-managed", "system-managed"]);
|
|
28474
|
+
var publicEventDestinationSchema = z44.discriminatedUnion("kind", [
|
|
28475
|
+
z44.object({
|
|
28476
|
+
kind: z44.literal("native"),
|
|
28177
28477
|
mode: eventDestinationModeSchema,
|
|
28178
|
-
path:
|
|
28478
|
+
path: z44.string()
|
|
28179
28479
|
}),
|
|
28180
|
-
|
|
28181
|
-
kind:
|
|
28182
|
-
url:
|
|
28183
|
-
label:
|
|
28480
|
+
z44.object({
|
|
28481
|
+
kind: z44.literal("external"),
|
|
28482
|
+
url: z44.string(),
|
|
28483
|
+
label: z44.string()
|
|
28184
28484
|
})
|
|
28185
28485
|
]);
|
|
28186
|
-
var eventVenueSchema =
|
|
28187
|
-
id:
|
|
28188
|
-
name:
|
|
28189
|
-
address:
|
|
28190
|
-
location:
|
|
28191
|
-
lat:
|
|
28192
|
-
lng:
|
|
28486
|
+
var eventVenueSchema = z44.object({
|
|
28487
|
+
id: z44.string(),
|
|
28488
|
+
name: z44.string(),
|
|
28489
|
+
address: z44.string().nullable(),
|
|
28490
|
+
location: z44.object({
|
|
28491
|
+
lat: z44.number(),
|
|
28492
|
+
lng: z44.number()
|
|
28193
28493
|
}).nullable()
|
|
28194
28494
|
});
|
|
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
|
-
|
|
28495
|
+
var eventCategorySchema = z44.object({
|
|
28496
|
+
id: z44.string(),
|
|
28497
|
+
name: z44.string(),
|
|
28498
|
+
color: z44.string().nullable()
|
|
28499
|
+
});
|
|
28500
|
+
var pricingTypeSchema = z44.enum(["free", "paid", "external"]);
|
|
28501
|
+
var accessRestrictionSchema = z44.enum(["none", "category"]);
|
|
28502
|
+
var eventPricingModeSchema = z44.enum(["single", "ticket_types"]);
|
|
28503
|
+
var publicCoursePriceDisplaySchema = z44.discriminatedUnion("kind", [
|
|
28504
|
+
z44.object({ kind: z44.literal("free"), currency: z44.string() }),
|
|
28505
|
+
z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
|
|
28506
|
+
z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
|
|
28507
|
+
z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
|
|
28208
28508
|
]);
|
|
28209
|
-
var publicEventPriceDisplaySchema =
|
|
28210
|
-
|
|
28211
|
-
|
|
28212
|
-
|
|
28213
|
-
|
|
28214
|
-
|
|
28215
|
-
kind:
|
|
28216
|
-
paidFromAmount:
|
|
28217
|
-
paidToAmount:
|
|
28218
|
-
currency:
|
|
28509
|
+
var publicEventPriceDisplaySchema = z44.discriminatedUnion("kind", [
|
|
28510
|
+
z44.object({ kind: z44.literal("free"), currency: z44.string() }),
|
|
28511
|
+
z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
|
|
28512
|
+
z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
|
|
28513
|
+
z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
|
|
28514
|
+
z44.object({
|
|
28515
|
+
kind: z44.literal("mixed"),
|
|
28516
|
+
paidFromAmount: z44.number(),
|
|
28517
|
+
paidToAmount: z44.number(),
|
|
28518
|
+
currency: z44.string()
|
|
28219
28519
|
}),
|
|
28220
|
-
|
|
28221
|
-
|
|
28222
|
-
|
|
28520
|
+
z44.object({ kind: z44.literal("unavailable"), currency: z44.string() }),
|
|
28521
|
+
z44.object({ kind: z44.literal("external"), label: z44.string() }),
|
|
28522
|
+
z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28223
28523
|
]);
|
|
28224
|
-
var publicEventTicketTypePriceDisplaySchema =
|
|
28225
|
-
|
|
28226
|
-
|
|
28227
|
-
|
|
28228
|
-
|
|
28229
|
-
|
|
28230
|
-
kind:
|
|
28231
|
-
paidFromAmount:
|
|
28232
|
-
paidToAmount:
|
|
28233
|
-
currency:
|
|
28524
|
+
var publicEventTicketTypePriceDisplaySchema = z44.union([
|
|
28525
|
+
z44.object({ kind: z44.literal("free"), currency: z44.string() }),
|
|
28526
|
+
z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
|
|
28527
|
+
z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
|
|
28528
|
+
z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
|
|
28529
|
+
z44.object({
|
|
28530
|
+
kind: z44.literal("mixed"),
|
|
28531
|
+
paidFromAmount: z44.number(),
|
|
28532
|
+
paidToAmount: z44.number(),
|
|
28533
|
+
currency: z44.string()
|
|
28234
28534
|
}),
|
|
28235
|
-
|
|
28535
|
+
z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
|
|
28236
28536
|
]);
|
|
28237
|
-
var publicEventAttendanceModeSchema =
|
|
28238
|
-
var publicEventAttendanceModeAvailabilitySchema =
|
|
28537
|
+
var publicEventAttendanceModeSchema = z44.enum(["in_person", "online"]);
|
|
28538
|
+
var publicEventAttendanceModeAvailabilitySchema = z44.object({
|
|
28239
28539
|
mode: publicEventAttendanceModeSchema,
|
|
28240
|
-
capacity:
|
|
28241
|
-
registeredCount:
|
|
28242
|
-
availableSpots:
|
|
28243
|
-
waitlistEnabled:
|
|
28244
|
-
});
|
|
28245
|
-
var publicEventTicketTypeAvailabilitySchema =
|
|
28246
|
-
|
|
28247
|
-
kind:
|
|
28248
|
-
remainingCapacity:
|
|
28540
|
+
capacity: z44.number().nullable(),
|
|
28541
|
+
registeredCount: z44.number(),
|
|
28542
|
+
availableSpots: z44.number().nullable(),
|
|
28543
|
+
waitlistEnabled: z44.boolean()
|
|
28544
|
+
});
|
|
28545
|
+
var publicEventTicketTypeAvailabilitySchema = z44.union([
|
|
28546
|
+
z44.object({
|
|
28547
|
+
kind: z44.literal("available"),
|
|
28548
|
+
remainingCapacity: z44.number().nullable()
|
|
28249
28549
|
}),
|
|
28250
|
-
|
|
28251
|
-
kind:
|
|
28252
|
-
reason:
|
|
28253
|
-
remainingCapacity:
|
|
28550
|
+
z44.object({
|
|
28551
|
+
kind: z44.literal("unavailable"),
|
|
28552
|
+
reason: z44.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
|
|
28553
|
+
remainingCapacity: z44.number().nullable()
|
|
28254
28554
|
})
|
|
28255
28555
|
]);
|
|
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:
|
|
28556
|
+
var publicEventTicketTypeSchema = z44.object({
|
|
28557
|
+
id: z44.string(),
|
|
28558
|
+
siteId: z44.string(),
|
|
28559
|
+
eventSeriesId: z44.string(),
|
|
28560
|
+
name: z44.string(),
|
|
28561
|
+
description: z44.string().nullable(),
|
|
28562
|
+
priceAmount: z44.number(),
|
|
28563
|
+
isActive: z44.boolean(),
|
|
28564
|
+
sortOrder: z44.number(),
|
|
28565
|
+
capacityMode: z44.enum(["limited", "unlimited"]),
|
|
28566
|
+
capacityLimit: z44.number().nullable(),
|
|
28567
|
+
attendanceScope: z44.enum(["in_person", "online", "both"]).optional(),
|
|
28568
|
+
saleStartsAt: z44.string().nullable(),
|
|
28569
|
+
saleEndsAt: z44.string().nullable(),
|
|
28270
28570
|
availability: publicEventTicketTypeAvailabilitySchema,
|
|
28271
|
-
createdAt:
|
|
28272
|
-
updatedAt:
|
|
28273
|
-
});
|
|
28274
|
-
var publicEventPricingSchema =
|
|
28275
|
-
|
|
28276
|
-
kind:
|
|
28277
|
-
currency:
|
|
28278
|
-
display:
|
|
28571
|
+
createdAt: z44.string(),
|
|
28572
|
+
updatedAt: z44.string()
|
|
28573
|
+
});
|
|
28574
|
+
var publicEventPricingSchema = z44.discriminatedUnion("kind", [
|
|
28575
|
+
z44.object({
|
|
28576
|
+
kind: z44.literal("drop_in"),
|
|
28577
|
+
currency: z44.string(),
|
|
28578
|
+
display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
|
|
28279
28579
|
}),
|
|
28280
|
-
|
|
28281
|
-
kind:
|
|
28282
|
-
currency:
|
|
28283
|
-
display:
|
|
28580
|
+
z44.object({
|
|
28581
|
+
kind: z44.literal("free_registration"),
|
|
28582
|
+
currency: z44.string(),
|
|
28583
|
+
display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
|
|
28284
28584
|
}),
|
|
28285
|
-
|
|
28286
|
-
kind:
|
|
28287
|
-
amount:
|
|
28288
|
-
currency:
|
|
28289
|
-
display:
|
|
28585
|
+
z44.object({
|
|
28586
|
+
kind: z44.literal("single_paid"),
|
|
28587
|
+
amount: z44.number(),
|
|
28588
|
+
currency: z44.string(),
|
|
28589
|
+
display: z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() })
|
|
28290
28590
|
}),
|
|
28291
|
-
|
|
28292
|
-
kind:
|
|
28293
|
-
currency:
|
|
28294
|
-
ticketTypes:
|
|
28591
|
+
z44.object({
|
|
28592
|
+
kind: z44.literal("ticket_types"),
|
|
28593
|
+
currency: z44.string(),
|
|
28594
|
+
ticketTypes: z44.array(publicEventTicketTypeSchema),
|
|
28295
28595
|
display: publicEventTicketTypePriceDisplaySchema
|
|
28296
28596
|
}),
|
|
28297
|
-
|
|
28298
|
-
kind:
|
|
28299
|
-
minAmount:
|
|
28300
|
-
maxAmount:
|
|
28301
|
-
suggestedAmount:
|
|
28302
|
-
currency:
|
|
28303
|
-
display:
|
|
28304
|
-
kind:
|
|
28305
|
-
minAmount:
|
|
28306
|
-
maxAmount:
|
|
28307
|
-
currency:
|
|
28597
|
+
z44.object({
|
|
28598
|
+
kind: z44.literal("sliding_scale"),
|
|
28599
|
+
minAmount: z44.number(),
|
|
28600
|
+
maxAmount: z44.number(),
|
|
28601
|
+
suggestedAmount: z44.number().nullable(),
|
|
28602
|
+
currency: z44.string(),
|
|
28603
|
+
display: z44.object({
|
|
28604
|
+
kind: z44.literal("range"),
|
|
28605
|
+
minAmount: z44.number(),
|
|
28606
|
+
maxAmount: z44.number(),
|
|
28607
|
+
currency: z44.string()
|
|
28308
28608
|
})
|
|
28309
28609
|
}),
|
|
28310
|
-
|
|
28311
|
-
kind:
|
|
28312
|
-
display:
|
|
28610
|
+
z44.object({
|
|
28611
|
+
kind: z44.literal("course"),
|
|
28612
|
+
display: z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
28313
28613
|
}),
|
|
28314
|
-
|
|
28315
|
-
kind:
|
|
28316
|
-
display:
|
|
28614
|
+
z44.object({
|
|
28615
|
+
kind: z44.literal("external"),
|
|
28616
|
+
display: z44.object({ kind: z44.literal("external"), label: z44.string() })
|
|
28317
28617
|
})
|
|
28318
28618
|
]);
|
|
28319
|
-
var publicTeamMemberSummarySchema =
|
|
28320
|
-
id:
|
|
28321
|
-
name:
|
|
28322
|
-
roleLabel:
|
|
28323
|
-
summary:
|
|
28324
|
-
profilePath:
|
|
28619
|
+
var publicTeamMemberSummarySchema = z44.object({
|
|
28620
|
+
id: z44.string(),
|
|
28621
|
+
name: z44.string(),
|
|
28622
|
+
roleLabel: z44.string().nullable(),
|
|
28623
|
+
summary: z44.string().nullable(),
|
|
28624
|
+
profilePath: z44.string().nullable()
|
|
28325
28625
|
});
|
|
28326
|
-
var publicEventSchema =
|
|
28327
|
-
kind:
|
|
28626
|
+
var publicEventSchema = z44.object({
|
|
28627
|
+
kind: z44.enum(["event", "course_session"]).optional(),
|
|
28328
28628
|
eventPreset: eventPresetSchema.optional(),
|
|
28329
28629
|
eventDestinationMode: eventDestinationModeSchema.optional(),
|
|
28330
28630
|
scheduleScope: eventScheduleScopeSchema.optional(),
|
|
28331
|
-
id:
|
|
28332
|
-
occurrenceId:
|
|
28333
|
-
seriesId:
|
|
28334
|
-
title:
|
|
28335
|
-
description:
|
|
28336
|
-
content:
|
|
28631
|
+
id: z44.string(),
|
|
28632
|
+
occurrenceId: z44.string(),
|
|
28633
|
+
seriesId: z44.string(),
|
|
28634
|
+
title: z44.string(),
|
|
28635
|
+
description: z44.string().nullable(),
|
|
28636
|
+
content: z44.object({
|
|
28337
28637
|
body: RichTextDocSchema.nullable().optional()
|
|
28338
28638
|
}).optional(),
|
|
28339
|
-
presentation:
|
|
28340
|
-
cardTitleOverride:
|
|
28341
|
-
summary:
|
|
28639
|
+
presentation: z44.object({
|
|
28640
|
+
cardTitleOverride: z44.string().nullable().optional(),
|
|
28641
|
+
summary: z44.string().nullable().optional(),
|
|
28342
28642
|
image: mediaSchema2.nullable().optional()
|
|
28343
28643
|
}).optional(),
|
|
28344
|
-
slug:
|
|
28345
|
-
path:
|
|
28644
|
+
slug: z44.string(),
|
|
28645
|
+
path: z44.string().nullable(),
|
|
28346
28646
|
destination: publicEventDestinationSchema,
|
|
28347
|
-
requiresRegistration:
|
|
28348
|
-
deliveryMode:
|
|
28349
|
-
attendanceModes:
|
|
28350
|
-
startsAt:
|
|
28351
|
-
endsAt:
|
|
28352
|
-
capacity:
|
|
28353
|
-
registeredCount:
|
|
28354
|
-
availableSpots:
|
|
28355
|
-
waitlistEnabled:
|
|
28647
|
+
requiresRegistration: z44.boolean(),
|
|
28648
|
+
deliveryMode: z44.enum(["in_person", "online", "hybrid"]),
|
|
28649
|
+
attendanceModes: z44.array(publicEventAttendanceModeAvailabilitySchema),
|
|
28650
|
+
startsAt: z44.string(),
|
|
28651
|
+
endsAt: z44.string(),
|
|
28652
|
+
capacity: z44.number().nullable(),
|
|
28653
|
+
registeredCount: z44.number(),
|
|
28654
|
+
availableSpots: z44.number().nullable(),
|
|
28655
|
+
waitlistEnabled: z44.boolean(),
|
|
28356
28656
|
venue: eventVenueSchema.nullable(),
|
|
28357
28657
|
eventCategory: eventCategorySchema.nullable(),
|
|
28358
|
-
teamMembers:
|
|
28359
|
-
status:
|
|
28360
|
-
timeZone:
|
|
28658
|
+
teamMembers: z44.array(publicTeamMemberSummarySchema).optional(),
|
|
28659
|
+
status: z44.enum(["active", "draft", "archived"]).optional(),
|
|
28660
|
+
timeZone: z44.string(),
|
|
28361
28661
|
pricing: publicEventPricingSchema,
|
|
28362
28662
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
28363
28663
|
accessRestriction: accessRestrictionSchema,
|
|
28364
|
-
allowedCategoryIds:
|
|
28365
|
-
requireGuestDetails:
|
|
28366
|
-
acceptsPasses:
|
|
28367
|
-
acceptsMemberships:
|
|
28368
|
-
course:
|
|
28369
|
-
id:
|
|
28664
|
+
allowedCategoryIds: z44.array(z44.string()),
|
|
28665
|
+
requireGuestDetails: z44.boolean().optional(),
|
|
28666
|
+
acceptsPasses: z44.boolean().optional(),
|
|
28667
|
+
acceptsMemberships: z44.boolean().optional(),
|
|
28668
|
+
course: z44.object({
|
|
28669
|
+
id: z44.string(),
|
|
28370
28670
|
pricing: coursePricingSchema.optional(),
|
|
28371
|
-
priceCents:
|
|
28372
|
-
currency:
|
|
28373
|
-
enrollmentOpen:
|
|
28671
|
+
priceCents: z44.number().nullable(),
|
|
28672
|
+
currency: z44.string(),
|
|
28673
|
+
enrollmentOpen: z44.boolean()
|
|
28374
28674
|
}).nullable().optional()
|
|
28375
28675
|
});
|
|
28376
|
-
var publicEventsArraySchema =
|
|
28676
|
+
var publicEventsArraySchema = z44.array(publicEventSchema);
|
|
28377
28677
|
|
|
28378
28678
|
// ../blocks/src/system/blocks/events/shared/fields.ts
|
|
28379
28679
|
var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
|
|
@@ -28576,52 +28876,80 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28576
28876
|
return trimmed ? trimmed : null;
|
|
28577
28877
|
}
|
|
28578
28878
|
|
|
28879
|
+
// ../blocks/src/system/blocks/events/shared/layout.ts
|
|
28880
|
+
var recoverEmptyHeadingWhenActive = {
|
|
28881
|
+
kind: "recover-empty-when-active",
|
|
28882
|
+
placeholder: "Add heading"
|
|
28883
|
+
};
|
|
28884
|
+
var recoverEmptyDescriptionWhenActive = {
|
|
28885
|
+
kind: "recover-empty-when-active",
|
|
28886
|
+
placeholder: "Add description"
|
|
28887
|
+
};
|
|
28888
|
+
function eventSectionHeaderLayoutNodes() {
|
|
28889
|
+
return [
|
|
28890
|
+
text(
|
|
28891
|
+
{ as: "h2" },
|
|
28892
|
+
bind("content.heading"),
|
|
28893
|
+
when("content.heading", {
|
|
28894
|
+
authoringPresence: recoverEmptyHeadingWhenActive
|
|
28895
|
+
})
|
|
28896
|
+
),
|
|
28897
|
+
richText(
|
|
28898
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
28899
|
+
bind("content.description"),
|
|
28900
|
+
when("content.description", {
|
|
28901
|
+
authoringPresence: recoverEmptyDescriptionWhenActive
|
|
28902
|
+
})
|
|
28903
|
+
)
|
|
28904
|
+
];
|
|
28905
|
+
}
|
|
28906
|
+
|
|
28579
28907
|
// ../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:
|
|
28908
|
+
import { z as z45 } from "zod";
|
|
28909
|
+
var publicPassProductSchema = z45.object({
|
|
28910
|
+
id: z45.string(),
|
|
28911
|
+
productUseCase: z45.enum(["event_pass", "appointment_package"]).default("event_pass"),
|
|
28912
|
+
name: z45.string(),
|
|
28913
|
+
description: z45.string().nullable(),
|
|
28914
|
+
price: z45.number(),
|
|
28915
|
+
currency: z45.string(),
|
|
28916
|
+
creditsTotal: z45.number(),
|
|
28917
|
+
pricePerCredit: z45.number(),
|
|
28918
|
+
validDays: z45.number().nullable(),
|
|
28919
|
+
eligibleCategoryIds: z45.array(z45.string()),
|
|
28920
|
+
eligibleCategoryNames: z45.array(z45.string())
|
|
28921
|
+
});
|
|
28922
|
+
var publicPassProductCollectionSchema = z45.object({
|
|
28923
|
+
passes: z45.array(publicPassProductSchema)
|
|
28924
|
+
});
|
|
28925
|
+
var publicMembershipProductSchema = z45.object({
|
|
28926
|
+
id: z45.string(),
|
|
28927
|
+
name: z45.string(),
|
|
28928
|
+
description: z45.string().nullable(),
|
|
28929
|
+
price: z45.number(),
|
|
28930
|
+
currency: z45.string(),
|
|
28931
|
+
billingInterval: z45.enum(["month", "year"]),
|
|
28932
|
+
eligibleCategoryIds: z45.array(z45.string()),
|
|
28933
|
+
eligibleCategoryNames: z45.array(z45.string())
|
|
28606
28934
|
});
|
|
28607
|
-
var publicMembershipProductCollectionSchema =
|
|
28608
|
-
memberships:
|
|
28935
|
+
var publicMembershipProductCollectionSchema = z45.object({
|
|
28936
|
+
memberships: z45.array(publicMembershipProductSchema)
|
|
28609
28937
|
});
|
|
28610
28938
|
|
|
28611
28939
|
// ../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:
|
|
28940
|
+
import { z as z46 } from "zod";
|
|
28941
|
+
var occurrenceContextSchema = z46.object({
|
|
28942
|
+
id: z46.string(),
|
|
28943
|
+
seriesId: z46.string(),
|
|
28944
|
+
startsAt: z46.string(),
|
|
28945
|
+
endsAt: z46.string(),
|
|
28946
|
+
timeZone: z46.string(),
|
|
28947
|
+
capacityOverride: z46.number().nullable().optional(),
|
|
28948
|
+
overrides: z46.record(z46.string(), z46.unknown()).nullable().optional()
|
|
28621
28949
|
}).nullable();
|
|
28622
28950
|
|
|
28623
28951
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28624
|
-
import { z as
|
|
28952
|
+
import { z as z48 } from "zod";
|
|
28625
28953
|
|
|
28626
28954
|
// ../blocks/src/system/constants/events.ts
|
|
28627
28955
|
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
@@ -28808,17 +29136,17 @@ function readAmount(value) {
|
|
|
28808
29136
|
}
|
|
28809
29137
|
|
|
28810
29138
|
// ../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 =
|
|
29139
|
+
import { z as z47 } from "zod";
|
|
29140
|
+
var previewStageSchema = z47.enum(["preview", "published"]);
|
|
29141
|
+
var registrationButtonVariantSchema = z47.enum(["primary", "secondary", "outline"]);
|
|
29142
|
+
var eventButtonVariantSchema = z47.enum(["primary", "secondary", "outline", "link"]);
|
|
29143
|
+
var eventLayoutSchema = z47.enum(eventCalendarListLayoutValues);
|
|
29144
|
+
var eventCalendarDisplayModeSchema = z47.enum(eventCalendarDisplayModeValues);
|
|
29145
|
+
var eventCalendarDefaultViewSchema = z47.enum(eventCalendarDefaultViewValues);
|
|
29146
|
+
var columnOptionSchema = z47.enum(["2", "3", "4"]);
|
|
29147
|
+
var weekStartSchema = z47.enum(["sunday", "monday"]);
|
|
29148
|
+
var filterAutoShowSchema = z47.enum(["auto", "always", "never"]);
|
|
29149
|
+
var calendarTabViewsSchema = z47.enum(["both", "month", "week"]);
|
|
28822
29150
|
|
|
28823
29151
|
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28824
29152
|
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
@@ -28878,72 +29206,72 @@ function toRegistrationEvents(events) {
|
|
|
28878
29206
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28879
29207
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28880
29208
|
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28881
|
-
var contentEntrySchema =
|
|
28882
|
-
id:
|
|
28883
|
-
slug:
|
|
28884
|
-
contentTypeSlug:
|
|
29209
|
+
var contentEntrySchema = z48.object({
|
|
29210
|
+
id: z48.string(),
|
|
29211
|
+
slug: z48.string(),
|
|
29212
|
+
contentTypeSlug: z48.string()
|
|
28885
29213
|
});
|
|
28886
|
-
var eventRegistrationPublicEventSchema =
|
|
29214
|
+
var eventRegistrationPublicEventSchema = z48.preprocess(
|
|
28887
29215
|
normalizeEventRegistrationEventInput,
|
|
28888
29216
|
publicEventSchema
|
|
28889
29217
|
);
|
|
28890
|
-
var eventRegistrationSourceSchema =
|
|
28891
|
-
siteId:
|
|
28892
|
-
apiBaseUrl:
|
|
28893
|
-
portalToken:
|
|
28894
|
-
previewToken:
|
|
29218
|
+
var eventRegistrationSourceSchema = z48.object({
|
|
29219
|
+
siteId: z48.string().optional(),
|
|
29220
|
+
apiBaseUrl: z48.string().optional(),
|
|
29221
|
+
portalToken: z48.string().nullable().optional(),
|
|
29222
|
+
previewToken: z48.string().nullable().optional(),
|
|
28895
29223
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28896
29224
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28897
|
-
events:
|
|
28898
|
-
className:
|
|
28899
|
-
buttonText:
|
|
28900
|
-
maxTickets:
|
|
28901
|
-
showVenue:
|
|
28902
|
-
showCapacity:
|
|
28903
|
-
successMessage:
|
|
28904
|
-
waitlistMessage:
|
|
29225
|
+
events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
29226
|
+
className: z48.string().nullable().optional(),
|
|
29227
|
+
buttonText: z48.string().nullable().optional(),
|
|
29228
|
+
maxTickets: z48.string().nullable().optional(),
|
|
29229
|
+
showVenue: z48.boolean().optional(),
|
|
29230
|
+
showCapacity: z48.boolean().optional(),
|
|
29231
|
+
successMessage: z48.string().optional(),
|
|
29232
|
+
waitlistMessage: z48.string().optional(),
|
|
28905
29233
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28906
|
-
overlayEnabled:
|
|
28907
|
-
spamProtectionEnabled:
|
|
29234
|
+
overlayEnabled: z48.boolean().optional(),
|
|
29235
|
+
spamProtectionEnabled: z48.boolean().optional(),
|
|
28908
29236
|
stage: previewStageSchema.optional(),
|
|
28909
|
-
supportEmail:
|
|
29237
|
+
supportEmail: z48.string().optional(),
|
|
28910
29238
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28911
29239
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28912
29240
|
});
|
|
28913
|
-
var eventRegistrationDisplaySchema =
|
|
28914
|
-
kind:
|
|
28915
|
-
state:
|
|
28916
|
-
className:
|
|
28917
|
-
titleText:
|
|
28918
|
-
bodyText:
|
|
28919
|
-
stepLabels:
|
|
28920
|
-
summaryButtonText:
|
|
29241
|
+
var eventRegistrationDisplaySchema = z48.object({
|
|
29242
|
+
kind: z48.literal("event-registration"),
|
|
29243
|
+
state: z48.literal("generic-shell"),
|
|
29244
|
+
className: z48.string().nullable(),
|
|
29245
|
+
titleText: z48.string(),
|
|
29246
|
+
bodyText: z48.string(),
|
|
29247
|
+
stepLabels: z48.array(z48.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
29248
|
+
summaryButtonText: z48.string()
|
|
28921
29249
|
});
|
|
28922
|
-
var eventRegistrationHydrationSchema =
|
|
29250
|
+
var eventRegistrationHydrationSchema = z48.object({
|
|
28923
29251
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28924
29252
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
28925
|
-
events:
|
|
28926
|
-
maxTickets:
|
|
28927
|
-
showVenue:
|
|
28928
|
-
showCapacity:
|
|
28929
|
-
successMessage:
|
|
28930
|
-
waitlistMessage:
|
|
29253
|
+
events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
29254
|
+
maxTickets: z48.string().optional(),
|
|
29255
|
+
showVenue: z48.boolean().optional(),
|
|
29256
|
+
showCapacity: z48.boolean().optional(),
|
|
29257
|
+
successMessage: z48.string().optional(),
|
|
29258
|
+
waitlistMessage: z48.string().optional(),
|
|
28931
29259
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
28932
|
-
overlayEnabled:
|
|
28933
|
-
spamProtectionEnabled:
|
|
28934
|
-
supportEmail:
|
|
29260
|
+
overlayEnabled: z48.boolean().optional(),
|
|
29261
|
+
spamProtectionEnabled: z48.boolean().optional(),
|
|
29262
|
+
supportEmail: z48.string().optional(),
|
|
28935
29263
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28936
29264
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28937
29265
|
});
|
|
28938
|
-
var eventRegistrationRenderSchema =
|
|
29266
|
+
var eventRegistrationRenderSchema = z48.object({
|
|
28939
29267
|
display: eventRegistrationDisplaySchema,
|
|
28940
29268
|
hydration: eventRegistrationHydrationSchema
|
|
28941
29269
|
});
|
|
28942
|
-
var eventRegistrationIslandMetaCodec = createZodCodec(
|
|
28943
|
-
siteId:
|
|
28944
|
-
apiBaseUrl:
|
|
28945
|
-
portalToken:
|
|
28946
|
-
previewToken:
|
|
29270
|
+
var eventRegistrationIslandMetaCodec = createZodCodec(z48.object({
|
|
29271
|
+
siteId: z48.string().optional(),
|
|
29272
|
+
apiBaseUrl: z48.string().optional(),
|
|
29273
|
+
portalToken: z48.string().nullable().optional(),
|
|
29274
|
+
previewToken: z48.string().nullable().optional(),
|
|
28947
29275
|
stage: previewStageSchema.optional()
|
|
28948
29276
|
}));
|
|
28949
29277
|
var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -29294,73 +29622,73 @@ var eventRegistrationBlockDefinition = {
|
|
|
29294
29622
|
};
|
|
29295
29623
|
|
|
29296
29624
|
// ../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:
|
|
29625
|
+
import { z as z49 } from "zod";
|
|
29626
|
+
var contentEntrySchema2 = z49.object({
|
|
29627
|
+
id: z49.string(),
|
|
29628
|
+
slug: z49.string(),
|
|
29629
|
+
contentTypeSlug: z49.string()
|
|
29630
|
+
});
|
|
29631
|
+
var courseEntrySubrouteContextSchema = z49.union([
|
|
29632
|
+
z49.object({
|
|
29633
|
+
kind: z49.literal("course-run"),
|
|
29634
|
+
run: z49.object({
|
|
29635
|
+
courseId: z49.string(),
|
|
29636
|
+
seriesId: z49.string(),
|
|
29637
|
+
runSlug: z49.string(),
|
|
29638
|
+
runName: z49.string().nullable()
|
|
29311
29639
|
})
|
|
29312
29640
|
}),
|
|
29313
|
-
|
|
29314
|
-
kind:
|
|
29641
|
+
z49.object({
|
|
29642
|
+
kind: z49.literal("event-occurrence"),
|
|
29315
29643
|
occurrence: occurrenceContextSchema
|
|
29316
29644
|
})
|
|
29317
29645
|
]);
|
|
29318
|
-
var courseRegistrationSourceSchema =
|
|
29319
|
-
siteId:
|
|
29320
|
-
apiBaseUrl:
|
|
29321
|
-
portalToken:
|
|
29646
|
+
var courseRegistrationSourceSchema = z49.object({
|
|
29647
|
+
siteId: z49.string().optional(),
|
|
29648
|
+
apiBaseUrl: z49.string().optional(),
|
|
29649
|
+
portalToken: z49.string().nullable().optional(),
|
|
29322
29650
|
contentEntry: contentEntrySchema2.nullable().optional(),
|
|
29323
29651
|
entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
|
|
29324
|
-
courses:
|
|
29325
|
-
className:
|
|
29326
|
-
showSessions:
|
|
29327
|
-
showPrice:
|
|
29328
|
-
showCapacity:
|
|
29329
|
-
showVenue:
|
|
29330
|
-
successMessage:
|
|
29331
|
-
waitlistMessage:
|
|
29332
|
-
membershipMessage:
|
|
29333
|
-
buttonText:
|
|
29652
|
+
courses: z49.array(publicCourseSchema).nullable().optional(),
|
|
29653
|
+
className: z49.string().nullable().optional(),
|
|
29654
|
+
showSessions: z49.boolean().optional(),
|
|
29655
|
+
showPrice: z49.boolean().optional(),
|
|
29656
|
+
showCapacity: z49.boolean().optional(),
|
|
29657
|
+
showVenue: z49.boolean().optional(),
|
|
29658
|
+
successMessage: z49.string().optional(),
|
|
29659
|
+
waitlistMessage: z49.string().optional(),
|
|
29660
|
+
membershipMessage: z49.string().optional(),
|
|
29661
|
+
buttonText: z49.string().nullable().optional(),
|
|
29334
29662
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
29335
29663
|
stage: previewStageSchema.optional()
|
|
29336
29664
|
});
|
|
29337
|
-
var courseRegistrationDisplaySchema =
|
|
29338
|
-
kind:
|
|
29339
|
-
state:
|
|
29340
|
-
className:
|
|
29341
|
-
summaryButtonText:
|
|
29665
|
+
var courseRegistrationDisplaySchema = z49.object({
|
|
29666
|
+
kind: z49.literal("course-registration"),
|
|
29667
|
+
state: z49.literal("shell"),
|
|
29668
|
+
className: z49.string().nullable(),
|
|
29669
|
+
summaryButtonText: z49.string()
|
|
29342
29670
|
});
|
|
29343
|
-
var courseRegistrationHydrationSchema =
|
|
29671
|
+
var courseRegistrationHydrationSchema = z49.object({
|
|
29344
29672
|
contentEntry: contentEntrySchema2.nullable().optional(),
|
|
29345
29673
|
entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
|
|
29346
|
-
courses:
|
|
29347
|
-
showSessions:
|
|
29348
|
-
showPrice:
|
|
29349
|
-
showCapacity:
|
|
29350
|
-
showVenue:
|
|
29351
|
-
successMessage:
|
|
29352
|
-
waitlistMessage:
|
|
29353
|
-
membershipMessage:
|
|
29674
|
+
courses: z49.array(publicCourseSchema).nullable().optional(),
|
|
29675
|
+
showSessions: z49.boolean().optional(),
|
|
29676
|
+
showPrice: z49.boolean().optional(),
|
|
29677
|
+
showCapacity: z49.boolean().optional(),
|
|
29678
|
+
showVenue: z49.boolean().optional(),
|
|
29679
|
+
successMessage: z49.string().optional(),
|
|
29680
|
+
waitlistMessage: z49.string().optional(),
|
|
29681
|
+
membershipMessage: z49.string().optional(),
|
|
29354
29682
|
buttonVariant: registrationButtonVariantSchema.optional()
|
|
29355
29683
|
});
|
|
29356
|
-
var courseRegistrationRenderSchema =
|
|
29684
|
+
var courseRegistrationRenderSchema = z49.object({
|
|
29357
29685
|
display: courseRegistrationDisplaySchema,
|
|
29358
29686
|
hydration: courseRegistrationHydrationSchema
|
|
29359
29687
|
});
|
|
29360
|
-
var courseRegistrationIslandMetaCodec = createZodCodec(
|
|
29361
|
-
siteId:
|
|
29362
|
-
apiBaseUrl:
|
|
29363
|
-
portalToken:
|
|
29688
|
+
var courseRegistrationIslandMetaCodec = createZodCodec(z49.object({
|
|
29689
|
+
siteId: z49.string().optional(),
|
|
29690
|
+
apiBaseUrl: z49.string().optional(),
|
|
29691
|
+
portalToken: z49.string().nullable().optional(),
|
|
29364
29692
|
stage: previewStageSchema.optional()
|
|
29365
29693
|
}));
|
|
29366
29694
|
var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
@@ -29620,7 +29948,7 @@ var courseRegistrationBlockDefinition = {
|
|
|
29620
29948
|
};
|
|
29621
29949
|
|
|
29622
29950
|
// ../blocks/src/system/blocks/event-details.ts
|
|
29623
|
-
import { z as
|
|
29951
|
+
import { z as z50 } from "zod";
|
|
29624
29952
|
var eventDetailsManifest = createBlockManifest({
|
|
29625
29953
|
id: "block.event-details",
|
|
29626
29954
|
version: "1.0.0",
|
|
@@ -29752,37 +30080,37 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
29752
30080
|
})
|
|
29753
30081
|
]
|
|
29754
30082
|
});
|
|
29755
|
-
var occurrenceContextSchema2 =
|
|
29756
|
-
id:
|
|
29757
|
-
seriesId:
|
|
29758
|
-
startsAt:
|
|
29759
|
-
endsAt:
|
|
29760
|
-
timeZone:
|
|
29761
|
-
capacityOverride:
|
|
29762
|
-
overrides:
|
|
30083
|
+
var occurrenceContextSchema2 = z50.object({
|
|
30084
|
+
id: z50.string(),
|
|
30085
|
+
seriesId: z50.string(),
|
|
30086
|
+
startsAt: z50.string(),
|
|
30087
|
+
endsAt: z50.string(),
|
|
30088
|
+
timeZone: z50.string(),
|
|
30089
|
+
capacityOverride: z50.number().nullable().optional(),
|
|
30090
|
+
overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
|
|
29763
30091
|
}).nullable();
|
|
29764
|
-
var eventAutoApplyDiscountPreviewBaseSchema =
|
|
29765
|
-
id:
|
|
29766
|
-
publicLabel:
|
|
29767
|
-
description:
|
|
29768
|
-
minTicketsRequired:
|
|
30092
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
|
|
30093
|
+
id: z50.string(),
|
|
30094
|
+
publicLabel: z50.string(),
|
|
30095
|
+
description: z50.string().nullable(),
|
|
30096
|
+
minTicketsRequired: z50.number().nullable()
|
|
29769
30097
|
});
|
|
29770
|
-
var eventAutoApplyDiscountPreviewSchema =
|
|
30098
|
+
var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
|
|
29771
30099
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29772
|
-
discountType:
|
|
29773
|
-
discountPercent:
|
|
29774
|
-
discountAmountCents:
|
|
30100
|
+
discountType: z50.literal("percent"),
|
|
30101
|
+
discountPercent: z50.number(),
|
|
30102
|
+
discountAmountCents: z50.null()
|
|
29775
30103
|
}),
|
|
29776
30104
|
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
29777
|
-
discountType:
|
|
29778
|
-
discountPercent:
|
|
29779
|
-
discountAmountCents:
|
|
30105
|
+
discountType: z50.literal("fixed"),
|
|
30106
|
+
discountPercent: z50.null(),
|
|
30107
|
+
discountAmountCents: z50.number()
|
|
29780
30108
|
})
|
|
29781
30109
|
]);
|
|
29782
30110
|
var eventDetailsBlockDefinition = {
|
|
29783
30111
|
manifest: eventDetailsManifest,
|
|
29784
30112
|
dataSchemas: {
|
|
29785
|
-
eventDetailsData:
|
|
30113
|
+
eventDetailsData: z50.object({
|
|
29786
30114
|
events: publicEventsArraySchema,
|
|
29787
30115
|
sitePasses: publicPassProductCollectionSchema,
|
|
29788
30116
|
siteMemberships: publicMembershipProductCollectionSchema,
|
|
@@ -30037,18 +30365,7 @@ var eventSpotlightFields = [
|
|
|
30037
30365
|
var eventSpotlightLayout = [
|
|
30038
30366
|
styledSection({
|
|
30039
30367
|
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
|
-
),
|
|
30368
|
+
...eventSectionHeaderLayoutNodes(),
|
|
30052
30369
|
// Event spotlight component
|
|
30053
30370
|
el("event-spotlight", {
|
|
30054
30371
|
events: { $bind: { from: "data.events" } },
|
|
@@ -30109,7 +30426,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
30109
30426
|
};
|
|
30110
30427
|
|
|
30111
30428
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30112
|
-
import { z as
|
|
30429
|
+
import { z as z52 } from "zod";
|
|
30113
30430
|
|
|
30114
30431
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
30115
30432
|
var COLUMN_CLASSES = {
|
|
@@ -30217,16 +30534,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
30217
30534
|
}
|
|
30218
30535
|
|
|
30219
30536
|
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
30220
|
-
import { z as
|
|
30537
|
+
import { z as z51 } from "zod";
|
|
30221
30538
|
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
30222
|
-
var eventPageSizeSchema =
|
|
30223
|
-
|
|
30224
|
-
|
|
30225
|
-
|
|
30226
|
-
|
|
30227
|
-
|
|
30228
|
-
|
|
30229
|
-
|
|
30539
|
+
var eventPageSizeSchema = z51.union([
|
|
30540
|
+
z51.literal(3),
|
|
30541
|
+
z51.literal(6),
|
|
30542
|
+
z51.literal(10),
|
|
30543
|
+
z51.literal(12),
|
|
30544
|
+
z51.literal(20),
|
|
30545
|
+
z51.literal(24),
|
|
30546
|
+
z51.literal(30)
|
|
30230
30547
|
]);
|
|
30231
30548
|
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
30232
30549
|
function resolveEventPageSize(value, fallback = 12) {
|
|
@@ -30236,15 +30553,15 @@ function resolveEventPageSize(value, fallback = 12) {
|
|
|
30236
30553
|
function resolveEventCalendarListPageSize(input) {
|
|
30237
30554
|
return resolveEventPageSize(input.eventsPerPage);
|
|
30238
30555
|
}
|
|
30239
|
-
var eventListPaginationActionSchema =
|
|
30240
|
-
|
|
30241
|
-
kind:
|
|
30242
|
-
label:
|
|
30556
|
+
var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
|
|
30557
|
+
z51.object({
|
|
30558
|
+
kind: z51.literal("loadMore"),
|
|
30559
|
+
label: z51.string()
|
|
30243
30560
|
}),
|
|
30244
|
-
|
|
30245
|
-
kind:
|
|
30246
|
-
label:
|
|
30247
|
-
href:
|
|
30561
|
+
z51.object({
|
|
30562
|
+
kind: z51.literal("seeAllLink"),
|
|
30563
|
+
label: z51.string(),
|
|
30564
|
+
href: z51.string()
|
|
30248
30565
|
})
|
|
30249
30566
|
]);
|
|
30250
30567
|
function resolveEventListPaginationAction(input) {
|
|
@@ -30257,89 +30574,89 @@ function resolveEventListPaginationAction(input) {
|
|
|
30257
30574
|
}
|
|
30258
30575
|
|
|
30259
30576
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
30260
|
-
var legacyEventCardVariantSchema =
|
|
30261
|
-
var eventCardVariantInputSchema =
|
|
30577
|
+
var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
|
|
30578
|
+
var eventCardVariantInputSchema = z52.union([
|
|
30262
30579
|
cardVariantRoleSchema,
|
|
30263
30580
|
legacyEventCardVariantSchema
|
|
30264
30581
|
]);
|
|
30265
|
-
var cardOrientationSchema =
|
|
30266
|
-
var eventBlockKindSchema =
|
|
30267
|
-
var eventSurfaceScopeSchema =
|
|
30268
|
-
var eventScheduleScopeSchema2 =
|
|
30269
|
-
var eventListingSourceSchema =
|
|
30270
|
-
events:
|
|
30271
|
-
siteId:
|
|
30272
|
-
apiBaseUrl:
|
|
30582
|
+
var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
|
|
30583
|
+
var eventBlockKindSchema = z52.enum(eventBlockKindValues);
|
|
30584
|
+
var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
|
|
30585
|
+
var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
|
|
30586
|
+
var eventListingSourceSchema = z52.object({
|
|
30587
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
30588
|
+
siteId: z52.string(),
|
|
30589
|
+
apiBaseUrl: z52.string().optional(),
|
|
30273
30590
|
stage: previewStageSchema.optional(),
|
|
30274
30591
|
layout: eventLayoutSchema.optional(),
|
|
30275
30592
|
columns: columnOptionSchema.optional(),
|
|
30276
|
-
eventsPerPage:
|
|
30277
|
-
paginationMode:
|
|
30278
|
-
seeAllUrl:
|
|
30279
|
-
loadMoreText:
|
|
30593
|
+
eventsPerPage: z52.string().optional(),
|
|
30594
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
30595
|
+
seeAllUrl: z52.string().optional(),
|
|
30596
|
+
loadMoreText: z52.string().optional(),
|
|
30280
30597
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
30281
30598
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30282
|
-
buttonText:
|
|
30283
|
-
showVenue:
|
|
30284
|
-
showMap:
|
|
30285
|
-
showCapacity:
|
|
30286
|
-
emptyMessage:
|
|
30287
|
-
className:
|
|
30288
|
-
showFilters:
|
|
30599
|
+
buttonText: z52.string().optional(),
|
|
30600
|
+
showVenue: z52.boolean().optional(),
|
|
30601
|
+
showMap: z52.boolean().optional(),
|
|
30602
|
+
showCapacity: z52.boolean().optional(),
|
|
30603
|
+
emptyMessage: z52.string().optional(),
|
|
30604
|
+
className: z52.string().optional(),
|
|
30605
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
30289
30606
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30290
|
-
showVenueFilter:
|
|
30291
|
-
showStaffFilter:
|
|
30607
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
30608
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
30292
30609
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
30293
30610
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
30294
|
-
filterEventPresets:
|
|
30611
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
30295
30612
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
30296
|
-
filterCategoryIds:
|
|
30297
|
-
filterStaffMemberId:
|
|
30298
|
-
filterVenueId:
|
|
30613
|
+
filterCategoryIds: z52.string().nullable().optional(),
|
|
30614
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30615
|
+
filterVenueId: z52.string().nullable().optional()
|
|
30299
30616
|
});
|
|
30300
|
-
var eventListingDisplaySchema =
|
|
30301
|
-
kind:
|
|
30302
|
-
state:
|
|
30617
|
+
var eventListingDisplaySchema = z52.object({
|
|
30618
|
+
kind: z52.literal("event-listing"),
|
|
30619
|
+
state: z52.enum(["loading", "empty", "ready"]),
|
|
30303
30620
|
listLayout: eventLayoutSchema,
|
|
30304
|
-
className:
|
|
30305
|
-
emptyMessage:
|
|
30306
|
-
loadingMessage:
|
|
30307
|
-
containerClass:
|
|
30621
|
+
className: z52.string().nullable(),
|
|
30622
|
+
emptyMessage: z52.string(),
|
|
30623
|
+
loadingMessage: z52.string(),
|
|
30624
|
+
containerClass: z52.string(),
|
|
30308
30625
|
cardVariant: cardVariantRoleSchema,
|
|
30309
30626
|
buttonVariant: eventButtonVariantSchema,
|
|
30310
|
-
buttonText:
|
|
30311
|
-
showVenue:
|
|
30312
|
-
showMap:
|
|
30313
|
-
showCapacity:
|
|
30627
|
+
buttonText: z52.string(),
|
|
30628
|
+
showVenue: z52.boolean(),
|
|
30629
|
+
showMap: z52.boolean(),
|
|
30630
|
+
showCapacity: z52.boolean(),
|
|
30314
30631
|
orientation: cardOrientationSchema,
|
|
30315
|
-
events:
|
|
30632
|
+
events: z52.array(publicEventSchema)
|
|
30316
30633
|
});
|
|
30317
|
-
var eventListingHydrationSchema =
|
|
30318
|
-
siteId:
|
|
30634
|
+
var eventListingHydrationSchema = z52.object({
|
|
30635
|
+
siteId: z52.string(),
|
|
30319
30636
|
stage: previewStageSchema.optional(),
|
|
30320
30637
|
eventsPerPage: eventPageSizeSchema,
|
|
30321
30638
|
paginationAction: eventListPaginationActionSchema,
|
|
30322
|
-
showFilters:
|
|
30639
|
+
showFilters: z52.boolean(),
|
|
30323
30640
|
showCategoryFilter: filterAutoShowSchema,
|
|
30324
|
-
showVenueFilter:
|
|
30325
|
-
showStaffFilter:
|
|
30641
|
+
showVenueFilter: z52.boolean(),
|
|
30642
|
+
showStaffFilter: z52.boolean(),
|
|
30326
30643
|
eventKind: eventBlockKindSchema,
|
|
30327
30644
|
eventSurface: eventSurfaceScopeSchema,
|
|
30328
|
-
filterEventPresets:
|
|
30645
|
+
filterEventPresets: z52.string().nullable(),
|
|
30329
30646
|
scheduleScope: eventScheduleScopeSchema2,
|
|
30330
|
-
filterCategoryIds:
|
|
30331
|
-
filterStaffMemberId:
|
|
30332
|
-
filterVenueId:
|
|
30333
|
-
fetchInitialEventsOnMount:
|
|
30647
|
+
filterCategoryIds: z52.string().nullable().optional(),
|
|
30648
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
30649
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
30650
|
+
fetchInitialEventsOnMount: z52.boolean()
|
|
30334
30651
|
});
|
|
30335
|
-
var eventListingRenderSchema =
|
|
30652
|
+
var eventListingRenderSchema = z52.object({
|
|
30336
30653
|
display: eventListingDisplaySchema,
|
|
30337
30654
|
hydration: eventListingHydrationSchema
|
|
30338
30655
|
});
|
|
30339
30656
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
30340
|
-
|
|
30341
|
-
siteId:
|
|
30342
|
-
apiBaseUrl:
|
|
30657
|
+
z52.object({
|
|
30658
|
+
siteId: z52.string(),
|
|
30659
|
+
apiBaseUrl: z52.string().optional(),
|
|
30343
30660
|
stage: previewStageSchema.optional()
|
|
30344
30661
|
})
|
|
30345
30662
|
);
|
|
@@ -30579,18 +30896,7 @@ var eventListingAdditionalFields = [
|
|
|
30579
30896
|
var eventListingLayout = [
|
|
30580
30897
|
styledSection({
|
|
30581
30898
|
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
|
-
),
|
|
30899
|
+
...eventSectionHeaderLayoutNodes(),
|
|
30594
30900
|
// Event listing component with pagination
|
|
30595
30901
|
el("event-listing", withApiBindings({
|
|
30596
30902
|
events: { $bind: { from: "data.events" } },
|
|
@@ -30706,15 +31012,15 @@ var eventListingBlockDefinition = {
|
|
|
30706
31012
|
};
|
|
30707
31013
|
|
|
30708
31014
|
// ../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 =
|
|
31015
|
+
import { z as z53 } from "zod";
|
|
31016
|
+
var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
|
|
31017
|
+
var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
|
|
31018
|
+
var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
|
|
31019
|
+
var eventCalendarSourceSchema = z53.object(
|
|
30714
31020
|
{
|
|
30715
|
-
events:
|
|
30716
|
-
siteId:
|
|
30717
|
-
apiBaseUrl:
|
|
31021
|
+
events: z53.array(publicEventSchema).nullable().optional(),
|
|
31022
|
+
siteId: z53.string(),
|
|
31023
|
+
apiBaseUrl: z53.string().optional(),
|
|
30718
31024
|
stage: previewStageSchema.optional(),
|
|
30719
31025
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
30720
31026
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -30722,38 +31028,38 @@ var eventCalendarSourceSchema = z52.object(
|
|
|
30722
31028
|
listColumns: columnOptionSchema.optional(),
|
|
30723
31029
|
layout: eventLayoutSchema.optional(),
|
|
30724
31030
|
columns: columnOptionSchema.optional(),
|
|
30725
|
-
eventsPerPage:
|
|
30726
|
-
paginationMode:
|
|
30727
|
-
seeAllUrl:
|
|
30728
|
-
loadMoreText:
|
|
31031
|
+
eventsPerPage: z53.string().optional(),
|
|
31032
|
+
paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
|
|
31033
|
+
seeAllUrl: z53.string().optional(),
|
|
31034
|
+
loadMoreText: z53.string().optional(),
|
|
30729
31035
|
startOfWeek: weekStartSchema.optional(),
|
|
30730
31036
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
30731
31037
|
defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
|
|
30732
|
-
showFilters:
|
|
31038
|
+
showFilters: z53.boolean().nullable().optional(),
|
|
30733
31039
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
30734
|
-
showVenueFilter:
|
|
30735
|
-
showStaffFilter:
|
|
31040
|
+
showVenueFilter: z53.boolean().nullable().optional(),
|
|
31041
|
+
showStaffFilter: z53.boolean().nullable().optional(),
|
|
30736
31042
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
30737
31043
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
30738
|
-
filterEventPresets:
|
|
31044
|
+
filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
|
|
30739
31045
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
30740
|
-
filterCategoryIds:
|
|
30741
|
-
filterStaffMemberId:
|
|
30742
|
-
filterVenueId:
|
|
31046
|
+
filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
|
|
31047
|
+
filterStaffMemberId: z53.string().nullable().optional(),
|
|
31048
|
+
filterVenueId: z53.string().nullable().optional(),
|
|
30743
31049
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
30744
|
-
buttonText:
|
|
30745
|
-
showVenue:
|
|
30746
|
-
showMap:
|
|
30747
|
-
showCapacity:
|
|
30748
|
-
emptyMessage:
|
|
30749
|
-
className:
|
|
31050
|
+
buttonText: z53.string().optional(),
|
|
31051
|
+
showVenue: z53.boolean().nullable().optional(),
|
|
31052
|
+
showMap: z53.boolean().nullable().optional(),
|
|
31053
|
+
showCapacity: z53.boolean().nullable().optional(),
|
|
31054
|
+
emptyMessage: z53.string().optional(),
|
|
31055
|
+
className: z53.string().optional()
|
|
30750
31056
|
}
|
|
30751
31057
|
);
|
|
30752
|
-
var eventCalendarDisplaySchema =
|
|
30753
|
-
kind:
|
|
31058
|
+
var eventCalendarDisplaySchema = z53.object({
|
|
31059
|
+
kind: z53.literal("event-calendar"),
|
|
30754
31060
|
displayMode: eventCalendarDisplayModeSchema,
|
|
30755
|
-
className:
|
|
30756
|
-
events:
|
|
31061
|
+
className: z53.string().nullable(),
|
|
31062
|
+
events: z53.array(publicEventSchema),
|
|
30757
31063
|
listLayout: eventLayoutSchema,
|
|
30758
31064
|
listColumns: columnOptionSchema,
|
|
30759
31065
|
eventsPerPage: eventPageSizeSchema,
|
|
@@ -30761,41 +31067,41 @@ var eventCalendarDisplaySchema = z52.object({
|
|
|
30761
31067
|
startOfWeek: weekStartSchema,
|
|
30762
31068
|
calendarTabViews: calendarTabViewsSchema,
|
|
30763
31069
|
defaultCalendarView: eventCalendarDefaultViewSchema,
|
|
30764
|
-
showFilters:
|
|
31070
|
+
showFilters: z53.boolean(),
|
|
30765
31071
|
showCategoryFilter: filterAutoShowSchema,
|
|
30766
|
-
showVenueFilter:
|
|
30767
|
-
showStaffFilter:
|
|
31072
|
+
showVenueFilter: z53.boolean(),
|
|
31073
|
+
showStaffFilter: z53.boolean(),
|
|
30768
31074
|
eventKind: eventBlockKindSchema2,
|
|
30769
31075
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30770
|
-
filterEventPresets:
|
|
31076
|
+
filterEventPresets: z53.string().nullable(),
|
|
30771
31077
|
scheduleScope: eventScheduleScopeSchema3,
|
|
30772
|
-
filterCategoryIds:
|
|
30773
|
-
filterStaffMemberId:
|
|
30774
|
-
filterVenueId:
|
|
31078
|
+
filterCategoryIds: z53.string().nullable(),
|
|
31079
|
+
filterStaffMemberId: z53.string().nullable(),
|
|
31080
|
+
filterVenueId: z53.string().nullable(),
|
|
30775
31081
|
buttonVariant: eventButtonVariantSchema,
|
|
30776
|
-
buttonText:
|
|
30777
|
-
showVenue:
|
|
30778
|
-
showMap:
|
|
30779
|
-
showCapacity:
|
|
30780
|
-
emptyMessage:
|
|
30781
|
-
});
|
|
30782
|
-
var eventCalendarHydrationSchema =
|
|
30783
|
-
siteId:
|
|
31082
|
+
buttonText: z53.string(),
|
|
31083
|
+
showVenue: z53.boolean(),
|
|
31084
|
+
showMap: z53.boolean(),
|
|
31085
|
+
showCapacity: z53.boolean(),
|
|
31086
|
+
emptyMessage: z53.string()
|
|
31087
|
+
});
|
|
31088
|
+
var eventCalendarHydrationSchema = z53.object({
|
|
31089
|
+
siteId: z53.string(),
|
|
30784
31090
|
stage: previewStageSchema.optional(),
|
|
30785
|
-
prefetchedEvents:
|
|
31091
|
+
prefetchedEvents: z53.boolean(),
|
|
30786
31092
|
eventKind: eventBlockKindSchema2,
|
|
30787
31093
|
eventSurface: eventSurfaceScopeSchema2,
|
|
30788
|
-
filterEventPresets:
|
|
31094
|
+
filterEventPresets: z53.string().nullable(),
|
|
30789
31095
|
scheduleScope: eventScheduleScopeSchema3
|
|
30790
31096
|
});
|
|
30791
|
-
var eventCalendarRenderSchema =
|
|
31097
|
+
var eventCalendarRenderSchema = z53.object({
|
|
30792
31098
|
display: eventCalendarDisplaySchema,
|
|
30793
31099
|
hydration: eventCalendarHydrationSchema
|
|
30794
31100
|
});
|
|
30795
31101
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
30796
|
-
|
|
30797
|
-
siteId:
|
|
30798
|
-
apiBaseUrl:
|
|
31102
|
+
z53.object({
|
|
31103
|
+
siteId: z53.string(),
|
|
31104
|
+
apiBaseUrl: z53.string().optional(),
|
|
30799
31105
|
stage: previewStageSchema.optional()
|
|
30800
31106
|
})
|
|
30801
31107
|
);
|
|
@@ -30915,14 +31221,7 @@ var eventCalendarLayout = [
|
|
|
30915
31221
|
styledSection({
|
|
30916
31222
|
children: sectionContainer(
|
|
30917
31223
|
[
|
|
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
|
-
),
|
|
31224
|
+
...eventSectionHeaderLayoutNodes(),
|
|
30926
31225
|
// Event calendar component (handles all display modes)
|
|
30927
31226
|
el(
|
|
30928
31227
|
"event-calendar",
|
|
@@ -31567,7 +31866,7 @@ var eventCalendarBlockDefinition = {
|
|
|
31567
31866
|
};
|
|
31568
31867
|
|
|
31569
31868
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31570
|
-
import { z as
|
|
31869
|
+
import { z as z54 } from "zod";
|
|
31571
31870
|
|
|
31572
31871
|
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
31573
31872
|
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
@@ -31659,13 +31958,13 @@ function isRecord6(value) {
|
|
|
31659
31958
|
}
|
|
31660
31959
|
|
|
31661
31960
|
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
31662
|
-
var publicRouteCandidatesSchema =
|
|
31663
|
-
routes:
|
|
31664
|
-
entityId:
|
|
31665
|
-
path:
|
|
31666
|
-
title:
|
|
31667
|
-
kind:
|
|
31668
|
-
contentTypeKey:
|
|
31961
|
+
var publicRouteCandidatesSchema = z54.object({
|
|
31962
|
+
routes: z54.array(z54.object({
|
|
31963
|
+
entityId: z54.string(),
|
|
31964
|
+
path: z54.string(),
|
|
31965
|
+
title: z54.string(),
|
|
31966
|
+
kind: z54.enum(["page", "content"]),
|
|
31967
|
+
contentTypeKey: z54.string().nullable().optional()
|
|
31669
31968
|
}))
|
|
31670
31969
|
});
|
|
31671
31970
|
var groupOverrideFields = [
|
|
@@ -32063,7 +32362,7 @@ function isRecord7(value) {
|
|
|
32063
32362
|
}
|
|
32064
32363
|
|
|
32065
32364
|
// ../blocks/src/system/blocks/embed.ts
|
|
32066
|
-
import { z as
|
|
32365
|
+
import { z as z55 } from "zod";
|
|
32067
32366
|
var embedFields = [
|
|
32068
32367
|
// Section heading
|
|
32069
32368
|
parseFieldDefinition({
|
|
@@ -32294,18 +32593,18 @@ var embedManifest = createBlockManifest({
|
|
|
32294
32593
|
spacing: "lg"
|
|
32295
32594
|
}
|
|
32296
32595
|
});
|
|
32297
|
-
var embedEntrySchema =
|
|
32298
|
-
id:
|
|
32299
|
-
identifier:
|
|
32300
|
-
title:
|
|
32301
|
-
slug:
|
|
32302
|
-
content:
|
|
32303
|
-
publishedAt:
|
|
32596
|
+
var embedEntrySchema = z55.object({
|
|
32597
|
+
id: z55.string(),
|
|
32598
|
+
identifier: z55.string(),
|
|
32599
|
+
title: z55.string(),
|
|
32600
|
+
slug: z55.string().nullable().optional(),
|
|
32601
|
+
content: z55.record(z55.string(), z55.unknown()).optional(),
|
|
32602
|
+
publishedAt: z55.string().nullable().optional()
|
|
32304
32603
|
});
|
|
32305
32604
|
var embedBlockDefinition = {
|
|
32306
32605
|
manifest: embedManifest,
|
|
32307
32606
|
dataSchemas: {
|
|
32308
|
-
entries:
|
|
32607
|
+
entries: z55.array(embedEntrySchema).optional()
|
|
32309
32608
|
},
|
|
32310
32609
|
dataLoaders: {
|
|
32311
32610
|
entries: {
|
|
@@ -33489,49 +33788,49 @@ var fileDownloadBlockDefinition = {
|
|
|
33489
33788
|
};
|
|
33490
33789
|
|
|
33491
33790
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33492
|
-
import { z as
|
|
33791
|
+
import { z as z58 } from "zod";
|
|
33493
33792
|
|
|
33494
33793
|
// ../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:
|
|
33794
|
+
import { z as z56 } from "zod";
|
|
33795
|
+
var publicProductVariantSchema = z56.object({
|
|
33796
|
+
id: z56.string(),
|
|
33797
|
+
title: z56.string(),
|
|
33798
|
+
sku: z56.string().nullable(),
|
|
33799
|
+
priceCents: z56.number(),
|
|
33800
|
+
stockQuantity: z56.number().nullable(),
|
|
33801
|
+
soldOut: z56.boolean()
|
|
33802
|
+
});
|
|
33803
|
+
var publicProductSchema = z56.object({
|
|
33804
|
+
id: z56.string(),
|
|
33805
|
+
contentEntryId: z56.string().nullable(),
|
|
33806
|
+
title: z56.string(),
|
|
33807
|
+
slug: z56.string(),
|
|
33808
|
+
path: z56.string().nullable(),
|
|
33809
|
+
status: z56.enum(["draft", "active"]),
|
|
33810
|
+
priceCents: z56.number(),
|
|
33811
|
+
currency: z56.string(),
|
|
33812
|
+
productType: z56.enum(["physical", "digital"]),
|
|
33813
|
+
requiresShipping: z56.boolean(),
|
|
33814
|
+
hasVariants: z56.boolean(),
|
|
33815
|
+
trackInventory: z56.boolean(),
|
|
33816
|
+
soldOut: z56.boolean(),
|
|
33817
|
+
category: z56.object({
|
|
33818
|
+
id: z56.string(),
|
|
33819
|
+
name: z56.string(),
|
|
33820
|
+
slug: z56.string()
|
|
33522
33821
|
}).nullable(),
|
|
33523
|
-
summary:
|
|
33524
|
-
body:
|
|
33525
|
-
gallery:
|
|
33526
|
-
|
|
33527
|
-
url:
|
|
33528
|
-
alt:
|
|
33822
|
+
summary: z56.string().nullable(),
|
|
33823
|
+
body: z56.unknown().nullable(),
|
|
33824
|
+
gallery: z56.array(
|
|
33825
|
+
z56.object({
|
|
33826
|
+
url: z56.string(),
|
|
33827
|
+
alt: z56.string().nullable()
|
|
33529
33828
|
})
|
|
33530
33829
|
),
|
|
33531
|
-
variants:
|
|
33830
|
+
variants: z56.array(publicProductVariantSchema)
|
|
33532
33831
|
});
|
|
33533
|
-
var publicProductsResponseSchema =
|
|
33534
|
-
products:
|
|
33832
|
+
var publicProductsResponseSchema = z56.object({
|
|
33833
|
+
products: z56.array(publicProductSchema)
|
|
33535
33834
|
});
|
|
33536
33835
|
|
|
33537
33836
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -33595,27 +33894,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
33595
33894
|
}
|
|
33596
33895
|
|
|
33597
33896
|
// ../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:
|
|
33897
|
+
import { z as z57 } from "zod";
|
|
33898
|
+
var storedProductCartItemSchema = z57.object({
|
|
33899
|
+
kind: z57.literal("product"),
|
|
33900
|
+
productId: z57.string().min(1),
|
|
33901
|
+
productCategoryId: z57.string().min(1).optional().nullable(),
|
|
33902
|
+
variantId: z57.string().min(1).optional().nullable(),
|
|
33903
|
+
title: z57.string().min(1),
|
|
33904
|
+
variantTitle: z57.string().optional().nullable(),
|
|
33905
|
+
quantity: z57.number().finite(),
|
|
33906
|
+
unitPriceCents: z57.number().finite(),
|
|
33907
|
+
currency: z57.string().min(1),
|
|
33908
|
+
imageUrl: z57.string().optional().nullable(),
|
|
33909
|
+
soldOut: z57.boolean().optional()
|
|
33910
|
+
});
|
|
33911
|
+
var storedPassCartItemSchema = z57.object({
|
|
33912
|
+
kind: z57.literal("pass"),
|
|
33913
|
+
passId: z57.string().min(1),
|
|
33914
|
+
title: z57.string().min(1),
|
|
33915
|
+
quantity: z57.number().finite().optional(),
|
|
33916
|
+
unitPriceCents: z57.number().finite(),
|
|
33917
|
+
currency: z57.string().min(1)
|
|
33619
33918
|
});
|
|
33620
33919
|
function deriveCommerceCheckoutState(state) {
|
|
33621
33920
|
if (state.items.length === 0) {
|
|
@@ -33849,214 +34148,214 @@ function formatValidity(days) {
|
|
|
33849
34148
|
}
|
|
33850
34149
|
|
|
33851
34150
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
33852
|
-
var shopModeSchema =
|
|
33853
|
-
var contentEntrySchema3 =
|
|
33854
|
-
id:
|
|
33855
|
-
slug:
|
|
34151
|
+
var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
34152
|
+
var contentEntrySchema3 = z58.object({
|
|
34153
|
+
id: z58.string().nullable().optional(),
|
|
34154
|
+
slug: z58.string().nullable().optional()
|
|
33856
34155
|
}).nullable();
|
|
33857
|
-
var shopSourceSchema =
|
|
33858
|
-
className:
|
|
34156
|
+
var shopSourceSchema = z58.object({
|
|
34157
|
+
className: z58.string().nullable().optional(),
|
|
33859
34158
|
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:
|
|
34159
|
+
heading: z58.string().nullable().optional(),
|
|
34160
|
+
productSlug: z58.string().nullable().optional(),
|
|
34161
|
+
showPasses: z58.boolean().optional(),
|
|
34162
|
+
showMemberships: z58.boolean().optional(),
|
|
34163
|
+
layout: z58.enum(["grid", "list"]).optional(),
|
|
34164
|
+
columns: z58.string().optional(),
|
|
34165
|
+
showDescriptions: z58.boolean().optional(),
|
|
34166
|
+
showSummary: z58.boolean().optional(),
|
|
34167
|
+
showBody: z58.boolean().optional(),
|
|
34168
|
+
showPrices: z58.boolean().optional(),
|
|
34169
|
+
showValidityPeriod: z58.boolean().optional(),
|
|
34170
|
+
showPricePerCredit: z58.boolean().nullable().optional(),
|
|
34171
|
+
passesHeading: z58.string().optional(),
|
|
34172
|
+
membershipsHeading: z58.string().optional(),
|
|
34173
|
+
buyButtonText: z58.string().optional(),
|
|
34174
|
+
addButtonText: z58.string().optional(),
|
|
34175
|
+
passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
|
|
34176
|
+
subscribeButtonText: z58.string().optional(),
|
|
34177
|
+
emptyStateText: z58.string().optional(),
|
|
34178
|
+
checkoutButtonText: z58.string().optional(),
|
|
34179
|
+
clearButtonText: z58.string().optional(),
|
|
34180
|
+
submitButtonText: z58.string().optional(),
|
|
33882
34181
|
contentEntry: contentEntrySchema3.optional(),
|
|
33883
|
-
passes:
|
|
33884
|
-
memberships:
|
|
33885
|
-
products:
|
|
33886
|
-
siteId:
|
|
33887
|
-
apiBaseUrl:
|
|
34182
|
+
passes: z58.array(publicPassProductSchema).nullable().optional(),
|
|
34183
|
+
memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
|
|
34184
|
+
products: z58.array(publicProductSchema).nullable().optional(),
|
|
34185
|
+
siteId: z58.string().optional(),
|
|
34186
|
+
apiBaseUrl: z58.string().optional(),
|
|
33888
34187
|
stage: previewStageSchema.optional()
|
|
33889
34188
|
});
|
|
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:
|
|
34189
|
+
var productVariantOptionDisplaySchema = z58.object({
|
|
34190
|
+
id: z58.string(),
|
|
34191
|
+
label: z58.string(),
|
|
34192
|
+
soldOut: z58.boolean()
|
|
34193
|
+
});
|
|
34194
|
+
var productCardDisplaySchema = z58.object({
|
|
34195
|
+
productId: z58.string(),
|
|
34196
|
+
title: z58.string(),
|
|
34197
|
+
path: z58.string().nullable(),
|
|
34198
|
+
summary: z58.string().nullable(),
|
|
34199
|
+
priceLabel: z58.string().nullable(),
|
|
34200
|
+
image: z58.object({
|
|
34201
|
+
url: z58.string(),
|
|
34202
|
+
alt: z58.string().nullable()
|
|
33904
34203
|
}).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:
|
|
34204
|
+
variantOptions: z58.array(productVariantOptionDisplaySchema),
|
|
34205
|
+
selectedVariantId: z58.string().nullable(),
|
|
34206
|
+
selectionLabel: z58.string(),
|
|
34207
|
+
actionLabel: z58.string(),
|
|
34208
|
+
soldOut: z58.boolean()
|
|
34209
|
+
});
|
|
34210
|
+
var productListDisplaySchema = z58.object({
|
|
34211
|
+
kind: z58.literal("product-list"),
|
|
34212
|
+
state: z58.enum(["empty", "ready"]),
|
|
34213
|
+
heading: z58.string().nullable(),
|
|
34214
|
+
className: z58.string().nullable(),
|
|
34215
|
+
layout: z58.enum(["grid", "list"]),
|
|
34216
|
+
columns: z58.string(),
|
|
34217
|
+
emptyMessage: z58.string(),
|
|
34218
|
+
cards: z58.array(productCardDisplaySchema)
|
|
34219
|
+
});
|
|
34220
|
+
var productDetailDisplaySchema = z58.discriminatedUnion("state", [
|
|
34221
|
+
z58.object({
|
|
34222
|
+
kind: z58.literal("product-detail"),
|
|
34223
|
+
state: z58.literal("empty"),
|
|
34224
|
+
heading: z58.string().nullable(),
|
|
34225
|
+
className: z58.string().nullable(),
|
|
34226
|
+
emptyMessage: z58.string()
|
|
33928
34227
|
}),
|
|
33929
|
-
|
|
33930
|
-
kind:
|
|
33931
|
-
state:
|
|
33932
|
-
heading:
|
|
33933
|
-
className:
|
|
33934
|
-
title:
|
|
33935
|
-
priceLabel:
|
|
33936
|
-
summary:
|
|
33937
|
-
categoryLabel:
|
|
33938
|
-
gallery:
|
|
33939
|
-
url:
|
|
33940
|
-
alt:
|
|
34228
|
+
z58.object({
|
|
34229
|
+
kind: z58.literal("product-detail"),
|
|
34230
|
+
state: z58.literal("ready"),
|
|
34231
|
+
heading: z58.string().nullable(),
|
|
34232
|
+
className: z58.string().nullable(),
|
|
34233
|
+
title: z58.string(),
|
|
34234
|
+
priceLabel: z58.string(),
|
|
34235
|
+
summary: z58.string().nullable(),
|
|
34236
|
+
categoryLabel: z58.string().nullable(),
|
|
34237
|
+
gallery: z58.array(z58.object({
|
|
34238
|
+
url: z58.string(),
|
|
34239
|
+
alt: z58.string().nullable()
|
|
33941
34240
|
})),
|
|
33942
|
-
variantOptions:
|
|
33943
|
-
selectedVariantId:
|
|
33944
|
-
selectionLabel:
|
|
33945
|
-
actionLabel:
|
|
33946
|
-
soldOut:
|
|
33947
|
-
body:
|
|
34241
|
+
variantOptions: z58.array(productVariantOptionDisplaySchema),
|
|
34242
|
+
selectedVariantId: z58.string().nullable(),
|
|
34243
|
+
selectionLabel: z58.string(),
|
|
34244
|
+
actionLabel: z58.string(),
|
|
34245
|
+
soldOut: z58.boolean(),
|
|
34246
|
+
body: z58.unknown().nullable()
|
|
33948
34247
|
})
|
|
33949
34248
|
]);
|
|
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 =
|
|
34249
|
+
var passCardDisplaySchema = z58.object({
|
|
34250
|
+
id: z58.string(),
|
|
34251
|
+
title: z58.string(),
|
|
34252
|
+
description: z58.string().nullable(),
|
|
34253
|
+
priceLabel: z58.string(),
|
|
34254
|
+
creditsLabel: z58.string(),
|
|
34255
|
+
perCreditLabel: z58.string().nullable(),
|
|
34256
|
+
validityLabel: z58.string().nullable(),
|
|
34257
|
+
actionLabel: z58.string()
|
|
34258
|
+
});
|
|
34259
|
+
var membershipCardDisplaySchema = z58.object({
|
|
34260
|
+
id: z58.string(),
|
|
34261
|
+
title: z58.string(),
|
|
34262
|
+
description: z58.string().nullable(),
|
|
34263
|
+
priceLabel: z58.string(),
|
|
34264
|
+
intervalLabel: z58.string(),
|
|
34265
|
+
actionLabel: z58.string()
|
|
34266
|
+
});
|
|
34267
|
+
var passesMembershipsDisplaySchema = z58.object({
|
|
34268
|
+
kind: z58.literal("passes-memberships"),
|
|
34269
|
+
state: z58.enum(["empty", "ready"]),
|
|
34270
|
+
className: z58.string().nullable(),
|
|
34271
|
+
layout: z58.enum(["grid", "list"]),
|
|
34272
|
+
columns: z58.string(),
|
|
34273
|
+
emptyMessage: z58.string(),
|
|
34274
|
+
passesHeading: z58.string(),
|
|
34275
|
+
membershipsHeading: z58.string(),
|
|
34276
|
+
passes: z58.array(passCardDisplaySchema),
|
|
34277
|
+
memberships: z58.array(membershipCardDisplaySchema)
|
|
34278
|
+
});
|
|
34279
|
+
var cartLineDisplaySchema = z58.object({
|
|
34280
|
+
key: z58.string(),
|
|
34281
|
+
title: z58.string(),
|
|
34282
|
+
priceLabel: z58.string(),
|
|
34283
|
+
quantity: z58.number(),
|
|
34284
|
+
quantityEditable: z58.boolean()
|
|
34285
|
+
});
|
|
34286
|
+
var cartDisplaySchema = z58.object({
|
|
34287
|
+
kind: z58.literal("cart"),
|
|
34288
|
+
state: z58.enum(["empty", "ready"]),
|
|
34289
|
+
heading: z58.string().nullable(),
|
|
34290
|
+
className: z58.string().nullable(),
|
|
34291
|
+
emptyMessage: z58.string(),
|
|
34292
|
+
supportText: z58.string().nullable(),
|
|
34293
|
+
items: z58.array(cartLineDisplaySchema),
|
|
34294
|
+
subtotalLabel: z58.string().nullable(),
|
|
34295
|
+
checkoutButtonText: z58.string(),
|
|
34296
|
+
clearButtonText: z58.string()
|
|
34297
|
+
});
|
|
34298
|
+
var checkoutDisplaySchema = z58.object({
|
|
34299
|
+
kind: z58.literal("checkout"),
|
|
34300
|
+
state: z58.enum(["empty", "blocked", "ready"]),
|
|
34301
|
+
heading: z58.string().nullable(),
|
|
34302
|
+
className: z58.string().nullable(),
|
|
34303
|
+
message: z58.string().nullable(),
|
|
34304
|
+
submitButtonText: z58.string()
|
|
34305
|
+
});
|
|
34306
|
+
var passesMembershipsHydrationSchema = z58.object({
|
|
34307
|
+
passes: z58.array(publicPassProductSchema),
|
|
34308
|
+
memberships: z58.array(publicMembershipProductSchema),
|
|
34309
|
+
passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
|
|
34310
|
+
});
|
|
34311
|
+
var productListHydrationSchema = z58.object({
|
|
34312
|
+
products: z58.array(publicProductSchema),
|
|
34313
|
+
showSummary: z58.boolean(),
|
|
34314
|
+
showPrices: z58.boolean(),
|
|
34315
|
+
addButtonText: z58.string()
|
|
34316
|
+
});
|
|
34317
|
+
var productDetailHydrationSchema = z58.object({
|
|
34318
|
+
products: z58.array(publicProductSchema),
|
|
34319
|
+
productId: z58.string().nullable(),
|
|
34320
|
+
showSummary: z58.boolean(),
|
|
34321
|
+
showBody: z58.boolean(),
|
|
34322
|
+
addButtonText: z58.string()
|
|
34323
|
+
});
|
|
34324
|
+
var cartHydrationSchema = z58.object({
|
|
34325
|
+
emptyStateText: z58.string(),
|
|
34326
|
+
checkoutButtonText: z58.string(),
|
|
34327
|
+
clearButtonText: z58.string()
|
|
34328
|
+
});
|
|
34329
|
+
var checkoutHydrationSchema = z58.object({
|
|
34330
|
+
emptyStateText: z58.string(),
|
|
34331
|
+
submitButtonText: z58.string()
|
|
34332
|
+
});
|
|
34333
|
+
var passesMembershipsRenderSchema = z58.object({
|
|
34035
34334
|
display: passesMembershipsDisplaySchema,
|
|
34036
34335
|
hydration: passesMembershipsHydrationSchema
|
|
34037
34336
|
});
|
|
34038
|
-
var productListRenderSchema =
|
|
34337
|
+
var productListRenderSchema = z58.object({
|
|
34039
34338
|
display: productListDisplaySchema,
|
|
34040
34339
|
hydration: productListHydrationSchema
|
|
34041
34340
|
});
|
|
34042
|
-
var productDetailRenderSchema =
|
|
34341
|
+
var productDetailRenderSchema = z58.object({
|
|
34043
34342
|
display: productDetailDisplaySchema,
|
|
34044
34343
|
hydration: productDetailHydrationSchema
|
|
34045
34344
|
});
|
|
34046
|
-
var cartRenderSchema =
|
|
34345
|
+
var cartRenderSchema = z58.object({
|
|
34047
34346
|
display: cartDisplaySchema,
|
|
34048
34347
|
hydration: cartHydrationSchema
|
|
34049
34348
|
});
|
|
34050
|
-
var checkoutRenderSchema =
|
|
34349
|
+
var checkoutRenderSchema = z58.object({
|
|
34051
34350
|
display: checkoutDisplaySchema,
|
|
34052
34351
|
hydration: checkoutHydrationSchema
|
|
34053
34352
|
});
|
|
34054
34353
|
function resolveShowPricePerCredit(source) {
|
|
34055
34354
|
return source.showPricePerCredit ?? true;
|
|
34056
34355
|
}
|
|
34057
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
34058
|
-
siteId:
|
|
34059
|
-
apiBaseUrl:
|
|
34356
|
+
var shopIslandMetaCodec = createZodCodec(z58.object({
|
|
34357
|
+
siteId: z58.string().optional(),
|
|
34358
|
+
apiBaseUrl: z58.string().optional(),
|
|
34060
34359
|
stage: previewStageSchema.optional()
|
|
34061
34360
|
}));
|
|
34062
34361
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -34459,7 +34758,7 @@ var shopBlockDefinition = {
|
|
|
34459
34758
|
};
|
|
34460
34759
|
|
|
34461
34760
|
// ../blocks/src/system/blocks/product-list.ts
|
|
34462
|
-
import { z as
|
|
34761
|
+
import { z as z59 } from "zod";
|
|
34463
34762
|
var productListManifest = createBlockManifest({
|
|
34464
34763
|
id: "block.product-list",
|
|
34465
34764
|
version: "1.0.0",
|
|
@@ -34592,7 +34891,7 @@ var productListBlockDefinition = {
|
|
|
34592
34891
|
}
|
|
34593
34892
|
}
|
|
34594
34893
|
};
|
|
34595
|
-
var productListDataSchema =
|
|
34894
|
+
var productListDataSchema = z59.object({
|
|
34596
34895
|
products: publicProductsResponseSchema.optional()
|
|
34597
34896
|
});
|
|
34598
34897
|
|
|
@@ -34853,72 +35152,72 @@ var checkoutBlockDefinition = {
|
|
|
34853
35152
|
};
|
|
34854
35153
|
|
|
34855
35154
|
// ../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:
|
|
35155
|
+
import { z as z60 } from "zod";
|
|
35156
|
+
var publicGiftCardOfferSchema = z60.object({
|
|
35157
|
+
id: z60.string(),
|
|
35158
|
+
kind: z60.literal("gift_card"),
|
|
35159
|
+
title: z60.string(),
|
|
35160
|
+
description: z60.string().nullable(),
|
|
35161
|
+
sortOrder: z60.number().int(),
|
|
35162
|
+
giftCard: z60.object({
|
|
35163
|
+
fixedDenominations: z60.array(z60.number().int().positive()),
|
|
35164
|
+
customAmountEnabled: z60.boolean(),
|
|
35165
|
+
customAmountMinCents: z60.number().int().positive(),
|
|
35166
|
+
customAmountMaxCents: z60.number().int().positive()
|
|
34868
35167
|
}),
|
|
34869
|
-
voucher:
|
|
34870
|
-
});
|
|
34871
|
-
var publicVoucherOfferSchema =
|
|
34872
|
-
id:
|
|
34873
|
-
kind:
|
|
34874
|
-
title:
|
|
34875
|
-
description:
|
|
34876
|
-
sortOrder:
|
|
34877
|
-
giftCard:
|
|
34878
|
-
voucher:
|
|
34879
|
-
purchaseAmountCents:
|
|
35168
|
+
voucher: z60.null()
|
|
35169
|
+
});
|
|
35170
|
+
var publicVoucherOfferSchema = z60.object({
|
|
35171
|
+
id: z60.string(),
|
|
35172
|
+
kind: z60.literal("voucher"),
|
|
35173
|
+
title: z60.string(),
|
|
35174
|
+
description: z60.string().nullable(),
|
|
35175
|
+
sortOrder: z60.number().int(),
|
|
35176
|
+
giftCard: z60.null(),
|
|
35177
|
+
voucher: z60.object({
|
|
35178
|
+
purchaseAmountCents: z60.number().int().positive()
|
|
34880
35179
|
})
|
|
34881
35180
|
});
|
|
34882
|
-
var publicGiftingOffersResponseSchema =
|
|
34883
|
-
currency:
|
|
34884
|
-
giftCards:
|
|
34885
|
-
vouchers:
|
|
35181
|
+
var publicGiftingOffersResponseSchema = z60.object({
|
|
35182
|
+
currency: z60.string(),
|
|
35183
|
+
giftCards: z60.array(publicGiftCardOfferSchema),
|
|
35184
|
+
vouchers: z60.array(publicVoucherOfferSchema)
|
|
34886
35185
|
});
|
|
34887
|
-
var giftingSourceSchema =
|
|
34888
|
-
siteId:
|
|
34889
|
-
apiBaseUrl:
|
|
35186
|
+
var giftingSourceSchema = z60.object({
|
|
35187
|
+
siteId: z60.string().optional(),
|
|
35188
|
+
apiBaseUrl: z60.string().optional(),
|
|
34890
35189
|
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 =
|
|
35190
|
+
className: z60.string().nullable().optional(),
|
|
35191
|
+
heading: z60.string().nullable().optional(),
|
|
35192
|
+
intro: z60.string().nullable().optional(),
|
|
35193
|
+
giftCardsHeading: z60.string().nullable().optional(),
|
|
35194
|
+
vouchersHeading: z60.string().nullable().optional(),
|
|
35195
|
+
emptyStateText: z60.string().nullable().optional(),
|
|
35196
|
+
checkoutButtonText: z60.string().nullable().optional(),
|
|
35197
|
+
successMessage: z60.string().nullable().optional()
|
|
35198
|
+
});
|
|
35199
|
+
var giftingDisplaySchema = z60.object({
|
|
35200
|
+
kind: z60.literal("gifting"),
|
|
35201
|
+
state: z60.literal("ready"),
|
|
35202
|
+
className: z60.string().nullable(),
|
|
35203
|
+
heading: z60.string(),
|
|
35204
|
+
intro: z60.string().nullable(),
|
|
35205
|
+
giftCardsHeading: z60.string(),
|
|
35206
|
+
vouchersHeading: z60.string(),
|
|
35207
|
+
emptyStateText: z60.string()
|
|
35208
|
+
});
|
|
35209
|
+
var giftingHydrationSchema = z60.object({
|
|
34911
35210
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
34912
|
-
checkoutButtonText:
|
|
34913
|
-
successMessage:
|
|
35211
|
+
checkoutButtonText: z60.string(),
|
|
35212
|
+
successMessage: z60.string()
|
|
34914
35213
|
});
|
|
34915
|
-
var giftingRenderSchema =
|
|
35214
|
+
var giftingRenderSchema = z60.object({
|
|
34916
35215
|
display: giftingDisplaySchema,
|
|
34917
35216
|
hydration: giftingHydrationSchema
|
|
34918
35217
|
});
|
|
34919
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
34920
|
-
siteId:
|
|
34921
|
-
apiBaseUrl:
|
|
35218
|
+
var giftingIslandMetaCodec = createZodCodec(z60.object({
|
|
35219
|
+
siteId: z60.string().optional(),
|
|
35220
|
+
apiBaseUrl: z60.string().optional()
|
|
34922
35221
|
}));
|
|
34923
35222
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
34924
35223
|
"siteId",
|
|
@@ -35089,7 +35388,7 @@ var giftingBlockDefinition = {
|
|
|
35089
35388
|
};
|
|
35090
35389
|
|
|
35091
35390
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
35092
|
-
import { z as
|
|
35391
|
+
import { z as z61 } from "zod";
|
|
35093
35392
|
|
|
35094
35393
|
// ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
35095
35394
|
function parseNewsletterSignupBlockId(value) {
|
|
@@ -35196,65 +35495,65 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
35196
35495
|
}
|
|
35197
35496
|
|
|
35198
35497
|
// ../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:
|
|
35498
|
+
var newsletterPresetSchema = z61.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
35499
|
+
var newsletterDestinationProviderSchema = z61.enum(["riverbank", "mailchimp"]);
|
|
35500
|
+
var newsletterFieldSchema = z61.object({
|
|
35501
|
+
id: z61.string(),
|
|
35502
|
+
type: z61.enum(["email", "text"]),
|
|
35503
|
+
label: z61.string(),
|
|
35504
|
+
required: z61.boolean(),
|
|
35505
|
+
placeholder: z61.string().optional()
|
|
35506
|
+
});
|
|
35507
|
+
var newsletterSignupBlockIdSchema = z61.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
35508
|
+
var signedNewsletterDestinationRefSchema = z61.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
35509
|
+
var newsletterPublicDestinationRefSchema = z61.discriminatedUnion("tag", [
|
|
35510
|
+
z61.object({
|
|
35511
|
+
tag: z61.literal("block_ref"),
|
|
35213
35512
|
blockId: newsletterSignupBlockIdSchema
|
|
35214
35513
|
}),
|
|
35215
|
-
|
|
35216
|
-
tag:
|
|
35514
|
+
z61.object({
|
|
35515
|
+
tag: z61.literal("signed_destination_ref"),
|
|
35217
35516
|
token: signedNewsletterDestinationRefSchema
|
|
35218
35517
|
})
|
|
35219
35518
|
]);
|
|
35220
|
-
var newsletterSourceSchema =
|
|
35221
|
-
blockId:
|
|
35222
|
-
siteId:
|
|
35223
|
-
apiBaseUrl:
|
|
35224
|
-
listId:
|
|
35519
|
+
var newsletterSourceSchema = z61.object({
|
|
35520
|
+
blockId: z61.string().nullable().optional(),
|
|
35521
|
+
siteId: z61.string().optional(),
|
|
35522
|
+
apiBaseUrl: z61.string().optional(),
|
|
35523
|
+
listId: z61.string().nullable().optional(),
|
|
35225
35524
|
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
35226
35525
|
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 =
|
|
35526
|
+
includePhone: z61.boolean().optional(),
|
|
35527
|
+
buttonLabel: z61.string().nullable().optional(),
|
|
35528
|
+
successMessage: z61.string().nullable().optional(),
|
|
35529
|
+
privacyNote: z61.string().nullable().optional(),
|
|
35530
|
+
tags: z61.string().nullable().optional(),
|
|
35531
|
+
spamProtectionEnabled: z61.boolean().optional(),
|
|
35532
|
+
className: z61.string().nullable().optional()
|
|
35533
|
+
});
|
|
35534
|
+
var newsletterDisplaySchema = z61.object({
|
|
35535
|
+
kind: z61.literal("newsletter-form"),
|
|
35536
|
+
className: z61.string().nullable(),
|
|
35537
|
+
buttonLabel: z61.string(),
|
|
35538
|
+
successMessage: z61.string().nullable(),
|
|
35539
|
+
privacyNote: z61.string().nullable(),
|
|
35540
|
+
fields: z61.array(newsletterFieldSchema)
|
|
35541
|
+
});
|
|
35542
|
+
var newsletterHydrationSchema = z61.object({
|
|
35244
35543
|
destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
|
|
35245
|
-
listId:
|
|
35544
|
+
listId: z61.string().nullable().optional(),
|
|
35246
35545
|
preset: newsletterPresetSchema,
|
|
35247
|
-
includePhone:
|
|
35248
|
-
tags:
|
|
35249
|
-
spamProtectionEnabled:
|
|
35546
|
+
includePhone: z61.boolean(),
|
|
35547
|
+
tags: z61.string().nullable().optional(),
|
|
35548
|
+
spamProtectionEnabled: z61.boolean().optional()
|
|
35250
35549
|
});
|
|
35251
|
-
var newsletterRenderSchema =
|
|
35550
|
+
var newsletterRenderSchema = z61.object({
|
|
35252
35551
|
display: newsletterDisplaySchema,
|
|
35253
35552
|
hydration: newsletterHydrationSchema
|
|
35254
35553
|
});
|
|
35255
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
35256
|
-
siteId:
|
|
35257
|
-
apiBaseUrl:
|
|
35554
|
+
var newsletterIslandMetaCodec = createZodCodec(z61.object({
|
|
35555
|
+
siteId: z61.string().optional(),
|
|
35556
|
+
apiBaseUrl: z61.string().optional()
|
|
35258
35557
|
}));
|
|
35259
35558
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
35260
35559
|
function buildNewsletterDisplay(source) {
|
|
@@ -35393,23 +35692,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
35393
35692
|
};
|
|
35394
35693
|
|
|
35395
35694
|
// ../blocks/src/system/blocks/team-members.ts
|
|
35396
|
-
import { z as
|
|
35695
|
+
import { z as z62 } from "zod";
|
|
35397
35696
|
var ITEM_NAME2 = "member";
|
|
35398
35697
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
35399
35698
|
message: "Team member photos must be image media"
|
|
35400
35699
|
}).nullable();
|
|
35401
|
-
var teamMemberDataSchema =
|
|
35402
|
-
_type:
|
|
35403
|
-
id:
|
|
35404
|
-
name:
|
|
35405
|
-
role:
|
|
35406
|
-
roleLabel:
|
|
35407
|
-
bio:
|
|
35408
|
-
summary:
|
|
35700
|
+
var teamMemberDataSchema = z62.object({
|
|
35701
|
+
_type: z62.literal("teamMember"),
|
|
35702
|
+
id: z62.string(),
|
|
35703
|
+
name: z62.string(),
|
|
35704
|
+
role: z62.string().nullable(),
|
|
35705
|
+
roleLabel: z62.string().nullable(),
|
|
35706
|
+
bio: z62.string().nullable(),
|
|
35707
|
+
summary: z62.string().nullable(),
|
|
35409
35708
|
photo: teamMemberPhotoSchema,
|
|
35410
|
-
profilePath:
|
|
35709
|
+
profilePath: z62.string().nullable()
|
|
35411
35710
|
});
|
|
35412
|
-
var teamMembersDataSchema =
|
|
35711
|
+
var teamMembersDataSchema = z62.array(teamMemberDataSchema);
|
|
35413
35712
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
35414
35713
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
35415
35714
|
var headingNode = text(
|
|
@@ -36515,6 +36814,10 @@ var systemBlockDefinitionsRaw = [
|
|
|
36515
36814
|
flow: conversionFlow,
|
|
36516
36815
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
36517
36816
|
})),
|
|
36817
|
+
withDesignCapability("block.weekly-slot-availability", weeklySlotAvailabilityBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
36818
|
+
flow: offeringsFlow,
|
|
36819
|
+
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
36820
|
+
})),
|
|
36518
36821
|
withDesignCapability("block.event-registration", eventRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
36519
36822
|
flow: conversionFlow,
|
|
36520
36823
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
@@ -37590,6 +37893,34 @@ ${root} {
|
|
|
37590
37893
|
/* Order summary */
|
|
37591
37894
|
--er-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
37592
37895
|
--er-summary-border: rgb(var(--tb-border));
|
|
37896
|
+
|
|
37897
|
+
/* Shared registration-surface mappings (issue 1174).
|
|
37898
|
+
Route the shared --rb-reg-* contract through this block's documented
|
|
37899
|
+
Tier 3 vars so existing --er-* overrides keep working unchanged. */
|
|
37900
|
+
--rb-reg-radius: var(--er-radius);
|
|
37901
|
+
--rb-reg-border: var(--er-border);
|
|
37902
|
+
--rb-reg-border-hover: var(--er-border-hover);
|
|
37903
|
+
--rb-reg-border-selected: var(--er-border-selected);
|
|
37904
|
+
--rb-reg-bg-selected: var(--er-payment-bg-selected);
|
|
37905
|
+
--rb-reg-option-bg: var(--er-control-bg);
|
|
37906
|
+
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
37907
|
+
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
37908
|
+
--rb-reg-on-surface: var(--er-on-surface);
|
|
37909
|
+
--rb-reg-on-surface-muted: var(--er-on-surface-muted);
|
|
37910
|
+
--rb-reg-on-surface-subtle: var(--er-on-surface-subtle);
|
|
37911
|
+
--rb-reg-on-surface-faint: var(--er-on-surface-faint);
|
|
37912
|
+
--rb-reg-check-bg: var(--er-check-bg);
|
|
37913
|
+
--rb-reg-check-text: var(--er-check-text);
|
|
37914
|
+
--rb-reg-step-active: var(--er-step-active);
|
|
37915
|
+
--rb-reg-step-completed: var(--er-step-completed);
|
|
37916
|
+
--rb-reg-step-inactive: var(--er-step-inactive);
|
|
37917
|
+
--rb-reg-step-text: var(--er-step-text);
|
|
37918
|
+
--rb-reg-step-text-active: var(--er-step-text-active);
|
|
37919
|
+
--rb-reg-step-connector: var(--er-step-connector);
|
|
37920
|
+
--rb-reg-summary-bg: var(--er-surface-muted);
|
|
37921
|
+
--rb-reg-summary-border: var(--er-border);
|
|
37922
|
+
--rb-reg-focus-ring: var(--er-focus-ring);
|
|
37923
|
+
--rb-reg-shell-line: var(--er-shell-line);
|
|
37593
37924
|
}
|
|
37594
37925
|
`;
|
|
37595
37926
|
}
|
|
@@ -37722,25 +38053,40 @@ ${root} {
|
|
|
37722
38053
|
--ab-info-bg: rgba(var(--tb-info), 0.1);
|
|
37723
38054
|
--ab-info-text: rgb(var(--tb-info));
|
|
37724
38055
|
|
|
37725
|
-
/*
|
|
38056
|
+
/* Muted summary state */
|
|
37726
38057
|
--ab-muted-bg: rgba(var(--tb-text), 0.05);
|
|
37727
|
-
--ab-muted-text: rgba(var(--tb-text), 0.6);
|
|
37728
|
-
--ab-spinner-color: rgb(var(--tb-primary));
|
|
37729
38058
|
|
|
37730
|
-
/*
|
|
37731
|
-
--ab-input-border: rgb(var(--tb-border));
|
|
38059
|
+
/* Focus ring used by shared registration-surface controls */
|
|
37732
38060
|
--ab-input-focus-ring: rgba(var(--tb-primary), 0.3);
|
|
37733
38061
|
|
|
37734
|
-
/*
|
|
37735
|
-
|
|
37736
|
-
|
|
37737
|
-
|
|
37738
|
-
--
|
|
37739
|
-
--
|
|
37740
|
-
|
|
37741
|
-
|
|
37742
|
-
--
|
|
37743
|
-
--
|
|
38062
|
+
/* Shared registration-surface mappings (issue 1174).
|
|
38063
|
+
Route the shared --rb-reg-* contract through this block's Tier 3 vars
|
|
38064
|
+
(palette tokens where no --ab-* var exists) so --ab-* overrides keep
|
|
38065
|
+
working as the block adopts the shared classes. */
|
|
38066
|
+
--rb-reg-radius: var(--ab-card-radius, var(--rb-block-radius));
|
|
38067
|
+
--rb-reg-border: var(--ab-card-border);
|
|
38068
|
+
--rb-reg-border-hover: var(--ab-card-border-hover);
|
|
38069
|
+
--rb-reg-border-selected: var(--ab-card-border-selected);
|
|
38070
|
+
--rb-reg-bg-selected: var(--ab-card-bg-selected);
|
|
38071
|
+
--rb-reg-option-bg: transparent;
|
|
38072
|
+
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
38073
|
+
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
38074
|
+
--rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
38075
|
+
--rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
|
|
38076
|
+
--rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
|
|
38077
|
+
--rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
|
|
38078
|
+
--rb-reg-check-bg: var(--ab-check-bg);
|
|
38079
|
+
--rb-reg-check-text: var(--ab-check-text);
|
|
38080
|
+
--rb-reg-step-active: rgb(var(--tb-primary));
|
|
38081
|
+
--rb-reg-step-completed: rgb(var(--tb-success));
|
|
38082
|
+
--rb-reg-step-inactive: rgb(var(--tb-mutedText));
|
|
38083
|
+
--rb-reg-step-text: rgb(255 255 255);
|
|
38084
|
+
--rb-reg-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
|
|
38085
|
+
--rb-reg-step-connector: rgba(var(--tb-border), 0.5);
|
|
38086
|
+
--rb-reg-summary-bg: var(--ab-muted-bg);
|
|
38087
|
+
--rb-reg-summary-border: var(--ab-card-border);
|
|
38088
|
+
--rb-reg-focus-ring: var(--ab-input-focus-ring);
|
|
38089
|
+
--rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
37744
38090
|
}
|
|
37745
38091
|
`;
|
|
37746
38092
|
}
|
|
@@ -38031,6 +38377,35 @@ ${root} {
|
|
|
38031
38377
|
/* Summary */
|
|
38032
38378
|
--cr-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
38033
38379
|
--cr-summary-border: rgb(var(--tb-border));
|
|
38380
|
+
|
|
38381
|
+
/* Shared registration-surface mappings (issue 1174).
|
|
38382
|
+
Route the shared --rb-reg-* contract through this block's Tier 3 vars
|
|
38383
|
+
(palette tokens where no --cr-* var exists) so existing --cr-* overrides
|
|
38384
|
+
keep working unchanged. */
|
|
38385
|
+
--rb-reg-radius: var(--rb-block-radius);
|
|
38386
|
+
--rb-reg-border: var(--cr-border);
|
|
38387
|
+
--rb-reg-border-hover: var(--cr-border-hover);
|
|
38388
|
+
--rb-reg-border-selected: var(--cr-border-selected);
|
|
38389
|
+
--rb-reg-bg-selected: var(--cr-payment-bg-selected);
|
|
38390
|
+
--rb-reg-option-bg: rgb(var(--tb-background));
|
|
38391
|
+
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
38392
|
+
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
38393
|
+
--rb-reg-on-surface: var(--cr-on-surface);
|
|
38394
|
+
--rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
|
|
38395
|
+
--rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
|
|
38396
|
+
--rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
|
|
38397
|
+
--rb-reg-check-bg: var(--cr-check-bg);
|
|
38398
|
+
--rb-reg-check-text: var(--cr-check-text);
|
|
38399
|
+
--rb-reg-step-active: var(--cr-step-active);
|
|
38400
|
+
--rb-reg-step-completed: var(--cr-step-completed);
|
|
38401
|
+
--rb-reg-step-inactive: var(--cr-step-inactive);
|
|
38402
|
+
--rb-reg-step-text: var(--cr-step-text);
|
|
38403
|
+
--rb-reg-step-text-active: var(--cr-step-text-active);
|
|
38404
|
+
--rb-reg-step-connector: var(--cr-step-connector);
|
|
38405
|
+
--rb-reg-summary-bg: var(--cr-summary-bg);
|
|
38406
|
+
--rb-reg-summary-border: var(--cr-summary-border);
|
|
38407
|
+
--rb-reg-focus-ring: var(--cr-focus-ring);
|
|
38408
|
+
--rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
38034
38409
|
}
|
|
38035
38410
|
`;
|
|
38036
38411
|
}
|
|
@@ -38093,34 +38468,34 @@ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
|
38093
38468
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
38094
38469
|
|
|
38095
38470
|
// ../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:
|
|
38471
|
+
import { z as z63 } from "zod";
|
|
38472
|
+
var themeBridgeConfigSchema = z63.object({
|
|
38473
|
+
tokens: z63.record(z63.string(), z63.string()),
|
|
38474
|
+
typography: z63.object({
|
|
38475
|
+
headingFamily: z63.string().optional(),
|
|
38476
|
+
bodyFamily: z63.string().optional(),
|
|
38477
|
+
headingWeight: z63.number().optional(),
|
|
38478
|
+
bodyWeight: z63.number().optional()
|
|
38104
38479
|
}).optional(),
|
|
38105
|
-
spacing:
|
|
38106
|
-
corners:
|
|
38107
|
-
shadows:
|
|
38108
|
-
components:
|
|
38109
|
-
buttons:
|
|
38110
|
-
|
|
38111
|
-
|
|
38112
|
-
variants:
|
|
38480
|
+
spacing: z63.enum(["comfortable", "standard", "dense"]).optional(),
|
|
38481
|
+
corners: z63.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
38482
|
+
shadows: z63.enum(["none", "low", "medium", "high"]).optional(),
|
|
38483
|
+
components: z63.object({
|
|
38484
|
+
buttons: z63.union([
|
|
38485
|
+
z63.boolean(),
|
|
38486
|
+
z63.object({
|
|
38487
|
+
variants: z63.array(z63.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
38113
38488
|
})
|
|
38114
38489
|
]).optional(),
|
|
38115
|
-
cards:
|
|
38116
|
-
|
|
38117
|
-
|
|
38118
|
-
variants:
|
|
38490
|
+
cards: z63.union([
|
|
38491
|
+
z63.boolean(),
|
|
38492
|
+
z63.object({
|
|
38493
|
+
variants: z63.array(z63.enum(["default", "elevated", "outlined"])).optional()
|
|
38119
38494
|
})
|
|
38120
38495
|
]).optional(),
|
|
38121
|
-
inputs:
|
|
38496
|
+
inputs: z63.boolean().optional()
|
|
38122
38497
|
}).optional(),
|
|
38123
|
-
overrides:
|
|
38498
|
+
overrides: z63.record(z63.string(), z63.string()).optional()
|
|
38124
38499
|
}).passthrough();
|
|
38125
38500
|
|
|
38126
38501
|
// ../theme-core/src/siteChrome.tsx
|
|
@@ -38139,24 +38514,25 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
38139
38514
|
"listPublicPasses",
|
|
38140
38515
|
"listPublicMemberships",
|
|
38141
38516
|
"getPublicFormById",
|
|
38142
|
-
"getPublicBookingServices"
|
|
38517
|
+
"getPublicBookingServices",
|
|
38518
|
+
"getPublicWeeklySlotAvailability"
|
|
38143
38519
|
];
|
|
38144
38520
|
|
|
38145
38521
|
// ../api/src/sdkConfig/contracts.ts
|
|
38146
38522
|
function unsafeRetypeZodSchema(schema) {
|
|
38147
38523
|
return schema;
|
|
38148
38524
|
}
|
|
38149
|
-
var navIdListSchema =
|
|
38525
|
+
var navIdListSchema = z64.preprocess((value) => {
|
|
38150
38526
|
if (!Array.isArray(value)) return void 0;
|
|
38151
38527
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
38152
38528
|
return filtered.length > 0 ? filtered : void 0;
|
|
38153
|
-
},
|
|
38154
|
-
var dashboardNavVisibilityBaseSchema =
|
|
38155
|
-
mode:
|
|
38529
|
+
}, z64.array(z64.string()).max(200).optional());
|
|
38530
|
+
var dashboardNavVisibilityBaseSchema = z64.object({
|
|
38531
|
+
mode: z64.enum(["augment", "restrict"]).optional(),
|
|
38156
38532
|
allowIds: navIdListSchema,
|
|
38157
38533
|
denyIds: navIdListSchema
|
|
38158
38534
|
}).strip();
|
|
38159
|
-
var dashboardNavVisibilityRolesSchema =
|
|
38535
|
+
var dashboardNavVisibilityRolesSchema = z64.object({
|
|
38160
38536
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
38161
38537
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
38162
38538
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -38164,63 +38540,63 @@ var dashboardNavVisibilityRolesSchema = z63.object({
|
|
|
38164
38540
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
38165
38541
|
roles: dashboardNavVisibilityRolesSchema
|
|
38166
38542
|
}).strip();
|
|
38167
|
-
var dashboardNavigationConfigSchema =
|
|
38543
|
+
var dashboardNavigationConfigSchema = z64.object({
|
|
38168
38544
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
38169
38545
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
38170
38546
|
}).strip();
|
|
38171
|
-
var dashboardConfigSchema =
|
|
38172
|
-
previewEditingEnabled:
|
|
38547
|
+
var dashboardConfigSchema = z64.object({
|
|
38548
|
+
previewEditingEnabled: z64.boolean().optional(),
|
|
38173
38549
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
38174
38550
|
}).strip();
|
|
38175
38551
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
38176
38552
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
38177
|
-
var sdkLoaderEndpointSchema =
|
|
38178
|
-
var loaderFallbackScalarSchema =
|
|
38179
|
-
|
|
38180
|
-
|
|
38181
|
-
|
|
38182
|
-
|
|
38553
|
+
var sdkLoaderEndpointSchema = z64.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
38554
|
+
var loaderFallbackScalarSchema = z64.union([
|
|
38555
|
+
z64.string(),
|
|
38556
|
+
z64.number(),
|
|
38557
|
+
z64.boolean(),
|
|
38558
|
+
z64.null()
|
|
38183
38559
|
]);
|
|
38184
|
-
var loaderParamBindingSchema =
|
|
38185
|
-
$bind:
|
|
38186
|
-
from:
|
|
38560
|
+
var loaderParamBindingSchema = z64.object({
|
|
38561
|
+
$bind: z64.object({
|
|
38562
|
+
from: z64.string().min(1, "Binding path is required"),
|
|
38187
38563
|
fallback: loaderFallbackScalarSchema.optional()
|
|
38188
38564
|
})
|
|
38189
38565
|
});
|
|
38190
|
-
var loaderParamValueSchema =
|
|
38191
|
-
|
|
38192
|
-
|
|
38193
|
-
|
|
38566
|
+
var loaderParamValueSchema = z64.union([
|
|
38567
|
+
z64.string(),
|
|
38568
|
+
z64.number(),
|
|
38569
|
+
z64.boolean(),
|
|
38194
38570
|
loaderParamBindingSchema
|
|
38195
38571
|
]);
|
|
38196
|
-
var sdkConfigLoaderSchema =
|
|
38572
|
+
var sdkConfigLoaderSchema = z64.object({
|
|
38197
38573
|
endpoint: sdkLoaderEndpointSchema,
|
|
38198
|
-
params:
|
|
38199
|
-
mode:
|
|
38574
|
+
params: z64.record(z64.string(), loaderParamValueSchema),
|
|
38575
|
+
mode: z64.enum(["server", "client"]).default("server")
|
|
38200
38576
|
});
|
|
38201
|
-
var sdkDataLoadersSchema =
|
|
38202
|
-
var sdkCustomBlockIdSchema =
|
|
38577
|
+
var sdkDataLoadersSchema = z64.record(z64.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
38578
|
+
var sdkCustomBlockIdSchema = z64.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
38203
38579
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
38204
38580
|
}).transform((value) => value);
|
|
38205
|
-
var sdkCustomBlockInputSchema =
|
|
38581
|
+
var sdkCustomBlockInputSchema = z64.object({
|
|
38206
38582
|
id: sdkCustomBlockIdSchema,
|
|
38207
|
-
title:
|
|
38208
|
-
titleSource:
|
|
38209
|
-
description:
|
|
38583
|
+
title: z64.string().min(1),
|
|
38584
|
+
titleSource: z64.union([z64.string().min(1), z64.array(z64.string().min(1)).min(1)]).optional(),
|
|
38585
|
+
description: z64.string().optional(),
|
|
38210
38586
|
category: blockCategoryEnum,
|
|
38211
|
-
icon:
|
|
38212
|
-
tags:
|
|
38587
|
+
icon: z64.string().optional(),
|
|
38588
|
+
tags: z64.array(z64.string()).optional(),
|
|
38213
38589
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
38214
38590
|
dataLoaders: sdkDataLoadersSchema,
|
|
38215
38591
|
layout: NodeSchema.optional(),
|
|
38216
|
-
variants:
|
|
38217
|
-
defaultVariant:
|
|
38218
|
-
variantOptions:
|
|
38219
|
-
|
|
38220
|
-
|
|
38221
|
-
label:
|
|
38222
|
-
description:
|
|
38223
|
-
icon:
|
|
38592
|
+
variants: z64.record(z64.string().min(1), NodeSchema).optional(),
|
|
38593
|
+
defaultVariant: z64.string().min(1).optional(),
|
|
38594
|
+
variantOptions: z64.record(
|
|
38595
|
+
z64.string().min(1),
|
|
38596
|
+
z64.object({
|
|
38597
|
+
label: z64.string().min(1).optional(),
|
|
38598
|
+
description: z64.string().min(1).optional(),
|
|
38599
|
+
icon: z64.string().min(1).optional()
|
|
38224
38600
|
})
|
|
38225
38601
|
).optional(),
|
|
38226
38602
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -38231,7 +38607,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38231
38607
|
const exists = data.fields.some((field) => field.id === source);
|
|
38232
38608
|
if (!exists) {
|
|
38233
38609
|
ctx.addIssue({
|
|
38234
|
-
code:
|
|
38610
|
+
code: z64.ZodIssueCode.custom,
|
|
38235
38611
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
38236
38612
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
38237
38613
|
});
|
|
@@ -38240,7 +38616,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38240
38616
|
}
|
|
38241
38617
|
if (data.layout && data.variants) {
|
|
38242
38618
|
ctx.addIssue({
|
|
38243
|
-
code:
|
|
38619
|
+
code: z64.ZodIssueCode.custom,
|
|
38244
38620
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
38245
38621
|
path: ["variants"]
|
|
38246
38622
|
});
|
|
@@ -38249,14 +38625,14 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38249
38625
|
const keys = Object.keys(data.variants);
|
|
38250
38626
|
if (keys.length === 0) {
|
|
38251
38627
|
ctx.addIssue({
|
|
38252
|
-
code:
|
|
38628
|
+
code: z64.ZodIssueCode.custom,
|
|
38253
38629
|
message: "`variants` must contain at least one variant key",
|
|
38254
38630
|
path: ["variants"]
|
|
38255
38631
|
});
|
|
38256
38632
|
}
|
|
38257
38633
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
38258
38634
|
ctx.addIssue({
|
|
38259
|
-
code:
|
|
38635
|
+
code: z64.ZodIssueCode.custom,
|
|
38260
38636
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
38261
38637
|
path: ["defaultVariant"]
|
|
38262
38638
|
});
|
|
@@ -38265,7 +38641,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38265
38641
|
for (const key of Object.keys(data.variantOptions)) {
|
|
38266
38642
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
38267
38643
|
ctx.addIssue({
|
|
38268
|
-
code:
|
|
38644
|
+
code: z64.ZodIssueCode.custom,
|
|
38269
38645
|
message: "`variantOptions` key must exist in `variants`",
|
|
38270
38646
|
path: ["variantOptions", key]
|
|
38271
38647
|
});
|
|
@@ -38274,78 +38650,78 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
38274
38650
|
}
|
|
38275
38651
|
}
|
|
38276
38652
|
});
|
|
38277
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38653
|
+
var sdkBlockFieldExtensionInputSchema = z64.object({
|
|
38278
38654
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
38279
38655
|
});
|
|
38280
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
38281
|
-
|
|
38656
|
+
var sdkBlockFieldExtensionsInputSchema = z64.record(
|
|
38657
|
+
z64.string().min(1),
|
|
38282
38658
|
sdkBlockFieldExtensionInputSchema
|
|
38283
38659
|
);
|
|
38284
|
-
var sdkThemePaletteSchema =
|
|
38285
|
-
var sdkThemeConfigSchema =
|
|
38660
|
+
var sdkThemePaletteSchema = z64.record(z64.string(), z64.string());
|
|
38661
|
+
var sdkThemeConfigSchema = z64.object({
|
|
38286
38662
|
palette: sdkThemePaletteSchema
|
|
38287
38663
|
});
|
|
38288
|
-
var sdkSectionBackgroundSchema =
|
|
38289
|
-
id:
|
|
38290
|
-
label:
|
|
38291
|
-
token:
|
|
38664
|
+
var sdkSectionBackgroundSchema = z64.object({
|
|
38665
|
+
id: z64.string().min(1),
|
|
38666
|
+
label: z64.string().min(1),
|
|
38667
|
+
token: z64.string().min(1)
|
|
38292
38668
|
});
|
|
38293
|
-
var sdkSectionOptionsConfigSchema =
|
|
38294
|
-
backgroundColor:
|
|
38295
|
-
backgroundImage:
|
|
38296
|
-
backgroundGradient:
|
|
38297
|
-
spacing:
|
|
38298
|
-
textColor:
|
|
38669
|
+
var sdkSectionOptionsConfigSchema = z64.object({
|
|
38670
|
+
backgroundColor: z64.boolean().optional(),
|
|
38671
|
+
backgroundImage: z64.boolean().optional(),
|
|
38672
|
+
backgroundGradient: z64.boolean().optional(),
|
|
38673
|
+
spacing: z64.union([z64.array(z64.enum(["compact", "default", "spacious"])), z64.boolean()]).optional(),
|
|
38674
|
+
textColor: z64.boolean().optional()
|
|
38299
38675
|
});
|
|
38300
|
-
var sdkContainerOptionsConfigSchema =
|
|
38301
|
-
maxWidth:
|
|
38302
|
-
alignment:
|
|
38676
|
+
var sdkContainerOptionsConfigSchema = z64.object({
|
|
38677
|
+
maxWidth: z64.union([z64.array(z64.enum(["narrow", "default", "wide", "full"])), z64.boolean()]).optional(),
|
|
38678
|
+
alignment: z64.union([z64.array(z64.enum(["left", "center", "right"])), z64.boolean()]).optional()
|
|
38303
38679
|
});
|
|
38304
|
-
var sdkSiteStyleConfigSchema =
|
|
38305
|
-
sectionBackgrounds:
|
|
38680
|
+
var sdkSiteStyleConfigSchema = z64.object({
|
|
38681
|
+
sectionBackgrounds: z64.array(sdkSectionBackgroundSchema).optional(),
|
|
38306
38682
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
38307
38683
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
38308
38684
|
});
|
|
38309
|
-
var sdkSiteLayoutConfigSchema =
|
|
38310
|
-
footerBlocks:
|
|
38311
|
-
|
|
38312
|
-
id:
|
|
38313
|
-
kind:
|
|
38314
|
-
content:
|
|
38685
|
+
var sdkSiteLayoutConfigSchema = z64.object({
|
|
38686
|
+
footerBlocks: z64.array(
|
|
38687
|
+
z64.object({
|
|
38688
|
+
id: z64.string().min(1).optional(),
|
|
38689
|
+
kind: z64.string().min(1),
|
|
38690
|
+
content: z64.record(z64.string(), z64.unknown()).optional()
|
|
38315
38691
|
})
|
|
38316
38692
|
).optional()
|
|
38317
38693
|
});
|
|
38318
|
-
var sdkFieldSelectOptionSchema =
|
|
38319
|
-
value:
|
|
38320
|
-
label:
|
|
38694
|
+
var sdkFieldSelectOptionSchema = z64.object({
|
|
38695
|
+
value: z64.string(),
|
|
38696
|
+
label: z64.string()
|
|
38321
38697
|
});
|
|
38322
|
-
var sdkBlockFieldConfigSchema =
|
|
38323
|
-
options:
|
|
38698
|
+
var sdkBlockFieldConfigSchema = z64.object({
|
|
38699
|
+
options: z64.array(sdkFieldSelectOptionSchema).optional()
|
|
38324
38700
|
});
|
|
38325
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
38326
|
-
|
|
38701
|
+
var sdkBlockFieldOptionsMapSchema = z64.record(
|
|
38702
|
+
z64.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
38327
38703
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
38328
38704
|
}),
|
|
38329
|
-
|
|
38705
|
+
z64.record(z64.string().min(1), sdkBlockFieldConfigSchema)
|
|
38330
38706
|
).optional();
|
|
38331
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
38332
|
-
blocks:
|
|
38707
|
+
var sdkContentTypeTemplateConfigSchema = z64.object({
|
|
38708
|
+
blocks: z64.array(z64.unknown())
|
|
38333
38709
|
}).passthrough();
|
|
38334
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
38335
|
-
mode:
|
|
38710
|
+
var sdkContentTypeOrderingConfigSchema = z64.object({
|
|
38711
|
+
mode: z64.enum(["default", "manual"]).optional()
|
|
38336
38712
|
}).optional();
|
|
38337
|
-
var sdkContentTypeConfigSchema =
|
|
38338
|
-
key:
|
|
38339
|
-
fields:
|
|
38713
|
+
var sdkContentTypeConfigSchema = z64.object({
|
|
38714
|
+
key: z64.string().min(1),
|
|
38715
|
+
fields: z64.array(z64.unknown()),
|
|
38340
38716
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
38341
38717
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
38342
38718
|
}).passthrough();
|
|
38343
|
-
var sdkContentConfigSchema =
|
|
38344
|
-
contentTypes:
|
|
38345
|
-
pages:
|
|
38346
|
-
entries:
|
|
38347
|
-
navigationMenus:
|
|
38348
|
-
settings:
|
|
38719
|
+
var sdkContentConfigSchema = z64.object({
|
|
38720
|
+
contentTypes: z64.array(sdkContentTypeConfigSchema).optional(),
|
|
38721
|
+
pages: z64.array(z64.unknown()).optional(),
|
|
38722
|
+
entries: z64.array(z64.unknown()).optional(),
|
|
38723
|
+
navigationMenus: z64.array(z64.unknown()).optional(),
|
|
38724
|
+
settings: z64.unknown().optional()
|
|
38349
38725
|
}).passthrough();
|
|
38350
38726
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
38351
38727
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -38360,62 +38736,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
38360
38736
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
38361
38737
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
38362
38738
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
38363
|
-
var sdkWorkflowIdSchema =
|
|
38739
|
+
var sdkWorkflowIdSchema = z64.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
38364
38740
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
38365
38741
|
});
|
|
38366
|
-
var sdkWorkflowEndpointSchema =
|
|
38367
|
-
var sdkWorkflowManualTriggerSchema =
|
|
38368
|
-
type:
|
|
38742
|
+
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 "/"' });
|
|
38743
|
+
var sdkWorkflowManualTriggerSchema = z64.object({
|
|
38744
|
+
type: z64.literal("manual")
|
|
38369
38745
|
}).strict();
|
|
38370
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38746
|
+
var sdkWorkflowTriggerFieldSchema = z64.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
38371
38747
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
38372
38748
|
});
|
|
38373
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38749
|
+
var sdkWorkflowFieldChangedConditionSchema = z64.object({
|
|
38374
38750
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38375
|
-
changed:
|
|
38751
|
+
changed: z64.literal(true)
|
|
38376
38752
|
}).strict();
|
|
38377
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38753
|
+
var sdkWorkflowFieldEmptyConditionSchema = z64.object({
|
|
38378
38754
|
field: sdkWorkflowTriggerFieldSchema,
|
|
38379
|
-
isEmpty:
|
|
38755
|
+
isEmpty: z64.boolean()
|
|
38380
38756
|
}).strict();
|
|
38381
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
38382
|
-
type:
|
|
38383
|
-
when:
|
|
38384
|
-
|
|
38757
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z64.object({
|
|
38758
|
+
type: z64.literal("entry.draft.updated"),
|
|
38759
|
+
when: z64.array(
|
|
38760
|
+
z64.union([
|
|
38385
38761
|
sdkWorkflowFieldChangedConditionSchema,
|
|
38386
38762
|
sdkWorkflowFieldEmptyConditionSchema
|
|
38387
38763
|
])
|
|
38388
38764
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
38389
38765
|
}).strict();
|
|
38390
|
-
var sdkWorkflowTriggerSchema =
|
|
38766
|
+
var sdkWorkflowTriggerSchema = z64.discriminatedUnion("type", [
|
|
38391
38767
|
sdkWorkflowManualTriggerSchema,
|
|
38392
38768
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
38393
38769
|
]);
|
|
38394
|
-
var sdkWorkflowConfirmationSchema =
|
|
38395
|
-
title:
|
|
38396
|
-
body:
|
|
38770
|
+
var sdkWorkflowConfirmationSchema = z64.object({
|
|
38771
|
+
title: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
38772
|
+
body: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
38397
38773
|
}).strict();
|
|
38398
|
-
var sdkWorkflowConfigSchema =
|
|
38774
|
+
var sdkWorkflowConfigSchema = z64.object({
|
|
38399
38775
|
id: sdkWorkflowIdSchema,
|
|
38400
|
-
title:
|
|
38401
|
-
description:
|
|
38402
|
-
contentType:
|
|
38776
|
+
title: z64.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
38777
|
+
description: z64.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
38778
|
+
contentType: z64.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
38403
38779
|
endpoint: sdkWorkflowEndpointSchema,
|
|
38404
|
-
triggers:
|
|
38780
|
+
triggers: z64.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
38405
38781
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
38406
38782
|
}).strict();
|
|
38407
|
-
var sdkWorkflowsSchema =
|
|
38783
|
+
var sdkWorkflowsSchema = z64.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
38408
38784
|
const ids = workflows.map((workflow) => workflow.id);
|
|
38409
38785
|
return ids.length === new Set(ids).size;
|
|
38410
38786
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
38411
|
-
var riverbankSiteConfigInputSchema =
|
|
38412
|
-
siteId:
|
|
38413
|
-
previewUrl:
|
|
38414
|
-
liveUrl:
|
|
38787
|
+
var riverbankSiteConfigInputSchema = z64.object({
|
|
38788
|
+
siteId: z64.string().uuid(),
|
|
38789
|
+
previewUrl: z64.string().url().optional(),
|
|
38790
|
+
liveUrl: z64.string().url().optional(),
|
|
38415
38791
|
theme: sdkThemeConfigSchema.optional(),
|
|
38416
38792
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
38417
38793
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
38418
|
-
customBlocks:
|
|
38794
|
+
customBlocks: z64.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
38419
38795
|
const ids = blocks.map((b) => b.id);
|
|
38420
38796
|
return ids.length === new Set(ids).size;
|
|
38421
38797
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -38423,50 +38799,51 @@ var riverbankSiteConfigInputSchema = z63.object({
|
|
|
38423
38799
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
38424
38800
|
workflows: sdkWorkflowsSchema,
|
|
38425
38801
|
content: sdkContentConfigSchema.optional(),
|
|
38426
|
-
contentDir:
|
|
38427
|
-
sync:
|
|
38428
|
-
existingEntries:
|
|
38802
|
+
contentDir: z64.string().optional(),
|
|
38803
|
+
sync: z64.object({
|
|
38804
|
+
existingEntries: z64.enum(["skip", "update"]).optional()
|
|
38429
38805
|
}).optional(),
|
|
38430
|
-
deploy:
|
|
38431
|
-
verifyCommand:
|
|
38432
|
-
prebuildOutput:
|
|
38806
|
+
deploy: z64.object({
|
|
38807
|
+
verifyCommand: z64.string().optional(),
|
|
38808
|
+
prebuildOutput: z64.string().optional()
|
|
38433
38809
|
}).optional(),
|
|
38434
|
-
themeSource:
|
|
38435
|
-
activeTheme:
|
|
38436
|
-
enablePortal:
|
|
38810
|
+
themeSource: z64.enum(["local", "cms"]).optional(),
|
|
38811
|
+
activeTheme: z64.string().optional(),
|
|
38812
|
+
enablePortal: z64.boolean().optional(),
|
|
38437
38813
|
dashboard: dashboardConfigSchema.optional()
|
|
38438
38814
|
}).strict();
|
|
38439
|
-
var pushSdkConfigBodySchema =
|
|
38815
|
+
var pushSdkConfigBodySchema = z64.object({
|
|
38440
38816
|
config: riverbankSiteConfigInputSchema,
|
|
38441
|
-
forceContentTypes:
|
|
38817
|
+
forceContentTypes: z64.boolean().optional(),
|
|
38818
|
+
mode: z64.enum(["apply", "preview"]).optional()
|
|
38442
38819
|
}).strict();
|
|
38443
38820
|
|
|
38444
38821
|
// ../api/src/siteOnboarding.ts
|
|
38445
|
-
import { z as
|
|
38822
|
+
import { z as z65 } from "zod";
|
|
38446
38823
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
38447
38824
|
configure_appointments: {
|
|
38448
38825
|
requirementId: "configure_appointments",
|
|
38449
38826
|
reason: "launch_anyway"
|
|
38450
38827
|
}
|
|
38451
38828
|
};
|
|
38452
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38829
|
+
var acknowledgeLaunchRequirementRequestSchema = z65.discriminatedUnion(
|
|
38453
38830
|
"requirementId",
|
|
38454
38831
|
[
|
|
38455
|
-
|
|
38456
|
-
requirementId:
|
|
38832
|
+
z65.object({
|
|
38833
|
+
requirementId: z65.literal("review_generated_site")
|
|
38457
38834
|
}),
|
|
38458
|
-
|
|
38459
|
-
requirementId:
|
|
38835
|
+
z65.object({
|
|
38836
|
+
requirementId: z65.literal(
|
|
38460
38837
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
38461
38838
|
),
|
|
38462
|
-
overrideReason:
|
|
38839
|
+
overrideReason: z65.literal(
|
|
38463
38840
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
38464
38841
|
)
|
|
38465
38842
|
})
|
|
38466
38843
|
]
|
|
38467
38844
|
);
|
|
38468
|
-
var goLiveSiteRequestSchema =
|
|
38469
|
-
acceptExtraSiteCharge:
|
|
38845
|
+
var goLiveSiteRequestSchema = z65.object({
|
|
38846
|
+
acceptExtraSiteCharge: z65.boolean().optional()
|
|
38470
38847
|
});
|
|
38471
38848
|
|
|
38472
38849
|
// ../surfaces/src/index.ts
|
|
@@ -38585,7 +38962,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
38585
38962
|
];
|
|
38586
38963
|
|
|
38587
38964
|
// ../api/src/bookingVerticals.ts
|
|
38588
|
-
import { z as
|
|
38965
|
+
import { z as z66 } from "zod";
|
|
38589
38966
|
var VERTICAL_IDS = [
|
|
38590
38967
|
"yoga_wellness",
|
|
38591
38968
|
"fitness_pt",
|
|
@@ -38750,39 +39127,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
38750
39127
|
}
|
|
38751
39128
|
return [...issues];
|
|
38752
39129
|
}
|
|
38753
|
-
var VerticalIdSchema =
|
|
39130
|
+
var VerticalIdSchema = z66.string().trim().transform((value, ctx) => {
|
|
38754
39131
|
const parsed = parseVerticalId(value);
|
|
38755
39132
|
if (!parsed) {
|
|
38756
39133
|
ctx.addIssue({
|
|
38757
|
-
code:
|
|
39134
|
+
code: z66.ZodIssueCode.custom,
|
|
38758
39135
|
message: "Unknown booking vertical"
|
|
38759
39136
|
});
|
|
38760
|
-
return
|
|
39137
|
+
return z66.NEVER;
|
|
38761
39138
|
}
|
|
38762
39139
|
return parsed;
|
|
38763
39140
|
});
|
|
38764
|
-
var VerticalPresetIdSchema =
|
|
39141
|
+
var VerticalPresetIdSchema = z66.string().trim().transform((value, ctx) => {
|
|
38765
39142
|
const parsed = parseVerticalPresetId(value);
|
|
38766
39143
|
if (!parsed) {
|
|
38767
39144
|
ctx.addIssue({
|
|
38768
|
-
code:
|
|
39145
|
+
code: z66.ZodIssueCode.custom,
|
|
38769
39146
|
message: "Unknown booking preset"
|
|
38770
39147
|
});
|
|
38771
|
-
return
|
|
39148
|
+
return z66.NEVER;
|
|
38772
39149
|
}
|
|
38773
39150
|
return parsed;
|
|
38774
39151
|
});
|
|
38775
|
-
var BookingVerticalConfigSchema =
|
|
39152
|
+
var BookingVerticalConfigSchema = z66.object({
|
|
38776
39153
|
verticalId: VerticalIdSchema.nullable(),
|
|
38777
|
-
selectedPresetIds:
|
|
39154
|
+
selectedPresetIds: z66.array(VerticalPresetIdSchema).max(20)
|
|
38778
39155
|
}).transform((value, ctx) => {
|
|
38779
39156
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
38780
39157
|
if (resolved.kind === "invalid") {
|
|
38781
39158
|
ctx.addIssue({
|
|
38782
|
-
code:
|
|
39159
|
+
code: z66.ZodIssueCode.custom,
|
|
38783
39160
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
38784
39161
|
});
|
|
38785
|
-
return
|
|
39162
|
+
return z66.NEVER;
|
|
38786
39163
|
}
|
|
38787
39164
|
return resolved.config;
|
|
38788
39165
|
});
|
|
@@ -38809,51 +39186,51 @@ function isRecord8(value) {
|
|
|
38809
39186
|
}
|
|
38810
39187
|
|
|
38811
39188
|
// ../api/src/appointmentSetup.ts
|
|
38812
|
-
import { z as
|
|
39189
|
+
import { z as z67 } from "zod";
|
|
38813
39190
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
38814
|
-
var appointmentSetupRefSchema =
|
|
38815
|
-
|
|
38816
|
-
|
|
39191
|
+
var appointmentSetupRefSchema = z67.discriminatedUnion("kind", [
|
|
39192
|
+
z67.object({ kind: z67.literal("existing"), id: z67.string().min(1) }),
|
|
39193
|
+
z67.object({ kind: z67.literal("new"), draftId: z67.string().min(1) })
|
|
38817
39194
|
]);
|
|
38818
|
-
var appointmentSetupVenueChoiceSchema =
|
|
38819
|
-
|
|
38820
|
-
|
|
38821
|
-
|
|
38822
|
-
kind:
|
|
38823
|
-
draftId:
|
|
38824
|
-
title:
|
|
38825
|
-
description:
|
|
38826
|
-
timezone:
|
|
38827
|
-
addressJson:
|
|
38828
|
-
locationJson:
|
|
39195
|
+
var appointmentSetupVenueChoiceSchema = z67.discriminatedUnion("kind", [
|
|
39196
|
+
z67.object({ kind: z67.literal("none") }),
|
|
39197
|
+
z67.object({ kind: z67.literal("existing"), venueId: z67.string().min(1) }),
|
|
39198
|
+
z67.object({
|
|
39199
|
+
kind: z67.literal("create"),
|
|
39200
|
+
draftId: z67.string().min(1),
|
|
39201
|
+
title: z67.string().trim().min(1),
|
|
39202
|
+
description: z67.string().nullable(),
|
|
39203
|
+
timezone: z67.string().trim().min(1).nullable(),
|
|
39204
|
+
addressJson: z67.record(z67.string(), z67.unknown()),
|
|
39205
|
+
locationJson: z67.object({ lat: z67.number(), lng: z67.number() }).nullable()
|
|
38829
39206
|
})
|
|
38830
39207
|
]);
|
|
38831
|
-
var appointmentSetupPaymentDraftSchema =
|
|
38832
|
-
priceType:
|
|
38833
|
-
});
|
|
38834
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
38835
|
-
|
|
38836
|
-
|
|
38837
|
-
kind:
|
|
38838
|
-
resourceRefs:
|
|
39208
|
+
var appointmentSetupPaymentDraftSchema = z67.object({
|
|
39209
|
+
priceType: z67.union([z67.literal("free"), z67.literal("paid")])
|
|
39210
|
+
});
|
|
39211
|
+
var appointmentSetupServiceAssignmentDraftSchema = z67.discriminatedUnion("kind", [
|
|
39212
|
+
z67.object({ kind: z67.literal("all_practitioners") }),
|
|
39213
|
+
z67.object({
|
|
39214
|
+
kind: z67.literal("selected_practitioners"),
|
|
39215
|
+
resourceRefs: z67.array(appointmentSetupRefSchema)
|
|
38839
39216
|
})
|
|
38840
39217
|
]);
|
|
38841
|
-
var appointmentSetupServiceDraftSchema =
|
|
39218
|
+
var appointmentSetupServiceDraftSchema = z67.object({
|
|
38842
39219
|
ref: appointmentSetupRefSchema,
|
|
38843
|
-
title:
|
|
38844
|
-
description:
|
|
38845
|
-
durationMinutes:
|
|
38846
|
-
prepMinutes:
|
|
38847
|
-
cleanupMinutes:
|
|
38848
|
-
priceAmount:
|
|
38849
|
-
isActive:
|
|
38850
|
-
locationType:
|
|
38851
|
-
|
|
38852
|
-
|
|
38853
|
-
|
|
39220
|
+
title: z67.string().trim().min(1),
|
|
39221
|
+
description: z67.string().nullable(),
|
|
39222
|
+
durationMinutes: z67.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
39223
|
+
prepMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
39224
|
+
cleanupMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
39225
|
+
priceAmount: z67.number().int().nonnegative().nullable(),
|
|
39226
|
+
isActive: z67.boolean(),
|
|
39227
|
+
locationType: z67.union([
|
|
39228
|
+
z67.literal("virtual"),
|
|
39229
|
+
z67.literal("in_person"),
|
|
39230
|
+
z67.literal("hybrid")
|
|
38854
39231
|
]),
|
|
38855
39232
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38856
|
-
timezone:
|
|
39233
|
+
timezone: z67.string().trim().min(1).nullable(),
|
|
38857
39234
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38858
39235
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
38859
39236
|
}).superRefine((service, ctx) => {
|
|
@@ -38872,49 +39249,49 @@ var appointmentSetupServiceDraftSchema = z66.object({
|
|
|
38872
39249
|
});
|
|
38873
39250
|
}
|
|
38874
39251
|
});
|
|
38875
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
39252
|
+
var appointmentSetupPractitionerDraftSchema = z67.object({
|
|
38876
39253
|
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
|
-
|
|
39254
|
+
displayName: z67.string().trim().min(1),
|
|
39255
|
+
bio: z67.string().nullable(),
|
|
39256
|
+
timezone: z67.string().trim().min(1),
|
|
39257
|
+
colorHex: z67.string().nullable()
|
|
39258
|
+
});
|
|
39259
|
+
var appointmentSetupWeeklyWindowDraftSchema = z67.object({
|
|
39260
|
+
weekday: z67.number().int().min(0).max(6),
|
|
39261
|
+
startTime: z67.string(),
|
|
39262
|
+
endTime: z67.string()
|
|
39263
|
+
});
|
|
39264
|
+
var appointmentSetupStartTimePolicyDraftSchema = z67.discriminatedUnion("kind", [
|
|
39265
|
+
z67.object({ kind: z67.literal("automatic_spacing") }),
|
|
39266
|
+
z67.object({
|
|
39267
|
+
kind: z67.literal("regular_interval"),
|
|
39268
|
+
intervalMinutes: z67.union([
|
|
39269
|
+
z67.literal(10),
|
|
39270
|
+
z67.literal(15),
|
|
39271
|
+
z67.literal(20),
|
|
39272
|
+
z67.literal(30),
|
|
39273
|
+
z67.literal(45),
|
|
39274
|
+
z67.literal(60)
|
|
38898
39275
|
])
|
|
38899
39276
|
})
|
|
38900
39277
|
]);
|
|
38901
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
38902
|
-
kind:
|
|
39278
|
+
var appointmentSetupAvailabilityDraftSchema = z67.object({
|
|
39279
|
+
kind: z67.literal("weekly_windows"),
|
|
38903
39280
|
resourceRef: appointmentSetupRefSchema,
|
|
38904
39281
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
38905
|
-
windows:
|
|
39282
|
+
windows: z67.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
38906
39283
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
38907
39284
|
});
|
|
38908
39285
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
38909
39286
|
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:
|
|
39287
|
+
var appointmentSetupBookingNoticeSchema = z67.object({
|
|
39288
|
+
minLeadMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
39289
|
+
maxBookingNoticeMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
39290
|
+
});
|
|
39291
|
+
var applyAppointmentSetupRequestSchema = z67.object({
|
|
39292
|
+
services: z67.array(appointmentSetupServiceDraftSchema),
|
|
39293
|
+
practitioners: z67.array(appointmentSetupPractitionerDraftSchema),
|
|
39294
|
+
availability: z67.array(appointmentSetupAvailabilityDraftSchema),
|
|
38918
39295
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
38919
39296
|
});
|
|
38920
39297
|
|
|
@@ -38947,24 +39324,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
38947
39324
|
];
|
|
38948
39325
|
|
|
38949
39326
|
// ../api/src/siteBanner.ts
|
|
38950
|
-
import { z as
|
|
39327
|
+
import { z as z68 } from "zod";
|
|
38951
39328
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
38952
39329
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
38953
39330
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
38954
39331
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
38955
|
-
var siteBannerScopeSchema =
|
|
38956
|
-
var siteBannerToneSchema =
|
|
38957
|
-
var siteBannerBodySchema =
|
|
38958
|
-
var siteBannerCtaSchema =
|
|
38959
|
-
label:
|
|
39332
|
+
var siteBannerScopeSchema = z68.enum(SITE_BANNER_SCOPE_VALUES);
|
|
39333
|
+
var siteBannerToneSchema = z68.enum(SITE_BANNER_TONE_VALUES);
|
|
39334
|
+
var siteBannerBodySchema = z68.unknown().transform(unwrapRichTextValue);
|
|
39335
|
+
var siteBannerCtaSchema = z68.object({
|
|
39336
|
+
label: z68.string().trim().min(1),
|
|
38960
39337
|
link: linkPayloadSchema
|
|
38961
39338
|
});
|
|
38962
|
-
var siteBannerSettingsSchema =
|
|
38963
|
-
|
|
38964
|
-
enabled:
|
|
39339
|
+
var siteBannerSettingsSchema = z68.discriminatedUnion("enabled", [
|
|
39340
|
+
z68.object({
|
|
39341
|
+
enabled: z68.literal(false)
|
|
38965
39342
|
}),
|
|
38966
|
-
|
|
38967
|
-
enabled:
|
|
39343
|
+
z68.object({
|
|
39344
|
+
enabled: z68.literal(true),
|
|
38968
39345
|
scope: siteBannerScopeSchema,
|
|
38969
39346
|
tone: siteBannerToneSchema,
|
|
38970
39347
|
body: siteBannerBodySchema,
|
|
@@ -38978,7 +39355,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38978
39355
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38979
39356
|
for (const issue of analysis.issues) {
|
|
38980
39357
|
ctx.addIssue({
|
|
38981
|
-
code:
|
|
39358
|
+
code: z68.ZodIssueCode.custom,
|
|
38982
39359
|
path: ["body"],
|
|
38983
39360
|
message: siteBannerBodyIssueMessage(issue)
|
|
38984
39361
|
});
|
|
@@ -39285,75 +39662,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
39285
39662
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
39286
39663
|
|
|
39287
39664
|
// ../api/src/aiPlayground.ts
|
|
39288
|
-
import { z as
|
|
39289
|
-
var Rfc6902PatchOp =
|
|
39665
|
+
import { z as z69 } from "zod";
|
|
39666
|
+
var Rfc6902PatchOp = z69.discriminatedUnion("op", [
|
|
39290
39667
|
// Standard RFC-6902 operations
|
|
39291
|
-
|
|
39292
|
-
op:
|
|
39293
|
-
path:
|
|
39294
|
-
value:
|
|
39668
|
+
z69.object({
|
|
39669
|
+
op: z69.literal("add"),
|
|
39670
|
+
path: z69.string(),
|
|
39671
|
+
value: z69.unknown()
|
|
39295
39672
|
}),
|
|
39296
|
-
|
|
39297
|
-
op:
|
|
39298
|
-
path:
|
|
39673
|
+
z69.object({
|
|
39674
|
+
op: z69.literal("remove"),
|
|
39675
|
+
path: z69.string()
|
|
39299
39676
|
}),
|
|
39300
|
-
|
|
39301
|
-
op:
|
|
39302
|
-
path:
|
|
39303
|
-
value:
|
|
39677
|
+
z69.object({
|
|
39678
|
+
op: z69.literal("replace"),
|
|
39679
|
+
path: z69.string(),
|
|
39680
|
+
value: z69.unknown()
|
|
39304
39681
|
}),
|
|
39305
|
-
|
|
39306
|
-
op:
|
|
39307
|
-
from:
|
|
39308
|
-
path:
|
|
39682
|
+
z69.object({
|
|
39683
|
+
op: z69.literal("move"),
|
|
39684
|
+
from: z69.string(),
|
|
39685
|
+
path: z69.string()
|
|
39309
39686
|
}),
|
|
39310
|
-
|
|
39311
|
-
op:
|
|
39312
|
-
from:
|
|
39313
|
-
path:
|
|
39687
|
+
z69.object({
|
|
39688
|
+
op: z69.literal("copy"),
|
|
39689
|
+
from: z69.string(),
|
|
39690
|
+
path: z69.string()
|
|
39314
39691
|
}),
|
|
39315
39692
|
// Block-level operations (Phase 2)
|
|
39316
|
-
|
|
39317
|
-
op:
|
|
39318
|
-
blockKind:
|
|
39319
|
-
afterBlockId:
|
|
39320
|
-
content:
|
|
39321
|
-
rationale:
|
|
39693
|
+
z69.object({
|
|
39694
|
+
op: z69.literal("add_block"),
|
|
39695
|
+
blockKind: z69.string(),
|
|
39696
|
+
afterBlockId: z69.string().nullable(),
|
|
39697
|
+
content: z69.record(z69.string(), z69.unknown()),
|
|
39698
|
+
rationale: z69.string()
|
|
39322
39699
|
}),
|
|
39323
|
-
|
|
39324
|
-
op:
|
|
39325
|
-
blockId:
|
|
39326
|
-
rationale:
|
|
39700
|
+
z69.object({
|
|
39701
|
+
op: z69.literal("delete_block"),
|
|
39702
|
+
blockId: z69.string(),
|
|
39703
|
+
rationale: z69.string()
|
|
39327
39704
|
}),
|
|
39328
|
-
|
|
39329
|
-
op:
|
|
39330
|
-
blockId:
|
|
39331
|
-
afterBlockId:
|
|
39332
|
-
rationale:
|
|
39705
|
+
z69.object({
|
|
39706
|
+
op: z69.literal("reorder_block"),
|
|
39707
|
+
blockId: z69.string(),
|
|
39708
|
+
afterBlockId: z69.string().nullable(),
|
|
39709
|
+
rationale: z69.string()
|
|
39333
39710
|
})
|
|
39334
39711
|
]);
|
|
39335
|
-
var PlaygroundProposeRequest =
|
|
39336
|
-
request:
|
|
39712
|
+
var PlaygroundProposeRequest = z69.object({
|
|
39713
|
+
request: z69.string().min(1).max(2e3)
|
|
39337
39714
|
});
|
|
39338
|
-
var MultiPagePatchEnvelope =
|
|
39339
|
-
pageId:
|
|
39340
|
-
blockId:
|
|
39715
|
+
var MultiPagePatchEnvelope = z69.object({
|
|
39716
|
+
pageId: z69.string(),
|
|
39717
|
+
blockId: z69.string().optional(),
|
|
39341
39718
|
// Not present for page-level ops
|
|
39342
|
-
blockKind:
|
|
39343
|
-
blockPurpose:
|
|
39344
|
-
ops:
|
|
39345
|
-
rationale:
|
|
39346
|
-
currentContent:
|
|
39719
|
+
blockKind: z69.string().optional(),
|
|
39720
|
+
blockPurpose: z69.string().optional().nullable(),
|
|
39721
|
+
ops: z69.array(Rfc6902PatchOp),
|
|
39722
|
+
rationale: z69.string(),
|
|
39723
|
+
currentContent: z69.record(z69.string(), z69.unknown()).optional()
|
|
39347
39724
|
});
|
|
39348
|
-
var MultiPageUpdateResponse =
|
|
39349
|
-
patches:
|
|
39350
|
-
assistantMessage:
|
|
39351
|
-
pagesModified:
|
|
39352
|
-
toolCallsUsed:
|
|
39725
|
+
var MultiPageUpdateResponse = z69.object({
|
|
39726
|
+
patches: z69.array(MultiPagePatchEnvelope),
|
|
39727
|
+
assistantMessage: z69.string(),
|
|
39728
|
+
pagesModified: z69.number(),
|
|
39729
|
+
toolCallsUsed: z69.number()
|
|
39353
39730
|
});
|
|
39354
39731
|
|
|
39355
39732
|
// src/config/content-validation.ts
|
|
39356
|
-
import { z as
|
|
39733
|
+
import { z as z70 } from "zod";
|
|
39357
39734
|
|
|
39358
39735
|
// src/types/block-kinds.ts
|
|
39359
39736
|
var SYSTEM_BLOCK_KINDS = [
|
|
@@ -39383,6 +39760,7 @@ var SYSTEM_BLOCK_KINDS = [
|
|
|
39383
39760
|
"block.form",
|
|
39384
39761
|
"block.contact-newsletter",
|
|
39385
39762
|
"block.appointment-booking",
|
|
39763
|
+
"block.weekly-slot-availability",
|
|
39386
39764
|
"block.event-registration",
|
|
39387
39765
|
"block.event-details",
|
|
39388
39766
|
"block.course-registration",
|
|
@@ -39484,7 +39862,7 @@ function isUnsupportedDynamicSegment(segment) {
|
|
|
39484
39862
|
return segment.startsWith(":") || segment.includes("{") || segment.includes("}");
|
|
39485
39863
|
}
|
|
39486
39864
|
|
|
39487
|
-
// src/
|
|
39865
|
+
// ../field-primitives/src/bindings/index.ts
|
|
39488
39866
|
var BINDING_TRANSFORMS = {
|
|
39489
39867
|
RICHTEXT_FIRST_PARAGRAPH: "richtext.firstParagraph",
|
|
39490
39868
|
DATE_FORMAT_SHORT: "date.formatShort",
|
|
@@ -39492,42 +39870,45 @@ var BINDING_TRANSFORMS = {
|
|
|
39492
39870
|
TEXT_INLINE_TEXT: "text.inlineText"
|
|
39493
39871
|
};
|
|
39494
39872
|
var BINDING_TRANSFORM_VALUES = Object.values(BINDING_TRANSFORMS);
|
|
39495
|
-
|
|
39873
|
+
|
|
39874
|
+
// src/contracts/bindings.ts
|
|
39875
|
+
var BINDING_TRANSFORM_VALUES2 = BINDING_TRANSFORM_VALUES;
|
|
39876
|
+
var BINDING_TRANSFORM_LIST = BINDING_TRANSFORM_VALUES2.join(", ");
|
|
39496
39877
|
function describeInvalidBindingTransform(transform) {
|
|
39497
39878
|
return `Transform "${transform}" is not valid. Allowed: ${BINDING_TRANSFORM_LIST}`;
|
|
39498
39879
|
}
|
|
39499
39880
|
|
|
39500
39881
|
// src/config/content-validation.ts
|
|
39501
|
-
var jsonDataSchema =
|
|
39502
|
-
var contentTypeKeySchema =
|
|
39882
|
+
var jsonDataSchema = z70.record(z70.string(), z70.any());
|
|
39883
|
+
var contentTypeKeySchema = z70.string().min(1).regex(
|
|
39503
39884
|
/^[a-z][a-z0-9-]*$/,
|
|
39504
39885
|
"Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
|
|
39505
39886
|
);
|
|
39506
|
-
var templateConfigSchemaForward =
|
|
39507
|
-
blocks:
|
|
39508
|
-
|
|
39509
|
-
identifier:
|
|
39510
|
-
kind:
|
|
39511
|
-
scope:
|
|
39512
|
-
bindings:
|
|
39513
|
-
content:
|
|
39887
|
+
var templateConfigSchemaForward = z70.object({
|
|
39888
|
+
blocks: z70.array(
|
|
39889
|
+
z70.object({
|
|
39890
|
+
identifier: z70.string().min(1),
|
|
39891
|
+
kind: z70.string(),
|
|
39892
|
+
scope: z70.enum(["entry", "template"]),
|
|
39893
|
+
bindings: z70.record(z70.string(), z70.any()).optional(),
|
|
39894
|
+
content: z70.record(z70.string(), z70.any()).optional()
|
|
39514
39895
|
})
|
|
39515
39896
|
)
|
|
39516
39897
|
}).optional();
|
|
39517
|
-
var contentTypeOrderingSchema =
|
|
39518
|
-
mode:
|
|
39898
|
+
var contentTypeOrderingSchema = z70.object({
|
|
39899
|
+
mode: z70.enum(["default", "manual"]).optional()
|
|
39519
39900
|
}).optional();
|
|
39520
|
-
var contentTypeConfigSchema =
|
|
39901
|
+
var contentTypeConfigSchema = z70.object({
|
|
39521
39902
|
key: contentTypeKeySchema,
|
|
39522
|
-
name:
|
|
39523
|
-
description:
|
|
39524
|
-
hasPages:
|
|
39525
|
-
routePattern:
|
|
39903
|
+
name: z70.string().min(1),
|
|
39904
|
+
description: z70.string().optional(),
|
|
39905
|
+
hasPages: z70.boolean(),
|
|
39906
|
+
routePattern: z70.string().optional(),
|
|
39526
39907
|
// Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
|
|
39527
|
-
fields:
|
|
39528
|
-
titleField:
|
|
39908
|
+
fields: z70.array(z70.any()).min(1, "At least one field is required"),
|
|
39909
|
+
titleField: z70.string().optional(),
|
|
39529
39910
|
ordering: contentTypeOrderingSchema,
|
|
39530
|
-
isSingleton:
|
|
39911
|
+
isSingleton: z70.boolean().optional().default(false),
|
|
39531
39912
|
template: templateConfigSchemaForward
|
|
39532
39913
|
}).refine(
|
|
39533
39914
|
(data) => {
|
|
@@ -39549,7 +39930,7 @@ var contentTypeConfigSchema = z69.object({
|
|
|
39549
39930
|
}
|
|
39550
39931
|
if (!data.routePattern) {
|
|
39551
39932
|
ctx.addIssue({
|
|
39552
|
-
code:
|
|
39933
|
+
code: z70.ZodIssueCode.custom,
|
|
39553
39934
|
path: ["routePattern"],
|
|
39554
39935
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39555
39936
|
});
|
|
@@ -39558,7 +39939,7 @@ var contentTypeConfigSchema = z69.object({
|
|
|
39558
39939
|
const parseResult = safeParseRouteTemplate(data.routePattern);
|
|
39559
39940
|
if (!parseResult.success) {
|
|
39560
39941
|
ctx.addIssue({
|
|
39561
|
-
code:
|
|
39942
|
+
code: z70.ZodIssueCode.custom,
|
|
39562
39943
|
path: ["routePattern"],
|
|
39563
39944
|
message: describeRouteTemplateParseError(parseResult.error)
|
|
39564
39945
|
});
|
|
@@ -39566,44 +39947,44 @@ var contentTypeConfigSchema = z69.object({
|
|
|
39566
39947
|
}
|
|
39567
39948
|
if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
|
|
39568
39949
|
ctx.addIssue({
|
|
39569
|
-
code:
|
|
39950
|
+
code: z70.ZodIssueCode.custom,
|
|
39570
39951
|
path: ["routePattern"],
|
|
39571
39952
|
message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
|
|
39572
39953
|
});
|
|
39573
39954
|
}
|
|
39574
39955
|
});
|
|
39575
|
-
var fieldBindingSchema =
|
|
39576
|
-
source:
|
|
39577
|
-
path:
|
|
39956
|
+
var fieldBindingSchema = z70.object({
|
|
39957
|
+
source: z70.literal("field"),
|
|
39958
|
+
path: z70.string().min(1, "Field path is required")
|
|
39578
39959
|
});
|
|
39579
|
-
var metaBindingSchema =
|
|
39580
|
-
source:
|
|
39581
|
-
path:
|
|
39960
|
+
var metaBindingSchema = z70.object({
|
|
39961
|
+
source: z70.literal("meta"),
|
|
39962
|
+
path: z70.enum(TEMPLATE_BINDING_META_PATHS, {
|
|
39582
39963
|
error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
|
|
39583
39964
|
})
|
|
39584
39965
|
});
|
|
39585
|
-
var literalBindingSchema =
|
|
39586
|
-
source:
|
|
39587
|
-
value:
|
|
39966
|
+
var literalBindingSchema = z70.object({
|
|
39967
|
+
source: z70.literal("literal"),
|
|
39968
|
+
value: z70.unknown()
|
|
39588
39969
|
});
|
|
39589
|
-
var transformBindingSchema =
|
|
39590
|
-
source:
|
|
39591
|
-
path:
|
|
39592
|
-
transform:
|
|
39970
|
+
var transformBindingSchema = z70.object({
|
|
39971
|
+
source: z70.literal("transform"),
|
|
39972
|
+
path: z70.string().min(1, "Transform path is required"),
|
|
39973
|
+
transform: z70.enum(BINDING_TRANSFORM_VALUES2, {
|
|
39593
39974
|
error: (issue) => describeInvalidBindingTransform(String(issue.input))
|
|
39594
39975
|
})
|
|
39595
39976
|
});
|
|
39596
|
-
var baseBindingSchema =
|
|
39977
|
+
var baseBindingSchema = z70.discriminatedUnion("source", [
|
|
39597
39978
|
fieldBindingSchema,
|
|
39598
39979
|
metaBindingSchema,
|
|
39599
39980
|
literalBindingSchema,
|
|
39600
39981
|
transformBindingSchema
|
|
39601
39982
|
]);
|
|
39602
|
-
var fallbackBindingSchema =
|
|
39603
|
-
source:
|
|
39604
|
-
sources:
|
|
39983
|
+
var fallbackBindingSchema = z70.object({
|
|
39984
|
+
source: z70.literal("fallback"),
|
|
39985
|
+
sources: z70.array(z70.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
|
|
39605
39986
|
});
|
|
39606
|
-
var bindingSourceSchema =
|
|
39987
|
+
var bindingSourceSchema = z70.union([
|
|
39607
39988
|
baseBindingSchema,
|
|
39608
39989
|
fallbackBindingSchema
|
|
39609
39990
|
]);
|
|
@@ -39617,12 +39998,12 @@ function isValidBlockKind(kind) {
|
|
|
39617
39998
|
return false;
|
|
39618
39999
|
}
|
|
39619
40000
|
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:
|
|
40001
|
+
var blockKindSchema = z70.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
|
|
40002
|
+
var templateBlockConfigSchema = z70.object({
|
|
40003
|
+
identifier: z70.string().min(1, "Block identifier is required"),
|
|
39623
40004
|
kind: blockKindSchema,
|
|
39624
|
-
scope:
|
|
39625
|
-
bindings:
|
|
40005
|
+
scope: z70.enum(["entry", "template"]),
|
|
40006
|
+
bindings: z70.record(z70.string(), bindingSourceSchema).optional(),
|
|
39626
40007
|
content: jsonDataSchema.optional()
|
|
39627
40008
|
}).refine(
|
|
39628
40009
|
(data) => {
|
|
@@ -39641,8 +40022,8 @@ var templateBlockConfigSchema = z69.object({
|
|
|
39641
40022
|
},
|
|
39642
40023
|
{ message: "Template-scoped blocks should define static content, not bindings" }
|
|
39643
40024
|
);
|
|
39644
|
-
var templateConfigSchema =
|
|
39645
|
-
blocks:
|
|
40025
|
+
var templateConfigSchema = z70.object({
|
|
40026
|
+
blocks: z70.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
|
|
39646
40027
|
}).refine(
|
|
39647
40028
|
(data) => {
|
|
39648
40029
|
const identifiers = data.blocks.map((b) => b.identifier);
|
|
@@ -39651,77 +40032,77 @@ var templateConfigSchema = z69.object({
|
|
|
39651
40032
|
},
|
|
39652
40033
|
{ message: "Template block identifiers must be unique" }
|
|
39653
40034
|
);
|
|
39654
|
-
var blockConfigSchema =
|
|
40035
|
+
var blockConfigSchema = z70.object({
|
|
39655
40036
|
kind: blockKindSchema,
|
|
39656
40037
|
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:
|
|
40038
|
+
orderIndex: z70.number().optional()
|
|
40039
|
+
});
|
|
40040
|
+
var pageConfigSchema = z70.object({
|
|
40041
|
+
identifier: z70.string().min(1, "Identifier is required"),
|
|
40042
|
+
title: z70.string().min(1, "Title is required"),
|
|
40043
|
+
path: z70.string().regex(/^\//, "Path must start with /"),
|
|
40044
|
+
purpose: z70.string().default("content"),
|
|
40045
|
+
blocks: z70.array(blockConfigSchema).optional(),
|
|
40046
|
+
status: z70.enum(["draft", "published"]).default("draft"),
|
|
40047
|
+
metaTitle: z70.string().optional(),
|
|
40048
|
+
metaDescription: z70.string().optional()
|
|
40049
|
+
});
|
|
40050
|
+
var entryConfigSchema = z70.object({
|
|
40051
|
+
identifier: z70.string().min(1, "Identifier is required"),
|
|
40052
|
+
contentType: z70.string().min(1, "Content type is required"),
|
|
39672
40053
|
data: jsonDataSchema,
|
|
39673
|
-
status:
|
|
39674
|
-
slug:
|
|
39675
|
-
summary:
|
|
40054
|
+
status: z70.enum(["draft", "published"]).default("draft"),
|
|
40055
|
+
slug: z70.string().optional(),
|
|
40056
|
+
summary: z70.string().optional(),
|
|
39676
40057
|
// Hard remove legacy config-only titles: titles must live in entry `data`.
|
|
39677
|
-
title:
|
|
40058
|
+
title: z70.any().optional().refine((value) => value === void 0, {
|
|
39678
40059
|
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
40060
|
}),
|
|
39680
|
-
metaTitle:
|
|
39681
|
-
metaDescription:
|
|
40061
|
+
metaTitle: z70.string().optional(),
|
|
40062
|
+
metaDescription: z70.string().optional()
|
|
39682
40063
|
});
|
|
39683
|
-
var dropdownLinkSchema =
|
|
39684
|
-
kind:
|
|
40064
|
+
var dropdownLinkSchema = z70.object({
|
|
40065
|
+
kind: z70.literal("dropdown")
|
|
39685
40066
|
});
|
|
39686
|
-
var navigationLinkSchema =
|
|
40067
|
+
var navigationLinkSchema = z70.discriminatedUnion("kind", [
|
|
39687
40068
|
...navigationLinkInputSchemaOptions,
|
|
39688
40069
|
dropdownLinkSchema
|
|
39689
40070
|
]);
|
|
39690
|
-
var baseNavigationItemSchema =
|
|
39691
|
-
label:
|
|
40071
|
+
var baseNavigationItemSchema = z70.object({
|
|
40072
|
+
label: z70.string().min(1, "Label is required"),
|
|
39692
40073
|
link: navigationLinkSchema,
|
|
39693
|
-
isCta:
|
|
40074
|
+
isCta: z70.boolean().optional()
|
|
39694
40075
|
});
|
|
39695
40076
|
var navigationItemConfigSchema = baseNavigationItemSchema.extend({
|
|
39696
|
-
children:
|
|
39697
|
-
});
|
|
39698
|
-
var navigationMenuConfigSchema =
|
|
39699
|
-
identifier:
|
|
39700
|
-
name:
|
|
39701
|
-
isPrimary:
|
|
39702
|
-
isFooter:
|
|
39703
|
-
items:
|
|
40077
|
+
children: z70.lazy(() => z70.array(navigationItemConfigSchema)).optional()
|
|
40078
|
+
});
|
|
40079
|
+
var navigationMenuConfigSchema = z70.object({
|
|
40080
|
+
identifier: z70.string().min(1, "Identifier is required"),
|
|
40081
|
+
name: z70.string().min(1, "Name is required"),
|
|
40082
|
+
isPrimary: z70.boolean().optional(),
|
|
40083
|
+
isFooter: z70.boolean().optional(),
|
|
40084
|
+
items: z70.array(navigationItemConfigSchema)
|
|
39704
40085
|
}).superRefine((menu, ctx) => {
|
|
39705
40086
|
const portalStats = collectPortalLinkStats(
|
|
39706
40087
|
menu.items
|
|
39707
40088
|
);
|
|
39708
40089
|
if (portalStats.count > 1) {
|
|
39709
40090
|
ctx.addIssue({
|
|
39710
|
-
code:
|
|
40091
|
+
code: z70.ZodIssueCode.custom,
|
|
39711
40092
|
message: "Only one portal link is allowed per navigation menu",
|
|
39712
40093
|
path: ["items"]
|
|
39713
40094
|
});
|
|
39714
40095
|
}
|
|
39715
40096
|
if (portalStats.nestedLabels.length > 0) {
|
|
39716
40097
|
ctx.addIssue({
|
|
39717
|
-
code:
|
|
40098
|
+
code: z70.ZodIssueCode.custom,
|
|
39718
40099
|
message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
|
|
39719
40100
|
path: ["items"]
|
|
39720
40101
|
});
|
|
39721
40102
|
}
|
|
39722
40103
|
if (portalStats.withChildrenLabels.length > 0) {
|
|
39723
40104
|
ctx.addIssue({
|
|
39724
|
-
code:
|
|
40105
|
+
code: z70.ZodIssueCode.custom,
|
|
39725
40106
|
message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
|
|
39726
40107
|
path: ["items"]
|
|
39727
40108
|
});
|
|
@@ -39731,44 +40112,44 @@ var navigationMenuConfigSchema = z69.object({
|
|
|
39731
40112
|
);
|
|
39732
40113
|
if (cartStats.nestedLabels.length > 0) {
|
|
39733
40114
|
ctx.addIssue({
|
|
39734
|
-
code:
|
|
40115
|
+
code: z70.ZodIssueCode.custom,
|
|
39735
40116
|
message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
|
|
39736
40117
|
path: ["items"]
|
|
39737
40118
|
});
|
|
39738
40119
|
}
|
|
39739
40120
|
if (cartStats.withChildrenLabels.length > 0) {
|
|
39740
40121
|
ctx.addIssue({
|
|
39741
|
-
code:
|
|
40122
|
+
code: z70.ZodIssueCode.custom,
|
|
39742
40123
|
message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
|
|
39743
40124
|
path: ["items"]
|
|
39744
40125
|
});
|
|
39745
40126
|
}
|
|
39746
40127
|
if (cartStats.ctaLabels.length > 0) {
|
|
39747
40128
|
ctx.addIssue({
|
|
39748
|
-
code:
|
|
40129
|
+
code: z70.ZodIssueCode.custom,
|
|
39749
40130
|
message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
|
|
39750
40131
|
path: ["items"]
|
|
39751
40132
|
});
|
|
39752
40133
|
}
|
|
39753
40134
|
if (cartStats.missingVisibleTextLabels.length > 0) {
|
|
39754
40135
|
ctx.addIssue({
|
|
39755
|
-
code:
|
|
40136
|
+
code: z70.ZodIssueCode.custom,
|
|
39756
40137
|
message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
|
|
39757
40138
|
path: ["items"]
|
|
39758
40139
|
});
|
|
39759
40140
|
}
|
|
39760
40141
|
});
|
|
39761
|
-
var siteSettingsConfigSchema =
|
|
39762
|
-
homepagePath:
|
|
39763
|
-
siteTitle:
|
|
39764
|
-
siteDescription:
|
|
39765
|
-
defaultTemplates:
|
|
40142
|
+
var siteSettingsConfigSchema = z70.object({
|
|
40143
|
+
homepagePath: z70.string().optional(),
|
|
40144
|
+
siteTitle: z70.string().optional(),
|
|
40145
|
+
siteDescription: z70.string().optional(),
|
|
40146
|
+
defaultTemplates: z70.record(z70.string(), z70.string()).optional()
|
|
39766
40147
|
});
|
|
39767
|
-
var contentConfigBaseSchema =
|
|
39768
|
-
contentTypes:
|
|
39769
|
-
entries:
|
|
39770
|
-
pages:
|
|
39771
|
-
navigationMenus:
|
|
40148
|
+
var contentConfigBaseSchema = z70.object({
|
|
40149
|
+
contentTypes: z70.array(contentTypeConfigSchema).optional(),
|
|
40150
|
+
entries: z70.array(entryConfigSchema).optional(),
|
|
40151
|
+
pages: z70.array(pageConfigSchema).optional(),
|
|
40152
|
+
navigationMenus: z70.array(navigationMenuConfigSchema).optional(),
|
|
39772
40153
|
settings: siteSettingsConfigSchema.optional()
|
|
39773
40154
|
});
|
|
39774
40155
|
var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
@@ -39777,7 +40158,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39777
40158
|
const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
|
|
39778
40159
|
if (duplicateKeys.length > 0) {
|
|
39779
40160
|
ctx.addIssue({
|
|
39780
|
-
code:
|
|
40161
|
+
code: z70.ZodIssueCode.custom,
|
|
39781
40162
|
message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
|
|
39782
40163
|
path: ["contentTypes"]
|
|
39783
40164
|
});
|
|
@@ -39788,7 +40169,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39788
40169
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39789
40170
|
if (duplicateIds.length > 0) {
|
|
39790
40171
|
ctx.addIssue({
|
|
39791
|
-
code:
|
|
40172
|
+
code: z70.ZodIssueCode.custom,
|
|
39792
40173
|
message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39793
40174
|
path: ["pages"]
|
|
39794
40175
|
});
|
|
@@ -39797,7 +40178,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39797
40178
|
const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
|
|
39798
40179
|
if (duplicatePaths.length > 0) {
|
|
39799
40180
|
ctx.addIssue({
|
|
39800
|
-
code:
|
|
40181
|
+
code: z70.ZodIssueCode.custom,
|
|
39801
40182
|
message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
|
|
39802
40183
|
path: ["pages"]
|
|
39803
40184
|
});
|
|
@@ -39808,7 +40189,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39808
40189
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39809
40190
|
if (duplicateIds.length > 0) {
|
|
39810
40191
|
ctx.addIssue({
|
|
39811
|
-
code:
|
|
40192
|
+
code: z70.ZodIssueCode.custom,
|
|
39812
40193
|
message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39813
40194
|
path: ["entries"]
|
|
39814
40195
|
});
|
|
@@ -39819,7 +40200,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39819
40200
|
const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
|
|
39820
40201
|
if (duplicateIds.length > 0) {
|
|
39821
40202
|
ctx.addIssue({
|
|
39822
|
-
code:
|
|
40203
|
+
code: z70.ZodIssueCode.custom,
|
|
39823
40204
|
message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
|
|
39824
40205
|
path: ["navigationMenus"]
|
|
39825
40206
|
});
|
|
@@ -39833,7 +40214,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
|
|
|
39833
40214
|
const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
|
|
39834
40215
|
if (entriesForType.length > 1) {
|
|
39835
40216
|
ctx.addIssue({
|
|
39836
|
-
code:
|
|
40217
|
+
code: z70.ZodIssueCode.custom,
|
|
39837
40218
|
message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
|
|
39838
40219
|
path: ["entries"]
|
|
39839
40220
|
});
|
|
@@ -39946,18 +40327,18 @@ function validateLayout(layout) {
|
|
|
39946
40327
|
}
|
|
39947
40328
|
|
|
39948
40329
|
// src/config/dashboard-validation.ts
|
|
39949
|
-
import { z as
|
|
39950
|
-
var navIdListSchema2 =
|
|
40330
|
+
import { z as z71 } from "zod";
|
|
40331
|
+
var navIdListSchema2 = z71.preprocess((value) => {
|
|
39951
40332
|
if (!Array.isArray(value)) return void 0;
|
|
39952
40333
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
39953
40334
|
return filtered.length > 0 ? filtered : void 0;
|
|
39954
|
-
},
|
|
39955
|
-
var dashboardNavVisibilityBaseSchema2 =
|
|
39956
|
-
mode:
|
|
40335
|
+
}, z71.array(z71.string()).max(200, "Maximum 200 nav IDs").optional());
|
|
40336
|
+
var dashboardNavVisibilityBaseSchema2 = z71.object({
|
|
40337
|
+
mode: z71.enum(["augment", "restrict"]).optional(),
|
|
39957
40338
|
allowIds: navIdListSchema2,
|
|
39958
40339
|
denyIds: navIdListSchema2
|
|
39959
40340
|
}).strip();
|
|
39960
|
-
var dashboardNavVisibilityRolesSchema2 =
|
|
40341
|
+
var dashboardNavVisibilityRolesSchema2 = z71.object({
|
|
39961
40342
|
administrator: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39962
40343
|
editor: dashboardNavVisibilityBaseSchema2.optional(),
|
|
39963
40344
|
team_member: dashboardNavVisibilityBaseSchema2.optional()
|
|
@@ -39965,28 +40346,28 @@ var dashboardNavVisibilityRolesSchema2 = z70.object({
|
|
|
39965
40346
|
var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
|
|
39966
40347
|
roles: dashboardNavVisibilityRolesSchema2
|
|
39967
40348
|
}).strip();
|
|
39968
|
-
var dashboardNavigationConfigSchema2 =
|
|
40349
|
+
var dashboardNavigationConfigSchema2 = z71.object({
|
|
39969
40350
|
siteNav: dashboardNavVisibilitySchema2.optional(),
|
|
39970
40351
|
settingsNav: dashboardNavVisibilitySchema2.optional()
|
|
39971
40352
|
}).strip();
|
|
39972
|
-
var dashboardConfigSchema2 =
|
|
39973
|
-
previewEditingEnabled:
|
|
40353
|
+
var dashboardConfigSchema2 = z71.object({
|
|
40354
|
+
previewEditingEnabled: z71.boolean().optional(),
|
|
39974
40355
|
navigation: dashboardNavigationConfigSchema2.optional()
|
|
39975
40356
|
}).strip();
|
|
39976
40357
|
|
|
39977
40358
|
// src/zod/titleSourceSchema.ts
|
|
39978
|
-
import { z as
|
|
39979
|
-
var titleSourceValueSchema =
|
|
39980
|
-
|
|
39981
|
-
|
|
40359
|
+
import { z as z72 } from "zod";
|
|
40360
|
+
var titleSourceValueSchema = z72.union([
|
|
40361
|
+
z72.string().min(1),
|
|
40362
|
+
z72.array(z72.string().min(1)).min(1)
|
|
39982
40363
|
]);
|
|
39983
40364
|
|
|
39984
40365
|
// src/config/validation.ts
|
|
39985
|
-
var sdkThemePaletteSchema2 =
|
|
39986
|
-
var sdkThemeConfigSchema2 =
|
|
40366
|
+
var sdkThemePaletteSchema2 = z73.record(z73.string(), z73.string());
|
|
40367
|
+
var sdkThemeConfigSchema2 = z73.object({
|
|
39987
40368
|
palette: sdkThemePaletteSchema2
|
|
39988
40369
|
});
|
|
39989
|
-
var sdkSiteUrlSchema =
|
|
40370
|
+
var sdkSiteUrlSchema = z73.string().url("Must be a valid URL").refine((url) => {
|
|
39990
40371
|
try {
|
|
39991
40372
|
const parsed = new URL(url);
|
|
39992
40373
|
const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
|
|
@@ -39995,97 +40376,97 @@ var sdkSiteUrlSchema = z72.string().url("Must be a valid URL").refine((url) => {
|
|
|
39995
40376
|
return false;
|
|
39996
40377
|
}
|
|
39997
40378
|
}, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
|
|
39998
|
-
var sectionBackgroundSchema =
|
|
39999
|
-
id:
|
|
40000
|
-
label:
|
|
40001
|
-
token:
|
|
40379
|
+
var sectionBackgroundSchema = z73.object({
|
|
40380
|
+
id: z73.string(),
|
|
40381
|
+
label: z73.string(),
|
|
40382
|
+
token: z73.string()
|
|
40002
40383
|
// Reference to theme palette token
|
|
40003
40384
|
});
|
|
40004
|
-
var sectionSpacingSchema =
|
|
40005
|
-
var containerMaxWidthSchema =
|
|
40006
|
-
var containerAlignmentSchema =
|
|
40007
|
-
var sectionOptionsSchema =
|
|
40008
|
-
backgroundColor:
|
|
40009
|
-
backgroundImage:
|
|
40010
|
-
backgroundGradient:
|
|
40011
|
-
spacing:
|
|
40012
|
-
|
|
40013
|
-
|
|
40385
|
+
var sectionSpacingSchema = z73.enum(["compact", "default", "spacious"]);
|
|
40386
|
+
var containerMaxWidthSchema = z73.enum(["narrow", "default", "wide", "full"]);
|
|
40387
|
+
var containerAlignmentSchema = z73.enum(["left", "center", "right"]);
|
|
40388
|
+
var sectionOptionsSchema = z73.object({
|
|
40389
|
+
backgroundColor: z73.boolean().optional(),
|
|
40390
|
+
backgroundImage: z73.boolean().optional(),
|
|
40391
|
+
backgroundGradient: z73.boolean().optional(),
|
|
40392
|
+
spacing: z73.union([
|
|
40393
|
+
z73.array(sectionSpacingSchema),
|
|
40394
|
+
z73.boolean()
|
|
40014
40395
|
]).optional(),
|
|
40015
|
-
textColor:
|
|
40396
|
+
textColor: z73.boolean().optional()
|
|
40016
40397
|
}).optional();
|
|
40017
|
-
var containerOptionsSchema =
|
|
40018
|
-
maxWidth:
|
|
40019
|
-
|
|
40020
|
-
|
|
40398
|
+
var containerOptionsSchema = z73.object({
|
|
40399
|
+
maxWidth: z73.union([
|
|
40400
|
+
z73.array(containerMaxWidthSchema),
|
|
40401
|
+
z73.boolean()
|
|
40021
40402
|
]).optional(),
|
|
40022
|
-
alignment:
|
|
40023
|
-
|
|
40024
|
-
|
|
40403
|
+
alignment: z73.union([
|
|
40404
|
+
z73.array(containerAlignmentSchema),
|
|
40405
|
+
z73.boolean()
|
|
40025
40406
|
]).optional()
|
|
40026
40407
|
}).optional();
|
|
40027
|
-
var siteStyleConfigSchema =
|
|
40028
|
-
sectionBackgrounds:
|
|
40408
|
+
var siteStyleConfigSchema = z73.object({
|
|
40409
|
+
sectionBackgrounds: z73.array(sectionBackgroundSchema).optional(),
|
|
40029
40410
|
sectionOptions: sectionOptionsSchema,
|
|
40030
40411
|
containerOptions: containerOptionsSchema
|
|
40031
40412
|
}).optional();
|
|
40032
|
-
var sdkLoaderEndpointSchema2 =
|
|
40413
|
+
var sdkLoaderEndpointSchema2 = z73.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
40033
40414
|
var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
|
|
40034
|
-
var loaderTransformStepSchema =
|
|
40035
|
-
id:
|
|
40415
|
+
var loaderTransformStepSchema = z73.object({
|
|
40416
|
+
id: z73.string().refine((id) => allowedTransformIds.has(id), {
|
|
40036
40417
|
message: "Unknown transform id"
|
|
40037
40418
|
}),
|
|
40038
|
-
options:
|
|
40419
|
+
options: z73.record(z73.string(), z73.unknown()).optional()
|
|
40039
40420
|
});
|
|
40040
|
-
var loaderParamBindingSchema2 =
|
|
40041
|
-
$bind:
|
|
40042
|
-
from:
|
|
40421
|
+
var loaderParamBindingSchema2 = z73.object({
|
|
40422
|
+
$bind: z73.object({
|
|
40423
|
+
from: z73.string().min(1, "Binding path is required"),
|
|
40043
40424
|
// Loader params are ultimately string-normalized for query strings, so fallbacks should
|
|
40044
40425
|
// stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
|
|
40045
40426
|
// more complex values into a string.
|
|
40046
40427
|
fallback: loaderFallbackScalarSchema.optional(),
|
|
40047
|
-
transforms:
|
|
40048
|
-
pick:
|
|
40049
|
-
coerce:
|
|
40428
|
+
transforms: z73.array(loaderTransformStepSchema).default([]),
|
|
40429
|
+
pick: z73.enum(["value", "collection", "context"]).default("value"),
|
|
40430
|
+
coerce: z73.enum(["number", "boolean", "string"]).optional()
|
|
40050
40431
|
})
|
|
40051
40432
|
});
|
|
40052
|
-
var loaderParamValueSchema2 =
|
|
40053
|
-
|
|
40054
|
-
|
|
40055
|
-
|
|
40433
|
+
var loaderParamValueSchema2 = z73.union([
|
|
40434
|
+
z73.string(),
|
|
40435
|
+
z73.number(),
|
|
40436
|
+
z73.boolean(),
|
|
40056
40437
|
loaderParamBindingSchema2
|
|
40057
40438
|
]);
|
|
40058
|
-
var loaderWhenValueSchema =
|
|
40059
|
-
|
|
40439
|
+
var loaderWhenValueSchema = z73.union([
|
|
40440
|
+
z73.boolean(),
|
|
40060
40441
|
loaderParamBindingSchema2
|
|
40061
40442
|
]);
|
|
40062
|
-
var sdkConfigLoaderSchema2 =
|
|
40443
|
+
var sdkConfigLoaderSchema2 = z73.object({
|
|
40063
40444
|
endpoint: sdkLoaderEndpointSchema2,
|
|
40064
|
-
params:
|
|
40065
|
-
mode:
|
|
40445
|
+
params: z73.record(z73.string(), loaderParamValueSchema2),
|
|
40446
|
+
mode: z73.enum(["server", "client"]).default("server"),
|
|
40066
40447
|
when: loaderWhenValueSchema.optional()
|
|
40067
40448
|
});
|
|
40068
|
-
var sdkDataLoadersSchema2 =
|
|
40449
|
+
var sdkDataLoadersSchema2 = z73.record(z73.string(), sdkConfigLoaderSchema2).refine(
|
|
40069
40450
|
(loaders) => Object.keys(loaders).length <= 5,
|
|
40070
40451
|
{ message: "Maximum 5 data loaders per block" }
|
|
40071
40452
|
).optional();
|
|
40072
|
-
var fieldSelectOptionSchema =
|
|
40073
|
-
value:
|
|
40074
|
-
label:
|
|
40453
|
+
var fieldSelectOptionSchema = z73.object({
|
|
40454
|
+
value: z73.string().min(1, "Option value is required"),
|
|
40455
|
+
label: z73.string().min(1, "Option label is required")
|
|
40075
40456
|
});
|
|
40076
|
-
var blockFieldConfigSchema =
|
|
40077
|
-
options:
|
|
40457
|
+
var blockFieldConfigSchema = z73.object({
|
|
40458
|
+
options: z73.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
|
|
40078
40459
|
});
|
|
40079
|
-
var blockFieldOptionsSchema =
|
|
40080
|
-
|
|
40460
|
+
var blockFieldOptionsSchema = z73.record(
|
|
40461
|
+
z73.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
40081
40462
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
40082
40463
|
}),
|
|
40083
|
-
|
|
40084
|
-
|
|
40464
|
+
z73.record(
|
|
40465
|
+
z73.string().min(1, "Field ID is required"),
|
|
40085
40466
|
blockFieldConfigSchema
|
|
40086
40467
|
)
|
|
40087
40468
|
).optional();
|
|
40088
|
-
var blockFieldExtensionSchema =
|
|
40469
|
+
var blockFieldExtensionSchema = z73.object({
|
|
40089
40470
|
fields: fieldSchema.array().min(1, "At least one field is required")
|
|
40090
40471
|
}).refine(
|
|
40091
40472
|
(data) => {
|
|
@@ -40099,10 +40480,10 @@ var blockFieldExtensionSchema = z72.object({
|
|
|
40099
40480
|
message: "Required fields must have a defaultValue to support existing blocks"
|
|
40100
40481
|
}
|
|
40101
40482
|
);
|
|
40102
|
-
var blockFieldExtensionsMapSchema =
|
|
40483
|
+
var blockFieldExtensionsMapSchema = z73.record(
|
|
40103
40484
|
// System blocks are kebab-case: block.body-text, block.event-calendar, ...
|
|
40104
40485
|
// Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
|
|
40105
|
-
|
|
40486
|
+
z73.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
|
|
40106
40487
|
message: "Block ID must be 'block.*' format (system blocks only)"
|
|
40107
40488
|
}),
|
|
40108
40489
|
blockFieldExtensionSchema
|
|
@@ -40118,7 +40499,7 @@ var blockFieldExtensionsMapSchema = z72.record(
|
|
|
40118
40499
|
(field) => field.id === collision.fieldId
|
|
40119
40500
|
);
|
|
40120
40501
|
ctx.addIssue({
|
|
40121
|
-
code:
|
|
40502
|
+
code: z73.ZodIssueCode.custom,
|
|
40122
40503
|
message: collision.message,
|
|
40123
40504
|
path: [
|
|
40124
40505
|
APPOINTMENT_BOOKING_BLOCK_ID,
|
|
@@ -40133,24 +40514,24 @@ var blockFieldExtensionsSchema = blockFieldExtensionsMapSchema.optional();
|
|
|
40133
40514
|
function collectAppointmentBookingExtensionReservedFieldCollisions(extension) {
|
|
40134
40515
|
return collectBookingReservedFieldCollisions(extension, { type: "booking" });
|
|
40135
40516
|
}
|
|
40136
|
-
var syncConfigSchema =
|
|
40137
|
-
existingEntries:
|
|
40517
|
+
var syncConfigSchema = z73.object({
|
|
40518
|
+
existingEntries: z73.enum(["skip", "update"]).optional()
|
|
40138
40519
|
}).optional();
|
|
40139
|
-
var deployConfigSchema =
|
|
40140
|
-
verifyCommand:
|
|
40141
|
-
prebuildOutput:
|
|
40520
|
+
var deployConfigSchema = z73.object({
|
|
40521
|
+
verifyCommand: z73.string().optional(),
|
|
40522
|
+
prebuildOutput: z73.string().optional()
|
|
40142
40523
|
}).optional();
|
|
40143
|
-
var sdkCustomBlockSchema =
|
|
40524
|
+
var sdkCustomBlockSchema = z73.object({
|
|
40144
40525
|
// Block ID must start with 'custom.'
|
|
40145
|
-
id:
|
|
40526
|
+
id: z73.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
40146
40527
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
40147
40528
|
}),
|
|
40148
|
-
title:
|
|
40529
|
+
title: z73.string().min(1, "Title is required"),
|
|
40149
40530
|
titleSource: titleSourceValueSchema.optional(),
|
|
40150
|
-
description:
|
|
40531
|
+
description: z73.string().optional(),
|
|
40151
40532
|
category: blockCategoryEnum,
|
|
40152
|
-
icon:
|
|
40153
|
-
tags:
|
|
40533
|
+
icon: z73.string().optional(),
|
|
40534
|
+
tags: z73.array(z73.string()).optional(),
|
|
40154
40535
|
// Reuse the exact field schema from @riverbankcms/blocks - all field types supported
|
|
40155
40536
|
fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
40156
40537
|
// Data loaders for CMS endpoints
|
|
@@ -40158,14 +40539,14 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40158
40539
|
// Optional declarative layout - when present, block can render without React override
|
|
40159
40540
|
layout: NodeSchema.optional(),
|
|
40160
40541
|
// 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:
|
|
40542
|
+
variants: z73.record(z73.string().min(1), NodeSchema).optional(),
|
|
40543
|
+
defaultVariant: z73.string().min(1).optional(),
|
|
40544
|
+
variantOptions: z73.record(
|
|
40545
|
+
z73.string().min(1),
|
|
40546
|
+
z73.object({
|
|
40547
|
+
label: z73.string().min(1).optional(),
|
|
40548
|
+
description: z73.string().min(1).optional(),
|
|
40549
|
+
icon: z73.string().min(1).optional()
|
|
40169
40550
|
})
|
|
40170
40551
|
).optional(),
|
|
40171
40552
|
previewCustomize: previewCustomizeManifestCurationSchema.optional()
|
|
@@ -40177,7 +40558,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40177
40558
|
const exists = fields3.some((field) => field.id === source);
|
|
40178
40559
|
if (!exists) {
|
|
40179
40560
|
ctx.addIssue({
|
|
40180
|
-
code:
|
|
40561
|
+
code: z73.ZodIssueCode.custom,
|
|
40181
40562
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
40182
40563
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
40183
40564
|
});
|
|
@@ -40186,7 +40567,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40186
40567
|
}
|
|
40187
40568
|
if (data.layout && data.variants) {
|
|
40188
40569
|
ctx.addIssue({
|
|
40189
|
-
code:
|
|
40570
|
+
code: z73.ZodIssueCode.custom,
|
|
40190
40571
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
40191
40572
|
path: ["variants"]
|
|
40192
40573
|
});
|
|
@@ -40196,7 +40577,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40196
40577
|
if (!result.valid) {
|
|
40197
40578
|
for (const error of result.errors) {
|
|
40198
40579
|
ctx.addIssue({
|
|
40199
|
-
code:
|
|
40580
|
+
code: z73.ZodIssueCode.custom,
|
|
40200
40581
|
message: error.message,
|
|
40201
40582
|
path: ["layout"]
|
|
40202
40583
|
});
|
|
@@ -40207,14 +40588,14 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40207
40588
|
const keys = Object.keys(data.variants);
|
|
40208
40589
|
if (keys.length === 0) {
|
|
40209
40590
|
ctx.addIssue({
|
|
40210
|
-
code:
|
|
40591
|
+
code: z73.ZodIssueCode.custom,
|
|
40211
40592
|
message: "`variants` must contain at least one variant key",
|
|
40212
40593
|
path: ["variants"]
|
|
40213
40594
|
});
|
|
40214
40595
|
}
|
|
40215
40596
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
40216
40597
|
ctx.addIssue({
|
|
40217
|
-
code:
|
|
40598
|
+
code: z73.ZodIssueCode.custom,
|
|
40218
40599
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
40219
40600
|
path: ["defaultVariant"]
|
|
40220
40601
|
});
|
|
@@ -40224,7 +40605,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40224
40605
|
if (!result.valid) {
|
|
40225
40606
|
for (const error of result.errors) {
|
|
40226
40607
|
ctx.addIssue({
|
|
40227
|
-
code:
|
|
40608
|
+
code: z73.ZodIssueCode.custom,
|
|
40228
40609
|
message: `${key}: ${error.message}`,
|
|
40229
40610
|
path: ["variants", key]
|
|
40230
40611
|
});
|
|
@@ -40235,7 +40616,7 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40235
40616
|
for (const key of Object.keys(data.variantOptions)) {
|
|
40236
40617
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
40237
40618
|
ctx.addIssue({
|
|
40238
|
-
code:
|
|
40619
|
+
code: z73.ZodIssueCode.custom,
|
|
40239
40620
|
message: "`variantOptions` key must exist in `variants`",
|
|
40240
40621
|
path: ["variantOptions", key]
|
|
40241
40622
|
});
|
|
@@ -40244,58 +40625,58 @@ var sdkCustomBlockSchema = z72.object({
|
|
|
40244
40625
|
}
|
|
40245
40626
|
}
|
|
40246
40627
|
});
|
|
40247
|
-
var themeSourceSchema =
|
|
40248
|
-
var activeThemeSchema =
|
|
40628
|
+
var themeSourceSchema = z73.enum(["local", "cms"]).optional();
|
|
40629
|
+
var activeThemeSchema = z73.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
|
|
40249
40630
|
message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
|
|
40250
40631
|
}).max(64, "Theme name too long").optional();
|
|
40251
40632
|
function isValidConfigBlockKind(kind) {
|
|
40252
40633
|
if (getBlockDefinition(kind)) return true;
|
|
40253
40634
|
return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
|
|
40254
40635
|
}
|
|
40255
|
-
var layoutBlockKindSchema =
|
|
40636
|
+
var layoutBlockKindSchema = z73.string().refine(isValidConfigBlockKind, {
|
|
40256
40637
|
message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
|
|
40257
40638
|
});
|
|
40258
|
-
var layoutFooterBlockSchema =
|
|
40259
|
-
id:
|
|
40639
|
+
var layoutFooterBlockSchema = z73.object({
|
|
40640
|
+
id: z73.string().min(1).optional(),
|
|
40260
40641
|
kind: layoutBlockKindSchema,
|
|
40261
40642
|
// Allow omitted content for blocks that rely on defaults.
|
|
40262
|
-
content:
|
|
40643
|
+
content: z73.record(z73.string(), z73.unknown()).optional()
|
|
40263
40644
|
}).strict();
|
|
40264
|
-
var layoutConfigSchema =
|
|
40265
|
-
footerBlocks:
|
|
40645
|
+
var layoutConfigSchema = z73.object({
|
|
40646
|
+
footerBlocks: z73.array(layoutFooterBlockSchema).optional()
|
|
40266
40647
|
}).strict();
|
|
40267
|
-
var sdkWorkflowIdSchema2 =
|
|
40648
|
+
var sdkWorkflowIdSchema2 = z73.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
40268
40649
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
40269
40650
|
});
|
|
40270
|
-
var sdkWorkflowEndpointSchema2 =
|
|
40271
|
-
var sdkWorkflowTriggerSchema2 =
|
|
40272
|
-
|
|
40651
|
+
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 "/"' });
|
|
40652
|
+
var sdkWorkflowTriggerSchema2 = z73.discriminatedUnion("type", [
|
|
40653
|
+
z73.object({ type: z73.literal("manual") }).strict()
|
|
40273
40654
|
]);
|
|
40274
|
-
var sdkWorkflowConfirmationSchema2 =
|
|
40275
|
-
title:
|
|
40276
|
-
body:
|
|
40655
|
+
var sdkWorkflowConfirmationSchema2 = z73.object({
|
|
40656
|
+
title: z73.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
40657
|
+
body: z73.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
40277
40658
|
}).strict();
|
|
40278
|
-
var sdkWorkflowConfigSchema2 =
|
|
40659
|
+
var sdkWorkflowConfigSchema2 = z73.object({
|
|
40279
40660
|
id: sdkWorkflowIdSchema2,
|
|
40280
|
-
title:
|
|
40281
|
-
description:
|
|
40282
|
-
contentType:
|
|
40661
|
+
title: z73.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
40662
|
+
description: z73.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
40663
|
+
contentType: z73.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
40283
40664
|
endpoint: sdkWorkflowEndpointSchema2,
|
|
40284
|
-
triggers:
|
|
40665
|
+
triggers: z73.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
40285
40666
|
confirmation: sdkWorkflowConfirmationSchema2.optional()
|
|
40286
40667
|
}).strict();
|
|
40287
|
-
var sdkWorkflowsSchema2 =
|
|
40668
|
+
var sdkWorkflowsSchema2 = z73.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
40288
40669
|
const ids = workflows.map((workflow) => workflow.id);
|
|
40289
40670
|
return ids.length === new Set(ids).size;
|
|
40290
40671
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
40291
|
-
var riverbankSiteConfigSchema =
|
|
40292
|
-
siteId:
|
|
40672
|
+
var riverbankSiteConfigSchema = z73.object({
|
|
40673
|
+
siteId: z73.string().uuid(),
|
|
40293
40674
|
previewUrl: sdkSiteUrlSchema.optional(),
|
|
40294
40675
|
liveUrl: sdkSiteUrlSchema.optional(),
|
|
40295
40676
|
theme: sdkThemeConfigSchema2.optional(),
|
|
40296
40677
|
styles: siteStyleConfigSchema,
|
|
40297
40678
|
layout: layoutConfigSchema.optional(),
|
|
40298
|
-
customBlocks:
|
|
40679
|
+
customBlocks: z73.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
|
|
40299
40680
|
// Ensure unique block IDs
|
|
40300
40681
|
(blocks) => {
|
|
40301
40682
|
const ids = blocks.map((b) => b.id);
|
|
@@ -40308,7 +40689,7 @@ var riverbankSiteConfigSchema = z72.object({
|
|
|
40308
40689
|
workflows: sdkWorkflowsSchema2,
|
|
40309
40690
|
content: contentConfigSchema.optional(),
|
|
40310
40691
|
// CLI-related configuration (Phase 4)
|
|
40311
|
-
contentDir:
|
|
40692
|
+
contentDir: z73.string().optional(),
|
|
40312
40693
|
sync: syncConfigSchema,
|
|
40313
40694
|
deploy: deployConfigSchema,
|
|
40314
40695
|
// Theme sync configuration (Phase 5)
|