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