@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
@@ -1044,6 +1044,94 @@ var ENDPOINT_DEFINITIONS = {
1044
1044
  responseKind: "json",
1045
1045
  errors: ["resource:not_found", "server:internal_error"]
1046
1046
  },
1047
+ listAppointmentReservations: {
1048
+ path: "/sites/{siteId}/bookings/appointment-reservations",
1049
+ method: "GET",
1050
+ auth: "user",
1051
+ responseKind: "json",
1052
+ errors: []
1053
+ },
1054
+ createAppointmentReservation: {
1055
+ path: "/sites/{siteId}/bookings/appointment-reservations",
1056
+ method: "POST",
1057
+ auth: "user",
1058
+ responseKind: "json",
1059
+ errors: [
1060
+ "validation:invalid_input",
1061
+ "resource:not_found",
1062
+ "resource:conflict",
1063
+ "server:internal_error"
1064
+ ]
1065
+ },
1066
+ getAppointmentReservation: {
1067
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
1068
+ method: "GET",
1069
+ auth: "user",
1070
+ responseKind: "json",
1071
+ errors: ["resource:not_found", "server:internal_error"]
1072
+ },
1073
+ updateAppointmentReservation: {
1074
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
1075
+ method: "PUT",
1076
+ auth: "user",
1077
+ responseKind: "json",
1078
+ errors: [
1079
+ "validation:invalid_input",
1080
+ "resource:not_found",
1081
+ "resource:conflict",
1082
+ "server:internal_error"
1083
+ ]
1084
+ },
1085
+ pauseAppointmentReservation: {
1086
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/pause",
1087
+ method: "POST",
1088
+ auth: "user",
1089
+ responseKind: "json",
1090
+ errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
1091
+ },
1092
+ resumeAppointmentReservation: {
1093
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/resume",
1094
+ method: "POST",
1095
+ auth: "user",
1096
+ responseKind: "json",
1097
+ errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
1098
+ },
1099
+ endAppointmentReservation: {
1100
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/end",
1101
+ method: "POST",
1102
+ auth: "user",
1103
+ responseKind: "json",
1104
+ errors: [
1105
+ "validation:invalid_input",
1106
+ "resource:not_found",
1107
+ "resource:conflict",
1108
+ "server:internal_error"
1109
+ ]
1110
+ },
1111
+ previewAppointmentReservationRun: {
1112
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/run-preview",
1113
+ method: "POST",
1114
+ auth: "user",
1115
+ responseKind: "json",
1116
+ errors: [
1117
+ "validation:invalid_input",
1118
+ "resource:not_found",
1119
+ "resource:conflict",
1120
+ "server:internal_error"
1121
+ ]
1122
+ },
1123
+ createAppointmentReservationRun: {
1124
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/runs",
1125
+ method: "POST",
1126
+ auth: "user",
1127
+ responseKind: "json",
1128
+ errors: [
1129
+ "validation:invalid_input",
1130
+ "resource:not_found",
1131
+ "resource:conflict",
1132
+ "server:internal_error"
1133
+ ]
1134
+ },
1047
1135
  createTeamMemberProfile: {
1048
1136
  path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
1049
1137
  method: "POST",
@@ -3500,6 +3588,18 @@ var ENDPOINT_DEFINITIONS = {
3500
3588
  responseKind: "json",
3501
3589
  errors: ["validation:invalid_input", "server:internal_error"]
3502
3590
  },
3591
+ resolveRouteDecision: {
3592
+ path: "/sites/{siteId}/route-decision",
3593
+ method: "GET",
3594
+ tags: [
3595
+ TAG_TEMPLATES.siteRoutableContent,
3596
+ TAG_TEMPLATES.siteRedirects,
3597
+ TAG_TEMPLATES.siteRouteOutcomes
3598
+ ],
3599
+ auth: "public",
3600
+ responseKind: "json",
3601
+ errors: ["validation:invalid_input", "server:internal_error"]
3602
+ },
3503
3603
  getPageByPath: {
3504
3604
  path: "/sites/{siteId}/pages",
3505
3605
  method: "GET",
@@ -3638,6 +3738,15 @@ var ENDPOINT_DEFINITIONS = {
3638
3738
  auth: "public",
3639
3739
  responseKind: "json"
3640
3740
  },
3741
+ getPublicWeeklySlotAvailability: {
3742
+ path: "/public/bookings/weekly-slot-availability",
3743
+ method: "GET",
3744
+ revalidate: 60,
3745
+ tags: ["site-{siteId}"],
3746
+ auth: "public",
3747
+ responseKind: "json",
3748
+ errors: []
3749
+ },
3641
3750
  createPublicBookingAppointment: {
3642
3751
  path: "/public/bookings/appointments",
3643
3752
  method: "POST",
@@ -5548,6 +5657,14 @@ var ENDPOINT_DEFINITIONS = {
5548
5657
  responseKind: "json",
5549
5658
  errors: []
5550
5659
  },
5660
+ adminResolveSiteBillingManualReview: {
5661
+ path: "/admin/sites/{siteId}/billing/manual-reviews/{reviewId}/resolve",
5662
+ method: "POST",
5663
+ tags: ["admin", "site-{siteId}", "billing"],
5664
+ auth: "admin",
5665
+ responseKind: "json",
5666
+ errors: []
5667
+ },
5551
5668
  // Admin GSC/SEO endpoints
5552
5669
  adminGscVerifyStart: {
5553
5670
  path: "/admin/seo/gsc/properties/verify/start",
@@ -6795,7 +6912,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
6795
6912
  );
6796
6913
 
6797
6914
  // ../api/src/sdkConfig/contracts.ts
6798
- import { z as z63 } from "zod";
6915
+ import { z as z64 } from "zod";
6799
6916
 
6800
6917
  // ../blocks/src/system/manifest/augmentManifest.ts
6801
6918
  function augmentManifest(manifest) {
@@ -6964,10 +7081,20 @@ var repeatSchema = z3.object({
6964
7081
  direction: z3.enum(["asc", "desc"]).default("asc")
6965
7082
  }).optional()
6966
7083
  });
7084
+ var conditionalAuthoringPresenceSchema = z3.discriminatedUnion("kind", [
7085
+ z3.object({ kind: z3.literal("visitor-only") }),
7086
+ z3.object({
7087
+ kind: z3.literal("recover-empty-when-active"),
7088
+ placeholder: z3.string().min(1).optional()
7089
+ })
7090
+ ]);
6967
7091
  var conditionSchema = z3.object({
6968
7092
  when: bindingSchema,
6969
7093
  equals: z3.unknown().optional(),
6970
- not: z3.boolean().default(false)
7094
+ not: z3.boolean().default(false),
7095
+ authoringPresence: conditionalAuthoringPresenceSchema.default({
7096
+ kind: "visitor-only"
7097
+ })
6971
7098
  });
6972
7099
  var dataScopeSchema = z3.object({
6973
7100
  name: z3.string().min(1),
@@ -10908,15 +11035,16 @@ var joyStamp = defineButtonPersonality({
10908
11035
  // 700, matching the mockup's chunky button labels.
10909
11036
  typography: "heading",
10910
11037
  fontWeight: 700,
11038
+ fontSize: "text-lg",
10911
11039
  borderWidth: 2,
10912
11040
  hoverTransform: "none",
10913
11041
  hoverColor: "none"
10914
11042
  },
10915
11043
  sizes: {
10916
- sm: { padding: "0.625rem 1.25rem", fontSize: "text-sm" },
10917
- md: { padding: "0.875rem 1.75rem", fontSize: "text-base" },
10918
- lg: { padding: "1.125rem 2.25rem", fontSize: "text-lg" },
10919
- xl: { padding: "1.25rem 2.75rem", fontSize: "text-xl" }
11044
+ sm: { padding: "0.625rem 1.25rem", fontSize: "text-base" },
11045
+ md: { padding: "0.875rem 1.75rem", fontSize: "text-lg" },
11046
+ lg: { padding: "1.125rem 2.25rem", fontSize: "text-xl" },
11047
+ xl: { padding: "1.25rem 2.75rem", fontSize: "text-2xl" }
10920
11048
  },
10921
11049
  variants: [
10922
11050
  {
@@ -18033,7 +18161,8 @@ function when(path, options) {
18033
18161
  $when: {
18034
18162
  when: { from: path },
18035
18163
  ...options?.equals !== void 0 ? { equals: options.equals } : {},
18036
- ...options?.not ? { not: true } : {}
18164
+ ...options?.not ? { not: true } : {},
18165
+ ...options?.authoringPresence ? { authoringPresence: options.authoringPresence } : {}
18037
18166
  }
18038
18167
  });
18039
18168
  }
@@ -27874,77 +28003,247 @@ var appointmentBookingBlockDefinition = {
27874
28003
  }
27875
28004
  };
27876
28005
 
28006
+ // ../blocks/src/system/blocks/weekly-slot-availability.ts
28007
+ import { z as z39 } from "zod";
28008
+ var weeklySlotAvailabilityManifest = createBlockManifest({
28009
+ id: "block.weekly-slot-availability",
28010
+ version: "1.0.0",
28011
+ title: "Weekly Slot Availability",
28012
+ titleSource: "heading",
28013
+ description: "Shows available recurring appointment slot patterns",
28014
+ skipSectionStyles: true,
28015
+ additionalFields: [
28016
+ {
28017
+ id: "serviceId",
28018
+ type: "reference",
28019
+ label: "Appointment service",
28020
+ description: "Choose which appointment service to show availability for",
28021
+ required: true,
28022
+ referenceKind: "appointmentService",
28023
+ allowManualEntry: false,
28024
+ ui: { intent: "behavior" }
28025
+ },
28026
+ {
28027
+ id: "resourceId",
28028
+ type: "reference",
28029
+ label: "Appointment resource",
28030
+ description: "Optionally narrow the availability to one practitioner or room",
28031
+ required: false,
28032
+ referenceKind: "appointmentResource",
28033
+ allowManualEntry: false,
28034
+ ui: { intent: "behavior" }
28035
+ },
28036
+ {
28037
+ id: "horizonWeeks",
28038
+ type: "select",
28039
+ label: "Look ahead",
28040
+ required: false,
28041
+ multiple: false,
28042
+ defaultValue: "4",
28043
+ options: [
28044
+ { value: "1", label: "1 week" },
28045
+ { value: "2", label: "2 weeks" },
28046
+ { value: "4", label: "4 weeks" }
28047
+ ],
28048
+ ui: { intent: "behavior" }
28049
+ },
28050
+ {
28051
+ id: "timezone",
28052
+ type: "text",
28053
+ label: "Timezone",
28054
+ description: "Leave blank to use the visitor timezone when the block loads",
28055
+ required: false,
28056
+ multiline: false,
28057
+ defaultValue: "",
28058
+ maxLength: 64,
28059
+ ui: { intent: "behavior" }
28060
+ },
28061
+ {
28062
+ id: "heading",
28063
+ type: "text",
28064
+ label: "Heading",
28065
+ required: false,
28066
+ multiline: false,
28067
+ defaultValue: "Weekly availability"
28068
+ },
28069
+ {
28070
+ id: "description",
28071
+ type: "richText",
28072
+ label: "Description",
28073
+ required: false
28074
+ },
28075
+ {
28076
+ id: "emptyMessage",
28077
+ type: "text",
28078
+ label: "Empty message",
28079
+ required: false,
28080
+ multiline: true,
28081
+ defaultValue: "No regular weekly openings are currently available.",
28082
+ maxLength: 180
28083
+ },
28084
+ {
28085
+ id: "ctaText",
28086
+ type: "text",
28087
+ label: "Enquiry button text",
28088
+ required: false,
28089
+ multiline: false,
28090
+ defaultValue: "Enquire about this slot",
28091
+ maxLength: 60
28092
+ },
28093
+ {
28094
+ id: "ctaUrl",
28095
+ type: "url",
28096
+ label: "Enquiry URL",
28097
+ required: false,
28098
+ ui: { intent: "behavior" }
28099
+ },
28100
+ sectionStylesField({
28101
+ id: "_sectionStyles",
28102
+ label: "Section styles"
28103
+ })
28104
+ ],
28105
+ styleTokens: { background: "surface", typography: "body", spacing: "md" },
28106
+ behaviours: {
28107
+ supportsThemeSwitching: true,
28108
+ inlineEditing: false,
28109
+ animation: false,
28110
+ paletteHidden: false
28111
+ },
28112
+ category: "interactive",
28113
+ tags: ["booking", "appointment", "calendar", "weekly", "availability"],
28114
+ icon: "CalendarDays",
28115
+ layout: [
28116
+ styledSection({
28117
+ children: sectionContainer([
28118
+ text({ as: "h2" }, bind("content.heading"), when("content.heading")),
28119
+ richText({}, bind("content.description"), when("content.description")),
28120
+ el(
28121
+ "weekly-slot-availability",
28122
+ withApiBindings({
28123
+ serviceId: { $bind: { from: "content.serviceId" } },
28124
+ resourceId: { $bind: { from: "content.resourceId", fallback: null } },
28125
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
28126
+ timezone: { $bind: { from: "content.timezone", fallback: null } },
28127
+ availability: { $bind: { from: "data.availability", fallback: null } },
28128
+ emptyMessage: { $bind: { from: "content.emptyMessage", fallback: null } },
28129
+ ctaText: { $bind: { from: "content.ctaText", fallback: null } },
28130
+ ctaUrl: { $bind: { from: "content.ctaUrl", fallback: null } }
28131
+ })
28132
+ )
28133
+ ], {
28134
+ gap: "lg"
28135
+ }),
28136
+ baseClass: "",
28137
+ spacing: "spacious"
28138
+ })
28139
+ ]
28140
+ });
28141
+ var weeklySlotAvailabilityOptionSchema = z39.object({
28142
+ id: z39.string(),
28143
+ resourceId: z39.string(),
28144
+ weekday: z39.number(),
28145
+ weekdayLabel: z39.string(),
28146
+ startTime: z39.string(),
28147
+ endTime: z39.string(),
28148
+ nextDate: z39.string(),
28149
+ availableWeeks: z39.number()
28150
+ });
28151
+ var weeklySlotAvailabilityDataSchema = z39.object({
28152
+ slots: z39.array(weeklySlotAvailabilityOptionSchema),
28153
+ horizonWeeks: z39.number(),
28154
+ timezone: z39.string(),
28155
+ startDate: z39.string(),
28156
+ endDate: z39.string()
28157
+ });
28158
+ var weeklySlotAvailabilityBlockDefinition = {
28159
+ manifest: weeklySlotAvailabilityManifest,
28160
+ dataSchemas: { availability: weeklySlotAvailabilityDataSchema.optional() },
28161
+ dataLoaders: {
28162
+ availability: {
28163
+ endpoint: "getPublicWeeklySlotAvailability",
28164
+ params: {
28165
+ siteId: { $bind: { from: "$root.siteId" } },
28166
+ serviceId: { $bind: { from: "content.serviceId" } },
28167
+ resourceId: { $bind: { from: "content.resourceId", fallback: void 0 } },
28168
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
28169
+ timezone: { $bind: { from: "content.timezone", fallback: void 0 } }
28170
+ },
28171
+ mode: "server"
28172
+ }
28173
+ }
28174
+ };
28175
+
27877
28176
  // ../blocks/src/system/blocks/events/shared/schemas.ts
27878
- import { z as z43 } from "zod";
28177
+ import { z as z44 } from "zod";
27879
28178
 
27880
28179
  // ../blocks/src/lib/media.ts
27881
- import z39 from "zod";
28180
+ import z40 from "zod";
27882
28181
  var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
27883
28182
  "document",
27884
28183
  "spreadsheet",
27885
28184
  "archive",
27886
28185
  "audio"
27887
28186
  ];
27888
- var hotspotSchema2 = z39.object({
27889
- x: z39.number().min(0).max(1),
27890
- y: z39.number().min(0).max(1),
27891
- radius: z39.number().optional()
27892
- });
27893
- var rotationSchema2 = z39.union([z39.literal(0), z39.literal(90), z39.literal(180), z39.literal(270)]);
27894
- var rectSchema2 = z39.tuple([z39.number(), z39.number(), z39.number(), z39.number()]);
27895
- var aspectCropSchema2 = z39.object({
27896
- aspect: z39.preprocess((value) => value == null ? void 0 : value, z39.string().optional()),
27897
- rect: z39.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
27898
- hotspot: z39.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
27899
- rotation: z39.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
27900
- });
27901
- var transformSchema2 = z39.object({
27902
- aspectCrops: z39.preprocess((value) => {
28187
+ var hotspotSchema2 = z40.object({
28188
+ x: z40.number().min(0).max(1),
28189
+ y: z40.number().min(0).max(1),
28190
+ radius: z40.number().optional()
28191
+ });
28192
+ var rotationSchema2 = z40.union([z40.literal(0), z40.literal(90), z40.literal(180), z40.literal(270)]);
28193
+ var rectSchema2 = z40.tuple([z40.number(), z40.number(), z40.number(), z40.number()]);
28194
+ var aspectCropSchema2 = z40.object({
28195
+ aspect: z40.preprocess((value) => value == null ? void 0 : value, z40.string().optional()),
28196
+ rect: z40.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
28197
+ hotspot: z40.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
28198
+ rotation: z40.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
28199
+ });
28200
+ var transformSchema2 = z40.object({
28201
+ aspectCrops: z40.preprocess((value) => {
27903
28202
  if (!value || typeof value !== "object" || Array.isArray(value)) {
27904
28203
  return void 0;
27905
28204
  }
27906
28205
  return value;
27907
- }, z39.record(z39.string(), aspectCropSchema2.catch({}))).optional(),
28206
+ }, z40.record(z40.string(), aspectCropSchema2.catch({}))).optional(),
27908
28207
  rect: rectSchema2.optional(),
27909
28208
  hotspot: hotspotSchema2.optional(),
27910
28209
  rotation: rotationSchema2.optional()
27911
28210
  });
27912
- var mediaPosterSchema = z39.discriminatedUnion("tag", [
27913
- z39.object({
27914
- tag: z39.literal("storage"),
27915
- assetId: z39.string().optional(),
27916
- storageBucket: z39.string().min(1),
27917
- storagePath: z39.string().min(1)
28211
+ var mediaPosterSchema = z40.discriminatedUnion("tag", [
28212
+ z40.object({
28213
+ tag: z40.literal("storage"),
28214
+ assetId: z40.string().optional(),
28215
+ storageBucket: z40.string().min(1),
28216
+ storagePath: z40.string().min(1)
27918
28217
  }),
27919
- z39.object({
27920
- tag: z39.literal("external-src"),
27921
- assetId: z39.string().optional(),
27922
- src: z39.string().url()
28218
+ z40.object({
28219
+ tag: z40.literal("external-src"),
28220
+ assetId: z40.string().optional(),
28221
+ src: z40.string().url()
27923
28222
  })
27924
28223
  ]);
27925
- var mediaBaseSchema = z39.object({
27926
- purpose: z39.string().optional(),
27927
- placeholder: z39.boolean().default(true).optional(),
27928
- assetId: z39.string().optional(),
27929
- identifier: z39.string().optional(),
27930
- src: z39.string().optional(),
27931
- alt: z39.string().optional(),
27932
- filename: z39.string().optional(),
27933
- mimeType: z39.string().optional(),
27934
- width: z39.number().optional(),
27935
- height: z39.number().optional(),
27936
- storageBucket: z39.string().optional(),
27937
- storagePath: z39.string().optional(),
28224
+ var mediaBaseSchema = z40.object({
28225
+ purpose: z40.string().optional(),
28226
+ placeholder: z40.boolean().default(true).optional(),
28227
+ assetId: z40.string().optional(),
28228
+ identifier: z40.string().optional(),
28229
+ src: z40.string().optional(),
28230
+ alt: z40.string().optional(),
28231
+ filename: z40.string().optional(),
28232
+ mimeType: z40.string().optional(),
28233
+ width: z40.number().optional(),
28234
+ height: z40.number().optional(),
28235
+ storageBucket: z40.string().optional(),
28236
+ storagePath: z40.string().optional(),
27938
28237
  poster: mediaPosterSchema.optional(),
27939
28238
  transform: transformSchema2.optional()
27940
28239
  });
27941
- var imageMediaSchema = mediaBaseSchema.extend({ type: z39.literal("image") });
27942
- var videoMediaSchema = mediaBaseSchema.extend({ type: z39.literal("video") });
27943
- var audioMediaSchema = mediaBaseSchema.extend({ type: z39.literal("audio") });
27944
- var documentMediaSchema = mediaBaseSchema.extend({ type: z39.literal("document") });
27945
- var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z39.literal("spreadsheet") });
27946
- var archiveMediaSchema = mediaBaseSchema.extend({ type: z39.literal("archive") });
27947
- var mediaSchema2 = z39.discriminatedUnion("type", [
28240
+ var imageMediaSchema = mediaBaseSchema.extend({ type: z40.literal("image") });
28241
+ var videoMediaSchema = mediaBaseSchema.extend({ type: z40.literal("video") });
28242
+ var audioMediaSchema = mediaBaseSchema.extend({ type: z40.literal("audio") });
28243
+ var documentMediaSchema = mediaBaseSchema.extend({ type: z40.literal("document") });
28244
+ var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z40.literal("spreadsheet") });
28245
+ var archiveMediaSchema = mediaBaseSchema.extend({ type: z40.literal("archive") });
28246
+ var mediaSchema2 = z40.discriminatedUnion("type", [
27948
28247
  imageMediaSchema,
27949
28248
  videoMediaSchema,
27950
28249
  audioMediaSchema,
@@ -27954,372 +28253,372 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
27954
28253
  ]);
27955
28254
 
27956
28255
  // ../blocks/src/system/manifest/richTextSchema.ts
27957
- import { z as z40 } from "zod";
27958
- var TipTapMarkSchema = z40.object({
27959
- type: z40.string(),
27960
- attrs: z40.record(z40.string(), z40.unknown()).optional()
27961
- });
27962
- var TipTapNodeSchema = z40.lazy(
27963
- () => z40.object({
27964
- type: z40.string(),
27965
- content: z40.array(TipTapNodeSchema).optional(),
27966
- text: z40.string().optional(),
27967
- attrs: z40.record(z40.string(), z40.unknown()).optional(),
27968
- marks: z40.array(TipTapMarkSchema).optional()
28256
+ import { z as z41 } from "zod";
28257
+ var TipTapMarkSchema = z41.object({
28258
+ type: z41.string(),
28259
+ attrs: z41.record(z41.string(), z41.unknown()).optional()
28260
+ });
28261
+ var TipTapNodeSchema = z41.lazy(
28262
+ () => z41.object({
28263
+ type: z41.string(),
28264
+ content: z41.array(TipTapNodeSchema).optional(),
28265
+ text: z41.string().optional(),
28266
+ attrs: z41.record(z41.string(), z41.unknown()).optional(),
28267
+ marks: z41.array(TipTapMarkSchema).optional()
27969
28268
  })
27970
28269
  );
27971
- var RichTextValueSchema = z40.union([
28270
+ var RichTextValueSchema = z41.union([
27972
28271
  // Canonical: TipTap document directly
27973
28272
  TipTapNodeSchema,
27974
28273
  // Legacy (read-tolerance only): wrapped in { doc: {...} }
27975
- z40.object({
28274
+ z41.object({
27976
28275
  doc: TipTapNodeSchema
27977
28276
  })
27978
28277
  ]);
27979
- var RichTextDocSchema = z40.object({
27980
- type: z40.literal("doc"),
27981
- content: z40.array(TipTapNodeSchema)
28278
+ var RichTextDocSchema = z41.object({
28279
+ type: z41.literal("doc"),
28280
+ content: z41.array(TipTapNodeSchema)
27982
28281
  });
27983
28282
 
27984
28283
  // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
27985
- import { z as z41 } from "zod";
27986
- var bookingDepositRefundPolicySchema = z41.enum([
28284
+ import { z as z42 } from "zod";
28285
+ var bookingDepositRefundPolicySchema = z42.enum([
27987
28286
  "refundable",
27988
28287
  "non_refundable"
27989
28288
  ]);
27990
- var bookingInstalmentPlanSchema = z41.union([
27991
- z41.object({
27992
- kind: z41.literal("deposit_plus_one_remainder"),
27993
- depositAmountCents: z41.number().int().min(0),
28289
+ var bookingInstalmentPlanSchema = z42.union([
28290
+ z42.object({
28291
+ kind: z42.literal("deposit_plus_one_remainder"),
28292
+ depositAmountCents: z42.number().int().min(0),
27994
28293
  depositRefundability: bookingDepositRefundPolicySchema,
27995
- remainderDueCount: z41.number().int().positive(),
27996
- intervalUnit: z41.enum(["day", "week", "month"])
28294
+ remainderDueCount: z42.number().int().positive(),
28295
+ intervalUnit: z42.enum(["day", "week", "month"])
27997
28296
  }),
27998
- z41.object({
27999
- kind: z41.literal("deposit_plus_scheduled_instalments"),
28000
- depositAmountCents: z41.number().int().min(0),
28297
+ z42.object({
28298
+ kind: z42.literal("deposit_plus_scheduled_instalments"),
28299
+ depositAmountCents: z42.number().int().min(0),
28001
28300
  depositRefundability: bookingDepositRefundPolicySchema,
28002
- instalmentCount: z41.number().int().positive(),
28003
- intervalCount: z41.number().int().positive(),
28004
- intervalUnit: z41.enum(["day", "week", "month"])
28301
+ instalmentCount: z42.number().int().positive(),
28302
+ intervalCount: z42.number().int().positive(),
28303
+ intervalUnit: z42.enum(["day", "week", "month"])
28005
28304
  }),
28006
- z41.object({
28007
- kind: z41.literal("equal_scheduled_instalments"),
28008
- instalmentCount: z41.number().int().positive(),
28009
- intervalCount: z41.number().int().positive(),
28010
- intervalUnit: z41.enum(["day", "week", "month"])
28305
+ z42.object({
28306
+ kind: z42.literal("equal_scheduled_instalments"),
28307
+ instalmentCount: z42.number().int().positive(),
28308
+ intervalCount: z42.number().int().positive(),
28309
+ intervalUnit: z42.enum(["day", "week", "month"])
28011
28310
  })
28012
28311
  ]);
28013
- var bookingFlexibleBalanceDueDateRuleSchema = z41.union([
28014
- z41.object({
28015
- kind: z41.literal("relative_to_start_date"),
28016
- daysBeforeStart: z41.number().int().positive()
28312
+ var bookingFlexibleBalanceDueDateRuleSchema = z42.union([
28313
+ z42.object({
28314
+ kind: z42.literal("relative_to_start_date"),
28315
+ daysBeforeStart: z42.number().int().positive()
28017
28316
  }),
28018
- z41.object({
28019
- kind: z41.literal("fixed_calendar_date"),
28020
- dueAt: z41.string().datetime()
28317
+ z42.object({
28318
+ kind: z42.literal("fixed_calendar_date"),
28319
+ dueAt: z42.string().datetime()
28021
28320
  })
28022
28321
  ]);
28023
- var bookingFlexibleBalanceConfigSchema = z41.object({
28024
- upfrontAmountCents: z41.number().int().min(0),
28322
+ var bookingFlexibleBalanceConfigSchema = z42.object({
28323
+ upfrontAmountCents: z42.number().int().min(0),
28025
28324
  dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
28026
28325
  depositRefundability: bookingDepositRefundPolicySchema
28027
28326
  });
28028
- var blockBookingPaymentCollectionOptionSchema = z41.union([
28029
- z41.object({
28030
- kind: z41.literal("upfront")
28327
+ var blockBookingPaymentCollectionOptionSchema = z42.union([
28328
+ z42.object({
28329
+ kind: z42.literal("upfront")
28031
28330
  }),
28032
- z41.object({
28033
- kind: z41.literal("deferred_manual")
28331
+ z42.object({
28332
+ kind: z42.literal("deferred_manual")
28034
28333
  }),
28035
- z41.object({
28036
- kind: z41.literal("instalment_plan"),
28334
+ z42.object({
28335
+ kind: z42.literal("instalment_plan"),
28037
28336
  plan: bookingInstalmentPlanSchema
28038
28337
  }),
28039
- z41.object({
28040
- kind: z41.literal("flexible_balance"),
28338
+ z42.object({
28339
+ kind: z42.literal("flexible_balance"),
28041
28340
  config: bookingFlexibleBalanceConfigSchema
28042
28341
  })
28043
28342
  ]);
28044
- var blockBookingPaymentTermsSchema = z41.object({
28045
- allowedOptions: z41.array(blockBookingPaymentCollectionOptionSchema).min(1)
28343
+ var blockBookingPaymentTermsSchema = z42.object({
28344
+ allowedOptions: z42.array(blockBookingPaymentCollectionOptionSchema).min(1)
28046
28345
  });
28047
28346
 
28048
28347
  // ../blocks/src/system/blocks/courses/shared/schemas.ts
28049
- import { z as z42 } from "zod";
28050
- var courseVenueSchema = z42.object({
28051
- id: z42.string(),
28052
- name: z42.string(),
28053
- address: z42.string().nullable()
28054
- });
28055
- var courseSessionSchema = z42.object({
28056
- id: z42.string(),
28057
- startsAt: z42.string(),
28058
- endsAt: z42.string(),
28059
- timeZone: z42.string(),
28060
- capacityOverride: z42.number().nullable().optional(),
28061
- overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
28062
- });
28063
- var courseTeamMemberSummarySchema = z42.object({
28064
- id: z42.string(),
28065
- name: z42.string(),
28066
- roleLabel: z42.string().nullable(),
28067
- summary: z42.string().nullable(),
28068
- profilePath: z42.string().nullable()
28069
- });
28070
- var coursePricingOptionSchema = z42.object({
28071
- id: z42.string(),
28072
- name: z42.string(),
28073
- description: z42.string().nullable(),
28074
- priceAmount: z42.number(),
28075
- isActive: z42.boolean(),
28076
- sortOrder: z42.number(),
28077
- capacityLimit: z42.number().nullable(),
28078
- saleStartsAt: z42.string().nullable(),
28079
- saleEndsAt: z42.string().nullable(),
28080
- attendanceScope: z42.enum(["in_person", "online", "both"]).nullable().optional()
28081
- });
28082
- var coursePricingSchema = z42.object({
28083
- bookingRequirement: z42.enum(["none", "required"]),
28084
- pricingStrategy: z42.enum(["free", "single", "tiered", "sliding_scale"]),
28085
- currency: z42.string(),
28086
- singlePriceAmount: z42.number().nullable(),
28087
- slidingMinAmount: z42.number().nullable().optional(),
28088
- slidingMaxAmount: z42.number().nullable().optional(),
28089
- slidingSuggestedAmount: z42.number().nullable().optional(),
28348
+ import { z as z43 } from "zod";
28349
+ var courseVenueSchema = z43.object({
28350
+ id: z43.string(),
28351
+ name: z43.string(),
28352
+ address: z43.string().nullable()
28353
+ });
28354
+ var courseSessionSchema = z43.object({
28355
+ id: z43.string(),
28356
+ startsAt: z43.string(),
28357
+ endsAt: z43.string(),
28358
+ timeZone: z43.string(),
28359
+ capacityOverride: z43.number().nullable().optional(),
28360
+ overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
28361
+ });
28362
+ var courseTeamMemberSummarySchema = z43.object({
28363
+ id: z43.string(),
28364
+ name: z43.string(),
28365
+ roleLabel: z43.string().nullable(),
28366
+ summary: z43.string().nullable(),
28367
+ profilePath: z43.string().nullable()
28368
+ });
28369
+ var coursePricingOptionSchema = z43.object({
28370
+ id: z43.string(),
28371
+ name: z43.string(),
28372
+ description: z43.string().nullable(),
28373
+ priceAmount: z43.number(),
28374
+ isActive: z43.boolean(),
28375
+ sortOrder: z43.number(),
28376
+ capacityLimit: z43.number().nullable(),
28377
+ saleStartsAt: z43.string().nullable(),
28378
+ saleEndsAt: z43.string().nullable(),
28379
+ attendanceScope: z43.enum(["in_person", "online", "both"]).nullable().optional()
28380
+ });
28381
+ var coursePricingSchema = z43.object({
28382
+ bookingRequirement: z43.enum(["none", "required"]),
28383
+ pricingStrategy: z43.enum(["free", "single", "tiered", "sliding_scale"]),
28384
+ currency: z43.string(),
28385
+ singlePriceAmount: z43.number().nullable(),
28386
+ slidingMinAmount: z43.number().nullable().optional(),
28387
+ slidingMaxAmount: z43.number().nullable().optional(),
28388
+ slidingSuggestedAmount: z43.number().nullable().optional(),
28090
28389
  paymentTerms: blockBookingPaymentTermsSchema,
28091
- options: z42.array(coursePricingOptionSchema)
28092
- });
28093
- var publicCourseSchema = z42.object({
28094
- id: z42.string(),
28095
- title: z42.string(),
28096
- slug: z42.string(),
28097
- description: z42.unknown().nullable(),
28098
- teamMembers: z42.array(courseTeamMemberSummarySchema).optional(),
28099
- enrollmentOpen: z42.boolean(),
28390
+ options: z43.array(coursePricingOptionSchema)
28391
+ });
28392
+ var publicCourseSchema = z43.object({
28393
+ id: z43.string(),
28394
+ title: z43.string(),
28395
+ slug: z43.string(),
28396
+ description: z43.unknown().nullable(),
28397
+ teamMembers: z43.array(courseTeamMemberSummarySchema).optional(),
28398
+ enrollmentOpen: z43.boolean(),
28100
28399
  pricing: coursePricingSchema.optional(),
28101
- priceCents: z42.number().nullable(),
28102
- currency: z42.string(),
28400
+ priceCents: z43.number().nullable(),
28401
+ currency: z43.string(),
28103
28402
  paymentTerms: blockBookingPaymentTermsSchema,
28104
- enrollmentCapacity: z42.number().nullable(),
28105
- acceptsMemberships: z42.boolean(),
28106
- status: z42.enum(["active", "draft", "cancelled"]),
28107
- sessionsCount: z42.number(),
28108
- enrolledCount: z42.number(),
28109
- availableSpots: z42.number().nullable(),
28110
- sessions: z42.array(courseSessionSchema),
28403
+ enrollmentCapacity: z43.number().nullable(),
28404
+ acceptsMemberships: z43.boolean(),
28405
+ status: z43.enum(["active", "draft", "cancelled"]),
28406
+ sessionsCount: z43.number(),
28407
+ enrolledCount: z43.number(),
28408
+ availableSpots: z43.number().nullable(),
28409
+ sessions: z43.array(courseSessionSchema),
28111
28410
  venue: courseVenueSchema.nullable(),
28112
- contentEntryId: z42.string().nullable()
28411
+ contentEntryId: z43.string().nullable()
28113
28412
  });
28114
- var publicCoursesArraySchema = z42.array(publicCourseSchema);
28413
+ var publicCoursesArraySchema = z43.array(publicCourseSchema);
28115
28414
 
28116
28415
  // ../blocks/src/system/blocks/events/shared/schemas.ts
28117
- var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
28118
- var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
28119
- var eventDestinationModeSchema = z43.enum(["cms-managed", "system-managed"]);
28120
- var publicEventDestinationSchema = z43.discriminatedUnion("kind", [
28121
- z43.object({
28122
- kind: z43.literal("native"),
28416
+ var eventPresetSchema = z44.enum(["event", "class", "workshop", "retreat", "performance"]);
28417
+ var eventScheduleScopeSchema = z44.enum(["recurring", "oneOff"]);
28418
+ var eventDestinationModeSchema = z44.enum(["cms-managed", "system-managed"]);
28419
+ var publicEventDestinationSchema = z44.discriminatedUnion("kind", [
28420
+ z44.object({
28421
+ kind: z44.literal("native"),
28123
28422
  mode: eventDestinationModeSchema,
28124
- path: z43.string()
28423
+ path: z44.string()
28125
28424
  }),
28126
- z43.object({
28127
- kind: z43.literal("external"),
28128
- url: z43.string(),
28129
- label: z43.string()
28425
+ z44.object({
28426
+ kind: z44.literal("external"),
28427
+ url: z44.string(),
28428
+ label: z44.string()
28130
28429
  })
28131
28430
  ]);
28132
- var eventVenueSchema = z43.object({
28133
- id: z43.string(),
28134
- name: z43.string(),
28135
- address: z43.string().nullable(),
28136
- location: z43.object({
28137
- lat: z43.number(),
28138
- lng: z43.number()
28431
+ var eventVenueSchema = z44.object({
28432
+ id: z44.string(),
28433
+ name: z44.string(),
28434
+ address: z44.string().nullable(),
28435
+ location: z44.object({
28436
+ lat: z44.number(),
28437
+ lng: z44.number()
28139
28438
  }).nullable()
28140
28439
  });
28141
- var eventCategorySchema = z43.object({
28142
- id: z43.string(),
28143
- name: z43.string(),
28144
- color: z43.string().nullable()
28145
- });
28146
- var pricingTypeSchema = z43.enum(["free", "paid", "external"]);
28147
- var accessRestrictionSchema = z43.enum(["none", "category"]);
28148
- var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
28149
- var publicCoursePriceDisplaySchema = z43.discriminatedUnion("kind", [
28150
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28151
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28152
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28153
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
28440
+ var eventCategorySchema = z44.object({
28441
+ id: z44.string(),
28442
+ name: z44.string(),
28443
+ color: z44.string().nullable()
28444
+ });
28445
+ var pricingTypeSchema = z44.enum(["free", "paid", "external"]);
28446
+ var accessRestrictionSchema = z44.enum(["none", "category"]);
28447
+ var eventPricingModeSchema = z44.enum(["single", "ticket_types"]);
28448
+ var publicCoursePriceDisplaySchema = z44.discriminatedUnion("kind", [
28449
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28450
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28451
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28452
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
28154
28453
  ]);
28155
- var publicEventPriceDisplaySchema = z43.discriminatedUnion("kind", [
28156
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28157
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28158
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28159
- z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28160
- z43.object({
28161
- kind: z43.literal("mixed"),
28162
- paidFromAmount: z43.number(),
28163
- paidToAmount: z43.number(),
28164
- currency: z43.string()
28454
+ var publicEventPriceDisplaySchema = z44.discriminatedUnion("kind", [
28455
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28456
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28457
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28458
+ z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
28459
+ z44.object({
28460
+ kind: z44.literal("mixed"),
28461
+ paidFromAmount: z44.number(),
28462
+ paidToAmount: z44.number(),
28463
+ currency: z44.string()
28165
28464
  }),
28166
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() }),
28167
- z43.object({ kind: z43.literal("external"), label: z43.string() }),
28168
- z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28465
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() }),
28466
+ z44.object({ kind: z44.literal("external"), label: z44.string() }),
28467
+ z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
28169
28468
  ]);
28170
- var publicEventTicketTypePriceDisplaySchema = z43.union([
28171
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28172
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28173
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28174
- z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28175
- z43.object({
28176
- kind: z43.literal("mixed"),
28177
- paidFromAmount: z43.number(),
28178
- paidToAmount: z43.number(),
28179
- currency: z43.string()
28469
+ var publicEventTicketTypePriceDisplaySchema = z44.union([
28470
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28471
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28472
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28473
+ z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
28474
+ z44.object({
28475
+ kind: z44.literal("mixed"),
28476
+ paidFromAmount: z44.number(),
28477
+ paidToAmount: z44.number(),
28478
+ currency: z44.string()
28180
28479
  }),
28181
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
28480
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
28182
28481
  ]);
28183
- var publicEventAttendanceModeSchema = z43.enum(["in_person", "online"]);
28184
- var publicEventAttendanceModeAvailabilitySchema = z43.object({
28482
+ var publicEventAttendanceModeSchema = z44.enum(["in_person", "online"]);
28483
+ var publicEventAttendanceModeAvailabilitySchema = z44.object({
28185
28484
  mode: publicEventAttendanceModeSchema,
28186
- capacity: z43.number().nullable(),
28187
- registeredCount: z43.number(),
28188
- availableSpots: z43.number().nullable(),
28189
- waitlistEnabled: z43.boolean()
28190
- });
28191
- var publicEventTicketTypeAvailabilitySchema = z43.union([
28192
- z43.object({
28193
- kind: z43.literal("available"),
28194
- remainingCapacity: z43.number().nullable()
28485
+ capacity: z44.number().nullable(),
28486
+ registeredCount: z44.number(),
28487
+ availableSpots: z44.number().nullable(),
28488
+ waitlistEnabled: z44.boolean()
28489
+ });
28490
+ var publicEventTicketTypeAvailabilitySchema = z44.union([
28491
+ z44.object({
28492
+ kind: z44.literal("available"),
28493
+ remainingCapacity: z44.number().nullable()
28195
28494
  }),
28196
- z43.object({
28197
- kind: z43.literal("unavailable"),
28198
- reason: z43.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
28199
- remainingCapacity: z43.number().nullable()
28495
+ z44.object({
28496
+ kind: z44.literal("unavailable"),
28497
+ reason: z44.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
28498
+ remainingCapacity: z44.number().nullable()
28200
28499
  })
28201
28500
  ]);
28202
- var publicEventTicketTypeSchema = z43.object({
28203
- id: z43.string(),
28204
- siteId: z43.string(),
28205
- eventSeriesId: z43.string(),
28206
- name: z43.string(),
28207
- description: z43.string().nullable(),
28208
- priceAmount: z43.number(),
28209
- isActive: z43.boolean(),
28210
- sortOrder: z43.number(),
28211
- capacityMode: z43.enum(["limited", "unlimited"]),
28212
- capacityLimit: z43.number().nullable(),
28213
- attendanceScope: z43.enum(["in_person", "online", "both"]).optional(),
28214
- saleStartsAt: z43.string().nullable(),
28215
- saleEndsAt: z43.string().nullable(),
28501
+ var publicEventTicketTypeSchema = z44.object({
28502
+ id: z44.string(),
28503
+ siteId: z44.string(),
28504
+ eventSeriesId: z44.string(),
28505
+ name: z44.string(),
28506
+ description: z44.string().nullable(),
28507
+ priceAmount: z44.number(),
28508
+ isActive: z44.boolean(),
28509
+ sortOrder: z44.number(),
28510
+ capacityMode: z44.enum(["limited", "unlimited"]),
28511
+ capacityLimit: z44.number().nullable(),
28512
+ attendanceScope: z44.enum(["in_person", "online", "both"]).optional(),
28513
+ saleStartsAt: z44.string().nullable(),
28514
+ saleEndsAt: z44.string().nullable(),
28216
28515
  availability: publicEventTicketTypeAvailabilitySchema,
28217
- createdAt: z43.string(),
28218
- updatedAt: z43.string()
28219
- });
28220
- var publicEventPricingSchema = z43.discriminatedUnion("kind", [
28221
- z43.object({
28222
- kind: z43.literal("drop_in"),
28223
- currency: z43.string(),
28224
- display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28516
+ createdAt: z44.string(),
28517
+ updatedAt: z44.string()
28518
+ });
28519
+ var publicEventPricingSchema = z44.discriminatedUnion("kind", [
28520
+ z44.object({
28521
+ kind: z44.literal("drop_in"),
28522
+ currency: z44.string(),
28523
+ display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
28225
28524
  }),
28226
- z43.object({
28227
- kind: z43.literal("free_registration"),
28228
- currency: z43.string(),
28229
- display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28525
+ z44.object({
28526
+ kind: z44.literal("free_registration"),
28527
+ currency: z44.string(),
28528
+ display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
28230
28529
  }),
28231
- z43.object({
28232
- kind: z43.literal("single_paid"),
28233
- amount: z43.number(),
28234
- currency: z43.string(),
28235
- display: z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() })
28530
+ z44.object({
28531
+ kind: z44.literal("single_paid"),
28532
+ amount: z44.number(),
28533
+ currency: z44.string(),
28534
+ display: z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() })
28236
28535
  }),
28237
- z43.object({
28238
- kind: z43.literal("ticket_types"),
28239
- currency: z43.string(),
28240
- ticketTypes: z43.array(publicEventTicketTypeSchema),
28536
+ z44.object({
28537
+ kind: z44.literal("ticket_types"),
28538
+ currency: z44.string(),
28539
+ ticketTypes: z44.array(publicEventTicketTypeSchema),
28241
28540
  display: publicEventTicketTypePriceDisplaySchema
28242
28541
  }),
28243
- z43.object({
28244
- kind: z43.literal("sliding_scale"),
28245
- minAmount: z43.number(),
28246
- maxAmount: z43.number(),
28247
- suggestedAmount: z43.number().nullable(),
28248
- currency: z43.string(),
28249
- display: z43.object({
28250
- kind: z43.literal("range"),
28251
- minAmount: z43.number(),
28252
- maxAmount: z43.number(),
28253
- currency: z43.string()
28542
+ z44.object({
28543
+ kind: z44.literal("sliding_scale"),
28544
+ minAmount: z44.number(),
28545
+ maxAmount: z44.number(),
28546
+ suggestedAmount: z44.number().nullable(),
28547
+ currency: z44.string(),
28548
+ display: z44.object({
28549
+ kind: z44.literal("range"),
28550
+ minAmount: z44.number(),
28551
+ maxAmount: z44.number(),
28552
+ currency: z44.string()
28254
28553
  })
28255
28554
  }),
28256
- z43.object({
28257
- kind: z43.literal("course"),
28258
- display: z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28555
+ z44.object({
28556
+ kind: z44.literal("course"),
28557
+ display: z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
28259
28558
  }),
28260
- z43.object({
28261
- kind: z43.literal("external"),
28262
- display: z43.object({ kind: z43.literal("external"), label: z43.string() })
28559
+ z44.object({
28560
+ kind: z44.literal("external"),
28561
+ display: z44.object({ kind: z44.literal("external"), label: z44.string() })
28263
28562
  })
28264
28563
  ]);
28265
- var publicTeamMemberSummarySchema = z43.object({
28266
- id: z43.string(),
28267
- name: z43.string(),
28268
- roleLabel: z43.string().nullable(),
28269
- summary: z43.string().nullable(),
28270
- profilePath: z43.string().nullable()
28564
+ var publicTeamMemberSummarySchema = z44.object({
28565
+ id: z44.string(),
28566
+ name: z44.string(),
28567
+ roleLabel: z44.string().nullable(),
28568
+ summary: z44.string().nullable(),
28569
+ profilePath: z44.string().nullable()
28271
28570
  });
28272
- var publicEventSchema = z43.object({
28273
- kind: z43.enum(["event", "course_session"]).optional(),
28571
+ var publicEventSchema = z44.object({
28572
+ kind: z44.enum(["event", "course_session"]).optional(),
28274
28573
  eventPreset: eventPresetSchema.optional(),
28275
28574
  eventDestinationMode: eventDestinationModeSchema.optional(),
28276
28575
  scheduleScope: eventScheduleScopeSchema.optional(),
28277
- id: z43.string(),
28278
- occurrenceId: z43.string(),
28279
- seriesId: z43.string(),
28280
- title: z43.string(),
28281
- description: z43.string().nullable(),
28282
- content: z43.object({
28576
+ id: z44.string(),
28577
+ occurrenceId: z44.string(),
28578
+ seriesId: z44.string(),
28579
+ title: z44.string(),
28580
+ description: z44.string().nullable(),
28581
+ content: z44.object({
28283
28582
  body: RichTextDocSchema.nullable().optional()
28284
28583
  }).optional(),
28285
- presentation: z43.object({
28286
- cardTitleOverride: z43.string().nullable().optional(),
28287
- summary: z43.string().nullable().optional(),
28584
+ presentation: z44.object({
28585
+ cardTitleOverride: z44.string().nullable().optional(),
28586
+ summary: z44.string().nullable().optional(),
28288
28587
  image: mediaSchema2.nullable().optional()
28289
28588
  }).optional(),
28290
- slug: z43.string(),
28291
- path: z43.string().nullable(),
28589
+ slug: z44.string(),
28590
+ path: z44.string().nullable(),
28292
28591
  destination: publicEventDestinationSchema,
28293
- requiresRegistration: z43.boolean(),
28294
- deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
28295
- attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
28296
- startsAt: z43.string(),
28297
- endsAt: z43.string(),
28298
- capacity: z43.number().nullable(),
28299
- registeredCount: z43.number(),
28300
- availableSpots: z43.number().nullable(),
28301
- waitlistEnabled: z43.boolean(),
28592
+ requiresRegistration: z44.boolean(),
28593
+ deliveryMode: z44.enum(["in_person", "online", "hybrid"]),
28594
+ attendanceModes: z44.array(publicEventAttendanceModeAvailabilitySchema),
28595
+ startsAt: z44.string(),
28596
+ endsAt: z44.string(),
28597
+ capacity: z44.number().nullable(),
28598
+ registeredCount: z44.number(),
28599
+ availableSpots: z44.number().nullable(),
28600
+ waitlistEnabled: z44.boolean(),
28302
28601
  venue: eventVenueSchema.nullable(),
28303
28602
  eventCategory: eventCategorySchema.nullable(),
28304
- teamMembers: z43.array(publicTeamMemberSummarySchema).optional(),
28305
- status: z43.enum(["active", "draft", "archived"]).optional(),
28306
- timeZone: z43.string(),
28603
+ teamMembers: z44.array(publicTeamMemberSummarySchema).optional(),
28604
+ status: z44.enum(["active", "draft", "archived"]).optional(),
28605
+ timeZone: z44.string(),
28307
28606
  pricing: publicEventPricingSchema,
28308
28607
  paymentTerms: blockBookingPaymentTermsSchema,
28309
28608
  accessRestriction: accessRestrictionSchema,
28310
- allowedCategoryIds: z43.array(z43.string()),
28311
- requireGuestDetails: z43.boolean().optional(),
28312
- acceptsPasses: z43.boolean().optional(),
28313
- acceptsMemberships: z43.boolean().optional(),
28314
- course: z43.object({
28315
- id: z43.string(),
28609
+ allowedCategoryIds: z44.array(z44.string()),
28610
+ requireGuestDetails: z44.boolean().optional(),
28611
+ acceptsPasses: z44.boolean().optional(),
28612
+ acceptsMemberships: z44.boolean().optional(),
28613
+ course: z44.object({
28614
+ id: z44.string(),
28316
28615
  pricing: coursePricingSchema.optional(),
28317
- priceCents: z43.number().nullable(),
28318
- currency: z43.string(),
28319
- enrollmentOpen: z43.boolean()
28616
+ priceCents: z44.number().nullable(),
28617
+ currency: z44.string(),
28618
+ enrollmentOpen: z44.boolean()
28320
28619
  }).nullable().optional()
28321
28620
  });
28322
- var publicEventsArraySchema = z43.array(publicEventSchema);
28621
+ var publicEventsArraySchema = z44.array(publicEventSchema);
28323
28622
 
28324
28623
  // ../blocks/src/system/blocks/events/shared/fields.ts
28325
28624
  var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
@@ -28522,52 +28821,80 @@ function normalizeEventStaffMemberId(value) {
28522
28821
  return trimmed ? trimmed : null;
28523
28822
  }
28524
28823
 
28824
+ // ../blocks/src/system/blocks/events/shared/layout.ts
28825
+ var recoverEmptyHeadingWhenActive = {
28826
+ kind: "recover-empty-when-active",
28827
+ placeholder: "Add heading"
28828
+ };
28829
+ var recoverEmptyDescriptionWhenActive = {
28830
+ kind: "recover-empty-when-active",
28831
+ placeholder: "Add description"
28832
+ };
28833
+ function eventSectionHeaderLayoutNodes() {
28834
+ return [
28835
+ text(
28836
+ { as: "h2" },
28837
+ bind("content.heading"),
28838
+ when("content.heading", {
28839
+ authoringPresence: recoverEmptyHeadingWhenActive
28840
+ })
28841
+ ),
28842
+ richText(
28843
+ { className: "rb-prose rb-max-w-none" },
28844
+ bind("content.description"),
28845
+ when("content.description", {
28846
+ authoringPresence: recoverEmptyDescriptionWhenActive
28847
+ })
28848
+ )
28849
+ ];
28850
+ }
28851
+
28525
28852
  // ../blocks/src/system/blocks/shop.shared.ts
28526
- import { z as z44 } from "zod";
28527
- var publicPassProductSchema = z44.object({
28528
- id: z44.string(),
28529
- productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
28530
- name: z44.string(),
28531
- description: z44.string().nullable(),
28532
- price: z44.number(),
28533
- currency: z44.string(),
28534
- creditsTotal: z44.number(),
28535
- pricePerCredit: z44.number(),
28536
- validDays: z44.number().nullable(),
28537
- eligibleCategoryIds: z44.array(z44.string()),
28538
- eligibleCategoryNames: z44.array(z44.string())
28539
- });
28540
- var publicPassProductCollectionSchema = z44.object({
28541
- passes: z44.array(publicPassProductSchema)
28542
- });
28543
- var publicMembershipProductSchema = z44.object({
28544
- id: z44.string(),
28545
- name: z44.string(),
28546
- description: z44.string().nullable(),
28547
- price: z44.number(),
28548
- currency: z44.string(),
28549
- billingInterval: z44.enum(["month", "year"]),
28550
- eligibleCategoryIds: z44.array(z44.string()),
28551
- eligibleCategoryNames: z44.array(z44.string())
28853
+ import { z as z45 } from "zod";
28854
+ var publicPassProductSchema = z45.object({
28855
+ id: z45.string(),
28856
+ productUseCase: z45.enum(["event_pass", "appointment_package"]).default("event_pass"),
28857
+ name: z45.string(),
28858
+ description: z45.string().nullable(),
28859
+ price: z45.number(),
28860
+ currency: z45.string(),
28861
+ creditsTotal: z45.number(),
28862
+ pricePerCredit: z45.number(),
28863
+ validDays: z45.number().nullable(),
28864
+ eligibleCategoryIds: z45.array(z45.string()),
28865
+ eligibleCategoryNames: z45.array(z45.string())
28866
+ });
28867
+ var publicPassProductCollectionSchema = z45.object({
28868
+ passes: z45.array(publicPassProductSchema)
28869
+ });
28870
+ var publicMembershipProductSchema = z45.object({
28871
+ id: z45.string(),
28872
+ name: z45.string(),
28873
+ description: z45.string().nullable(),
28874
+ price: z45.number(),
28875
+ currency: z45.string(),
28876
+ billingInterval: z45.enum(["month", "year"]),
28877
+ eligibleCategoryIds: z45.array(z45.string()),
28878
+ eligibleCategoryNames: z45.array(z45.string())
28552
28879
  });
28553
- var publicMembershipProductCollectionSchema = z44.object({
28554
- memberships: z44.array(publicMembershipProductSchema)
28880
+ var publicMembershipProductCollectionSchema = z45.object({
28881
+ memberships: z45.array(publicMembershipProductSchema)
28555
28882
  });
28556
28883
 
28557
28884
  // ../blocks/src/system/blocks/event-registration.shared.ts
28558
- import { z as z45 } from "zod";
28559
- var occurrenceContextSchema = z45.object({
28560
- id: z45.string(),
28561
- seriesId: z45.string(),
28562
- startsAt: z45.string(),
28563
- endsAt: z45.string(),
28564
- timeZone: z45.string(),
28565
- capacityOverride: z45.number().nullable().optional(),
28566
- overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
28885
+ import { z as z46 } from "zod";
28886
+ var occurrenceContextSchema = z46.object({
28887
+ id: z46.string(),
28888
+ seriesId: z46.string(),
28889
+ startsAt: z46.string(),
28890
+ endsAt: z46.string(),
28891
+ timeZone: z46.string(),
28892
+ capacityOverride: z46.number().nullable().optional(),
28893
+ overrides: z46.record(z46.string(), z46.unknown()).nullable().optional()
28567
28894
  }).nullable();
28568
28895
 
28569
28896
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28570
- import { z as z47 } from "zod";
28897
+ import { z as z48 } from "zod";
28571
28898
 
28572
28899
  // ../blocks/src/system/constants/events.ts
28573
28900
  var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
@@ -28754,17 +29081,17 @@ function readAmount(value) {
28754
29081
  }
28755
29082
 
28756
29083
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
28757
- import { z as z46 } from "zod";
28758
- var previewStageSchema = z46.enum(["preview", "published"]);
28759
- var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
28760
- var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
28761
- var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
28762
- var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
28763
- var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
28764
- var columnOptionSchema = z46.enum(["2", "3", "4"]);
28765
- var weekStartSchema = z46.enum(["sunday", "monday"]);
28766
- var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
28767
- var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
29084
+ import { z as z47 } from "zod";
29085
+ var previewStageSchema = z47.enum(["preview", "published"]);
29086
+ var registrationButtonVariantSchema = z47.enum(["primary", "secondary", "outline"]);
29087
+ var eventButtonVariantSchema = z47.enum(["primary", "secondary", "outline", "link"]);
29088
+ var eventLayoutSchema = z47.enum(eventCalendarListLayoutValues);
29089
+ var eventCalendarDisplayModeSchema = z47.enum(eventCalendarDisplayModeValues);
29090
+ var eventCalendarDefaultViewSchema = z47.enum(eventCalendarDefaultViewValues);
29091
+ var columnOptionSchema = z47.enum(["2", "3", "4"]);
29092
+ var weekStartSchema = z47.enum(["sunday", "monday"]);
29093
+ var filterAutoShowSchema = z47.enum(["auto", "always", "never"]);
29094
+ var calendarTabViewsSchema = z47.enum(["both", "month", "week"]);
28768
29095
 
28769
29096
  // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
28770
29097
  function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
@@ -28824,72 +29151,72 @@ function toRegistrationEvents(events) {
28824
29151
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28825
29152
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
28826
29153
  var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
28827
- var contentEntrySchema = z47.object({
28828
- id: z47.string(),
28829
- slug: z47.string(),
28830
- contentTypeSlug: z47.string()
29154
+ var contentEntrySchema = z48.object({
29155
+ id: z48.string(),
29156
+ slug: z48.string(),
29157
+ contentTypeSlug: z48.string()
28831
29158
  });
28832
- var eventRegistrationPublicEventSchema = z47.preprocess(
29159
+ var eventRegistrationPublicEventSchema = z48.preprocess(
28833
29160
  normalizeEventRegistrationEventInput,
28834
29161
  publicEventSchema
28835
29162
  );
28836
- var eventRegistrationSourceSchema = z47.object({
28837
- siteId: z47.string().optional(),
28838
- apiBaseUrl: z47.string().optional(),
28839
- portalToken: z47.string().nullable().optional(),
28840
- previewToken: z47.string().nullable().optional(),
29163
+ var eventRegistrationSourceSchema = z48.object({
29164
+ siteId: z48.string().optional(),
29165
+ apiBaseUrl: z48.string().optional(),
29166
+ portalToken: z48.string().nullable().optional(),
29167
+ previewToken: z48.string().nullable().optional(),
28841
29168
  occurrenceContext: occurrenceContextSchema.optional(),
28842
29169
  contentEntry: contentEntrySchema.nullable().optional(),
28843
- events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28844
- className: z47.string().nullable().optional(),
28845
- buttonText: z47.string().nullable().optional(),
28846
- maxTickets: z47.string().nullable().optional(),
28847
- showVenue: z47.boolean().optional(),
28848
- showCapacity: z47.boolean().optional(),
28849
- successMessage: z47.string().optional(),
28850
- waitlistMessage: z47.string().optional(),
29170
+ events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
29171
+ className: z48.string().nullable().optional(),
29172
+ buttonText: z48.string().nullable().optional(),
29173
+ maxTickets: z48.string().nullable().optional(),
29174
+ showVenue: z48.boolean().optional(),
29175
+ showCapacity: z48.boolean().optional(),
29176
+ successMessage: z48.string().optional(),
29177
+ waitlistMessage: z48.string().optional(),
28851
29178
  buttonVariant: registrationButtonVariantSchema.optional(),
28852
- overlayEnabled: z47.boolean().optional(),
28853
- spamProtectionEnabled: z47.boolean().optional(),
29179
+ overlayEnabled: z48.boolean().optional(),
29180
+ spamProtectionEnabled: z48.boolean().optional(),
28854
29181
  stage: previewStageSchema.optional(),
28855
- supportEmail: z47.string().optional(),
29182
+ supportEmail: z48.string().optional(),
28856
29183
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28857
29184
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28858
29185
  });
28859
- var eventRegistrationDisplaySchema = z47.object({
28860
- kind: z47.literal("event-registration"),
28861
- state: z47.literal("generic-shell"),
28862
- className: z47.string().nullable(),
28863
- titleText: z47.string(),
28864
- bodyText: z47.string(),
28865
- stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28866
- summaryButtonText: z47.string()
29186
+ var eventRegistrationDisplaySchema = z48.object({
29187
+ kind: z48.literal("event-registration"),
29188
+ state: z48.literal("generic-shell"),
29189
+ className: z48.string().nullable(),
29190
+ titleText: z48.string(),
29191
+ bodyText: z48.string(),
29192
+ stepLabels: z48.array(z48.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
29193
+ summaryButtonText: z48.string()
28867
29194
  });
28868
- var eventRegistrationHydrationSchema = z47.object({
29195
+ var eventRegistrationHydrationSchema = z48.object({
28869
29196
  occurrenceContext: occurrenceContextSchema.optional(),
28870
29197
  contentEntry: contentEntrySchema.nullable().optional(),
28871
- events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28872
- maxTickets: z47.string().optional(),
28873
- showVenue: z47.boolean().optional(),
28874
- showCapacity: z47.boolean().optional(),
28875
- successMessage: z47.string().optional(),
28876
- waitlistMessage: z47.string().optional(),
29198
+ events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
29199
+ maxTickets: z48.string().optional(),
29200
+ showVenue: z48.boolean().optional(),
29201
+ showCapacity: z48.boolean().optional(),
29202
+ successMessage: z48.string().optional(),
29203
+ waitlistMessage: z48.string().optional(),
28877
29204
  buttonVariant: registrationButtonVariantSchema.optional(),
28878
- overlayEnabled: z47.boolean().optional(),
28879
- spamProtectionEnabled: z47.boolean().optional(),
28880
- supportEmail: z47.string().optional(),
29205
+ overlayEnabled: z48.boolean().optional(),
29206
+ spamProtectionEnabled: z48.boolean().optional(),
29207
+ supportEmail: z48.string().optional(),
28881
29208
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28882
29209
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28883
29210
  });
28884
- var eventRegistrationRenderSchema = z47.object({
29211
+ var eventRegistrationRenderSchema = z48.object({
28885
29212
  display: eventRegistrationDisplaySchema,
28886
29213
  hydration: eventRegistrationHydrationSchema
28887
29214
  });
28888
- var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
28889
- siteId: z47.string().optional(),
28890
- apiBaseUrl: z47.string().optional(),
28891
- portalToken: z47.string().nullable().optional(),
28892
- previewToken: z47.string().nullable().optional(),
29215
+ var eventRegistrationIslandMetaCodec = createZodCodec(z48.object({
29216
+ siteId: z48.string().optional(),
29217
+ apiBaseUrl: z48.string().optional(),
29218
+ portalToken: z48.string().nullable().optional(),
29219
+ previewToken: z48.string().nullable().optional(),
28893
29220
  stage: previewStageSchema.optional()
28894
29221
  }));
28895
29222
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -29240,73 +29567,73 @@ var eventRegistrationBlockDefinition = {
29240
29567
  };
29241
29568
 
29242
29569
  // ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
29243
- import { z as z48 } from "zod";
29244
- var contentEntrySchema2 = z48.object({
29245
- id: z48.string(),
29246
- slug: z48.string(),
29247
- contentTypeSlug: z48.string()
29248
- });
29249
- var courseEntrySubrouteContextSchema = z48.union([
29250
- z48.object({
29251
- kind: z48.literal("course-run"),
29252
- run: z48.object({
29253
- courseId: z48.string(),
29254
- seriesId: z48.string(),
29255
- runSlug: z48.string(),
29256
- runName: z48.string().nullable()
29570
+ import { z as z49 } from "zod";
29571
+ var contentEntrySchema2 = z49.object({
29572
+ id: z49.string(),
29573
+ slug: z49.string(),
29574
+ contentTypeSlug: z49.string()
29575
+ });
29576
+ var courseEntrySubrouteContextSchema = z49.union([
29577
+ z49.object({
29578
+ kind: z49.literal("course-run"),
29579
+ run: z49.object({
29580
+ courseId: z49.string(),
29581
+ seriesId: z49.string(),
29582
+ runSlug: z49.string(),
29583
+ runName: z49.string().nullable()
29257
29584
  })
29258
29585
  }),
29259
- z48.object({
29260
- kind: z48.literal("event-occurrence"),
29586
+ z49.object({
29587
+ kind: z49.literal("event-occurrence"),
29261
29588
  occurrence: occurrenceContextSchema
29262
29589
  })
29263
29590
  ]);
29264
- var courseRegistrationSourceSchema = z48.object({
29265
- siteId: z48.string().optional(),
29266
- apiBaseUrl: z48.string().optional(),
29267
- portalToken: z48.string().nullable().optional(),
29591
+ var courseRegistrationSourceSchema = z49.object({
29592
+ siteId: z49.string().optional(),
29593
+ apiBaseUrl: z49.string().optional(),
29594
+ portalToken: z49.string().nullable().optional(),
29268
29595
  contentEntry: contentEntrySchema2.nullable().optional(),
29269
29596
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
29270
- courses: z48.array(publicCourseSchema).nullable().optional(),
29271
- className: z48.string().nullable().optional(),
29272
- showSessions: z48.boolean().optional(),
29273
- showPrice: z48.boolean().optional(),
29274
- showCapacity: z48.boolean().optional(),
29275
- showVenue: z48.boolean().optional(),
29276
- successMessage: z48.string().optional(),
29277
- waitlistMessage: z48.string().optional(),
29278
- membershipMessage: z48.string().optional(),
29279
- buttonText: z48.string().nullable().optional(),
29597
+ courses: z49.array(publicCourseSchema).nullable().optional(),
29598
+ className: z49.string().nullable().optional(),
29599
+ showSessions: z49.boolean().optional(),
29600
+ showPrice: z49.boolean().optional(),
29601
+ showCapacity: z49.boolean().optional(),
29602
+ showVenue: z49.boolean().optional(),
29603
+ successMessage: z49.string().optional(),
29604
+ waitlistMessage: z49.string().optional(),
29605
+ membershipMessage: z49.string().optional(),
29606
+ buttonText: z49.string().nullable().optional(),
29280
29607
  buttonVariant: registrationButtonVariantSchema.optional(),
29281
29608
  stage: previewStageSchema.optional()
29282
29609
  });
29283
- var courseRegistrationDisplaySchema = z48.object({
29284
- kind: z48.literal("course-registration"),
29285
- state: z48.literal("shell"),
29286
- className: z48.string().nullable(),
29287
- summaryButtonText: z48.string()
29610
+ var courseRegistrationDisplaySchema = z49.object({
29611
+ kind: z49.literal("course-registration"),
29612
+ state: z49.literal("shell"),
29613
+ className: z49.string().nullable(),
29614
+ summaryButtonText: z49.string()
29288
29615
  });
29289
- var courseRegistrationHydrationSchema = z48.object({
29616
+ var courseRegistrationHydrationSchema = z49.object({
29290
29617
  contentEntry: contentEntrySchema2.nullable().optional(),
29291
29618
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
29292
- courses: z48.array(publicCourseSchema).nullable().optional(),
29293
- showSessions: z48.boolean().optional(),
29294
- showPrice: z48.boolean().optional(),
29295
- showCapacity: z48.boolean().optional(),
29296
- showVenue: z48.boolean().optional(),
29297
- successMessage: z48.string().optional(),
29298
- waitlistMessage: z48.string().optional(),
29299
- membershipMessage: z48.string().optional(),
29619
+ courses: z49.array(publicCourseSchema).nullable().optional(),
29620
+ showSessions: z49.boolean().optional(),
29621
+ showPrice: z49.boolean().optional(),
29622
+ showCapacity: z49.boolean().optional(),
29623
+ showVenue: z49.boolean().optional(),
29624
+ successMessage: z49.string().optional(),
29625
+ waitlistMessage: z49.string().optional(),
29626
+ membershipMessage: z49.string().optional(),
29300
29627
  buttonVariant: registrationButtonVariantSchema.optional()
29301
29628
  });
29302
- var courseRegistrationRenderSchema = z48.object({
29629
+ var courseRegistrationRenderSchema = z49.object({
29303
29630
  display: courseRegistrationDisplaySchema,
29304
29631
  hydration: courseRegistrationHydrationSchema
29305
29632
  });
29306
- var courseRegistrationIslandMetaCodec = createZodCodec(z48.object({
29307
- siteId: z48.string().optional(),
29308
- apiBaseUrl: z48.string().optional(),
29309
- portalToken: z48.string().nullable().optional(),
29633
+ var courseRegistrationIslandMetaCodec = createZodCodec(z49.object({
29634
+ siteId: z49.string().optional(),
29635
+ apiBaseUrl: z49.string().optional(),
29636
+ portalToken: z49.string().nullable().optional(),
29310
29637
  stage: previewStageSchema.optional()
29311
29638
  }));
29312
29639
  var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -29566,7 +29893,7 @@ var courseRegistrationBlockDefinition = {
29566
29893
  };
29567
29894
 
29568
29895
  // ../blocks/src/system/blocks/event-details.ts
29569
- import { z as z49 } from "zod";
29896
+ import { z as z50 } from "zod";
29570
29897
  var eventDetailsManifest = createBlockManifest({
29571
29898
  id: "block.event-details",
29572
29899
  version: "1.0.0",
@@ -29698,37 +30025,37 @@ var eventDetailsManifest = createBlockManifest({
29698
30025
  })
29699
30026
  ]
29700
30027
  });
29701
- var occurrenceContextSchema2 = z49.object({
29702
- id: z49.string(),
29703
- seriesId: z49.string(),
29704
- startsAt: z49.string(),
29705
- endsAt: z49.string(),
29706
- timeZone: z49.string(),
29707
- capacityOverride: z49.number().nullable().optional(),
29708
- overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
30028
+ var occurrenceContextSchema2 = z50.object({
30029
+ id: z50.string(),
30030
+ seriesId: z50.string(),
30031
+ startsAt: z50.string(),
30032
+ endsAt: z50.string(),
30033
+ timeZone: z50.string(),
30034
+ capacityOverride: z50.number().nullable().optional(),
30035
+ overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
29709
30036
  }).nullable();
29710
- var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
29711
- id: z49.string(),
29712
- publicLabel: z49.string(),
29713
- description: z49.string().nullable(),
29714
- minTicketsRequired: z49.number().nullable()
30037
+ var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
30038
+ id: z50.string(),
30039
+ publicLabel: z50.string(),
30040
+ description: z50.string().nullable(),
30041
+ minTicketsRequired: z50.number().nullable()
29715
30042
  });
29716
- var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
30043
+ var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
29717
30044
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29718
- discountType: z49.literal("percent"),
29719
- discountPercent: z49.number(),
29720
- discountAmountCents: z49.null()
30045
+ discountType: z50.literal("percent"),
30046
+ discountPercent: z50.number(),
30047
+ discountAmountCents: z50.null()
29721
30048
  }),
29722
30049
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29723
- discountType: z49.literal("fixed"),
29724
- discountPercent: z49.null(),
29725
- discountAmountCents: z49.number()
30050
+ discountType: z50.literal("fixed"),
30051
+ discountPercent: z50.null(),
30052
+ discountAmountCents: z50.number()
29726
30053
  })
29727
30054
  ]);
29728
30055
  var eventDetailsBlockDefinition = {
29729
30056
  manifest: eventDetailsManifest,
29730
30057
  dataSchemas: {
29731
- eventDetailsData: z49.object({
30058
+ eventDetailsData: z50.object({
29732
30059
  events: publicEventsArraySchema,
29733
30060
  sitePasses: publicPassProductCollectionSchema,
29734
30061
  siteMemberships: publicMembershipProductCollectionSchema,
@@ -29983,18 +30310,7 @@ var eventSpotlightFields = [
29983
30310
  var eventSpotlightLayout = [
29984
30311
  styledSection({
29985
30312
  children: sectionContainer([
29986
- // Optional heading
29987
- text(
29988
- { as: "h2" },
29989
- bind("content.heading"),
29990
- when("content.heading")
29991
- ),
29992
- // Optional description
29993
- richText(
29994
- { className: "rb-prose rb-max-w-none" },
29995
- bind("content.description"),
29996
- when("content.description")
29997
- ),
30313
+ ...eventSectionHeaderLayoutNodes(),
29998
30314
  // Event spotlight component
29999
30315
  el("event-spotlight", {
30000
30316
  events: { $bind: { from: "data.events" } },
@@ -30055,7 +30371,7 @@ var eventSpotlightBlockDefinition = {
30055
30371
  };
30056
30372
 
30057
30373
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
30058
- import { z as z51 } from "zod";
30374
+ import { z as z52 } from "zod";
30059
30375
 
30060
30376
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
30061
30377
  var COLUMN_CLASSES = {
@@ -30163,16 +30479,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
30163
30479
  }
30164
30480
 
30165
30481
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
30166
- import { z as z50 } from "zod";
30482
+ import { z as z51 } from "zod";
30167
30483
  var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
30168
- var eventPageSizeSchema = z50.union([
30169
- z50.literal(3),
30170
- z50.literal(6),
30171
- z50.literal(10),
30172
- z50.literal(12),
30173
- z50.literal(20),
30174
- z50.literal(24),
30175
- z50.literal(30)
30484
+ var eventPageSizeSchema = z51.union([
30485
+ z51.literal(3),
30486
+ z51.literal(6),
30487
+ z51.literal(10),
30488
+ z51.literal(12),
30489
+ z51.literal(20),
30490
+ z51.literal(24),
30491
+ z51.literal(30)
30176
30492
  ]);
30177
30493
  var eventPageSizeSet = new Set(eventPageSizeValues);
30178
30494
  function resolveEventPageSize(value, fallback = 12) {
@@ -30182,15 +30498,15 @@ function resolveEventPageSize(value, fallback = 12) {
30182
30498
  function resolveEventCalendarListPageSize(input) {
30183
30499
  return resolveEventPageSize(input.eventsPerPage);
30184
30500
  }
30185
- var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
30186
- z50.object({
30187
- kind: z50.literal("loadMore"),
30188
- label: z50.string()
30501
+ var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
30502
+ z51.object({
30503
+ kind: z51.literal("loadMore"),
30504
+ label: z51.string()
30189
30505
  }),
30190
- z50.object({
30191
- kind: z50.literal("seeAllLink"),
30192
- label: z50.string(),
30193
- href: z50.string()
30506
+ z51.object({
30507
+ kind: z51.literal("seeAllLink"),
30508
+ label: z51.string(),
30509
+ href: z51.string()
30194
30510
  })
30195
30511
  ]);
30196
30512
  function resolveEventListPaginationAction(input) {
@@ -30203,89 +30519,89 @@ function resolveEventListPaginationAction(input) {
30203
30519
  }
30204
30520
 
30205
30521
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
30206
- var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
30207
- var eventCardVariantInputSchema = z51.union([
30522
+ var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
30523
+ var eventCardVariantInputSchema = z52.union([
30208
30524
  cardVariantRoleSchema,
30209
30525
  legacyEventCardVariantSchema
30210
30526
  ]);
30211
- var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
30212
- var eventBlockKindSchema = z51.enum(eventBlockKindValues);
30213
- var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
30214
- var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
30215
- var eventListingSourceSchema = z51.object({
30216
- events: z51.array(publicEventSchema).nullable().optional(),
30217
- siteId: z51.string(),
30218
- apiBaseUrl: z51.string().optional(),
30527
+ var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
30528
+ var eventBlockKindSchema = z52.enum(eventBlockKindValues);
30529
+ var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
30530
+ var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
30531
+ var eventListingSourceSchema = z52.object({
30532
+ events: z52.array(publicEventSchema).nullable().optional(),
30533
+ siteId: z52.string(),
30534
+ apiBaseUrl: z52.string().optional(),
30219
30535
  stage: previewStageSchema.optional(),
30220
30536
  layout: eventLayoutSchema.optional(),
30221
30537
  columns: columnOptionSchema.optional(),
30222
- eventsPerPage: z51.string().optional(),
30223
- paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
30224
- seeAllUrl: z51.string().optional(),
30225
- loadMoreText: z51.string().optional(),
30538
+ eventsPerPage: z52.string().optional(),
30539
+ paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30540
+ seeAllUrl: z52.string().optional(),
30541
+ loadMoreText: z52.string().optional(),
30226
30542
  cardVariant: eventCardVariantInputSchema.optional(),
30227
30543
  buttonVariant: eventButtonVariantSchema.optional(),
30228
- buttonText: z51.string().optional(),
30229
- showVenue: z51.boolean().optional(),
30230
- showMap: z51.boolean().optional(),
30231
- showCapacity: z51.boolean().optional(),
30232
- emptyMessage: z51.string().optional(),
30233
- className: z51.string().optional(),
30234
- showFilters: z51.boolean().nullable().optional(),
30544
+ buttonText: z52.string().optional(),
30545
+ showVenue: z52.boolean().optional(),
30546
+ showMap: z52.boolean().optional(),
30547
+ showCapacity: z52.boolean().optional(),
30548
+ emptyMessage: z52.string().optional(),
30549
+ className: z52.string().optional(),
30550
+ showFilters: z52.boolean().nullable().optional(),
30235
30551
  showCategoryFilter: filterAutoShowSchema.optional(),
30236
- showVenueFilter: z51.boolean().nullable().optional(),
30237
- showStaffFilter: z51.boolean().nullable().optional(),
30552
+ showVenueFilter: z52.boolean().nullable().optional(),
30553
+ showStaffFilter: z52.boolean().nullable().optional(),
30238
30554
  eventKind: eventBlockKindSchema.nullable().optional(),
30239
30555
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
30240
- filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
30556
+ filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30241
30557
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
30242
- filterCategoryIds: z51.string().nullable().optional(),
30243
- filterStaffMemberId: z51.string().nullable().optional(),
30244
- filterVenueId: z51.string().nullable().optional()
30558
+ filterCategoryIds: z52.string().nullable().optional(),
30559
+ filterStaffMemberId: z52.string().nullable().optional(),
30560
+ filterVenueId: z52.string().nullable().optional()
30245
30561
  });
30246
- var eventListingDisplaySchema = z51.object({
30247
- kind: z51.literal("event-listing"),
30248
- state: z51.enum(["loading", "empty", "ready"]),
30562
+ var eventListingDisplaySchema = z52.object({
30563
+ kind: z52.literal("event-listing"),
30564
+ state: z52.enum(["loading", "empty", "ready"]),
30249
30565
  listLayout: eventLayoutSchema,
30250
- className: z51.string().nullable(),
30251
- emptyMessage: z51.string(),
30252
- loadingMessage: z51.string(),
30253
- containerClass: z51.string(),
30566
+ className: z52.string().nullable(),
30567
+ emptyMessage: z52.string(),
30568
+ loadingMessage: z52.string(),
30569
+ containerClass: z52.string(),
30254
30570
  cardVariant: cardVariantRoleSchema,
30255
30571
  buttonVariant: eventButtonVariantSchema,
30256
- buttonText: z51.string(),
30257
- showVenue: z51.boolean(),
30258
- showMap: z51.boolean(),
30259
- showCapacity: z51.boolean(),
30572
+ buttonText: z52.string(),
30573
+ showVenue: z52.boolean(),
30574
+ showMap: z52.boolean(),
30575
+ showCapacity: z52.boolean(),
30260
30576
  orientation: cardOrientationSchema,
30261
- events: z51.array(publicEventSchema)
30577
+ events: z52.array(publicEventSchema)
30262
30578
  });
30263
- var eventListingHydrationSchema = z51.object({
30264
- siteId: z51.string(),
30579
+ var eventListingHydrationSchema = z52.object({
30580
+ siteId: z52.string(),
30265
30581
  stage: previewStageSchema.optional(),
30266
30582
  eventsPerPage: eventPageSizeSchema,
30267
30583
  paginationAction: eventListPaginationActionSchema,
30268
- showFilters: z51.boolean(),
30584
+ showFilters: z52.boolean(),
30269
30585
  showCategoryFilter: filterAutoShowSchema,
30270
- showVenueFilter: z51.boolean(),
30271
- showStaffFilter: z51.boolean(),
30586
+ showVenueFilter: z52.boolean(),
30587
+ showStaffFilter: z52.boolean(),
30272
30588
  eventKind: eventBlockKindSchema,
30273
30589
  eventSurface: eventSurfaceScopeSchema,
30274
- filterEventPresets: z51.string().nullable(),
30590
+ filterEventPresets: z52.string().nullable(),
30275
30591
  scheduleScope: eventScheduleScopeSchema2,
30276
- filterCategoryIds: z51.string().nullable().optional(),
30277
- filterStaffMemberId: z51.string().nullable().optional(),
30278
- filterVenueId: z51.string().nullable().optional(),
30279
- fetchInitialEventsOnMount: z51.boolean()
30592
+ filterCategoryIds: z52.string().nullable().optional(),
30593
+ filterStaffMemberId: z52.string().nullable().optional(),
30594
+ filterVenueId: z52.string().nullable().optional(),
30595
+ fetchInitialEventsOnMount: z52.boolean()
30280
30596
  });
30281
- var eventListingRenderSchema = z51.object({
30597
+ var eventListingRenderSchema = z52.object({
30282
30598
  display: eventListingDisplaySchema,
30283
30599
  hydration: eventListingHydrationSchema
30284
30600
  });
30285
30601
  var eventListingIslandMetaCodec = createZodCodec(
30286
- z51.object({
30287
- siteId: z51.string(),
30288
- apiBaseUrl: z51.string().optional(),
30602
+ z52.object({
30603
+ siteId: z52.string(),
30604
+ apiBaseUrl: z52.string().optional(),
30289
30605
  stage: previewStageSchema.optional()
30290
30606
  })
30291
30607
  );
@@ -30525,18 +30841,7 @@ var eventListingAdditionalFields = [
30525
30841
  var eventListingLayout = [
30526
30842
  styledSection({
30527
30843
  children: sectionContainer([
30528
- // Optional heading
30529
- text(
30530
- { as: "h2" },
30531
- bind("content.heading"),
30532
- when("content.heading")
30533
- ),
30534
- // Optional description
30535
- richText(
30536
- { className: "rb-prose rb-max-w-none" },
30537
- bind("content.description"),
30538
- when("content.description")
30539
- ),
30844
+ ...eventSectionHeaderLayoutNodes(),
30540
30845
  // Event listing component with pagination
30541
30846
  el("event-listing", withApiBindings({
30542
30847
  events: { $bind: { from: "data.events" } },
@@ -30652,15 +30957,15 @@ var eventListingBlockDefinition = {
30652
30957
  };
30653
30958
 
30654
30959
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
30655
- import { z as z52 } from "zod";
30656
- var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
30657
- var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
30658
- var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
30659
- var eventCalendarSourceSchema = z52.object(
30960
+ import { z as z53 } from "zod";
30961
+ var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
30962
+ var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
30963
+ var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
30964
+ var eventCalendarSourceSchema = z53.object(
30660
30965
  {
30661
- events: z52.array(publicEventSchema).nullable().optional(),
30662
- siteId: z52.string(),
30663
- apiBaseUrl: z52.string().optional(),
30966
+ events: z53.array(publicEventSchema).nullable().optional(),
30967
+ siteId: z53.string(),
30968
+ apiBaseUrl: z53.string().optional(),
30664
30969
  stage: previewStageSchema.optional(),
30665
30970
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
30666
30971
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -30668,38 +30973,38 @@ var eventCalendarSourceSchema = z52.object(
30668
30973
  listColumns: columnOptionSchema.optional(),
30669
30974
  layout: eventLayoutSchema.optional(),
30670
30975
  columns: columnOptionSchema.optional(),
30671
- eventsPerPage: z52.string().optional(),
30672
- paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30673
- seeAllUrl: z52.string().optional(),
30674
- loadMoreText: z52.string().optional(),
30976
+ eventsPerPage: z53.string().optional(),
30977
+ paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
30978
+ seeAllUrl: z53.string().optional(),
30979
+ loadMoreText: z53.string().optional(),
30675
30980
  startOfWeek: weekStartSchema.optional(),
30676
30981
  calendarTabViews: calendarTabViewsSchema.optional(),
30677
30982
  defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
30678
- showFilters: z52.boolean().nullable().optional(),
30983
+ showFilters: z53.boolean().nullable().optional(),
30679
30984
  showCategoryFilter: filterAutoShowSchema.optional(),
30680
- showVenueFilter: z52.boolean().nullable().optional(),
30681
- showStaffFilter: z52.boolean().nullable().optional(),
30985
+ showVenueFilter: z53.boolean().nullable().optional(),
30986
+ showStaffFilter: z53.boolean().nullable().optional(),
30682
30987
  kind: eventBlockKindSchema2.nullable().optional(),
30683
30988
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
30684
- filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30989
+ filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30685
30990
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
30686
- filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30687
- filterStaffMemberId: z52.string().nullable().optional(),
30688
- filterVenueId: z52.string().nullable().optional(),
30991
+ filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30992
+ filterStaffMemberId: z53.string().nullable().optional(),
30993
+ filterVenueId: z53.string().nullable().optional(),
30689
30994
  buttonVariant: eventButtonVariantSchema.optional(),
30690
- buttonText: z52.string().optional(),
30691
- showVenue: z52.boolean().nullable().optional(),
30692
- showMap: z52.boolean().nullable().optional(),
30693
- showCapacity: z52.boolean().nullable().optional(),
30694
- emptyMessage: z52.string().optional(),
30695
- className: z52.string().optional()
30995
+ buttonText: z53.string().optional(),
30996
+ showVenue: z53.boolean().nullable().optional(),
30997
+ showMap: z53.boolean().nullable().optional(),
30998
+ showCapacity: z53.boolean().nullable().optional(),
30999
+ emptyMessage: z53.string().optional(),
31000
+ className: z53.string().optional()
30696
31001
  }
30697
31002
  );
30698
- var eventCalendarDisplaySchema = z52.object({
30699
- kind: z52.literal("event-calendar"),
31003
+ var eventCalendarDisplaySchema = z53.object({
31004
+ kind: z53.literal("event-calendar"),
30700
31005
  displayMode: eventCalendarDisplayModeSchema,
30701
- className: z52.string().nullable(),
30702
- events: z52.array(publicEventSchema),
31006
+ className: z53.string().nullable(),
31007
+ events: z53.array(publicEventSchema),
30703
31008
  listLayout: eventLayoutSchema,
30704
31009
  listColumns: columnOptionSchema,
30705
31010
  eventsPerPage: eventPageSizeSchema,
@@ -30707,41 +31012,41 @@ var eventCalendarDisplaySchema = z52.object({
30707
31012
  startOfWeek: weekStartSchema,
30708
31013
  calendarTabViews: calendarTabViewsSchema,
30709
31014
  defaultCalendarView: eventCalendarDefaultViewSchema,
30710
- showFilters: z52.boolean(),
31015
+ showFilters: z53.boolean(),
30711
31016
  showCategoryFilter: filterAutoShowSchema,
30712
- showVenueFilter: z52.boolean(),
30713
- showStaffFilter: z52.boolean(),
31017
+ showVenueFilter: z53.boolean(),
31018
+ showStaffFilter: z53.boolean(),
30714
31019
  eventKind: eventBlockKindSchema2,
30715
31020
  eventSurface: eventSurfaceScopeSchema2,
30716
- filterEventPresets: z52.string().nullable(),
31021
+ filterEventPresets: z53.string().nullable(),
30717
31022
  scheduleScope: eventScheduleScopeSchema3,
30718
- filterCategoryIds: z52.string().nullable(),
30719
- filterStaffMemberId: z52.string().nullable(),
30720
- filterVenueId: z52.string().nullable(),
31023
+ filterCategoryIds: z53.string().nullable(),
31024
+ filterStaffMemberId: z53.string().nullable(),
31025
+ filterVenueId: z53.string().nullable(),
30721
31026
  buttonVariant: eventButtonVariantSchema,
30722
- buttonText: z52.string(),
30723
- showVenue: z52.boolean(),
30724
- showMap: z52.boolean(),
30725
- showCapacity: z52.boolean(),
30726
- emptyMessage: z52.string()
30727
- });
30728
- var eventCalendarHydrationSchema = z52.object({
30729
- siteId: z52.string(),
31027
+ buttonText: z53.string(),
31028
+ showVenue: z53.boolean(),
31029
+ showMap: z53.boolean(),
31030
+ showCapacity: z53.boolean(),
31031
+ emptyMessage: z53.string()
31032
+ });
31033
+ var eventCalendarHydrationSchema = z53.object({
31034
+ siteId: z53.string(),
30730
31035
  stage: previewStageSchema.optional(),
30731
- prefetchedEvents: z52.boolean(),
31036
+ prefetchedEvents: z53.boolean(),
30732
31037
  eventKind: eventBlockKindSchema2,
30733
31038
  eventSurface: eventSurfaceScopeSchema2,
30734
- filterEventPresets: z52.string().nullable(),
31039
+ filterEventPresets: z53.string().nullable(),
30735
31040
  scheduleScope: eventScheduleScopeSchema3
30736
31041
  });
30737
- var eventCalendarRenderSchema = z52.object({
31042
+ var eventCalendarRenderSchema = z53.object({
30738
31043
  display: eventCalendarDisplaySchema,
30739
31044
  hydration: eventCalendarHydrationSchema
30740
31045
  });
30741
31046
  var eventCalendarIslandMetaCodec = createZodCodec(
30742
- z52.object({
30743
- siteId: z52.string(),
30744
- apiBaseUrl: z52.string().optional(),
31047
+ z53.object({
31048
+ siteId: z53.string(),
31049
+ apiBaseUrl: z53.string().optional(),
30745
31050
  stage: previewStageSchema.optional()
30746
31051
  })
30747
31052
  );
@@ -30861,14 +31166,7 @@ var eventCalendarLayout = [
30861
31166
  styledSection({
30862
31167
  children: sectionContainer(
30863
31168
  [
30864
- // Optional heading
30865
- text({ as: "h2" }, bind("content.heading"), when("content.heading")),
30866
- // Optional description
30867
- richText(
30868
- { className: "rb-prose rb-max-w-none" },
30869
- bind("content.description"),
30870
- when("content.description")
30871
- ),
31169
+ ...eventSectionHeaderLayoutNodes(),
30872
31170
  // Event calendar component (handles all display modes)
30873
31171
  el(
30874
31172
  "event-calendar",
@@ -31513,7 +31811,7 @@ var eventCalendarBlockDefinition = {
31513
31811
  };
31514
31812
 
31515
31813
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31516
- import { z as z53 } from "zod";
31814
+ import { z as z54 } from "zod";
31517
31815
 
31518
31816
  // ../blocks/src/system/blocks/offerings-preview/model.ts
31519
31817
  var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
@@ -31605,13 +31903,13 @@ function isRecord6(value) {
31605
31903
  }
31606
31904
 
31607
31905
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31608
- var publicRouteCandidatesSchema = z53.object({
31609
- routes: z53.array(z53.object({
31610
- entityId: z53.string(),
31611
- path: z53.string(),
31612
- title: z53.string(),
31613
- kind: z53.enum(["page", "content"]),
31614
- contentTypeKey: z53.string().nullable().optional()
31906
+ var publicRouteCandidatesSchema = z54.object({
31907
+ routes: z54.array(z54.object({
31908
+ entityId: z54.string(),
31909
+ path: z54.string(),
31910
+ title: z54.string(),
31911
+ kind: z54.enum(["page", "content"]),
31912
+ contentTypeKey: z54.string().nullable().optional()
31615
31913
  }))
31616
31914
  });
31617
31915
  var groupOverrideFields = [
@@ -32009,7 +32307,7 @@ function isRecord7(value) {
32009
32307
  }
32010
32308
 
32011
32309
  // ../blocks/src/system/blocks/embed.ts
32012
- import { z as z54 } from "zod";
32310
+ import { z as z55 } from "zod";
32013
32311
  var embedFields = [
32014
32312
  // Section heading
32015
32313
  parseFieldDefinition({
@@ -32240,18 +32538,18 @@ var embedManifest = createBlockManifest({
32240
32538
  spacing: "lg"
32241
32539
  }
32242
32540
  });
32243
- var embedEntrySchema = z54.object({
32244
- id: z54.string(),
32245
- identifier: z54.string(),
32246
- title: z54.string(),
32247
- slug: z54.string().nullable().optional(),
32248
- content: z54.record(z54.string(), z54.unknown()).optional(),
32249
- publishedAt: z54.string().nullable().optional()
32541
+ var embedEntrySchema = z55.object({
32542
+ id: z55.string(),
32543
+ identifier: z55.string(),
32544
+ title: z55.string(),
32545
+ slug: z55.string().nullable().optional(),
32546
+ content: z55.record(z55.string(), z55.unknown()).optional(),
32547
+ publishedAt: z55.string().nullable().optional()
32250
32548
  });
32251
32549
  var embedBlockDefinition = {
32252
32550
  manifest: embedManifest,
32253
32551
  dataSchemas: {
32254
- entries: z54.array(embedEntrySchema).optional()
32552
+ entries: z55.array(embedEntrySchema).optional()
32255
32553
  },
32256
32554
  dataLoaders: {
32257
32555
  entries: {
@@ -33435,49 +33733,49 @@ var fileDownloadBlockDefinition = {
33435
33733
  };
33436
33734
 
33437
33735
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33438
- import { z as z57 } from "zod";
33736
+ import { z as z58 } from "zod";
33439
33737
 
33440
33738
  // ../blocks/src/system/blocks/products/shared.ts
33441
- import { z as z55 } from "zod";
33442
- var publicProductVariantSchema = z55.object({
33443
- id: z55.string(),
33444
- title: z55.string(),
33445
- sku: z55.string().nullable(),
33446
- priceCents: z55.number(),
33447
- stockQuantity: z55.number().nullable(),
33448
- soldOut: z55.boolean()
33449
- });
33450
- var publicProductSchema = z55.object({
33451
- id: z55.string(),
33452
- contentEntryId: z55.string().nullable(),
33453
- title: z55.string(),
33454
- slug: z55.string(),
33455
- path: z55.string().nullable(),
33456
- status: z55.enum(["draft", "active"]),
33457
- priceCents: z55.number(),
33458
- currency: z55.string(),
33459
- productType: z55.enum(["physical", "digital"]),
33460
- requiresShipping: z55.boolean(),
33461
- hasVariants: z55.boolean(),
33462
- trackInventory: z55.boolean(),
33463
- soldOut: z55.boolean(),
33464
- category: z55.object({
33465
- id: z55.string(),
33466
- name: z55.string(),
33467
- slug: z55.string()
33739
+ import { z as z56 } from "zod";
33740
+ var publicProductVariantSchema = z56.object({
33741
+ id: z56.string(),
33742
+ title: z56.string(),
33743
+ sku: z56.string().nullable(),
33744
+ priceCents: z56.number(),
33745
+ stockQuantity: z56.number().nullable(),
33746
+ soldOut: z56.boolean()
33747
+ });
33748
+ var publicProductSchema = z56.object({
33749
+ id: z56.string(),
33750
+ contentEntryId: z56.string().nullable(),
33751
+ title: z56.string(),
33752
+ slug: z56.string(),
33753
+ path: z56.string().nullable(),
33754
+ status: z56.enum(["draft", "active"]),
33755
+ priceCents: z56.number(),
33756
+ currency: z56.string(),
33757
+ productType: z56.enum(["physical", "digital"]),
33758
+ requiresShipping: z56.boolean(),
33759
+ hasVariants: z56.boolean(),
33760
+ trackInventory: z56.boolean(),
33761
+ soldOut: z56.boolean(),
33762
+ category: z56.object({
33763
+ id: z56.string(),
33764
+ name: z56.string(),
33765
+ slug: z56.string()
33468
33766
  }).nullable(),
33469
- summary: z55.string().nullable(),
33470
- body: z55.unknown().nullable(),
33471
- gallery: z55.array(
33472
- z55.object({
33473
- url: z55.string(),
33474
- alt: z55.string().nullable()
33767
+ summary: z56.string().nullable(),
33768
+ body: z56.unknown().nullable(),
33769
+ gallery: z56.array(
33770
+ z56.object({
33771
+ url: z56.string(),
33772
+ alt: z56.string().nullable()
33475
33773
  })
33476
33774
  ),
33477
- variants: z55.array(publicProductVariantSchema)
33775
+ variants: z56.array(publicProductVariantSchema)
33478
33776
  });
33479
- var publicProductsResponseSchema = z55.object({
33480
- products: z55.array(publicProductSchema)
33777
+ var publicProductsResponseSchema = z56.object({
33778
+ products: z56.array(publicProductSchema)
33481
33779
  });
33482
33780
 
33483
33781
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -33541,27 +33839,27 @@ function deriveCreditProductLabels(products, options = {}) {
33541
33839
  }
33542
33840
 
33543
33841
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
33544
- import { z as z56 } from "zod";
33545
- var storedProductCartItemSchema = z56.object({
33546
- kind: z56.literal("product"),
33547
- productId: z56.string().min(1),
33548
- productCategoryId: z56.string().min(1).optional().nullable(),
33549
- variantId: z56.string().min(1).optional().nullable(),
33550
- title: z56.string().min(1),
33551
- variantTitle: z56.string().optional().nullable(),
33552
- quantity: z56.number().finite(),
33553
- unitPriceCents: z56.number().finite(),
33554
- currency: z56.string().min(1),
33555
- imageUrl: z56.string().optional().nullable(),
33556
- soldOut: z56.boolean().optional()
33557
- });
33558
- var storedPassCartItemSchema = z56.object({
33559
- kind: z56.literal("pass"),
33560
- passId: z56.string().min(1),
33561
- title: z56.string().min(1),
33562
- quantity: z56.number().finite().optional(),
33563
- unitPriceCents: z56.number().finite(),
33564
- currency: z56.string().min(1)
33842
+ import { z as z57 } from "zod";
33843
+ var storedProductCartItemSchema = z57.object({
33844
+ kind: z57.literal("product"),
33845
+ productId: z57.string().min(1),
33846
+ productCategoryId: z57.string().min(1).optional().nullable(),
33847
+ variantId: z57.string().min(1).optional().nullable(),
33848
+ title: z57.string().min(1),
33849
+ variantTitle: z57.string().optional().nullable(),
33850
+ quantity: z57.number().finite(),
33851
+ unitPriceCents: z57.number().finite(),
33852
+ currency: z57.string().min(1),
33853
+ imageUrl: z57.string().optional().nullable(),
33854
+ soldOut: z57.boolean().optional()
33855
+ });
33856
+ var storedPassCartItemSchema = z57.object({
33857
+ kind: z57.literal("pass"),
33858
+ passId: z57.string().min(1),
33859
+ title: z57.string().min(1),
33860
+ quantity: z57.number().finite().optional(),
33861
+ unitPriceCents: z57.number().finite(),
33862
+ currency: z57.string().min(1)
33565
33863
  });
33566
33864
  function deriveCommerceCheckoutState(state) {
33567
33865
  if (state.items.length === 0) {
@@ -33795,214 +34093,214 @@ function formatValidity(days) {
33795
34093
  }
33796
34094
 
33797
34095
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33798
- var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33799
- var contentEntrySchema3 = z57.object({
33800
- id: z57.string().nullable().optional(),
33801
- slug: z57.string().nullable().optional()
34096
+ var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
34097
+ var contentEntrySchema3 = z58.object({
34098
+ id: z58.string().nullable().optional(),
34099
+ slug: z58.string().nullable().optional()
33802
34100
  }).nullable();
33803
- var shopSourceSchema = z57.object({
33804
- className: z57.string().nullable().optional(),
34101
+ var shopSourceSchema = z58.object({
34102
+ className: z58.string().nullable().optional(),
33805
34103
  mode: shopModeSchema.optional(),
33806
- heading: z57.string().nullable().optional(),
33807
- productSlug: z57.string().nullable().optional(),
33808
- showPasses: z57.boolean().optional(),
33809
- showMemberships: z57.boolean().optional(),
33810
- layout: z57.enum(["grid", "list"]).optional(),
33811
- columns: z57.string().optional(),
33812
- showDescriptions: z57.boolean().optional(),
33813
- showSummary: z57.boolean().optional(),
33814
- showBody: z57.boolean().optional(),
33815
- showPrices: z57.boolean().optional(),
33816
- showValidityPeriod: z57.boolean().optional(),
33817
- showPricePerCredit: z57.boolean().nullable().optional(),
33818
- passesHeading: z57.string().optional(),
33819
- membershipsHeading: z57.string().optional(),
33820
- buyButtonText: z57.string().optional(),
33821
- addButtonText: z57.string().optional(),
33822
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
33823
- subscribeButtonText: z57.string().optional(),
33824
- emptyStateText: z57.string().optional(),
33825
- checkoutButtonText: z57.string().optional(),
33826
- clearButtonText: z57.string().optional(),
33827
- submitButtonText: z57.string().optional(),
34104
+ heading: z58.string().nullable().optional(),
34105
+ productSlug: z58.string().nullable().optional(),
34106
+ showPasses: z58.boolean().optional(),
34107
+ showMemberships: z58.boolean().optional(),
34108
+ layout: z58.enum(["grid", "list"]).optional(),
34109
+ columns: z58.string().optional(),
34110
+ showDescriptions: z58.boolean().optional(),
34111
+ showSummary: z58.boolean().optional(),
34112
+ showBody: z58.boolean().optional(),
34113
+ showPrices: z58.boolean().optional(),
34114
+ showValidityPeriod: z58.boolean().optional(),
34115
+ showPricePerCredit: z58.boolean().nullable().optional(),
34116
+ passesHeading: z58.string().optional(),
34117
+ membershipsHeading: z58.string().optional(),
34118
+ buyButtonText: z58.string().optional(),
34119
+ addButtonText: z58.string().optional(),
34120
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
34121
+ subscribeButtonText: z58.string().optional(),
34122
+ emptyStateText: z58.string().optional(),
34123
+ checkoutButtonText: z58.string().optional(),
34124
+ clearButtonText: z58.string().optional(),
34125
+ submitButtonText: z58.string().optional(),
33828
34126
  contentEntry: contentEntrySchema3.optional(),
33829
- passes: z57.array(publicPassProductSchema).nullable().optional(),
33830
- memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
33831
- products: z57.array(publicProductSchema).nullable().optional(),
33832
- siteId: z57.string().optional(),
33833
- apiBaseUrl: z57.string().optional(),
34127
+ passes: z58.array(publicPassProductSchema).nullable().optional(),
34128
+ memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
34129
+ products: z58.array(publicProductSchema).nullable().optional(),
34130
+ siteId: z58.string().optional(),
34131
+ apiBaseUrl: z58.string().optional(),
33834
34132
  stage: previewStageSchema.optional()
33835
34133
  });
33836
- var productVariantOptionDisplaySchema = z57.object({
33837
- id: z57.string(),
33838
- label: z57.string(),
33839
- soldOut: z57.boolean()
33840
- });
33841
- var productCardDisplaySchema = z57.object({
33842
- productId: z57.string(),
33843
- title: z57.string(),
33844
- path: z57.string().nullable(),
33845
- summary: z57.string().nullable(),
33846
- priceLabel: z57.string().nullable(),
33847
- image: z57.object({
33848
- url: z57.string(),
33849
- alt: z57.string().nullable()
34134
+ var productVariantOptionDisplaySchema = z58.object({
34135
+ id: z58.string(),
34136
+ label: z58.string(),
34137
+ soldOut: z58.boolean()
34138
+ });
34139
+ var productCardDisplaySchema = z58.object({
34140
+ productId: z58.string(),
34141
+ title: z58.string(),
34142
+ path: z58.string().nullable(),
34143
+ summary: z58.string().nullable(),
34144
+ priceLabel: z58.string().nullable(),
34145
+ image: z58.object({
34146
+ url: z58.string(),
34147
+ alt: z58.string().nullable()
33850
34148
  }).nullable(),
33851
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33852
- selectedVariantId: z57.string().nullable(),
33853
- selectionLabel: z57.string(),
33854
- actionLabel: z57.string(),
33855
- soldOut: z57.boolean()
33856
- });
33857
- var productListDisplaySchema = z57.object({
33858
- kind: z57.literal("product-list"),
33859
- state: z57.enum(["empty", "ready"]),
33860
- heading: z57.string().nullable(),
33861
- className: z57.string().nullable(),
33862
- layout: z57.enum(["grid", "list"]),
33863
- columns: z57.string(),
33864
- emptyMessage: z57.string(),
33865
- cards: z57.array(productCardDisplaySchema)
33866
- });
33867
- var productDetailDisplaySchema = z57.discriminatedUnion("state", [
33868
- z57.object({
33869
- kind: z57.literal("product-detail"),
33870
- state: z57.literal("empty"),
33871
- heading: z57.string().nullable(),
33872
- className: z57.string().nullable(),
33873
- emptyMessage: z57.string()
34149
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
34150
+ selectedVariantId: z58.string().nullable(),
34151
+ selectionLabel: z58.string(),
34152
+ actionLabel: z58.string(),
34153
+ soldOut: z58.boolean()
34154
+ });
34155
+ var productListDisplaySchema = z58.object({
34156
+ kind: z58.literal("product-list"),
34157
+ state: z58.enum(["empty", "ready"]),
34158
+ heading: z58.string().nullable(),
34159
+ className: z58.string().nullable(),
34160
+ layout: z58.enum(["grid", "list"]),
34161
+ columns: z58.string(),
34162
+ emptyMessage: z58.string(),
34163
+ cards: z58.array(productCardDisplaySchema)
34164
+ });
34165
+ var productDetailDisplaySchema = z58.discriminatedUnion("state", [
34166
+ z58.object({
34167
+ kind: z58.literal("product-detail"),
34168
+ state: z58.literal("empty"),
34169
+ heading: z58.string().nullable(),
34170
+ className: z58.string().nullable(),
34171
+ emptyMessage: z58.string()
33874
34172
  }),
33875
- z57.object({
33876
- kind: z57.literal("product-detail"),
33877
- state: z57.literal("ready"),
33878
- heading: z57.string().nullable(),
33879
- className: z57.string().nullable(),
33880
- title: z57.string(),
33881
- priceLabel: z57.string(),
33882
- summary: z57.string().nullable(),
33883
- categoryLabel: z57.string().nullable(),
33884
- gallery: z57.array(z57.object({
33885
- url: z57.string(),
33886
- alt: z57.string().nullable()
34173
+ z58.object({
34174
+ kind: z58.literal("product-detail"),
34175
+ state: z58.literal("ready"),
34176
+ heading: z58.string().nullable(),
34177
+ className: z58.string().nullable(),
34178
+ title: z58.string(),
34179
+ priceLabel: z58.string(),
34180
+ summary: z58.string().nullable(),
34181
+ categoryLabel: z58.string().nullable(),
34182
+ gallery: z58.array(z58.object({
34183
+ url: z58.string(),
34184
+ alt: z58.string().nullable()
33887
34185
  })),
33888
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33889
- selectedVariantId: z57.string().nullable(),
33890
- selectionLabel: z57.string(),
33891
- actionLabel: z57.string(),
33892
- soldOut: z57.boolean(),
33893
- body: z57.unknown().nullable()
34186
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
34187
+ selectedVariantId: z58.string().nullable(),
34188
+ selectionLabel: z58.string(),
34189
+ actionLabel: z58.string(),
34190
+ soldOut: z58.boolean(),
34191
+ body: z58.unknown().nullable()
33894
34192
  })
33895
34193
  ]);
33896
- var passCardDisplaySchema = z57.object({
33897
- id: z57.string(),
33898
- title: z57.string(),
33899
- description: z57.string().nullable(),
33900
- priceLabel: z57.string(),
33901
- creditsLabel: z57.string(),
33902
- perCreditLabel: z57.string().nullable(),
33903
- validityLabel: z57.string().nullable(),
33904
- actionLabel: z57.string()
33905
- });
33906
- var membershipCardDisplaySchema = z57.object({
33907
- id: z57.string(),
33908
- title: z57.string(),
33909
- description: z57.string().nullable(),
33910
- priceLabel: z57.string(),
33911
- intervalLabel: z57.string(),
33912
- actionLabel: z57.string()
33913
- });
33914
- var passesMembershipsDisplaySchema = z57.object({
33915
- kind: z57.literal("passes-memberships"),
33916
- state: z57.enum(["empty", "ready"]),
33917
- className: z57.string().nullable(),
33918
- layout: z57.enum(["grid", "list"]),
33919
- columns: z57.string(),
33920
- emptyMessage: z57.string(),
33921
- passesHeading: z57.string(),
33922
- membershipsHeading: z57.string(),
33923
- passes: z57.array(passCardDisplaySchema),
33924
- memberships: z57.array(membershipCardDisplaySchema)
33925
- });
33926
- var cartLineDisplaySchema = z57.object({
33927
- key: z57.string(),
33928
- title: z57.string(),
33929
- priceLabel: z57.string(),
33930
- quantity: z57.number(),
33931
- quantityEditable: z57.boolean()
33932
- });
33933
- var cartDisplaySchema = z57.object({
33934
- kind: z57.literal("cart"),
33935
- state: z57.enum(["empty", "ready"]),
33936
- heading: z57.string().nullable(),
33937
- className: z57.string().nullable(),
33938
- emptyMessage: z57.string(),
33939
- supportText: z57.string().nullable(),
33940
- items: z57.array(cartLineDisplaySchema),
33941
- subtotalLabel: z57.string().nullable(),
33942
- checkoutButtonText: z57.string(),
33943
- clearButtonText: z57.string()
33944
- });
33945
- var checkoutDisplaySchema = z57.object({
33946
- kind: z57.literal("checkout"),
33947
- state: z57.enum(["empty", "blocked", "ready"]),
33948
- heading: z57.string().nullable(),
33949
- className: z57.string().nullable(),
33950
- message: z57.string().nullable(),
33951
- submitButtonText: z57.string()
33952
- });
33953
- var passesMembershipsHydrationSchema = z57.object({
33954
- passes: z57.array(publicPassProductSchema),
33955
- memberships: z57.array(publicMembershipProductSchema),
33956
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
33957
- });
33958
- var productListHydrationSchema = z57.object({
33959
- products: z57.array(publicProductSchema),
33960
- showSummary: z57.boolean(),
33961
- showPrices: z57.boolean(),
33962
- addButtonText: z57.string()
33963
- });
33964
- var productDetailHydrationSchema = z57.object({
33965
- products: z57.array(publicProductSchema),
33966
- productId: z57.string().nullable(),
33967
- showSummary: z57.boolean(),
33968
- showBody: z57.boolean(),
33969
- addButtonText: z57.string()
33970
- });
33971
- var cartHydrationSchema = z57.object({
33972
- emptyStateText: z57.string(),
33973
- checkoutButtonText: z57.string(),
33974
- clearButtonText: z57.string()
33975
- });
33976
- var checkoutHydrationSchema = z57.object({
33977
- emptyStateText: z57.string(),
33978
- submitButtonText: z57.string()
33979
- });
33980
- var passesMembershipsRenderSchema = z57.object({
34194
+ var passCardDisplaySchema = z58.object({
34195
+ id: z58.string(),
34196
+ title: z58.string(),
34197
+ description: z58.string().nullable(),
34198
+ priceLabel: z58.string(),
34199
+ creditsLabel: z58.string(),
34200
+ perCreditLabel: z58.string().nullable(),
34201
+ validityLabel: z58.string().nullable(),
34202
+ actionLabel: z58.string()
34203
+ });
34204
+ var membershipCardDisplaySchema = z58.object({
34205
+ id: z58.string(),
34206
+ title: z58.string(),
34207
+ description: z58.string().nullable(),
34208
+ priceLabel: z58.string(),
34209
+ intervalLabel: z58.string(),
34210
+ actionLabel: z58.string()
34211
+ });
34212
+ var passesMembershipsDisplaySchema = z58.object({
34213
+ kind: z58.literal("passes-memberships"),
34214
+ state: z58.enum(["empty", "ready"]),
34215
+ className: z58.string().nullable(),
34216
+ layout: z58.enum(["grid", "list"]),
34217
+ columns: z58.string(),
34218
+ emptyMessage: z58.string(),
34219
+ passesHeading: z58.string(),
34220
+ membershipsHeading: z58.string(),
34221
+ passes: z58.array(passCardDisplaySchema),
34222
+ memberships: z58.array(membershipCardDisplaySchema)
34223
+ });
34224
+ var cartLineDisplaySchema = z58.object({
34225
+ key: z58.string(),
34226
+ title: z58.string(),
34227
+ priceLabel: z58.string(),
34228
+ quantity: z58.number(),
34229
+ quantityEditable: z58.boolean()
34230
+ });
34231
+ var cartDisplaySchema = z58.object({
34232
+ kind: z58.literal("cart"),
34233
+ state: z58.enum(["empty", "ready"]),
34234
+ heading: z58.string().nullable(),
34235
+ className: z58.string().nullable(),
34236
+ emptyMessage: z58.string(),
34237
+ supportText: z58.string().nullable(),
34238
+ items: z58.array(cartLineDisplaySchema),
34239
+ subtotalLabel: z58.string().nullable(),
34240
+ checkoutButtonText: z58.string(),
34241
+ clearButtonText: z58.string()
34242
+ });
34243
+ var checkoutDisplaySchema = z58.object({
34244
+ kind: z58.literal("checkout"),
34245
+ state: z58.enum(["empty", "blocked", "ready"]),
34246
+ heading: z58.string().nullable(),
34247
+ className: z58.string().nullable(),
34248
+ message: z58.string().nullable(),
34249
+ submitButtonText: z58.string()
34250
+ });
34251
+ var passesMembershipsHydrationSchema = z58.object({
34252
+ passes: z58.array(publicPassProductSchema),
34253
+ memberships: z58.array(publicMembershipProductSchema),
34254
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
34255
+ });
34256
+ var productListHydrationSchema = z58.object({
34257
+ products: z58.array(publicProductSchema),
34258
+ showSummary: z58.boolean(),
34259
+ showPrices: z58.boolean(),
34260
+ addButtonText: z58.string()
34261
+ });
34262
+ var productDetailHydrationSchema = z58.object({
34263
+ products: z58.array(publicProductSchema),
34264
+ productId: z58.string().nullable(),
34265
+ showSummary: z58.boolean(),
34266
+ showBody: z58.boolean(),
34267
+ addButtonText: z58.string()
34268
+ });
34269
+ var cartHydrationSchema = z58.object({
34270
+ emptyStateText: z58.string(),
34271
+ checkoutButtonText: z58.string(),
34272
+ clearButtonText: z58.string()
34273
+ });
34274
+ var checkoutHydrationSchema = z58.object({
34275
+ emptyStateText: z58.string(),
34276
+ submitButtonText: z58.string()
34277
+ });
34278
+ var passesMembershipsRenderSchema = z58.object({
33981
34279
  display: passesMembershipsDisplaySchema,
33982
34280
  hydration: passesMembershipsHydrationSchema
33983
34281
  });
33984
- var productListRenderSchema = z57.object({
34282
+ var productListRenderSchema = z58.object({
33985
34283
  display: productListDisplaySchema,
33986
34284
  hydration: productListHydrationSchema
33987
34285
  });
33988
- var productDetailRenderSchema = z57.object({
34286
+ var productDetailRenderSchema = z58.object({
33989
34287
  display: productDetailDisplaySchema,
33990
34288
  hydration: productDetailHydrationSchema
33991
34289
  });
33992
- var cartRenderSchema = z57.object({
34290
+ var cartRenderSchema = z58.object({
33993
34291
  display: cartDisplaySchema,
33994
34292
  hydration: cartHydrationSchema
33995
34293
  });
33996
- var checkoutRenderSchema = z57.object({
34294
+ var checkoutRenderSchema = z58.object({
33997
34295
  display: checkoutDisplaySchema,
33998
34296
  hydration: checkoutHydrationSchema
33999
34297
  });
34000
34298
  function resolveShowPricePerCredit(source) {
34001
34299
  return source.showPricePerCredit ?? true;
34002
34300
  }
34003
- var shopIslandMetaCodec = createZodCodec(z57.object({
34004
- siteId: z57.string().optional(),
34005
- apiBaseUrl: z57.string().optional(),
34301
+ var shopIslandMetaCodec = createZodCodec(z58.object({
34302
+ siteId: z58.string().optional(),
34303
+ apiBaseUrl: z58.string().optional(),
34006
34304
  stage: previewStageSchema.optional()
34007
34305
  }));
34008
34306
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -34405,7 +34703,7 @@ var shopBlockDefinition = {
34405
34703
  };
34406
34704
 
34407
34705
  // ../blocks/src/system/blocks/product-list.ts
34408
- import { z as z58 } from "zod";
34706
+ import { z as z59 } from "zod";
34409
34707
  var productListManifest = createBlockManifest({
34410
34708
  id: "block.product-list",
34411
34709
  version: "1.0.0",
@@ -34538,7 +34836,7 @@ var productListBlockDefinition = {
34538
34836
  }
34539
34837
  }
34540
34838
  };
34541
- var productListDataSchema = z58.object({
34839
+ var productListDataSchema = z59.object({
34542
34840
  products: publicProductsResponseSchema.optional()
34543
34841
  });
34544
34842
 
@@ -34799,72 +35097,72 @@ var checkoutBlockDefinition = {
34799
35097
  };
34800
35098
 
34801
35099
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
34802
- import { z as z59 } from "zod";
34803
- var publicGiftCardOfferSchema = z59.object({
34804
- id: z59.string(),
34805
- kind: z59.literal("gift_card"),
34806
- title: z59.string(),
34807
- description: z59.string().nullable(),
34808
- sortOrder: z59.number().int(),
34809
- giftCard: z59.object({
34810
- fixedDenominations: z59.array(z59.number().int().positive()),
34811
- customAmountEnabled: z59.boolean(),
34812
- customAmountMinCents: z59.number().int().positive(),
34813
- customAmountMaxCents: z59.number().int().positive()
35100
+ import { z as z60 } from "zod";
35101
+ var publicGiftCardOfferSchema = z60.object({
35102
+ id: z60.string(),
35103
+ kind: z60.literal("gift_card"),
35104
+ title: z60.string(),
35105
+ description: z60.string().nullable(),
35106
+ sortOrder: z60.number().int(),
35107
+ giftCard: z60.object({
35108
+ fixedDenominations: z60.array(z60.number().int().positive()),
35109
+ customAmountEnabled: z60.boolean(),
35110
+ customAmountMinCents: z60.number().int().positive(),
35111
+ customAmountMaxCents: z60.number().int().positive()
34814
35112
  }),
34815
- voucher: z59.null()
34816
- });
34817
- var publicVoucherOfferSchema = z59.object({
34818
- id: z59.string(),
34819
- kind: z59.literal("voucher"),
34820
- title: z59.string(),
34821
- description: z59.string().nullable(),
34822
- sortOrder: z59.number().int(),
34823
- giftCard: z59.null(),
34824
- voucher: z59.object({
34825
- purchaseAmountCents: z59.number().int().positive()
35113
+ voucher: z60.null()
35114
+ });
35115
+ var publicVoucherOfferSchema = z60.object({
35116
+ id: z60.string(),
35117
+ kind: z60.literal("voucher"),
35118
+ title: z60.string(),
35119
+ description: z60.string().nullable(),
35120
+ sortOrder: z60.number().int(),
35121
+ giftCard: z60.null(),
35122
+ voucher: z60.object({
35123
+ purchaseAmountCents: z60.number().int().positive()
34826
35124
  })
34827
35125
  });
34828
- var publicGiftingOffersResponseSchema = z59.object({
34829
- currency: z59.string(),
34830
- giftCards: z59.array(publicGiftCardOfferSchema),
34831
- vouchers: z59.array(publicVoucherOfferSchema)
35126
+ var publicGiftingOffersResponseSchema = z60.object({
35127
+ currency: z60.string(),
35128
+ giftCards: z60.array(publicGiftCardOfferSchema),
35129
+ vouchers: z60.array(publicVoucherOfferSchema)
34832
35130
  });
34833
- var giftingSourceSchema = z59.object({
34834
- siteId: z59.string().optional(),
34835
- apiBaseUrl: z59.string().optional(),
35131
+ var giftingSourceSchema = z60.object({
35132
+ siteId: z60.string().optional(),
35133
+ apiBaseUrl: z60.string().optional(),
34836
35134
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
34837
- className: z59.string().nullable().optional(),
34838
- heading: z59.string().nullable().optional(),
34839
- intro: z59.string().nullable().optional(),
34840
- giftCardsHeading: z59.string().nullable().optional(),
34841
- vouchersHeading: z59.string().nullable().optional(),
34842
- emptyStateText: z59.string().nullable().optional(),
34843
- checkoutButtonText: z59.string().nullable().optional(),
34844
- successMessage: z59.string().nullable().optional()
34845
- });
34846
- var giftingDisplaySchema = z59.object({
34847
- kind: z59.literal("gifting"),
34848
- state: z59.literal("ready"),
34849
- className: z59.string().nullable(),
34850
- heading: z59.string(),
34851
- intro: z59.string().nullable(),
34852
- giftCardsHeading: z59.string(),
34853
- vouchersHeading: z59.string(),
34854
- emptyStateText: z59.string()
34855
- });
34856
- var giftingHydrationSchema = z59.object({
35135
+ className: z60.string().nullable().optional(),
35136
+ heading: z60.string().nullable().optional(),
35137
+ intro: z60.string().nullable().optional(),
35138
+ giftCardsHeading: z60.string().nullable().optional(),
35139
+ vouchersHeading: z60.string().nullable().optional(),
35140
+ emptyStateText: z60.string().nullable().optional(),
35141
+ checkoutButtonText: z60.string().nullable().optional(),
35142
+ successMessage: z60.string().nullable().optional()
35143
+ });
35144
+ var giftingDisplaySchema = z60.object({
35145
+ kind: z60.literal("gifting"),
35146
+ state: z60.literal("ready"),
35147
+ className: z60.string().nullable(),
35148
+ heading: z60.string(),
35149
+ intro: z60.string().nullable(),
35150
+ giftCardsHeading: z60.string(),
35151
+ vouchersHeading: z60.string(),
35152
+ emptyStateText: z60.string()
35153
+ });
35154
+ var giftingHydrationSchema = z60.object({
34857
35155
  offers: publicGiftingOffersResponseSchema.nullable(),
34858
- checkoutButtonText: z59.string(),
34859
- successMessage: z59.string()
35156
+ checkoutButtonText: z60.string(),
35157
+ successMessage: z60.string()
34860
35158
  });
34861
- var giftingRenderSchema = z59.object({
35159
+ var giftingRenderSchema = z60.object({
34862
35160
  display: giftingDisplaySchema,
34863
35161
  hydration: giftingHydrationSchema
34864
35162
  });
34865
- var giftingIslandMetaCodec = createZodCodec(z59.object({
34866
- siteId: z59.string().optional(),
34867
- apiBaseUrl: z59.string().optional()
35163
+ var giftingIslandMetaCodec = createZodCodec(z60.object({
35164
+ siteId: z60.string().optional(),
35165
+ apiBaseUrl: z60.string().optional()
34868
35166
  }));
34869
35167
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
34870
35168
  "siteId",
@@ -35035,7 +35333,7 @@ var giftingBlockDefinition = {
35035
35333
  };
35036
35334
 
35037
35335
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
35038
- import { z as z60 } from "zod";
35336
+ import { z as z61 } from "zod";
35039
35337
 
35040
35338
  // ../blocks/src/system/blocks/newsletter-signup-destination.ts
35041
35339
  function parseNewsletterSignupBlockId(value) {
@@ -35142,65 +35440,65 @@ function withOptionalPhone(fields3, includePhone) {
35142
35440
  }
35143
35441
 
35144
35442
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
35145
- var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
35146
- var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
35147
- var newsletterFieldSchema = z60.object({
35148
- id: z60.string(),
35149
- type: z60.enum(["email", "text"]),
35150
- label: z60.string(),
35151
- required: z60.boolean(),
35152
- placeholder: z60.string().optional()
35153
- });
35154
- var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
35155
- var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
35156
- var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
35157
- z60.object({
35158
- tag: z60.literal("block_ref"),
35443
+ var newsletterPresetSchema = z61.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
35444
+ var newsletterDestinationProviderSchema = z61.enum(["riverbank", "mailchimp"]);
35445
+ var newsletterFieldSchema = z61.object({
35446
+ id: z61.string(),
35447
+ type: z61.enum(["email", "text"]),
35448
+ label: z61.string(),
35449
+ required: z61.boolean(),
35450
+ placeholder: z61.string().optional()
35451
+ });
35452
+ var newsletterSignupBlockIdSchema = z61.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
35453
+ var signedNewsletterDestinationRefSchema = z61.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
35454
+ var newsletterPublicDestinationRefSchema = z61.discriminatedUnion("tag", [
35455
+ z61.object({
35456
+ tag: z61.literal("block_ref"),
35159
35457
  blockId: newsletterSignupBlockIdSchema
35160
35458
  }),
35161
- z60.object({
35162
- tag: z60.literal("signed_destination_ref"),
35459
+ z61.object({
35460
+ tag: z61.literal("signed_destination_ref"),
35163
35461
  token: signedNewsletterDestinationRefSchema
35164
35462
  })
35165
35463
  ]);
35166
- var newsletterSourceSchema = z60.object({
35167
- blockId: z60.string().nullable().optional(),
35168
- siteId: z60.string().optional(),
35169
- apiBaseUrl: z60.string().optional(),
35170
- listId: z60.string().nullable().optional(),
35464
+ var newsletterSourceSchema = z61.object({
35465
+ blockId: z61.string().nullable().optional(),
35466
+ siteId: z61.string().optional(),
35467
+ apiBaseUrl: z61.string().optional(),
35468
+ listId: z61.string().nullable().optional(),
35171
35469
  destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
35172
35470
  preset: newsletterPresetSchema.optional(),
35173
- includePhone: z60.boolean().optional(),
35174
- buttonLabel: z60.string().nullable().optional(),
35175
- successMessage: z60.string().nullable().optional(),
35176
- privacyNote: z60.string().nullable().optional(),
35177
- tags: z60.string().nullable().optional(),
35178
- spamProtectionEnabled: z60.boolean().optional(),
35179
- className: z60.string().nullable().optional()
35180
- });
35181
- var newsletterDisplaySchema = z60.object({
35182
- kind: z60.literal("newsletter-form"),
35183
- className: z60.string().nullable(),
35184
- buttonLabel: z60.string(),
35185
- successMessage: z60.string().nullable(),
35186
- privacyNote: z60.string().nullable(),
35187
- fields: z60.array(newsletterFieldSchema)
35188
- });
35189
- var newsletterHydrationSchema = z60.object({
35471
+ includePhone: z61.boolean().optional(),
35472
+ buttonLabel: z61.string().nullable().optional(),
35473
+ successMessage: z61.string().nullable().optional(),
35474
+ privacyNote: z61.string().nullable().optional(),
35475
+ tags: z61.string().nullable().optional(),
35476
+ spamProtectionEnabled: z61.boolean().optional(),
35477
+ className: z61.string().nullable().optional()
35478
+ });
35479
+ var newsletterDisplaySchema = z61.object({
35480
+ kind: z61.literal("newsletter-form"),
35481
+ className: z61.string().nullable(),
35482
+ buttonLabel: z61.string(),
35483
+ successMessage: z61.string().nullable(),
35484
+ privacyNote: z61.string().nullable(),
35485
+ fields: z61.array(newsletterFieldSchema)
35486
+ });
35487
+ var newsletterHydrationSchema = z61.object({
35190
35488
  destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
35191
- listId: z60.string().nullable().optional(),
35489
+ listId: z61.string().nullable().optional(),
35192
35490
  preset: newsletterPresetSchema,
35193
- includePhone: z60.boolean(),
35194
- tags: z60.string().nullable().optional(),
35195
- spamProtectionEnabled: z60.boolean().optional()
35491
+ includePhone: z61.boolean(),
35492
+ tags: z61.string().nullable().optional(),
35493
+ spamProtectionEnabled: z61.boolean().optional()
35196
35494
  });
35197
- var newsletterRenderSchema = z60.object({
35495
+ var newsletterRenderSchema = z61.object({
35198
35496
  display: newsletterDisplaySchema,
35199
35497
  hydration: newsletterHydrationSchema
35200
35498
  });
35201
- var newsletterIslandMetaCodec = createZodCodec(z60.object({
35202
- siteId: z60.string().optional(),
35203
- apiBaseUrl: z60.string().optional()
35499
+ var newsletterIslandMetaCodec = createZodCodec(z61.object({
35500
+ siteId: z61.string().optional(),
35501
+ apiBaseUrl: z61.string().optional()
35204
35502
  }));
35205
35503
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
35206
35504
  function buildNewsletterDisplay(source) {
@@ -35339,23 +35637,23 @@ var newsletterSignupBlockDefinition = {
35339
35637
  };
35340
35638
 
35341
35639
  // ../blocks/src/system/blocks/team-members.ts
35342
- import { z as z61 } from "zod";
35640
+ import { z as z62 } from "zod";
35343
35641
  var ITEM_NAME2 = "member";
35344
35642
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
35345
35643
  message: "Team member photos must be image media"
35346
35644
  }).nullable();
35347
- var teamMemberDataSchema = z61.object({
35348
- _type: z61.literal("teamMember"),
35349
- id: z61.string(),
35350
- name: z61.string(),
35351
- role: z61.string().nullable(),
35352
- roleLabel: z61.string().nullable(),
35353
- bio: z61.string().nullable(),
35354
- summary: z61.string().nullable(),
35645
+ var teamMemberDataSchema = z62.object({
35646
+ _type: z62.literal("teamMember"),
35647
+ id: z62.string(),
35648
+ name: z62.string(),
35649
+ role: z62.string().nullable(),
35650
+ roleLabel: z62.string().nullable(),
35651
+ bio: z62.string().nullable(),
35652
+ summary: z62.string().nullable(),
35355
35653
  photo: teamMemberPhotoSchema,
35356
- profilePath: z61.string().nullable()
35654
+ profilePath: z62.string().nullable()
35357
35655
  });
35358
- var teamMembersDataSchema = z61.array(teamMemberDataSchema);
35656
+ var teamMembersDataSchema = z62.array(teamMemberDataSchema);
35359
35657
  var dynamicSourceWhen = { equals: "site_staff" };
35360
35658
  var manualSourceWhen = { equals: "site_staff", not: true };
35361
35659
  var headingNode = text(
@@ -36461,6 +36759,10 @@ var systemBlockDefinitionsRaw = [
36461
36759
  flow: conversionFlow,
36462
36760
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
36463
36761
  })),
36762
+ withDesignCapability("block.weekly-slot-availability", weeklySlotAvailabilityBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
36763
+ flow: offeringsFlow,
36764
+ layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
36765
+ })),
36464
36766
  withDesignCapability("block.event-registration", eventRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
36465
36767
  flow: conversionFlow,
36466
36768
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
@@ -37641,6 +37943,34 @@ ${root} {
37641
37943
  /* Order summary */
37642
37944
  --er-summary-bg: rgba(var(--tb-primary), 0.1);
37643
37945
  --er-summary-border: rgb(var(--tb-border));
37946
+
37947
+ /* Shared registration-surface mappings (issue 1174).
37948
+ Route the shared --rb-reg-* contract through this block's documented
37949
+ Tier 3 vars so existing --er-* overrides keep working unchanged. */
37950
+ --rb-reg-radius: var(--er-radius);
37951
+ --rb-reg-border: var(--er-border);
37952
+ --rb-reg-border-hover: var(--er-border-hover);
37953
+ --rb-reg-border-selected: var(--er-border-selected);
37954
+ --rb-reg-bg-selected: var(--er-payment-bg-selected);
37955
+ --rb-reg-option-bg: var(--er-control-bg);
37956
+ --rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
37957
+ --rb-reg-surface-bg: rgb(var(--tb-surface));
37958
+ --rb-reg-on-surface: var(--er-on-surface);
37959
+ --rb-reg-on-surface-muted: var(--er-on-surface-muted);
37960
+ --rb-reg-on-surface-subtle: var(--er-on-surface-subtle);
37961
+ --rb-reg-on-surface-faint: var(--er-on-surface-faint);
37962
+ --rb-reg-check-bg: var(--er-check-bg);
37963
+ --rb-reg-check-text: var(--er-check-text);
37964
+ --rb-reg-step-active: var(--er-step-active);
37965
+ --rb-reg-step-completed: var(--er-step-completed);
37966
+ --rb-reg-step-inactive: var(--er-step-inactive);
37967
+ --rb-reg-step-text: var(--er-step-text);
37968
+ --rb-reg-step-text-active: var(--er-step-text-active);
37969
+ --rb-reg-step-connector: var(--er-step-connector);
37970
+ --rb-reg-summary-bg: var(--er-surface-muted);
37971
+ --rb-reg-summary-border: var(--er-border);
37972
+ --rb-reg-focus-ring: var(--er-focus-ring);
37973
+ --rb-reg-shell-line: var(--er-shell-line);
37644
37974
  }
37645
37975
  `;
37646
37976
  }
@@ -37773,25 +38103,40 @@ ${root} {
37773
38103
  --ab-info-bg: rgba(var(--tb-info), 0.1);
37774
38104
  --ab-info-text: rgb(var(--tb-info));
37775
38105
 
37776
- /* Loading/muted states */
38106
+ /* Muted summary state */
37777
38107
  --ab-muted-bg: rgba(var(--tb-text), 0.05);
37778
- --ab-muted-text: rgba(var(--tb-text), 0.6);
37779
- --ab-spinner-color: rgb(var(--tb-primary));
37780
38108
 
37781
- /* Form elements */
37782
- --ab-input-border: rgb(var(--tb-border));
38109
+ /* Focus ring used by shared registration-surface controls */
37783
38110
  --ab-input-focus-ring: rgba(var(--tb-primary), 0.3);
37784
38111
 
37785
- /* Buttons */
37786
- --ab-btn-primary-bg: rgb(var(--tb-primary));
37787
- --ab-btn-primary-text: rgb(var(--tb-background));
37788
- --ab-btn-primary-hover: rgba(var(--tb-primary), 0.9);
37789
- --ab-btn-secondary-border: rgb(var(--tb-border));
37790
- --ab-btn-secondary-hover: rgba(var(--tb-text), 0.05);
37791
-
37792
- /* Text opacity levels */
37793
- --ab-text-muted-opacity: 0.6;
37794
- --ab-text-faint-opacity: 0.4;
38112
+ /* Shared registration-surface mappings (issue 1174).
38113
+ Route the shared --rb-reg-* contract through this block's Tier 3 vars
38114
+ (palette tokens where no --ab-* var exists) so --ab-* overrides keep
38115
+ working as the block adopts the shared classes. */
38116
+ --rb-reg-radius: var(--ab-card-radius, var(--rb-block-radius));
38117
+ --rb-reg-border: var(--ab-card-border);
38118
+ --rb-reg-border-hover: var(--ab-card-border-hover);
38119
+ --rb-reg-border-selected: var(--ab-card-border-selected);
38120
+ --rb-reg-bg-selected: var(--ab-card-bg-selected);
38121
+ --rb-reg-option-bg: transparent;
38122
+ --rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
38123
+ --rb-reg-surface-bg: rgb(var(--tb-surface));
38124
+ --rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
38125
+ --rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
38126
+ --rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
38127
+ --rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
38128
+ --rb-reg-check-bg: var(--ab-check-bg);
38129
+ --rb-reg-check-text: var(--ab-check-text);
38130
+ --rb-reg-step-active: rgb(var(--tb-primary));
38131
+ --rb-reg-step-completed: rgb(var(--tb-success));
38132
+ --rb-reg-step-inactive: rgb(var(--tb-mutedText));
38133
+ --rb-reg-step-text: rgb(255 255 255);
38134
+ --rb-reg-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
38135
+ --rb-reg-step-connector: rgba(var(--tb-border), 0.5);
38136
+ --rb-reg-summary-bg: var(--ab-muted-bg);
38137
+ --rb-reg-summary-border: var(--ab-card-border);
38138
+ --rb-reg-focus-ring: var(--ab-input-focus-ring);
38139
+ --rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
37795
38140
  }
37796
38141
  `;
37797
38142
  }
@@ -38082,6 +38427,35 @@ ${root} {
38082
38427
  /* Summary */
38083
38428
  --cr-summary-bg: rgba(var(--tb-primary), 0.1);
38084
38429
  --cr-summary-border: rgb(var(--tb-border));
38430
+
38431
+ /* Shared registration-surface mappings (issue 1174).
38432
+ Route the shared --rb-reg-* contract through this block's Tier 3 vars
38433
+ (palette tokens where no --cr-* var exists) so existing --cr-* overrides
38434
+ keep working unchanged. */
38435
+ --rb-reg-radius: var(--rb-block-radius);
38436
+ --rb-reg-border: var(--cr-border);
38437
+ --rb-reg-border-hover: var(--cr-border-hover);
38438
+ --rb-reg-border-selected: var(--cr-border-selected);
38439
+ --rb-reg-bg-selected: var(--cr-payment-bg-selected);
38440
+ --rb-reg-option-bg: rgb(var(--tb-background));
38441
+ --rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
38442
+ --rb-reg-surface-bg: rgb(var(--tb-surface));
38443
+ --rb-reg-on-surface: var(--cr-on-surface);
38444
+ --rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
38445
+ --rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
38446
+ --rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
38447
+ --rb-reg-check-bg: var(--cr-check-bg);
38448
+ --rb-reg-check-text: var(--cr-check-text);
38449
+ --rb-reg-step-active: var(--cr-step-active);
38450
+ --rb-reg-step-completed: var(--cr-step-completed);
38451
+ --rb-reg-step-inactive: var(--cr-step-inactive);
38452
+ --rb-reg-step-text: var(--cr-step-text);
38453
+ --rb-reg-step-text-active: var(--cr-step-text-active);
38454
+ --rb-reg-step-connector: var(--cr-step-connector);
38455
+ --rb-reg-summary-bg: var(--cr-summary-bg);
38456
+ --rb-reg-summary-border: var(--cr-summary-border);
38457
+ --rb-reg-focus-ring: var(--cr-focus-ring);
38458
+ --rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
38085
38459
  }
38086
38460
  `;
38087
38461
  }
@@ -38144,34 +38518,34 @@ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
38144
38518
  var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
38145
38519
 
38146
38520
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
38147
- import { z as z62 } from "zod";
38148
- var themeBridgeConfigSchema = z62.object({
38149
- tokens: z62.record(z62.string(), z62.string()),
38150
- typography: z62.object({
38151
- headingFamily: z62.string().optional(),
38152
- bodyFamily: z62.string().optional(),
38153
- headingWeight: z62.number().optional(),
38154
- bodyWeight: z62.number().optional()
38521
+ import { z as z63 } from "zod";
38522
+ var themeBridgeConfigSchema = z63.object({
38523
+ tokens: z63.record(z63.string(), z63.string()),
38524
+ typography: z63.object({
38525
+ headingFamily: z63.string().optional(),
38526
+ bodyFamily: z63.string().optional(),
38527
+ headingWeight: z63.number().optional(),
38528
+ bodyWeight: z63.number().optional()
38155
38529
  }).optional(),
38156
- spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
38157
- corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
38158
- shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
38159
- components: z62.object({
38160
- buttons: z62.union([
38161
- z62.boolean(),
38162
- z62.object({
38163
- variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
38530
+ spacing: z63.enum(["comfortable", "standard", "dense"]).optional(),
38531
+ corners: z63.enum(["square", "soft", "rounded", "pill"]).optional(),
38532
+ shadows: z63.enum(["none", "low", "medium", "high"]).optional(),
38533
+ components: z63.object({
38534
+ buttons: z63.union([
38535
+ z63.boolean(),
38536
+ z63.object({
38537
+ variants: z63.array(z63.enum(["primary", "secondary", "outline", "ghost"])).optional()
38164
38538
  })
38165
38539
  ]).optional(),
38166
- cards: z62.union([
38167
- z62.boolean(),
38168
- z62.object({
38169
- variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
38540
+ cards: z63.union([
38541
+ z63.boolean(),
38542
+ z63.object({
38543
+ variants: z63.array(z63.enum(["default", "elevated", "outlined"])).optional()
38170
38544
  })
38171
38545
  ]).optional(),
38172
- inputs: z62.boolean().optional()
38546
+ inputs: z63.boolean().optional()
38173
38547
  }).optional(),
38174
- overrides: z62.record(z62.string(), z62.string()).optional()
38548
+ overrides: z63.record(z63.string(), z63.string()).optional()
38175
38549
  }).passthrough();
38176
38550
 
38177
38551
  // ../theme-core/src/siteChrome.tsx
@@ -38389,14 +38763,21 @@ function coercePayload(payload) {
38389
38763
 
38390
38764
  // ../blocks/src/system/data/prefetchBlockData.ts
38391
38765
  async function prefetchBlockData(page, context, options) {
38392
- const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders } = options;
38766
+ const {
38767
+ apiClient,
38768
+ isValidEndpoint,
38769
+ onError,
38770
+ getCustomBlockLoaders,
38771
+ getBlockDefinition: getBlockDefinition2 = getBlockDefinition,
38772
+ resolveParamsBindings: resolveParamsBindings2 = resolveParamsBindings
38773
+ } = options;
38393
38774
  const results = {};
38394
38775
  const tasks = [];
38395
38776
  for (const block of page.blocks) {
38396
38777
  const blockId = block.id;
38397
38778
  if (!blockId) continue;
38398
38779
  let loaders;
38399
- const def = getBlockDefinition(block.kind);
38780
+ const def = getBlockDefinition2(block.kind);
38400
38781
  if (def) {
38401
38782
  loaders = normalizeDataLoaders(def);
38402
38783
  } else if (getCustomBlockLoaders) {
@@ -38419,14 +38800,14 @@ async function prefetchBlockData(page, context, options) {
38419
38800
  continue;
38420
38801
  }
38421
38802
  if (typeof loader.when !== "undefined") {
38422
- const resolvedWhen = resolveParamsBindings(loader.when, vm, {
38803
+ const resolvedWhen = resolveParamsBindings2(loader.when, vm, {
38423
38804
  blockKind: block.kind
38424
38805
  });
38425
38806
  if (resolvedWhen !== true) {
38426
38807
  continue;
38427
38808
  }
38428
38809
  }
38429
- const rawParams = resolveParamsBindings(loader.params, vm, {
38810
+ const rawParams = resolveParamsBindings2(loader.params, vm, {
38430
38811
  blockKind: block.kind
38431
38812
  });
38432
38813
  const params = normalizeParams(rawParams);
@@ -38469,7 +38850,8 @@ var SUPPORTED_LOADER_ENDPOINTS = [
38469
38850
  "listPublicPasses",
38470
38851
  "listPublicMemberships",
38471
38852
  "getPublicFormById",
38472
- "getPublicBookingServices"
38853
+ "getPublicBookingServices",
38854
+ "getPublicWeeklySlotAvailability"
38473
38855
  ];
38474
38856
 
38475
38857
  // ../blocks/src/system/data/normalizeLoaderParams.ts
@@ -38508,6 +38890,10 @@ function normalizeLoaderParams(endpoint, params, context) {
38508
38890
  ensureSiteId(out, context);
38509
38891
  return out;
38510
38892
  }
38893
+ if (endpoint === "getPublicWeeklySlotAvailability") {
38894
+ ensureSiteId(out, context);
38895
+ return out;
38896
+ }
38511
38897
  if (endpoint === "listPublicEvents") {
38512
38898
  ensureSiteId(out, context);
38513
38899
  return out;
@@ -38540,17 +38926,17 @@ function normalizeLoaderParams(endpoint, params, context) {
38540
38926
  function unsafeRetypeZodSchema(schema) {
38541
38927
  return schema;
38542
38928
  }
38543
- var navIdListSchema = z63.preprocess((value) => {
38929
+ var navIdListSchema = z64.preprocess((value) => {
38544
38930
  if (!Array.isArray(value)) return void 0;
38545
38931
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
38546
38932
  return filtered.length > 0 ? filtered : void 0;
38547
- }, z63.array(z63.string()).max(200).optional());
38548
- var dashboardNavVisibilityBaseSchema = z63.object({
38549
- mode: z63.enum(["augment", "restrict"]).optional(),
38933
+ }, z64.array(z64.string()).max(200).optional());
38934
+ var dashboardNavVisibilityBaseSchema = z64.object({
38935
+ mode: z64.enum(["augment", "restrict"]).optional(),
38550
38936
  allowIds: navIdListSchema,
38551
38937
  denyIds: navIdListSchema
38552
38938
  }).strip();
38553
- var dashboardNavVisibilityRolesSchema = z63.object({
38939
+ var dashboardNavVisibilityRolesSchema = z64.object({
38554
38940
  administrator: dashboardNavVisibilityBaseSchema.optional(),
38555
38941
  editor: dashboardNavVisibilityBaseSchema.optional(),
38556
38942
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -38558,63 +38944,63 @@ var dashboardNavVisibilityRolesSchema = z63.object({
38558
38944
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
38559
38945
  roles: dashboardNavVisibilityRolesSchema
38560
38946
  }).strip();
38561
- var dashboardNavigationConfigSchema = z63.object({
38947
+ var dashboardNavigationConfigSchema = z64.object({
38562
38948
  siteNav: dashboardNavVisibilitySchema.optional(),
38563
38949
  settingsNav: dashboardNavVisibilitySchema.optional()
38564
38950
  }).strip();
38565
- var dashboardConfigSchema = z63.object({
38566
- previewEditingEnabled: z63.boolean().optional(),
38951
+ var dashboardConfigSchema = z64.object({
38952
+ previewEditingEnabled: z64.boolean().optional(),
38567
38953
  navigation: dashboardNavigationConfigSchema.optional()
38568
38954
  }).strip();
38569
38955
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
38570
38956
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
38571
- var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
38572
- var loaderFallbackScalarSchema = z63.union([
38573
- z63.string(),
38574
- z63.number(),
38575
- z63.boolean(),
38576
- z63.null()
38957
+ var sdkLoaderEndpointSchema = z64.enum(SUPPORTED_LOADER_ENDPOINTS);
38958
+ var loaderFallbackScalarSchema = z64.union([
38959
+ z64.string(),
38960
+ z64.number(),
38961
+ z64.boolean(),
38962
+ z64.null()
38577
38963
  ]);
38578
- var loaderParamBindingSchema = z63.object({
38579
- $bind: z63.object({
38580
- from: z63.string().min(1, "Binding path is required"),
38964
+ var loaderParamBindingSchema = z64.object({
38965
+ $bind: z64.object({
38966
+ from: z64.string().min(1, "Binding path is required"),
38581
38967
  fallback: loaderFallbackScalarSchema.optional()
38582
38968
  })
38583
38969
  });
38584
- var loaderParamValueSchema = z63.union([
38585
- z63.string(),
38586
- z63.number(),
38587
- z63.boolean(),
38970
+ var loaderParamValueSchema = z64.union([
38971
+ z64.string(),
38972
+ z64.number(),
38973
+ z64.boolean(),
38588
38974
  loaderParamBindingSchema
38589
38975
  ]);
38590
- var sdkConfigLoaderSchema = z63.object({
38976
+ var sdkConfigLoaderSchema = z64.object({
38591
38977
  endpoint: sdkLoaderEndpointSchema,
38592
- params: z63.record(z63.string(), loaderParamValueSchema),
38593
- mode: z63.enum(["server", "client"]).default("server")
38978
+ params: z64.record(z64.string(), loaderParamValueSchema),
38979
+ mode: z64.enum(["server", "client"]).default("server")
38594
38980
  });
38595
- var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38596
- var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38981
+ var sdkDataLoadersSchema = z64.record(z64.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38982
+ var sdkCustomBlockIdSchema = z64.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38597
38983
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
38598
38984
  }).transform((value) => value);
38599
- var sdkCustomBlockInputSchema = z63.object({
38985
+ var sdkCustomBlockInputSchema = z64.object({
38600
38986
  id: sdkCustomBlockIdSchema,
38601
- title: z63.string().min(1),
38602
- titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
38603
- description: z63.string().optional(),
38987
+ title: z64.string().min(1),
38988
+ titleSource: z64.union([z64.string().min(1), z64.array(z64.string().min(1)).min(1)]).optional(),
38989
+ description: z64.string().optional(),
38604
38990
  category: blockCategoryEnum,
38605
- icon: z63.string().optional(),
38606
- tags: z63.array(z63.string()).optional(),
38991
+ icon: z64.string().optional(),
38992
+ tags: z64.array(z64.string()).optional(),
38607
38993
  fields: fieldDefinitionInputSchema.array().min(1),
38608
38994
  dataLoaders: sdkDataLoadersSchema,
38609
38995
  layout: NodeSchema.optional(),
38610
- variants: z63.record(z63.string().min(1), NodeSchema).optional(),
38611
- defaultVariant: z63.string().min(1).optional(),
38612
- variantOptions: z63.record(
38613
- z63.string().min(1),
38614
- z63.object({
38615
- label: z63.string().min(1).optional(),
38616
- description: z63.string().min(1).optional(),
38617
- icon: z63.string().min(1).optional()
38996
+ variants: z64.record(z64.string().min(1), NodeSchema).optional(),
38997
+ defaultVariant: z64.string().min(1).optional(),
38998
+ variantOptions: z64.record(
38999
+ z64.string().min(1),
39000
+ z64.object({
39001
+ label: z64.string().min(1).optional(),
39002
+ description: z64.string().min(1).optional(),
39003
+ icon: z64.string().min(1).optional()
38618
39004
  })
38619
39005
  ).optional(),
38620
39006
  previewCustomize: previewCustomizeManifestCurationSchema.optional()
@@ -38625,7 +39011,7 @@ var sdkCustomBlockInputSchema = z63.object({
38625
39011
  const exists = data.fields.some((field) => field.id === source);
38626
39012
  if (!exists) {
38627
39013
  ctx.addIssue({
38628
- code: z63.ZodIssueCode.custom,
39014
+ code: z64.ZodIssueCode.custom,
38629
39015
  message: `titleSource must reference a valid field ID (got "${source}")`,
38630
39016
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
38631
39017
  });
@@ -38634,7 +39020,7 @@ var sdkCustomBlockInputSchema = z63.object({
38634
39020
  }
38635
39021
  if (data.layout && data.variants) {
38636
39022
  ctx.addIssue({
38637
- code: z63.ZodIssueCode.custom,
39023
+ code: z64.ZodIssueCode.custom,
38638
39024
  message: "Custom block must define either `layout` or `variants`, not both",
38639
39025
  path: ["variants"]
38640
39026
  });
@@ -38643,14 +39029,14 @@ var sdkCustomBlockInputSchema = z63.object({
38643
39029
  const keys = Object.keys(data.variants);
38644
39030
  if (keys.length === 0) {
38645
39031
  ctx.addIssue({
38646
- code: z63.ZodIssueCode.custom,
39032
+ code: z64.ZodIssueCode.custom,
38647
39033
  message: "`variants` must contain at least one variant key",
38648
39034
  path: ["variants"]
38649
39035
  });
38650
39036
  }
38651
39037
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
38652
39038
  ctx.addIssue({
38653
- code: z63.ZodIssueCode.custom,
39039
+ code: z64.ZodIssueCode.custom,
38654
39040
  message: "`defaultVariant` must be a key present in `variants`",
38655
39041
  path: ["defaultVariant"]
38656
39042
  });
@@ -38659,7 +39045,7 @@ var sdkCustomBlockInputSchema = z63.object({
38659
39045
  for (const key of Object.keys(data.variantOptions)) {
38660
39046
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
38661
39047
  ctx.addIssue({
38662
- code: z63.ZodIssueCode.custom,
39048
+ code: z64.ZodIssueCode.custom,
38663
39049
  message: "`variantOptions` key must exist in `variants`",
38664
39050
  path: ["variantOptions", key]
38665
39051
  });
@@ -38668,78 +39054,78 @@ var sdkCustomBlockInputSchema = z63.object({
38668
39054
  }
38669
39055
  }
38670
39056
  });
38671
- var sdkBlockFieldExtensionInputSchema = z63.object({
39057
+ var sdkBlockFieldExtensionInputSchema = z64.object({
38672
39058
  fields: fieldDefinitionInputSchema.array().min(1)
38673
39059
  });
38674
- var sdkBlockFieldExtensionsInputSchema = z63.record(
38675
- z63.string().min(1),
39060
+ var sdkBlockFieldExtensionsInputSchema = z64.record(
39061
+ z64.string().min(1),
38676
39062
  sdkBlockFieldExtensionInputSchema
38677
39063
  );
38678
- var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
38679
- var sdkThemeConfigSchema = z63.object({
39064
+ var sdkThemePaletteSchema = z64.record(z64.string(), z64.string());
39065
+ var sdkThemeConfigSchema = z64.object({
38680
39066
  palette: sdkThemePaletteSchema
38681
39067
  });
38682
- var sdkSectionBackgroundSchema = z63.object({
38683
- id: z63.string().min(1),
38684
- label: z63.string().min(1),
38685
- token: z63.string().min(1)
39068
+ var sdkSectionBackgroundSchema = z64.object({
39069
+ id: z64.string().min(1),
39070
+ label: z64.string().min(1),
39071
+ token: z64.string().min(1)
38686
39072
  });
38687
- var sdkSectionOptionsConfigSchema = z63.object({
38688
- backgroundColor: z63.boolean().optional(),
38689
- backgroundImage: z63.boolean().optional(),
38690
- backgroundGradient: z63.boolean().optional(),
38691
- spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
38692
- textColor: z63.boolean().optional()
39073
+ var sdkSectionOptionsConfigSchema = z64.object({
39074
+ backgroundColor: z64.boolean().optional(),
39075
+ backgroundImage: z64.boolean().optional(),
39076
+ backgroundGradient: z64.boolean().optional(),
39077
+ spacing: z64.union([z64.array(z64.enum(["compact", "default", "spacious"])), z64.boolean()]).optional(),
39078
+ textColor: z64.boolean().optional()
38693
39079
  });
38694
- var sdkContainerOptionsConfigSchema = z63.object({
38695
- maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
38696
- alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
39080
+ var sdkContainerOptionsConfigSchema = z64.object({
39081
+ maxWidth: z64.union([z64.array(z64.enum(["narrow", "default", "wide", "full"])), z64.boolean()]).optional(),
39082
+ alignment: z64.union([z64.array(z64.enum(["left", "center", "right"])), z64.boolean()]).optional()
38697
39083
  });
38698
- var sdkSiteStyleConfigSchema = z63.object({
38699
- sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
39084
+ var sdkSiteStyleConfigSchema = z64.object({
39085
+ sectionBackgrounds: z64.array(sdkSectionBackgroundSchema).optional(),
38700
39086
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
38701
39087
  containerOptions: sdkContainerOptionsConfigSchema.optional()
38702
39088
  });
38703
- var sdkSiteLayoutConfigSchema = z63.object({
38704
- footerBlocks: z63.array(
38705
- z63.object({
38706
- id: z63.string().min(1).optional(),
38707
- kind: z63.string().min(1),
38708
- content: z63.record(z63.string(), z63.unknown()).optional()
39089
+ var sdkSiteLayoutConfigSchema = z64.object({
39090
+ footerBlocks: z64.array(
39091
+ z64.object({
39092
+ id: z64.string().min(1).optional(),
39093
+ kind: z64.string().min(1),
39094
+ content: z64.record(z64.string(), z64.unknown()).optional()
38709
39095
  })
38710
39096
  ).optional()
38711
39097
  });
38712
- var sdkFieldSelectOptionSchema = z63.object({
38713
- value: z63.string(),
38714
- label: z63.string()
39098
+ var sdkFieldSelectOptionSchema = z64.object({
39099
+ value: z64.string(),
39100
+ label: z64.string()
38715
39101
  });
38716
- var sdkBlockFieldConfigSchema = z63.object({
38717
- options: z63.array(sdkFieldSelectOptionSchema).optional()
39102
+ var sdkBlockFieldConfigSchema = z64.object({
39103
+ options: z64.array(sdkFieldSelectOptionSchema).optional()
38718
39104
  });
38719
- var sdkBlockFieldOptionsMapSchema = z63.record(
38720
- z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
39105
+ var sdkBlockFieldOptionsMapSchema = z64.record(
39106
+ z64.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38721
39107
  message: "Block ID must be 'block.*' or 'custom.*' format"
38722
39108
  }),
38723
- z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
39109
+ z64.record(z64.string().min(1), sdkBlockFieldConfigSchema)
38724
39110
  ).optional();
38725
- var sdkContentTypeTemplateConfigSchema = z63.object({
38726
- blocks: z63.array(z63.unknown())
39111
+ var sdkContentTypeTemplateConfigSchema = z64.object({
39112
+ blocks: z64.array(z64.unknown())
38727
39113
  }).passthrough();
38728
- var sdkContentTypeOrderingConfigSchema = z63.object({
38729
- mode: z63.enum(["default", "manual"]).optional()
39114
+ var sdkContentTypeOrderingConfigSchema = z64.object({
39115
+ mode: z64.enum(["default", "manual"]).optional()
38730
39116
  }).optional();
38731
- var sdkContentTypeConfigSchema = z63.object({
38732
- key: z63.string().min(1),
38733
- fields: z63.array(z63.unknown()),
39117
+ var sdkContentTypeConfigSchema = z64.object({
39118
+ key: z64.string().min(1),
39119
+ fields: z64.array(z64.unknown()),
38734
39120
  ordering: sdkContentTypeOrderingConfigSchema,
38735
39121
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
38736
39122
  }).passthrough();
38737
- var sdkContentConfigSchema = z63.object({
38738
- contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
38739
- pages: z63.array(z63.unknown()).optional(),
38740
- entries: z63.array(z63.unknown()).optional(),
38741
- navigationMenus: z63.array(z63.unknown()).optional(),
38742
- settings: z63.unknown().optional()
39123
+ var sdkContentConfigSchema = z64.object({
39124
+ contentTypes: z64.array(sdkContentTypeConfigSchema).optional(),
39125
+ pages: z64.array(z64.unknown()).optional(),
39126
+ entries: z64.array(z64.unknown()).optional(),
39127
+ navigationMenus: z64.array(z64.unknown()).optional(),
39128
+ settings: z64.unknown().optional()
38743
39129
  }).passthrough();
38744
39130
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
38745
39131
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -38754,62 +39140,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
38754
39140
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
38755
39141
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
38756
39142
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
38757
- var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
39143
+ var sdkWorkflowIdSchema = z64.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38758
39144
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
38759
39145
  });
38760
- 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 "/"' });
38761
- var sdkWorkflowManualTriggerSchema = z63.object({
38762
- type: z63.literal("manual")
39146
+ 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 "/"' });
39147
+ var sdkWorkflowManualTriggerSchema = z64.object({
39148
+ type: z64.literal("manual")
38763
39149
  }).strict();
38764
- var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
39150
+ var sdkWorkflowTriggerFieldSchema = z64.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38765
39151
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
38766
39152
  });
38767
- var sdkWorkflowFieldChangedConditionSchema = z63.object({
39153
+ var sdkWorkflowFieldChangedConditionSchema = z64.object({
38768
39154
  field: sdkWorkflowTriggerFieldSchema,
38769
- changed: z63.literal(true)
39155
+ changed: z64.literal(true)
38770
39156
  }).strict();
38771
- var sdkWorkflowFieldEmptyConditionSchema = z63.object({
39157
+ var sdkWorkflowFieldEmptyConditionSchema = z64.object({
38772
39158
  field: sdkWorkflowTriggerFieldSchema,
38773
- isEmpty: z63.boolean()
39159
+ isEmpty: z64.boolean()
38774
39160
  }).strict();
38775
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
38776
- type: z63.literal("entry.draft.updated"),
38777
- when: z63.array(
38778
- z63.union([
39161
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z64.object({
39162
+ type: z64.literal("entry.draft.updated"),
39163
+ when: z64.array(
39164
+ z64.union([
38779
39165
  sdkWorkflowFieldChangedConditionSchema,
38780
39166
  sdkWorkflowFieldEmptyConditionSchema
38781
39167
  ])
38782
39168
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
38783
39169
  }).strict();
38784
- var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
39170
+ var sdkWorkflowTriggerSchema = z64.discriminatedUnion("type", [
38785
39171
  sdkWorkflowManualTriggerSchema,
38786
39172
  sdkWorkflowEntryDraftUpdatedTriggerSchema
38787
39173
  ]);
38788
- var sdkWorkflowConfirmationSchema = z63.object({
38789
- title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38790
- body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
39174
+ var sdkWorkflowConfirmationSchema = z64.object({
39175
+ title: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
39176
+ body: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38791
39177
  }).strict();
38792
- var sdkWorkflowConfigSchema = z63.object({
39178
+ var sdkWorkflowConfigSchema = z64.object({
38793
39179
  id: sdkWorkflowIdSchema,
38794
- title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38795
- description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38796
- contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
39180
+ title: z64.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
39181
+ description: z64.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
39182
+ contentType: z64.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38797
39183
  endpoint: sdkWorkflowEndpointSchema,
38798
- triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
39184
+ triggers: z64.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38799
39185
  confirmation: sdkWorkflowConfirmationSchema.optional()
38800
39186
  }).strict();
38801
- var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
39187
+ var sdkWorkflowsSchema = z64.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38802
39188
  const ids = workflows.map((workflow) => workflow.id);
38803
39189
  return ids.length === new Set(ids).size;
38804
39190
  }, { message: "Workflow IDs must be unique" }).optional();
38805
- var riverbankSiteConfigInputSchema = z63.object({
38806
- siteId: z63.string().uuid(),
38807
- previewUrl: z63.string().url().optional(),
38808
- liveUrl: z63.string().url().optional(),
39191
+ var riverbankSiteConfigInputSchema = z64.object({
39192
+ siteId: z64.string().uuid(),
39193
+ previewUrl: z64.string().url().optional(),
39194
+ liveUrl: z64.string().url().optional(),
38809
39195
  theme: sdkThemeConfigSchema.optional(),
38810
39196
  styles: sdkSiteStyleConfigSchema.optional(),
38811
39197
  layout: sdkSiteLayoutConfigSchema.optional(),
38812
- customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
39198
+ customBlocks: z64.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38813
39199
  const ids = blocks.map((b) => b.id);
38814
39200
  return ids.length === new Set(ids).size;
38815
39201
  }, { message: "Block IDs must be unique" }).optional(),
@@ -38817,50 +39203,51 @@ var riverbankSiteConfigInputSchema = z63.object({
38817
39203
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
38818
39204
  workflows: sdkWorkflowsSchema,
38819
39205
  content: sdkContentConfigSchema.optional(),
38820
- contentDir: z63.string().optional(),
38821
- sync: z63.object({
38822
- existingEntries: z63.enum(["skip", "update"]).optional()
39206
+ contentDir: z64.string().optional(),
39207
+ sync: z64.object({
39208
+ existingEntries: z64.enum(["skip", "update"]).optional()
38823
39209
  }).optional(),
38824
- deploy: z63.object({
38825
- verifyCommand: z63.string().optional(),
38826
- prebuildOutput: z63.string().optional()
39210
+ deploy: z64.object({
39211
+ verifyCommand: z64.string().optional(),
39212
+ prebuildOutput: z64.string().optional()
38827
39213
  }).optional(),
38828
- themeSource: z63.enum(["local", "cms"]).optional(),
38829
- activeTheme: z63.string().optional(),
38830
- enablePortal: z63.boolean().optional(),
39214
+ themeSource: z64.enum(["local", "cms"]).optional(),
39215
+ activeTheme: z64.string().optional(),
39216
+ enablePortal: z64.boolean().optional(),
38831
39217
  dashboard: dashboardConfigSchema.optional()
38832
39218
  }).strict();
38833
- var pushSdkConfigBodySchema = z63.object({
39219
+ var pushSdkConfigBodySchema = z64.object({
38834
39220
  config: riverbankSiteConfigInputSchema,
38835
- forceContentTypes: z63.boolean().optional()
39221
+ forceContentTypes: z64.boolean().optional(),
39222
+ mode: z64.enum(["apply", "preview"]).optional()
38836
39223
  }).strict();
38837
39224
 
38838
39225
  // ../api/src/siteOnboarding.ts
38839
- import { z as z64 } from "zod";
39226
+ import { z as z65 } from "zod";
38840
39227
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
38841
39228
  configure_appointments: {
38842
39229
  requirementId: "configure_appointments",
38843
39230
  reason: "launch_anyway"
38844
39231
  }
38845
39232
  };
38846
- var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
39233
+ var acknowledgeLaunchRequirementRequestSchema = z65.discriminatedUnion(
38847
39234
  "requirementId",
38848
39235
  [
38849
- z64.object({
38850
- requirementId: z64.literal("review_generated_site")
39236
+ z65.object({
39237
+ requirementId: z65.literal("review_generated_site")
38851
39238
  }),
38852
- z64.object({
38853
- requirementId: z64.literal(
39239
+ z65.object({
39240
+ requirementId: z65.literal(
38854
39241
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
38855
39242
  ),
38856
- overrideReason: z64.literal(
39243
+ overrideReason: z65.literal(
38857
39244
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
38858
39245
  )
38859
39246
  })
38860
39247
  ]
38861
39248
  );
38862
- var goLiveSiteRequestSchema = z64.object({
38863
- acceptExtraSiteCharge: z64.boolean().optional()
39249
+ var goLiveSiteRequestSchema = z65.object({
39250
+ acceptExtraSiteCharge: z65.boolean().optional()
38864
39251
  });
38865
39252
 
38866
39253
  // ../surfaces/src/index.ts
@@ -38979,7 +39366,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
38979
39366
  ];
38980
39367
 
38981
39368
  // ../api/src/bookingVerticals.ts
38982
- import { z as z65 } from "zod";
39369
+ import { z as z66 } from "zod";
38983
39370
  var VERTICAL_IDS = [
38984
39371
  "yoga_wellness",
38985
39372
  "fitness_pt",
@@ -39144,39 +39531,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
39144
39531
  }
39145
39532
  return [...issues];
39146
39533
  }
39147
- var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
39534
+ var VerticalIdSchema = z66.string().trim().transform((value, ctx) => {
39148
39535
  const parsed = parseVerticalId(value);
39149
39536
  if (!parsed) {
39150
39537
  ctx.addIssue({
39151
- code: z65.ZodIssueCode.custom,
39538
+ code: z66.ZodIssueCode.custom,
39152
39539
  message: "Unknown booking vertical"
39153
39540
  });
39154
- return z65.NEVER;
39541
+ return z66.NEVER;
39155
39542
  }
39156
39543
  return parsed;
39157
39544
  });
39158
- var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
39545
+ var VerticalPresetIdSchema = z66.string().trim().transform((value, ctx) => {
39159
39546
  const parsed = parseVerticalPresetId(value);
39160
39547
  if (!parsed) {
39161
39548
  ctx.addIssue({
39162
- code: z65.ZodIssueCode.custom,
39549
+ code: z66.ZodIssueCode.custom,
39163
39550
  message: "Unknown booking preset"
39164
39551
  });
39165
- return z65.NEVER;
39552
+ return z66.NEVER;
39166
39553
  }
39167
39554
  return parsed;
39168
39555
  });
39169
- var BookingVerticalConfigSchema = z65.object({
39556
+ var BookingVerticalConfigSchema = z66.object({
39170
39557
  verticalId: VerticalIdSchema.nullable(),
39171
- selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
39558
+ selectedPresetIds: z66.array(VerticalPresetIdSchema).max(20)
39172
39559
  }).transform((value, ctx) => {
39173
39560
  const resolved = resolveSiteVerticalBookingConfig(value);
39174
39561
  if (resolved.kind === "invalid") {
39175
39562
  ctx.addIssue({
39176
- code: z65.ZodIssueCode.custom,
39563
+ code: z66.ZodIssueCode.custom,
39177
39564
  message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
39178
39565
  });
39179
- return z65.NEVER;
39566
+ return z66.NEVER;
39180
39567
  }
39181
39568
  return resolved.config;
39182
39569
  });
@@ -39203,51 +39590,51 @@ function isRecord9(value) {
39203
39590
  }
39204
39591
 
39205
39592
  // ../api/src/appointmentSetup.ts
39206
- import { z as z66 } from "zod";
39593
+ import { z as z67 } from "zod";
39207
39594
  var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
39208
- var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
39209
- z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
39210
- z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
39595
+ var appointmentSetupRefSchema = z67.discriminatedUnion("kind", [
39596
+ z67.object({ kind: z67.literal("existing"), id: z67.string().min(1) }),
39597
+ z67.object({ kind: z67.literal("new"), draftId: z67.string().min(1) })
39211
39598
  ]);
39212
- var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
39213
- z66.object({ kind: z66.literal("none") }),
39214
- z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
39215
- z66.object({
39216
- kind: z66.literal("create"),
39217
- draftId: z66.string().min(1),
39218
- title: z66.string().trim().min(1),
39219
- description: z66.string().nullable(),
39220
- timezone: z66.string().trim().min(1).nullable(),
39221
- addressJson: z66.record(z66.string(), z66.unknown()),
39222
- locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
39599
+ var appointmentSetupVenueChoiceSchema = z67.discriminatedUnion("kind", [
39600
+ z67.object({ kind: z67.literal("none") }),
39601
+ z67.object({ kind: z67.literal("existing"), venueId: z67.string().min(1) }),
39602
+ z67.object({
39603
+ kind: z67.literal("create"),
39604
+ draftId: z67.string().min(1),
39605
+ title: z67.string().trim().min(1),
39606
+ description: z67.string().nullable(),
39607
+ timezone: z67.string().trim().min(1).nullable(),
39608
+ addressJson: z67.record(z67.string(), z67.unknown()),
39609
+ locationJson: z67.object({ lat: z67.number(), lng: z67.number() }).nullable()
39223
39610
  })
39224
39611
  ]);
39225
- var appointmentSetupPaymentDraftSchema = z66.object({
39226
- priceType: z66.union([z66.literal("free"), z66.literal("paid")])
39227
- });
39228
- var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
39229
- z66.object({ kind: z66.literal("all_practitioners") }),
39230
- z66.object({
39231
- kind: z66.literal("selected_practitioners"),
39232
- resourceRefs: z66.array(appointmentSetupRefSchema)
39612
+ var appointmentSetupPaymentDraftSchema = z67.object({
39613
+ priceType: z67.union([z67.literal("free"), z67.literal("paid")])
39614
+ });
39615
+ var appointmentSetupServiceAssignmentDraftSchema = z67.discriminatedUnion("kind", [
39616
+ z67.object({ kind: z67.literal("all_practitioners") }),
39617
+ z67.object({
39618
+ kind: z67.literal("selected_practitioners"),
39619
+ resourceRefs: z67.array(appointmentSetupRefSchema)
39233
39620
  })
39234
39621
  ]);
39235
- var appointmentSetupServiceDraftSchema = z66.object({
39622
+ var appointmentSetupServiceDraftSchema = z67.object({
39236
39623
  ref: appointmentSetupRefSchema,
39237
- title: z66.string().trim().min(1),
39238
- description: z66.string().nullable(),
39239
- durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39240
- prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39241
- cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39242
- priceAmount: z66.number().int().nonnegative().nullable(),
39243
- isActive: z66.boolean(),
39244
- locationType: z66.union([
39245
- z66.literal("virtual"),
39246
- z66.literal("in_person"),
39247
- z66.literal("hybrid")
39624
+ title: z67.string().trim().min(1),
39625
+ description: z67.string().nullable(),
39626
+ durationMinutes: z67.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39627
+ prepMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39628
+ cleanupMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39629
+ priceAmount: z67.number().int().nonnegative().nullable(),
39630
+ isActive: z67.boolean(),
39631
+ locationType: z67.union([
39632
+ z67.literal("virtual"),
39633
+ z67.literal("in_person"),
39634
+ z67.literal("hybrid")
39248
39635
  ]),
39249
39636
  venue: appointmentSetupVenueChoiceSchema,
39250
- timezone: z66.string().trim().min(1).nullable(),
39637
+ timezone: z67.string().trim().min(1).nullable(),
39251
39638
  payment: appointmentSetupPaymentDraftSchema,
39252
39639
  assignment: appointmentSetupServiceAssignmentDraftSchema
39253
39640
  }).superRefine((service, ctx) => {
@@ -39266,49 +39653,49 @@ var appointmentSetupServiceDraftSchema = z66.object({
39266
39653
  });
39267
39654
  }
39268
39655
  });
39269
- var appointmentSetupPractitionerDraftSchema = z66.object({
39656
+ var appointmentSetupPractitionerDraftSchema = z67.object({
39270
39657
  ref: appointmentSetupRefSchema,
39271
- displayName: z66.string().trim().min(1),
39272
- bio: z66.string().nullable(),
39273
- timezone: z66.string().trim().min(1),
39274
- colorHex: z66.string().nullable()
39275
- });
39276
- var appointmentSetupWeeklyWindowDraftSchema = z66.object({
39277
- weekday: z66.number().int().min(0).max(6),
39278
- startTime: z66.string(),
39279
- endTime: z66.string()
39280
- });
39281
- var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
39282
- z66.object({ kind: z66.literal("automatic_spacing") }),
39283
- z66.object({
39284
- kind: z66.literal("regular_interval"),
39285
- intervalMinutes: z66.union([
39286
- z66.literal(10),
39287
- z66.literal(15),
39288
- z66.literal(20),
39289
- z66.literal(30),
39290
- z66.literal(45),
39291
- z66.literal(60)
39658
+ displayName: z67.string().trim().min(1),
39659
+ bio: z67.string().nullable(),
39660
+ timezone: z67.string().trim().min(1),
39661
+ colorHex: z67.string().nullable()
39662
+ });
39663
+ var appointmentSetupWeeklyWindowDraftSchema = z67.object({
39664
+ weekday: z67.number().int().min(0).max(6),
39665
+ startTime: z67.string(),
39666
+ endTime: z67.string()
39667
+ });
39668
+ var appointmentSetupStartTimePolicyDraftSchema = z67.discriminatedUnion("kind", [
39669
+ z67.object({ kind: z67.literal("automatic_spacing") }),
39670
+ z67.object({
39671
+ kind: z67.literal("regular_interval"),
39672
+ intervalMinutes: z67.union([
39673
+ z67.literal(10),
39674
+ z67.literal(15),
39675
+ z67.literal(20),
39676
+ z67.literal(30),
39677
+ z67.literal(45),
39678
+ z67.literal(60)
39292
39679
  ])
39293
39680
  })
39294
39681
  ]);
39295
- var appointmentSetupAvailabilityDraftSchema = z66.object({
39296
- kind: z66.literal("weekly_windows"),
39682
+ var appointmentSetupAvailabilityDraftSchema = z67.object({
39683
+ kind: z67.literal("weekly_windows"),
39297
39684
  resourceRef: appointmentSetupRefSchema,
39298
39685
  serviceRef: appointmentSetupRefSchema.nullable(),
39299
- windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
39686
+ windows: z67.array(appointmentSetupWeeklyWindowDraftSchema),
39300
39687
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
39301
39688
  });
39302
39689
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
39303
39690
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
39304
- var appointmentSetupBookingNoticeSchema = z66.object({
39305
- minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39306
- maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39307
- });
39308
- var applyAppointmentSetupRequestSchema = z66.object({
39309
- services: z66.array(appointmentSetupServiceDraftSchema),
39310
- practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
39311
- availability: z66.array(appointmentSetupAvailabilityDraftSchema),
39691
+ var appointmentSetupBookingNoticeSchema = z67.object({
39692
+ minLeadMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39693
+ maxBookingNoticeMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39694
+ });
39695
+ var applyAppointmentSetupRequestSchema = z67.object({
39696
+ services: z67.array(appointmentSetupServiceDraftSchema),
39697
+ practitioners: z67.array(appointmentSetupPractitionerDraftSchema),
39698
+ availability: z67.array(appointmentSetupAvailabilityDraftSchema),
39312
39699
  bookingNotice: appointmentSetupBookingNoticeSchema
39313
39700
  });
39314
39701
 
@@ -39341,24 +39728,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
39341
39728
  ];
39342
39729
 
39343
39730
  // ../api/src/siteBanner.ts
39344
- import { z as z67 } from "zod";
39731
+ import { z as z68 } from "zod";
39345
39732
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
39346
39733
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
39347
39734
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
39348
39735
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
39349
- var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
39350
- var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
39351
- var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
39352
- var siteBannerCtaSchema = z67.object({
39353
- label: z67.string().trim().min(1),
39736
+ var siteBannerScopeSchema = z68.enum(SITE_BANNER_SCOPE_VALUES);
39737
+ var siteBannerToneSchema = z68.enum(SITE_BANNER_TONE_VALUES);
39738
+ var siteBannerBodySchema = z68.unknown().transform(unwrapRichTextValue);
39739
+ var siteBannerCtaSchema = z68.object({
39740
+ label: z68.string().trim().min(1),
39354
39741
  link: linkPayloadSchema
39355
39742
  });
39356
- var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
39357
- z67.object({
39358
- enabled: z67.literal(false)
39743
+ var siteBannerSettingsSchema = z68.discriminatedUnion("enabled", [
39744
+ z68.object({
39745
+ enabled: z68.literal(false)
39359
39746
  }),
39360
- z67.object({
39361
- enabled: z67.literal(true),
39747
+ z68.object({
39748
+ enabled: z68.literal(true),
39362
39749
  scope: siteBannerScopeSchema,
39363
39750
  tone: siteBannerToneSchema,
39364
39751
  body: siteBannerBodySchema,
@@ -39372,7 +39759,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
39372
39759
  const analysis = analyzeSiteBannerBody(value.body);
39373
39760
  for (const issue of analysis.issues) {
39374
39761
  ctx.addIssue({
39375
- code: z67.ZodIssueCode.custom,
39762
+ code: z68.ZodIssueCode.custom,
39376
39763
  path: ["body"],
39377
39764
  message: siteBannerBodyIssueMessage(issue)
39378
39765
  });
@@ -39634,77 +40021,81 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
39634
40021
  var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
39635
40022
 
39636
40023
  // ../api/src/aiPlayground.ts
39637
- import { z as z68 } from "zod";
39638
- var Rfc6902PatchOp = z68.discriminatedUnion("op", [
40024
+ import { z as z69 } from "zod";
40025
+ var Rfc6902PatchOp = z69.discriminatedUnion("op", [
39639
40026
  // Standard RFC-6902 operations
39640
- z68.object({
39641
- op: z68.literal("add"),
39642
- path: z68.string(),
39643
- value: z68.unknown()
40027
+ z69.object({
40028
+ op: z69.literal("add"),
40029
+ path: z69.string(),
40030
+ value: z69.unknown()
39644
40031
  }),
39645
- z68.object({
39646
- op: z68.literal("remove"),
39647
- path: z68.string()
40032
+ z69.object({
40033
+ op: z69.literal("remove"),
40034
+ path: z69.string()
39648
40035
  }),
39649
- z68.object({
39650
- op: z68.literal("replace"),
39651
- path: z68.string(),
39652
- value: z68.unknown()
40036
+ z69.object({
40037
+ op: z69.literal("replace"),
40038
+ path: z69.string(),
40039
+ value: z69.unknown()
39653
40040
  }),
39654
- z68.object({
39655
- op: z68.literal("move"),
39656
- from: z68.string(),
39657
- path: z68.string()
40041
+ z69.object({
40042
+ op: z69.literal("move"),
40043
+ from: z69.string(),
40044
+ path: z69.string()
39658
40045
  }),
39659
- z68.object({
39660
- op: z68.literal("copy"),
39661
- from: z68.string(),
39662
- path: z68.string()
40046
+ z69.object({
40047
+ op: z69.literal("copy"),
40048
+ from: z69.string(),
40049
+ path: z69.string()
39663
40050
  }),
39664
40051
  // Block-level operations (Phase 2)
39665
- z68.object({
39666
- op: z68.literal("add_block"),
39667
- blockKind: z68.string(),
39668
- afterBlockId: z68.string().nullable(),
39669
- content: z68.record(z68.string(), z68.unknown()),
39670
- rationale: z68.string()
40052
+ z69.object({
40053
+ op: z69.literal("add_block"),
40054
+ blockKind: z69.string(),
40055
+ afterBlockId: z69.string().nullable(),
40056
+ content: z69.record(z69.string(), z69.unknown()),
40057
+ rationale: z69.string()
39671
40058
  }),
39672
- z68.object({
39673
- op: z68.literal("delete_block"),
39674
- blockId: z68.string(),
39675
- rationale: z68.string()
40059
+ z69.object({
40060
+ op: z69.literal("delete_block"),
40061
+ blockId: z69.string(),
40062
+ rationale: z69.string()
39676
40063
  }),
39677
- z68.object({
39678
- op: z68.literal("reorder_block"),
39679
- blockId: z68.string(),
39680
- afterBlockId: z68.string().nullable(),
39681
- rationale: z68.string()
40064
+ z69.object({
40065
+ op: z69.literal("reorder_block"),
40066
+ blockId: z69.string(),
40067
+ afterBlockId: z69.string().nullable(),
40068
+ rationale: z69.string()
39682
40069
  })
39683
40070
  ]);
39684
- var PlaygroundProposeRequest = z68.object({
39685
- request: z68.string().min(1).max(2e3)
40071
+ var PlaygroundProposeRequest = z69.object({
40072
+ request: z69.string().min(1).max(2e3)
39686
40073
  });
39687
- var MultiPagePatchEnvelope = z68.object({
39688
- pageId: z68.string(),
39689
- blockId: z68.string().optional(),
40074
+ var MultiPagePatchEnvelope = z69.object({
40075
+ pageId: z69.string(),
40076
+ blockId: z69.string().optional(),
39690
40077
  // Not present for page-level ops
39691
- blockKind: z68.string().optional(),
39692
- blockPurpose: z68.string().optional().nullable(),
39693
- ops: z68.array(Rfc6902PatchOp),
39694
- rationale: z68.string(),
39695
- currentContent: z68.record(z68.string(), z68.unknown()).optional()
40078
+ blockKind: z69.string().optional(),
40079
+ blockPurpose: z69.string().optional().nullable(),
40080
+ ops: z69.array(Rfc6902PatchOp),
40081
+ rationale: z69.string(),
40082
+ currentContent: z69.record(z69.string(), z69.unknown()).optional()
39696
40083
  });
39697
- var MultiPageUpdateResponse = z68.object({
39698
- patches: z68.array(MultiPagePatchEnvelope),
39699
- assistantMessage: z68.string(),
39700
- pagesModified: z68.number(),
39701
- toolCallsUsed: z68.number()
40084
+ var MultiPageUpdateResponse = z69.object({
40085
+ patches: z69.array(MultiPagePatchEnvelope),
40086
+ assistantMessage: z69.string(),
40087
+ pagesModified: z69.number(),
40088
+ toolCallsUsed: z69.number()
39702
40089
  });
39703
40090
 
39704
40091
  // src/data/prefetchBlockData.ts
39705
40092
  function isSupportedLoaderEndpoint2(endpoint) {
39706
40093
  return SUPPORTED_LOADER_ENDPOINTS.includes(endpoint);
39707
40094
  }
40095
+ var defaultPrefetchBlockDataDeps = {
40096
+ prefetchBlockDataCore: prefetchBlockData,
40097
+ normalizeLoaderParams
40098
+ };
39708
40099
  var ENTRY_REF_KEYS = [
39709
40100
  "identifier",
39710
40101
  "entryIdentifier",
@@ -39780,7 +40171,8 @@ var loaderAdapters = {
39780
40171
  listPublicPasses,
39781
40172
  listPublicMemberships,
39782
40173
  getPublicFormById,
39783
- getPublicBookingServices
40174
+ getPublicBookingServices,
40175
+ getPublicWeeklySlotAvailability
39784
40176
  };
39785
40177
  function readStringParam(params, key) {
39786
40178
  const value = params[key];
@@ -39956,19 +40348,37 @@ async function getPublicBookingServices({ client, params }) {
39956
40348
  ids: readStringParam(params, "ids")
39957
40349
  });
39958
40350
  }
40351
+ async function getPublicWeeklySlotAvailability({ client, params }) {
40352
+ return await client.getPublicWeeklySlotAvailability({
40353
+ siteId: requireStringParam(params, "siteId", "getPublicWeeklySlotAvailability"),
40354
+ serviceId: requireStringParam(params, "serviceId", "getPublicWeeklySlotAvailability"),
40355
+ resourceId: readStringParam(params, "resourceId"),
40356
+ horizonWeeks: parsePositiveIntegerParam(params, "horizonWeeks"),
40357
+ timezone: readStringParam(params, "timezone")
40358
+ });
40359
+ }
39959
40360
  async function prefetchBlockData2(page, context, client, options) {
40361
+ return prefetchBlockDataWithDeps(
40362
+ defaultPrefetchBlockDataDeps,
40363
+ page,
40364
+ context,
40365
+ client,
40366
+ options
40367
+ );
40368
+ }
40369
+ async function prefetchBlockDataWithDeps(deps, page, context, client, options) {
39960
40370
  const { customBlocks } = options ?? {};
39961
40371
  const customBlockMap = new Map(
39962
40372
  (customBlocks ?? []).map((block) => [block.id, block])
39963
40373
  );
39964
- return prefetchBlockData(page, context, {
40374
+ return deps.prefetchBlockDataCore(page, context, {
39965
40375
  apiClient: async ({ endpoint, params }) => {
39966
40376
  if (!isSupportedLoaderEndpoint2(endpoint)) {
39967
40377
  throw new Error(
39968
40378
  `Unsupported loader endpoint: ${endpoint}. SDK only supports: ${SUPPORTED_LOADER_ENDPOINTS.join(", ")}`
39969
40379
  );
39970
40380
  }
39971
- const resolvedParams = normalizeLoaderParams(endpoint, params, context);
40381
+ const resolvedParams = deps.normalizeLoaderParams(endpoint, params, context);
39972
40382
  return await loaderAdapters[endpoint]({ client, params: resolvedParams });
39973
40383
  },
39974
40384
  isValidEndpoint: isSupportedLoaderEndpoint2,
@@ -40023,6 +40433,11 @@ function usePage(params) {
40023
40433
  "This path resolves to a content entry, not a page. Use useContent() instead, which handles both pages and entries. For entries, useContent() returns the raw entry data for custom rendering."
40024
40434
  );
40025
40435
  }
40436
+ if ("pageSurface" in pageResponse) {
40437
+ throw new Error(
40438
+ "This path resolves to a page surface, not a page. Use useContent() instead, which handles pages, entries, and page surfaces."
40439
+ );
40440
+ }
40026
40441
  const { page: pageData } = pageResponse;
40027
40442
  const canonicalPagePath = pageData.path ?? path;
40028
40443
  const mediaAssets = Array.isArray(pageResponse.mediaAssets) && pageResponse.mediaAssets.length > 0 ? toMediaAssetSidecar(pageResponse.mediaAssets) : void 0;
@@ -40031,13 +40446,19 @@ function usePage(params) {
40031
40446
  throw new Error("Invalid block format in API response");
40032
40447
  }
40033
40448
  if (typeof block.id !== "string" && block.id !== null) {
40034
- throw new Error(`Invalid block id: expected string or null, got ${typeof block.id}`);
40449
+ throw new Error(
40450
+ `Invalid block id: expected string or null, got ${typeof block.id}`
40451
+ );
40035
40452
  }
40036
40453
  if (typeof block.kind !== "string") {
40037
- throw new Error(`Invalid block kind: expected string, got ${typeof block.kind}`);
40454
+ throw new Error(
40455
+ `Invalid block kind: expected string, got ${typeof block.kind}`
40456
+ );
40038
40457
  }
40039
40458
  if (typeof block.purpose !== "string") {
40040
- throw new Error(`Invalid block purpose: expected string, got ${typeof block.purpose}`);
40459
+ throw new Error(
40460
+ `Invalid block purpose: expected string, got ${typeof block.purpose}`
40461
+ );
40041
40462
  }
40042
40463
  return {
40043
40464
  id: block.id,