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