@riverbankcms/sdk 0.96.0 → 0.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/README.md +20 -1
  2. package/dist/{PreviewEditorSidebar-46VT4QVU.mjs → PreviewEditorSidebar-TPOKCCKY.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-JD75GE5F.mjs → PreviewEditorUI-Y347GLC2.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-OGTXRQ4M.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +36 -36
  6. package/dist/_dts/api/src/billing.d.ts +2 -0
  7. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +35 -1
  8. package/dist/_dts/api/src/bookingOperations.d.ts +246 -0
  9. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -1
  10. package/dist/_dts/api/src/contentRuntime.d.ts +109 -40
  11. package/dist/_dts/api/src/endpoints.d.ts +88 -0
  12. package/dist/_dts/api/src/index.d.ts +3 -2
  13. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  14. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -0
  15. package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
  16. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -1
  17. package/dist/_dts/api/src/siteOperations.d.ts +65 -1
  18. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +7 -1
  19. package/dist/_dts/billing/src/site-arrangements.d.ts +151 -0
  20. package/dist/_dts/billing/src/subscriptions/store.d.ts +2 -0
  21. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +2 -1
  22. package/dist/_dts/blocks/src/PageRenderer.d.ts +8 -1
  23. package/dist/_dts/blocks/src/bindings/types.d.ts +0 -4
  24. package/dist/_dts/blocks/src/client/site-chrome.d.ts +7 -0
  25. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
  26. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +12 -12
  27. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -0
  28. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +1 -0
  29. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +2 -0
  30. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  31. package/dist/_dts/blocks/src/system/blocks/weekly-slot-availability.d.ts +34 -0
  32. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
  33. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  34. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  35. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  36. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +4 -1
  37. package/dist/_dts/blocks/src/system/node/builder.d.ts +2 -0
  38. package/dist/_dts/blocks/src/system/node/schema.d.ts +13 -0
  39. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  40. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  41. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -1
  42. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  43. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +24 -0
  44. package/dist/_dts/blocks/src/system/runtime/components/booking/DatePicker.d.ts +6 -2
  45. package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +3 -1
  46. package/dist/_dts/blocks/src/system/runtime/components/booking/TimeSlotSelector.d.ts +10 -4
  47. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -0
  48. package/dist/_dts/blocks/src/system/runtime/hooks/useAppointmentCheckoutVerification.d.ts +7 -0
  49. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.d.ts +2 -2
  50. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +2 -2
  51. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +4 -0
  52. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +5 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +11 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/StepIndicator.d.ts +3 -1
  55. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +14 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -2
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +133 -2
  58. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.controller.d.ts +3 -0
  59. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.d.ts +9 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.state.d.ts +14 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.server.d.ts +10 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.view.d.ts +11 -0
  63. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +31 -1
  64. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +2 -1
  65. package/dist/_dts/blocks/src/system/runtime/{nodes/event-registration → shared/components}/SelectableOptionCard.d.ts +11 -2
  66. package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +16 -5
  67. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  68. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  69. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +5 -0
  70. package/dist/_dts/blocks/src/utils/date-formatting.d.ts +18 -2
  71. package/dist/_dts/content-editor/src/primitives/PreviewInlineTextEditor.d.ts +1 -1
  72. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +1 -1
  73. package/dist/_dts/content-model/src/templates/defaults.d.ts +5 -5
  74. package/dist/_dts/content-model/src/templates/types.d.ts +2 -6
  75. package/dist/_dts/core/src/branded.d.ts +8 -0
  76. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +767 -20
  77. package/dist/_dts/field-primitives/src/bindings/index.d.ts +8 -0
  78. package/dist/_dts/sdk/src/__mocks__/next-cache.d.ts +1 -1
  79. package/dist/_dts/sdk/src/cli/commands/push/publishGuidance.d.ts +15 -0
  80. package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +2 -1
  81. package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +3 -1
  82. package/dist/_dts/sdk/src/cli/commands/push/stale-resolution.d.ts +9 -3
  83. package/dist/_dts/sdk/src/cli/commands/push/workflowPlan.d.ts +34 -0
  84. package/dist/_dts/sdk/src/cli/commands/push.d.ts +13 -0
  85. package/dist/_dts/sdk/src/cli/commands/setup.d.ts +2 -0
  86. package/dist/_dts/sdk/src/cli/config-loader.d.ts +2 -0
  87. package/dist/_dts/sdk/src/cli/content/metadataStore.d.ts +29 -0
  88. package/dist/_dts/sdk/src/cli/content/reader.d.ts +16 -14
  89. package/dist/_dts/sdk/src/cli/content/writer.d.ts +6 -4
  90. package/dist/_dts/sdk/src/cli/env-scope.d.ts +2 -0
  91. package/dist/_dts/sdk/src/cli/helpers.d.ts +6 -7
  92. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +2 -0
  93. package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +6 -18
  94. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -4
  95. package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +2 -0
  96. package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +6 -18
  97. package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +2 -4
  98. package/dist/_dts/sdk/src/cli/merge-remote/sharedBaseSnapshots.d.ts +32 -0
  99. package/dist/_dts/sdk/src/cli/merge-remote/sharedMergePlan.d.ts +27 -0
  100. package/dist/_dts/sdk/src/cli/merge-remote/sharedMergeReport.d.ts +63 -0
  101. package/dist/_dts/sdk/src/cli/push-config.d.ts +13 -2
  102. package/dist/_dts/sdk/src/cli/setup/setupPlan.d.ts +51 -0
  103. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +21 -0
  104. package/dist/_dts/sdk/src/client/index.d.ts +6 -0
  105. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +1 -1
  106. package/dist/_dts/sdk/src/client/types.d.ts +18 -2
  107. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  108. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  109. package/dist/_dts/sdk/src/contracts/bindings.d.ts +3 -7
  110. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +13 -0
  111. package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +6 -1
  112. package/dist/_dts/sdk/src/next/route-outcome-proxy.d.ts +3 -3
  113. package/dist/_dts/sdk/src/next/types.d.ts +19 -0
  114. package/dist/_dts/sdk/src/prebuild/loader.d.ts +8 -1
  115. package/dist/_dts/sdk/src/public-api/contracts.d.ts +174 -78
  116. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  117. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
  118. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -0
  119. package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +4 -4
  120. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +58 -1
  121. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +8 -0
  122. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +2 -2
  123. package/dist/_dts/sdk/src/rendering/index.d.ts +7 -7
  124. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +18 -66
  125. package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -0
  126. package/dist/_dts/sdk/src/routing/resolveRoute.d.ts +18 -0
  127. package/dist/_dts/sdk/src/test/apiClient.d.ts +17 -0
  128. package/dist/_dts/sdk/src/test/bunDom.setup.d.ts +1 -0
  129. package/dist/_dts/sdk/src/test/env.d.ts +4 -0
  130. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  131. package/dist/_dts/sdk/src/version.d.ts +1 -1
  132. package/dist/_dts/site-commands/src/commands.d.ts +3 -3
  133. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  134. package/dist/_dts/theme-core/src/interactive/generateBaseCSS.d.ts +6 -0
  135. package/dist/_dts/theme-core/src/status/contextualColors.d.ts +6 -0
  136. package/dist/_dts/theme-core/src/status/index.d.ts +1 -0
  137. package/dist/{chunk-VHIMXQ7Z.mjs → chunk-4HXF2QLH.mjs} +2 -2
  138. package/dist/{chunk-VTPPVAOL.mjs → chunk-EMJIT3ZJ.mjs} +1 -1
  139. package/dist/{chunk-4TLTV7OB.mjs → chunk-PM7HGDHM.mjs} +2 -2
  140. package/dist/{chunk-XMATDBXO.mjs → chunk-XO34WBBP.mjs} +2139 -1348
  141. package/dist/{chunk-EL55VV6Q.mjs → chunk-YGTTEVUM.mjs} +31 -10
  142. package/dist/{chunk-7ED5UNHL.mjs → chunk-YWTCCOSF.mjs} +117 -0
  143. package/dist/cli/index.mjs +2690 -1503
  144. package/dist/cli/init-docs/content/cli-reference.md +29 -1
  145. package/dist/cli/init-docs/content/getting-started.md +8 -0
  146. package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +3 -1
  147. package/dist/cli/init-docs/content/workflow-preview-mode.md +6 -0
  148. package/dist/cli/init-docs/content/workflow-remote-setup.md +51 -0
  149. package/dist/client/{accordion-GUNXIIZR.mjs → accordion-QSUEYL4L.mjs} +2 -2
  150. package/dist/client/{bookingForm-AOU4VHP5.mjs → bookingForm-QYGAHPDP.mjs} +376 -302
  151. package/dist/client/bookings.mjs +795 -429
  152. package/dist/client/{carousel-4QSX2JPC.mjs → carousel-SM2LEWAU.mjs} +3 -3
  153. package/dist/client/{cart-JKN6C4ZB.mjs → cart-3N3SFKNQ.mjs} +7 -7
  154. package/dist/client/{checkout-YY6YMITW.mjs → checkout-YFAYPKPZ.mjs} +7 -7
  155. package/dist/client/{chunk-SY543WZ3.mjs → chunk-5DLGREUB.mjs} +1 -1
  156. package/dist/client/{chunk-A3YN7M3G.mjs → chunk-CLZ7NBSP.mjs} +147 -75
  157. package/dist/client/{chunk-GWCRCJLB.mjs → chunk-CYJ3MUFP.mjs} +18 -6
  158. package/dist/client/{chunk-JNE6UI6U.mjs → chunk-H3H3ODO7.mjs} +1 -1
  159. package/dist/client/{chunk-CPKMJVBD.mjs → chunk-HPEQ4YWW.mjs} +83 -109
  160. package/dist/client/{chunk-PCHACQEB.mjs → chunk-IIUIKJ4K.mjs} +15 -7
  161. package/dist/client/{chunk-TNGL2WJF.mjs → chunk-IOAHWAQG.mjs} +18 -0
  162. package/dist/client/{chunk-6H27K6AA.mjs → chunk-JTKBF3W2.mjs} +10 -4
  163. package/dist/client/{chunk-OLAOAZEO.mjs → chunk-K7KTSACR.mjs} +1 -1
  164. package/dist/client/{chunk-BFCJZODD.mjs → chunk-R32M5HFS.mjs} +6 -6
  165. package/dist/client/{chunk-VJROUYOQ.mjs → chunk-WEVT46PX.mjs} +3 -3
  166. package/dist/client/{chunk-H7A6PUGM.mjs → chunk-ZU65LTI3.mjs} +1 -1
  167. package/dist/client/client.mjs +5052 -4083
  168. package/dist/client/{courseRegistration-UU2KMPSQ.mjs → courseRegistration-LYBE7VVK.mjs} +7 -7
  169. package/dist/client/{eventCalendar-WIVNS2TM.mjs → eventCalendar-FMTB75X6.mjs} +9 -9
  170. package/dist/client/{eventCombined-P3G5MW4J.mjs → eventCombined-E4LUCJXT.mjs} +9 -9
  171. package/dist/client/{eventDetails-2VHJ2RDG.mjs → eventDetails-GELSRR4Z.mjs} +9 -9
  172. package/dist/client/{eventListing-TGO6JI3R.mjs → eventListing-TB623B6R.mjs} +9 -9
  173. package/dist/client/{eventRegistration-B46HEJES.mjs → eventRegistration-NRIKHXTI.mjs} +9 -9
  174. package/dist/client/{form-VKRTFUNQ.mjs → form-Y4U4IAXE.mjs} +3 -3
  175. package/dist/client/{headerSection-XUX4ZJLO.mjs → headerSection-QSOVV5P7.mjs} +3 -3
  176. package/dist/client/hooks.mjs +1776 -1355
  177. package/dist/client/{locationMap-NQFI5MJO.mjs → locationMap-QYCAHH7H.mjs} +3 -3
  178. package/dist/client/{newsletterForm-P2GETCQK.mjs → newsletterForm-NWHY5TBY.mjs} +3 -3
  179. package/dist/client/{productDetail-7NQ7O5IF.mjs → productDetail-FYDMU2CE.mjs} +7 -7
  180. package/dist/client/{productList-RX6ZJ7BL.mjs → productList-D76CGACQ.mjs} +7 -7
  181. package/dist/client/rendering/client.mjs +2990 -2470
  182. package/dist/client/rendering/islands.mjs +19 -19
  183. package/dist/client/rendering.mjs +3236 -2236
  184. package/dist/client/{shop-BHN5AKY6.mjs → shop-SOUACT5N.mjs} +7 -7
  185. package/dist/preview-next/before-render.mjs +117 -0
  186. package/dist/preview-next/client/runtime.mjs +5 -5
  187. package/dist/preview-next/middleware.mjs +117 -0
  188. package/dist/{sdk-runtime-X2LXQ5IC.mjs → sdk-runtime-XPVE3LBA.mjs} +6 -6
  189. package/dist/server/components.mjs +3115 -2484
  190. package/dist/server/config-template-validation.mjs +6 -2
  191. package/dist/server/config-validation.mjs +1961 -1580
  192. package/dist/server/config.mjs +1961 -1580
  193. package/dist/server/data.mjs +1762 -1352
  194. package/dist/server/index.mjs +266 -33
  195. package/dist/server/next/middleware.mjs +2 -2
  196. package/dist/server/next.mjs +3399 -2504
  197. package/dist/server/page-converter.mjs +1553 -1295
  198. package/dist/server/prebuild-loader.mjs +42 -23
  199. package/dist/server/prebuild.mjs +1 -1
  200. package/dist/server/rendering/server.mjs +3151 -2489
  201. package/dist/server/rendering.mjs +3363 -2555
  202. package/dist/server/routing.mjs +1877 -1388
  203. package/dist/server/server.mjs +2057 -1402
  204. package/dist/server/theme-bridge.mjs +597 -505
  205. package/dist/server/theme.mjs +5 -4
  206. package/dist/styles/index.css +499 -490
  207. package/package.json +6 -4
  208. package/dist/SdkPreviewModeRuntime-MJUSYUFB.mjs +0 -8
@@ -1037,6 +1037,94 @@ var ENDPOINT_DEFINITIONS = {
1037
1037
  responseKind: "json",
1038
1038
  errors: ["resource:not_found", "server:internal_error"]
1039
1039
  },
1040
+ listAppointmentReservations: {
1041
+ path: "/sites/{siteId}/bookings/appointment-reservations",
1042
+ method: "GET",
1043
+ auth: "user",
1044
+ responseKind: "json",
1045
+ errors: []
1046
+ },
1047
+ createAppointmentReservation: {
1048
+ path: "/sites/{siteId}/bookings/appointment-reservations",
1049
+ method: "POST",
1050
+ auth: "user",
1051
+ responseKind: "json",
1052
+ errors: [
1053
+ "validation:invalid_input",
1054
+ "resource:not_found",
1055
+ "resource:conflict",
1056
+ "server:internal_error"
1057
+ ]
1058
+ },
1059
+ getAppointmentReservation: {
1060
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
1061
+ method: "GET",
1062
+ auth: "user",
1063
+ responseKind: "json",
1064
+ errors: ["resource:not_found", "server:internal_error"]
1065
+ },
1066
+ updateAppointmentReservation: {
1067
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
1068
+ method: "PUT",
1069
+ auth: "user",
1070
+ responseKind: "json",
1071
+ errors: [
1072
+ "validation:invalid_input",
1073
+ "resource:not_found",
1074
+ "resource:conflict",
1075
+ "server:internal_error"
1076
+ ]
1077
+ },
1078
+ pauseAppointmentReservation: {
1079
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/pause",
1080
+ method: "POST",
1081
+ auth: "user",
1082
+ responseKind: "json",
1083
+ errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
1084
+ },
1085
+ resumeAppointmentReservation: {
1086
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/resume",
1087
+ method: "POST",
1088
+ auth: "user",
1089
+ responseKind: "json",
1090
+ errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
1091
+ },
1092
+ endAppointmentReservation: {
1093
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/end",
1094
+ method: "POST",
1095
+ auth: "user",
1096
+ responseKind: "json",
1097
+ errors: [
1098
+ "validation:invalid_input",
1099
+ "resource:not_found",
1100
+ "resource:conflict",
1101
+ "server:internal_error"
1102
+ ]
1103
+ },
1104
+ previewAppointmentReservationRun: {
1105
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/run-preview",
1106
+ method: "POST",
1107
+ auth: "user",
1108
+ responseKind: "json",
1109
+ errors: [
1110
+ "validation:invalid_input",
1111
+ "resource:not_found",
1112
+ "resource:conflict",
1113
+ "server:internal_error"
1114
+ ]
1115
+ },
1116
+ createAppointmentReservationRun: {
1117
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/runs",
1118
+ method: "POST",
1119
+ auth: "user",
1120
+ responseKind: "json",
1121
+ errors: [
1122
+ "validation:invalid_input",
1123
+ "resource:not_found",
1124
+ "resource:conflict",
1125
+ "server:internal_error"
1126
+ ]
1127
+ },
1040
1128
  createTeamMemberProfile: {
1041
1129
  path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
1042
1130
  method: "POST",
@@ -3493,6 +3581,18 @@ var ENDPOINT_DEFINITIONS = {
3493
3581
  responseKind: "json",
3494
3582
  errors: ["validation:invalid_input", "server:internal_error"]
3495
3583
  },
3584
+ resolveRouteDecision: {
3585
+ path: "/sites/{siteId}/route-decision",
3586
+ method: "GET",
3587
+ tags: [
3588
+ TAG_TEMPLATES.siteRoutableContent,
3589
+ TAG_TEMPLATES.siteRedirects,
3590
+ TAG_TEMPLATES.siteRouteOutcomes
3591
+ ],
3592
+ auth: "public",
3593
+ responseKind: "json",
3594
+ errors: ["validation:invalid_input", "server:internal_error"]
3595
+ },
3496
3596
  getPageByPath: {
3497
3597
  path: "/sites/{siteId}/pages",
3498
3598
  method: "GET",
@@ -3631,6 +3731,15 @@ var ENDPOINT_DEFINITIONS = {
3631
3731
  auth: "public",
3632
3732
  responseKind: "json"
3633
3733
  },
3734
+ getPublicWeeklySlotAvailability: {
3735
+ path: "/public/bookings/weekly-slot-availability",
3736
+ method: "GET",
3737
+ revalidate: 60,
3738
+ tags: ["site-{siteId}"],
3739
+ auth: "public",
3740
+ responseKind: "json",
3741
+ errors: []
3742
+ },
3634
3743
  createPublicBookingAppointment: {
3635
3744
  path: "/public/bookings/appointments",
3636
3745
  method: "POST",
@@ -5541,6 +5650,14 @@ var ENDPOINT_DEFINITIONS = {
5541
5650
  responseKind: "json",
5542
5651
  errors: []
5543
5652
  },
5653
+ adminResolveSiteBillingManualReview: {
5654
+ path: "/admin/sites/{siteId}/billing/manual-reviews/{reviewId}/resolve",
5655
+ method: "POST",
5656
+ tags: ["admin", "site-{siteId}", "billing"],
5657
+ auth: "admin",
5658
+ responseKind: "json",
5659
+ errors: []
5660
+ },
5544
5661
  // Admin GSC/SEO endpoints
5545
5662
  adminGscVerifyStart: {
5546
5663
  path: "/admin/seo/gsc/properties/verify/start",
@@ -6788,7 +6905,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
6788
6905
  );
6789
6906
 
6790
6907
  // ../api/src/sdkConfig/contracts.ts
6791
- import { z as z63 } from "zod";
6908
+ import { z as z64 } from "zod";
6792
6909
 
6793
6910
  // ../blocks/src/system/manifest/augmentManifest.ts
6794
6911
  function augmentManifest(manifest) {
@@ -6957,10 +7074,20 @@ var repeatSchema = z3.object({
6957
7074
  direction: z3.enum(["asc", "desc"]).default("asc")
6958
7075
  }).optional()
6959
7076
  });
7077
+ var conditionalAuthoringPresenceSchema = z3.discriminatedUnion("kind", [
7078
+ z3.object({ kind: z3.literal("visitor-only") }),
7079
+ z3.object({
7080
+ kind: z3.literal("recover-empty-when-active"),
7081
+ placeholder: z3.string().min(1).optional()
7082
+ })
7083
+ ]);
6960
7084
  var conditionSchema = z3.object({
6961
7085
  when: bindingSchema,
6962
7086
  equals: z3.unknown().optional(),
6963
- not: z3.boolean().default(false)
7087
+ not: z3.boolean().default(false),
7088
+ authoringPresence: conditionalAuthoringPresenceSchema.default({
7089
+ kind: "visitor-only"
7090
+ })
6964
7091
  });
6965
7092
  var dataScopeSchema = z3.object({
6966
7093
  name: z3.string().min(1),
@@ -10901,15 +11028,16 @@ var joyStamp = defineButtonPersonality({
10901
11028
  // 700, matching the mockup's chunky button labels.
10902
11029
  typography: "heading",
10903
11030
  fontWeight: 700,
11031
+ fontSize: "text-lg",
10904
11032
  borderWidth: 2,
10905
11033
  hoverTransform: "none",
10906
11034
  hoverColor: "none"
10907
11035
  },
10908
11036
  sizes: {
10909
- sm: { padding: "0.625rem 1.25rem", fontSize: "text-sm" },
10910
- md: { padding: "0.875rem 1.75rem", fontSize: "text-base" },
10911
- lg: { padding: "1.125rem 2.25rem", fontSize: "text-lg" },
10912
- xl: { padding: "1.25rem 2.75rem", fontSize: "text-xl" }
11037
+ sm: { padding: "0.625rem 1.25rem", fontSize: "text-base" },
11038
+ md: { padding: "0.875rem 1.75rem", fontSize: "text-lg" },
11039
+ lg: { padding: "1.125rem 2.25rem", fontSize: "text-xl" },
11040
+ xl: { padding: "1.25rem 2.75rem", fontSize: "text-2xl" }
10913
11041
  },
10914
11042
  variants: [
10915
11043
  {
@@ -18026,7 +18154,8 @@ function when(path, options) {
18026
18154
  $when: {
18027
18155
  when: { from: path },
18028
18156
  ...options?.equals !== void 0 ? { equals: options.equals } : {},
18029
- ...options?.not ? { not: true } : {}
18157
+ ...options?.not ? { not: true } : {},
18158
+ ...options?.authoringPresence ? { authoringPresence: options.authoringPresence } : {}
18030
18159
  }
18031
18160
  });
18032
18161
  }
@@ -27867,77 +27996,247 @@ var appointmentBookingBlockDefinition = {
27867
27996
  }
27868
27997
  };
27869
27998
 
27999
+ // ../blocks/src/system/blocks/weekly-slot-availability.ts
28000
+ import { z as z39 } from "zod";
28001
+ var weeklySlotAvailabilityManifest = createBlockManifest({
28002
+ id: "block.weekly-slot-availability",
28003
+ version: "1.0.0",
28004
+ title: "Weekly Slot Availability",
28005
+ titleSource: "heading",
28006
+ description: "Shows available recurring appointment slot patterns",
28007
+ skipSectionStyles: true,
28008
+ additionalFields: [
28009
+ {
28010
+ id: "serviceId",
28011
+ type: "reference",
28012
+ label: "Appointment service",
28013
+ description: "Choose which appointment service to show availability for",
28014
+ required: true,
28015
+ referenceKind: "appointmentService",
28016
+ allowManualEntry: false,
28017
+ ui: { intent: "behavior" }
28018
+ },
28019
+ {
28020
+ id: "resourceId",
28021
+ type: "reference",
28022
+ label: "Appointment resource",
28023
+ description: "Optionally narrow the availability to one practitioner or room",
28024
+ required: false,
28025
+ referenceKind: "appointmentResource",
28026
+ allowManualEntry: false,
28027
+ ui: { intent: "behavior" }
28028
+ },
28029
+ {
28030
+ id: "horizonWeeks",
28031
+ type: "select",
28032
+ label: "Look ahead",
28033
+ required: false,
28034
+ multiple: false,
28035
+ defaultValue: "4",
28036
+ options: [
28037
+ { value: "1", label: "1 week" },
28038
+ { value: "2", label: "2 weeks" },
28039
+ { value: "4", label: "4 weeks" }
28040
+ ],
28041
+ ui: { intent: "behavior" }
28042
+ },
28043
+ {
28044
+ id: "timezone",
28045
+ type: "text",
28046
+ label: "Timezone",
28047
+ description: "Leave blank to use the visitor timezone when the block loads",
28048
+ required: false,
28049
+ multiline: false,
28050
+ defaultValue: "",
28051
+ maxLength: 64,
28052
+ ui: { intent: "behavior" }
28053
+ },
28054
+ {
28055
+ id: "heading",
28056
+ type: "text",
28057
+ label: "Heading",
28058
+ required: false,
28059
+ multiline: false,
28060
+ defaultValue: "Weekly availability"
28061
+ },
28062
+ {
28063
+ id: "description",
28064
+ type: "richText",
28065
+ label: "Description",
28066
+ required: false
28067
+ },
28068
+ {
28069
+ id: "emptyMessage",
28070
+ type: "text",
28071
+ label: "Empty message",
28072
+ required: false,
28073
+ multiline: true,
28074
+ defaultValue: "No regular weekly openings are currently available.",
28075
+ maxLength: 180
28076
+ },
28077
+ {
28078
+ id: "ctaText",
28079
+ type: "text",
28080
+ label: "Enquiry button text",
28081
+ required: false,
28082
+ multiline: false,
28083
+ defaultValue: "Enquire about this slot",
28084
+ maxLength: 60
28085
+ },
28086
+ {
28087
+ id: "ctaUrl",
28088
+ type: "url",
28089
+ label: "Enquiry URL",
28090
+ required: false,
28091
+ ui: { intent: "behavior" }
28092
+ },
28093
+ sectionStylesField({
28094
+ id: "_sectionStyles",
28095
+ label: "Section styles"
28096
+ })
28097
+ ],
28098
+ styleTokens: { background: "surface", typography: "body", spacing: "md" },
28099
+ behaviours: {
28100
+ supportsThemeSwitching: true,
28101
+ inlineEditing: false,
28102
+ animation: false,
28103
+ paletteHidden: false
28104
+ },
28105
+ category: "interactive",
28106
+ tags: ["booking", "appointment", "calendar", "weekly", "availability"],
28107
+ icon: "CalendarDays",
28108
+ layout: [
28109
+ styledSection({
28110
+ children: sectionContainer([
28111
+ text({ as: "h2" }, bind("content.heading"), when("content.heading")),
28112
+ richText({}, bind("content.description"), when("content.description")),
28113
+ el(
28114
+ "weekly-slot-availability",
28115
+ withApiBindings({
28116
+ serviceId: { $bind: { from: "content.serviceId" } },
28117
+ resourceId: { $bind: { from: "content.resourceId", fallback: null } },
28118
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
28119
+ timezone: { $bind: { from: "content.timezone", fallback: null } },
28120
+ availability: { $bind: { from: "data.availability", fallback: null } },
28121
+ emptyMessage: { $bind: { from: "content.emptyMessage", fallback: null } },
28122
+ ctaText: { $bind: { from: "content.ctaText", fallback: null } },
28123
+ ctaUrl: { $bind: { from: "content.ctaUrl", fallback: null } }
28124
+ })
28125
+ )
28126
+ ], {
28127
+ gap: "lg"
28128
+ }),
28129
+ baseClass: "",
28130
+ spacing: "spacious"
28131
+ })
28132
+ ]
28133
+ });
28134
+ var weeklySlotAvailabilityOptionSchema = z39.object({
28135
+ id: z39.string(),
28136
+ resourceId: z39.string(),
28137
+ weekday: z39.number(),
28138
+ weekdayLabel: z39.string(),
28139
+ startTime: z39.string(),
28140
+ endTime: z39.string(),
28141
+ nextDate: z39.string(),
28142
+ availableWeeks: z39.number()
28143
+ });
28144
+ var weeklySlotAvailabilityDataSchema = z39.object({
28145
+ slots: z39.array(weeklySlotAvailabilityOptionSchema),
28146
+ horizonWeeks: z39.number(),
28147
+ timezone: z39.string(),
28148
+ startDate: z39.string(),
28149
+ endDate: z39.string()
28150
+ });
28151
+ var weeklySlotAvailabilityBlockDefinition = {
28152
+ manifest: weeklySlotAvailabilityManifest,
28153
+ dataSchemas: { availability: weeklySlotAvailabilityDataSchema.optional() },
28154
+ dataLoaders: {
28155
+ availability: {
28156
+ endpoint: "getPublicWeeklySlotAvailability",
28157
+ params: {
28158
+ siteId: { $bind: { from: "$root.siteId" } },
28159
+ serviceId: { $bind: { from: "content.serviceId" } },
28160
+ resourceId: { $bind: { from: "content.resourceId", fallback: void 0 } },
28161
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
28162
+ timezone: { $bind: { from: "content.timezone", fallback: void 0 } }
28163
+ },
28164
+ mode: "server"
28165
+ }
28166
+ }
28167
+ };
28168
+
27870
28169
  // ../blocks/src/system/blocks/events/shared/schemas.ts
27871
- import { z as z43 } from "zod";
28170
+ import { z as z44 } from "zod";
27872
28171
 
27873
28172
  // ../blocks/src/lib/media.ts
27874
- import z39 from "zod";
28173
+ import z40 from "zod";
27875
28174
  var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
27876
28175
  "document",
27877
28176
  "spreadsheet",
27878
28177
  "archive",
27879
28178
  "audio"
27880
28179
  ];
27881
- var hotspotSchema2 = z39.object({
27882
- x: z39.number().min(0).max(1),
27883
- y: z39.number().min(0).max(1),
27884
- radius: z39.number().optional()
27885
- });
27886
- var rotationSchema2 = z39.union([z39.literal(0), z39.literal(90), z39.literal(180), z39.literal(270)]);
27887
- var rectSchema2 = z39.tuple([z39.number(), z39.number(), z39.number(), z39.number()]);
27888
- var aspectCropSchema2 = z39.object({
27889
- aspect: z39.preprocess((value) => value == null ? void 0 : value, z39.string().optional()),
27890
- rect: z39.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
27891
- hotspot: z39.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
27892
- rotation: z39.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
27893
- });
27894
- var transformSchema2 = z39.object({
27895
- aspectCrops: z39.preprocess((value) => {
28180
+ var hotspotSchema2 = z40.object({
28181
+ x: z40.number().min(0).max(1),
28182
+ y: z40.number().min(0).max(1),
28183
+ radius: z40.number().optional()
28184
+ });
28185
+ var rotationSchema2 = z40.union([z40.literal(0), z40.literal(90), z40.literal(180), z40.literal(270)]);
28186
+ var rectSchema2 = z40.tuple([z40.number(), z40.number(), z40.number(), z40.number()]);
28187
+ var aspectCropSchema2 = z40.object({
28188
+ aspect: z40.preprocess((value) => value == null ? void 0 : value, z40.string().optional()),
28189
+ rect: z40.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
28190
+ hotspot: z40.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
28191
+ rotation: z40.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
28192
+ });
28193
+ var transformSchema2 = z40.object({
28194
+ aspectCrops: z40.preprocess((value) => {
27896
28195
  if (!value || typeof value !== "object" || Array.isArray(value)) {
27897
28196
  return void 0;
27898
28197
  }
27899
28198
  return value;
27900
- }, z39.record(z39.string(), aspectCropSchema2.catch({}))).optional(),
28199
+ }, z40.record(z40.string(), aspectCropSchema2.catch({}))).optional(),
27901
28200
  rect: rectSchema2.optional(),
27902
28201
  hotspot: hotspotSchema2.optional(),
27903
28202
  rotation: rotationSchema2.optional()
27904
28203
  });
27905
- var mediaPosterSchema = z39.discriminatedUnion("tag", [
27906
- z39.object({
27907
- tag: z39.literal("storage"),
27908
- assetId: z39.string().optional(),
27909
- storageBucket: z39.string().min(1),
27910
- storagePath: z39.string().min(1)
28204
+ var mediaPosterSchema = z40.discriminatedUnion("tag", [
28205
+ z40.object({
28206
+ tag: z40.literal("storage"),
28207
+ assetId: z40.string().optional(),
28208
+ storageBucket: z40.string().min(1),
28209
+ storagePath: z40.string().min(1)
27911
28210
  }),
27912
- z39.object({
27913
- tag: z39.literal("external-src"),
27914
- assetId: z39.string().optional(),
27915
- src: z39.string().url()
28211
+ z40.object({
28212
+ tag: z40.literal("external-src"),
28213
+ assetId: z40.string().optional(),
28214
+ src: z40.string().url()
27916
28215
  })
27917
28216
  ]);
27918
- var mediaBaseSchema = z39.object({
27919
- purpose: z39.string().optional(),
27920
- placeholder: z39.boolean().default(true).optional(),
27921
- assetId: z39.string().optional(),
27922
- identifier: z39.string().optional(),
27923
- src: z39.string().optional(),
27924
- alt: z39.string().optional(),
27925
- filename: z39.string().optional(),
27926
- mimeType: z39.string().optional(),
27927
- width: z39.number().optional(),
27928
- height: z39.number().optional(),
27929
- storageBucket: z39.string().optional(),
27930
- storagePath: z39.string().optional(),
28217
+ var mediaBaseSchema = z40.object({
28218
+ purpose: z40.string().optional(),
28219
+ placeholder: z40.boolean().default(true).optional(),
28220
+ assetId: z40.string().optional(),
28221
+ identifier: z40.string().optional(),
28222
+ src: z40.string().optional(),
28223
+ alt: z40.string().optional(),
28224
+ filename: z40.string().optional(),
28225
+ mimeType: z40.string().optional(),
28226
+ width: z40.number().optional(),
28227
+ height: z40.number().optional(),
28228
+ storageBucket: z40.string().optional(),
28229
+ storagePath: z40.string().optional(),
27931
28230
  poster: mediaPosterSchema.optional(),
27932
28231
  transform: transformSchema2.optional()
27933
28232
  });
27934
- var imageMediaSchema = mediaBaseSchema.extend({ type: z39.literal("image") });
27935
- var videoMediaSchema = mediaBaseSchema.extend({ type: z39.literal("video") });
27936
- var audioMediaSchema = mediaBaseSchema.extend({ type: z39.literal("audio") });
27937
- var documentMediaSchema = mediaBaseSchema.extend({ type: z39.literal("document") });
27938
- var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z39.literal("spreadsheet") });
27939
- var archiveMediaSchema = mediaBaseSchema.extend({ type: z39.literal("archive") });
27940
- var mediaSchema2 = z39.discriminatedUnion("type", [
28233
+ var imageMediaSchema = mediaBaseSchema.extend({ type: z40.literal("image") });
28234
+ var videoMediaSchema = mediaBaseSchema.extend({ type: z40.literal("video") });
28235
+ var audioMediaSchema = mediaBaseSchema.extend({ type: z40.literal("audio") });
28236
+ var documentMediaSchema = mediaBaseSchema.extend({ type: z40.literal("document") });
28237
+ var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z40.literal("spreadsheet") });
28238
+ var archiveMediaSchema = mediaBaseSchema.extend({ type: z40.literal("archive") });
28239
+ var mediaSchema2 = z40.discriminatedUnion("type", [
27941
28240
  imageMediaSchema,
27942
28241
  videoMediaSchema,
27943
28242
  audioMediaSchema,
@@ -27947,372 +28246,372 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
27947
28246
  ]);
27948
28247
 
27949
28248
  // ../blocks/src/system/manifest/richTextSchema.ts
27950
- import { z as z40 } from "zod";
27951
- var TipTapMarkSchema = z40.object({
27952
- type: z40.string(),
27953
- attrs: z40.record(z40.string(), z40.unknown()).optional()
27954
- });
27955
- var TipTapNodeSchema = z40.lazy(
27956
- () => z40.object({
27957
- type: z40.string(),
27958
- content: z40.array(TipTapNodeSchema).optional(),
27959
- text: z40.string().optional(),
27960
- attrs: z40.record(z40.string(), z40.unknown()).optional(),
27961
- marks: z40.array(TipTapMarkSchema).optional()
28249
+ import { z as z41 } from "zod";
28250
+ var TipTapMarkSchema = z41.object({
28251
+ type: z41.string(),
28252
+ attrs: z41.record(z41.string(), z41.unknown()).optional()
28253
+ });
28254
+ var TipTapNodeSchema = z41.lazy(
28255
+ () => z41.object({
28256
+ type: z41.string(),
28257
+ content: z41.array(TipTapNodeSchema).optional(),
28258
+ text: z41.string().optional(),
28259
+ attrs: z41.record(z41.string(), z41.unknown()).optional(),
28260
+ marks: z41.array(TipTapMarkSchema).optional()
27962
28261
  })
27963
28262
  );
27964
- var RichTextValueSchema = z40.union([
28263
+ var RichTextValueSchema = z41.union([
27965
28264
  // Canonical: TipTap document directly
27966
28265
  TipTapNodeSchema,
27967
28266
  // Legacy (read-tolerance only): wrapped in { doc: {...} }
27968
- z40.object({
28267
+ z41.object({
27969
28268
  doc: TipTapNodeSchema
27970
28269
  })
27971
28270
  ]);
27972
- var RichTextDocSchema = z40.object({
27973
- type: z40.literal("doc"),
27974
- content: z40.array(TipTapNodeSchema)
28271
+ var RichTextDocSchema = z41.object({
28272
+ type: z41.literal("doc"),
28273
+ content: z41.array(TipTapNodeSchema)
27975
28274
  });
27976
28275
 
27977
28276
  // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
27978
- import { z as z41 } from "zod";
27979
- var bookingDepositRefundPolicySchema = z41.enum([
28277
+ import { z as z42 } from "zod";
28278
+ var bookingDepositRefundPolicySchema = z42.enum([
27980
28279
  "refundable",
27981
28280
  "non_refundable"
27982
28281
  ]);
27983
- var bookingInstalmentPlanSchema = z41.union([
27984
- z41.object({
27985
- kind: z41.literal("deposit_plus_one_remainder"),
27986
- depositAmountCents: z41.number().int().min(0),
28282
+ var bookingInstalmentPlanSchema = z42.union([
28283
+ z42.object({
28284
+ kind: z42.literal("deposit_plus_one_remainder"),
28285
+ depositAmountCents: z42.number().int().min(0),
27987
28286
  depositRefundability: bookingDepositRefundPolicySchema,
27988
- remainderDueCount: z41.number().int().positive(),
27989
- intervalUnit: z41.enum(["day", "week", "month"])
28287
+ remainderDueCount: z42.number().int().positive(),
28288
+ intervalUnit: z42.enum(["day", "week", "month"])
27990
28289
  }),
27991
- z41.object({
27992
- kind: z41.literal("deposit_plus_scheduled_instalments"),
27993
- depositAmountCents: z41.number().int().min(0),
28290
+ z42.object({
28291
+ kind: z42.literal("deposit_plus_scheduled_instalments"),
28292
+ depositAmountCents: z42.number().int().min(0),
27994
28293
  depositRefundability: bookingDepositRefundPolicySchema,
27995
- instalmentCount: z41.number().int().positive(),
27996
- intervalCount: z41.number().int().positive(),
27997
- intervalUnit: z41.enum(["day", "week", "month"])
28294
+ instalmentCount: z42.number().int().positive(),
28295
+ intervalCount: z42.number().int().positive(),
28296
+ intervalUnit: z42.enum(["day", "week", "month"])
27998
28297
  }),
27999
- z41.object({
28000
- kind: z41.literal("equal_scheduled_instalments"),
28001
- instalmentCount: z41.number().int().positive(),
28002
- intervalCount: z41.number().int().positive(),
28003
- intervalUnit: z41.enum(["day", "week", "month"])
28298
+ z42.object({
28299
+ kind: z42.literal("equal_scheduled_instalments"),
28300
+ instalmentCount: z42.number().int().positive(),
28301
+ intervalCount: z42.number().int().positive(),
28302
+ intervalUnit: z42.enum(["day", "week", "month"])
28004
28303
  })
28005
28304
  ]);
28006
- var bookingFlexibleBalanceDueDateRuleSchema = z41.union([
28007
- z41.object({
28008
- kind: z41.literal("relative_to_start_date"),
28009
- daysBeforeStart: z41.number().int().positive()
28305
+ var bookingFlexibleBalanceDueDateRuleSchema = z42.union([
28306
+ z42.object({
28307
+ kind: z42.literal("relative_to_start_date"),
28308
+ daysBeforeStart: z42.number().int().positive()
28010
28309
  }),
28011
- z41.object({
28012
- kind: z41.literal("fixed_calendar_date"),
28013
- dueAt: z41.string().datetime()
28310
+ z42.object({
28311
+ kind: z42.literal("fixed_calendar_date"),
28312
+ dueAt: z42.string().datetime()
28014
28313
  })
28015
28314
  ]);
28016
- var bookingFlexibleBalanceConfigSchema = z41.object({
28017
- upfrontAmountCents: z41.number().int().min(0),
28315
+ var bookingFlexibleBalanceConfigSchema = z42.object({
28316
+ upfrontAmountCents: z42.number().int().min(0),
28018
28317
  dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
28019
28318
  depositRefundability: bookingDepositRefundPolicySchema
28020
28319
  });
28021
- var blockBookingPaymentCollectionOptionSchema = z41.union([
28022
- z41.object({
28023
- kind: z41.literal("upfront")
28320
+ var blockBookingPaymentCollectionOptionSchema = z42.union([
28321
+ z42.object({
28322
+ kind: z42.literal("upfront")
28024
28323
  }),
28025
- z41.object({
28026
- kind: z41.literal("deferred_manual")
28324
+ z42.object({
28325
+ kind: z42.literal("deferred_manual")
28027
28326
  }),
28028
- z41.object({
28029
- kind: z41.literal("instalment_plan"),
28327
+ z42.object({
28328
+ kind: z42.literal("instalment_plan"),
28030
28329
  plan: bookingInstalmentPlanSchema
28031
28330
  }),
28032
- z41.object({
28033
- kind: z41.literal("flexible_balance"),
28331
+ z42.object({
28332
+ kind: z42.literal("flexible_balance"),
28034
28333
  config: bookingFlexibleBalanceConfigSchema
28035
28334
  })
28036
28335
  ]);
28037
- var blockBookingPaymentTermsSchema = z41.object({
28038
- allowedOptions: z41.array(blockBookingPaymentCollectionOptionSchema).min(1)
28336
+ var blockBookingPaymentTermsSchema = z42.object({
28337
+ allowedOptions: z42.array(blockBookingPaymentCollectionOptionSchema).min(1)
28039
28338
  });
28040
28339
 
28041
28340
  // ../blocks/src/system/blocks/courses/shared/schemas.ts
28042
- import { z as z42 } from "zod";
28043
- var courseVenueSchema = z42.object({
28044
- id: z42.string(),
28045
- name: z42.string(),
28046
- address: z42.string().nullable()
28047
- });
28048
- var courseSessionSchema = z42.object({
28049
- id: z42.string(),
28050
- startsAt: z42.string(),
28051
- endsAt: z42.string(),
28052
- timeZone: z42.string(),
28053
- capacityOverride: z42.number().nullable().optional(),
28054
- overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
28055
- });
28056
- var courseTeamMemberSummarySchema = z42.object({
28057
- id: z42.string(),
28058
- name: z42.string(),
28059
- roleLabel: z42.string().nullable(),
28060
- summary: z42.string().nullable(),
28061
- profilePath: z42.string().nullable()
28062
- });
28063
- var coursePricingOptionSchema = z42.object({
28064
- id: z42.string(),
28065
- name: z42.string(),
28066
- description: z42.string().nullable(),
28067
- priceAmount: z42.number(),
28068
- isActive: z42.boolean(),
28069
- sortOrder: z42.number(),
28070
- capacityLimit: z42.number().nullable(),
28071
- saleStartsAt: z42.string().nullable(),
28072
- saleEndsAt: z42.string().nullable(),
28073
- attendanceScope: z42.enum(["in_person", "online", "both"]).nullable().optional()
28074
- });
28075
- var coursePricingSchema = z42.object({
28076
- bookingRequirement: z42.enum(["none", "required"]),
28077
- pricingStrategy: z42.enum(["free", "single", "tiered", "sliding_scale"]),
28078
- currency: z42.string(),
28079
- singlePriceAmount: z42.number().nullable(),
28080
- slidingMinAmount: z42.number().nullable().optional(),
28081
- slidingMaxAmount: z42.number().nullable().optional(),
28082
- slidingSuggestedAmount: z42.number().nullable().optional(),
28341
+ import { z as z43 } from "zod";
28342
+ var courseVenueSchema = z43.object({
28343
+ id: z43.string(),
28344
+ name: z43.string(),
28345
+ address: z43.string().nullable()
28346
+ });
28347
+ var courseSessionSchema = z43.object({
28348
+ id: z43.string(),
28349
+ startsAt: z43.string(),
28350
+ endsAt: z43.string(),
28351
+ timeZone: z43.string(),
28352
+ capacityOverride: z43.number().nullable().optional(),
28353
+ overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
28354
+ });
28355
+ var courseTeamMemberSummarySchema = z43.object({
28356
+ id: z43.string(),
28357
+ name: z43.string(),
28358
+ roleLabel: z43.string().nullable(),
28359
+ summary: z43.string().nullable(),
28360
+ profilePath: z43.string().nullable()
28361
+ });
28362
+ var coursePricingOptionSchema = z43.object({
28363
+ id: z43.string(),
28364
+ name: z43.string(),
28365
+ description: z43.string().nullable(),
28366
+ priceAmount: z43.number(),
28367
+ isActive: z43.boolean(),
28368
+ sortOrder: z43.number(),
28369
+ capacityLimit: z43.number().nullable(),
28370
+ saleStartsAt: z43.string().nullable(),
28371
+ saleEndsAt: z43.string().nullable(),
28372
+ attendanceScope: z43.enum(["in_person", "online", "both"]).nullable().optional()
28373
+ });
28374
+ var coursePricingSchema = z43.object({
28375
+ bookingRequirement: z43.enum(["none", "required"]),
28376
+ pricingStrategy: z43.enum(["free", "single", "tiered", "sliding_scale"]),
28377
+ currency: z43.string(),
28378
+ singlePriceAmount: z43.number().nullable(),
28379
+ slidingMinAmount: z43.number().nullable().optional(),
28380
+ slidingMaxAmount: z43.number().nullable().optional(),
28381
+ slidingSuggestedAmount: z43.number().nullable().optional(),
28083
28382
  paymentTerms: blockBookingPaymentTermsSchema,
28084
- options: z42.array(coursePricingOptionSchema)
28085
- });
28086
- var publicCourseSchema = z42.object({
28087
- id: z42.string(),
28088
- title: z42.string(),
28089
- slug: z42.string(),
28090
- description: z42.unknown().nullable(),
28091
- teamMembers: z42.array(courseTeamMemberSummarySchema).optional(),
28092
- enrollmentOpen: z42.boolean(),
28383
+ options: z43.array(coursePricingOptionSchema)
28384
+ });
28385
+ var publicCourseSchema = z43.object({
28386
+ id: z43.string(),
28387
+ title: z43.string(),
28388
+ slug: z43.string(),
28389
+ description: z43.unknown().nullable(),
28390
+ teamMembers: z43.array(courseTeamMemberSummarySchema).optional(),
28391
+ enrollmentOpen: z43.boolean(),
28093
28392
  pricing: coursePricingSchema.optional(),
28094
- priceCents: z42.number().nullable(),
28095
- currency: z42.string(),
28393
+ priceCents: z43.number().nullable(),
28394
+ currency: z43.string(),
28096
28395
  paymentTerms: blockBookingPaymentTermsSchema,
28097
- enrollmentCapacity: z42.number().nullable(),
28098
- acceptsMemberships: z42.boolean(),
28099
- status: z42.enum(["active", "draft", "cancelled"]),
28100
- sessionsCount: z42.number(),
28101
- enrolledCount: z42.number(),
28102
- availableSpots: z42.number().nullable(),
28103
- sessions: z42.array(courseSessionSchema),
28396
+ enrollmentCapacity: z43.number().nullable(),
28397
+ acceptsMemberships: z43.boolean(),
28398
+ status: z43.enum(["active", "draft", "cancelled"]),
28399
+ sessionsCount: z43.number(),
28400
+ enrolledCount: z43.number(),
28401
+ availableSpots: z43.number().nullable(),
28402
+ sessions: z43.array(courseSessionSchema),
28104
28403
  venue: courseVenueSchema.nullable(),
28105
- contentEntryId: z42.string().nullable()
28404
+ contentEntryId: z43.string().nullable()
28106
28405
  });
28107
- var publicCoursesArraySchema = z42.array(publicCourseSchema);
28406
+ var publicCoursesArraySchema = z43.array(publicCourseSchema);
28108
28407
 
28109
28408
  // ../blocks/src/system/blocks/events/shared/schemas.ts
28110
- var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
28111
- var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
28112
- var eventDestinationModeSchema = z43.enum(["cms-managed", "system-managed"]);
28113
- var publicEventDestinationSchema = z43.discriminatedUnion("kind", [
28114
- z43.object({
28115
- kind: z43.literal("native"),
28409
+ var eventPresetSchema = z44.enum(["event", "class", "workshop", "retreat", "performance"]);
28410
+ var eventScheduleScopeSchema = z44.enum(["recurring", "oneOff"]);
28411
+ var eventDestinationModeSchema = z44.enum(["cms-managed", "system-managed"]);
28412
+ var publicEventDestinationSchema = z44.discriminatedUnion("kind", [
28413
+ z44.object({
28414
+ kind: z44.literal("native"),
28116
28415
  mode: eventDestinationModeSchema,
28117
- path: z43.string()
28416
+ path: z44.string()
28118
28417
  }),
28119
- z43.object({
28120
- kind: z43.literal("external"),
28121
- url: z43.string(),
28122
- label: z43.string()
28418
+ z44.object({
28419
+ kind: z44.literal("external"),
28420
+ url: z44.string(),
28421
+ label: z44.string()
28123
28422
  })
28124
28423
  ]);
28125
- var eventVenueSchema = z43.object({
28126
- id: z43.string(),
28127
- name: z43.string(),
28128
- address: z43.string().nullable(),
28129
- location: z43.object({
28130
- lat: z43.number(),
28131
- lng: z43.number()
28424
+ var eventVenueSchema = z44.object({
28425
+ id: z44.string(),
28426
+ name: z44.string(),
28427
+ address: z44.string().nullable(),
28428
+ location: z44.object({
28429
+ lat: z44.number(),
28430
+ lng: z44.number()
28132
28431
  }).nullable()
28133
28432
  });
28134
- var eventCategorySchema = z43.object({
28135
- id: z43.string(),
28136
- name: z43.string(),
28137
- color: z43.string().nullable()
28138
- });
28139
- var pricingTypeSchema = z43.enum(["free", "paid", "external"]);
28140
- var accessRestrictionSchema = z43.enum(["none", "category"]);
28141
- var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
28142
- var publicCoursePriceDisplaySchema = z43.discriminatedUnion("kind", [
28143
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28144
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28145
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28146
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
28433
+ var eventCategorySchema = z44.object({
28434
+ id: z44.string(),
28435
+ name: z44.string(),
28436
+ color: z44.string().nullable()
28437
+ });
28438
+ var pricingTypeSchema = z44.enum(["free", "paid", "external"]);
28439
+ var accessRestrictionSchema = z44.enum(["none", "category"]);
28440
+ var eventPricingModeSchema = z44.enum(["single", "ticket_types"]);
28441
+ var publicCoursePriceDisplaySchema = z44.discriminatedUnion("kind", [
28442
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28443
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28444
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28445
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
28147
28446
  ]);
28148
- var publicEventPriceDisplaySchema = z43.discriminatedUnion("kind", [
28149
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28150
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28151
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28152
- z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28153
- z43.object({
28154
- kind: z43.literal("mixed"),
28155
- paidFromAmount: z43.number(),
28156
- paidToAmount: z43.number(),
28157
- currency: z43.string()
28447
+ var publicEventPriceDisplaySchema = z44.discriminatedUnion("kind", [
28448
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28449
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28450
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28451
+ z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
28452
+ z44.object({
28453
+ kind: z44.literal("mixed"),
28454
+ paidFromAmount: z44.number(),
28455
+ paidToAmount: z44.number(),
28456
+ currency: z44.string()
28158
28457
  }),
28159
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() }),
28160
- z43.object({ kind: z43.literal("external"), label: z43.string() }),
28161
- z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28458
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() }),
28459
+ z44.object({ kind: z44.literal("external"), label: z44.string() }),
28460
+ z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
28162
28461
  ]);
28163
- var publicEventTicketTypePriceDisplaySchema = z43.union([
28164
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28165
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28166
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28167
- z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28168
- z43.object({
28169
- kind: z43.literal("mixed"),
28170
- paidFromAmount: z43.number(),
28171
- paidToAmount: z43.number(),
28172
- currency: z43.string()
28462
+ var publicEventTicketTypePriceDisplaySchema = z44.union([
28463
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28464
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28465
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28466
+ z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
28467
+ z44.object({
28468
+ kind: z44.literal("mixed"),
28469
+ paidFromAmount: z44.number(),
28470
+ paidToAmount: z44.number(),
28471
+ currency: z44.string()
28173
28472
  }),
28174
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
28473
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
28175
28474
  ]);
28176
- var publicEventAttendanceModeSchema = z43.enum(["in_person", "online"]);
28177
- var publicEventAttendanceModeAvailabilitySchema = z43.object({
28475
+ var publicEventAttendanceModeSchema = z44.enum(["in_person", "online"]);
28476
+ var publicEventAttendanceModeAvailabilitySchema = z44.object({
28178
28477
  mode: publicEventAttendanceModeSchema,
28179
- capacity: z43.number().nullable(),
28180
- registeredCount: z43.number(),
28181
- availableSpots: z43.number().nullable(),
28182
- waitlistEnabled: z43.boolean()
28183
- });
28184
- var publicEventTicketTypeAvailabilitySchema = z43.union([
28185
- z43.object({
28186
- kind: z43.literal("available"),
28187
- remainingCapacity: z43.number().nullable()
28478
+ capacity: z44.number().nullable(),
28479
+ registeredCount: z44.number(),
28480
+ availableSpots: z44.number().nullable(),
28481
+ waitlistEnabled: z44.boolean()
28482
+ });
28483
+ var publicEventTicketTypeAvailabilitySchema = z44.union([
28484
+ z44.object({
28485
+ kind: z44.literal("available"),
28486
+ remainingCapacity: z44.number().nullable()
28188
28487
  }),
28189
- z43.object({
28190
- kind: z43.literal("unavailable"),
28191
- reason: z43.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
28192
- remainingCapacity: z43.number().nullable()
28488
+ z44.object({
28489
+ kind: z44.literal("unavailable"),
28490
+ reason: z44.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
28491
+ remainingCapacity: z44.number().nullable()
28193
28492
  })
28194
28493
  ]);
28195
- var publicEventTicketTypeSchema = z43.object({
28196
- id: z43.string(),
28197
- siteId: z43.string(),
28198
- eventSeriesId: z43.string(),
28199
- name: z43.string(),
28200
- description: z43.string().nullable(),
28201
- priceAmount: z43.number(),
28202
- isActive: z43.boolean(),
28203
- sortOrder: z43.number(),
28204
- capacityMode: z43.enum(["limited", "unlimited"]),
28205
- capacityLimit: z43.number().nullable(),
28206
- attendanceScope: z43.enum(["in_person", "online", "both"]).optional(),
28207
- saleStartsAt: z43.string().nullable(),
28208
- saleEndsAt: z43.string().nullable(),
28494
+ var publicEventTicketTypeSchema = z44.object({
28495
+ id: z44.string(),
28496
+ siteId: z44.string(),
28497
+ eventSeriesId: z44.string(),
28498
+ name: z44.string(),
28499
+ description: z44.string().nullable(),
28500
+ priceAmount: z44.number(),
28501
+ isActive: z44.boolean(),
28502
+ sortOrder: z44.number(),
28503
+ capacityMode: z44.enum(["limited", "unlimited"]),
28504
+ capacityLimit: z44.number().nullable(),
28505
+ attendanceScope: z44.enum(["in_person", "online", "both"]).optional(),
28506
+ saleStartsAt: z44.string().nullable(),
28507
+ saleEndsAt: z44.string().nullable(),
28209
28508
  availability: publicEventTicketTypeAvailabilitySchema,
28210
- createdAt: z43.string(),
28211
- updatedAt: z43.string()
28212
- });
28213
- var publicEventPricingSchema = z43.discriminatedUnion("kind", [
28214
- z43.object({
28215
- kind: z43.literal("drop_in"),
28216
- currency: z43.string(),
28217
- display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28509
+ createdAt: z44.string(),
28510
+ updatedAt: z44.string()
28511
+ });
28512
+ var publicEventPricingSchema = z44.discriminatedUnion("kind", [
28513
+ z44.object({
28514
+ kind: z44.literal("drop_in"),
28515
+ currency: z44.string(),
28516
+ display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
28218
28517
  }),
28219
- z43.object({
28220
- kind: z43.literal("free_registration"),
28221
- currency: z43.string(),
28222
- display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28518
+ z44.object({
28519
+ kind: z44.literal("free_registration"),
28520
+ currency: z44.string(),
28521
+ display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
28223
28522
  }),
28224
- z43.object({
28225
- kind: z43.literal("single_paid"),
28226
- amount: z43.number(),
28227
- currency: z43.string(),
28228
- display: z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() })
28523
+ z44.object({
28524
+ kind: z44.literal("single_paid"),
28525
+ amount: z44.number(),
28526
+ currency: z44.string(),
28527
+ display: z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() })
28229
28528
  }),
28230
- z43.object({
28231
- kind: z43.literal("ticket_types"),
28232
- currency: z43.string(),
28233
- ticketTypes: z43.array(publicEventTicketTypeSchema),
28529
+ z44.object({
28530
+ kind: z44.literal("ticket_types"),
28531
+ currency: z44.string(),
28532
+ ticketTypes: z44.array(publicEventTicketTypeSchema),
28234
28533
  display: publicEventTicketTypePriceDisplaySchema
28235
28534
  }),
28236
- z43.object({
28237
- kind: z43.literal("sliding_scale"),
28238
- minAmount: z43.number(),
28239
- maxAmount: z43.number(),
28240
- suggestedAmount: z43.number().nullable(),
28241
- currency: z43.string(),
28242
- display: z43.object({
28243
- kind: z43.literal("range"),
28244
- minAmount: z43.number(),
28245
- maxAmount: z43.number(),
28246
- currency: z43.string()
28535
+ z44.object({
28536
+ kind: z44.literal("sliding_scale"),
28537
+ minAmount: z44.number(),
28538
+ maxAmount: z44.number(),
28539
+ suggestedAmount: z44.number().nullable(),
28540
+ currency: z44.string(),
28541
+ display: z44.object({
28542
+ kind: z44.literal("range"),
28543
+ minAmount: z44.number(),
28544
+ maxAmount: z44.number(),
28545
+ currency: z44.string()
28247
28546
  })
28248
28547
  }),
28249
- z43.object({
28250
- kind: z43.literal("course"),
28251
- display: z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28548
+ z44.object({
28549
+ kind: z44.literal("course"),
28550
+ display: z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
28252
28551
  }),
28253
- z43.object({
28254
- kind: z43.literal("external"),
28255
- display: z43.object({ kind: z43.literal("external"), label: z43.string() })
28552
+ z44.object({
28553
+ kind: z44.literal("external"),
28554
+ display: z44.object({ kind: z44.literal("external"), label: z44.string() })
28256
28555
  })
28257
28556
  ]);
28258
- var publicTeamMemberSummarySchema = z43.object({
28259
- id: z43.string(),
28260
- name: z43.string(),
28261
- roleLabel: z43.string().nullable(),
28262
- summary: z43.string().nullable(),
28263
- profilePath: z43.string().nullable()
28557
+ var publicTeamMemberSummarySchema = z44.object({
28558
+ id: z44.string(),
28559
+ name: z44.string(),
28560
+ roleLabel: z44.string().nullable(),
28561
+ summary: z44.string().nullable(),
28562
+ profilePath: z44.string().nullable()
28264
28563
  });
28265
- var publicEventSchema = z43.object({
28266
- kind: z43.enum(["event", "course_session"]).optional(),
28564
+ var publicEventSchema = z44.object({
28565
+ kind: z44.enum(["event", "course_session"]).optional(),
28267
28566
  eventPreset: eventPresetSchema.optional(),
28268
28567
  eventDestinationMode: eventDestinationModeSchema.optional(),
28269
28568
  scheduleScope: eventScheduleScopeSchema.optional(),
28270
- id: z43.string(),
28271
- occurrenceId: z43.string(),
28272
- seriesId: z43.string(),
28273
- title: z43.string(),
28274
- description: z43.string().nullable(),
28275
- content: z43.object({
28569
+ id: z44.string(),
28570
+ occurrenceId: z44.string(),
28571
+ seriesId: z44.string(),
28572
+ title: z44.string(),
28573
+ description: z44.string().nullable(),
28574
+ content: z44.object({
28276
28575
  body: RichTextDocSchema.nullable().optional()
28277
28576
  }).optional(),
28278
- presentation: z43.object({
28279
- cardTitleOverride: z43.string().nullable().optional(),
28280
- summary: z43.string().nullable().optional(),
28577
+ presentation: z44.object({
28578
+ cardTitleOverride: z44.string().nullable().optional(),
28579
+ summary: z44.string().nullable().optional(),
28281
28580
  image: mediaSchema2.nullable().optional()
28282
28581
  }).optional(),
28283
- slug: z43.string(),
28284
- path: z43.string().nullable(),
28582
+ slug: z44.string(),
28583
+ path: z44.string().nullable(),
28285
28584
  destination: publicEventDestinationSchema,
28286
- requiresRegistration: z43.boolean(),
28287
- deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
28288
- attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
28289
- startsAt: z43.string(),
28290
- endsAt: z43.string(),
28291
- capacity: z43.number().nullable(),
28292
- registeredCount: z43.number(),
28293
- availableSpots: z43.number().nullable(),
28294
- waitlistEnabled: z43.boolean(),
28585
+ requiresRegistration: z44.boolean(),
28586
+ deliveryMode: z44.enum(["in_person", "online", "hybrid"]),
28587
+ attendanceModes: z44.array(publicEventAttendanceModeAvailabilitySchema),
28588
+ startsAt: z44.string(),
28589
+ endsAt: z44.string(),
28590
+ capacity: z44.number().nullable(),
28591
+ registeredCount: z44.number(),
28592
+ availableSpots: z44.number().nullable(),
28593
+ waitlistEnabled: z44.boolean(),
28295
28594
  venue: eventVenueSchema.nullable(),
28296
28595
  eventCategory: eventCategorySchema.nullable(),
28297
- teamMembers: z43.array(publicTeamMemberSummarySchema).optional(),
28298
- status: z43.enum(["active", "draft", "archived"]).optional(),
28299
- timeZone: z43.string(),
28596
+ teamMembers: z44.array(publicTeamMemberSummarySchema).optional(),
28597
+ status: z44.enum(["active", "draft", "archived"]).optional(),
28598
+ timeZone: z44.string(),
28300
28599
  pricing: publicEventPricingSchema,
28301
28600
  paymentTerms: blockBookingPaymentTermsSchema,
28302
28601
  accessRestriction: accessRestrictionSchema,
28303
- allowedCategoryIds: z43.array(z43.string()),
28304
- requireGuestDetails: z43.boolean().optional(),
28305
- acceptsPasses: z43.boolean().optional(),
28306
- acceptsMemberships: z43.boolean().optional(),
28307
- course: z43.object({
28308
- id: z43.string(),
28602
+ allowedCategoryIds: z44.array(z44.string()),
28603
+ requireGuestDetails: z44.boolean().optional(),
28604
+ acceptsPasses: z44.boolean().optional(),
28605
+ acceptsMemberships: z44.boolean().optional(),
28606
+ course: z44.object({
28607
+ id: z44.string(),
28309
28608
  pricing: coursePricingSchema.optional(),
28310
- priceCents: z43.number().nullable(),
28311
- currency: z43.string(),
28312
- enrollmentOpen: z43.boolean()
28609
+ priceCents: z44.number().nullable(),
28610
+ currency: z44.string(),
28611
+ enrollmentOpen: z44.boolean()
28313
28612
  }).nullable().optional()
28314
28613
  });
28315
- var publicEventsArraySchema = z43.array(publicEventSchema);
28614
+ var publicEventsArraySchema = z44.array(publicEventSchema);
28316
28615
 
28317
28616
  // ../blocks/src/system/blocks/events/shared/fields.ts
28318
28617
  var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
@@ -28515,52 +28814,80 @@ function normalizeEventStaffMemberId(value) {
28515
28814
  return trimmed ? trimmed : null;
28516
28815
  }
28517
28816
 
28817
+ // ../blocks/src/system/blocks/events/shared/layout.ts
28818
+ var recoverEmptyHeadingWhenActive = {
28819
+ kind: "recover-empty-when-active",
28820
+ placeholder: "Add heading"
28821
+ };
28822
+ var recoverEmptyDescriptionWhenActive = {
28823
+ kind: "recover-empty-when-active",
28824
+ placeholder: "Add description"
28825
+ };
28826
+ function eventSectionHeaderLayoutNodes() {
28827
+ return [
28828
+ text(
28829
+ { as: "h2" },
28830
+ bind("content.heading"),
28831
+ when("content.heading", {
28832
+ authoringPresence: recoverEmptyHeadingWhenActive
28833
+ })
28834
+ ),
28835
+ richText(
28836
+ { className: "rb-prose rb-max-w-none" },
28837
+ bind("content.description"),
28838
+ when("content.description", {
28839
+ authoringPresence: recoverEmptyDescriptionWhenActive
28840
+ })
28841
+ )
28842
+ ];
28843
+ }
28844
+
28518
28845
  // ../blocks/src/system/blocks/shop.shared.ts
28519
- import { z as z44 } from "zod";
28520
- var publicPassProductSchema = z44.object({
28521
- id: z44.string(),
28522
- productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
28523
- name: z44.string(),
28524
- description: z44.string().nullable(),
28525
- price: z44.number(),
28526
- currency: z44.string(),
28527
- creditsTotal: z44.number(),
28528
- pricePerCredit: z44.number(),
28529
- validDays: z44.number().nullable(),
28530
- eligibleCategoryIds: z44.array(z44.string()),
28531
- eligibleCategoryNames: z44.array(z44.string())
28532
- });
28533
- var publicPassProductCollectionSchema = z44.object({
28534
- passes: z44.array(publicPassProductSchema)
28535
- });
28536
- var publicMembershipProductSchema = z44.object({
28537
- id: z44.string(),
28538
- name: z44.string(),
28539
- description: z44.string().nullable(),
28540
- price: z44.number(),
28541
- currency: z44.string(),
28542
- billingInterval: z44.enum(["month", "year"]),
28543
- eligibleCategoryIds: z44.array(z44.string()),
28544
- eligibleCategoryNames: z44.array(z44.string())
28846
+ import { z as z45 } from "zod";
28847
+ var publicPassProductSchema = z45.object({
28848
+ id: z45.string(),
28849
+ productUseCase: z45.enum(["event_pass", "appointment_package"]).default("event_pass"),
28850
+ name: z45.string(),
28851
+ description: z45.string().nullable(),
28852
+ price: z45.number(),
28853
+ currency: z45.string(),
28854
+ creditsTotal: z45.number(),
28855
+ pricePerCredit: z45.number(),
28856
+ validDays: z45.number().nullable(),
28857
+ eligibleCategoryIds: z45.array(z45.string()),
28858
+ eligibleCategoryNames: z45.array(z45.string())
28859
+ });
28860
+ var publicPassProductCollectionSchema = z45.object({
28861
+ passes: z45.array(publicPassProductSchema)
28862
+ });
28863
+ var publicMembershipProductSchema = z45.object({
28864
+ id: z45.string(),
28865
+ name: z45.string(),
28866
+ description: z45.string().nullable(),
28867
+ price: z45.number(),
28868
+ currency: z45.string(),
28869
+ billingInterval: z45.enum(["month", "year"]),
28870
+ eligibleCategoryIds: z45.array(z45.string()),
28871
+ eligibleCategoryNames: z45.array(z45.string())
28545
28872
  });
28546
- var publicMembershipProductCollectionSchema = z44.object({
28547
- memberships: z44.array(publicMembershipProductSchema)
28873
+ var publicMembershipProductCollectionSchema = z45.object({
28874
+ memberships: z45.array(publicMembershipProductSchema)
28548
28875
  });
28549
28876
 
28550
28877
  // ../blocks/src/system/blocks/event-registration.shared.ts
28551
- import { z as z45 } from "zod";
28552
- var occurrenceContextSchema = z45.object({
28553
- id: z45.string(),
28554
- seriesId: z45.string(),
28555
- startsAt: z45.string(),
28556
- endsAt: z45.string(),
28557
- timeZone: z45.string(),
28558
- capacityOverride: z45.number().nullable().optional(),
28559
- overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
28878
+ import { z as z46 } from "zod";
28879
+ var occurrenceContextSchema = z46.object({
28880
+ id: z46.string(),
28881
+ seriesId: z46.string(),
28882
+ startsAt: z46.string(),
28883
+ endsAt: z46.string(),
28884
+ timeZone: z46.string(),
28885
+ capacityOverride: z46.number().nullable().optional(),
28886
+ overrides: z46.record(z46.string(), z46.unknown()).nullable().optional()
28560
28887
  }).nullable();
28561
28888
 
28562
28889
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28563
- import { z as z47 } from "zod";
28890
+ import { z as z48 } from "zod";
28564
28891
 
28565
28892
  // ../blocks/src/system/constants/events.ts
28566
28893
  var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
@@ -28747,17 +29074,17 @@ function readAmount(value) {
28747
29074
  }
28748
29075
 
28749
29076
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
28750
- import { z as z46 } from "zod";
28751
- var previewStageSchema = z46.enum(["preview", "published"]);
28752
- var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
28753
- var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
28754
- var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
28755
- var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
28756
- var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
28757
- var columnOptionSchema = z46.enum(["2", "3", "4"]);
28758
- var weekStartSchema = z46.enum(["sunday", "monday"]);
28759
- var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
28760
- var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
29077
+ import { z as z47 } from "zod";
29078
+ var previewStageSchema = z47.enum(["preview", "published"]);
29079
+ var registrationButtonVariantSchema = z47.enum(["primary", "secondary", "outline"]);
29080
+ var eventButtonVariantSchema = z47.enum(["primary", "secondary", "outline", "link"]);
29081
+ var eventLayoutSchema = z47.enum(eventCalendarListLayoutValues);
29082
+ var eventCalendarDisplayModeSchema = z47.enum(eventCalendarDisplayModeValues);
29083
+ var eventCalendarDefaultViewSchema = z47.enum(eventCalendarDefaultViewValues);
29084
+ var columnOptionSchema = z47.enum(["2", "3", "4"]);
29085
+ var weekStartSchema = z47.enum(["sunday", "monday"]);
29086
+ var filterAutoShowSchema = z47.enum(["auto", "always", "never"]);
29087
+ var calendarTabViewsSchema = z47.enum(["both", "month", "week"]);
28761
29088
 
28762
29089
  // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
28763
29090
  function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
@@ -28817,72 +29144,72 @@ function toRegistrationEvents(events) {
28817
29144
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28818
29145
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
28819
29146
  var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
28820
- var contentEntrySchema = z47.object({
28821
- id: z47.string(),
28822
- slug: z47.string(),
28823
- contentTypeSlug: z47.string()
29147
+ var contentEntrySchema = z48.object({
29148
+ id: z48.string(),
29149
+ slug: z48.string(),
29150
+ contentTypeSlug: z48.string()
28824
29151
  });
28825
- var eventRegistrationPublicEventSchema = z47.preprocess(
29152
+ var eventRegistrationPublicEventSchema = z48.preprocess(
28826
29153
  normalizeEventRegistrationEventInput,
28827
29154
  publicEventSchema
28828
29155
  );
28829
- var eventRegistrationSourceSchema = z47.object({
28830
- siteId: z47.string().optional(),
28831
- apiBaseUrl: z47.string().optional(),
28832
- portalToken: z47.string().nullable().optional(),
28833
- previewToken: z47.string().nullable().optional(),
29156
+ var eventRegistrationSourceSchema = z48.object({
29157
+ siteId: z48.string().optional(),
29158
+ apiBaseUrl: z48.string().optional(),
29159
+ portalToken: z48.string().nullable().optional(),
29160
+ previewToken: z48.string().nullable().optional(),
28834
29161
  occurrenceContext: occurrenceContextSchema.optional(),
28835
29162
  contentEntry: contentEntrySchema.nullable().optional(),
28836
- events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28837
- className: z47.string().nullable().optional(),
28838
- buttonText: z47.string().nullable().optional(),
28839
- maxTickets: z47.string().nullable().optional(),
28840
- showVenue: z47.boolean().optional(),
28841
- showCapacity: z47.boolean().optional(),
28842
- successMessage: z47.string().optional(),
28843
- waitlistMessage: z47.string().optional(),
29163
+ events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
29164
+ className: z48.string().nullable().optional(),
29165
+ buttonText: z48.string().nullable().optional(),
29166
+ maxTickets: z48.string().nullable().optional(),
29167
+ showVenue: z48.boolean().optional(),
29168
+ showCapacity: z48.boolean().optional(),
29169
+ successMessage: z48.string().optional(),
29170
+ waitlistMessage: z48.string().optional(),
28844
29171
  buttonVariant: registrationButtonVariantSchema.optional(),
28845
- overlayEnabled: z47.boolean().optional(),
28846
- spamProtectionEnabled: z47.boolean().optional(),
29172
+ overlayEnabled: z48.boolean().optional(),
29173
+ spamProtectionEnabled: z48.boolean().optional(),
28847
29174
  stage: previewStageSchema.optional(),
28848
- supportEmail: z47.string().optional(),
29175
+ supportEmail: z48.string().optional(),
28849
29176
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28850
29177
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28851
29178
  });
28852
- var eventRegistrationDisplaySchema = z47.object({
28853
- kind: z47.literal("event-registration"),
28854
- state: z47.literal("generic-shell"),
28855
- className: z47.string().nullable(),
28856
- titleText: z47.string(),
28857
- bodyText: z47.string(),
28858
- stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28859
- summaryButtonText: z47.string()
29179
+ var eventRegistrationDisplaySchema = z48.object({
29180
+ kind: z48.literal("event-registration"),
29181
+ state: z48.literal("generic-shell"),
29182
+ className: z48.string().nullable(),
29183
+ titleText: z48.string(),
29184
+ bodyText: z48.string(),
29185
+ stepLabels: z48.array(z48.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
29186
+ summaryButtonText: z48.string()
28860
29187
  });
28861
- var eventRegistrationHydrationSchema = z47.object({
29188
+ var eventRegistrationHydrationSchema = z48.object({
28862
29189
  occurrenceContext: occurrenceContextSchema.optional(),
28863
29190
  contentEntry: contentEntrySchema.nullable().optional(),
28864
- events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28865
- maxTickets: z47.string().optional(),
28866
- showVenue: z47.boolean().optional(),
28867
- showCapacity: z47.boolean().optional(),
28868
- successMessage: z47.string().optional(),
28869
- waitlistMessage: z47.string().optional(),
29191
+ events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
29192
+ maxTickets: z48.string().optional(),
29193
+ showVenue: z48.boolean().optional(),
29194
+ showCapacity: z48.boolean().optional(),
29195
+ successMessage: z48.string().optional(),
29196
+ waitlistMessage: z48.string().optional(),
28870
29197
  buttonVariant: registrationButtonVariantSchema.optional(),
28871
- overlayEnabled: z47.boolean().optional(),
28872
- spamProtectionEnabled: z47.boolean().optional(),
28873
- supportEmail: z47.string().optional(),
29198
+ overlayEnabled: z48.boolean().optional(),
29199
+ spamProtectionEnabled: z48.boolean().optional(),
29200
+ supportEmail: z48.string().optional(),
28874
29201
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28875
29202
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28876
29203
  });
28877
- var eventRegistrationRenderSchema = z47.object({
29204
+ var eventRegistrationRenderSchema = z48.object({
28878
29205
  display: eventRegistrationDisplaySchema,
28879
29206
  hydration: eventRegistrationHydrationSchema
28880
29207
  });
28881
- var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
28882
- siteId: z47.string().optional(),
28883
- apiBaseUrl: z47.string().optional(),
28884
- portalToken: z47.string().nullable().optional(),
28885
- previewToken: z47.string().nullable().optional(),
29208
+ var eventRegistrationIslandMetaCodec = createZodCodec(z48.object({
29209
+ siteId: z48.string().optional(),
29210
+ apiBaseUrl: z48.string().optional(),
29211
+ portalToken: z48.string().nullable().optional(),
29212
+ previewToken: z48.string().nullable().optional(),
28886
29213
  stage: previewStageSchema.optional()
28887
29214
  }));
28888
29215
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -29233,73 +29560,73 @@ var eventRegistrationBlockDefinition = {
29233
29560
  };
29234
29561
 
29235
29562
  // ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
29236
- import { z as z48 } from "zod";
29237
- var contentEntrySchema2 = z48.object({
29238
- id: z48.string(),
29239
- slug: z48.string(),
29240
- contentTypeSlug: z48.string()
29241
- });
29242
- var courseEntrySubrouteContextSchema = z48.union([
29243
- z48.object({
29244
- kind: z48.literal("course-run"),
29245
- run: z48.object({
29246
- courseId: z48.string(),
29247
- seriesId: z48.string(),
29248
- runSlug: z48.string(),
29249
- runName: z48.string().nullable()
29563
+ import { z as z49 } from "zod";
29564
+ var contentEntrySchema2 = z49.object({
29565
+ id: z49.string(),
29566
+ slug: z49.string(),
29567
+ contentTypeSlug: z49.string()
29568
+ });
29569
+ var courseEntrySubrouteContextSchema = z49.union([
29570
+ z49.object({
29571
+ kind: z49.literal("course-run"),
29572
+ run: z49.object({
29573
+ courseId: z49.string(),
29574
+ seriesId: z49.string(),
29575
+ runSlug: z49.string(),
29576
+ runName: z49.string().nullable()
29250
29577
  })
29251
29578
  }),
29252
- z48.object({
29253
- kind: z48.literal("event-occurrence"),
29579
+ z49.object({
29580
+ kind: z49.literal("event-occurrence"),
29254
29581
  occurrence: occurrenceContextSchema
29255
29582
  })
29256
29583
  ]);
29257
- var courseRegistrationSourceSchema = z48.object({
29258
- siteId: z48.string().optional(),
29259
- apiBaseUrl: z48.string().optional(),
29260
- portalToken: z48.string().nullable().optional(),
29584
+ var courseRegistrationSourceSchema = z49.object({
29585
+ siteId: z49.string().optional(),
29586
+ apiBaseUrl: z49.string().optional(),
29587
+ portalToken: z49.string().nullable().optional(),
29261
29588
  contentEntry: contentEntrySchema2.nullable().optional(),
29262
29589
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
29263
- courses: z48.array(publicCourseSchema).nullable().optional(),
29264
- className: z48.string().nullable().optional(),
29265
- showSessions: z48.boolean().optional(),
29266
- showPrice: z48.boolean().optional(),
29267
- showCapacity: z48.boolean().optional(),
29268
- showVenue: z48.boolean().optional(),
29269
- successMessage: z48.string().optional(),
29270
- waitlistMessage: z48.string().optional(),
29271
- membershipMessage: z48.string().optional(),
29272
- buttonText: z48.string().nullable().optional(),
29590
+ courses: z49.array(publicCourseSchema).nullable().optional(),
29591
+ className: z49.string().nullable().optional(),
29592
+ showSessions: z49.boolean().optional(),
29593
+ showPrice: z49.boolean().optional(),
29594
+ showCapacity: z49.boolean().optional(),
29595
+ showVenue: z49.boolean().optional(),
29596
+ successMessage: z49.string().optional(),
29597
+ waitlistMessage: z49.string().optional(),
29598
+ membershipMessage: z49.string().optional(),
29599
+ buttonText: z49.string().nullable().optional(),
29273
29600
  buttonVariant: registrationButtonVariantSchema.optional(),
29274
29601
  stage: previewStageSchema.optional()
29275
29602
  });
29276
- var courseRegistrationDisplaySchema = z48.object({
29277
- kind: z48.literal("course-registration"),
29278
- state: z48.literal("shell"),
29279
- className: z48.string().nullable(),
29280
- summaryButtonText: z48.string()
29603
+ var courseRegistrationDisplaySchema = z49.object({
29604
+ kind: z49.literal("course-registration"),
29605
+ state: z49.literal("shell"),
29606
+ className: z49.string().nullable(),
29607
+ summaryButtonText: z49.string()
29281
29608
  });
29282
- var courseRegistrationHydrationSchema = z48.object({
29609
+ var courseRegistrationHydrationSchema = z49.object({
29283
29610
  contentEntry: contentEntrySchema2.nullable().optional(),
29284
29611
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
29285
- courses: z48.array(publicCourseSchema).nullable().optional(),
29286
- showSessions: z48.boolean().optional(),
29287
- showPrice: z48.boolean().optional(),
29288
- showCapacity: z48.boolean().optional(),
29289
- showVenue: z48.boolean().optional(),
29290
- successMessage: z48.string().optional(),
29291
- waitlistMessage: z48.string().optional(),
29292
- membershipMessage: z48.string().optional(),
29612
+ courses: z49.array(publicCourseSchema).nullable().optional(),
29613
+ showSessions: z49.boolean().optional(),
29614
+ showPrice: z49.boolean().optional(),
29615
+ showCapacity: z49.boolean().optional(),
29616
+ showVenue: z49.boolean().optional(),
29617
+ successMessage: z49.string().optional(),
29618
+ waitlistMessage: z49.string().optional(),
29619
+ membershipMessage: z49.string().optional(),
29293
29620
  buttonVariant: registrationButtonVariantSchema.optional()
29294
29621
  });
29295
- var courseRegistrationRenderSchema = z48.object({
29622
+ var courseRegistrationRenderSchema = z49.object({
29296
29623
  display: courseRegistrationDisplaySchema,
29297
29624
  hydration: courseRegistrationHydrationSchema
29298
29625
  });
29299
- var courseRegistrationIslandMetaCodec = createZodCodec(z48.object({
29300
- siteId: z48.string().optional(),
29301
- apiBaseUrl: z48.string().optional(),
29302
- portalToken: z48.string().nullable().optional(),
29626
+ var courseRegistrationIslandMetaCodec = createZodCodec(z49.object({
29627
+ siteId: z49.string().optional(),
29628
+ apiBaseUrl: z49.string().optional(),
29629
+ portalToken: z49.string().nullable().optional(),
29303
29630
  stage: previewStageSchema.optional()
29304
29631
  }));
29305
29632
  var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -29559,7 +29886,7 @@ var courseRegistrationBlockDefinition = {
29559
29886
  };
29560
29887
 
29561
29888
  // ../blocks/src/system/blocks/event-details.ts
29562
- import { z as z49 } from "zod";
29889
+ import { z as z50 } from "zod";
29563
29890
  var eventDetailsManifest = createBlockManifest({
29564
29891
  id: "block.event-details",
29565
29892
  version: "1.0.0",
@@ -29691,37 +30018,37 @@ var eventDetailsManifest = createBlockManifest({
29691
30018
  })
29692
30019
  ]
29693
30020
  });
29694
- var occurrenceContextSchema2 = z49.object({
29695
- id: z49.string(),
29696
- seriesId: z49.string(),
29697
- startsAt: z49.string(),
29698
- endsAt: z49.string(),
29699
- timeZone: z49.string(),
29700
- capacityOverride: z49.number().nullable().optional(),
29701
- overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
30021
+ var occurrenceContextSchema2 = z50.object({
30022
+ id: z50.string(),
30023
+ seriesId: z50.string(),
30024
+ startsAt: z50.string(),
30025
+ endsAt: z50.string(),
30026
+ timeZone: z50.string(),
30027
+ capacityOverride: z50.number().nullable().optional(),
30028
+ overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
29702
30029
  }).nullable();
29703
- var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
29704
- id: z49.string(),
29705
- publicLabel: z49.string(),
29706
- description: z49.string().nullable(),
29707
- minTicketsRequired: z49.number().nullable()
30030
+ var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
30031
+ id: z50.string(),
30032
+ publicLabel: z50.string(),
30033
+ description: z50.string().nullable(),
30034
+ minTicketsRequired: z50.number().nullable()
29708
30035
  });
29709
- var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
30036
+ var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
29710
30037
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29711
- discountType: z49.literal("percent"),
29712
- discountPercent: z49.number(),
29713
- discountAmountCents: z49.null()
30038
+ discountType: z50.literal("percent"),
30039
+ discountPercent: z50.number(),
30040
+ discountAmountCents: z50.null()
29714
30041
  }),
29715
30042
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29716
- discountType: z49.literal("fixed"),
29717
- discountPercent: z49.null(),
29718
- discountAmountCents: z49.number()
30043
+ discountType: z50.literal("fixed"),
30044
+ discountPercent: z50.null(),
30045
+ discountAmountCents: z50.number()
29719
30046
  })
29720
30047
  ]);
29721
30048
  var eventDetailsBlockDefinition = {
29722
30049
  manifest: eventDetailsManifest,
29723
30050
  dataSchemas: {
29724
- eventDetailsData: z49.object({
30051
+ eventDetailsData: z50.object({
29725
30052
  events: publicEventsArraySchema,
29726
30053
  sitePasses: publicPassProductCollectionSchema,
29727
30054
  siteMemberships: publicMembershipProductCollectionSchema,
@@ -29976,18 +30303,7 @@ var eventSpotlightFields = [
29976
30303
  var eventSpotlightLayout = [
29977
30304
  styledSection({
29978
30305
  children: sectionContainer([
29979
- // Optional heading
29980
- text(
29981
- { as: "h2" },
29982
- bind("content.heading"),
29983
- when("content.heading")
29984
- ),
29985
- // Optional description
29986
- richText(
29987
- { className: "rb-prose rb-max-w-none" },
29988
- bind("content.description"),
29989
- when("content.description")
29990
- ),
30306
+ ...eventSectionHeaderLayoutNodes(),
29991
30307
  // Event spotlight component
29992
30308
  el("event-spotlight", {
29993
30309
  events: { $bind: { from: "data.events" } },
@@ -30048,7 +30364,7 @@ var eventSpotlightBlockDefinition = {
30048
30364
  };
30049
30365
 
30050
30366
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
30051
- import { z as z51 } from "zod";
30367
+ import { z as z52 } from "zod";
30052
30368
 
30053
30369
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
30054
30370
  var COLUMN_CLASSES = {
@@ -30156,16 +30472,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
30156
30472
  }
30157
30473
 
30158
30474
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
30159
- import { z as z50 } from "zod";
30475
+ import { z as z51 } from "zod";
30160
30476
  var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
30161
- var eventPageSizeSchema = z50.union([
30162
- z50.literal(3),
30163
- z50.literal(6),
30164
- z50.literal(10),
30165
- z50.literal(12),
30166
- z50.literal(20),
30167
- z50.literal(24),
30168
- z50.literal(30)
30477
+ var eventPageSizeSchema = z51.union([
30478
+ z51.literal(3),
30479
+ z51.literal(6),
30480
+ z51.literal(10),
30481
+ z51.literal(12),
30482
+ z51.literal(20),
30483
+ z51.literal(24),
30484
+ z51.literal(30)
30169
30485
  ]);
30170
30486
  var eventPageSizeSet = new Set(eventPageSizeValues);
30171
30487
  function resolveEventPageSize(value, fallback = 12) {
@@ -30175,15 +30491,15 @@ function resolveEventPageSize(value, fallback = 12) {
30175
30491
  function resolveEventCalendarListPageSize(input) {
30176
30492
  return resolveEventPageSize(input.eventsPerPage);
30177
30493
  }
30178
- var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
30179
- z50.object({
30180
- kind: z50.literal("loadMore"),
30181
- label: z50.string()
30494
+ var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
30495
+ z51.object({
30496
+ kind: z51.literal("loadMore"),
30497
+ label: z51.string()
30182
30498
  }),
30183
- z50.object({
30184
- kind: z50.literal("seeAllLink"),
30185
- label: z50.string(),
30186
- href: z50.string()
30499
+ z51.object({
30500
+ kind: z51.literal("seeAllLink"),
30501
+ label: z51.string(),
30502
+ href: z51.string()
30187
30503
  })
30188
30504
  ]);
30189
30505
  function resolveEventListPaginationAction(input) {
@@ -30196,89 +30512,89 @@ function resolveEventListPaginationAction(input) {
30196
30512
  }
30197
30513
 
30198
30514
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
30199
- var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
30200
- var eventCardVariantInputSchema = z51.union([
30515
+ var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
30516
+ var eventCardVariantInputSchema = z52.union([
30201
30517
  cardVariantRoleSchema,
30202
30518
  legacyEventCardVariantSchema
30203
30519
  ]);
30204
- var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
30205
- var eventBlockKindSchema = z51.enum(eventBlockKindValues);
30206
- var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
30207
- var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
30208
- var eventListingSourceSchema = z51.object({
30209
- events: z51.array(publicEventSchema).nullable().optional(),
30210
- siteId: z51.string(),
30211
- apiBaseUrl: z51.string().optional(),
30520
+ var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
30521
+ var eventBlockKindSchema = z52.enum(eventBlockKindValues);
30522
+ var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
30523
+ var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
30524
+ var eventListingSourceSchema = z52.object({
30525
+ events: z52.array(publicEventSchema).nullable().optional(),
30526
+ siteId: z52.string(),
30527
+ apiBaseUrl: z52.string().optional(),
30212
30528
  stage: previewStageSchema.optional(),
30213
30529
  layout: eventLayoutSchema.optional(),
30214
30530
  columns: columnOptionSchema.optional(),
30215
- eventsPerPage: z51.string().optional(),
30216
- paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
30217
- seeAllUrl: z51.string().optional(),
30218
- loadMoreText: z51.string().optional(),
30531
+ eventsPerPage: z52.string().optional(),
30532
+ paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30533
+ seeAllUrl: z52.string().optional(),
30534
+ loadMoreText: z52.string().optional(),
30219
30535
  cardVariant: eventCardVariantInputSchema.optional(),
30220
30536
  buttonVariant: eventButtonVariantSchema.optional(),
30221
- buttonText: z51.string().optional(),
30222
- showVenue: z51.boolean().optional(),
30223
- showMap: z51.boolean().optional(),
30224
- showCapacity: z51.boolean().optional(),
30225
- emptyMessage: z51.string().optional(),
30226
- className: z51.string().optional(),
30227
- showFilters: z51.boolean().nullable().optional(),
30537
+ buttonText: z52.string().optional(),
30538
+ showVenue: z52.boolean().optional(),
30539
+ showMap: z52.boolean().optional(),
30540
+ showCapacity: z52.boolean().optional(),
30541
+ emptyMessage: z52.string().optional(),
30542
+ className: z52.string().optional(),
30543
+ showFilters: z52.boolean().nullable().optional(),
30228
30544
  showCategoryFilter: filterAutoShowSchema.optional(),
30229
- showVenueFilter: z51.boolean().nullable().optional(),
30230
- showStaffFilter: z51.boolean().nullable().optional(),
30545
+ showVenueFilter: z52.boolean().nullable().optional(),
30546
+ showStaffFilter: z52.boolean().nullable().optional(),
30231
30547
  eventKind: eventBlockKindSchema.nullable().optional(),
30232
30548
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
30233
- filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
30549
+ filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30234
30550
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
30235
- filterCategoryIds: z51.string().nullable().optional(),
30236
- filterStaffMemberId: z51.string().nullable().optional(),
30237
- filterVenueId: z51.string().nullable().optional()
30551
+ filterCategoryIds: z52.string().nullable().optional(),
30552
+ filterStaffMemberId: z52.string().nullable().optional(),
30553
+ filterVenueId: z52.string().nullable().optional()
30238
30554
  });
30239
- var eventListingDisplaySchema = z51.object({
30240
- kind: z51.literal("event-listing"),
30241
- state: z51.enum(["loading", "empty", "ready"]),
30555
+ var eventListingDisplaySchema = z52.object({
30556
+ kind: z52.literal("event-listing"),
30557
+ state: z52.enum(["loading", "empty", "ready"]),
30242
30558
  listLayout: eventLayoutSchema,
30243
- className: z51.string().nullable(),
30244
- emptyMessage: z51.string(),
30245
- loadingMessage: z51.string(),
30246
- containerClass: z51.string(),
30559
+ className: z52.string().nullable(),
30560
+ emptyMessage: z52.string(),
30561
+ loadingMessage: z52.string(),
30562
+ containerClass: z52.string(),
30247
30563
  cardVariant: cardVariantRoleSchema,
30248
30564
  buttonVariant: eventButtonVariantSchema,
30249
- buttonText: z51.string(),
30250
- showVenue: z51.boolean(),
30251
- showMap: z51.boolean(),
30252
- showCapacity: z51.boolean(),
30565
+ buttonText: z52.string(),
30566
+ showVenue: z52.boolean(),
30567
+ showMap: z52.boolean(),
30568
+ showCapacity: z52.boolean(),
30253
30569
  orientation: cardOrientationSchema,
30254
- events: z51.array(publicEventSchema)
30570
+ events: z52.array(publicEventSchema)
30255
30571
  });
30256
- var eventListingHydrationSchema = z51.object({
30257
- siteId: z51.string(),
30572
+ var eventListingHydrationSchema = z52.object({
30573
+ siteId: z52.string(),
30258
30574
  stage: previewStageSchema.optional(),
30259
30575
  eventsPerPage: eventPageSizeSchema,
30260
30576
  paginationAction: eventListPaginationActionSchema,
30261
- showFilters: z51.boolean(),
30577
+ showFilters: z52.boolean(),
30262
30578
  showCategoryFilter: filterAutoShowSchema,
30263
- showVenueFilter: z51.boolean(),
30264
- showStaffFilter: z51.boolean(),
30579
+ showVenueFilter: z52.boolean(),
30580
+ showStaffFilter: z52.boolean(),
30265
30581
  eventKind: eventBlockKindSchema,
30266
30582
  eventSurface: eventSurfaceScopeSchema,
30267
- filterEventPresets: z51.string().nullable(),
30583
+ filterEventPresets: z52.string().nullable(),
30268
30584
  scheduleScope: eventScheduleScopeSchema2,
30269
- filterCategoryIds: z51.string().nullable().optional(),
30270
- filterStaffMemberId: z51.string().nullable().optional(),
30271
- filterVenueId: z51.string().nullable().optional(),
30272
- fetchInitialEventsOnMount: z51.boolean()
30585
+ filterCategoryIds: z52.string().nullable().optional(),
30586
+ filterStaffMemberId: z52.string().nullable().optional(),
30587
+ filterVenueId: z52.string().nullable().optional(),
30588
+ fetchInitialEventsOnMount: z52.boolean()
30273
30589
  });
30274
- var eventListingRenderSchema = z51.object({
30590
+ var eventListingRenderSchema = z52.object({
30275
30591
  display: eventListingDisplaySchema,
30276
30592
  hydration: eventListingHydrationSchema
30277
30593
  });
30278
30594
  var eventListingIslandMetaCodec = createZodCodec(
30279
- z51.object({
30280
- siteId: z51.string(),
30281
- apiBaseUrl: z51.string().optional(),
30595
+ z52.object({
30596
+ siteId: z52.string(),
30597
+ apiBaseUrl: z52.string().optional(),
30282
30598
  stage: previewStageSchema.optional()
30283
30599
  })
30284
30600
  );
@@ -30518,18 +30834,7 @@ var eventListingAdditionalFields = [
30518
30834
  var eventListingLayout = [
30519
30835
  styledSection({
30520
30836
  children: sectionContainer([
30521
- // Optional heading
30522
- text(
30523
- { as: "h2" },
30524
- bind("content.heading"),
30525
- when("content.heading")
30526
- ),
30527
- // Optional description
30528
- richText(
30529
- { className: "rb-prose rb-max-w-none" },
30530
- bind("content.description"),
30531
- when("content.description")
30532
- ),
30837
+ ...eventSectionHeaderLayoutNodes(),
30533
30838
  // Event listing component with pagination
30534
30839
  el("event-listing", withApiBindings({
30535
30840
  events: { $bind: { from: "data.events" } },
@@ -30645,15 +30950,15 @@ var eventListingBlockDefinition = {
30645
30950
  };
30646
30951
 
30647
30952
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
30648
- import { z as z52 } from "zod";
30649
- var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
30650
- var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
30651
- var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
30652
- var eventCalendarSourceSchema = z52.object(
30953
+ import { z as z53 } from "zod";
30954
+ var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
30955
+ var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
30956
+ var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
30957
+ var eventCalendarSourceSchema = z53.object(
30653
30958
  {
30654
- events: z52.array(publicEventSchema).nullable().optional(),
30655
- siteId: z52.string(),
30656
- apiBaseUrl: z52.string().optional(),
30959
+ events: z53.array(publicEventSchema).nullable().optional(),
30960
+ siteId: z53.string(),
30961
+ apiBaseUrl: z53.string().optional(),
30657
30962
  stage: previewStageSchema.optional(),
30658
30963
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
30659
30964
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -30661,38 +30966,38 @@ var eventCalendarSourceSchema = z52.object(
30661
30966
  listColumns: columnOptionSchema.optional(),
30662
30967
  layout: eventLayoutSchema.optional(),
30663
30968
  columns: columnOptionSchema.optional(),
30664
- eventsPerPage: z52.string().optional(),
30665
- paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30666
- seeAllUrl: z52.string().optional(),
30667
- loadMoreText: z52.string().optional(),
30969
+ eventsPerPage: z53.string().optional(),
30970
+ paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
30971
+ seeAllUrl: z53.string().optional(),
30972
+ loadMoreText: z53.string().optional(),
30668
30973
  startOfWeek: weekStartSchema.optional(),
30669
30974
  calendarTabViews: calendarTabViewsSchema.optional(),
30670
30975
  defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
30671
- showFilters: z52.boolean().nullable().optional(),
30976
+ showFilters: z53.boolean().nullable().optional(),
30672
30977
  showCategoryFilter: filterAutoShowSchema.optional(),
30673
- showVenueFilter: z52.boolean().nullable().optional(),
30674
- showStaffFilter: z52.boolean().nullable().optional(),
30978
+ showVenueFilter: z53.boolean().nullable().optional(),
30979
+ showStaffFilter: z53.boolean().nullable().optional(),
30675
30980
  kind: eventBlockKindSchema2.nullable().optional(),
30676
30981
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
30677
- filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30982
+ filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30678
30983
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
30679
- filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30680
- filterStaffMemberId: z52.string().nullable().optional(),
30681
- filterVenueId: z52.string().nullable().optional(),
30984
+ filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30985
+ filterStaffMemberId: z53.string().nullable().optional(),
30986
+ filterVenueId: z53.string().nullable().optional(),
30682
30987
  buttonVariant: eventButtonVariantSchema.optional(),
30683
- buttonText: z52.string().optional(),
30684
- showVenue: z52.boolean().nullable().optional(),
30685
- showMap: z52.boolean().nullable().optional(),
30686
- showCapacity: z52.boolean().nullable().optional(),
30687
- emptyMessage: z52.string().optional(),
30688
- className: z52.string().optional()
30988
+ buttonText: z53.string().optional(),
30989
+ showVenue: z53.boolean().nullable().optional(),
30990
+ showMap: z53.boolean().nullable().optional(),
30991
+ showCapacity: z53.boolean().nullable().optional(),
30992
+ emptyMessage: z53.string().optional(),
30993
+ className: z53.string().optional()
30689
30994
  }
30690
30995
  );
30691
- var eventCalendarDisplaySchema = z52.object({
30692
- kind: z52.literal("event-calendar"),
30996
+ var eventCalendarDisplaySchema = z53.object({
30997
+ kind: z53.literal("event-calendar"),
30693
30998
  displayMode: eventCalendarDisplayModeSchema,
30694
- className: z52.string().nullable(),
30695
- events: z52.array(publicEventSchema),
30999
+ className: z53.string().nullable(),
31000
+ events: z53.array(publicEventSchema),
30696
31001
  listLayout: eventLayoutSchema,
30697
31002
  listColumns: columnOptionSchema,
30698
31003
  eventsPerPage: eventPageSizeSchema,
@@ -30700,41 +31005,41 @@ var eventCalendarDisplaySchema = z52.object({
30700
31005
  startOfWeek: weekStartSchema,
30701
31006
  calendarTabViews: calendarTabViewsSchema,
30702
31007
  defaultCalendarView: eventCalendarDefaultViewSchema,
30703
- showFilters: z52.boolean(),
31008
+ showFilters: z53.boolean(),
30704
31009
  showCategoryFilter: filterAutoShowSchema,
30705
- showVenueFilter: z52.boolean(),
30706
- showStaffFilter: z52.boolean(),
31010
+ showVenueFilter: z53.boolean(),
31011
+ showStaffFilter: z53.boolean(),
30707
31012
  eventKind: eventBlockKindSchema2,
30708
31013
  eventSurface: eventSurfaceScopeSchema2,
30709
- filterEventPresets: z52.string().nullable(),
31014
+ filterEventPresets: z53.string().nullable(),
30710
31015
  scheduleScope: eventScheduleScopeSchema3,
30711
- filterCategoryIds: z52.string().nullable(),
30712
- filterStaffMemberId: z52.string().nullable(),
30713
- filterVenueId: z52.string().nullable(),
31016
+ filterCategoryIds: z53.string().nullable(),
31017
+ filterStaffMemberId: z53.string().nullable(),
31018
+ filterVenueId: z53.string().nullable(),
30714
31019
  buttonVariant: eventButtonVariantSchema,
30715
- buttonText: z52.string(),
30716
- showVenue: z52.boolean(),
30717
- showMap: z52.boolean(),
30718
- showCapacity: z52.boolean(),
30719
- emptyMessage: z52.string()
30720
- });
30721
- var eventCalendarHydrationSchema = z52.object({
30722
- siteId: z52.string(),
31020
+ buttonText: z53.string(),
31021
+ showVenue: z53.boolean(),
31022
+ showMap: z53.boolean(),
31023
+ showCapacity: z53.boolean(),
31024
+ emptyMessage: z53.string()
31025
+ });
31026
+ var eventCalendarHydrationSchema = z53.object({
31027
+ siteId: z53.string(),
30723
31028
  stage: previewStageSchema.optional(),
30724
- prefetchedEvents: z52.boolean(),
31029
+ prefetchedEvents: z53.boolean(),
30725
31030
  eventKind: eventBlockKindSchema2,
30726
31031
  eventSurface: eventSurfaceScopeSchema2,
30727
- filterEventPresets: z52.string().nullable(),
31032
+ filterEventPresets: z53.string().nullable(),
30728
31033
  scheduleScope: eventScheduleScopeSchema3
30729
31034
  });
30730
- var eventCalendarRenderSchema = z52.object({
31035
+ var eventCalendarRenderSchema = z53.object({
30731
31036
  display: eventCalendarDisplaySchema,
30732
31037
  hydration: eventCalendarHydrationSchema
30733
31038
  });
30734
31039
  var eventCalendarIslandMetaCodec = createZodCodec(
30735
- z52.object({
30736
- siteId: z52.string(),
30737
- apiBaseUrl: z52.string().optional(),
31040
+ z53.object({
31041
+ siteId: z53.string(),
31042
+ apiBaseUrl: z53.string().optional(),
30738
31043
  stage: previewStageSchema.optional()
30739
31044
  })
30740
31045
  );
@@ -30854,14 +31159,7 @@ var eventCalendarLayout = [
30854
31159
  styledSection({
30855
31160
  children: sectionContainer(
30856
31161
  [
30857
- // Optional heading
30858
- text({ as: "h2" }, bind("content.heading"), when("content.heading")),
30859
- // Optional description
30860
- richText(
30861
- { className: "rb-prose rb-max-w-none" },
30862
- bind("content.description"),
30863
- when("content.description")
30864
- ),
31162
+ ...eventSectionHeaderLayoutNodes(),
30865
31163
  // Event calendar component (handles all display modes)
30866
31164
  el(
30867
31165
  "event-calendar",
@@ -31506,7 +31804,7 @@ var eventCalendarBlockDefinition = {
31506
31804
  };
31507
31805
 
31508
31806
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31509
- import { z as z53 } from "zod";
31807
+ import { z as z54 } from "zod";
31510
31808
 
31511
31809
  // ../blocks/src/system/blocks/offerings-preview/model.ts
31512
31810
  var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
@@ -31598,13 +31896,13 @@ function isRecord6(value) {
31598
31896
  }
31599
31897
 
31600
31898
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31601
- var publicRouteCandidatesSchema = z53.object({
31602
- routes: z53.array(z53.object({
31603
- entityId: z53.string(),
31604
- path: z53.string(),
31605
- title: z53.string(),
31606
- kind: z53.enum(["page", "content"]),
31607
- contentTypeKey: z53.string().nullable().optional()
31899
+ var publicRouteCandidatesSchema = z54.object({
31900
+ routes: z54.array(z54.object({
31901
+ entityId: z54.string(),
31902
+ path: z54.string(),
31903
+ title: z54.string(),
31904
+ kind: z54.enum(["page", "content"]),
31905
+ contentTypeKey: z54.string().nullable().optional()
31608
31906
  }))
31609
31907
  });
31610
31908
  var groupOverrideFields = [
@@ -32002,7 +32300,7 @@ function isRecord7(value) {
32002
32300
  }
32003
32301
 
32004
32302
  // ../blocks/src/system/blocks/embed.ts
32005
- import { z as z54 } from "zod";
32303
+ import { z as z55 } from "zod";
32006
32304
  var embedFields = [
32007
32305
  // Section heading
32008
32306
  parseFieldDefinition({
@@ -32233,18 +32531,18 @@ var embedManifest = createBlockManifest({
32233
32531
  spacing: "lg"
32234
32532
  }
32235
32533
  });
32236
- var embedEntrySchema = z54.object({
32237
- id: z54.string(),
32238
- identifier: z54.string(),
32239
- title: z54.string(),
32240
- slug: z54.string().nullable().optional(),
32241
- content: z54.record(z54.string(), z54.unknown()).optional(),
32242
- publishedAt: z54.string().nullable().optional()
32534
+ var embedEntrySchema = z55.object({
32535
+ id: z55.string(),
32536
+ identifier: z55.string(),
32537
+ title: z55.string(),
32538
+ slug: z55.string().nullable().optional(),
32539
+ content: z55.record(z55.string(), z55.unknown()).optional(),
32540
+ publishedAt: z55.string().nullable().optional()
32243
32541
  });
32244
32542
  var embedBlockDefinition = {
32245
32543
  manifest: embedManifest,
32246
32544
  dataSchemas: {
32247
- entries: z54.array(embedEntrySchema).optional()
32545
+ entries: z55.array(embedEntrySchema).optional()
32248
32546
  },
32249
32547
  dataLoaders: {
32250
32548
  entries: {
@@ -33428,49 +33726,49 @@ var fileDownloadBlockDefinition = {
33428
33726
  };
33429
33727
 
33430
33728
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33431
- import { z as z57 } from "zod";
33729
+ import { z as z58 } from "zod";
33432
33730
 
33433
33731
  // ../blocks/src/system/blocks/products/shared.ts
33434
- import { z as z55 } from "zod";
33435
- var publicProductVariantSchema = z55.object({
33436
- id: z55.string(),
33437
- title: z55.string(),
33438
- sku: z55.string().nullable(),
33439
- priceCents: z55.number(),
33440
- stockQuantity: z55.number().nullable(),
33441
- soldOut: z55.boolean()
33442
- });
33443
- var publicProductSchema = z55.object({
33444
- id: z55.string(),
33445
- contentEntryId: z55.string().nullable(),
33446
- title: z55.string(),
33447
- slug: z55.string(),
33448
- path: z55.string().nullable(),
33449
- status: z55.enum(["draft", "active"]),
33450
- priceCents: z55.number(),
33451
- currency: z55.string(),
33452
- productType: z55.enum(["physical", "digital"]),
33453
- requiresShipping: z55.boolean(),
33454
- hasVariants: z55.boolean(),
33455
- trackInventory: z55.boolean(),
33456
- soldOut: z55.boolean(),
33457
- category: z55.object({
33458
- id: z55.string(),
33459
- name: z55.string(),
33460
- slug: z55.string()
33732
+ import { z as z56 } from "zod";
33733
+ var publicProductVariantSchema = z56.object({
33734
+ id: z56.string(),
33735
+ title: z56.string(),
33736
+ sku: z56.string().nullable(),
33737
+ priceCents: z56.number(),
33738
+ stockQuantity: z56.number().nullable(),
33739
+ soldOut: z56.boolean()
33740
+ });
33741
+ var publicProductSchema = z56.object({
33742
+ id: z56.string(),
33743
+ contentEntryId: z56.string().nullable(),
33744
+ title: z56.string(),
33745
+ slug: z56.string(),
33746
+ path: z56.string().nullable(),
33747
+ status: z56.enum(["draft", "active"]),
33748
+ priceCents: z56.number(),
33749
+ currency: z56.string(),
33750
+ productType: z56.enum(["physical", "digital"]),
33751
+ requiresShipping: z56.boolean(),
33752
+ hasVariants: z56.boolean(),
33753
+ trackInventory: z56.boolean(),
33754
+ soldOut: z56.boolean(),
33755
+ category: z56.object({
33756
+ id: z56.string(),
33757
+ name: z56.string(),
33758
+ slug: z56.string()
33461
33759
  }).nullable(),
33462
- summary: z55.string().nullable(),
33463
- body: z55.unknown().nullable(),
33464
- gallery: z55.array(
33465
- z55.object({
33466
- url: z55.string(),
33467
- alt: z55.string().nullable()
33760
+ summary: z56.string().nullable(),
33761
+ body: z56.unknown().nullable(),
33762
+ gallery: z56.array(
33763
+ z56.object({
33764
+ url: z56.string(),
33765
+ alt: z56.string().nullable()
33468
33766
  })
33469
33767
  ),
33470
- variants: z55.array(publicProductVariantSchema)
33768
+ variants: z56.array(publicProductVariantSchema)
33471
33769
  });
33472
- var publicProductsResponseSchema = z55.object({
33473
- products: z55.array(publicProductSchema)
33770
+ var publicProductsResponseSchema = z56.object({
33771
+ products: z56.array(publicProductSchema)
33474
33772
  });
33475
33773
 
33476
33774
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -33534,27 +33832,27 @@ function deriveCreditProductLabels(products, options = {}) {
33534
33832
  }
33535
33833
 
33536
33834
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
33537
- import { z as z56 } from "zod";
33538
- var storedProductCartItemSchema = z56.object({
33539
- kind: z56.literal("product"),
33540
- productId: z56.string().min(1),
33541
- productCategoryId: z56.string().min(1).optional().nullable(),
33542
- variantId: z56.string().min(1).optional().nullable(),
33543
- title: z56.string().min(1),
33544
- variantTitle: z56.string().optional().nullable(),
33545
- quantity: z56.number().finite(),
33546
- unitPriceCents: z56.number().finite(),
33547
- currency: z56.string().min(1),
33548
- imageUrl: z56.string().optional().nullable(),
33549
- soldOut: z56.boolean().optional()
33550
- });
33551
- var storedPassCartItemSchema = z56.object({
33552
- kind: z56.literal("pass"),
33553
- passId: z56.string().min(1),
33554
- title: z56.string().min(1),
33555
- quantity: z56.number().finite().optional(),
33556
- unitPriceCents: z56.number().finite(),
33557
- currency: z56.string().min(1)
33835
+ import { z as z57 } from "zod";
33836
+ var storedProductCartItemSchema = z57.object({
33837
+ kind: z57.literal("product"),
33838
+ productId: z57.string().min(1),
33839
+ productCategoryId: z57.string().min(1).optional().nullable(),
33840
+ variantId: z57.string().min(1).optional().nullable(),
33841
+ title: z57.string().min(1),
33842
+ variantTitle: z57.string().optional().nullable(),
33843
+ quantity: z57.number().finite(),
33844
+ unitPriceCents: z57.number().finite(),
33845
+ currency: z57.string().min(1),
33846
+ imageUrl: z57.string().optional().nullable(),
33847
+ soldOut: z57.boolean().optional()
33848
+ });
33849
+ var storedPassCartItemSchema = z57.object({
33850
+ kind: z57.literal("pass"),
33851
+ passId: z57.string().min(1),
33852
+ title: z57.string().min(1),
33853
+ quantity: z57.number().finite().optional(),
33854
+ unitPriceCents: z57.number().finite(),
33855
+ currency: z57.string().min(1)
33558
33856
  });
33559
33857
  function deriveCommerceCheckoutState(state) {
33560
33858
  if (state.items.length === 0) {
@@ -33788,214 +34086,214 @@ function formatValidity(days) {
33788
34086
  }
33789
34087
 
33790
34088
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33791
- var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33792
- var contentEntrySchema3 = z57.object({
33793
- id: z57.string().nullable().optional(),
33794
- slug: z57.string().nullable().optional()
34089
+ var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
34090
+ var contentEntrySchema3 = z58.object({
34091
+ id: z58.string().nullable().optional(),
34092
+ slug: z58.string().nullable().optional()
33795
34093
  }).nullable();
33796
- var shopSourceSchema = z57.object({
33797
- className: z57.string().nullable().optional(),
34094
+ var shopSourceSchema = z58.object({
34095
+ className: z58.string().nullable().optional(),
33798
34096
  mode: shopModeSchema.optional(),
33799
- heading: z57.string().nullable().optional(),
33800
- productSlug: z57.string().nullable().optional(),
33801
- showPasses: z57.boolean().optional(),
33802
- showMemberships: z57.boolean().optional(),
33803
- layout: z57.enum(["grid", "list"]).optional(),
33804
- columns: z57.string().optional(),
33805
- showDescriptions: z57.boolean().optional(),
33806
- showSummary: z57.boolean().optional(),
33807
- showBody: z57.boolean().optional(),
33808
- showPrices: z57.boolean().optional(),
33809
- showValidityPeriod: z57.boolean().optional(),
33810
- showPricePerCredit: z57.boolean().nullable().optional(),
33811
- passesHeading: z57.string().optional(),
33812
- membershipsHeading: z57.string().optional(),
33813
- buyButtonText: z57.string().optional(),
33814
- addButtonText: z57.string().optional(),
33815
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
33816
- subscribeButtonText: z57.string().optional(),
33817
- emptyStateText: z57.string().optional(),
33818
- checkoutButtonText: z57.string().optional(),
33819
- clearButtonText: z57.string().optional(),
33820
- submitButtonText: z57.string().optional(),
34097
+ heading: z58.string().nullable().optional(),
34098
+ productSlug: z58.string().nullable().optional(),
34099
+ showPasses: z58.boolean().optional(),
34100
+ showMemberships: z58.boolean().optional(),
34101
+ layout: z58.enum(["grid", "list"]).optional(),
34102
+ columns: z58.string().optional(),
34103
+ showDescriptions: z58.boolean().optional(),
34104
+ showSummary: z58.boolean().optional(),
34105
+ showBody: z58.boolean().optional(),
34106
+ showPrices: z58.boolean().optional(),
34107
+ showValidityPeriod: z58.boolean().optional(),
34108
+ showPricePerCredit: z58.boolean().nullable().optional(),
34109
+ passesHeading: z58.string().optional(),
34110
+ membershipsHeading: z58.string().optional(),
34111
+ buyButtonText: z58.string().optional(),
34112
+ addButtonText: z58.string().optional(),
34113
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
34114
+ subscribeButtonText: z58.string().optional(),
34115
+ emptyStateText: z58.string().optional(),
34116
+ checkoutButtonText: z58.string().optional(),
34117
+ clearButtonText: z58.string().optional(),
34118
+ submitButtonText: z58.string().optional(),
33821
34119
  contentEntry: contentEntrySchema3.optional(),
33822
- passes: z57.array(publicPassProductSchema).nullable().optional(),
33823
- memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
33824
- products: z57.array(publicProductSchema).nullable().optional(),
33825
- siteId: z57.string().optional(),
33826
- apiBaseUrl: z57.string().optional(),
34120
+ passes: z58.array(publicPassProductSchema).nullable().optional(),
34121
+ memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
34122
+ products: z58.array(publicProductSchema).nullable().optional(),
34123
+ siteId: z58.string().optional(),
34124
+ apiBaseUrl: z58.string().optional(),
33827
34125
  stage: previewStageSchema.optional()
33828
34126
  });
33829
- var productVariantOptionDisplaySchema = z57.object({
33830
- id: z57.string(),
33831
- label: z57.string(),
33832
- soldOut: z57.boolean()
33833
- });
33834
- var productCardDisplaySchema = z57.object({
33835
- productId: z57.string(),
33836
- title: z57.string(),
33837
- path: z57.string().nullable(),
33838
- summary: z57.string().nullable(),
33839
- priceLabel: z57.string().nullable(),
33840
- image: z57.object({
33841
- url: z57.string(),
33842
- alt: z57.string().nullable()
34127
+ var productVariantOptionDisplaySchema = z58.object({
34128
+ id: z58.string(),
34129
+ label: z58.string(),
34130
+ soldOut: z58.boolean()
34131
+ });
34132
+ var productCardDisplaySchema = z58.object({
34133
+ productId: z58.string(),
34134
+ title: z58.string(),
34135
+ path: z58.string().nullable(),
34136
+ summary: z58.string().nullable(),
34137
+ priceLabel: z58.string().nullable(),
34138
+ image: z58.object({
34139
+ url: z58.string(),
34140
+ alt: z58.string().nullable()
33843
34141
  }).nullable(),
33844
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33845
- selectedVariantId: z57.string().nullable(),
33846
- selectionLabel: z57.string(),
33847
- actionLabel: z57.string(),
33848
- soldOut: z57.boolean()
33849
- });
33850
- var productListDisplaySchema = z57.object({
33851
- kind: z57.literal("product-list"),
33852
- state: z57.enum(["empty", "ready"]),
33853
- heading: z57.string().nullable(),
33854
- className: z57.string().nullable(),
33855
- layout: z57.enum(["grid", "list"]),
33856
- columns: z57.string(),
33857
- emptyMessage: z57.string(),
33858
- cards: z57.array(productCardDisplaySchema)
33859
- });
33860
- var productDetailDisplaySchema = z57.discriminatedUnion("state", [
33861
- z57.object({
33862
- kind: z57.literal("product-detail"),
33863
- state: z57.literal("empty"),
33864
- heading: z57.string().nullable(),
33865
- className: z57.string().nullable(),
33866
- emptyMessage: z57.string()
34142
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
34143
+ selectedVariantId: z58.string().nullable(),
34144
+ selectionLabel: z58.string(),
34145
+ actionLabel: z58.string(),
34146
+ soldOut: z58.boolean()
34147
+ });
34148
+ var productListDisplaySchema = z58.object({
34149
+ kind: z58.literal("product-list"),
34150
+ state: z58.enum(["empty", "ready"]),
34151
+ heading: z58.string().nullable(),
34152
+ className: z58.string().nullable(),
34153
+ layout: z58.enum(["grid", "list"]),
34154
+ columns: z58.string(),
34155
+ emptyMessage: z58.string(),
34156
+ cards: z58.array(productCardDisplaySchema)
34157
+ });
34158
+ var productDetailDisplaySchema = z58.discriminatedUnion("state", [
34159
+ z58.object({
34160
+ kind: z58.literal("product-detail"),
34161
+ state: z58.literal("empty"),
34162
+ heading: z58.string().nullable(),
34163
+ className: z58.string().nullable(),
34164
+ emptyMessage: z58.string()
33867
34165
  }),
33868
- z57.object({
33869
- kind: z57.literal("product-detail"),
33870
- state: z57.literal("ready"),
33871
- heading: z57.string().nullable(),
33872
- className: z57.string().nullable(),
33873
- title: z57.string(),
33874
- priceLabel: z57.string(),
33875
- summary: z57.string().nullable(),
33876
- categoryLabel: z57.string().nullable(),
33877
- gallery: z57.array(z57.object({
33878
- url: z57.string(),
33879
- alt: z57.string().nullable()
34166
+ z58.object({
34167
+ kind: z58.literal("product-detail"),
34168
+ state: z58.literal("ready"),
34169
+ heading: z58.string().nullable(),
34170
+ className: z58.string().nullable(),
34171
+ title: z58.string(),
34172
+ priceLabel: z58.string(),
34173
+ summary: z58.string().nullable(),
34174
+ categoryLabel: z58.string().nullable(),
34175
+ gallery: z58.array(z58.object({
34176
+ url: z58.string(),
34177
+ alt: z58.string().nullable()
33880
34178
  })),
33881
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33882
- selectedVariantId: z57.string().nullable(),
33883
- selectionLabel: z57.string(),
33884
- actionLabel: z57.string(),
33885
- soldOut: z57.boolean(),
33886
- body: z57.unknown().nullable()
34179
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
34180
+ selectedVariantId: z58.string().nullable(),
34181
+ selectionLabel: z58.string(),
34182
+ actionLabel: z58.string(),
34183
+ soldOut: z58.boolean(),
34184
+ body: z58.unknown().nullable()
33887
34185
  })
33888
34186
  ]);
33889
- var passCardDisplaySchema = z57.object({
33890
- id: z57.string(),
33891
- title: z57.string(),
33892
- description: z57.string().nullable(),
33893
- priceLabel: z57.string(),
33894
- creditsLabel: z57.string(),
33895
- perCreditLabel: z57.string().nullable(),
33896
- validityLabel: z57.string().nullable(),
33897
- actionLabel: z57.string()
33898
- });
33899
- var membershipCardDisplaySchema = z57.object({
33900
- id: z57.string(),
33901
- title: z57.string(),
33902
- description: z57.string().nullable(),
33903
- priceLabel: z57.string(),
33904
- intervalLabel: z57.string(),
33905
- actionLabel: z57.string()
33906
- });
33907
- var passesMembershipsDisplaySchema = z57.object({
33908
- kind: z57.literal("passes-memberships"),
33909
- state: z57.enum(["empty", "ready"]),
33910
- className: z57.string().nullable(),
33911
- layout: z57.enum(["grid", "list"]),
33912
- columns: z57.string(),
33913
- emptyMessage: z57.string(),
33914
- passesHeading: z57.string(),
33915
- membershipsHeading: z57.string(),
33916
- passes: z57.array(passCardDisplaySchema),
33917
- memberships: z57.array(membershipCardDisplaySchema)
33918
- });
33919
- var cartLineDisplaySchema = z57.object({
33920
- key: z57.string(),
33921
- title: z57.string(),
33922
- priceLabel: z57.string(),
33923
- quantity: z57.number(),
33924
- quantityEditable: z57.boolean()
33925
- });
33926
- var cartDisplaySchema = z57.object({
33927
- kind: z57.literal("cart"),
33928
- state: z57.enum(["empty", "ready"]),
33929
- heading: z57.string().nullable(),
33930
- className: z57.string().nullable(),
33931
- emptyMessage: z57.string(),
33932
- supportText: z57.string().nullable(),
33933
- items: z57.array(cartLineDisplaySchema),
33934
- subtotalLabel: z57.string().nullable(),
33935
- checkoutButtonText: z57.string(),
33936
- clearButtonText: z57.string()
33937
- });
33938
- var checkoutDisplaySchema = z57.object({
33939
- kind: z57.literal("checkout"),
33940
- state: z57.enum(["empty", "blocked", "ready"]),
33941
- heading: z57.string().nullable(),
33942
- className: z57.string().nullable(),
33943
- message: z57.string().nullable(),
33944
- submitButtonText: z57.string()
33945
- });
33946
- var passesMembershipsHydrationSchema = z57.object({
33947
- passes: z57.array(publicPassProductSchema),
33948
- memberships: z57.array(publicMembershipProductSchema),
33949
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
33950
- });
33951
- var productListHydrationSchema = z57.object({
33952
- products: z57.array(publicProductSchema),
33953
- showSummary: z57.boolean(),
33954
- showPrices: z57.boolean(),
33955
- addButtonText: z57.string()
33956
- });
33957
- var productDetailHydrationSchema = z57.object({
33958
- products: z57.array(publicProductSchema),
33959
- productId: z57.string().nullable(),
33960
- showSummary: z57.boolean(),
33961
- showBody: z57.boolean(),
33962
- addButtonText: z57.string()
33963
- });
33964
- var cartHydrationSchema = z57.object({
33965
- emptyStateText: z57.string(),
33966
- checkoutButtonText: z57.string(),
33967
- clearButtonText: z57.string()
33968
- });
33969
- var checkoutHydrationSchema = z57.object({
33970
- emptyStateText: z57.string(),
33971
- submitButtonText: z57.string()
33972
- });
33973
- var passesMembershipsRenderSchema = z57.object({
34187
+ var passCardDisplaySchema = z58.object({
34188
+ id: z58.string(),
34189
+ title: z58.string(),
34190
+ description: z58.string().nullable(),
34191
+ priceLabel: z58.string(),
34192
+ creditsLabel: z58.string(),
34193
+ perCreditLabel: z58.string().nullable(),
34194
+ validityLabel: z58.string().nullable(),
34195
+ actionLabel: z58.string()
34196
+ });
34197
+ var membershipCardDisplaySchema = z58.object({
34198
+ id: z58.string(),
34199
+ title: z58.string(),
34200
+ description: z58.string().nullable(),
34201
+ priceLabel: z58.string(),
34202
+ intervalLabel: z58.string(),
34203
+ actionLabel: z58.string()
34204
+ });
34205
+ var passesMembershipsDisplaySchema = z58.object({
34206
+ kind: z58.literal("passes-memberships"),
34207
+ state: z58.enum(["empty", "ready"]),
34208
+ className: z58.string().nullable(),
34209
+ layout: z58.enum(["grid", "list"]),
34210
+ columns: z58.string(),
34211
+ emptyMessage: z58.string(),
34212
+ passesHeading: z58.string(),
34213
+ membershipsHeading: z58.string(),
34214
+ passes: z58.array(passCardDisplaySchema),
34215
+ memberships: z58.array(membershipCardDisplaySchema)
34216
+ });
34217
+ var cartLineDisplaySchema = z58.object({
34218
+ key: z58.string(),
34219
+ title: z58.string(),
34220
+ priceLabel: z58.string(),
34221
+ quantity: z58.number(),
34222
+ quantityEditable: z58.boolean()
34223
+ });
34224
+ var cartDisplaySchema = z58.object({
34225
+ kind: z58.literal("cart"),
34226
+ state: z58.enum(["empty", "ready"]),
34227
+ heading: z58.string().nullable(),
34228
+ className: z58.string().nullable(),
34229
+ emptyMessage: z58.string(),
34230
+ supportText: z58.string().nullable(),
34231
+ items: z58.array(cartLineDisplaySchema),
34232
+ subtotalLabel: z58.string().nullable(),
34233
+ checkoutButtonText: z58.string(),
34234
+ clearButtonText: z58.string()
34235
+ });
34236
+ var checkoutDisplaySchema = z58.object({
34237
+ kind: z58.literal("checkout"),
34238
+ state: z58.enum(["empty", "blocked", "ready"]),
34239
+ heading: z58.string().nullable(),
34240
+ className: z58.string().nullable(),
34241
+ message: z58.string().nullable(),
34242
+ submitButtonText: z58.string()
34243
+ });
34244
+ var passesMembershipsHydrationSchema = z58.object({
34245
+ passes: z58.array(publicPassProductSchema),
34246
+ memberships: z58.array(publicMembershipProductSchema),
34247
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
34248
+ });
34249
+ var productListHydrationSchema = z58.object({
34250
+ products: z58.array(publicProductSchema),
34251
+ showSummary: z58.boolean(),
34252
+ showPrices: z58.boolean(),
34253
+ addButtonText: z58.string()
34254
+ });
34255
+ var productDetailHydrationSchema = z58.object({
34256
+ products: z58.array(publicProductSchema),
34257
+ productId: z58.string().nullable(),
34258
+ showSummary: z58.boolean(),
34259
+ showBody: z58.boolean(),
34260
+ addButtonText: z58.string()
34261
+ });
34262
+ var cartHydrationSchema = z58.object({
34263
+ emptyStateText: z58.string(),
34264
+ checkoutButtonText: z58.string(),
34265
+ clearButtonText: z58.string()
34266
+ });
34267
+ var checkoutHydrationSchema = z58.object({
34268
+ emptyStateText: z58.string(),
34269
+ submitButtonText: z58.string()
34270
+ });
34271
+ var passesMembershipsRenderSchema = z58.object({
33974
34272
  display: passesMembershipsDisplaySchema,
33975
34273
  hydration: passesMembershipsHydrationSchema
33976
34274
  });
33977
- var productListRenderSchema = z57.object({
34275
+ var productListRenderSchema = z58.object({
33978
34276
  display: productListDisplaySchema,
33979
34277
  hydration: productListHydrationSchema
33980
34278
  });
33981
- var productDetailRenderSchema = z57.object({
34279
+ var productDetailRenderSchema = z58.object({
33982
34280
  display: productDetailDisplaySchema,
33983
34281
  hydration: productDetailHydrationSchema
33984
34282
  });
33985
- var cartRenderSchema = z57.object({
34283
+ var cartRenderSchema = z58.object({
33986
34284
  display: cartDisplaySchema,
33987
34285
  hydration: cartHydrationSchema
33988
34286
  });
33989
- var checkoutRenderSchema = z57.object({
34287
+ var checkoutRenderSchema = z58.object({
33990
34288
  display: checkoutDisplaySchema,
33991
34289
  hydration: checkoutHydrationSchema
33992
34290
  });
33993
34291
  function resolveShowPricePerCredit(source) {
33994
34292
  return source.showPricePerCredit ?? true;
33995
34293
  }
33996
- var shopIslandMetaCodec = createZodCodec(z57.object({
33997
- siteId: z57.string().optional(),
33998
- apiBaseUrl: z57.string().optional(),
34294
+ var shopIslandMetaCodec = createZodCodec(z58.object({
34295
+ siteId: z58.string().optional(),
34296
+ apiBaseUrl: z58.string().optional(),
33999
34297
  stage: previewStageSchema.optional()
34000
34298
  }));
34001
34299
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -34398,7 +34696,7 @@ var shopBlockDefinition = {
34398
34696
  };
34399
34697
 
34400
34698
  // ../blocks/src/system/blocks/product-list.ts
34401
- import { z as z58 } from "zod";
34699
+ import { z as z59 } from "zod";
34402
34700
  var productListManifest = createBlockManifest({
34403
34701
  id: "block.product-list",
34404
34702
  version: "1.0.0",
@@ -34531,7 +34829,7 @@ var productListBlockDefinition = {
34531
34829
  }
34532
34830
  }
34533
34831
  };
34534
- var productListDataSchema = z58.object({
34832
+ var productListDataSchema = z59.object({
34535
34833
  products: publicProductsResponseSchema.optional()
34536
34834
  });
34537
34835
 
@@ -34792,72 +35090,72 @@ var checkoutBlockDefinition = {
34792
35090
  };
34793
35091
 
34794
35092
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
34795
- import { z as z59 } from "zod";
34796
- var publicGiftCardOfferSchema = z59.object({
34797
- id: z59.string(),
34798
- kind: z59.literal("gift_card"),
34799
- title: z59.string(),
34800
- description: z59.string().nullable(),
34801
- sortOrder: z59.number().int(),
34802
- giftCard: z59.object({
34803
- fixedDenominations: z59.array(z59.number().int().positive()),
34804
- customAmountEnabled: z59.boolean(),
34805
- customAmountMinCents: z59.number().int().positive(),
34806
- customAmountMaxCents: z59.number().int().positive()
35093
+ import { z as z60 } from "zod";
35094
+ var publicGiftCardOfferSchema = z60.object({
35095
+ id: z60.string(),
35096
+ kind: z60.literal("gift_card"),
35097
+ title: z60.string(),
35098
+ description: z60.string().nullable(),
35099
+ sortOrder: z60.number().int(),
35100
+ giftCard: z60.object({
35101
+ fixedDenominations: z60.array(z60.number().int().positive()),
35102
+ customAmountEnabled: z60.boolean(),
35103
+ customAmountMinCents: z60.number().int().positive(),
35104
+ customAmountMaxCents: z60.number().int().positive()
34807
35105
  }),
34808
- voucher: z59.null()
34809
- });
34810
- var publicVoucherOfferSchema = z59.object({
34811
- id: z59.string(),
34812
- kind: z59.literal("voucher"),
34813
- title: z59.string(),
34814
- description: z59.string().nullable(),
34815
- sortOrder: z59.number().int(),
34816
- giftCard: z59.null(),
34817
- voucher: z59.object({
34818
- purchaseAmountCents: z59.number().int().positive()
35106
+ voucher: z60.null()
35107
+ });
35108
+ var publicVoucherOfferSchema = z60.object({
35109
+ id: z60.string(),
35110
+ kind: z60.literal("voucher"),
35111
+ title: z60.string(),
35112
+ description: z60.string().nullable(),
35113
+ sortOrder: z60.number().int(),
35114
+ giftCard: z60.null(),
35115
+ voucher: z60.object({
35116
+ purchaseAmountCents: z60.number().int().positive()
34819
35117
  })
34820
35118
  });
34821
- var publicGiftingOffersResponseSchema = z59.object({
34822
- currency: z59.string(),
34823
- giftCards: z59.array(publicGiftCardOfferSchema),
34824
- vouchers: z59.array(publicVoucherOfferSchema)
35119
+ var publicGiftingOffersResponseSchema = z60.object({
35120
+ currency: z60.string(),
35121
+ giftCards: z60.array(publicGiftCardOfferSchema),
35122
+ vouchers: z60.array(publicVoucherOfferSchema)
34825
35123
  });
34826
- var giftingSourceSchema = z59.object({
34827
- siteId: z59.string().optional(),
34828
- apiBaseUrl: z59.string().optional(),
35124
+ var giftingSourceSchema = z60.object({
35125
+ siteId: z60.string().optional(),
35126
+ apiBaseUrl: z60.string().optional(),
34829
35127
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
34830
- className: z59.string().nullable().optional(),
34831
- heading: z59.string().nullable().optional(),
34832
- intro: z59.string().nullable().optional(),
34833
- giftCardsHeading: z59.string().nullable().optional(),
34834
- vouchersHeading: z59.string().nullable().optional(),
34835
- emptyStateText: z59.string().nullable().optional(),
34836
- checkoutButtonText: z59.string().nullable().optional(),
34837
- successMessage: z59.string().nullable().optional()
34838
- });
34839
- var giftingDisplaySchema = z59.object({
34840
- kind: z59.literal("gifting"),
34841
- state: z59.literal("ready"),
34842
- className: z59.string().nullable(),
34843
- heading: z59.string(),
34844
- intro: z59.string().nullable(),
34845
- giftCardsHeading: z59.string(),
34846
- vouchersHeading: z59.string(),
34847
- emptyStateText: z59.string()
34848
- });
34849
- var giftingHydrationSchema = z59.object({
35128
+ className: z60.string().nullable().optional(),
35129
+ heading: z60.string().nullable().optional(),
35130
+ intro: z60.string().nullable().optional(),
35131
+ giftCardsHeading: z60.string().nullable().optional(),
35132
+ vouchersHeading: z60.string().nullable().optional(),
35133
+ emptyStateText: z60.string().nullable().optional(),
35134
+ checkoutButtonText: z60.string().nullable().optional(),
35135
+ successMessage: z60.string().nullable().optional()
35136
+ });
35137
+ var giftingDisplaySchema = z60.object({
35138
+ kind: z60.literal("gifting"),
35139
+ state: z60.literal("ready"),
35140
+ className: z60.string().nullable(),
35141
+ heading: z60.string(),
35142
+ intro: z60.string().nullable(),
35143
+ giftCardsHeading: z60.string(),
35144
+ vouchersHeading: z60.string(),
35145
+ emptyStateText: z60.string()
35146
+ });
35147
+ var giftingHydrationSchema = z60.object({
34850
35148
  offers: publicGiftingOffersResponseSchema.nullable(),
34851
- checkoutButtonText: z59.string(),
34852
- successMessage: z59.string()
35149
+ checkoutButtonText: z60.string(),
35150
+ successMessage: z60.string()
34853
35151
  });
34854
- var giftingRenderSchema = z59.object({
35152
+ var giftingRenderSchema = z60.object({
34855
35153
  display: giftingDisplaySchema,
34856
35154
  hydration: giftingHydrationSchema
34857
35155
  });
34858
- var giftingIslandMetaCodec = createZodCodec(z59.object({
34859
- siteId: z59.string().optional(),
34860
- apiBaseUrl: z59.string().optional()
35156
+ var giftingIslandMetaCodec = createZodCodec(z60.object({
35157
+ siteId: z60.string().optional(),
35158
+ apiBaseUrl: z60.string().optional()
34861
35159
  }));
34862
35160
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
34863
35161
  "siteId",
@@ -35028,7 +35326,7 @@ var giftingBlockDefinition = {
35028
35326
  };
35029
35327
 
35030
35328
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
35031
- import { z as z60 } from "zod";
35329
+ import { z as z61 } from "zod";
35032
35330
 
35033
35331
  // ../blocks/src/system/blocks/newsletter-signup-destination.ts
35034
35332
  function parseNewsletterSignupBlockId(value) {
@@ -35135,65 +35433,65 @@ function withOptionalPhone(fields3, includePhone) {
35135
35433
  }
35136
35434
 
35137
35435
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
35138
- var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
35139
- var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
35140
- var newsletterFieldSchema = z60.object({
35141
- id: z60.string(),
35142
- type: z60.enum(["email", "text"]),
35143
- label: z60.string(),
35144
- required: z60.boolean(),
35145
- placeholder: z60.string().optional()
35146
- });
35147
- var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
35148
- var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
35149
- var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
35150
- z60.object({
35151
- tag: z60.literal("block_ref"),
35436
+ var newsletterPresetSchema = z61.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
35437
+ var newsletterDestinationProviderSchema = z61.enum(["riverbank", "mailchimp"]);
35438
+ var newsletterFieldSchema = z61.object({
35439
+ id: z61.string(),
35440
+ type: z61.enum(["email", "text"]),
35441
+ label: z61.string(),
35442
+ required: z61.boolean(),
35443
+ placeholder: z61.string().optional()
35444
+ });
35445
+ var newsletterSignupBlockIdSchema = z61.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
35446
+ var signedNewsletterDestinationRefSchema = z61.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
35447
+ var newsletterPublicDestinationRefSchema = z61.discriminatedUnion("tag", [
35448
+ z61.object({
35449
+ tag: z61.literal("block_ref"),
35152
35450
  blockId: newsletterSignupBlockIdSchema
35153
35451
  }),
35154
- z60.object({
35155
- tag: z60.literal("signed_destination_ref"),
35452
+ z61.object({
35453
+ tag: z61.literal("signed_destination_ref"),
35156
35454
  token: signedNewsletterDestinationRefSchema
35157
35455
  })
35158
35456
  ]);
35159
- var newsletterSourceSchema = z60.object({
35160
- blockId: z60.string().nullable().optional(),
35161
- siteId: z60.string().optional(),
35162
- apiBaseUrl: z60.string().optional(),
35163
- listId: z60.string().nullable().optional(),
35457
+ var newsletterSourceSchema = z61.object({
35458
+ blockId: z61.string().nullable().optional(),
35459
+ siteId: z61.string().optional(),
35460
+ apiBaseUrl: z61.string().optional(),
35461
+ listId: z61.string().nullable().optional(),
35164
35462
  destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
35165
35463
  preset: newsletterPresetSchema.optional(),
35166
- includePhone: z60.boolean().optional(),
35167
- buttonLabel: z60.string().nullable().optional(),
35168
- successMessage: z60.string().nullable().optional(),
35169
- privacyNote: z60.string().nullable().optional(),
35170
- tags: z60.string().nullable().optional(),
35171
- spamProtectionEnabled: z60.boolean().optional(),
35172
- className: z60.string().nullable().optional()
35173
- });
35174
- var newsletterDisplaySchema = z60.object({
35175
- kind: z60.literal("newsletter-form"),
35176
- className: z60.string().nullable(),
35177
- buttonLabel: z60.string(),
35178
- successMessage: z60.string().nullable(),
35179
- privacyNote: z60.string().nullable(),
35180
- fields: z60.array(newsletterFieldSchema)
35181
- });
35182
- var newsletterHydrationSchema = z60.object({
35464
+ includePhone: z61.boolean().optional(),
35465
+ buttonLabel: z61.string().nullable().optional(),
35466
+ successMessage: z61.string().nullable().optional(),
35467
+ privacyNote: z61.string().nullable().optional(),
35468
+ tags: z61.string().nullable().optional(),
35469
+ spamProtectionEnabled: z61.boolean().optional(),
35470
+ className: z61.string().nullable().optional()
35471
+ });
35472
+ var newsletterDisplaySchema = z61.object({
35473
+ kind: z61.literal("newsletter-form"),
35474
+ className: z61.string().nullable(),
35475
+ buttonLabel: z61.string(),
35476
+ successMessage: z61.string().nullable(),
35477
+ privacyNote: z61.string().nullable(),
35478
+ fields: z61.array(newsletterFieldSchema)
35479
+ });
35480
+ var newsletterHydrationSchema = z61.object({
35183
35481
  destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
35184
- listId: z60.string().nullable().optional(),
35482
+ listId: z61.string().nullable().optional(),
35185
35483
  preset: newsletterPresetSchema,
35186
- includePhone: z60.boolean(),
35187
- tags: z60.string().nullable().optional(),
35188
- spamProtectionEnabled: z60.boolean().optional()
35484
+ includePhone: z61.boolean(),
35485
+ tags: z61.string().nullable().optional(),
35486
+ spamProtectionEnabled: z61.boolean().optional()
35189
35487
  });
35190
- var newsletterRenderSchema = z60.object({
35488
+ var newsletterRenderSchema = z61.object({
35191
35489
  display: newsletterDisplaySchema,
35192
35490
  hydration: newsletterHydrationSchema
35193
35491
  });
35194
- var newsletterIslandMetaCodec = createZodCodec(z60.object({
35195
- siteId: z60.string().optional(),
35196
- apiBaseUrl: z60.string().optional()
35492
+ var newsletterIslandMetaCodec = createZodCodec(z61.object({
35493
+ siteId: z61.string().optional(),
35494
+ apiBaseUrl: z61.string().optional()
35197
35495
  }));
35198
35496
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
35199
35497
  function buildNewsletterDisplay(source) {
@@ -35332,23 +35630,23 @@ var newsletterSignupBlockDefinition = {
35332
35630
  };
35333
35631
 
35334
35632
  // ../blocks/src/system/blocks/team-members.ts
35335
- import { z as z61 } from "zod";
35633
+ import { z as z62 } from "zod";
35336
35634
  var ITEM_NAME2 = "member";
35337
35635
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
35338
35636
  message: "Team member photos must be image media"
35339
35637
  }).nullable();
35340
- var teamMemberDataSchema = z61.object({
35341
- _type: z61.literal("teamMember"),
35342
- id: z61.string(),
35343
- name: z61.string(),
35344
- role: z61.string().nullable(),
35345
- roleLabel: z61.string().nullable(),
35346
- bio: z61.string().nullable(),
35347
- summary: z61.string().nullable(),
35638
+ var teamMemberDataSchema = z62.object({
35639
+ _type: z62.literal("teamMember"),
35640
+ id: z62.string(),
35641
+ name: z62.string(),
35642
+ role: z62.string().nullable(),
35643
+ roleLabel: z62.string().nullable(),
35644
+ bio: z62.string().nullable(),
35645
+ summary: z62.string().nullable(),
35348
35646
  photo: teamMemberPhotoSchema,
35349
- profilePath: z61.string().nullable()
35647
+ profilePath: z62.string().nullable()
35350
35648
  });
35351
- var teamMembersDataSchema = z61.array(teamMemberDataSchema);
35649
+ var teamMembersDataSchema = z62.array(teamMemberDataSchema);
35352
35650
  var dynamicSourceWhen = { equals: "site_staff" };
35353
35651
  var manualSourceWhen = { equals: "site_staff", not: true };
35354
35652
  var headingNode = text(
@@ -36454,6 +36752,10 @@ var systemBlockDefinitionsRaw = [
36454
36752
  flow: conversionFlow,
36455
36753
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
36456
36754
  })),
36755
+ withDesignCapability("block.weekly-slot-availability", weeklySlotAvailabilityBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
36756
+ flow: offeringsFlow,
36757
+ layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
36758
+ })),
36457
36759
  withDesignCapability("block.event-registration", eventRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
36458
36760
  flow: conversionFlow,
36459
36761
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
@@ -37634,6 +37936,34 @@ ${root} {
37634
37936
  /* Order summary */
37635
37937
  --er-summary-bg: rgba(var(--tb-primary), 0.1);
37636
37938
  --er-summary-border: rgb(var(--tb-border));
37939
+
37940
+ /* Shared registration-surface mappings (issue 1174).
37941
+ Route the shared --rb-reg-* contract through this block's documented
37942
+ Tier 3 vars so existing --er-* overrides keep working unchanged. */
37943
+ --rb-reg-radius: var(--er-radius);
37944
+ --rb-reg-border: var(--er-border);
37945
+ --rb-reg-border-hover: var(--er-border-hover);
37946
+ --rb-reg-border-selected: var(--er-border-selected);
37947
+ --rb-reg-bg-selected: var(--er-payment-bg-selected);
37948
+ --rb-reg-option-bg: var(--er-control-bg);
37949
+ --rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
37950
+ --rb-reg-surface-bg: rgb(var(--tb-surface));
37951
+ --rb-reg-on-surface: var(--er-on-surface);
37952
+ --rb-reg-on-surface-muted: var(--er-on-surface-muted);
37953
+ --rb-reg-on-surface-subtle: var(--er-on-surface-subtle);
37954
+ --rb-reg-on-surface-faint: var(--er-on-surface-faint);
37955
+ --rb-reg-check-bg: var(--er-check-bg);
37956
+ --rb-reg-check-text: var(--er-check-text);
37957
+ --rb-reg-step-active: var(--er-step-active);
37958
+ --rb-reg-step-completed: var(--er-step-completed);
37959
+ --rb-reg-step-inactive: var(--er-step-inactive);
37960
+ --rb-reg-step-text: var(--er-step-text);
37961
+ --rb-reg-step-text-active: var(--er-step-text-active);
37962
+ --rb-reg-step-connector: var(--er-step-connector);
37963
+ --rb-reg-summary-bg: var(--er-surface-muted);
37964
+ --rb-reg-summary-border: var(--er-border);
37965
+ --rb-reg-focus-ring: var(--er-focus-ring);
37966
+ --rb-reg-shell-line: var(--er-shell-line);
37637
37967
  }
37638
37968
  `;
37639
37969
  }
@@ -37766,25 +38096,40 @@ ${root} {
37766
38096
  --ab-info-bg: rgba(var(--tb-info), 0.1);
37767
38097
  --ab-info-text: rgb(var(--tb-info));
37768
38098
 
37769
- /* Loading/muted states */
38099
+ /* Muted summary state */
37770
38100
  --ab-muted-bg: rgba(var(--tb-text), 0.05);
37771
- --ab-muted-text: rgba(var(--tb-text), 0.6);
37772
- --ab-spinner-color: rgb(var(--tb-primary));
37773
38101
 
37774
- /* Form elements */
37775
- --ab-input-border: rgb(var(--tb-border));
38102
+ /* Focus ring used by shared registration-surface controls */
37776
38103
  --ab-input-focus-ring: rgba(var(--tb-primary), 0.3);
37777
38104
 
37778
- /* Buttons */
37779
- --ab-btn-primary-bg: rgb(var(--tb-primary));
37780
- --ab-btn-primary-text: rgb(var(--tb-background));
37781
- --ab-btn-primary-hover: rgba(var(--tb-primary), 0.9);
37782
- --ab-btn-secondary-border: rgb(var(--tb-border));
37783
- --ab-btn-secondary-hover: rgba(var(--tb-text), 0.05);
37784
-
37785
- /* Text opacity levels */
37786
- --ab-text-muted-opacity: 0.6;
37787
- --ab-text-faint-opacity: 0.4;
38105
+ /* Shared registration-surface mappings (issue 1174).
38106
+ Route the shared --rb-reg-* contract through this block's Tier 3 vars
38107
+ (palette tokens where no --ab-* var exists) so --ab-* overrides keep
38108
+ working as the block adopts the shared classes. */
38109
+ --rb-reg-radius: var(--ab-card-radius, var(--rb-block-radius));
38110
+ --rb-reg-border: var(--ab-card-border);
38111
+ --rb-reg-border-hover: var(--ab-card-border-hover);
38112
+ --rb-reg-border-selected: var(--ab-card-border-selected);
38113
+ --rb-reg-bg-selected: var(--ab-card-bg-selected);
38114
+ --rb-reg-option-bg: transparent;
38115
+ --rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
38116
+ --rb-reg-surface-bg: rgb(var(--tb-surface));
38117
+ --rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
38118
+ --rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
38119
+ --rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
38120
+ --rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
38121
+ --rb-reg-check-bg: var(--ab-check-bg);
38122
+ --rb-reg-check-text: var(--ab-check-text);
38123
+ --rb-reg-step-active: rgb(var(--tb-primary));
38124
+ --rb-reg-step-completed: rgb(var(--tb-success));
38125
+ --rb-reg-step-inactive: rgb(var(--tb-mutedText));
38126
+ --rb-reg-step-text: rgb(255 255 255);
38127
+ --rb-reg-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
38128
+ --rb-reg-step-connector: rgba(var(--tb-border), 0.5);
38129
+ --rb-reg-summary-bg: var(--ab-muted-bg);
38130
+ --rb-reg-summary-border: var(--ab-card-border);
38131
+ --rb-reg-focus-ring: var(--ab-input-focus-ring);
38132
+ --rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
37788
38133
  }
37789
38134
  `;
37790
38135
  }
@@ -38075,6 +38420,35 @@ ${root} {
38075
38420
  /* Summary */
38076
38421
  --cr-summary-bg: rgba(var(--tb-primary), 0.1);
38077
38422
  --cr-summary-border: rgb(var(--tb-border));
38423
+
38424
+ /* Shared registration-surface mappings (issue 1174).
38425
+ Route the shared --rb-reg-* contract through this block's Tier 3 vars
38426
+ (palette tokens where no --cr-* var exists) so existing --cr-* overrides
38427
+ keep working unchanged. */
38428
+ --rb-reg-radius: var(--rb-block-radius);
38429
+ --rb-reg-border: var(--cr-border);
38430
+ --rb-reg-border-hover: var(--cr-border-hover);
38431
+ --rb-reg-border-selected: var(--cr-border-selected);
38432
+ --rb-reg-bg-selected: var(--cr-payment-bg-selected);
38433
+ --rb-reg-option-bg: rgb(var(--tb-background));
38434
+ --rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
38435
+ --rb-reg-surface-bg: rgb(var(--tb-surface));
38436
+ --rb-reg-on-surface: var(--cr-on-surface);
38437
+ --rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
38438
+ --rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
38439
+ --rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
38440
+ --rb-reg-check-bg: var(--cr-check-bg);
38441
+ --rb-reg-check-text: var(--cr-check-text);
38442
+ --rb-reg-step-active: var(--cr-step-active);
38443
+ --rb-reg-step-completed: var(--cr-step-completed);
38444
+ --rb-reg-step-inactive: var(--cr-step-inactive);
38445
+ --rb-reg-step-text: var(--cr-step-text);
38446
+ --rb-reg-step-text-active: var(--cr-step-text-active);
38447
+ --rb-reg-step-connector: var(--cr-step-connector);
38448
+ --rb-reg-summary-bg: var(--cr-summary-bg);
38449
+ --rb-reg-summary-border: var(--cr-summary-border);
38450
+ --rb-reg-focus-ring: var(--cr-focus-ring);
38451
+ --rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
38078
38452
  }
38079
38453
  `;
38080
38454
  }
@@ -38137,34 +38511,34 @@ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
38137
38511
  var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
38138
38512
 
38139
38513
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
38140
- import { z as z62 } from "zod";
38141
- var themeBridgeConfigSchema = z62.object({
38142
- tokens: z62.record(z62.string(), z62.string()),
38143
- typography: z62.object({
38144
- headingFamily: z62.string().optional(),
38145
- bodyFamily: z62.string().optional(),
38146
- headingWeight: z62.number().optional(),
38147
- bodyWeight: z62.number().optional()
38514
+ import { z as z63 } from "zod";
38515
+ var themeBridgeConfigSchema = z63.object({
38516
+ tokens: z63.record(z63.string(), z63.string()),
38517
+ typography: z63.object({
38518
+ headingFamily: z63.string().optional(),
38519
+ bodyFamily: z63.string().optional(),
38520
+ headingWeight: z63.number().optional(),
38521
+ bodyWeight: z63.number().optional()
38148
38522
  }).optional(),
38149
- spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
38150
- corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
38151
- shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
38152
- components: z62.object({
38153
- buttons: z62.union([
38154
- z62.boolean(),
38155
- z62.object({
38156
- variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
38523
+ spacing: z63.enum(["comfortable", "standard", "dense"]).optional(),
38524
+ corners: z63.enum(["square", "soft", "rounded", "pill"]).optional(),
38525
+ shadows: z63.enum(["none", "low", "medium", "high"]).optional(),
38526
+ components: z63.object({
38527
+ buttons: z63.union([
38528
+ z63.boolean(),
38529
+ z63.object({
38530
+ variants: z63.array(z63.enum(["primary", "secondary", "outline", "ghost"])).optional()
38157
38531
  })
38158
38532
  ]).optional(),
38159
- cards: z62.union([
38160
- z62.boolean(),
38161
- z62.object({
38162
- variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
38533
+ cards: z63.union([
38534
+ z63.boolean(),
38535
+ z63.object({
38536
+ variants: z63.array(z63.enum(["default", "elevated", "outlined"])).optional()
38163
38537
  })
38164
38538
  ]).optional(),
38165
- inputs: z62.boolean().optional()
38539
+ inputs: z63.boolean().optional()
38166
38540
  }).optional(),
38167
- overrides: z62.record(z62.string(), z62.string()).optional()
38541
+ overrides: z63.record(z63.string(), z63.string()).optional()
38168
38542
  }).passthrough();
38169
38543
 
38170
38544
  // ../theme-core/src/siteChrome.tsx
@@ -38382,14 +38756,21 @@ function coercePayload(payload) {
38382
38756
 
38383
38757
  // ../blocks/src/system/data/prefetchBlockData.ts
38384
38758
  async function prefetchBlockData(page, context, options) {
38385
- const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders } = options;
38759
+ const {
38760
+ apiClient,
38761
+ isValidEndpoint,
38762
+ onError,
38763
+ getCustomBlockLoaders,
38764
+ getBlockDefinition: getBlockDefinition2 = getBlockDefinition,
38765
+ resolveParamsBindings: resolveParamsBindings2 = resolveParamsBindings
38766
+ } = options;
38386
38767
  const results = {};
38387
38768
  const tasks = [];
38388
38769
  for (const block of page.blocks) {
38389
38770
  const blockId = block.id;
38390
38771
  if (!blockId) continue;
38391
38772
  let loaders;
38392
- const def = getBlockDefinition(block.kind);
38773
+ const def = getBlockDefinition2(block.kind);
38393
38774
  if (def) {
38394
38775
  loaders = normalizeDataLoaders(def);
38395
38776
  } else if (getCustomBlockLoaders) {
@@ -38412,14 +38793,14 @@ async function prefetchBlockData(page, context, options) {
38412
38793
  continue;
38413
38794
  }
38414
38795
  if (typeof loader.when !== "undefined") {
38415
- const resolvedWhen = resolveParamsBindings(loader.when, vm, {
38796
+ const resolvedWhen = resolveParamsBindings2(loader.when, vm, {
38416
38797
  blockKind: block.kind
38417
38798
  });
38418
38799
  if (resolvedWhen !== true) {
38419
38800
  continue;
38420
38801
  }
38421
38802
  }
38422
- const rawParams = resolveParamsBindings(loader.params, vm, {
38803
+ const rawParams = resolveParamsBindings2(loader.params, vm, {
38423
38804
  blockKind: block.kind
38424
38805
  });
38425
38806
  const params = normalizeParams(rawParams);
@@ -38462,7 +38843,8 @@ var SUPPORTED_LOADER_ENDPOINTS = [
38462
38843
  "listPublicPasses",
38463
38844
  "listPublicMemberships",
38464
38845
  "getPublicFormById",
38465
- "getPublicBookingServices"
38846
+ "getPublicBookingServices",
38847
+ "getPublicWeeklySlotAvailability"
38466
38848
  ];
38467
38849
 
38468
38850
  // ../blocks/src/system/data/normalizeLoaderParams.ts
@@ -38501,6 +38883,10 @@ function normalizeLoaderParams(endpoint, params, context) {
38501
38883
  ensureSiteId(out, context);
38502
38884
  return out;
38503
38885
  }
38886
+ if (endpoint === "getPublicWeeklySlotAvailability") {
38887
+ ensureSiteId(out, context);
38888
+ return out;
38889
+ }
38504
38890
  if (endpoint === "listPublicEvents") {
38505
38891
  ensureSiteId(out, context);
38506
38892
  return out;
@@ -38533,17 +38919,17 @@ function normalizeLoaderParams(endpoint, params, context) {
38533
38919
  function unsafeRetypeZodSchema(schema) {
38534
38920
  return schema;
38535
38921
  }
38536
- var navIdListSchema = z63.preprocess((value) => {
38922
+ var navIdListSchema = z64.preprocess((value) => {
38537
38923
  if (!Array.isArray(value)) return void 0;
38538
38924
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
38539
38925
  return filtered.length > 0 ? filtered : void 0;
38540
- }, z63.array(z63.string()).max(200).optional());
38541
- var dashboardNavVisibilityBaseSchema = z63.object({
38542
- mode: z63.enum(["augment", "restrict"]).optional(),
38926
+ }, z64.array(z64.string()).max(200).optional());
38927
+ var dashboardNavVisibilityBaseSchema = z64.object({
38928
+ mode: z64.enum(["augment", "restrict"]).optional(),
38543
38929
  allowIds: navIdListSchema,
38544
38930
  denyIds: navIdListSchema
38545
38931
  }).strip();
38546
- var dashboardNavVisibilityRolesSchema = z63.object({
38932
+ var dashboardNavVisibilityRolesSchema = z64.object({
38547
38933
  administrator: dashboardNavVisibilityBaseSchema.optional(),
38548
38934
  editor: dashboardNavVisibilityBaseSchema.optional(),
38549
38935
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -38551,63 +38937,63 @@ var dashboardNavVisibilityRolesSchema = z63.object({
38551
38937
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
38552
38938
  roles: dashboardNavVisibilityRolesSchema
38553
38939
  }).strip();
38554
- var dashboardNavigationConfigSchema = z63.object({
38940
+ var dashboardNavigationConfigSchema = z64.object({
38555
38941
  siteNav: dashboardNavVisibilitySchema.optional(),
38556
38942
  settingsNav: dashboardNavVisibilitySchema.optional()
38557
38943
  }).strip();
38558
- var dashboardConfigSchema = z63.object({
38559
- previewEditingEnabled: z63.boolean().optional(),
38944
+ var dashboardConfigSchema = z64.object({
38945
+ previewEditingEnabled: z64.boolean().optional(),
38560
38946
  navigation: dashboardNavigationConfigSchema.optional()
38561
38947
  }).strip();
38562
38948
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
38563
38949
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
38564
- var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
38565
- var loaderFallbackScalarSchema = z63.union([
38566
- z63.string(),
38567
- z63.number(),
38568
- z63.boolean(),
38569
- z63.null()
38950
+ var sdkLoaderEndpointSchema = z64.enum(SUPPORTED_LOADER_ENDPOINTS);
38951
+ var loaderFallbackScalarSchema = z64.union([
38952
+ z64.string(),
38953
+ z64.number(),
38954
+ z64.boolean(),
38955
+ z64.null()
38570
38956
  ]);
38571
- var loaderParamBindingSchema = z63.object({
38572
- $bind: z63.object({
38573
- from: z63.string().min(1, "Binding path is required"),
38957
+ var loaderParamBindingSchema = z64.object({
38958
+ $bind: z64.object({
38959
+ from: z64.string().min(1, "Binding path is required"),
38574
38960
  fallback: loaderFallbackScalarSchema.optional()
38575
38961
  })
38576
38962
  });
38577
- var loaderParamValueSchema = z63.union([
38578
- z63.string(),
38579
- z63.number(),
38580
- z63.boolean(),
38963
+ var loaderParamValueSchema = z64.union([
38964
+ z64.string(),
38965
+ z64.number(),
38966
+ z64.boolean(),
38581
38967
  loaderParamBindingSchema
38582
38968
  ]);
38583
- var sdkConfigLoaderSchema = z63.object({
38969
+ var sdkConfigLoaderSchema = z64.object({
38584
38970
  endpoint: sdkLoaderEndpointSchema,
38585
- params: z63.record(z63.string(), loaderParamValueSchema),
38586
- mode: z63.enum(["server", "client"]).default("server")
38971
+ params: z64.record(z64.string(), loaderParamValueSchema),
38972
+ mode: z64.enum(["server", "client"]).default("server")
38587
38973
  });
38588
- var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38589
- var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38974
+ var sdkDataLoadersSchema = z64.record(z64.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38975
+ var sdkCustomBlockIdSchema = z64.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38590
38976
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
38591
38977
  }).transform((value) => value);
38592
- var sdkCustomBlockInputSchema = z63.object({
38978
+ var sdkCustomBlockInputSchema = z64.object({
38593
38979
  id: sdkCustomBlockIdSchema,
38594
- title: z63.string().min(1),
38595
- titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
38596
- description: z63.string().optional(),
38980
+ title: z64.string().min(1),
38981
+ titleSource: z64.union([z64.string().min(1), z64.array(z64.string().min(1)).min(1)]).optional(),
38982
+ description: z64.string().optional(),
38597
38983
  category: blockCategoryEnum,
38598
- icon: z63.string().optional(),
38599
- tags: z63.array(z63.string()).optional(),
38984
+ icon: z64.string().optional(),
38985
+ tags: z64.array(z64.string()).optional(),
38600
38986
  fields: fieldDefinitionInputSchema.array().min(1),
38601
38987
  dataLoaders: sdkDataLoadersSchema,
38602
38988
  layout: NodeSchema.optional(),
38603
- variants: z63.record(z63.string().min(1), NodeSchema).optional(),
38604
- defaultVariant: z63.string().min(1).optional(),
38605
- variantOptions: z63.record(
38606
- z63.string().min(1),
38607
- z63.object({
38608
- label: z63.string().min(1).optional(),
38609
- description: z63.string().min(1).optional(),
38610
- icon: z63.string().min(1).optional()
38989
+ variants: z64.record(z64.string().min(1), NodeSchema).optional(),
38990
+ defaultVariant: z64.string().min(1).optional(),
38991
+ variantOptions: z64.record(
38992
+ z64.string().min(1),
38993
+ z64.object({
38994
+ label: z64.string().min(1).optional(),
38995
+ description: z64.string().min(1).optional(),
38996
+ icon: z64.string().min(1).optional()
38611
38997
  })
38612
38998
  ).optional(),
38613
38999
  previewCustomize: previewCustomizeManifestCurationSchema.optional()
@@ -38618,7 +39004,7 @@ var sdkCustomBlockInputSchema = z63.object({
38618
39004
  const exists = data.fields.some((field) => field.id === source);
38619
39005
  if (!exists) {
38620
39006
  ctx.addIssue({
38621
- code: z63.ZodIssueCode.custom,
39007
+ code: z64.ZodIssueCode.custom,
38622
39008
  message: `titleSource must reference a valid field ID (got "${source}")`,
38623
39009
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
38624
39010
  });
@@ -38627,7 +39013,7 @@ var sdkCustomBlockInputSchema = z63.object({
38627
39013
  }
38628
39014
  if (data.layout && data.variants) {
38629
39015
  ctx.addIssue({
38630
- code: z63.ZodIssueCode.custom,
39016
+ code: z64.ZodIssueCode.custom,
38631
39017
  message: "Custom block must define either `layout` or `variants`, not both",
38632
39018
  path: ["variants"]
38633
39019
  });
@@ -38636,14 +39022,14 @@ var sdkCustomBlockInputSchema = z63.object({
38636
39022
  const keys = Object.keys(data.variants);
38637
39023
  if (keys.length === 0) {
38638
39024
  ctx.addIssue({
38639
- code: z63.ZodIssueCode.custom,
39025
+ code: z64.ZodIssueCode.custom,
38640
39026
  message: "`variants` must contain at least one variant key",
38641
39027
  path: ["variants"]
38642
39028
  });
38643
39029
  }
38644
39030
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
38645
39031
  ctx.addIssue({
38646
- code: z63.ZodIssueCode.custom,
39032
+ code: z64.ZodIssueCode.custom,
38647
39033
  message: "`defaultVariant` must be a key present in `variants`",
38648
39034
  path: ["defaultVariant"]
38649
39035
  });
@@ -38652,7 +39038,7 @@ var sdkCustomBlockInputSchema = z63.object({
38652
39038
  for (const key of Object.keys(data.variantOptions)) {
38653
39039
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
38654
39040
  ctx.addIssue({
38655
- code: z63.ZodIssueCode.custom,
39041
+ code: z64.ZodIssueCode.custom,
38656
39042
  message: "`variantOptions` key must exist in `variants`",
38657
39043
  path: ["variantOptions", key]
38658
39044
  });
@@ -38661,78 +39047,78 @@ var sdkCustomBlockInputSchema = z63.object({
38661
39047
  }
38662
39048
  }
38663
39049
  });
38664
- var sdkBlockFieldExtensionInputSchema = z63.object({
39050
+ var sdkBlockFieldExtensionInputSchema = z64.object({
38665
39051
  fields: fieldDefinitionInputSchema.array().min(1)
38666
39052
  });
38667
- var sdkBlockFieldExtensionsInputSchema = z63.record(
38668
- z63.string().min(1),
39053
+ var sdkBlockFieldExtensionsInputSchema = z64.record(
39054
+ z64.string().min(1),
38669
39055
  sdkBlockFieldExtensionInputSchema
38670
39056
  );
38671
- var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
38672
- var sdkThemeConfigSchema = z63.object({
39057
+ var sdkThemePaletteSchema = z64.record(z64.string(), z64.string());
39058
+ var sdkThemeConfigSchema = z64.object({
38673
39059
  palette: sdkThemePaletteSchema
38674
39060
  });
38675
- var sdkSectionBackgroundSchema = z63.object({
38676
- id: z63.string().min(1),
38677
- label: z63.string().min(1),
38678
- token: z63.string().min(1)
39061
+ var sdkSectionBackgroundSchema = z64.object({
39062
+ id: z64.string().min(1),
39063
+ label: z64.string().min(1),
39064
+ token: z64.string().min(1)
38679
39065
  });
38680
- var sdkSectionOptionsConfigSchema = z63.object({
38681
- backgroundColor: z63.boolean().optional(),
38682
- backgroundImage: z63.boolean().optional(),
38683
- backgroundGradient: z63.boolean().optional(),
38684
- spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
38685
- textColor: z63.boolean().optional()
39066
+ var sdkSectionOptionsConfigSchema = z64.object({
39067
+ backgroundColor: z64.boolean().optional(),
39068
+ backgroundImage: z64.boolean().optional(),
39069
+ backgroundGradient: z64.boolean().optional(),
39070
+ spacing: z64.union([z64.array(z64.enum(["compact", "default", "spacious"])), z64.boolean()]).optional(),
39071
+ textColor: z64.boolean().optional()
38686
39072
  });
38687
- var sdkContainerOptionsConfigSchema = z63.object({
38688
- maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
38689
- alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
39073
+ var sdkContainerOptionsConfigSchema = z64.object({
39074
+ maxWidth: z64.union([z64.array(z64.enum(["narrow", "default", "wide", "full"])), z64.boolean()]).optional(),
39075
+ alignment: z64.union([z64.array(z64.enum(["left", "center", "right"])), z64.boolean()]).optional()
38690
39076
  });
38691
- var sdkSiteStyleConfigSchema = z63.object({
38692
- sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
39077
+ var sdkSiteStyleConfigSchema = z64.object({
39078
+ sectionBackgrounds: z64.array(sdkSectionBackgroundSchema).optional(),
38693
39079
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
38694
39080
  containerOptions: sdkContainerOptionsConfigSchema.optional()
38695
39081
  });
38696
- var sdkSiteLayoutConfigSchema = z63.object({
38697
- footerBlocks: z63.array(
38698
- z63.object({
38699
- id: z63.string().min(1).optional(),
38700
- kind: z63.string().min(1),
38701
- content: z63.record(z63.string(), z63.unknown()).optional()
39082
+ var sdkSiteLayoutConfigSchema = z64.object({
39083
+ footerBlocks: z64.array(
39084
+ z64.object({
39085
+ id: z64.string().min(1).optional(),
39086
+ kind: z64.string().min(1),
39087
+ content: z64.record(z64.string(), z64.unknown()).optional()
38702
39088
  })
38703
39089
  ).optional()
38704
39090
  });
38705
- var sdkFieldSelectOptionSchema = z63.object({
38706
- value: z63.string(),
38707
- label: z63.string()
39091
+ var sdkFieldSelectOptionSchema = z64.object({
39092
+ value: z64.string(),
39093
+ label: z64.string()
38708
39094
  });
38709
- var sdkBlockFieldConfigSchema = z63.object({
38710
- options: z63.array(sdkFieldSelectOptionSchema).optional()
39095
+ var sdkBlockFieldConfigSchema = z64.object({
39096
+ options: z64.array(sdkFieldSelectOptionSchema).optional()
38711
39097
  });
38712
- var sdkBlockFieldOptionsMapSchema = z63.record(
38713
- z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
39098
+ var sdkBlockFieldOptionsMapSchema = z64.record(
39099
+ z64.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38714
39100
  message: "Block ID must be 'block.*' or 'custom.*' format"
38715
39101
  }),
38716
- z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
39102
+ z64.record(z64.string().min(1), sdkBlockFieldConfigSchema)
38717
39103
  ).optional();
38718
- var sdkContentTypeTemplateConfigSchema = z63.object({
38719
- blocks: z63.array(z63.unknown())
39104
+ var sdkContentTypeTemplateConfigSchema = z64.object({
39105
+ blocks: z64.array(z64.unknown())
38720
39106
  }).passthrough();
38721
- var sdkContentTypeOrderingConfigSchema = z63.object({
38722
- mode: z63.enum(["default", "manual"]).optional()
39107
+ var sdkContentTypeOrderingConfigSchema = z64.object({
39108
+ mode: z64.enum(["default", "manual"]).optional()
38723
39109
  }).optional();
38724
- var sdkContentTypeConfigSchema = z63.object({
38725
- key: z63.string().min(1),
38726
- fields: z63.array(z63.unknown()),
39110
+ var sdkContentTypeConfigSchema = z64.object({
39111
+ key: z64.string().min(1),
39112
+ fields: z64.array(z64.unknown()),
38727
39113
  ordering: sdkContentTypeOrderingConfigSchema,
38728
39114
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
38729
39115
  }).passthrough();
38730
- var sdkContentConfigSchema = z63.object({
38731
- contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
38732
- pages: z63.array(z63.unknown()).optional(),
38733
- entries: z63.array(z63.unknown()).optional(),
38734
- navigationMenus: z63.array(z63.unknown()).optional(),
38735
- settings: z63.unknown().optional()
39116
+ var sdkContentConfigSchema = z64.object({
39117
+ contentTypes: z64.array(sdkContentTypeConfigSchema).optional(),
39118
+ pages: z64.array(z64.unknown()).optional(),
39119
+ entries: z64.array(z64.unknown()).optional(),
39120
+ navigationMenus: z64.array(z64.unknown()).optional(),
39121
+ settings: z64.unknown().optional()
38736
39122
  }).passthrough();
38737
39123
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
38738
39124
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -38747,62 +39133,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
38747
39133
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
38748
39134
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
38749
39135
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
38750
- var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
39136
+ var sdkWorkflowIdSchema = z64.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38751
39137
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
38752
39138
  });
38753
- var sdkWorkflowEndpointSchema = z63.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 "/"' });
38754
- var sdkWorkflowManualTriggerSchema = z63.object({
38755
- type: z63.literal("manual")
39139
+ 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 "/"' });
39140
+ var sdkWorkflowManualTriggerSchema = z64.object({
39141
+ type: z64.literal("manual")
38756
39142
  }).strict();
38757
- var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
39143
+ var sdkWorkflowTriggerFieldSchema = z64.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38758
39144
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
38759
39145
  });
38760
- var sdkWorkflowFieldChangedConditionSchema = z63.object({
39146
+ var sdkWorkflowFieldChangedConditionSchema = z64.object({
38761
39147
  field: sdkWorkflowTriggerFieldSchema,
38762
- changed: z63.literal(true)
39148
+ changed: z64.literal(true)
38763
39149
  }).strict();
38764
- var sdkWorkflowFieldEmptyConditionSchema = z63.object({
39150
+ var sdkWorkflowFieldEmptyConditionSchema = z64.object({
38765
39151
  field: sdkWorkflowTriggerFieldSchema,
38766
- isEmpty: z63.boolean()
39152
+ isEmpty: z64.boolean()
38767
39153
  }).strict();
38768
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
38769
- type: z63.literal("entry.draft.updated"),
38770
- when: z63.array(
38771
- z63.union([
39154
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z64.object({
39155
+ type: z64.literal("entry.draft.updated"),
39156
+ when: z64.array(
39157
+ z64.union([
38772
39158
  sdkWorkflowFieldChangedConditionSchema,
38773
39159
  sdkWorkflowFieldEmptyConditionSchema
38774
39160
  ])
38775
39161
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
38776
39162
  }).strict();
38777
- var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
39163
+ var sdkWorkflowTriggerSchema = z64.discriminatedUnion("type", [
38778
39164
  sdkWorkflowManualTriggerSchema,
38779
39165
  sdkWorkflowEntryDraftUpdatedTriggerSchema
38780
39166
  ]);
38781
- var sdkWorkflowConfirmationSchema = z63.object({
38782
- title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38783
- body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
39167
+ var sdkWorkflowConfirmationSchema = z64.object({
39168
+ title: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
39169
+ body: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38784
39170
  }).strict();
38785
- var sdkWorkflowConfigSchema = z63.object({
39171
+ var sdkWorkflowConfigSchema = z64.object({
38786
39172
  id: sdkWorkflowIdSchema,
38787
- title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38788
- description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38789
- contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
39173
+ title: z64.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
39174
+ description: z64.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
39175
+ contentType: z64.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38790
39176
  endpoint: sdkWorkflowEndpointSchema,
38791
- triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
39177
+ triggers: z64.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38792
39178
  confirmation: sdkWorkflowConfirmationSchema.optional()
38793
39179
  }).strict();
38794
- var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
39180
+ var sdkWorkflowsSchema = z64.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38795
39181
  const ids = workflows.map((workflow) => workflow.id);
38796
39182
  return ids.length === new Set(ids).size;
38797
39183
  }, { message: "Workflow IDs must be unique" }).optional();
38798
- var riverbankSiteConfigInputSchema = z63.object({
38799
- siteId: z63.string().uuid(),
38800
- previewUrl: z63.string().url().optional(),
38801
- liveUrl: z63.string().url().optional(),
39184
+ var riverbankSiteConfigInputSchema = z64.object({
39185
+ siteId: z64.string().uuid(),
39186
+ previewUrl: z64.string().url().optional(),
39187
+ liveUrl: z64.string().url().optional(),
38802
39188
  theme: sdkThemeConfigSchema.optional(),
38803
39189
  styles: sdkSiteStyleConfigSchema.optional(),
38804
39190
  layout: sdkSiteLayoutConfigSchema.optional(),
38805
- customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
39191
+ customBlocks: z64.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38806
39192
  const ids = blocks.map((b) => b.id);
38807
39193
  return ids.length === new Set(ids).size;
38808
39194
  }, { message: "Block IDs must be unique" }).optional(),
@@ -38810,50 +39196,51 @@ var riverbankSiteConfigInputSchema = z63.object({
38810
39196
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
38811
39197
  workflows: sdkWorkflowsSchema,
38812
39198
  content: sdkContentConfigSchema.optional(),
38813
- contentDir: z63.string().optional(),
38814
- sync: z63.object({
38815
- existingEntries: z63.enum(["skip", "update"]).optional()
39199
+ contentDir: z64.string().optional(),
39200
+ sync: z64.object({
39201
+ existingEntries: z64.enum(["skip", "update"]).optional()
38816
39202
  }).optional(),
38817
- deploy: z63.object({
38818
- verifyCommand: z63.string().optional(),
38819
- prebuildOutput: z63.string().optional()
39203
+ deploy: z64.object({
39204
+ verifyCommand: z64.string().optional(),
39205
+ prebuildOutput: z64.string().optional()
38820
39206
  }).optional(),
38821
- themeSource: z63.enum(["local", "cms"]).optional(),
38822
- activeTheme: z63.string().optional(),
38823
- enablePortal: z63.boolean().optional(),
39207
+ themeSource: z64.enum(["local", "cms"]).optional(),
39208
+ activeTheme: z64.string().optional(),
39209
+ enablePortal: z64.boolean().optional(),
38824
39210
  dashboard: dashboardConfigSchema.optional()
38825
39211
  }).strict();
38826
- var pushSdkConfigBodySchema = z63.object({
39212
+ var pushSdkConfigBodySchema = z64.object({
38827
39213
  config: riverbankSiteConfigInputSchema,
38828
- forceContentTypes: z63.boolean().optional()
39214
+ forceContentTypes: z64.boolean().optional(),
39215
+ mode: z64.enum(["apply", "preview"]).optional()
38829
39216
  }).strict();
38830
39217
 
38831
39218
  // ../api/src/siteOnboarding.ts
38832
- import { z as z64 } from "zod";
39219
+ import { z as z65 } from "zod";
38833
39220
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
38834
39221
  configure_appointments: {
38835
39222
  requirementId: "configure_appointments",
38836
39223
  reason: "launch_anyway"
38837
39224
  }
38838
39225
  };
38839
- var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
39226
+ var acknowledgeLaunchRequirementRequestSchema = z65.discriminatedUnion(
38840
39227
  "requirementId",
38841
39228
  [
38842
- z64.object({
38843
- requirementId: z64.literal("review_generated_site")
39229
+ z65.object({
39230
+ requirementId: z65.literal("review_generated_site")
38844
39231
  }),
38845
- z64.object({
38846
- requirementId: z64.literal(
39232
+ z65.object({
39233
+ requirementId: z65.literal(
38847
39234
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
38848
39235
  ),
38849
- overrideReason: z64.literal(
39236
+ overrideReason: z65.literal(
38850
39237
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
38851
39238
  )
38852
39239
  })
38853
39240
  ]
38854
39241
  );
38855
- var goLiveSiteRequestSchema = z64.object({
38856
- acceptExtraSiteCharge: z64.boolean().optional()
39242
+ var goLiveSiteRequestSchema = z65.object({
39243
+ acceptExtraSiteCharge: z65.boolean().optional()
38857
39244
  });
38858
39245
 
38859
39246
  // ../surfaces/src/index.ts
@@ -38972,7 +39359,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
38972
39359
  ];
38973
39360
 
38974
39361
  // ../api/src/bookingVerticals.ts
38975
- import { z as z65 } from "zod";
39362
+ import { z as z66 } from "zod";
38976
39363
  var VERTICAL_IDS = [
38977
39364
  "yoga_wellness",
38978
39365
  "fitness_pt",
@@ -39137,39 +39524,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
39137
39524
  }
39138
39525
  return [...issues];
39139
39526
  }
39140
- var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
39527
+ var VerticalIdSchema = z66.string().trim().transform((value, ctx) => {
39141
39528
  const parsed = parseVerticalId(value);
39142
39529
  if (!parsed) {
39143
39530
  ctx.addIssue({
39144
- code: z65.ZodIssueCode.custom,
39531
+ code: z66.ZodIssueCode.custom,
39145
39532
  message: "Unknown booking vertical"
39146
39533
  });
39147
- return z65.NEVER;
39534
+ return z66.NEVER;
39148
39535
  }
39149
39536
  return parsed;
39150
39537
  });
39151
- var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
39538
+ var VerticalPresetIdSchema = z66.string().trim().transform((value, ctx) => {
39152
39539
  const parsed = parseVerticalPresetId(value);
39153
39540
  if (!parsed) {
39154
39541
  ctx.addIssue({
39155
- code: z65.ZodIssueCode.custom,
39542
+ code: z66.ZodIssueCode.custom,
39156
39543
  message: "Unknown booking preset"
39157
39544
  });
39158
- return z65.NEVER;
39545
+ return z66.NEVER;
39159
39546
  }
39160
39547
  return parsed;
39161
39548
  });
39162
- var BookingVerticalConfigSchema = z65.object({
39549
+ var BookingVerticalConfigSchema = z66.object({
39163
39550
  verticalId: VerticalIdSchema.nullable(),
39164
- selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
39551
+ selectedPresetIds: z66.array(VerticalPresetIdSchema).max(20)
39165
39552
  }).transform((value, ctx) => {
39166
39553
  const resolved = resolveSiteVerticalBookingConfig(value);
39167
39554
  if (resolved.kind === "invalid") {
39168
39555
  ctx.addIssue({
39169
- code: z65.ZodIssueCode.custom,
39556
+ code: z66.ZodIssueCode.custom,
39170
39557
  message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
39171
39558
  });
39172
- return z65.NEVER;
39559
+ return z66.NEVER;
39173
39560
  }
39174
39561
  return resolved.config;
39175
39562
  });
@@ -39196,51 +39583,51 @@ function isRecord9(value) {
39196
39583
  }
39197
39584
 
39198
39585
  // ../api/src/appointmentSetup.ts
39199
- import { z as z66 } from "zod";
39586
+ import { z as z67 } from "zod";
39200
39587
  var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
39201
- var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
39202
- z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
39203
- z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
39588
+ var appointmentSetupRefSchema = z67.discriminatedUnion("kind", [
39589
+ z67.object({ kind: z67.literal("existing"), id: z67.string().min(1) }),
39590
+ z67.object({ kind: z67.literal("new"), draftId: z67.string().min(1) })
39204
39591
  ]);
39205
- var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
39206
- z66.object({ kind: z66.literal("none") }),
39207
- z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
39208
- z66.object({
39209
- kind: z66.literal("create"),
39210
- draftId: z66.string().min(1),
39211
- title: z66.string().trim().min(1),
39212
- description: z66.string().nullable(),
39213
- timezone: z66.string().trim().min(1).nullable(),
39214
- addressJson: z66.record(z66.string(), z66.unknown()),
39215
- locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
39592
+ var appointmentSetupVenueChoiceSchema = z67.discriminatedUnion("kind", [
39593
+ z67.object({ kind: z67.literal("none") }),
39594
+ z67.object({ kind: z67.literal("existing"), venueId: z67.string().min(1) }),
39595
+ z67.object({
39596
+ kind: z67.literal("create"),
39597
+ draftId: z67.string().min(1),
39598
+ title: z67.string().trim().min(1),
39599
+ description: z67.string().nullable(),
39600
+ timezone: z67.string().trim().min(1).nullable(),
39601
+ addressJson: z67.record(z67.string(), z67.unknown()),
39602
+ locationJson: z67.object({ lat: z67.number(), lng: z67.number() }).nullable()
39216
39603
  })
39217
39604
  ]);
39218
- var appointmentSetupPaymentDraftSchema = z66.object({
39219
- priceType: z66.union([z66.literal("free"), z66.literal("paid")])
39220
- });
39221
- var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
39222
- z66.object({ kind: z66.literal("all_practitioners") }),
39223
- z66.object({
39224
- kind: z66.literal("selected_practitioners"),
39225
- resourceRefs: z66.array(appointmentSetupRefSchema)
39605
+ var appointmentSetupPaymentDraftSchema = z67.object({
39606
+ priceType: z67.union([z67.literal("free"), z67.literal("paid")])
39607
+ });
39608
+ var appointmentSetupServiceAssignmentDraftSchema = z67.discriminatedUnion("kind", [
39609
+ z67.object({ kind: z67.literal("all_practitioners") }),
39610
+ z67.object({
39611
+ kind: z67.literal("selected_practitioners"),
39612
+ resourceRefs: z67.array(appointmentSetupRefSchema)
39226
39613
  })
39227
39614
  ]);
39228
- var appointmentSetupServiceDraftSchema = z66.object({
39615
+ var appointmentSetupServiceDraftSchema = z67.object({
39229
39616
  ref: appointmentSetupRefSchema,
39230
- title: z66.string().trim().min(1),
39231
- description: z66.string().nullable(),
39232
- durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39233
- prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39234
- cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39235
- priceAmount: z66.number().int().nonnegative().nullable(),
39236
- isActive: z66.boolean(),
39237
- locationType: z66.union([
39238
- z66.literal("virtual"),
39239
- z66.literal("in_person"),
39240
- z66.literal("hybrid")
39617
+ title: z67.string().trim().min(1),
39618
+ description: z67.string().nullable(),
39619
+ durationMinutes: z67.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39620
+ prepMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39621
+ cleanupMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39622
+ priceAmount: z67.number().int().nonnegative().nullable(),
39623
+ isActive: z67.boolean(),
39624
+ locationType: z67.union([
39625
+ z67.literal("virtual"),
39626
+ z67.literal("in_person"),
39627
+ z67.literal("hybrid")
39241
39628
  ]),
39242
39629
  venue: appointmentSetupVenueChoiceSchema,
39243
- timezone: z66.string().trim().min(1).nullable(),
39630
+ timezone: z67.string().trim().min(1).nullable(),
39244
39631
  payment: appointmentSetupPaymentDraftSchema,
39245
39632
  assignment: appointmentSetupServiceAssignmentDraftSchema
39246
39633
  }).superRefine((service, ctx) => {
@@ -39259,49 +39646,49 @@ var appointmentSetupServiceDraftSchema = z66.object({
39259
39646
  });
39260
39647
  }
39261
39648
  });
39262
- var appointmentSetupPractitionerDraftSchema = z66.object({
39649
+ var appointmentSetupPractitionerDraftSchema = z67.object({
39263
39650
  ref: appointmentSetupRefSchema,
39264
- displayName: z66.string().trim().min(1),
39265
- bio: z66.string().nullable(),
39266
- timezone: z66.string().trim().min(1),
39267
- colorHex: z66.string().nullable()
39268
- });
39269
- var appointmentSetupWeeklyWindowDraftSchema = z66.object({
39270
- weekday: z66.number().int().min(0).max(6),
39271
- startTime: z66.string(),
39272
- endTime: z66.string()
39273
- });
39274
- var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
39275
- z66.object({ kind: z66.literal("automatic_spacing") }),
39276
- z66.object({
39277
- kind: z66.literal("regular_interval"),
39278
- intervalMinutes: z66.union([
39279
- z66.literal(10),
39280
- z66.literal(15),
39281
- z66.literal(20),
39282
- z66.literal(30),
39283
- z66.literal(45),
39284
- z66.literal(60)
39651
+ displayName: z67.string().trim().min(1),
39652
+ bio: z67.string().nullable(),
39653
+ timezone: z67.string().trim().min(1),
39654
+ colorHex: z67.string().nullable()
39655
+ });
39656
+ var appointmentSetupWeeklyWindowDraftSchema = z67.object({
39657
+ weekday: z67.number().int().min(0).max(6),
39658
+ startTime: z67.string(),
39659
+ endTime: z67.string()
39660
+ });
39661
+ var appointmentSetupStartTimePolicyDraftSchema = z67.discriminatedUnion("kind", [
39662
+ z67.object({ kind: z67.literal("automatic_spacing") }),
39663
+ z67.object({
39664
+ kind: z67.literal("regular_interval"),
39665
+ intervalMinutes: z67.union([
39666
+ z67.literal(10),
39667
+ z67.literal(15),
39668
+ z67.literal(20),
39669
+ z67.literal(30),
39670
+ z67.literal(45),
39671
+ z67.literal(60)
39285
39672
  ])
39286
39673
  })
39287
39674
  ]);
39288
- var appointmentSetupAvailabilityDraftSchema = z66.object({
39289
- kind: z66.literal("weekly_windows"),
39675
+ var appointmentSetupAvailabilityDraftSchema = z67.object({
39676
+ kind: z67.literal("weekly_windows"),
39290
39677
  resourceRef: appointmentSetupRefSchema,
39291
39678
  serviceRef: appointmentSetupRefSchema.nullable(),
39292
- windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
39679
+ windows: z67.array(appointmentSetupWeeklyWindowDraftSchema),
39293
39680
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
39294
39681
  });
39295
39682
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
39296
39683
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
39297
- var appointmentSetupBookingNoticeSchema = z66.object({
39298
- minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39299
- maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39300
- });
39301
- var applyAppointmentSetupRequestSchema = z66.object({
39302
- services: z66.array(appointmentSetupServiceDraftSchema),
39303
- practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
39304
- availability: z66.array(appointmentSetupAvailabilityDraftSchema),
39684
+ var appointmentSetupBookingNoticeSchema = z67.object({
39685
+ minLeadMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39686
+ maxBookingNoticeMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39687
+ });
39688
+ var applyAppointmentSetupRequestSchema = z67.object({
39689
+ services: z67.array(appointmentSetupServiceDraftSchema),
39690
+ practitioners: z67.array(appointmentSetupPractitionerDraftSchema),
39691
+ availability: z67.array(appointmentSetupAvailabilityDraftSchema),
39305
39692
  bookingNotice: appointmentSetupBookingNoticeSchema
39306
39693
  });
39307
39694
 
@@ -39334,24 +39721,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
39334
39721
  ];
39335
39722
 
39336
39723
  // ../api/src/siteBanner.ts
39337
- import { z as z67 } from "zod";
39724
+ import { z as z68 } from "zod";
39338
39725
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
39339
39726
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
39340
39727
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
39341
39728
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
39342
- var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
39343
- var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
39344
- var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
39345
- var siteBannerCtaSchema = z67.object({
39346
- label: z67.string().trim().min(1),
39729
+ var siteBannerScopeSchema = z68.enum(SITE_BANNER_SCOPE_VALUES);
39730
+ var siteBannerToneSchema = z68.enum(SITE_BANNER_TONE_VALUES);
39731
+ var siteBannerBodySchema = z68.unknown().transform(unwrapRichTextValue);
39732
+ var siteBannerCtaSchema = z68.object({
39733
+ label: z68.string().trim().min(1),
39347
39734
  link: linkPayloadSchema
39348
39735
  });
39349
- var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
39350
- z67.object({
39351
- enabled: z67.literal(false)
39736
+ var siteBannerSettingsSchema = z68.discriminatedUnion("enabled", [
39737
+ z68.object({
39738
+ enabled: z68.literal(false)
39352
39739
  }),
39353
- z67.object({
39354
- enabled: z67.literal(true),
39740
+ z68.object({
39741
+ enabled: z68.literal(true),
39355
39742
  scope: siteBannerScopeSchema,
39356
39743
  tone: siteBannerToneSchema,
39357
39744
  body: siteBannerBodySchema,
@@ -39365,7 +39752,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
39365
39752
  const analysis = analyzeSiteBannerBody(value.body);
39366
39753
  for (const issue of analysis.issues) {
39367
39754
  ctx.addIssue({
39368
- code: z67.ZodIssueCode.custom,
39755
+ code: z68.ZodIssueCode.custom,
39369
39756
  path: ["body"],
39370
39757
  message: siteBannerBodyIssueMessage(issue)
39371
39758
  });
@@ -39627,77 +40014,81 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
39627
40014
  var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
39628
40015
 
39629
40016
  // ../api/src/aiPlayground.ts
39630
- import { z as z68 } from "zod";
39631
- var Rfc6902PatchOp = z68.discriminatedUnion("op", [
40017
+ import { z as z69 } from "zod";
40018
+ var Rfc6902PatchOp = z69.discriminatedUnion("op", [
39632
40019
  // Standard RFC-6902 operations
39633
- z68.object({
39634
- op: z68.literal("add"),
39635
- path: z68.string(),
39636
- value: z68.unknown()
40020
+ z69.object({
40021
+ op: z69.literal("add"),
40022
+ path: z69.string(),
40023
+ value: z69.unknown()
39637
40024
  }),
39638
- z68.object({
39639
- op: z68.literal("remove"),
39640
- path: z68.string()
40025
+ z69.object({
40026
+ op: z69.literal("remove"),
40027
+ path: z69.string()
39641
40028
  }),
39642
- z68.object({
39643
- op: z68.literal("replace"),
39644
- path: z68.string(),
39645
- value: z68.unknown()
40029
+ z69.object({
40030
+ op: z69.literal("replace"),
40031
+ path: z69.string(),
40032
+ value: z69.unknown()
39646
40033
  }),
39647
- z68.object({
39648
- op: z68.literal("move"),
39649
- from: z68.string(),
39650
- path: z68.string()
40034
+ z69.object({
40035
+ op: z69.literal("move"),
40036
+ from: z69.string(),
40037
+ path: z69.string()
39651
40038
  }),
39652
- z68.object({
39653
- op: z68.literal("copy"),
39654
- from: z68.string(),
39655
- path: z68.string()
40039
+ z69.object({
40040
+ op: z69.literal("copy"),
40041
+ from: z69.string(),
40042
+ path: z69.string()
39656
40043
  }),
39657
40044
  // Block-level operations (Phase 2)
39658
- z68.object({
39659
- op: z68.literal("add_block"),
39660
- blockKind: z68.string(),
39661
- afterBlockId: z68.string().nullable(),
39662
- content: z68.record(z68.string(), z68.unknown()),
39663
- rationale: z68.string()
40045
+ z69.object({
40046
+ op: z69.literal("add_block"),
40047
+ blockKind: z69.string(),
40048
+ afterBlockId: z69.string().nullable(),
40049
+ content: z69.record(z69.string(), z69.unknown()),
40050
+ rationale: z69.string()
39664
40051
  }),
39665
- z68.object({
39666
- op: z68.literal("delete_block"),
39667
- blockId: z68.string(),
39668
- rationale: z68.string()
40052
+ z69.object({
40053
+ op: z69.literal("delete_block"),
40054
+ blockId: z69.string(),
40055
+ rationale: z69.string()
39669
40056
  }),
39670
- z68.object({
39671
- op: z68.literal("reorder_block"),
39672
- blockId: z68.string(),
39673
- afterBlockId: z68.string().nullable(),
39674
- rationale: z68.string()
40057
+ z69.object({
40058
+ op: z69.literal("reorder_block"),
40059
+ blockId: z69.string(),
40060
+ afterBlockId: z69.string().nullable(),
40061
+ rationale: z69.string()
39675
40062
  })
39676
40063
  ]);
39677
- var PlaygroundProposeRequest = z68.object({
39678
- request: z68.string().min(1).max(2e3)
40064
+ var PlaygroundProposeRequest = z69.object({
40065
+ request: z69.string().min(1).max(2e3)
39679
40066
  });
39680
- var MultiPagePatchEnvelope = z68.object({
39681
- pageId: z68.string(),
39682
- blockId: z68.string().optional(),
40067
+ var MultiPagePatchEnvelope = z69.object({
40068
+ pageId: z69.string(),
40069
+ blockId: z69.string().optional(),
39683
40070
  // Not present for page-level ops
39684
- blockKind: z68.string().optional(),
39685
- blockPurpose: z68.string().optional().nullable(),
39686
- ops: z68.array(Rfc6902PatchOp),
39687
- rationale: z68.string(),
39688
- currentContent: z68.record(z68.string(), z68.unknown()).optional()
40071
+ blockKind: z69.string().optional(),
40072
+ blockPurpose: z69.string().optional().nullable(),
40073
+ ops: z69.array(Rfc6902PatchOp),
40074
+ rationale: z69.string(),
40075
+ currentContent: z69.record(z69.string(), z69.unknown()).optional()
39689
40076
  });
39690
- var MultiPageUpdateResponse = z68.object({
39691
- patches: z68.array(MultiPagePatchEnvelope),
39692
- assistantMessage: z68.string(),
39693
- pagesModified: z68.number(),
39694
- toolCallsUsed: z68.number()
40077
+ var MultiPageUpdateResponse = z69.object({
40078
+ patches: z69.array(MultiPagePatchEnvelope),
40079
+ assistantMessage: z69.string(),
40080
+ pagesModified: z69.number(),
40081
+ toolCallsUsed: z69.number()
39695
40082
  });
39696
40083
 
39697
40084
  // src/data/prefetchBlockData.ts
39698
40085
  function isSupportedLoaderEndpoint2(endpoint) {
39699
40086
  return SUPPORTED_LOADER_ENDPOINTS.includes(endpoint);
39700
40087
  }
40088
+ var defaultPrefetchBlockDataDeps = {
40089
+ prefetchBlockDataCore: prefetchBlockData,
40090
+ normalizeLoaderParams
40091
+ };
39701
40092
  var ENTRY_REF_KEYS = [
39702
40093
  "identifier",
39703
40094
  "entryIdentifier",
@@ -39773,7 +40164,8 @@ var loaderAdapters = {
39773
40164
  listPublicPasses,
39774
40165
  listPublicMemberships,
39775
40166
  getPublicFormById,
39776
- getPublicBookingServices
40167
+ getPublicBookingServices,
40168
+ getPublicWeeklySlotAvailability
39777
40169
  };
39778
40170
  function readStringParam(params, key) {
39779
40171
  const value = params[key];
@@ -39949,19 +40341,37 @@ async function getPublicBookingServices({ client, params }) {
39949
40341
  ids: readStringParam(params, "ids")
39950
40342
  });
39951
40343
  }
40344
+ async function getPublicWeeklySlotAvailability({ client, params }) {
40345
+ return await client.getPublicWeeklySlotAvailability({
40346
+ siteId: requireStringParam(params, "siteId", "getPublicWeeklySlotAvailability"),
40347
+ serviceId: requireStringParam(params, "serviceId", "getPublicWeeklySlotAvailability"),
40348
+ resourceId: readStringParam(params, "resourceId"),
40349
+ horizonWeeks: parsePositiveIntegerParam(params, "horizonWeeks"),
40350
+ timezone: readStringParam(params, "timezone")
40351
+ });
40352
+ }
39952
40353
  async function prefetchBlockData2(page, context, client, options) {
40354
+ return prefetchBlockDataWithDeps(
40355
+ defaultPrefetchBlockDataDeps,
40356
+ page,
40357
+ context,
40358
+ client,
40359
+ options
40360
+ );
40361
+ }
40362
+ async function prefetchBlockDataWithDeps(deps, page, context, client, options) {
39953
40363
  const { customBlocks } = options ?? {};
39954
40364
  const customBlockMap = new Map(
39955
40365
  (customBlocks ?? []).map((block) => [block.id, block])
39956
40366
  );
39957
- return prefetchBlockData(page, context, {
40367
+ return deps.prefetchBlockDataCore(page, context, {
39958
40368
  apiClient: async ({ endpoint, params }) => {
39959
40369
  if (!isSupportedLoaderEndpoint2(endpoint)) {
39960
40370
  throw new Error(
39961
40371
  `Unsupported loader endpoint: ${endpoint}. SDK only supports: ${SUPPORTED_LOADER_ENDPOINTS.join(", ")}`
39962
40372
  );
39963
40373
  }
39964
- const resolvedParams = normalizeLoaderParams(endpoint, params, context);
40374
+ const resolvedParams = deps.normalizeLoaderParams(endpoint, params, context);
39965
40375
  return await loaderAdapters[endpoint]({ client, params: resolvedParams });
39966
40376
  },
39967
40377
  isValidEndpoint: isSupportedLoaderEndpoint2,