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